Commit graph

16019 commits

Author SHA1 Message Date
David Edelsohn
a1613b5f35 * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
(gld${EMULATION_NAME}_place_section): New function.
	(hold_{section,use,text,rdata,data}): New static locals.
	(ld_${EMULATION_NAME}_emulation): Update orphan field.
1996-05-07 17:58:43 +00:00
Jeff Law
d38d6b7a85 * scripttempl (h8300.sc, h8300h.sc): Place .rodata sections
before .text sections in main ram.
Gets "read only" data out of the instruction stream -- improves
relaxing linker.  HMSE.
1996-05-07 17:33:17 +00:00
Jeff Law
f4597f8c05 * coff-h8300.c (howto_table): Update names to match recent
changes to include/coff/internal.h.  Fix minor errors in the
        existing relocs.  Add R_MOVL1 and R_MOVL2.
        (rtype2howto): Similarly.
        (h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the
        existing relaxing code  and peform more relaxing.
        (h8300_reloc16_extra_cases): Likewise.
Simplify, cleanup, fix bugs and improve existing relaxing code.

Add code for changing a 24/32bit absolute address into a 16bit absolute
address.

HMSE.
1996-05-07 17:17:11 +00:00
Ian Lance Taylor
6648d3ae63 * config/obj-coff.c (yank_symbols): Check that FNAME_OFFSET is
non-zero before assuming this is a long file name.
	(w_strings): Likewise.
	(c_dot_file_symbol): Set FNAME_OFFSET to 1 for a long file name.

	* config/obj-coff.c (w_strings): Move declaration of i inside
	#ifdef block which uses it.
1996-05-07 15:34:25 +00:00
Jeff Law
6ac0dc6502 * internal.h (R_JMPL2): Renamed from R_JMPL_B8 to be
consistent with other similar relocs.
Cleaning up while working on HMSE.
1996-05-07 08:11:43 +00:00
Jeff Law
c47fc40136 * config/tc-h8300.c (do_a_fix_imm): Rename last argument to
"relaxmode".  Output relocs which identify various relaxing
        possibilities for mov.[bwl] instructions.
        (build_bytes): Pass in a relaxing mode to do_a_fix_imm.
So the linker can identify more potential relaxations.  HMSE.
1996-05-07 06:47:56 +00:00
Jeff Law
552c64ac4b * internal.h (H8/300 specific relocs): Add comments better
explaining what each reloc is used for.
        (R_MOV16B1, R_MOV16B2): Renamed from R_MOVB1 and R_MOVB2.
        (R_MOV24B1, R_MOV24B2): Renamed from R_MOVLB1 and R_MOVLB2.
        (R_MOVL1, R_MOVL2): New relocs.
More changes for the H8/300 relaxing linker.  HMSE.
1996-05-07 06:40:28 +00:00
Jeff Law
4015337ec7 * scripttempl/h8300h.sc: Use "eight", not "eightbit" for the
8-bit region and 8-bit sections.
HMSE.
1996-05-07 05:30:14 +00:00
Jeff Law
0dc70e1a36 * reloc16.c (bfd_coff_reloc16_get_value): Handle common
symbols correctly.
For the H8/300 relaxing linker.
1996-05-07 00:26:16 +00:00
David Edelsohn
9ea827436f * config/tc-arm.h (TC_HANDLES_FX_DONE): Define.
(MD_APPLY_FIX3): Define.
	* config/tc-arm.c (my_get_expression): Only watch for bad segments
	if OBJ_AOUT.
	(md_apply_fix3): Renamed from md_apply_fix.
	If pcrel reloc and symbol is in different section, undo effects
	of md_pcrel_from.
1996-05-06 22:30:52 +00:00
Stu Grossman
8fc2b4170d * fork-child.c (fork_inferior), inferior.h: init_trace_fun now
returns a possibly modified pid.
	* inftarg.c (ptrace_him):  Now returns pid;
	* m3-nat.c (m3_trace_him):  Now returns pid;
	* infcmd.c (run_command):  Minor cleanup.
	* infrun.c (wait_for_inferior):  Add another check for one_stepped
	near where we read the pc to avoid erroneously setting
	random_signal for multi-threaded support.
	* procfs.c:  Add support for Solaris LWPs.  Remove def of
	LOSING_POLL.  Many cleanups...  Several workarounds for Solaris
	lossage.  System call entry and exit are now handled by
	dynamically registered handlers.
	* (syscallname):  Don't barf when handed an unknown syscall
	number.
	* (info_proc_syscalls):  Ditto.
	* sol-thread.c:  New file.  Implements Solaris thread support.
	* symfile.c (symbol_file_add):  Add call to target_new_objfile to
	notify target-dependent code about new symbol tables.
	* (clear_symtab_users):  Call target_new_objfile to notify it of
	the removal of all symbol tables.
	* target.c (push_target):  Make sure that to_close is non-zero
	before calling it.
	* target.h (target_new_objfile):  Provide default.
	* config/alpha/nm-osf2.h:  Define LOSING_POLL because this version
	of OSF can't hack using poll with /proc.
	* config/sparc/nm-sun4sol2.h (target_new_objfile):  Define to be
	sol-thread-new-objfile.
	* config/sparc/sun4sol2.mh:  Add sol-thread.o to NATDEFFILES, and
	add libthread_db.so.1 to NAT_CLIBS.
	* config/sparc/tm-sun4sol2.h:  Define PIDGET, TIDGET, and
	target_pid_to_str.
1996-05-06 21:27:37 +00:00
Michael Meissner
1ed0c0e75d Fix INLN in bugapi to read a full line 1996-05-06 16:03:44 +00:00
Michael Meissner
8678180e14 Do not do XCOFF hoooks for ELF systems 1996-05-06 11:56:56 +00:00
Jeff Law
ab7db73b24 * config/tc-hppa.c (hppa_fix_adjustable): Don't adjust
any reloc with an LR% or RR% field selector for SOM.
Fixes net bug.
1996-05-04 18:46:43 +00:00
Ian Lance Taylor
c9324fcd24 * Makefile.in: Add subsegs.h to appropriate TARG_CPU_DEP_*
variables.
1996-05-04 18:27:15 +00:00
Peter Schauer
d1b8ccb09f * elfcode.h (elf_object_p): Reject generic ELF target if
e_machine matches an alternate machine code in a specific backend.

	* netbsd-core.c (netbsd_core_vec):  Remove initializer for
	obsolete align_power_min field.
1996-05-04 12:40:46 +00:00
Ian Lance Taylor
d4d7d98cbf * config/obj-coff.c (coff_frob_symbol): Don't merge a symbol with
SF_GET_STATICS set.
	(yank_symbols): Likewise.
1996-05-04 01:00:04 +00:00
Tom Tromey
8d1d94b6be * Makefile.in (all-inet): Depend on all-perl. 1996-05-04 00:08:15 +00:00
Tom Tromey
424c7ca7f9 * Makefile.in (inet-install): New target. 1996-05-03 23:33:33 +00:00
Stan Shebs
ec6239dcc2 * sim-gdb.exp: Make the SH simulator allocate less space when
it is targeted.
1996-05-03 23:05:32 +00:00
Michael Meissner
08dc78ad19 Make simulator build in a Canadian cross environment 1996-05-03 19:10:20 +00:00
Jeff Law
c9f5444e0a * coff-h8300.c (reloc_howto_type): Add howto entry for
R_PCRWORD_B.
        (rtype2howto): Handle R_PCRWORD_B.
        (h8300_reloc16_extra_cases): Handle R_PCRWORD_B.
        (h8300_reloc_16_estimate): Likewise.  Try to turn a 16bit
        pc-relative branch (R_PCRWORD) into an 8bit pc-relative
        branch (R_PCWORD_B).
So we can turn 16bit pcrel branches into 8bit pcrel branches on the H8/300H.
HMSE.
1996-05-03 19:07:31 +00:00
Jeff Law
b16619991b * internal.h (R_PCRWORD_B): Define for the h8300 relaxing
linker.
HMSE.
1996-05-03 18:57:49 +00:00
Ian Lance Taylor
f687b277ce * objdump.c (disassemble_data): Don't refer to bytes past the end
of data.
1996-05-03 18:31:00 +00:00
Ian Lance Taylor
340d654fd3 * aoutx.h (translate_from_native_sym_flags): Set the section for
BSF_CONSTRUCTOR symbols.
1996-05-03 17:58:30 +00:00
Ian Lance Taylor
4ad842aa28 * cofflink.c (_bfd_coff_link_input_bfd): Correct setting of
last_bf_index.
1996-05-03 17:48:41 +00:00
Tom Tromey
13d7cbe208 * Makefile.in (all-inet): Depend on all-tcl.
(all-inet): Depend on all-send-pr.
1996-05-03 16:44:22 +00:00
Stan Shebs
9e9cf82258 * gdbtk.tcl (debug_interface): New global, use to aid debugging.
(insert_breakpoint_tag, delete_breakpoint_tag): Fix range.
	(file_popup_menu): Delete, never used.
	(listing_window_popup): Rename from listing_window_button_1,
	remove breakpoint toggling code.
	(toggle_breakpoint): New procedure.
	(create_file_win): Bind popup menu to button 2, toggle breakpoints
 	with button 1 in breakpoint area, add display of tagged areas if
 	debugging on.
1996-05-03 02:28:13 +00:00
Jeff Law
e51481f967 * From Peter Schauer:
* breakpoint.h (enum bpdisp):  Add del_at_next_stop.
        * breakpoint.c (insert_breakpoints, watchpoint_check,
        bpstat_stop_status):  Avoid bad references to memory freed via
        delete_breakpoint on watchpoints going out of scope.
        Do not delete these watchpoints, disable them and change their
        disposition to del_at_next_stop instead.
        (breakpoint_auto_delete):  Delete all breakpoints whose disposition
        is del_at_next_stop.
        (breakpoint_init_inferior):  Use switch to avoid reference to
        already deleted breakpoint.
Fixes dangling pointer problems with watchpoints.
1996-05-02 18:43:28 +00:00
Jeff Law
d124785e82 * gdb.base/mips_pro.exp: Expect failure for hppa*-*-* in backtrace
test.
1996-05-02 18:28:53 +00:00
Ian Lance Taylor
ba97ba7e35 tweak last change 1996-05-02 03:11:26 +00:00
Ian Lance Taylor
9aac8e83a0 * coffcode.h (styp_to_sec_flags): Handle long symbol names
when looking for the section symbol.
1996-05-02 02:56:14 +00:00
David Edelsohn
9c7a574803 * coffcode.h (coff_write_object_contents): In comdat section lookup,
stop looking when section is found.
1996-05-02 02:41:20 +00:00
Ian Lance Taylor
7681eb9df7 * subsegs.h (segment_info_type): If MANY_SEGMENTS and not
BFD_ASSEMBLER, add name field.
	* config/obj-coff.c (coff_header_append): Handle long section
	names.
	(crawl_symbols): Just use the name field for the symbol name,
	without worrying about null byte termination.
	(w_strings): Handle long section names.
	(write_object_file): Likewise.  Also, use the name field, rather
	than scnhdr.s_name.
	(obj_coff_add_segment): Permit long section names.
	(obj_coff_init_stab_section): Use the name field, rather than
	scnhdr.s_name.
	(adjust_stab_section): Likewise.
	* config/te-pe.h (COFF_LONG_SECTION_NAMES): Define.
1996-05-02 02:32:52 +00:00
Ian Lance Taylor
e8f3bb64b5 * coffcode.h (STRING_SIZE_SIZE): Define.
(bfd_coff_backend_data): Add _bfd_coff_long_section_names field.
	(bfd_coff_long_section_names): Define.
	(coff_write_object_contents): Handle long section names.
	(bfd_coff_std_swap_table): Initialize new field.
	* libcoff.h: Rebuild.
	* coffgen.c (make_a_section_from_file): Handle long section
	names.
	(coff_write_symbols): Handle long section names.
	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
	* coff-mips.c (mips_ecoff_backend_data): Likewise.
	* pe-arm.c (COFF_LONG_SECTION_NAMES): Define.
	* pei-arm.c (COFF_LONG_SECTION_NAMES): Define.
	* pe-i386.c (COFF_LONG_SECTION_NAMES): Define.
	* pei-i386.c (COFF_LONG_SECTION_NAMES): Define.
	* pe-ppc.c (COFF_LONG_SECTION_NAMES): Define.
	* pei-ppc.c (COFF_LONG_SECTION_NAMES): Define.
1996-05-02 02:27:55 +00:00
Ian Lance Taylor
ae105b8e5a * internal.h (SCNNMLEN): Define.
(struct internal_scnhdr): Use SCNNMLEN for s_name field.
1996-05-02 02:21:29 +00:00
Fred Fish
062cb0d30d * Makefile.in (rs6000-nat.o): Dependant on xcoffsolib.h.
* config/rs6000/rs6000.mh (NATDEPFILES): Move xcoffread.o ...
	* config/rs6000/rs6000.mt (TDEPFILES): ... to here
	* xcoffsolib.c (xcoff_relocate_symtab_hook): Define and initialize.
	(solib_info): Call xcoff_relocate_symtab via the hook.
	(sharedlibrary_command): Ditto.
	* xcoffread.c: Remove all FAKING_RS6000 comments and defines.
	(xcoff_add_toc_to_loadinfo_hook): Define and initialize here.
	(xcoff_init_loadinfo_hook): Define and initialize here.
	(scan_xcoff_symtab): Call xcoff_add_toc_to_loadinfo via the hook.
	(xcoff_initial_scan): Call xcoff_init_loadinfo via the hook.
	* xcoffsolib.h (xcoff_relocate_symtab_hook): Declare extern func.
	* rs6000-tdep.c (_initialize_rs6000_tdep): Add initializations
	of xcoff_add_toc_to_loadinfo_hook and xcoff_init_loadinfo_hook.
	* rs6000-nat.c (_initialize_core_rs6000): Add initialization
	of xcoff_relocate_symtab_hook.
1996-05-02 01:32:41 +00:00
David Edelsohn
0a0d1bdd6e * ldlang.c (section_already_linked): Fix typos. 1996-05-02 00:51:15 +00:00
Ian Lance Taylor
622c93a360 * bout.c (b_out_callback): Set lma of sections.
(b_out_bfd_get_relocated_section_contents): Rename in_abfd
	parameter to output_bfd.  Used input_bfd instead of output_bfd in
	several places.
1996-05-01 21:22:28 +00:00
Ian Lance Taylor
8fe2ec52ee * config/tc-i960.c (brtab_emit): Don't set fx_im_disp field.
(mem_fmt): Likewise.
	(md_apply_fix): Don't check fx_im_disp field.
Fixes problem introduced by September 5, 1995 change to fx_im_disp
definition.
1996-05-01 20:40:16 +00:00
Ian Lance Taylor
b4c22ad0df * i386.h: Remove Abs32 from lcall. 1996-05-01 01:38:55 +00:00
Ian Lance Taylor
b7d1158a90 * aoutx.h (translate_from_native_sym_flags): Don't create
SEC_CONSTRUCTOR sections.
	* ecoff.c (ecoff_set_symbol_info): Likewise.
1996-05-01 01:01:50 +00:00
Ian Lance Taylor
6b725f83fa * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp.
From Don Bowman <bowman@waterloo.hp.com>.
1996-05-01 00:57:36 +00:00
David Edelsohn
e28a1e7729 * coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, add
SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
1996-05-01 00:08:41 +00:00
Michael Meissner
a72d2509c2 Work in a cross compile environment 1996-04-30 22:50:22 +00:00
Michael Meissner
2f14f78103 Turn off tk/tcl for powerpcle-*-solaris for now 1996-04-30 17:56:51 +00:00
Michael Meissner
fe8d28cfc1 Add bieginning of Solaris/PowerPC support 1996-04-30 17:23:41 +00:00
David Edelsohn
f2618f8252 * scripttempl/pe.sc (.endjunk): Define __end__. 1996-04-30 03:33:23 +00:00
Dawn Perchik
aad0977925 * c-valprint.c (c_val_print): Fix printing for arrays defined
with 0 length.
1996-04-29 23:25:27 +00:00
Ian Lance Taylor
0cacbcbe6e * ldlang.c (longest_section_name): Remove.
(SECTION_NAME_MAP_LENGTH): Define.
	(print_size, print_alignment, print_fill, print_section): Remove.
	(print_flags): Remove.
	(lang_map): Rewrite.
	(print_output_section_statement): Rewrite.
	(print_assignment): Rewrite.
	(print_one_symbol): Rewrite.
	(print_input_section): Rewrite.
	(print_fill_statement): Rewrite.
	(print_data_statement): Rewrite.
	(print_address_statement): New static function.
	(print_reloc_statement): Rewrite.
	(print_padding_statement): Rewrite.
	(print_wild_statement): Rewrite.
	(print_statement_list): Clean up.
	(print_statement): Clean up.  Some minor output changes.
	(print_statements): Clean up.
	(load_symbols): Put another - before -whole-archive.
	* ldexp.c (exp_print_tree): Change etree_value and etree_rel to
	print 0x and to omit leading zeroes.  For etree_rel, use %B to
	print the BFD.  For etree_assign, remove the space after the
	destination name.
	* ldwrite.c: Include "libiberty.h".
	(clone_section): Call xstrdup, not strdup.
	(ldwrite): Don't print any map information.
	(print_symbol_table, print_file_stuff, print_symbol): Remove.
	* ldmain.c (main): Call lang_map when appropriate.
	* ldmisc.c (vfinfo): Add support for %W.
	(print_address): Remove.
	* ldmisc.h (print_address): Don't declare.
	* Makefile.in: Rebuild dependencies.
1996-04-29 21:12:49 +00:00