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
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
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
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
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