[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#845377: gdc-6: libdl trouble again



On 26.11.2016 11:38, Peter De Wachter wrote:
> Hello Matthias and Iain,
> 
> Is it an expected effect that some programs now need to be build with
> -fPIC? For example:
> 
> $ cat >test.d
> import std.conv;
> void main() {
>   string b;
>   float c;
>   to!int(b);
>   to!string(c);
> }
> 
> $ gdc -o test test.d
> /usr/bin/ld: /tmp/cc6LR10G.o: relocation R_X86_64_PC32 against symbol
> `_D3std6format18__T10FormatSpecTaZ10FormatSpec6flPlusMxFNaNbNdNiNfZb'
> can not be used when making a shared object; recompile with -fPIC
> /usr/bin/ld: final link failed: Bad value
> collect2: error: ld returned 1 exit status
> 
> $ gdc --version
> gdc (Debian 6.2.1-5) 6.2.1 20161124
> Copyright (C) 2016 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This build is configured with --enable-default-pie.  The linker is now called
with -pie, but cc1d isn't passed either -fPIE, or -fPIC.  The work around is to
pass either -fPIC, or -no-pie.  Also passing -fPIE doesn't have an effect.


Reply to: