From a645d1eb84aab42ff0586f42a0191cda3128632f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 2 May 2003 02:41:45 +0000 Subject: [PATCH] 2003-05-01 H.J. Lu * 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. --- gas/ChangeLog | 8 ++++++++ gas/config/tc-ia64.c | 11 +++++++++++ gas/config/tc-ia64.h | 2 ++ gas/read.c | 3 +++ 4 files changed, 24 insertions(+) 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 + + * 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 * 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) diff --git a/gas/read.c b/gas/read.c index 90ef367..3c4c244 100644 --- a/gas/read.c +++ b/gas/read.c @@ -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 (); } -- 2.7.4