March 22, 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
March 23, 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