From 9f94df3847b73198811cce64ac09dceec21e7c78 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 3 Jan 1997 22:41:26 +0000 Subject: [PATCH] * config/obj-coff.c (yank_symbols): If tc_frob_coff_symbol is defined, call it. * config/tc-m68k.c (tc_frob_symbol): Check whether text label is aligned to odd boundary. (tc_frob_coff_symbol): Define. --- gas/ChangeLog | 6 ++++++ gas/config/obj-coff.c | 4 ++++ gas/config/tc-m68k.h | 29 +++++++++++++++++++++++++---- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index f525cfc760e..d878d82a3f7 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -9,6 +9,12 @@ Fri Jan 3 17:10:33 1997 Richard Henderson Fri Jan 3 12:09:24 1997 Ian Lance Taylor + * config/obj-coff.c (yank_symbols): If tc_frob_coff_symbol is + defined, call it. + * config/tc-m68k.c (tc_frob_symbol): Check whether text label is + aligned to odd boundary. + (tc_frob_coff_symbol): Define. + * doc/as.texinfo (Set): Change parenthesized @xref to @pxref. * macro.c (macro_expand_body): In MRI mode, just copy a single &. diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index 695647a7e35..86e9a82e761 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -2722,6 +2722,10 @@ yank_symbols () } /* no one points at the first .file symbol */ } /* if debug or tag or eos or file */ +#ifdef tc_frob_coff_symbol + tc_frob_coff_symbol (symbolP); +#endif + /* We must put the external symbols apart. The loader does not bomb if we do not. But the references in the endndx field for a .bb symbol are not corrected diff --git a/gas/config/tc-m68k.h b/gas/config/tc-m68k.h index 85fb20c56bb..38957af484e 100644 --- a/gas/config/tc-m68k.h +++ b/gas/config/tc-m68k.h @@ -124,8 +124,17 @@ extern int m68k_conditional_pseudoop PARAMS ((pseudo_typeS *)); #ifdef BFD_ASSEMBLER -#define tc_frob_symbol(sym,punt) \ - if (S_GET_SEGMENT (sym) == reg_section) punt = 1 +#define tc_frob_symbol(sym,punt) \ +do \ + { \ + if (S_GET_SEGMENT (sym) == reg_section) \ + punt = 1; \ + if (S_GET_SEGMENT (sym) == text_section \ + && (S_GET_VALUE (sym) & 1) != 0) \ + as_warn ("text label `%s' aligned to odd boundary", \ + S_GET_NAME (sym)); \ + } \ +while (0) #define NO_RELOC BFD_RELOC_NONE @@ -146,9 +155,21 @@ extern int m68k_conditional_pseudoop PARAMS ((pseudo_typeS *)); #define tc_fix_adjustable(X) tc_m68k_fix_adjustable(X) #endif -#else +#else /* ! BFD_ASSEMBLER */ + +#define tc_frob_coff_symbol(sym) \ +do \ + { \ + if (S_GET_SEGMENT (sym) == text_section \ + && (S_GET_VALUE (sym) & 1) != 0) \ + as_warn ("text label `%s' aligned to odd boundary", \ + S_GET_NAME (sym)); \ + } \ +while (0) + #define NO_RELOC 0 -#endif + +#endif /* ! BFD_ASSEMBLER */ #define DIFF_EXPR_OK -- 2.30.2