summaryrefslogtreecommitdiff
path: root/ld/ldmain.c
diff options
context:
space:
mode:
authorRoland McGrath <mcgrathr@google.com>2020-06-12 23:52:57 -0700
committerRoland McGrath <mcgrathr@google.com>2020-06-12 23:52:57 -0700
commit9242996ba250d0411efe6b00ee9a9893081d9137 (patch)
tree2d20f848d72886f5e8297c6b056a38c0952292bc /ld/ldmain.c
parent10059956eef2a85e0992d1df3aca304d380d0c43 (diff)
downloadbinutils-gdb-users/roland/ld-start-stop-visibility.tar.gz
gold, ld: Implement -z start-stop-visibility=... option.users/roland/ld-start-stop-visibility
gold/ * options.h (class General_options): Handle -z start-stop-visibility=. (General_options::start_stop_visibility): New public method. (General_options::start_stop_visibility_): New private member. * options.cc (General_options::General_options): Add initializer. (General_options::parse_start_stop_visibility): New function. * layout.cc (Layout::define_section_symbols): Use option setting. bfd/ * elflink.c (bfd_elf_define_start_stop): Use start_stop_visibility field of bfd_link_info. include/ * bfdlink.h (struct bfd_link_info): New field start_stop_visibility. ld/ * NEWS: Mention -z start-stop-visibility=... option for ELF. * ld.texi (Options): Document -z start-stop-visibility=... option. * ldmain.c (main): Initialize link_info.start_stop_visibility. * emultempl/elf.em (gld${EMULATION_NAME}_handle_option): Parse -z start-stop-visibility=... option.
Diffstat (limited to 'ld/ldmain.c')
-rw-r--r--ld/ldmain.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ld/ldmain.c b/ld/ldmain.c
index e2c559ea3e0..b0ce69f1186 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -27,6 +27,7 @@
#include "bfdlink.h"
#include "ctf-api.h"
#include "filenames.h"
+#include "elf/common.h"
#include "ld.h"
#include "ldmain.h"
@@ -307,6 +308,7 @@ main (int argc, char **argv)
#ifdef DEFAULT_NEW_DTAGS
link_info.new_dtags = DEFAULT_NEW_DTAGS;
#endif
+ link_info.start_stop_visibility = STV_PROTECTED;
ldfile_add_arch ("");
emulation = get_emulation (argc, argv);