diff options
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/config/tc-ia64.c | 11 | ||||
-rw-r--r-- | gas/config/tc-ia64.h | 2 | ||||
-rw-r--r-- | gas/read.c | 3 |
4 files changed, 24 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index faf60d7..c868802 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2003-05-01 H.J. Lu <hjl@gnu.org> + + * config/tc-ia64.c (ia64_check_label): New. + * config/tc-ia64.h (tc_check_label): New. + + * read.c (read_a_source_file): Call tc_check_label after + creating a user-defined label if defined. + 2003-05-02 Alan Modra <amodra@bigpond.net.au> * config/tc-ppc.c (md_show_usage): Mention -a32, -a64, -l, -le, -b, diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 7b582aa..7a8d5f5 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -10721,3 +10721,14 @@ ia64_elf_section_change_hook (void) { dot_byteorder (-1); } + +/* Check if a label should be made global. */ +void +ia64_check_label (symbolS *label) +{ + if (*input_line_pointer == ':') + { + S_SET_EXTERNAL (label); + input_line_pointer++; + } +} diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h index e0c8171..b79cfcc 100644 --- a/gas/config/tc-ia64.h +++ b/gas/config/tc-ia64.h @@ -105,6 +105,7 @@ extern void ia64_md_do_align PARAMS ((int, const char *, int, int)); extern void ia64_handle_align PARAMS ((fragS *f)); extern void ia64_after_parse_args PARAMS ((void)); extern void ia64_dwarf2_emit_offset PARAMS ((symbolS *, unsigned int)); +extern void ia64_check_label PARAMS ((symbolS *)); #define md_end() ia64_end_of_source () #define md_start_line_hook() ia64_start_line () @@ -137,6 +138,7 @@ extern void ia64_dwarf2_emit_offset PARAMS ((symbolS *, unsigned int)); #define md_elf_section_type(str,len) ia64_elf_section_type (str, len) #define md_after_parse_args() ia64_after_parse_args () #define TC_DWARF2_EMIT_OFFSET ia64_dwarf2_emit_offset +#define tc_check_label(l) ia64_check_label (l) #define MAX_MEM_FOR_RS_ALIGN_CODE (15 + 16) @@ -710,6 +710,9 @@ read_a_source_file (name) line_label = colon (s); /* User-defined label. */ /* Put ':' back for error messages' sake. */ *input_line_pointer++ = ':'; +#ifdef tc_check_label + tc_check_label (line_label); +#endif /* Input_line_pointer->after ':'. */ SKIP_WHITESPACE (); } |