[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