[D-runtime] build with -fPIC by GDC
Sean Kelly
sean at invisibleduck.org
Wed Mar 23 14:05:12 PDT 2011
Should be easy enough to fix--just push and pop EBX around those points. I'll take care of it if needed.
On Mar 21, 2011, at 8:14 PM, Long Chang wrote:
> Hello ,
>
>
> I build druntime in gdc, the ASM code is not working with -fPIC .
>
> Is there any way to skip the ASM code and make druntime work with -fPIC .
>
> Is a schedule plan to bring druntime working with dynamic lib under
> linux , or a roadmap something like this .
>
>
>
> /web/pool/source_storage/gdc/dev/gcc-4.4.5/objdir/./gcc/gdc
> -B/web/pool/source_storage/gdc/dev/gcc-4.4.5/objdir/./gcc/
> -B/usr/local/x86_64-unknown-linux-gnu/bin/
> -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
> /usr/local/x86_64-unknown-linux-gnu/include -isystem
> /usr/local/x86_64-unknown-linux-gnu/sys-include -m32 -o rt/arraybyte.o
> -fPIC -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC
> -fversion=GC_Use_Data_Fixed -nostdinc -pipe -fdeprecated -I
> ../../../../libphobos -I ./x86_64-unknown-linux-gnu -m32 -c
> ../../../../libphobos/rt/arraybyte.d
> ../../../../libphobos/rt/arraybyte.d: In function
> ‘_arraySliceExpAddSliceAssign_g’:
> ../../../../libphobos/rt/arraybyte.d:220: error: PIC register ‘ebx’
> clobbered in ‘asm’
> ../../../../libphobos/rt/arraybyte.d:222: error: PIC register ‘ebx’
> clobbered in ‘asm’
> ../../../../libphobos/rt/arraybyte.d:223: error: PIC register ‘ebx’
> clobbered in ‘asm’
> ../../../../libphobos/rt/arraybyte.d: In function
> ‘_arraySliceExpMinSliceAssign_g’:
> ../../../../libphobos/rt/arraybyte.d:1039: error: PIC register ‘ebx’
> clobbered in ‘asm’
> ../../../../libphobos/rt/arraybyte.d:1041: error: PIC register ‘ebx’
> clobbered in ‘asm’
> ../../../../libphobos/rt/arraybyte.d:1042: error: PIC register ‘ebx’
> clobbered in ‘asm’
> make[6]: *** [rt/arraybyte.o] Error 1
> make[6]: Leaving directory
> `/web/pool/source_storage/gdc/dev/gcc-4.4.5/objdir/x86_64-unknown-linux-gnu/32/libphobos'
> make[5]: *** [all] Error 2
> make[5]: Leaving directory
> `/web/pool/source_storage/gdc/dev/gcc-4.4.5/objdir/x86_64-unknown-linux-gnu/32/libphobos'
> make[4]: *** [multi-do] Error 1
> make[4]: Leaving directory
> `/web/pool/source_storage/gdc/dev/gcc-4.4.5/objdir/x86_64-unknown-linux-gnu/libphobos'
> make[3]: *** [all-multi] Error 2
> make[3]: Leaving directory
> `/web/pool/source_storage/gdc/dev/gcc-4.4.5/objdir/x86_64-unknown-linux-gnu/libphobos'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory
> `/web/pool/source_storage/gdc/dev/gcc-4.4.5/objdir/x86_64-unknown-linux-gnu/libphobos'
> make[1]: *** [all-target-libphobos] Error 2
> make[1]: Leaving directory `/web/pool/source_storage/gdc/dev/gcc-4.4.5/objdir'
> make: *** [all] Error 2
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime
More information about the D-runtime
mailing list