Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
i386-aout.
|
|
|
|
|
|
needed for i386mach.
* emulparams/i386mach.sh (SEGMENT_SIZE): Fix again.
(PAGE_SIZE): Don't define; not used.
|
|
|
|
the end of a one-line function we just stepped into.
|
|
(second and third arguments were reversed).
(say): Use varargs.
|
|
mips_receive_packet.
(callers): pass in mips_receive_wait except mips_initialize (where
we use it to clean up the kludge where we had been changing
mips_receive_wait temporarily) and mips_wait (where we pass in
-1 for no timeout).
|
|
* aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
appropriate.
* aoutx.h (struct external_exec): Removed unnecessary declaration.
(NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
(adjust_z_magic): Removed useless variable data_vma.
(stringtab_init): Initialize hash_zero.
(add_to_stringtab): Removed unused fourth argument.
(NAME(aout,swap_std_reloc_out)): Removed useless variable
r_addend.
(aout_link_input_section): Added some casts.
* archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
Minor code rewriting to make it more C like.
(do_slurp_bsd_armap): Added some casts.
* ecoff.c (ecoff_write_object_contents): Removed useless variable
scn_base.
(ecoff_write_armap): Added some casts. Use "" rather than "\0".
* ecofflink.c (bfd_ecoff_write_debug): Added a cast.
* libaout.h (struct internal_exec): Removed unnecessary
declaration.
* linker.c (_bfd_generic_indirect_link_order): Added a cast.
* opncls.c (new_bfd): Removed a cast.
* reloc.c (bfd_generic_get_relocated_section_contents): Added
some casts.
* srec.c (internal_srec_write_object_contents): Removed useless
variable bytes_written.
|
|
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.
|
|
exec header offset, since the exec header isn't loaded.
(PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c.
|
|
(TEXT_START_ADDR): Don't include exec header size in value.
|
|
|
|
|
|
|
|
|
|
* remote-mips.c: Use it instead of error() most places.
* remote-mips.c (mips_receive_packet): New arg throw_error.
(mips_initialize): Use it not catch_errors.
* defs.h: Declare error_pre_print and warning_pre_print here...
* main.c: ...not here.
|
|
|
|
|
|
* remote-mips.c: Use it instead of error() most places.
|
|
|
|
Don't mention hash.c, linker.c, or genlink.h yet, since they don't contain
documentation yet (hint, hint!).
|
|
* breakpoint.c, breakpoint.h (frame_in_dummy): New function.
* stack.c (print_frame_info): Use it.
|
|
|
|
|
|
more efficient backend code can be written for specific object
files. Only existing efficient backend is a.out.
* seclet.c, seclet.h: Removed.
* hash.c, linker.c, genlink.h: New files.
* bfd-in.h: Removed bfd_error_vector. Declared hash table
structures and functions.
(JUMP_TABLE): Removed bfd_seclet_link, added
bfd_link_hash_table_create, bfd_link_add_symbols and
bfd_final_link.
* All backends: Changed accordingly.
* bfd-in2.h: Rebuilt.
* bfd.c (struct _bfd): Added link_next and archive_pass fields.
Removed ld_symbols field.
(bfd_nonrepresentable_section, bfd_undefined_symbol,
bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
bfd_error_vector): Removed.
(bfd_default_error_trap, bfd_error_trap,
bfd_error_nonrepresentabltrap): Removed.
(bfd_get_relocated_section_contents): Pass link_info. Pass
link_order instead of seclet. Pass symbols.
(bfd_relax_section): Pass link_info.
(bfd_seclet_link): Removed.
(bfd_link_hash_table_create, bfd_link_add_symbols,
bfd_final_link): New macros.
* libbfd-in.h: If __GNUC__ is defined and alloca is not, define
alloca as __builtin_alloca. Declare internal linking functions.
* libbfd.h: Rebuilt.
* libbfd.c (bfd_seek): Comment out fseek assertion. It's worked
for months.
* reloc.c (reloc_howto_type): Added error_message argument to
special_function field. Changed all callers and all definitions.
(bfd_get_reloc_size): Make argument a const pointer.
(bfd_perform_relocation): Add error_message argument to hold
string set if return value if bfd_reloc_dangerous. Changed all
callers.
(_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
* section.c (asection): Renamed seclets_head and seclets_tail to
link_order_head and link_order_tail.
* targets.c (bfd_target): Replaced seclet argument with link_info
and link_order and symbols arguments in
bfd_get_relocated_section_contents. Added symbols argument to
bfd_relax_section. Removed bfd_seclet_link. Added
bfd_link_hash_table_create, bfd_link_add_symbols and
bfd_final_link.
* libaout.h (struct aoutdata): Added external_syms,
external_sym_count, external_strings, sym_hashes fields.
(obj_aout_external_syms, obj_aout_external_sym_count,
obj_aout_external_strings, obj_aout_sym_hashes): New accessor
macros.
(WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
* aoutx.h: Wrote new back end linker routines.
(translate_to_native_sym_flags): Return boolean value. Don't use
bfd_error_vector.
(NAME(aout,write_syms)): Return boolean value. Check return value
of translate_to_native_sym_flags and bfd_write.
* aout-target.h (final_link_callback): New function.
(MY_bfd_final_link): New function.
* aout-adobe.c (aout_adobe_write_object_contents): Check return
value of aout_32_write_syms.
* hp300hpux.c (MY(write_object_contents)): Likewise.
* i386lynx.c (WRITE_HEADERS): Likewise.
* libaout.h (WRITE_HEADERS): Likewise.
* bout.c: Changed functions to use link_info->callbacks rather
than bfd_error_vector, and link_orders rather than seclets.
* coff-alpha.c: Likewise.
* coff-h8300.c: Likewise.
* coff-h8500.c: Likewise.
* coff-sh.c: Likewise.
* coff-z8k.c: Likewise.
* elf32-hppa.c: Likewise.
* reloc16.c: Likewise.
* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
up _gp in the hash table rather than in outsymbols.
* coff-a29k.c (a29k_reloc): Pass errors back in new error_message
argument rather than printing them.
* coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
link_order arguments rather than seclet. Changed all uses and
definitions.
(bfd_coff_reloc16_estimate): Pass link_info arguments. Changed
all uses and definitions.
* libcoff.h: Rebuilt.
* ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
not by ECOFF, make it scAbs.
(ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
rewritten.
* elf32-mips.c (mips_elf_final_link): Renamed from
mips_elf_seclet_link and rewritten.
* elf32-hppa.c (elf32_hppa_stub_description): Added link_info
field.
(new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
Added link_info arguments. Changed all callers.
* elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
not NULL.
* oasys.c (oasys_write_sections): Return boolean value rather than
using bfd_error_vector.
(oasys_write_object_contents): Check return value of
oasys_write_sections.
* hosts/std-host.h: Don't declare qsort or strtol.
* Makefile.in: Rebuild dependencies.
(BFD_LIBS): Removed seclet.o. Added hash.o and linker.o.
(CFILES): Removed seclet.c. Added hash.c and linker.c.
(HFILES): Removed seclet.h. Added genlink.h.
|
|
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.
|
|
|
|
SEC_LOAD to handle .bss segments properly.
|
|
if section has no contents.
|
|
we jump into the prologue from another function, then it was a
subroutine call. #if 0 AT_FUNCTION_START; the above code should
take care of this case.
|
|
|
|
to 8.
|
|
from get_exec_file.
|
|
compatibility with non-ANSI compilers. Added single-bit field "fx_done".
|
|
|
|
change caused "p (...)0" to dump core.
* gdbtypes.c (check_stub_method): Don't pass "..." to
parse_and_eval_type. This should fix the bug which Kung was
trying to fix.
|
|
tests.
|
|
labels without colons (For HPPA and MRI).
|
|
two symbols, don't just ignore the second (LOC_REGISTER) one.
* printcmd.c (print_frame_args): If we have a LOC_ARG and a
LOC_REGISTER, use the LOC_ARG not the LOC_REGISTER.
|
|
within <>.
(Structures): Document static members.
|
|
* solib.c (debug_base_symbols): Add array of symbols to lookup.
* solib.c (IGNORE_FIRST_LINK_MAP_ENTRY): Add macro.
* solib.c (look_for_base, locate_base): Use debug_base_symbols.
* solib.c (find_solib): Use IGNORE_FIRST_LINK_MAP_ENTRY.
|
|
Modified Files:
ChangeLog c-exp.y
* c-exp.y : fix grammar to parse ellipsis (...)
(fix pr4218)
|
|
then skip bfd_perform_relocation even if the addend is non-zero.
|
|
ChangeLog stabsread.c
* stabsread.c (read_type): fix problem when reading static member
of a class. caused by change to allow :: inside template
instantiated name.
|
|
(change made to genscripts on July 21...)
This is all it took for linux-native ld to build. It isn't necessarily useful,
particularly as gcc is still configured to pass -m486 and -dll-verbose, which
this ld doesn't parse...
|
|
|