include/coff
authorTristan Gingold <gingold@adacore.com>
Thu, 31 Mar 2011 08:13:48 +0000 (08:13 +0000)
committerTristan Gingold <gingold@adacore.com>
Thu, 31 Mar 2011 08:13:48 +0000 (08:13 +0000)
2011-03-31  Tristan Gingold  <gingold@adacore.com>

* internal.h (C_NULL_VALUE): Define.

bfd/
2011-03-31  Tristan Gingold  <gingold@adacore.com>

* coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
entry on xcoff when value is C_NULL_VALUE.

bfd/ChangeLog
bfd/coffcode.h
include/coff/ChangeLog
include/coff/internal.h

index 831f288d51026967f3abf561fba60fd391c702e2..afc3aa87036a68a1bdb2018685f0c46de84a159d 100644 (file)
@@ -1,4 +1,9 @@
-2011-03-30  Tristan Gingold  <gingold@adacore.com>
+2011-03-31  Tristan Gingold  <gingold@adacore.com>
+
+       * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
+       entry on xcoff when value is C_NULL_VALUE.
+
+2011-03-31  Tristan Gingold  <gingold@adacore.com>
 
        * libcoff-in.h (exec_hdr): Remove.
        * libcoff.h: Regenerate.
index 0fbaa97d411833a587848e77e2a131cd9e4eeb57..6ee3db90e58f453002bc4d3c7cc31330ebad904d 100644 (file)
@@ -4896,6 +4896,11 @@ coff_slurp_symbol_table (bfd * abfd)
                  && src->u.syment.n_value == 0
                  && src->u.syment.n_scnum == 0)
                break;
+#ifdef RS6000COFF_C
+              /* XCOFF specific: deleted entry.  */
+              if (src->u.syment.n_value == C_NULL_VALUE)
+                break;
+#endif
              /* Fall through.  */
            case C_EXTDEF:      /* External definition.  */
            case C_ULABEL:      /* Undefined label.  */
index 151ea387bb71299722884d5a8971ee1cee620324..11aec52c2092db35d5460e4440cfae95224cfb51 100644 (file)
@@ -1,3 +1,7 @@
+2011-03-31  Tristan Gingold  <gingold@adacore.com>
+
+       * internal.h (C_NULL_VALUE): Define.
+
 2010-06-29  Alan Modra  <amodra@gmail.com>
 
        * maxq.h: Delete file.
index a6ead9e5f64929e1227ef7a280e734fb2b9a7a33..f52bfbb7ba97ed0ca7a8761f1fef0160d08d0c78 100644 (file)
@@ -320,6 +320,8 @@ struct internal_aouthdr
 #define C_EINCL         109    /* Marks ending of include file */
 #define C_AIX_WEAKEXT   111    /* AIX definition of C_WEAKEXT.  */
 
+#define C_NULL_VALUE   0x00de1e00    /* Value for a C_NULL deleted entry.  */
+
 #if defined _AIX52 || defined AIX_WEAK_SUPPORT
 #undef C_WEAKEXT
 #define C_WEAKEXT       C_AIX_WEAKEXT