On 2017-Jan-21, at 2:16 PM, Mark Millard <markmi at dsl-only.net> wrote:
> For: > > # more main.c > > static volatile char > big_area[67001] = "This is a test"; > > int main () > { > big_area[67000] = '9'; > } > > I get (the -fPIE is not required for the behavior): > > # clang -fuse-ld=lld -Wl,-t -pie -fPIE main.c > /usr/lib/Scrt1.o > /usr/lib/crti.o > /usr/lib/crtbeginS.o > /tmp/main-c6f752.o > /usr/lib/libgcc_s.so > /lib/libc.so.7 > /usr/lib/libgcc_s.so > /usr/lib/crtendS.o > /usr/lib/crtn.o > can't create dynamic relocation R_PPC64_REL24 against readonly segment > can't create dynamic relocation R_PPC64_REL24 against readonly segment > can't create dynamic relocation R_PPC64_REL24 against readonly segment > can't create dynamic relocation R_PPC64_REL24 against readonly segment > can't create dynamic relocation R_PPC64_REL24 against readonly segment > can't create dynamic relocation R_PPC64_REL24 against readonly segment > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > > (This is difficult to study because it does not leave even a > partial a.out and it does not report the specifics of what > segment or what symbol or the like.) > > Even an empty source produces that, but also including the > expected: > > undefined symbol: main in /usr/lib/Scrt1.o > > It appears that the R_PPC64_REL24's are some subset of. . . > > /usr/lib/Scrt1.o : > > 00000000000000cc R_PPC64_REL24 atexit > 00000000000000d8 R_PPC64_REL24 _init_tls > 00000000000000f8 R_PPC64_REL24 atexit > 00000000000001b4 R_PPC64_REL24 _init > 0000000000000240 R_PPC64_REL24 main > 0000000000000248 R_PPC64_REL24 exit > 00000000000002fc R_PPC64_REL24 _fini > > (That would be 6 by ignoring main, matching > the message count.) > > /usr/lib/crtbeginS.o : > > 0000000000000040 R_PPC64_REL24 __cxa_finalize > 0000000000000000 R_PPC64_REL24 .opd > 0000000000000000 R_PPC64_REL24 .opd+0x0000000000000018 > > /usr/lib/crtendS.o : > > 0000000000000000 R_PPC64_REL24 .opd > > main.o , if I have it produced, does not have R_PPC64_REL24 > in it. I have submitted this as llvm bugzilla 31762 and added it to llvm bugzilla 25780's Depends On list (the meta submittal for using clang and [its toolchain] as the FreeBSD powerpc and powerpc64 system compiler [and toolchain]). === Mark Millard markmi at dsl-only.net _______________________________________________ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"