2000-09-02 Jason Eckhardt <jle@cygnus.com>
authorJason Eckhardt <jle@rice.edu>
Sun, 3 Sep 2000 01:39:08 +0000 (01:39 +0000)
committerJason Eckhardt <jle@rice.edu>
Sun, 3 Sep 2000 01:39:08 +0000 (01:39 +0000)
        * elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro.
        (elf32_i860_is_local_label_name): New function and prototype.

bfd/ChangeLog
bfd/elf32-i860.c

index 99c7a18..5bb6085 100644 (file)
@@ -1,3 +1,8 @@
+2000-09-02  Jason Eckhardt  <jle@cygnus.com>
+
+       * elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro.
+       (elf32_i860_is_local_label_name): New function and prototype.
+
 2000-09-02  Nick Clifton  <nickc@redhat.com>
 
        * configure.in: Increase version number to 2.10.91.
index 08c2e16..1acc4dd 100644 (file)
@@ -53,6 +53,9 @@ static bfd_reloc_status_type i860_final_link_relocate
   PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *,
           Elf_Internal_Rela *, bfd_vma));
 
+static boolean elf32_i860_is_local_label_name
+  PARAMS ((bfd *, const char *));
+
 
 
 /* This howto table is preliminary.  */
@@ -1044,6 +1047,23 @@ elf32_i860_relocate_section (output_bfd, info, input_bfd, input_section,
 }
 
 
+/* Return whether a symbol name implies a local label.  SVR4/860 compilers
+   generate labels of the form ".ep.function_name" to denote the end of a
+   function prolog. These should be local.
+   ??? Do any other SVR4 compilers have this convention? If so, this should
+   be added to the generic routine.  */
+static boolean
+elf32_i860_is_local_label_name (abfd, name)
+     bfd *abfd;
+     const char *name;
+{
+  if (name[0] == '.' && name[1] == 'e' && name[2] == 'p' && name[3] == '.')
+    return true;
+
+  return _bfd_elf_is_local_label_name (abfd, name);
+}
+
+
 \f
 #define TARGET_BIG_SYM         bfd_elf32_i860_vec
 #define TARGET_BIG_NAME                "elf32-i860"
@@ -1057,5 +1077,6 @@ elf32_i860_relocate_section (output_bfd, info, input_bfd, input_section,
 #define elf_info_to_howto                      elf32_i860_info_to_howto_rela
 #define elf_backend_relocate_section           elf32_i860_relocate_section
 #define bfd_elf32_bfd_reloc_type_lookup                elf32_i860_reloc_type_lookup
+#define bfd_elf32_bfd_is_local_label_name      elf32_i860_is_local_label_name
 
 #include "elf32-target.h"