------- Additional Comments From jakub at gcc dot gnu dot org  2005-02-22 22:38 
-------
The 3.4 backport doesn't seem to work for me at all.
The problem is the .hidden .oS generation that dies on the .symvers in
darwin-ldouble.o that is going to be included in libgcc_eh.a.

( ` if [ -f ./nm ] ; then echo ./nm ; elif [ -f
/usr/src/build/524491-ppc64/BUILD/gcc-3.4.3-20050222/obj-ppc64-redhat-linux/gcc/../binutils/nm-new
 ] ; then echo
/usr/src/build/524491-ppc64/BUILD/gcc-3.4.3-20050222/obj-ppc64-redhat-linux/gcc/../binutils/nm-new
 ; else if [ "powerpc64-redhat-linux-gnu" =
"powerpc64-redhat-linux-gnu" ] ; then echo nm; else t='s,y,y,'; echo nm | sed 
-e 
; fi; fi` -pg libgcc/./darwin-ldouble.o | gawk 'NF == 3 && $2 !~ /^[UN]$/ { 
print
"\t.hidden", $3 }'; cat libgcc//stacknote.s ) |  ./xgcc -B./
-B/usr/ppc64-redhat-linux/bin/ -isystem /usr/ppc64-redhat-linux/include -isystem
/usr/ppc64-redhat-linux/sys-include
-L/usr/src/build/524491-ppc64/BUILD/gcc-3.4.3-20050222/obj-ppc64-redhat-linux/gcc
/../ld -O2  -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  
-mno-minimal-toc
-fPIC -specs=bispecs -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 
-D__GCC_FLOAT_NOT_NEEDED
  -fPIC -mstrict-align -r -nostdinc -nostdlib -o libgcc/./darwin-ldouble.oS
libgcc/./darwin-ldouble.o -xassembler -
{standard input}: Assembler messages:
{standard input}:5: Error: junk at end of line, first unrecognized character is
`@'
{standard input}:6: Error: junk at end of line, first unrecognized character is
`@'
{standard input}:7: Error: junk at end of line, first unrecognized character is
`@'
{standard input}:8: Error: junk at end of line, first unrecognized character is
`@'

But even on the trunk it is highly undesirable to have the .symver directives
in the object that will be included in libgcc.a.

On the trunk each libgcc* object is built separately for .a library and
libgcc_s.so, so we could use here perhaps the -DHIDE_EXPORTS macro
(.symver directives would be present only #if defined __ELF__ && !defined
HIDE_EXPORTS && defined HAVE_GAS_HIDDEN or something like that).
But on gcc-3_4-branch, each object is compiled just once, so I think we need
some mklibgcc.in hacks to build a separate darwin-ldouble.c (for libgcc.a only)
and darwin-ldouble-shared.c (for libgcc_s.so only).

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amodra at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19019

Reply via email to