|
|
|
@ -160,6 +160,8 @@ static struct bfd_link_callbacks link_callbacks = |
|
|
|
ldlang_override_segment_assignment |
|
|
|
}; |
|
|
|
|
|
|
|
static bfd_assert_handler_type default_bfd_assert_handler; |
|
|
|
|
|
|
|
struct bfd_link_info link_info; |
|
|
|
|
|
|
|
static void |
|
|
|
@ -173,6 +175,17 @@ ld_cleanup (void) |
|
|
|
unlink_if_ordinary (output_filename); |
|
|
|
} |
|
|
|
|
|
|
|
/* If there's a BFD assertion, we'll notice and exit with an error
|
|
|
|
unless otherwise instructed. */ |
|
|
|
|
|
|
|
static void |
|
|
|
ld_bfd_assert_handler (const char *fmt, const char *bfdver, |
|
|
|
const char *file, int line) |
|
|
|
{ |
|
|
|
(*default_bfd_assert_handler) (fmt, bfdver, file, line); |
|
|
|
config.make_executable = FALSE; |
|
|
|
} |
|
|
|
|
|
|
|
int |
|
|
|
main (int argc, char **argv) |
|
|
|
{ |
|
|
|
@ -199,6 +212,11 @@ main (int argc, char **argv) |
|
|
|
|
|
|
|
bfd_set_error_program_name (program_name); |
|
|
|
|
|
|
|
/* We want to notice and fail on those nasty BFD assertions which are
|
|
|
|
likely to signal incorrect output being generated but otherwise may |
|
|
|
leave no trace. */ |
|
|
|
default_bfd_assert_handler = bfd_set_assert_handler (ld_bfd_assert_handler); |
|
|
|
|
|
|
|
xatexit (ld_cleanup); |
|
|
|
|
|
|
|
/* Set up the sysroot directory. */ |
|
|
|
|