Age | Commit message (Collapse) | Author | Files | Lines |
|
* ldgram.y (ldgram_had_keep, KEEP): New.
(input_section_spec_no_keep): Rename from old input_section_spec.
(input_section_spec): New. Recognize KEEP.
* ldlang.c (wild_section): Handle keep sections.
(lang_gc_wild_section, lang_gc_wild_file, lang_gc_wild): New.
(lang_gc_sections_1, lang_gc_sections): New.
(lang_process): Invoke lang_gc_sections.
(lang_add_wild): Add keep argument. Update all callers.
* ldlang.h (lang_wild_statement_struct): Add keep_sections.
* ldlex.l (KEEP): Match it.
* ldmain.c (main): Error on -r and --gc-sections.
* lexsup.c: Add --gc-sections.
* scripttempl/elf.sc: Merge .text.* etc sections appropriately.
Mark startup sections with KEEP.
* scripttempl/elfppc.sc: Likewise.
* ld.texinfo: Update for --gc-sections and KEEP.
|
|
Added internationalisation to emulation templates.
Added --support-old-code command line option to armcoff and pe emulations.
|
|
to avoid confusion between -li and -library.
|
|
strings.
* ld.h: Added gettext-related includes and defines.
* ldmain.c: Call setlocale, bindtextdomain, textdomain.
* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
HAVE_LC_MESSAGES): Define.
* configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and
po/Makefile. Use AM_PROG_LEX.
(TDIRS): AC_SUBST early on, to avoid having value split when it
happens to cross line 90 of the generated sed script.
* Makefile.am (SUBDIRS): New macro.
(POTFILES): Likewise.
(po/POTFILES.in): New target.
(ld_new_LDADD): Added INTLLIBS.
(ld_new_DEPENDENCIES): Added INTLDEPS.
* po/Make-in, po/POTFILES.in, po/gas.pot: New files.
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Suggest
--rpath if a needed library is not found.
|
|
(ldversion): Use it.
* ldver.h (ld_program_version): Declare.
* lexsup.c (ld_options): Handle --dll-verbose like --verbose, not
--version. Change --version handling to match current GNU
standards.
(help): Print bug report address.
|
|
don't clobber it when not relaxing.
* ld.h (ld_config_type): Remove traditional_format field.
* ldmain.c (main): Use link_info.traditional_format rather than
config.traditional_format.
* ldlang.c (ldlang_open_output): Likewise.
* lexsup.c (parse_args): Likewise.
* emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Likewise.
* mpw-eppcmac.c (gldppcmacos_parse_args): Likewise.
|
|
|
|
(parse_args): Build shortopts and longopts from ld_options array.
(help): New static function.
* ldver.h (help): Don't declare.
* ldver.c (ldversion): Reindent.
(help): Remove.
|
|
for HP/UX compatibility.
|
|
* ldmain.h (add_wrap): Declare.
* lexsup.c (parse_args): Call add_wrap.
|
|
* ldmain.c (main): Initialize link_info.wrap_hash.
* ldexp.c (fold_name): Use bfd_wrapped_link_hash_lookup in DEFINED
and NAME cases.
* ld.texinfo, ld.1: Document --wrap.
|
|
* ld.h (ld_config_type): Add warn_multiple_gp field.
* lexsup.c (parse_args): Handle --warn-multiple-gp.
* ldmain.c (warning_callback): Suppress multiple gp values warning
if --warn_multiple_gp was not used.
* ld.texinfo, ld.1: Document --warn-multiple-gp.
|
|
* ldlang.h (lang_input_statement_type): Add whole_archive field.
* ldlang.c (new_afile): Set whole_archive field.
(load_symbols): Check input file specific whole_archive field
rather than global variable.
* ld.texinfo, ld.1: Document --no-whole-archive.
PR 9094.
|
|
* ldlex.h (lex_string): Declare.
* ldlex.l (lex_string): Define.
* lexsup.c (parsing_defsym): Define.
(parse_args): In OPTION_DEFSYM case, set lex_string before calling
lex_redirect, and clear it after calling yyparse. Set
parsing_defsym around call to yyparse.
* ldmain.c (main): Set lex_string before calling lex_redirect, and
clear it after calling yyparse.
* ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
in linker scripts correctly.
PR 8092.
|
|
* emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Define.
* emultempl/sunos.em (gld${EMULATION_NAME}_get_script): Use the
shared library script when appropriate.
* scripttempl/aout.sc: If CREATE_SHLIB is set, start the .text
section at SIZEOF_HEADERS.
|
|
* lexsup.c (options): Load more PE options.
(set_pe_value): New function.
|
|
Solaris compatibility.
|
|
-shared.
Mon Jul 10 13:29:43 1995 Eric Youngdale <eric@aib.com>
* ldmain.c (main): Set link_info.symbolic to false.
* lexsup.c (parse_args): Handle -Bsymbolic.
|
|
|
|
be equivalent to --shared, depending on the next argument. Accept
and ignore -z for Solaris compatibility.
PR 7118.
|
|
it in link_info.base_file. Fix indentation.
|
|
* ldmain.c (main): Always initialize PE info in link_info.
* lexsup.c (OPTION_BASE_FILE): New option.
(parse_args): Handle new option.
* emulparams/armpe.sh: Output pei.
* emultempl/i386pe.em: Add newline to end.
* scripttempl/armpe.sc: Change output and quote the $s.
* scripttempl/i386pe.sc: Change output and quote the $s.
|
|
* lexsup.c (parse_args): Handle -EB and -EL by setting
command_line.endian.
* ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
* ldlang.c (lang_add_output_format): Add arguments big and little.
If command_line.endian is set, use it to select big or little
rather than the default. Changed all callers.
* ldlang.h (lang_add_output_format): Update declaration.
* emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT.
* emulparams/elf32mipl.sh: Likewise.
* emulparams/mipsbig.sh: Likewise.
* emulparams/mipsbsd.sh: Likewise.
* emulparams/mipsidt.sh: Likewise.
* emulparams/mipsidtl.sh: Likewise.
* emulparams/mipslit.sh: Likewise.
* scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT if not already defined. Pass them to
OUTPUT_FORMAT.
* scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
* scripttempl/mipsbsd.sc: Likewise.
|
|
* ldmain.c (undefined_symbol): Handle -warn-once.
* lexsup.c (parse_args): Recognize -warn-once.
* ld.texinfo (Options): Document -warn-once.
* ld.1: Likewise.
PR 4456.
|
|
no_argument to required_argument. From djm.
|
|
-non_shared.
|
|
* lexsup.c (parse_args): Ignore -qmagic for Linux compatibility.
|
|
* ld.h (args_type): Add new field interpreter.
* lexsup.c (parse_args): Add dynamic-linker to longopts, and
handle it.
* ldmain.c (main): Initialize command_line.interpreter to NULL.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get
the ELF backend to return the .interp section. If
command_line.interpreter is not NULL, set the contents of .interp
to it.
* ld.texinfo: Mention -dynamic-linker.
|
|
definitions to make it easier to add a new option.
|
|
* lexsup.c (parse_args): Add traditional_format to longopts, and
handle it.
* ldmain.c (main): Initialize config.traditional_format to false.
* ldlang.c (ldlang_open_output): Set BFD_TRADITIONAL_FORMAT in BFD
flags of output_bfd according to config.traditional_format.
* ld.texinfo: Document -traditional-format.
|
|
|
|
field.
(search_head): Declare.
(ldfile_add_library_path): Add new cmdline argument in prototype.
* ldfile.c (search_head): Make non-static.
(search_dirs_type): Move to ldfile.h.
(ldfile_add_library_path): Accept cmdline argument, and save it.
* lexsup.c (parse_args): Pass true for new cmdline argument of
ldfile_add_library_path.
(set_default_dirlist): Likewise.
* ldmain.c (check_for_scripts_dir): Pass false for new cmdline
argument of ldfile_add_library_path.
* ldgram.y (ifile_p1): Likewise.
|
|
(lang_add_entry): Add cmdline argument.
* ldlang.h (lang_add_entry): Change prototype.
* ldgram.y (statement_anywhere): Change lang_add_entry call.
* lexsup.c (parse_args): Likewise.
|
|
* ld.h (ld_config_type): Add field dynamic_link.
* ldmain.c (main): Initialize config.dynamic_link to false. Warn
on attempts to use -r with -relax, -call_shared or -s.
* lexsup.c (longopts): Separate OPTION_CALL_SHARED from
OPTION_NON_SHARED. Add OPTION_IGNORE. Adjust macro values
accordingly. Add "dy" and "non_shared" options. Change "Qy" to
OPTION_IGNORE for now. Handle OPTION_CALL_SHARED and
OPTION_NON_SHARED by setting dynamic_link field accordingly.
Handle OPTION_IGNORE by ignoring it. Clear dynamic_link field for
-r and -Ur.
* ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
opening a file with a .so extension first.
* emultempl/elf32.em: New file.
* emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
(NONPAGED_TEXT_START_ADDR): Likewise.
(TEMPLATE_NAME): Define as elf32.
(DATA_PLT): Define.
* emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
* scripttempl/elf.sc: Add placement for new dynamic sections.
Don't use CREATE_OBJECT_SYMBOLS. Define _etext, _edata and _end
outside of any section. Don't use ALIGN(8); just let one section
VMA follow another. Put .dynbss in .bss. Don't mention debugging
sections; they'll be handled correctly anyhow.
* Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
|
|
* lexsup.c: Include ldver.h.
* Makefile.in: Rebuilt dependencies.
|
|
|
|
Fix misunderstanding in -Y and -call_shared et al.
|
|
* ld.texinfo (Options): Document changes to option syntax.
* Makefile.in: Update dependencies.
* ldver.c (help): Tweak dashes in usage message.
* ldgram.y (%union): Remove unused members.
Remove %tokens for command line options; add ones for input types.
(command_line): Rules removed.
(file): Instead of command line, recognize an
input type indicator, then use the nonterminal for that type.
(defsym_expr): New nonterminal from code formerly in command_line.
* ldlex.h: Declare parser input type enum and variable.
Don't declare parse_line.
* ldlex.l: Remove unused variables. Make some used ones static
and comment them.
(COMMAND): Start state and its rules removed.
At start of yylex, return input state token if at start of input.
(lex_redirect): Don't need to set yyout.
(ldlex_command): Function removed.
* ldmain.c (main): Instead of calling parse_line, set up the
redirections and call yyparse directly.
* ldmisc.c (vfinfo): If there's no input filename, print nothing, not
"command line".
* lexsup.c: Remove #if 0'd code.
(parse_line): Function removed.
(parse_args): Rewrite to use getopt_long_only.
(set_default_dirlist): New function from code formerly in
ldgram.y:command_line.
(set_section_start): New function.
* emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em,
emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose
compiled-in link scripts in "{" and "}", as the grammar no longer
wants them to be.
|