projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid ubsan bug complaining about &p->field
[deliverable/binutils-gdb.git]
/
ld
/
emultempl
/
genelf.em
diff --git
a/ld/emultempl/genelf.em
b/ld/emultempl/genelf.em
index 4a8cd9cc53a14673b81fe9aaf1bad070b8b12463..9c5898d31fcd2596db5f8f439c0d6febf06cdfc2 100644
(file)
--- a/
ld/emultempl/genelf.em
+++ b/
ld/emultempl/genelf.em
@@
-1,5
+1,5
@@
# This shell script emits a C file. -*- C -*-
# This shell script emits a C file. -*- C -*-
-# Copyright (C) 2006-201
6
Free Software Foundation, Inc.
+# Copyright (C) 2006-201
9
Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
#
# This file is part of the GNU Binutils.
#
@@
-23,6
+23,7
@@
#
fragment <<EOF
#include "elf-bfd.h"
#
fragment <<EOF
#include "elf-bfd.h"
+#include "ldelfgen.h"
EOF
source_em ${srcdir}/emultempl/elf-generic.em
EOF
source_em ${srcdir}/emultempl/elf-generic.em
@@
-45,7
+46,9
@@
gld${EMULATION_NAME}_after_open (void)
if ((sec->flags & (SEC_GROUP | SEC_LINKER_CREATED)) == SEC_GROUP)
{
struct bfd_elf_section_data *sec_data = elf_section_data (sec);
if ((sec->flags & (SEC_GROUP | SEC_LINKER_CREATED)) == SEC_GROUP)
{
struct bfd_elf_section_data *sec_data = elf_section_data (sec);
- elf_group_id (sec) = syms[sec_data->this_hdr.sh_info - 1];
+ struct bfd_symbol *sym = syms[sec_data->this_hdr.sh_info - 1];
+ elf_group_id (sec) = sym;
+ sym->flags |= BSF_KEEP;
}
}
}
}
@@
-54,14
+57,14
@@
gld${EMULATION_NAME}_before_allocation (void)
{
if (bfd_link_relocatable (&link_info)
&& !_bfd_elf_size_group_sections (&link_info))
{
if (bfd_link_relocatable (&link_info)
&& !_bfd_elf_size_group_sections (&link_info))
- einfo (
"%X%P: can not size group sections: %E\n"
);
+ einfo (
_("%X%P: can not size group sections: %E\n")
);
before_allocation_default ();
}
static void
gld${EMULATION_NAME}_after_allocation (void)
{
before_allocation_default ();
}
static void
gld${EMULATION_NAME}_after_allocation (void)
{
-
gld${EMULATION_NAME}
_map_segments (FALSE);
+
ldelf
_map_segments (FALSE);
}
EOF
# Put these extra routines in ld_${EMULATION_NAME}_emulation
}
EOF
# Put these extra routines in ld_${EMULATION_NAME}_emulation
This page took
0.024588 seconds
and
4
git commands to generate.