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 against `a local symbol' can not
be used when making a shared object; recompile with -fPIC
charset.o: could not read symbols: Bad value
Try it with ld -Bstatic -nopie charset.o
Ahhh, I was using -no-pie and wondering why it didn't work :-).
Great, so compiling with -nopie produces a working executable, excellent,
thanks.
But I thought that amd64 was already using static pie by default in 5.7?
The release notes at http://www.openbsd.org/57.html suggest this:
All architectures have been transitioned to static PIE
--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com