mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 10:03:47 +08:00
[GOLD, PowerPC] Add --no-stub-group-multi
The trouble with stubs per output section is that ppc32 uses a plt stub as the address of a global function. This needs to be unique, otherwise we'll get multiple addresses for a function. Obviously this is only a partial solution, since ppc32 will get multiple stubs when code is larger than 33M. A proper fix will involve selecting a unique stub to use for non-branch relocs. * options.h (stub-group-multi): Default to true. Add --no-stub-group-multi.
This commit is contained in:
parent
ced154d810
commit
ab502e635e
@ -1,3 +1,8 @@
|
||||
2017-09-19 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* options.h (stub-group-multi): Default to true. Add
|
||||
--no-stub-group-multi.
|
||||
|
||||
2017-08-30 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* powerpc.cc (Target_powerpc::Relocate::relocate): Nop addis on
|
||||
|
@ -1235,9 +1235,10 @@ class General_options
|
||||
"stubs are always after the group. 1 means use default size"),
|
||||
N_("SIZE"));
|
||||
|
||||
DEFINE_bool(stub_group_multi, options::TWO_DASHES, '\0', false,
|
||||
DEFINE_bool(stub_group_multi, options::TWO_DASHES, '\0', true,
|
||||
N_("(PowerPC only) Allow a group of stubs to serve multiple "
|
||||
"output sections"), NULL);
|
||||
"output sections"),
|
||||
N_("(PowerPC only) Each output section has its own stubs"));
|
||||
|
||||
DEFINE_uint(split_stack_adjust_size, options::TWO_DASHES, '\0', 0x4000,
|
||||
N_("Stack size when -fsplit-stack function calls non-split"),
|
||||
|
Loading…
Reference in New Issue
Block a user