This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: CFT: Move unwinder to toplevel libgcc
On Fri, 2011-07-22 at 20:41 +0200, Rainer Orth wrote:
> I'm an idiot: I've just copied the relevant lines from
> gcc/config/t-linux, forgetting that libgcc-glibc.ver still lives in
> gcc/config.
>
> ibgcc/config/t-linux should be
>
> # Override t-slibgcc-elf-ver to export some libgcc symbols with
> # the symbol versions that glibc used.
> SHLIB_MAPFILES += $(gcc_srcdir)/config/libgcc-glibc.ver
>
> instead.
>
> AFAICS, you will need both the generic gcc/config/libgcc-glibc.ver and
> gcc/config/ia64/libgcc-glibc.ver.
>
> Rainer
Well, I see "-Wl,--version-script=libgcc.map" on the link line now but I
still get an error during the link:
/wsp/sje/gcc_git/gcc-ia64-debian-linux-gnu-gcc/ia64-debian-linux-gnu/bin/ld: ./libgcc_s.so.1.tmp: version node not found for symbol _Unwind_GetBSP@GCC_3.3.2
/wsp/sje/gcc_git/gcc-ia64-debian-linux-gnu-gcc/ia64-debian-linux-gnu/bin/ld: failed to set dynamic section sizes: Bad value
collect2: error: ld returned 1 exit status
make[3]: *** [libgcc_s.so] Error 1
make[3]: Leaving directory `/wsp/sje/gcc_git/build-ia64-debian-linux-gnu-gcc/obj_gcc/ia64-debian-linux-gnu/libgcc'
make[2]: *** [all-stage1-target-libgcc] Error 2
make[2]: Leaving directory `/wsp/sje/gcc_git/build-ia64-debian-linux-gnu-gcc/obj_gcc'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/wsp/sje/gcc_git/build-ia64-debian-linux-gnu-gcc/obj_gcc'
make: *** [bootstrap] Error 2
I think the contents of the map file may be wrong. This error involves a different symbol then when the
mapfile was missing.
>From the log file:
sed -e 's/__PFX__/__/g' < /wsp/sje/gcc_git/src/gcc/libgcc/libgcc-std.ver.in > libgcc-std.ver
cat libgcc-std.ver /wsp/sje/gcc_git/src/gcc/libgcc/../gcc/config/libgcc-glibc.ver | ...
I am not sure I am getting the right libgcc-*.ver files yet. I think I need gcc/config/ia64/libgcc-glibc.ver
and/or gcc/config/ia64/libgcc-ia64.ver and I am not sure I am getting them.
I do see:
echo SHLIB_MAPFILES = 'libgcc-std.ver $(gcc_srcdir)/config/libgcc-glibc.ver $(gcc_srcdir)/config/ia64/libgcc-ia64.ver $(gcc_srcdir)/config/ia64/libgcc-glibc.ver' >> tmp-libgcc.mvars
So maybe I am getting the right files, I'm just not sure.
Steve Ellcey
sje@cup.hp.com