This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/51957] New: [4.7 Regression] ppc64 .debug_loc toc reference


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51957

             Bug #: 51957
           Summary: [4.7 Regression] ppc64 .debug_loc toc reference
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: jakub@gcc.gnu.org
                CC: amodra@gcc.gnu.org
            Target: powerpc64-linux


powerpc64-linux fails to profiledbootstrap due to .toc section reference from
cp/parser.o's .debug_loc section.

Delta reduced testcase:

int v[128];
union R { int c; union R *p; };
extern union R *w[];
typedef struct { int t; } T;
typedef struct { void *u; } U;
union R *fn1 (void);
void fn2 (int, const char *, union R *);
void fn3 (void);
int fn4 (union R *);
void
foo (U *x)
{
  T *a = x->u;
  while (1)
    {
      union R *b;
      b = fn1 ();
      {
        if (b != w[0] && !(v[b->p->c] == 1))
          {
            fn2 (a->t, "foobar", b->p);
            b = w[0];
          }
        if (b != w[0])
          fn3 ();
      }
      if (w[0] && b != w[0])
        fn4 (b->p);
      if (b != w[0] && (v[b->p->c] == 1) && fn4 (b->p))
        break;
    }
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]