public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* when is libgcc build
@ 2011-01-29 16:50 Дилян Палаузов
  2011-01-29 18:40 ` Ian Lance Taylor
  0 siblings, 1 reply; 2+ messages in thread
From: Дилян Палаузов @ 2011-01-29 16:50 UTC (permalink / raw)
  To: gcc-help

Hello List,

I want to compile gcc452 on nocona processor to be able to build both 32 
and 64bit code.  My system is linux-from-scratch, so everything 
including glibc and excluding binutils is compiled for 32bit.

I compile gcc with

  ../gcc-4.5.2/configure --enable-threads=posix --enable-languages=c,c++ 
--enable-targets=all --with-newlib 
--with-build-time-tools=/usr/x86_64-elf/bin/

when building gcc425-build/i686-pc-linux-gnu/64/libgcc, ld says it 
cannot find libc, or rahter a libc compiled for x86_64:

/src/gcc452-build/./gcc/xgcc -B/src/gcc452-build/./gcc/ 
-B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem 
/usr/i686-pc-linux-gnu/include -isystem 
/usr/i686-pc-linux-gnu/sys-include  -m64 -O2  -g -O3 -march=nocona 
-DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes 
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC 
-g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED 
-Dinhibit_libc -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 
-Wl,--version-script=libgcc.map -o 64/libgcc_s.so.1.tmp -g -O3 
-march=nocona -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o 
_ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o 
_enable_execute_stack_s.o _trampoline_s.o __main_s.o _absvsi2_s.o 
_absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o 
_mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o 
_ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o 
_ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o 
_paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o 
_mulsc3_s.o _muldc3_s.o _mulxc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o 
_bswapsi2_s.o _bswapdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o 
_fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o 
_fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o 
_floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o 
_divdi3_s.o _moddi3_s.o _udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o 
_udivmoddi4_s.o addtf3_s.o divtf3_s.o multf3_s.o negtf2_s.o subtf3_s.o 
unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o 
fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o 
fixunstfti_s.o floattitf_s.o floatuntitf_s.o extendsftf2_s.o 
extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o 
trunctfxf2_s.o getf2_s.o letf2_s.o eqtf2_s.o _divtc3_s.o _multc3_s.o 
_powitf2_s.o unwind-dw2_s.o unwind-dw2-fde-glibc_s.o unwind-sjlj_s.o 
gthr-gnat_s.o unwind-c_s.o emutls_s.o -lc && rm -f 64/libgcc_s.so && if 
[ -f 64/libgcc_s.so.1 ]; then mv -f 64/libgcc_s.so.1 
64/libgcc_s.so.1.backup; else true; fi && mv 64/libgcc_s.so.1.tmp 
64/libgcc_s.so.1 && ln -s libgcc_s.so.1 64/libgcc_s.so
/usr/x86_64-elf/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
make: *** [libgcc_s.so] Error 1

I really do not have libc for x86_64, but in order to compile it, I need 
gcc that can produce x86_64 code.  But in order to have gcc that can 
produce x86_64 code, I need x86_64-libc to build libgcc_s.so.1 and hence 
gcc.

Could you please help me how to build libgcc in gcc without dependency 
on libc, or how to build libc for x86_64 with gcc, that was not built 
with --enable-targets=all ?

Thanks in advance for your feedback,
   Дилян

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: when is libgcc build
  2011-01-29 16:50 when is libgcc build Дилян Палаузов
@ 2011-01-29 18:40 ` Ian Lance Taylor
  0 siblings, 0 replies; 2+ messages in thread
From: Ian Lance Taylor @ 2011-01-29 18:40 UTC (permalink / raw)
  To: Дилян
	Палаузов
  Cc: gcc-help

Дилян Палаузов <dilyan.palauzov@aegee.org> writes:

> Could you please help me how to build libgcc in gcc without dependency
> on libc, or how to build libc for x86_64 with gcc, that was not built
> with --enable-targets=all ?

The problem is the shared libgcc.  You will need to start with a static
libgcc, and use that to build glibc, and then build gcc again to get a
shared libgcc.  To get a static libgcc, configure gcc with
--disable-shared.

Ian

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-01-29 18:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-29 16:50 when is libgcc build Дилян Палаузов
2011-01-29 18:40 ` Ian Lance Taylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).