[m68k] Fix m68k-netbsdelf bootstrap

Bernardo Innocenti bernie@develer.com
Wed Jan 21 21:29:00 GMT 2004


Gunther Nikl wrote:

>>A quick look at gas/config/tc-m68k.c reveals fp is hardly
>>bound to a6.
> 
>   m68k-amigaos modifies GAS and binds %fp to %a5, thus your M68K_REGNAME
>   macro would work.

Ok.  I suppose any other target that redefines %fp would
need such thing.

>>#if FRAME_POINTER_REGNUM == 14
>>  /* Return a register name by index, handling fp nicely.  */
>># define M68K_REGNAME(r) ( \
>>    ((r) == FRAME_POINTER_REGNUM && frame_pointer_needed) ? \
>>      M68K_FP_REG_NAME : reg_names[(r)])
>>#else
>>  /* GAS and possibly other assemblers hard-code fp to a6.  */
>># define M68K_REGNAME(r) reg_names[(r)]
>>#endif
> 
>   This does only work if FRAME_POINTER_REGNUM is defined correctly
>   before, eg. in config.gcc. However, since FRAME_POINTER_REGNUM is
>   a compile-time constant you could move the check into the macro
>   definition to get the same result :-)

No, it would work even if FRAME_POINTER_REGNUM is defined later,
for the same reason Andreas' earlier patch works: the C preprocessor
expands nested macros lazily, not at definition time.

-- 
  // Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/  http://www.develer.com/




More information about the Gcc-patches mailing list