Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/gpl3/binutils/dist/bfd Recognize $L as a local symb...



details:   https://anonhg.NetBSD.org/src/rev/f17a94791f9b
branches:  trunk
changeset: 749753:f17a94791f9b
user:      skrll <skrll%NetBSD.org@localhost>
date:      Mon Dec 07 10:00:21 2009 +0000

description:
Recognize $L as a local symbol for mips64.

diffstat:

 external/gpl3/binutils/dist/bfd/elf64-mips.c |  20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diffs (44 lines):

diff -r 68339fc713c2 -r f17a94791f9b external/gpl3/binutils/dist/bfd/elf64-mips.c
--- a/external/gpl3/binutils/dist/bfd/elf64-mips.c      Mon Dec 07 08:58:48 2009 +0000
+++ b/external/gpl3/binutils/dist/bfd/elf64-mips.c      Mon Dec 07 10:00:21 2009 +0000
@@ -122,6 +122,8 @@
   (bfd *, asymbol *, bfd_boolean, char **, bfd_vma *);
 static bfd_boolean mips_elf64_object_p
   (bfd *);
+static bfd_boolean mips_elf64_is_local_label_name
+  (bfd *, const char *);
 static irix_compat_t elf64_mips_irix_compat
   (bfd *);
 static bfd_boolean elf64_mips_grok_prstatus
@@ -3025,7 +3027,18 @@
   bfd_default_set_arch_mach (abfd, bfd_arch_mips, mach);
   return TRUE;
 }
-
+
+/* MIPS ELF local labels start with "$L".  */
+static bfd_boolean
+mips_elf64_is_local_label_name (bfd *abfd, const char *name)
+{
+  if (name[0] == '$' && name[1] == 'L')
+    return TRUE;
+
+  /* We accept the generic ELF local label syntax as well.  */
+  return _bfd_elf_is_local_label_name (abfd, name);
+}
+
 /* Depending on the target vector we generate some version of Irix
    executables or "normal" MIPS ELF ABI executables.  */
 static irix_compat_t
@@ -3248,9 +3261,8 @@
 
 #define elf_backend_write_section      _bfd_mips_elf_write_section
 
-/* We don't set bfd_elf64_bfd_is_local_label_name because the 32-bit
-   MIPS-specific function only applies to IRIX5, which had no 64-bit
-   ABI.  */
+#define bfd_elf64_bfd_is_local_label_name \
+                               mips_elf64_is_local_label_name
 #define bfd_elf64_find_nearest_line    _bfd_mips_elf_find_nearest_line
 #define bfd_elf64_find_inliner_info    _bfd_mips_elf_find_inliner_info
 #define bfd_elf64_new_section_hook     _bfd_mips_elf_new_section_hook



Home | Main Index | Thread Index | Old Index