https://sourceware.org/bugzilla/show_bug.cgi?id=21988

            Bug ID: 21988
           Summary: [2.29 Regression] ld shows an assertion failure for
                    missing symbols (powerpc64le-linux-gnu)
           Product: binutils
           Version: 2.29
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: doko at debian dot org
  Target Milestone: ---

on x86_64:

$ gcc -g -O2 foo.c 
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function
`_start':
(.text+0x20): undefined reference to `main'
/tmp/ccXo3sVy.o: In function `fn1':
/home/packages/gcc/foo.c:18: undefined reference to `fn2'
collect2: error: ld returned 1 exit status

on powerpc64le-linux-gnu:
$ gcc -g -O2 foo.c 
/usr/lib/gcc/powerpc64le-linux-gnu/7/../../../powerpc64le-linux-gnu/crt1.o:(.rodata+0x8):
undefined reference to `main'
/usr/bin/ld: BFD (GNU Binutils for Ubuntu) 2.29 assertion fail
../../bfd/elf64-ppc.c:14963
/tmp/ccWIgADI.o: In function `fn1':
/home/ubuntu/foo.c:18: undefined reference to `fn2'
collect2: error: ld returned 1 exit status

$ cat foo.c
typedef __uint128_t vint128_t __attribute__((vector_size(16)));
vint128_t z;
int x, y;

void fn2(void);

void fn1(void)
{
        vint128_t c;
        y = 1000;
        for (; y; y--) {
                c = c ^ x;
                z -= c;
                z ^= x;
                c = c ^ x;
        }

        fn2();
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to