Problems building libstdc++-v3

Kai Ruottu kai.ruottu@luukku.com
Tue Sep 24 07:13:00 GMT 2002


"Mack Lobell" <macklobell@hotmail.com> wrote:

> you were absolutely right when you said that i was missing a target. Now I 
> get a little bit further. But i have stumbled a cross another problem. When 
> i try to configure powerpc-eabi/und/libiberty the build fails with the same 
> output. From the config.log i got the following:
> 
> configure:2212: /home/lobell/build/gcc/gcc/xgcc 
> -B/home/lobell/build/gcc/gcc/ -B/usr/local/powerpc/powerpc-eabi/bin/ 
> -B/usr/local/powerpc/powerpc-eabi/lib/ -isystem 
> /usr/local/powerpc/powerpc-eabi/include  -fleading-underscore 
> -mrelocatable-lib -mno-eabi -mstrict-align -o conftest -myellowknife   
> conftest.c  1>&5
> /usr/local/powerpc/powerpc-eabi/lib/und/libyk.a(sbrk.o): In function `sbrk':
> /home/lobell/build/newlib/powerpc-eabi/und/libgloss/rs6000/../../../../../../src/newlib-1.10.0/libgloss/sbrk.c:33: 
> undefined reference to `__end'
> collect2: ld returned 1 exit status
> configure: failed program was:
> 
> In yellowknife.ld (my target), only _end is defined. Is there a reason for 
> compiling with -fleading-underscore in powerpc-eabi/und/libiberty?

 This flag really means that symbol names will be with the leading
underscore, so instead of '_end' the '__end' will be searched...

 So your workaround could be to not build any 'und' libraries,
because it is unclear for what purpose they will be needed --
for compatability with some commercial tools, for some old
prebuilt libs, of why... Then just edit away this flag and the
related library-name from the MULTILIB-definitions in the
$build/gcc/Makefile.

 Or you could try to use the '-msim' option during the build,
I didn't find a linker script for this target, so it uses the
default linker script built-in into 'powerpc-eabi-ld', and to
be seen with the '-verbose' option. This has :

-------------------- clip -------------------------
  }
  .endjunk BLOCK(__section_alignment__) :
  {
    /* end is deprecated, don't use it */
     end = .;			<------
     _end = .;			<------
     __end__ = .;		<------
  }
  .rsrc BLOCK(__section_alignment__) :
  {
    *(.rsrc)
    *(SORT(.rsrc$*))
  }
-------------------- clip -------------------------

 Or you could edit your 'yellowknife.ld' to have these extra
'end' and '__end' lines...

Cheers, Kai


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com



More information about the crossgcc mailing list