This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: -Qy


Joe Humel wrote:
> 
> I'm trying to build a cross compiler from the cygwin bash shell as follows.
> 
> $ ./configure --host=i686-pc-cygwin32 --target=i686-pc-linux-gnu
> 
> The configuration goes well, but doing a make leads to the following.
> 
> as: unrecognized option `-Qy'
> make[1]: *** [libgcc2.a] Error 1
> make[1]: Leaving directory `/gcc-2.95.2-6/gcc'
> make: *** [all-gcc] Error 2
> 
> Under Options for System V -Qy is defined as
> 
> `-Qy'
>       Identify the versions of each tool used by the compiler, in a
>       `.ident' assembler directive in the output.
> 
> I'm not sure why a System V option is used.  I have not specified System V
> anywhere.  ???

 Linux is nearer System V than BSD and its GCC specs will give the '-Qy' option
to 'as' when compiling :

----------------------- clip -----------------------------------------------
 e:\usr\local\lib\gcc-lib\i486-linux-gnu\2_9-edk1.0-2\..\..\..\..\i486-linux-gnu
\bin\as.exe -V -Qy -o D:\temp\ccysaaaa.o D:\temp\ccqmaaaa.s
GNU assembler version 000704 (i486-linux-gnu) using BFD version 000704
----------------------- clip -----------------------------------------------

 And the linux-targeted 'as' will take it without vomiting it...

 The error message says that the native 'as' was found, otherwise something like:

  /usr/local/i686-pc-linux-gnu/bin/as: unrecognized option `-Qy'

would have been there...

 The GCC option '-print-search-dirs' shows the search paths for 'programs' and
your Linux-targeted 'as' must be in these directories, otherwise the native 'as'
will be used. Writing the command './xgcc -print-search-dirs' in the 'gcc' build
subdir should be quite normal practice when any install problems arise...

 And the '-v' option to see the given options to 'cpp', 'cc1', 'as' and 'ld', like:

   make CFLAGS="-v -O"

 The given clip was taken from an output got via using '-v'...

 For linking problems the '-verbose' option to the GNU linker is useful :

   make CFLAGS="-Wl,-verbose -O"

 And not forgetting the '--help' option for all GNU tools to give quick on-line
info about the available options :

   ./as --help

 When building and installing binutils, they will be put into the $prefix/bin
with the '$target-' name-prefix and into the '$prefix/$target/bin' with the
base names. In your case with your '--prefix=$prefix and '--target=$target'
settings the directories are:

 /usr/local/bin

and

 /usr/local/i686-pc-linux-gnu/bin

 Because no '--prefix=something' was given, the default prefix, '/usr/local'
was used.

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]