David's patch is the key to this problem. You may need to revise his patch
with the information from the gcc output.


2014-08-25 15:50 GMT+08:00 Nancy <nancydream...@gmail.com>:

> nancy@nancy-ThinkPad-T61:~$ gcc -m32 -print-file-name=crti.o
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o
> nancy@nancy-ThinkPad-T61:~$ gcc -m32 -print-file-name=crtn.o
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o
> nancy@nancy-ThinkPad-T61:~$ gcc -m64 -print-file-name=crti.o
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crti.o
> nancy@nancy-ThinkPad-T61:~$ gcc -m64 -print-file-name=crtn.o
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crtn.o
>
> I think the file exist and uses correctly or the crtendS.o, crtendBeginS.o
> ... could not rebuilt successfully.
>
> nancy@nancy-ThinkPad-T61
> :~/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc$
> */home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc*
> -B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
> -B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
> -B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
> -isystem
> /home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
> -isystem
> /home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
> -O2  -O2 -O2 -DTARG_X8664  -DIN_GCC    -W -Wall -Wwrite-strings
> -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
> ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
> -D__GCC_FLOAT_NOT_NEEDED  -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1
> -Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
>  libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
> libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
> libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
> libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
> libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
> libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
> libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
> libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
> libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
> libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
> libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
> libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
> libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
> libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
> libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
> libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
> libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
> libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
> libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o
> libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
> libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o
> libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
> libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
> libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
> libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
> libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
> libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f ./libgcc_s.so &&
> if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
> ./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
> ./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
>
> I don't known where you give the newly built "xgcc"'s parameters( in
> Makefile or somewhere ), that place miss the path in front of crti.o crtn.o.
>
>
> On Mon, Aug 25, 2014 at 3:13 PM, Jian-Xin Lai <laij...@gmail.com> wrote:
>
>> Have you tried to compile a small program with gcc -m32? Does it work? If
>> yes, you may try the following commands:
>> gcc -m32 -print-file-name=crti.o
>> gcc -m32 -print-file-name=crtn.o
>> gcc -m64 -print-file-name=crti.o
>> gcc -m64 -print-file-name=crtn.o
>>
>> On my system, the outputs are:
>> > gcc -m32 -print-file-name=crti.o
>> /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crti.o
>> > gcc -m32 -print-file-name=crtn.o
>> /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crtn.o
>> > gcc -m64 -print-file-name=crti.o
>> /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crti.o
>> > gcc -m64 -print-file-name=crtn.o
>> /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crtn.o
>>
>> You may check these outputs and make sure the files exist and are used
>> correctly.
>>
>>
>>
>> 2014-08-25 15:06 GMT+08:00 Nancy <nancydream...@gmail.com>:
>>
>> The patch still not working for me. Still the same error. Though the
>>> value of MULTILIB_OSDIRNAMES changes, but still no path in front of
>>> crti.o, crtn.o :(
>>>
>>> > By the way, x32 is a different ABI (
>>> http://en.wikipedia.org/wiki/X32_ABI).
>>> Thanks for this information :)
>>>
>>> On Mon, Aug 25, 2014 at 12:08 PM, David Coakley <dcoak...@gmail.com>
>>> wrote:
>>> > Here is a revised patch that I think will work for you:
>>> >
>>> > Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
>>> > ===================================================================
>>> > --- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
>>> > +++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
>>> > @@ -6,7 +6,7 @@
>>> >
>>> >  MULTILIB_OPTIONS = m64/m32
>>> >  MULTILIB_DIRNAMES = 64 32
>>> > -MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o  -Lb |fgrep "ELF
>>> > 32-bit" >/dev/null ; then  echo  "../lib64 ../lib"; elif [ -d
>>> /usr/lib64 ] ;
>>> > then echo  "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
>>> > ../lib32" ; fi)
>>> > +MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o  -Lb |fgrep "ELF
>>> > 32-bit" >/dev/null ; then  echo  "../lib64 ../lib"; elif [ -f
>>> > /usr/lib64/crti.o -a -f /usr/lib32/crti.o ] ; then echo  "../lib64
>>> ../lib32"
>>> > ; else echo "../lib/x86_64-linux-gnu ../lib/i386-linux-gnu" ; fi)
>>> >
>>> >  LIBGCC = stmp-multilib
>>> >  INSTALL_LIBGCC = install-multilib
>>> >
>>> >
>>> > By the way, x32 is a different ABI (
>>> http://en.wikipedia.org/wiki/X32_ABI).
>>> >
>>> > -David
>>> >
>>> >
>>> > On Sat, Aug 23, 2014 at 11:55 PM, Nancy <nancydream...@gmail.com>
>>> wrote:
>>> >>
>>> >> On Sun, Aug 24, 2014 at 1:28 PM, David Coakley <dcoak...@gmail.com>
>>> wrote:
>>> >> >
>>> >> > Does /usr/lib32/crti.o exist on your system?  If not, try
>>> installing the
>>> >> > 'gcc-multilib' package.
>>> >>
>>> >> No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o
>>> >> /usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed
>>> already.
>>> >>
>>> >>
>>> >> > Here are all the packages I installed on a desktop 64-bit Ubuntu
>>> 14.04
>>> >> > system:
>>> >> >
>>> >> > build-essential
>>> >> > subversion
>>> >> > flex
>>> >> > bison
>>> >> > g++
>>> >> > gfortran
>>> >> > gcc-multilib
>>> >> > gfortran-multilib
>>> >>
>>> >> I installed the missing gfortran & gfortran-multilib.
>>> >>
>>> >> Replace 'lib32' to 'libx32':
>>> >> MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o  -Lb |fgrep "ELF
>>> >> 32-bit" >/dev/null ; then  echo  "../lib64 ../lib"; elif [ -f
>>> >> /usr/lib64/crti.o ] ; then echo  "../lib64 ../libx32" ; else echo
>>> >> "../lib/x86_64-linux-gnu ../libx32" ; fi)
>>> >>
>>> >> or not replace it, still the same error. This software enviroment has
>>> no
>>> >> problem building gcc 4.8.2 or LLVM with debug mode opened from
>>> sourcecode.
>>> >>
>>> >>
>>> >> --
>>> >> Best Regards,
>>> >> Yu Rong Tan
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Best Regards,
>>> Yu Rong Tan
>>>
>>
>>
>>
>> --
>> Regards,
>> Lai Jian-Xin
>>
>
>
>
> --
> Best Regards,
> Yu Rong Tan
>



-- 
Regards,
Lai Jian-Xin
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to