OSDN Git Service

2003-05-01 H.J. Lu <hjl@gnu.org>
authorH.J. Lu <hjl@lucon.org>
Fri, 2 May 2003 02:41:45 +0000 (02:41 +0000)
committerH.J. Lu <hjl@lucon.org>
Fri, 2 May 2003 02:41:45 +0000 (02:41 +0000)
* 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
gas/config/tc-ia64.c
gas/config/tc-ia64.h
gas/read.c

index faf60d7..c868802 100644 (file)
@@ -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,
index 7b582aa..7a8d5f5 100644 (file)
@@ -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++;
+    }
+}
index e0c8171..b79cfcc 100644 (file)
@@ -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)
 
index 90ef367..3c4c244 100644 (file)
@@ -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 ();
                }