* ldlex.l: Recognize OVERLAY.
* ldgram.y: Add section_phdr field to %union.
(section): Handle phdr_opt result. Add OVERLAY case.
(opt_exp_without_type): New nonterminal.
(phdr_opt): Return list of phdrs.
(overlay_section): New nonterminal.
* ldlang.c: Include <ctype.h>.
(lang_leave_output_section_statement): Add phdrs parameter.
Change all callers.
(lang_section_in_phdr): Remove.
(overlay_vma, overlay_lmn, overlay_max): New static variables.
(struct overlay_list): Define.
(overlay_list): New static variable.
(lang_enter_overlay, lang_enter_overlay_section): New functions.
(lang_leave_overlay_section, lang_leave_overlay): New functions.
* ldlang.h (lang_leave_output_section_statement): Update
declaration for new parameter.
(lang_section_in_phdr): Don't declare.
(lang_enter_overlay, lang_enter_overlay_section): Declare.
(lang_leave_overlay_section, lang_leave_overlay): Declare.
* ld.texinfo (Overlays): New node under SECTIONS, documenting
overlays.
* ldlex.l: Recognize MAX and MIN.
* ldgram.y (MAX, MIN): New terminals.
(exp): Recognize MAX and MIN.
* ldexp.c (fold_binary): Handle MAX and MIN.
* ld.texinfo (Arithmetic Functions): Document MAX and MIN.
* ld.texinfo (PHDRS): Use @cindex, not @kindex, for program header
index entries.
* elf.c (map_sections_to_segments): Rewrite tests for starting a
new segment to make them more comprehensible. If the relationship
between the LMA and the VMA changed, start a new segment. Don't
check dynsec when deciding whether to start a new segment for a
writeable section; -N will now handle this.
Jeff Law [Fri, 2 Aug 1996 04:50:08 +0000 (04:50 +0000)]
* libhppa.h: Remove "esel" changes. Not the right approach.
* som.c: Corresponding changes.
(som_bfd_derive_misc_symbol_info): Use ST_DATA for symbols
which don't have a SOM symbol type associated with them.
Reverses a 1994 change.
More PA EH tweakage (to get exception handling tables properly relocated
in shared libraries).
Tom Tromey [Fri, 2 Aug 1996 02:43:27 +0000 (02:43 +0000)]
changes for new tcl/tk:
* gdbtk.c (mainWindow): Deleted.
(cleanup_init): Don't destroy main window.
(gdbtk_init): Main window now created by Tk_Init.
* configure.in: Most X checks now handled automatically by Tk.
Use new macros to find Tcl/Tk.
* aclocal.m4: New version for new Tcl/Tk; from Don Libes.
* config.in, configure: Regenerated.
* Makefile.in (TCL, TCL_CFLAGS, TK, TK_CFLAGS, X11_CFLAGS,
X11_LDFLAGS, X11_LIBS): Changed for new Tcl and Tk.
* ld.h (check_nocrossrefs): Declare.
* ldlang.h (struct lang_nocrossref): Define.
(struct lang_nocrossrefs): Define.
(nocrossref_list): Declare.
(lang_add_nocrossref): Declare.
* ldlex.l: Recognize NOCROSSREFS keyword.
* ldgram.y (%union): Add nocrossref field.
(NOCROSSREFS): New terminal.
(ifile_p1): Recognize NOCROSSREFS.
(nocrossref_list): New nonterminal.
* ldlang.c (nocrossref_list): Define.
(lang_add_nocrossref): New function.
* ldmain.c (main): If nocrossref_list is not NULL, call
check_nocrossrefs.
(warning_callback): Free symbols if there is no place to store
them.
(notice): Call add_cref if nocrossref_list is not NULL.
* ldcref.c: Include "ldexp.h" and "ldlang.h".
(check_nocrossrefs): New function.
(check_nocrossref): New static function.
(struct check_refs_info): Define.
(check_refs, check_reloc_refs): New static functions.
* Makefile.in: Rebuild dependencies.
* ld.texinfo (Option Commands): Document NOCROSSREFS.
Fred Fish [Thu, 1 Aug 1996 17:30:37 +0000 (17:30 +0000)]
* config/mips/tm-mips.h (TM_MIPS_H): Enclose file contents in
this, define when contents are included.
(mips_read_processor_type): Add prototype.
* config/mips/xm-mips.h: Remove strdup decl, now in gdb_string.h
* mdebugread.c (ecoff_relocate_efi): Add prototype.
(fixup_sigtramp): Only needed when TM_MIPS_H is defined.
* ld.texinfo (Section Placement): Improve the wording of the
wildcard documentation. Mention that wildcards are only searched
for on the command line, not in the file system.
Fred Fish [Thu, 1 Aug 1996 05:25:23 +0000 (05:25 +0000)]
* rs6000-nat.c (add_vmap): Return 0 to caller rather than random value.
(vmap_ldinfo): Ensure got_exec_file is not used uninitialized.
(fetch_core_registers): Add prototype.
(vmap_symtab): Ditto.
(objfile_symbol_add): Ditto.
(add_vmap): Ditto.
(vmap_ldinfo): Ditto.
(vmap_exec): Ditto.
Ian Lance Taylor [Wed, 31 Jul 1996 19:58:05 +0000 (19:58 +0000)]
Make ld -N more reasonable for ELF:
* elf.c (map_sections_to_segments): If D_PAGED is not set, set
phdr_in_section to false, and always use a single load segment.
(elf_sort_sections): Sort sections by LMA after VMA.
(assign_file_positions_for_segments): If D_PAGED is not set, don't
align to maxpagesize.
(assign_file_positions_except_relocs): Likewise.
* elfcode.h (elf_object_p): If a section is loaded but not page
aligned, clear D_PAGED.
* config/tc-arm.c: Changed INSN_SIZE to variable insn_size, as
pre-cursor to adding Thumb support. Also added cpu_variant flag
information to each of the asm_flg structures.
(md_parse_option): Updated ARM7 parsing to allow 't' for
thumb/halfword support, aswell as 'm' for long multiply.
(md_show_usage): Updated help message.
(md_assemble): Check that instruction flags are applicated to the
current cpu variant.
(md_apply_fix3, tc_gen_reloc): Add BFD_RELOC_ARM_OFFSET_IMM8 and
BFD_RELOC_ARM_HWLITERAL relocation support for new halfword and
signextension instructions.
(do_ldst): Generate halfword and signextension variants if
mnemonic flags match.
(ldst_extend): Do not allow shifts in the offset field of halfword
or signextension instructions.
(validate_offset_imm): Provide check on halfword and signextension
immediate range.
(add_to_lit_pool): Merge identical literal pool values.
* arm-opc.h: (arm_opcodes): Added halfword and sign-extension
memory transfer instructions. Add new format string entries %h and %s.
* arm-dis.c: (print_insn_arm): Provide decoding of the new
formats %h and %s.
Jeff Law [Tue, 30 Jul 1996 20:30:49 +0000 (20:30 +0000)]
* config/tc-hppa.c (selector_table): Add 'E' selector.
(cons_fix_new_hppa): Don't coke on e_esel.
(tc_gen_reloc, SOM version): Handle R_COMP2 when used
to help generate exception handling tables.
(md_apply_fix): Don't try to apply fixups with an e_esel
selector.
(hppa_fix_adjustable): Fixups with e_esel selectors
are not adjustable.
Another stab at EH on the PA.
Jeff Law [Tue, 30 Jul 1996 20:16:27 +0000 (20:16 +0000)]
* libhppa.h (R_HPPA_ESEL): New field selector.
(e_esel): Similarly.
* som.c (hppa_som_gen_reloc_type): If we encounter an e_esel,
then generate R_COMP2 (PUSH_SYM), R_DATA_EXPR fixup stream.
(som_write_fixups): Handle R_DATA_EXPR just like R_CODE_EXPR.
Making another stab at EH support on the PA.
Fred Fish [Tue, 30 Jul 1996 07:24:22 +0000 (07:24 +0000)]
* rs6000-tdep.c (push_arguments): Remove unused variable "pc".
(branch_dest): Remove unused variable "offset".
(pop_dummy_frame): Add prototype and make static.
(push_arguments): Guard against using len uninitialized.
(push_arguments): Guard against using arg uninitialized.
(frame_saved_pc): Remove unused variable "frameless".
(free_loadinfo): Ifdef out unused function.
Fred Fish [Tue, 30 Jul 1996 06:50:23 +0000 (06:50 +0000)]
* xcoffread.c (compare_lte): Change prototype and function to
be correct type for passing to qsort.
(add_stab_to_list): Ifdef out unused function and prototype.
(compare_lte): Add prototype
(arrange_linetable): Ditto.
(record_include_begin): Ditto.
(record_include_end): Ditto.
(process_linenos): Ditto.
(xcoff_next_symbol_text): Ditto.
(scan_xcoff_symtab): Ditto.
(xcoff_initial_scan): Ditto.
Fred Fish [Tue, 30 Jul 1996 06:15:13 +0000 (06:15 +0000)]
* mips-tdep.c (mips_read_processor_type): Add parens around
bitwise-and operands in comparison; previous expression always
evaluated to 0 because of equality comparison of two constants.
Ian Lance Taylor [Mon, 29 Jul 1996 21:33:26 +0000 (21:33 +0000)]
* fnmatch.h, fnmatch.c: New files.
* ldlex.l: Remove unused definition of FILENAME. Add definition
of WILDCHAR. In SCRIPT mode, accept any sequence of WILDCHAR as a
NAME.
* ldgram.y (file_NAME_list): Accept '*' and '?' specially.
(input_section_spec): Accept '?' specially.
(statement): Change exp to mustbe_exp in length and FILL cases.
(section): Call ldlex_script before section statements, and call
ldlex_popstate after them.
* ldlang.c: Include "fnmatch.h".
(wildcardp): New static function.
(wild_section): Permit the section name to be a wildcard.
(wild_file): New static function, broken out of wild.
(wild): Call wild_file. Permit the file name to be a wildcard.
(open_input_bfds): Don't call lookup_name for a wildcard pattern.
* Makefile.in: Rebuild dependencies.
(CFILES): Add fnmatch.c.
(HFILES): Add fnmatch.h.
(OFILES): Add fnmatch.o.
* ld.texinfo: Document that file and section names can now be
wildcard patterns.
* ldlang.c (lang_place_orphans): Correct condition: place a common
section if not relocateable or if common definitions are forced.
Ian Lance Taylor [Fri, 26 Jul 1996 18:06:35 +0000 (18:06 +0000)]
* alpha-dis.c (print_insn_alpha_osf): Remove.
(print_insn_alpha_vms): Remove.
(print_insn_alpha): Make globally visible. Chose the register
names based on info->flavour.
* disassemble.c: Always return print_insn_alpha for the alpha.
Fred Fish [Fri, 26 Jul 1996 05:05:35 +0000 (05:05 +0000)]
* libiberty.h (PRIVATE_XMALLOC): Enclose xmalloc/xrealloc
definitions inside #ifndef so that programs that want to
can define PRIVATE_XMALLOC and then define xmalloc and
xrealloc anyway they want.
(basename): Document in source that we can't declare
the parameter type because it is declared inconsistently across
different systems.
for details about these changes. I was going to include the complete
entry in the checkin message but it was apparently so large it caused
cvs to dump core.
* d10v-opc.c: Changes to support signed and unsigned numbers.
All instructions with the same name that have long and short forms
now end in ".l" or ".s". Divs added.
* d10v-dis.c: Changes to support signed and unsigned numbers.
* tc-d10v.c: Fix packaging bug. Added range checking.
Added kludge for divs instruction. Fixed minor problem with
multiple text sections.
* tc-d10v.h (d10v_cleanup): Change prototype.
* config/tc-d10v.c: Fix packaging bug. Added range checking.
Added kludge for divs instruction. Fixed minor problem with
multiple text sections.
* config/tc-d10v.h (d10v_cleanup): Change prototype.
Ian Lance Taylor [Wed, 24 Jul 1996 16:05:32 +0000 (16:05 +0000)]
* elf.c (assign_file_positions_for_segments): Track the virtual
memory position separately from the file position, and use it to
compute the alignment adjustment.
PR 10039.