aboutsummaryrefslogtreecommitdiff
path: root/bfd/bfd-in2.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-04-23 15:21:11 +0930
committerAlan Modra <amodra@gmail.com>2017-04-23 20:33:34 +0930
commit7eacd66b086cabb1daab20890d5481894d4f56b2 (patch)
tree15b664ffb07f3dd3e24c80c24e69c54f396b46af /bfd/bfd-in2.h
parentbce964aa6c777d236fbd641f2bc7bb931cfe4bf3 (diff)
downloadgdb-7eacd66b086cabb1daab20890d5481894d4f56b2.zip
gdb-7eacd66b086cabb1daab20890d5481894d4f56b2.tar.gz
gdb-7eacd66b086cabb1daab20890d5481894d4f56b2.tar.bz2
PR 21414, null pointer deref of _bfd_elf_large_com_section sym
PR 21414 * section.c (GLOBAL_SYM_INIT): Make available in bfd.h. * elf.c (lcomm_sym): New. (_bfd_elf_large_com_section): Use lcomm_sym section symbol. * bfd-in2.h: Regenerate.
Diffstat (limited to 'bfd/bfd-in2.h')
-rw-r--r--bfd/bfd-in2.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 1d73134..17a35c0 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1839,6 +1839,18 @@ extern asection _bfd_std_section[4];
{ NULL }, { NULL } \
}
+/* We use a macro to initialize the static asymbol structures because
+ traditional C does not permit us to initialize a union member while
+ gcc warns if we don't initialize it.
+ the_bfd, name, value, attr, section [, udata] */
+#ifdef __STDC__
+#define GLOBAL_SYM_INIT(NAME, SECTION) \
+ { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
+#else
+#define GLOBAL_SYM_INIT(NAME, SECTION) \
+ { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
+#endif
+
void bfd_section_list_clear (bfd *);
asection *bfd_get_section_by_name (bfd *abfd, const char *name);