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