Re: Linker changes between 5.7 and 5.8

2015-12-05 Thread Tati Chevron
On Sat, Dec 05, 2015 at 07:33:11AM +0100, Stefan Kempf wrote: Tati Chevron wrote: This assembled and linked without problems on 5.7-release, but now when I try it on 5.8-release, I get an error: $ as -o charset.o charset.S $ ld -Bstatic charset.o ld: charset.o: relocation R_X86_64_32S

Linker changes between 5.7 and 5.8

2015-12-04 Thread Tati Chevron
This assembled and linked without problems on 5.7-release, but now when I try it on 5.8-release, I get an error: $ as -o charset.o charset.S $ ld -Bstatic charset.o ld: charset.o: relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC

Re: Linker changes between 5.7 and 5.8

2015-12-04 Thread Theo de Raadt
Most architectures went to 'static PIE' by default in 5.8. You will probably need something like -fno-pie. The entire exercise of writing asm which bootstraps without the c runtime means you are very much on your own. > This assembled and linked without problems on 5.7-release, but now when > I

Re: Linker changes between 5.7 and 5.8

2015-12-04 Thread Tati Chevron
ld ignores the -fno-pie option and produces the same error. Presumably it's because I'm trying to build a static executable. I've tried passing every option I can think of to ld, but I can't work it out. The output from the assembler is fine, can be linked on a machine running 5.7, and the

Re: Linker changes between 5.7 and 5.8

2015-12-04 Thread Stefan Kempf
Tati Chevron wrote: > This assembled and linked without problems on 5.7-release, but now when > I try it on 5.8-release, I get an error: > > $ as -o charset.o charset.S > $ ld -Bstatic charset.o > ld: charset.o: relocation R_X86_64_32S against `a local symbol' can not > be used when making a