Takis Psarogiannakopoulos <ta...@xfree86.org> writes: > On Sun, 1 Mar 2009, Mark Mitchell wrote: > >> >> I think there's some confusion here. There is no relationship between >> >> the ASM_SPEC definition in a config *.h file regarding options to be >> >> passed to the assembler and the old "asmspec" parameter to >> >> rest_of_decl_compilation, which related to uses of the "__asm__(...)" >> >> extension in the source code. >> >> >> > Are you sure about that? >> >> Yes. > > OK then should be the missing of the SUBTARGET_SWITCHES macro.
SUBTARGET_SWITCHES shouldn't have anything to do with ASM_SPEC. > Configuration is the same as i?86-*-sol2 in gcc/config.gcc > The last file aka sol2.h is custom modified. There is nothing really > undef'ing the ASM_SPEC macro. > Hence the reason that the cc1 cannt get it right is because the > subtarget switches macro is missing. > On the GCC 3.4.6 (aka 3.4 branch) we can see, say, in i386/sco5.h > > #undef SUBTARGET_SWITCHES > #define SUBTARGET_SWITCHES \ > { "elf", -MASK_COFF, N_("Generate ELF output") }, > > Such kind of switches added to the TARGET_SWITCHES has carried through > from GCC 2.6 up to GCC-3.4.6 (inclusive). Then toplev.c picks up those. > It looks all these they have been eliminated on 4.3.3 (why?) > My question will be if anybody knows how you implemnt this type of well > known features on the latest GCC 4.3.X branch? The SUBTARGET_SWITCHES macro was removed from the i386 backend in gcc 4.3 because all the uses of it were removed. The only use of SUBTARGET_SWITCHES was to be expanded by the TARGET_SWITCHES macro. Nobody promises that internal details of a gcc port will continue to be the same in each new release. Nobody promises that a private port will continue to work. If you want to maintain a private port, you have to do some work with each new gcc release. That's just the way it is. Ian