/* Parse options for the GNU linker.
- Copyright (C) 1991-2016 Free Software Foundation, Inc.
+ Copyright (C) 1991-2017 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
'd', NULL, N_("Force common symbols to be defined"), ONE_DASH },
{ {"dp", no_argument, NULL, 'd'},
'\0', NULL, NULL, ONE_DASH },
+ { {"force-group-allocation", no_argument, NULL,
+ OPTION_FORCE_GROUP_ALLOCATION},
+ '\0', NULL, N_("Force group members out of groups"), TWO_DASHES },
{ {"entry", required_argument, NULL, 'e'},
'e', N_("ADDRESS"), N_("Set start address"), TWO_DASHES },
{ {"export-dynamic", no_argument, NULL, OPTION_EXPORT_DYNAMIC},
{ {"no-print-gc-sections", no_argument, NULL, OPTION_NO_PRINT_GC_SECTIONS},
'\0', NULL, N_("Do not list removed unused sections"),
TWO_DASHES },
+ { {"gc-keep-exported", no_argument, NULL, OPTION_GC_KEEP_EXPORTED},
+ '\0', NULL, N_("Keep exported symbols when removing unused sections"),
+ TWO_DASHES },
{ {"hash-size=<NUMBER>", required_argument, NULL, OPTION_HASH_SIZE},
'\0', NULL, N_("Set default hash table size close to <NUMBER>"),
TWO_DASHES },
default:
einfo (_("%P%F: use the --help option for usage information\n"));
+ break;
case 1: /* File name. */
lang_add_input_file (optarg, lang_input_file_is_file_enum, NULL);
case 'd':
command_line.force_common_definition = TRUE;
break;
+ case OPTION_FORCE_GROUP_ALLOCATION:
+ command_line.force_group_allocation = TRUE;
+ break;
case OPTION_DEFSYM:
lex_string = optarg;
lex_redirect (optarg, "--defsym", ++defsym_count);
case OPTION_PRINT_GC_SECTIONS:
link_info.print_gc_sections = TRUE;
break;
+ case OPTION_GC_KEEP_EXPORTED:
+ link_info.gc_keep_exported = TRUE;
+ break;
case OPTION_HELP:
help ();
xexit (0);
input_flags.dynamic = FALSE;
break;
case OPTION_NO_DEFINE_COMMON:
- command_line.inhibit_common_definition = TRUE;
+ link_info.inhibit_common_definition = TRUE;
break;
case OPTION_NO_DEMANGLE:
demangling = FALSE;
break;
case OPTION_TASK_LINK:
link_info.task_link = TRUE;
- /* Fall through - do an implied -r option. */
+ /* Fall through. */
case OPTION_UR:
if (bfd_link_pic (&link_info))
einfo (_("%P%F: -r and %s may not be used together\n"),
break;
case dynamic_list_data:
link_info.dynamic_data = TRUE;
+ /* Fall through. */
case dynamic_list:
link_info.dynamic = TRUE;
break;
fprintf (file, _("\
--eh-frame-hdr Create .eh_frame_hdr section\n"));
fprintf (file, _("\
+ --no-eh-frame-hdr Do not create .eh_frame_hdr section\n"));
+ fprintf (file, _("\
--exclude-libs=LIBS Make all symbols in LIBS hidden\n"));
fprintf (file, _("\
--hash-style=STYLE Set hash style to sysv, gnu or both\n"));
fprintf (file, _("\
-z nocommon Generate common symbols with STT_OBJECT type\n"));
fprintf (file, _("\
- -z stacksize=SIZE Set size of stack segment\n"));
+ -z stack-size=SIZE Set size of stack segment\n"));
fprintf (file, _("\
-z text Treat DT_TEXTREL in shared object as error\n"));
fprintf (file, _("\