gdb and binutils branch master updated. 422f1c65c9e9d30a7e82d136b2d4c6cd901f0245
amodra@sourceware.org
amodra@sourceware.org
Tue Dec 23 13:07:00 GMT 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 422f1c65c9e9d30a7e82d136b2d4c6cd901f0245 (commit)
via 12b2843a6bb12292d8e36d8df22c788a3c91cb2f (commit)
via 4cc2bf08a4e18aa2009e9d4f1694a800eacbee17 (commit)
via cd8e2bcf0d51e91ab8da72ec63048790e3720b03 (commit)
via 18d6a79d3527acd718cc8acd9395d1bf4cc4ce0a (commit)
from 175a3e5098a30af882cfe28d3351b6d882a1456b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=422f1c65c9e9d30a7e82d136b2d4c6cd901f0245
commit 422f1c65c9e9d30a7e82d136b2d4c6cd901f0245
Author: Alan Modra <amodra@gmail.com>
Date: Mon Dec 22 11:11:50 2014 +1030
Report an error for script multiply defined symbols
or maybe not just yet, but this is better than a FIXME.
* ldexp.c (update_definedness): Return false if script symbol is
redefining a strong symbol in an object.
(exp_fold_tree_1 <etree_assign>): Set up for reporting a multiple
definition error, but for now leave disabled.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=12b2843a6bb12292d8e36d8df22c788a3c91cb2f
commit 12b2843a6bb12292d8e36d8df22c788a3c91cb2f
Author: Alan Modra <amodra@gmail.com>
Date: Tue Dec 23 19:07:23 2014 +1030
Use a symbol flag bit to mark linker defined symbols
Trying to use the SEC_LINKER_CREATED section flag to determine whether
a symbol is linker defined fails to work on targets like alpha that
define special SEC_COMMON sections. These might contain symbols that
originated in an object file.
include/
* bfdlink.h (struct bfd_link_hash_entry): Comment non_ir_ref. Add
linker_def.
bfd/
* elflink.c (_bfd_elf_define_linkage_sym): Set linker_def.
* linker.c (_bfd_generic_link_add_one_symbol): Clear linker_def
for CDEF, DEF, DEFW, COM.
ld/
* ldexp.c (exp_fold_tree_1 <etree_provide>): Test linker_def.
ld/testsuite/
* ld-powerpc/sdabase.s,
* ld-powerpc/sdabase.t,
* ld-powerpc/sdabase.d: New test.
* ld-powerpc/sdabase2.t,
* ld-powerpc/sdabase2.d: New test.
* ld-powerpc/powerpc.exp: Run them.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4cc2bf08a4e18aa2009e9d4f1694a800eacbee17
commit 4cc2bf08a4e18aa2009e9d4f1694a800eacbee17
Author: Alan Modra <amodra@gmail.com>
Date: Mon Dec 22 10:49:23 2014 +1030
Don't PROVIDE over top of common symbols
This:
int end[100000];
int main(void) { end[99999] = 0; return 0; }
should not segfault.
ld/
* ldexp.c (exp_fold_tree_1 <etree_provide>): Leave bfd_link_hash_common
symbols alone.
ld/testsuite/
* ld-elf/endsym.s, *ld-elf/endsym.d: New test.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cd8e2bcf0d51e91ab8da72ec63048790e3720b03
commit cd8e2bcf0d51e91ab8da72ec63048790e3720b03
Author: Alan Modra <amodra@gmail.com>
Date: Mon Dec 22 14:43:49 2014 +1030
Correct logic for "defined by object"
The old code missed testing bfd_link_hash_undefweak, and wrongly
excluded bfd_link_hash_common symbols. It is also clearer to invert
the set of enum bfd_link_hash_type values tested.
bfd_link_hash_indirect and bfd_link_hash_warning will never appear
here.
* ldexp.c (update_definedness): Correct logic setting by_object.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=18d6a79d3527acd718cc8acd9395d1bf4cc4ce0a
commit 18d6a79d3527acd718cc8acd9395d1bf4cc4ce0a
Author: Alan Modra <amodra@gmail.com>
Date: Mon Dec 22 10:45:13 2014 +1030
Move support code for linker script DEFINED to ldexp.c
This moves support code for DEFINED to ldexp.c where it is used,
losing the lang_ prefix on identifiers. Two new functions are needed
to initialize and clean up to hash table, but other than that there
are no functional changes here.
* ldexp.c (struct definedness_hash_entry, definedness_table)
(definedness_newfunc, symbol_defined, update_definedness): Move
and rename from..
* ldlang.h (struct lang_definedness_hash_entry): ..here,..
* ldlang.c (lang_definedness_table, lang_definedness_newfunc)
(lang_symbol_defined, lang_update_definedness): ..and here.
* ldexp.c (ldexp_init, ldexp_finish): New functions, extracted from..
* ldlang.c (lang_init, lang_finish): ..here.
* ldexp.h (ldexp_init, ldexp_finish): Declare.
* ldlang.h (lang_symbol_defined, lang_update_definedness): Delete.
* ldmain.c (main): Call ldexp_init and ldexp_finish.
-----------------------------------------------------------------------
Summary of changes:
bfd/ChangeLog | 6 ++
bfd/elflink.c | 1 +
bfd/linker.c | 2 +
include/ChangeLog | 5 +
include/bfdlink.h | 6 ++
ld/ChangeLog | 34 ++++++++
ld/ldexp.c | 145 ++++++++++++++++++++++++++++++-----
ld/ldexp.h | 2 +
ld/ldlang.c | 71 -----------------
ld/ldlang.h | 15 ----
ld/ldmain.c | 2 +
ld/testsuite/ChangeLog | 13 +++
ld/testsuite/ld-elf/endsym.d | 13 +++
ld/testsuite/ld-elf/endsym.s | 2 +
ld/testsuite/ld-powerpc/powerpc.exp | 2 +
ld/testsuite/ld-powerpc/sdabase.d | 10 +++
ld/testsuite/ld-powerpc/sdabase.s | 9 ++
ld/testsuite/ld-powerpc/sdabase.t | 6 ++
ld/testsuite/ld-powerpc/sdabase2.d | 10 +++
ld/testsuite/ld-powerpc/sdabase2.t | 6 ++
20 files changed, 254 insertions(+), 106 deletions(-)
create mode 100644 ld/testsuite/ld-elf/endsym.d
create mode 100644 ld/testsuite/ld-elf/endsym.s
create mode 100644 ld/testsuite/ld-powerpc/sdabase.d
create mode 100644 ld/testsuite/ld-powerpc/sdabase.s
create mode 100644 ld/testsuite/ld-powerpc/sdabase.t
create mode 100644 ld/testsuite/ld-powerpc/sdabase2.d
create mode 100644 ld/testsuite/ld-powerpc/sdabase2.t
hooks/post-receive
--
gdb and binutils
More information about the Binutils-cvs
mailing list