David MacKenzie
5bcb7f28e1
* ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and
...
bfd_set_error and new error names.
1994-02-17 18:12:17 +00:00
Ken Raeburn
7ff6f2daf5
i960-bout linker fixes, install-info bugfix
1994-02-16 01:20:05 +00:00
David MacKenzie
09aaf97a9f
* ldlex.l (comment): Increment line number when newline is read.
1994-02-12 01:31:11 +00:00
Ian Lance Taylor
c4e48be344
* ldlang.c (lookup_name): Take new argument, force_load. If true,
...
reload the file even if it is already loaded.
(wild): Call lookup_name with force_load argument of 0.
(open_input_bfds): Call lookup_name with force_load argument of 1.
(print_symbol): Remove declaration of non-existent function.
(print_one_symbol): Return true rather than falling off end.
1994-02-11 22:40:20 +00:00
Ian Lance Taylor
410945f102
* ldmain.c (main): Use %ld when printing long values.
1994-02-10 17:02:24 +00:00
Jeff Law
f7d4f6f622
* Rename all "hppaosf" files to "hppaelf".
1994-02-08 00:32:33 +00:00
David MacKenzie
6f6712661f
* ldmain.c (main): Call xatexit, not atexit.
...
Call xmalloc_set_program_name.
1994-02-07 06:07:26 +00:00
David MacKenzie
f49721350b
* ldlang.c (lang_size_sections): Check if bfd_relax_section set
...
bfd_errno.
1994-02-07 05:00:18 +00:00
David MacKenzie
52a8ebfe04
* emultempl/lnk960.em (append), emultempl/hppaosf.em
...
(hppaosf_finish): Call xmalloc, not ldmalloc.
* ldmain.c (preserve_output): Function removed.
(main): Do it here instead.
1994-02-05 12:00:15 +00:00
Jeff Law
9dd7d585d6
* ldlang.h (LANG_FOR_EACH_{INPUT,OUTPUT}_SECTION): Delete (unused)
...
GNU C specific macros.
* emultempl/hppaosf.em (hppaosf_finish): Expand the only remaining
call to LANG_FOR_EACH_INPUT_SECTION.
1994-02-05 07:03:48 +00:00
David MacKenzie
0b2f8d2edd
* ldmisc.c (ldmalloc, xmalloc, ldrealloc, xrealloc): Functions
...
deleted; will use libiberty versions instead.
* ldctor.c ldfile.c ldlang.c ldmain.c ldmisc.c ldmisc.h lexsup.c
mri.c Makefile.in: Change callers.
* ldmisc.c (vfinfo): Remove cleanup code.
* ldmain.c (remove_output): Put it here (new function).
(preserve_output): New function.
(main): Register remove_output and preserve_output with atexit.
* ldmain.c ldgram.y: Call xexit instead of exit.
* ldmisc.h: Declare xexit.
1994-02-05 01:14:56 +00:00
Steve Chamberlain
9e0f78c8d7
* Makefile.in: Lots of new H8/500 memory models.
1994-02-04 23:19:33 +00:00
Ken Raeburn
836dcbcf2f
* ldlex.l: Removed duplicate rules.
...
(yywrap): Provide default definition, needed with some versions of flex.
1994-01-30 21:22:38 +00:00
David MacKenzie
288897f490
* ldmisc.c (vfinfo): For `%I', if the file is in an archive, print
...
the archive filename too.
1994-01-28 21:20:11 +00:00
David MacKenzie
fb55f9b8ae
* ldlex.l: Add rule to catch invalid input characters instead of
...
printing them. Include "ldmain.h" for program_name decl.
(lex_warn_invalid): New function.
* Makefile.in: Add dependency.
1994-01-28 19:36:53 +00:00
Ken Raeburn
f3c6455fda
* Makefile.in (check): Don't bother running any tests of
...
cross-linker until the test suite no longer assumes native mode.
1994-01-28 18:02:43 +00:00
Steve Chamberlain
804c860185
Thu Jan 27 17:19:54 1994 Steve Chamberlain (sac@jonny.cygnus.com)
...
* ldlang.c (print_one_symbol, print_input_section): Print
global symbols in symbol table again.
1994-01-28 01:26:25 +00:00
David MacKenzie
7b40f2b169
* ldmain.c ldmain.h ldgram.y: If -v -V or --version was given,
...
exit successfully instead of complaining if no input files are
given.
1994-01-27 20:49:21 +00:00
Stan Shebs
74e6b793b8
* Makefile.in: Format variable definitions consistently.
...
(LD_PROG): Remove unnecessary variables from link command,
change variable LOADLIBES to EXTRALIBS.
1994-01-26 04:24:30 +00:00
Stan Shebs
8594f56890
Tue Jan 25 13:19:41 1994 Stan Shebs (shebs@andros.cygnus.com)
...
* ldmain.c (main): Compute and display total execution time.
* ld.texinfo (-stats): Document the option.
1994-01-25 21:30:00 +00:00
Ian Lance Taylor
5dad4c9728
* ldmain.c (reloc_overflow): Added name, reloc_name and addend
...
arguments.
1994-01-24 20:22:12 +00:00
Ian Lance Taylor
de08b0b153
* ldlang.c (lookup_name): Set BFD GP size to -G argument value
...
after opening BFD.
1994-01-24 19:55:02 +00:00
Ian Lance Taylor
755f42fe99
* ldlang.c (relaxing): Removed global variable.
...
(lang_size_sections): If the canonical symbols have not already
been read in, read them in before relaxing.
* ldlang.h (relaxing): Removed declaration.
1994-01-24 17:59:18 +00:00
Ian Lance Taylor
5e6cd559cf
* ldlang.c (new_afile): Initialize loaded field to false.
...
(lookup_name): If file was already loaded, don't call the
add_symbols entry point again.
1994-01-21 05:47:18 +00:00
David MacKenzie
8de26d624e
* ld.texinfo: Clarify what -T option does.
1994-01-19 21:58:31 +00:00
Steve Chamberlain
a843c81763
* scripttempl/m88kbcs.sc: Don't use CREATE_OBJECT_SYMBOLS, that's
...
for a.out.
1994-01-19 00:21:59 +00:00
Ian Lance Taylor
8a432746ae
Motorola Delta sysV68 support from phdm@info.ucl.ac.BE (Philippe
...
De Muyter).
* configure.in (m68k-motorola-sysv*) New target.
* config/delta68.mt: New file.
* emulparams/delta68.sh: New file.
* scripttempl/delta68.sc: New file.
* Makefile.in (ALL_EMULATIONS): Added em_delta68.o.
(em_delta68.c): New target.
1994-01-14 20:43:07 +00:00
Ian Lance Taylor
901f3538ee
* scripttempl/elf.sc: Correct typo.
1994-01-11 18:22:51 +00:00
David MacKenzie
c344d88420
* ldgram.y, ldlex.l: Make the space between -e, -u, and -y and
...
their arguments optional, for compatibility with the old GNU ld.
1994-01-11 03:59:49 +00:00
Ian Lance Taylor
267a3ab363
* scripttempl/elf.c: Define __bss_start before the .sbss section.
1994-01-08 01:01:23 +00:00
Ian Lance Taylor
2f84ec0d97
Various entries.
1994-01-06 20:05:44 +00:00
Ian Lance Taylor
3107eb5b38
* scripttempl/alpha.sc: Don't create .lit4 or .sdata sections,
...
since the Alpha doesn't use them.
1994-01-06 05:14:48 +00:00
David MacKenzie
080d8af095
* ldemul.h (ld_emulation_xfer_struct): Comment the members.
1994-01-06 01:57:11 +00:00
David MacKenzie
23fdc6bebd
clarify change
1994-01-01 19:20:16 +00:00
David MacKenzie
34f9bf4b3c
* scripttempl/aout.sc: Pad .text to DATA_ALIGNMENT if relocating;
...
needed for i386mach.
* emulparams/i386mach.sh (SEGMENT_SIZE): Fix again.
(PAGE_SIZE): Don't define; not used.
1994-01-01 19:15:50 +00:00
Ian Lance Taylor
1d166443d4
* ldgram.y (yyerror): Make argument const char *, and actually
...
print it out rather than assuming it is a syntax error.
* ldmisc.h: Change declaration of yyerror.
* ldemul.c, ldwrite.c: Add /*ARGSUSED*/ as appropriate.
1993-12-31 21:17:33 +00:00
David MacKenzie
ae9c800701
* emulparams/i386mach.sh (NONPAGED_TEXT_START_ADDR): Don't include
...
exec header offset, since the exec header isn't loaded.
(PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c.
1993-12-31 21:13:03 +00:00
Ian Lance Taylor
4a6afc88bb
A major rewrite to move the bulk of the linker into BFD so that
...
more efficient backend code can be written for specific object
files.
* lderror.c, lderror.h, ldindr.c, ldindr.h, ldsym.c, ldsym.h,
ldwarn.c, ldwarn.h, relax.c, relax.h: Removed.
* ldctor.c, ldctor.h: Complete rewrite.
* ldwrite.c, ldwrite.h: Complete rewrite.
* ld.h (strip_symbols_type, strip_symbols): Removed. Use
link_info.strip instead. Changed all uses.
(discard_locals_type, discard_locals): Removed. Use
link_info.discard instead. Changed all uses.
(ld_config_type): Removed relocateable_output field; use
link_info.relocateable instead; changed all uses. Added stats
field.
(set_asymbol_chain, get_asymbol_chain, get_loader_symbol,
set_loader_symbol): Removed.
* ldexp.h (node_class): Added etree_rel.
(etree_type): Added rel field.
* ldexp.c (exp_print_token): Bracketed table initialization.
(exp_relop): New function.
(fold_name): Use linker hash table rather than ldsym functions.
(exp_fold_tree): Likewise. Also, handle etree_rel case.
(exp_print_tree): Handle etree_rel.
* ldgram.y (strip_symbols, discard_locals): Removed.
(OPTION_stats, OPTION_no_keep_memory): New tokens. Handle them.
(REL): New token. Does not appear in grammar, but needed for
expression code.
(file): Don't call lang_final; it's called by main anyhow.
* ldlex.l: Accept -stats and -no-keep-memory options.
* ldlang.h (fill_type): Make unsigned int, not unsigned short.
* ldlang.c: Consistently use fill_type for fill argument.
(lang_init_script_file, script_file): Removed.
(create_object_symbols): Removed. Use
link_info.create_object_symbols_section instead. Changed all
uses.
(lang_add_keepsyms_file): Removed.
(lookup_name): Call bfd_link_add_symbols instead of
ldmain_open_file_read_symbol.
(wild): Don't iterate over script_file.
(open_output): Create link hash table.
(lang_place_undefineds): Rewrote.
(lang_size_sections): Handle relaxing (doesn't work yet).
(lang_relocate_globals): Removed.
(lang_finish): Use link hash table rather than ldsym functions.
(lang_common): Rewrote.
(lang_one_common): New function.
(ldlang_add_file): Add file to link_info.input_bfds list. Set
usrdata.
(create_symbol): Removed.
(lang_process): Don't call lang_init_script_file. Call
ldctor_build_sets rather than find_constructors. Don't call
lang_relocate_globals.
(lang_abs_symbol_at_beginning_of): Rewrote.
(lang_abs_symbol_at_end_of): Rewrote.
* ldmain.c (had_y): Removed.
(lprefix, lprefix_len): Removed; use link_info fields instead.
Changed all uses.
(multiple_def_count, commons_pending, undefined_global_sym_count,
total_symbols_seen, total_files_seen): Removed.
(link_callbacks, link_info): New variables.
(main): Initialize link_info. Don't call init_bfd_error_vector or
ldsym_init. Don't set now unused variables. Handle -stats.
(get_emulation): Removed obsolete and nonfunctional GNU960 code.
(add_ysym): Rewrote.
(read_entry_symbols, refize, enter_global_ref, enter_file_symbols,
search_library, gnu960_check_format, decode_library_subfile,
linear_library, symdef_library, clear_syms, subfile_wanted_p):
Removed.
(add_keepsyms_file, add_archive_element, multiple_definition,
multiple_common, add_to_set, warning_callback, undefined_symbol,
reloc_overflow, reloc_dangerous, unattached_reloc, notice_ysym):
New functions.
* ldmisc.c (vfinfo): Accept a string for %T, not a symbol. Don't
require symbols for %C; look them up instead.
* emultempl/hppaosf.em: Pass link_info to
hppa_look_for_stubs_in_section.
* Makefile.in: Rebuilt dependencies.
(CFILES): Removed lderror.c, ldindr.c, ldsym.c, ldwarn.c, and
relax.c.
(HFILES): Removed lderror.h, ldindr.h, ldsym.h, ldwarn.h, and
relax.h.
(EMULATION_OFILES): Depend on bfdlink.h, ldmain.h, ldexp.h,
ldlang.h and ldctor.h.
* Makefile.in (ldlex.c): Don't depend on ldgram.h. Remove
declarations of free and malloc from flex output. Change malloc
to ldmalloc in flex output.
1993-12-30 19:51:41 +00:00
Ian Lance Taylor
553b002162
* ldlex.h: Don't declare yywrap if it is a macro.
...
* ldlex.l: Include sysdep.h.
1993-12-14 22:34:41 +00:00
Ian Lance Taylor
498fbd3c56
* ldlang.c (lang_for_each_statement_worker,
...
lang_for_each_statement): Forgot to use PARAMS.
1993-12-14 22:20:35 +00:00
Ian Lance Taylor
1400cdc51d
* Makefile.in: Added .PHONY targets where appropriate. Added some
...
comments. Also:
(gcclibdir, version): Removed unused variables.
(DEP): New variable, set to mkdep.
(ALL_CFLAGS): New variable. Used in .c.o target.
(CFILES, HFILES, GENERATED_CFILES, GENERATED_HFILES): New
variables.
(HEADERS, MANSOURCES, LDCSOURCES, GENERATED_SOURCES,
GENERATED_HEADERS, LDSOURCES, BFD_SOURCES, SOURCES): Removed
mostly obsolete variables. Adjusted remaining uses.
(DEF_EMUL): Removed variable.
(ldmain.o): Handle undefined EMUL error correctly.
(ldemul-list.h): Depend on config.status rather than Makefile.
Create via temporary file.
(ver960.c, roll, make): Removed obsolete targets.
(.dep, .dep1, dep.sed, dep, dep-in): New targets. Used to rebuild
dependencies.
1993-12-13 19:46:45 +00:00
Ian Lance Taylor
fcf276c495
Made many changes to eliminate gcc warnings. Made various
...
cosmetic changes, declared various things in header files, removed
various extern declarations from .c files. No substantive
changes.
1993-12-11 22:55:55 +00:00
Ian Lance Taylor
2c6635a46f
* ldlang.c (lang_process): Ifdef out final call to
...
lang_size_sections again (reverting change of Nove 2), since it
breaks the Sun4 linker.
1993-12-11 22:46:15 +00:00
Ian Lance Taylor
8e964b071d
* ldgram.y (OPTION_Oval): New token.
...
(command_line_option): Accept and ignore it.
* ldlex.l (<COMMAND>): Handle -On where n is a number.
1993-12-02 00:25:48 +00:00
Ken Raeburn
d05ac46bc6
* configure.in: Group targets by CPU. Merge some m68k target entries with
...
different CPU specs that use the same ld_target values.
* configure.in: Add sparc*-*-coff.
* config/coff-sparc.mt, emulparams/coff_sparc.sh: New files.
* Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o.
(em_coff_sparc.c): Add dependencies and build rules.
1993-12-01 22:14:05 +00:00
Ian Lance Taylor
f651733a12
* ldgram.y (OPTION_call_shared, OPTION_non_shared): New tokens.
...
(command_line_option): Accept and ignore them (for now).
* ldlex.l (<COMMAND>): Handle -non_shared and -call_shared.
1993-12-01 17:22:03 +00:00
Ian Lance Taylor
2332114c71
* configure.in (mips*-sgi-irix5*): New target. Use mipsb-elf32.
...
* emulparams/elf32mipsb.sh (DATA_ADDR): Define.
(OTHER_READONLY_SECTIONS): Define for .reginfo.
(EXECUTABLE_SYMBOLS): Define for _DYNAMIC_LINK.
* scripttempl/elf.sc: Use EXECUTABLE_SYMBOLS when not relocating.
Move OTHER_READONLY_SECTIONS after all the other readonly
sections. Don't use DATA_ADDR twice.
1993-11-19 19:31:51 +00:00
David Henkel-Wallace
b11b3aceb2
netware target support.
1993-11-08 14:28:46 +00:00
David MacKenzie
2ccb88c0d6
correct mach3 values
1993-11-06 05:51:14 +00:00
Ken Raeburn
4ecfad7942
Fix up dependencies and rules for ld.dvi, ld.info.
1993-11-04 00:09:39 +00:00