mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-22 10:31:38 +00:00
[GOLD] Add debug output for powerpc section grouping
* debug.h (DEBUG_TARGET): New. (DEBUG_ALL): Add DEBUG_TARGET. (gold_debug): Delete FORMAT param. * powerpc.cc (Stub_control::can_add_to_stub_group): Print debug ourput.
This commit is contained in:
parent
6c95c84110
commit
afe002dd66
@ -1,3 +1,10 @@
|
||||
2016-08-31 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* debug.h (DEBUG_TARGET): New.
|
||||
(DEBUG_ALL): Add DEBUG_TARGET.
|
||||
(gold_debug): Delete FORMAT param.
|
||||
* powerpc.cc (Stub_control::can_add_to_stub_group): Print debug ourput.
|
||||
|
||||
2016-08-30 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 20523
|
||||
|
@ -39,10 +39,11 @@ const int DEBUG_FILES = 0x4;
|
||||
const int DEBUG_RELAXATION = 0x8;
|
||||
const int DEBUG_INCREMENTAL = 0x10;
|
||||
const int DEBUG_LOCATION = 0x20;
|
||||
const int DEBUG_TARGET = 0x40;
|
||||
|
||||
const int DEBUG_ALL = (DEBUG_TASK | DEBUG_SCRIPT | DEBUG_FILES
|
||||
| DEBUG_RELAXATION | DEBUG_INCREMENTAL
|
||||
| DEBUG_LOCATION);
|
||||
| DEBUG_LOCATION | DEBUG_TARGET);
|
||||
|
||||
// Convert a debug string to the appropriate enum.
|
||||
inline int
|
||||
@ -57,6 +58,7 @@ debug_string_to_enum(const char* arg)
|
||||
{ "relaxation", DEBUG_RELAXATION },
|
||||
{ "incremental", DEBUG_INCREMENTAL },
|
||||
{ "location", DEBUG_LOCATION },
|
||||
{ "target", DEBUG_TARGET },
|
||||
{ "all", DEBUG_ALL }
|
||||
};
|
||||
|
||||
@ -70,11 +72,11 @@ debug_string_to_enum(const char* arg)
|
||||
// Print a debug message if TYPE is enabled. This is a macro so that
|
||||
// we only evaluate the arguments if necessary.
|
||||
|
||||
#define gold_debug(TYPE, FORMAT, ...) \
|
||||
#define gold_debug(TYPE, ...) \
|
||||
do \
|
||||
{ \
|
||||
if (is_debugging_enabled(TYPE)) \
|
||||
parameters->errors()->debug(FORMAT, __VA_ARGS__); \
|
||||
parameters->errors()->debug(__VA_ARGS__); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
|
@ -2522,6 +2522,13 @@ Stub_control::can_add_to_stub_group(Output_section* o,
|
||||
i->relobj()->name().c_str(),
|
||||
i->relobj()->section_name(i->shndx()).c_str());
|
||||
|
||||
gold_debug(DEBUG_TARGET, "maybe add%s %s:%s size=%#llx total=%#llx",
|
||||
has14 ? " 14bit" : "",
|
||||
i->relobj()->name().c_str(),
|
||||
i->relobj()->section_name(i->shndx()).c_str(),
|
||||
(long long) this_size,
|
||||
(long long) this->group_end_addr_ - start_addr);
|
||||
|
||||
this->has14_ = this->has14_ || has14;
|
||||
group_size = this->has14_ ? this->stub14_group_size_ : this->stub_group_size_;
|
||||
|
||||
@ -2579,6 +2586,8 @@ Stub_control::can_add_to_stub_group(Output_section* o,
|
||||
gold_unreachable();
|
||||
}
|
||||
|
||||
gold_debug(DEBUG_TARGET, "nope, didn't fit\n");
|
||||
|
||||
// The section fails to fit in the current group. Set up a few
|
||||
// things for the next group. owner_ and output_section_ will be
|
||||
// set later after we've retrieved those values for the current
|
||||
|
Loading…
x
Reference in New Issue
Block a user