On Tue, 12 Apr 2011, Gunther Nikl wrote:

> I was under the impression that the used (bin-)utils had to offer
> required target support (instructions, directives, object file format)
> to be usable with GCC. AFAICT newer binutils versions (in my case

And command-line options.

> >2.9.1) configured for a m68k-aout style target don't have any relevant
> new instructions or directives. Since its only an a.out target on
> the assembler level old binutils version used to be sufficient up
> to GCC 4.6.

m68k-aout was obsoleted in 4.4 and removed in 4.5 - while some OSes with 
various odd object file formats are still supported, various newer 
features such as LTO may not work so well with them.  Much of the point of 
obsoleting targets no-one wishes to maintain is so that only the remaining 
maintained (and in-tree) targets need to be considered in cleanup patches.

> These are SPECs I use for assembler and linker:
> 
> #define ASM_CPU_SPEC \
>   "%{m68000|mc68000|m68010:-m68010} " \
>   "%{m6802*|mc68020:-m68020} " \
>   "%{m68030} " \
>   "%{m68040} " \
>   "%{m68060} " \
>   "%{!m680*:%{!mc680*:-m68010}}"
> 
> #define LINK_CPU_SPEC \
>   "%{m68020|mc68020|m68030:-fl libm020 %{m68881|mhard-float:-fl
> libm881}} " \
>   "%{m68020-*|m68040|m68060:-fl libm020 %{!msoft-float:-fl libm881}}"
> 
> Is with your change really no way to test/pass the original options
> to assembler/linker?

You could write specs that check for the -mcpu= options and translate them 
back to old-style options acceptable to your assembler and linker.  You 
won't be able to use the generic m68k.h ASM_CPU_SPEC, so all the 
complexity of supporting old assemblers falls on your port, but it should 
be possible - you just can't pass through the options without translating 
them.

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to