This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more infromation.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Alex Smith wrote: > I am trying to create a cross compiler from a Rh6.1 to a Solaris Sparc 2.5.1 > machine. > > Here is my error message: > /export/home/alesmi/compliers/solaris-sparc2.5.1/gcc/xgcc -B/export/home/alesmi/compliers/solaris-sparc2.5.1/gcc/ -B/usr/local/2.95.2/sparc-sun-solaris2.5.1/bin/ -I/usr/local/2.95.2/sparc-sun-solaris2.5.1/include -c -o crt1.o -x assembler-with-cpp ../../gcc-2.95.2/gcc/config/sparc/sol2-c1.asm > _muldi3 > as: option `-s' is ambiguous > make[1]: *** [crt1.o] Error 1 > > Also, I found a thread from back in mid-febuary about troubles similar mine > with a solaris x86 to solaris-sparc cross. Their problem was resolved by Kai > who traced it to a bad DEFINE in gcc/config/i386/sol2gas.h. > > My problem is caused by gcc/config/sparc/sol2.h in the ASM_SPECS section. The same kind of method can be used with this too. But you can also simply edit the resulted 'gcc/specs' and remove the bad '-s' from the '*asm:'-spec... A 'clean' way could be to change the config entry in configure as follows : --------------------------- clip ------------------------------- sparc-*-solaris2*) if test x$gnu_ld = xyes then tm_file=sparc/sol2.h else tm_file=sparc/sol2-sld.h fi + if test x$gas = xyes; + then + # Only needed if gas does not support -s + tm_file="sparc/sol2gas.h ${tm_file}" + fi xm_file="xm-siglist.h sparc/xm-sysv4.h sparc/xm-sol2.h" xm_defines="USG POSIX" tmake_file=sparc/t-sol2 xmake_file=sparc/x-sysv4 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o" case $machine in *-*-solaris2.[0-4]) float_format=i128 ;; *) float_format=none ;; esac if test x${enable_threads} = x; then enable_threads=$have_pthread_h if test x${enable_threads} = x; then enable_threads=$have_thread_h fi fi if test x${enable_threads} = xyes; then if test x${have_pthread_h} = xyes; then thread_file='posix' else thread_file='solaris' fi fi ;; --------------------------- clip ------------------------------- so 'sol2gas.h' will be included before 'sol.h' or 'sol2-sld.h', and add the following 'sol2gas.h' into 'gcc/config/sparc : --------------------------- clip ------------------------------- /* Definitions of target machine for GNU compiler, for SPARC running Solaris 2 with GNU as up to 2.9.5.0.12. Copyright (C) 1999 Free Software Foundation, Inc. */ #ifndef GAS_REJECTS_MINUS_S #define GAS_REJECTS_MINUS_S 1 #endif /* Assume sol2.h will be included afterwards. */ --------------------------- clip ------------------------------- The 'gcc/config/sparc/sol2.h' should be patched too : --------------------------- clip ------------------------------- *** sol2.bak Tue Dec 28 20:54:12 1999 --- sol2.h Sat Mar 18 11:12:10 2000 *************** *** 35,40 **** --- 35,42 ---- %{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude} \ " + #if ! GAS_REJECTS_MINUS_S + /* The sun bundled assembler doesn't accept -Yd, (and neither does gas). It's safe to pass -s always, even if -g is not used. */ #undef ASM_SPEC *************** *** 43,48 **** --- 45,60 ---- %{fpic:-K PIC} %{fPIC:-K PIC} \ %(asm_cpu) \ " + #else /* GAS_REJECTS_MINUS_S */ + + /* Same as above, except for -s, unsupported by GNU as. */ + #undef ASM_SPEC + #define ASM_SPEC "\ + %{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} \ + %{fpic:-K PIC} %{fPIC:-K PIC} \ + %(asm_cpu) \ + " + #endif /* GAS_REJECTS_MINUS_S */ /* This is here rather than in sparc.h because it's not known what other assemblers will accept. */ --------------------------- clip ------------------------------- The 'sol2gas.h' was copied 'as is' from the egcs-20000306 snapshots (from 'gcc/config/i386') and as the comment says, it was aimed to be put into 'gcc/config/sparc', but then something seemingly happened and the thing was forgotten. I don't remember who is the Solaris2 maintainer, but forwarding this to him/her, could be thought, the snapshots didn't have the GNU as possibility handled yet either... Perhaps the current gas snapshots already support the '-s', but with with GNU as up to 2.9.5.0.12 this kind of handling seems to be needed. Cheers, Kai ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |