include/elf/
authorAlan Modra <amodra@gmail.com>
Thu, 8 Mar 2007 11:28:35 +0000 (11:28 +0000)
committerAlan Modra <amodra@gmail.com>
Thu, 8 Mar 2007 11:28:35 +0000 (11:28 +0000)
* v850.h (V850_OTHER_TDA_BYTE): Delete.
(V850_OTHER_SDA, V850_OTHER_ZDA, V850_OTHER_TDA): Assign bits
that don't clash with visibility bits.
bfd/
* elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
V850_OTHER_* bits.

bfd/ChangeLog
bfd/elf32-v850.c
include/elf/ChangeLog
include/elf/v850.h

index db9f241535553c44835d1db04825a0b2ddb64081..2dd58edb298ca59d53c34115cb69ef5012d1b691 100644 (file)
@@ -1,3 +1,8 @@
+2007-03-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
+       V850_OTHER_* bits.
+
 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
 
        * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
index 327edfa74b12bfc6c3f51ff6f2968756964f25aa..0b77482096b8dce18dd898c6f819834ece841ebe 100644 (file)
@@ -2083,7 +2083,7 @@ v850_elf_link_output_symbol_hook (struct bfd_link_info *info ATTRIBUTE_UNUSED,
                                  const char *name ATTRIBUTE_UNUSED,
                                  Elf_Internal_Sym *sym,
                                  asection *input_sec,
-                                 struct elf_link_hash_entry *h ATTRIBUTE_UNUSED)
+                                 struct elf_link_hash_entry *h)
 {
   /* If we see a common symbol, which implies a relocatable link, then
      if a symbol was in a special common section in an input file, mark
@@ -2099,6 +2099,13 @@ v850_elf_link_output_symbol_hook (struct bfd_link_info *info ATTRIBUTE_UNUSED,
        sym->st_shndx = SHN_V850_ZCOMMON;
     }
 
+  /* The price we pay for using h->other unused bits as flags in the
+     linker is cleaning up after ourselves.  */
+     
+  if (h != NULL)
+    h->other &= ~(V850_OTHER_SDA | V850_OTHER_ZDA | V850_OTHER_TDA
+                 | V850_OTHER_ERROR);
+
   return TRUE;
 }
 
index 87df15aa0bf780e398426929fffb430c91d04037..ec6fdfab0d493537de7325b7ab0c201e551c24f5 100644 (file)
@@ -1,3 +1,9 @@
+2007-03-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * v850.h (V850_OTHER_TDA_BYTE): Delete.
+       (V850_OTHER_SDA, V850_OTHER_ZDA, V850_OTHER_TDA): Assign bits
+       that don't clash with visibility bits.
+
 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
 
        * common.h (ELF_ST_VISIBILITY): Comment typo fix.
index 95dab49b67d2bea12c2509f96d0eaf1ed9b3706a..a88969d9159c2ba0c17f1005053818b89387a6b6 100644 (file)
@@ -1,5 +1,5 @@
 /* V850 ELF support for BFD.
-   Copyright 1997, 1998, 2000, 2002, 2003, 2004
+   Copyright 1997, 1998, 2000, 2002, 2003, 2004, 2007
    Free Software Foundation, Inc.
    Created by Michael Meissner, Cygnus Support <meissner@cygnus.com>
 
 
 
 /* Flags for the st_other field.  */
-#define V850_OTHER_SDA         0x01    /* Symbol had SDA relocations.  */
-#define V850_OTHER_ZDA         0x02    /* Symbol had ZDA relocations.  */
-#define V850_OTHER_TDA         0x04    /* Symbol had TDA relocations.  */
-#define V850_OTHER_TDA_BYTE    0x08    /* Symbol had TDA byte relocations.  */
+#define V850_OTHER_SDA         0x10    /* Symbol had SDA relocations.  */
+#define V850_OTHER_ZDA         0x20    /* Symbol had ZDA relocations.  */
+#define V850_OTHER_TDA         0x40    /* Symbol had TDA relocations.  */
 #define V850_OTHER_ERROR       0x80    /* Symbol had an error reported.  */
 
 /* V850 relocations.  */