[D-runtime] build with -fPIC by GDC

Long Chang changlong at jkys.info
Mon Mar 21 20:14:39 PDT 2011


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


More information about the D-runtime mailing list