Re[17]: [Gc] gc make fail on Solaris 10 x86_64 with gcc-3.* & -m64 option
Ivan Maidanski
ivmai at mail.ru
Sat Mar 31 22:15:42 PST 2012
Hi Kiyoshi,
Sun, 1 Apr 2012 14:28:57 +0900 (JST) Kiyoshi KANAZAWA <yoi_no_myoujou at yahoo.co.jp>:
> Hi, Ivan,
>
> I may encountered some problem again with "release" branch.
Again, do you mean here you haven't checked bdwgc "master" branch or you don't have this problem with it?
>
> "Segmentation Fault" happened in building guile-2.0.5 with -m64 option.
>
> It seems to happen in os_dep.c of GC function:
> What I checked is:
> % pwd
> /tmp/guile-2.0.5/libguile/.libs
> % ldd guile
> libguile-2.0.so.22 => /tmp/guile-2.0.5/libguile/.libs/libguile-2.0.so.22
> libgc.so.1 => /usr/local/GNU/amd64/lib/libgc.so.1
> libpthread.so.1 => /usr/lib/amd64/libpthread.so.1
> libdl.so.1 => /usr/lib/amd64/libdl.so.1
> libffi.so.5 => /usr/local/GNU/amd64/lib/libffi.so.5
> libintl.so.8 => /usr/local/GNU/amd64/lib/libintl.so.8
> libc.so.1 => /usr/lib/amd64/libc.so.1
> libunistring.so.0 => /usr/local/GNU/amd64/lib/libunistring.so.0
> libiconv.so.2 => /usr/local/GNU/amd64/lib/libiconv.so.2
> libgmp.so.10 => /usr/local/GNU/amd64/lib/libgmp.so.10
> libltdl.so.7 => /usr/local/GNU/amd64/lib/libltdl.so.7
> librt.so.1 => /usr/lib/amd64/librt.so.1
> libsocket.so.1 => /usr/lib/amd64/libsocket.so.1
> libnsl.so.1 => /usr/lib/amd64/libnsl.so.1
> libm.so.2 => /usr/lib/amd64/libm.so.2
> libgcc_s.so.1 => /usr/local/gcc/lib/amd64/libgcc_s.so.1
> libaio.so.1 => /usr/lib/amd64/libaio.so.1
> libmd.so.1 => /usr/lib/amd64/libmd.so.1
> libmp.so.2 => /usr/lib/amd64/libmp.so.2
> libscf.so.1 => /usr/lib/amd64/libscf.so.1
> libdoor.so.1 => /usr/lib/amd64/libdoor.so.1
> libuutil.so.1 => /usr/lib/amd64/libuutil.so.1
> libgen.so.1 => /usr/lib/amd64/libgen.so.1
>
> libpthread.so.1 is linked to /usr/lib/amd64/libpthread.so.1 in the 3rd line.
> Is this strange ?
I don't know. What are the alternatives?
>
> % dbx guile
> (dbx) run
> Running: guile
> (process id 742)
> t at 1 (l at 1) signal SEGV (no mapping at the fault address) in GC_SysVGetDataStart at line 1859 in file "os_dep.c"
> 1859 *result = *result;
I think this is the expected behavior. Ignore this signal in debugger.
> (dbx) print result
> result = 0x402270 "<bad address 0x0000000000402270>"
But the address looks too small for x64 target. Check GC_SysVGetDataStart parameters passed (compare to that in gctest).
Regards.
>
> "os_dep.o" is compiled and linked to .libs/libgc.so.1.0.3: in make log:
> libtool: compile: gcc -O2 -m64 -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo -c os_dep.c -fPIC -DPIC -o .libs/os_dep.o
> ...
> Do you have any suggestion ?
>
> Regards,
>
> --- Kiyoshi <yoi_no_myoujou at yahoo.co.jp>
>
More information about the Gc
mailing list