aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2016-06-11 14:49:49 +0930
committerAlan Modra <amodra@gmail.com>2016-06-11 17:25:35 +0930
commit0eaf2e1b589472d635e85d2ce708faa35a23a90a (patch)
treecc99f3e97aedd77fe98be3e3239c5105831e6886
parentUse size_t rather than bfd_size_type (diff)
downloadbinutils-gdb-0eaf2e1b589472d635e85d2ce708faa35a23a90a.tar.gz
binutils-gdb-0eaf2e1b589472d635e85d2ce708faa35a23a90a.tar.bz2
binutils-gdb-0eaf2e1b589472d635e85d2ce708faa35a23a90a.zip
sparc-coff writing uninitialized memory
sparc-coff has a 20 byte symbol entry with an extra field, but neglects to initialize the field. Fix that. * coff/sparc.h (COFF_ADJUST_SYM_OUT_POST): Define.
-rw-r--r--include/ChangeLog4
-rw-r--r--include/coff/sparc.h8
2 files changed, 12 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 8ef84cb449f..722b8a5365c 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2016-06-11 Alan Modra <amodra@gmail.com>
+
+ * coff/sparc.h (COFF_ADJUST_SYM_OUT_POST): Define.
+
2016-06-08 Jose E. Marchesi <jose.marchesi@oracle.com>
* opcode/sparc.h: Add missing documentation for hyperprivileged
diff --git a/include/coff/sparc.h b/include/coff/sparc.h
index 53d555528e8..62d2dabda7f 100644
--- a/include/coff/sparc.h
+++ b/include/coff/sparc.h
@@ -138,6 +138,14 @@ union external_auxent
#define AUXENT union external_auxent
#define AUXESZ 20
+#define COFF_ADJUST_SYM_OUT_POST(ABFD, INP, EXTP) \
+ do \
+ { \
+ SYMENT *extsym = (SYMENT *) (EXTP); \
+ extsym->padding[0] = 0; \
+ extsym->padding[1] = 0; \
+ } while (0)
+
#define _ETEXT "etext"
/********************** RELOCATION DIRECTIVES **********************/