Ian Lance Taylor [Sat, 12 Jun 1999 13:06:26 +0000 (13:06 +0000)]
1999-06-12 David O'Brien <obrien@freebsd.org>
* config.bfd (alpha*-*-freebsd*): New target.
(i[3456]86-*-freebsd*): Now defaults to ELF.
Ian Lance Taylor [Sat, 12 Jun 1999 10:47:08 +0000 (10:47 +0000)]
* ld-scripts/phdrs.exp: Change target check from "*-*-linuxaout*"
to "*-*-linux*aout*".
* ld-scripts/weak.exp: Likewise.
* ld-shared/shared.exp: Likewise. Simplify condition a bit.
Ian Lance Taylor [Sat, 12 Jun 1999 10:43:43 +0000 (10:43 +0000)]
* gas/elf/elf.exp: Don't run tests on "*-*-linux*aout*" or
"*-*-linux*oldld*".
* gas/vtable/vtable.exp: Likewise.
* gas/i386/reloc.d: Modify expected reloc names to accept a.out
names.
Ian Lance Taylor [Sat, 12 Jun 1999 10:11:02 +0000 (10:11 +0000)]
* Makefile.in: (taz): Don't use texinfo/gpl.texinfo or
texinfo/lgpl.texinfo.
Ian Lance Taylor [Sat, 12 Jun 1999 10:04:11 +0000 (10:04 +0000)]
* Makefile.in: Change distribution targets to use bzip2 instead of
gzip.
(TEXINFO_SUPPORT): Set to just texinfo/texinfo.tex.
Ian Lance Taylor [Sat, 12 Jun 1999 09:59:55 +0000 (09:59 +0000)]
add texinfo.tex
Ian Lance Taylor [Sat, 12 Jun 1999 08:53:18 +0000 (08:53 +0000)]
* dwarf2dbg.c: Include elf/dwarf2.h with "", not <>.
* Makefile.am: Rebuild dependencies.
* Makefile.in: Rebuild.
Ian Lance Taylor [Sat, 12 Jun 1999 08:48:00 +0000 (08:48 +0000)]
fix copyrights
Ian Lance Taylor [Fri, 11 Jun 1999 21:07:46 +0000 (21:07 +0000)]
* struc-symbol.h: Put local_symbol code in ifdef BFD_ASSEMBLER.
* symbols.c: Likewise.
* config/obj-aout.c (obj_crawl_symbol_chain): Refer directly to
sy_next field when taking address, rather than symbol_next.
Ian Lance Taylor [Fri, 11 Jun 1999 21:07:03 +0000 (21:07 +0000)]
* config/tc-i386.c (i386_immediate): Remove unused label
seg_unimplemented.
Ian Lance Taylor [Fri, 11 Jun 1999 21:06:44 +0000 (21:06 +0000)]
* dwarf2dbg.c: Change bfd_vma to addressT and bfd_signed_vma to
offsetT.
(out_set_addr): Don't use BYTES_PER_ADDRESS. Instead, get the
value from the output file architecture.
(dwarf2_gen_line_info): Ifdef BFD_ASSEMBLER specific code.
* dwarf2dbg.h: Change bfd_vma to addressT.
Ian Lance Taylor [Fri, 11 Jun 1999 21:02:59 +0000 (21:02 +0000)]
* gas/i386/amd.s: Add a symbol so a.out tests will work.
* gas/i386/katmai.s: Likewise.
* gas/i386/amd.d: Corresponding change.
* gas/i386/katmai.d: Corresponding change.
Ian Lance Taylor [Fri, 11 Jun 1999 20:29:31 +0000 (20:29 +0000)]
* dwarf2dbg.h: Use PARAMS in function declarations.
Ian Lance Taylor [Fri, 11 Jun 1999 20:23:58 +0000 (20:23 +0000)]
* reloc.c (_bfd_relocate_contents): Permit bitfield relocations to
wrap if the relocation covers the high bit of an address.
Ian Lance Taylor [Fri, 11 Jun 1999 19:03:06 +0000 (19:03 +0000)]
1999-06-11 Martin Dorey <mdorey@madge.com>
* write.c (fixup_segment): Don't add symbol value for i960 ELF.
* config/tc-i960.c (s_leafproc): Don't call tc_set_bal_of_cal if
OBJ_ELF.
(md_apply_fix): Simplify BFD_ASSEMBLER handling.
Ian Lance Taylor [Thu, 10 Jun 1999 21:47:35 +0000 (21:47 +0000)]
* config/tc-i386.c (md_apply_fix3): Add default case to switch.
Ian Lance Taylor [Thu, 10 Jun 1999 21:45:36 +0000 (21:45 +0000)]
* config/tc-sparc.c (md_pseudo_table): Remove pushsection and
popsection.
Ian Lance Taylor [Thu, 10 Jun 1999 21:43:24 +0000 (21:43 +0000)]
* config/tc-sparc.c (sparc_ip): Add default case to reloc switch.
Ian Lance Taylor [Thu, 10 Jun 1999 21:36:37 +0000 (21:36 +0000)]
* read.c (read_a_source_file): Only declare inescape if
QUOTES_IN_INSN.
Ian Lance Taylor [Thu, 10 Jun 1999 21:35:32 +0000 (21:35 +0000)]
* itbl-ops.c (itbl_disassemble): Change sprintf format strings to
match parameters.
(find_entry_byval): Add parens to avoid warning.
Ian Lance Taylor [Thu, 10 Jun 1999 21:35:13 +0000 (21:35 +0000)]
* as.c: If HAVE_ITBL_CPU, include "itbl-ops.h".
Ian Lance Taylor [Thu, 10 Jun 1999 21:28:56 +0000 (21:28 +0000)]
* dwarf2.c (decode_line_info): Remove unused variable first_time.
Ian Lance Taylor [Thu, 10 Jun 1999 21:26:10 +0000 (21:26 +0000)]
* symbols.c (resolve_symbol_value): Don't permit subtraction of
undefined symbols.
Ian Lance Taylor [Thu, 10 Jun 1999 21:15:05 +0000 (21:15 +0000)]
* gas/mips/sync.d: Pass -mips2 to the assembler.
* gas/mips/elf_e_flags.s: Tweak code so that the tests pass for
mips-elf target as well as mips64-elf target.
* gas/mips/elf_e_flags1.d: Corresponding changes.
* gas/mips/elf_e_flags2.d: Likewise.
* gas/mips/elf_e_flags3.d: Likewise.
* gas/mips/elf_e_flags4.d: Likewise.
* gas/elf/elf.exp: Add setup_xfail for mips*-*-*.
* gas/all/itbl-test.c (main): Update itbl_get_reg_val call for new
parameter.
Richard Henderson [Thu, 10 Jun 1999 21:11:39 +0000 (21:11 +0000)]
Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (sparc_ip): Don't use side-effect expression
with isoctal.
* config/tc-sparc.c (synthetize_setuw, synthetize_setsw,
synthetize_setx): New functions.
(md_assemble): Broken the special cases into the above
functions. Make compiler happy if sizeof(bfd_vma)==4.
Fix sethi generated from set/setuw. If instructions have a relloc,
always clear the fields to be relocated in the opcode.
(sparc_ip): Remove special_case global variable.
Richard Henderson [Thu, 10 Jun 1999 21:08:10 +0000 (21:08 +0000)]
Jakub Jelinek <jj@ultra.linux.cz>
* gas/sparc/synth64.s: Add checks for single register signx/clruw.
* gas/sparc/set64.s: Add tests for setuw and setsw synthetic insns.
* gas/sparc/prefetch.d: Add -64 as switch.
* gas/sparc/rdpr.d: Ditto.
* gas/sparc/wrpr.d: Ditto.
* gas/sparc/synth64.d: Ditto, reflect synth64.s changes.
* gas/sparc/reloc64.d: Add -64 as switch, be more tolerant, as
current gas outputs %hi(0) and not %hi(0x0).
* gas/sparc/set64.d: Add -64 as switch, reflect set64.s changes and
optimizations for setx instruction.
* gas/sparc/sparc.exp: Do sparc64*-*-* checks if it is any of the
compiled-in targets.
Richard Henderson [Thu, 10 Jun 1999 21:00:53 +0000 (21:00 +0000)]
Jakub Jelinek <jj@ultra.linux.cz>
* sparc.h (R_SPARC_max_std): Define.
Richard Henderson [Thu, 10 Jun 1999 20:59:54 +0000 (20:59 +0000)]
Jakub Jelinek <jj@ultra.linux.cz>
* elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std
instead of R_SPARC_max.
(sparc64_elf_info_to_howto): Likewise.
* elf32_sparc.c (elf32_sparc_relocate_section): Likewise.
(elf32_sparc_info_to_howto): Likewise; handle vtable relocations.
Ian Lance Taylor [Thu, 10 Jun 1999 20:35:50 +0000 (20:35 +0000)]
Based on patches from John W. Woznack <jwoznack@concentric.net>:
* itbl-ops.c (itbl_get_reg_val): Add pval parameter. Return
indication of success rather than a value.
(itbl_get_val): Likewise.
(itbl_get_field): Use strcspn. Change delimiters to include
parens.
* itbl-ops.h (itbl_get_reg_val): Update declaration.
(itbl_get_val): Likewise.
* config/tc-mips.c (mips_ip): Update call to itbl_get_reg_val.
Ian Lance Taylor [Thu, 10 Jun 1999 14:45:58 +0000 (14:45 +0000)]
* symbols.c (copy_symbol_attributes): Convert local symbols to
regular symbols.
Richard Henderson [Thu, 10 Jun 1999 13:48:44 +0000 (13:48 +0000)]
* gas/macros/irp.s: Use `foo' and `bar' instead of `r' and `s'.
* gas/macros/rept.s, gas/macros/test2.s, gas/macros/test3.s: Likewise.
* gas/macros/{irp,rept,test2,test3}.d: Update.
Nick Clifton [Thu, 10 Jun 1999 01:59:33 +0000 (01:59 +0000)]
Add support for ARM920 and ARM920t
Nick Clifton [Thu, 10 Jun 1999 01:20:33 +0000 (01:20 +0000)]
Updated to match latest output.
Jeff Law [Wed, 9 Jun 1999 14:22:08 +0000 (14:22 +0000)]
è
* hppa.h: Update with various changes from newest PA ELF
specifications.
Jeff Law [Wed, 9 Jun 1999 14:22:07 +0000 (14:22 +0000)]
.
* hppa.h: Update with various changes from newest PA ELF
specifications.
Nick Clifton [Wed, 9 Jun 1999 05:35:55 +0000 (05:35 +0000)]
restore previous format of --help output
Andreas Schwab [Wed, 9 Jun 1999 03:04:03 +0000 (03:04 +0000)]
* ld-cdtest/cdtest-main.cc: Avoid `implicit int' warning.
* ld-shared/sh1.c: Fix typo.
Andreas Schwab [Wed, 9 Jun 1999 03:01:26 +0000 (03:01 +0000)]
* binutils-all/objdump.exp: Tighten regexp to match `objdump -i'
output to avoid massive exponential behaviour.
Andreas Schwab [Wed, 9 Jun 1999 02:44:17 +0000 (02:44 +0000)]
* readelf.c (dump_section): Cast bfd_vma values to [unsigned] long
for printing, in case it is wider than long.
(display_block): Likewise.
(read_and_display_attr): Likewise.
(decode_location_expression): Likewise. Don't depend on
evaluation order.
Jason Molenda [Tue, 8 Jun 1999 02:18:01 +0000 (02:18 +0000)]
import gdb-1999-06-07 snapshot
Richard Henderson [Mon, 7 Jun 1999 23:22:00 +0000 (23:22 +0000)]
* section.c (_bfd_strip_section_from_output): Remove output
sections with no initial link_order.
Jason Molenda [Mon, 7 Jun 1999 19:19:32 +0000 (19:19 +0000)]
import gdb-1999-06-07 snapshot
Richard Henderson [Mon, 7 Jun 1999 12:54:17 +0000 (12:54 +0000)]
Typo.
Richard Henderson [Mon, 7 Jun 1999 12:53:56 +0000 (12:53 +0000)]
Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (md_assemble): Fix up setx, support setsw.
Optimize set if sizeof(bfd_vma) == 64.
(sparc_ip): Fix sethi - without %hi() it should generate
R_SPARC_32 reloc, not R_SPARC_HI22.
(tc_gen_reloc): Handle BFD_RELOC_SPARC22.
Richard Henderson [Mon, 7 Jun 1999 12:44:48 +0000 (12:44 +0000)]
Jakub Jelinek <jj@ultra.linux.cz>
* sparc-opc.c: Fix up set, setsw, setuw operand kinds.
Support signx %reg, clruw %reg.
Richard Henderson [Mon, 7 Jun 1999 12:40:36 +0000 (12:40 +0000)]
Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (md_begin): Handle native wordsize aliases.
(s_ncons): New function.
(native_op_table): New table.
(sparc_ip): Be more strict on %hi() etc.; prepare assembler for
R_SPARC_OLO10 handling.
Richard Henderson [Mon, 7 Jun 1999 12:26:46 +0000 (12:26 +0000)]
Jakub Jelinek <jj@ultra.linux.cz>
* sparc-opc.c: Add aliases Solaris as supports.
Nick Clifton [Mon, 7 Jun 1999 10:27:21 +0000 (10:27 +0000)]
Define ELF_MAXPAGESIZE
Richard Henderson [Mon, 7 Jun 1999 10:23:47 +0000 (10:23 +0000)]
* expr.h (struct expressionS): Revert last change; widen X_op.
* config/tc-alpha.c (md_begin): Check the field is wide enough.
Andreas Schwab [Mon, 7 Jun 1999 03:16:55 +0000 (03:16 +0000)]
* windres.c (usage): Fix typo.
Andreas Schwab [Mon, 7 Jun 1999 03:06:39 +0000 (03:06 +0000)]
* Makefile.am (CFILES): Add arc-{dis,opc}.c and v850-{dis,opc}.c.
* Makefile.in: Regenerated.
Andreas Schwab [Mon, 7 Jun 1999 02:58:53 +0000 (02:58 +0000)]
* Makefile.am (TARGET_CPU_CFILES): Add config/tc-fr30.c.
(TARGET_CPU_HFILES): Add config/tc-fr30.h.
(TARG_ENV_HFILES): Add config/te-epoc-pe.h.
* Makefile.in: Regenerated.
Andreas Schwab [Mon, 7 Jun 1999 02:51:40 +0000 (02:51 +0000)]
* Makefile.am (SOURCE_HFILES): Add missing headers.
* Makefile.in: Regenerated.
Andreas Schwab [Mon, 7 Jun 1999 02:28:54 +0000 (02:28 +0000)]
* config/obj-elf.c (obj_elf_common): In MRI mode if called as
`common' pass on to s_mri_common.
(elf_pseudo_table): Pass 1 to obj_elf_common for `common'.
Mark Mitchell [Sun, 6 Jun 1999 22:31:46 +0000 (22:31 +0000)]
* elf32-mips.c (_bfd_mips_elf_print_private_data): Recognize
the N32 ABI.
Richard Henderson [Sun, 6 Jun 1999 00:09:50 +0000 (00:09 +0000)]
* config/obj-elf.c (obj_elf_section): Don't free the return
value of demand_copy_C_string.
Richard Henderson [Sat, 5 Jun 1999 23:15:34 +0000 (23:15 +0000)]
* dwarf2dbg.c (dwarf2_gen_line_info): Mirror the section symbol
creation logic from obj_elf_create_section.
* config/obj-elf.c (elf_pseudo_tab): Add pushsection/popsection.
(section_stack): New.
(special_sections): Make const.
(obj_elf_section): Gut and rewrite parsing.
(obj_elf_change_section): New function broken out of obj_elf_section.
(obj_elf_parse_section_letters): Likewise.
(obj_elf_section_word): Likewise.
(obj_elf_section_type): Likewise.
(obj_elf_previous): Treat as a toggle.
(obj_elf_popsection): New.
* config/tc-ppc.c (ppc_section_word): Take str+len not ptr_str.
(ppc_section_type): Likewise.
* config/tc-ppc.h: Likewise.
* expr.h (struct expressionS): Don't make X_op a bitfield.
* config/tc-alpha.c: Update for symbol handling changes.
(md_apply_fix) [case GPREL]: Use now_seg instead of absolute_section.
(load_expression, emit_ir_load, emit_loadstore, emit_jsrjmp): Likewise.
Richard Henderson [Sat, 5 Jun 1999 23:14:42 +0000 (23:14 +0000)]
* gas/elf/elf.exp: New directory.
* gas/elf/section0.[sd]: New test.
* gas/elf/section1.[sd]: New test.
Richard Henderson [Sat, 5 Jun 1999 18:19:09 +0000 (18:19 +0000)]
* dwarf2dbg.c (*): Convert to K&R + prototypes.
(dwarf2_gen_line_info): Kill unused variables.
(dwarf2_finish): Likewise.
(dwarf2_where): Likewise.
(dwarf2_directive_file): If we've only got a string,
hand off to s_app_file.
* ecoff.c: Move the include of ecoff.h.
* symbols.h (S_IS_FUNCTION): Prototype.
* read.c (LEX_HASH): Supply a default.
(lex_type): Use it.
(s_globl): Update `c' after skipping whitespace.
* read.h (LEX_END_NAME, is_name_ender): New.
* expr.c (get_symbol_end): Respect it.
Ian Lance Taylor [Fri, 4 Jun 1999 21:08:54 +0000 (21:08 +0000)]
1999-06-04 Mark Klein <mklein@dis.com>
* config/tc-hppa.c (md_begin): Convert local symbol dummy_symbol
to real if OBJ_SOM
(tc_gen_reloc): Still need bfd_abs_symbol in some relocs.
Ian Lance Taylor [Fri, 4 Jun 1999 20:49:14 +0000 (20:49 +0000)]
1999-06-04 H.J. Lu <hjl@gnu.org>
* lib/ld-lib.exp (default_ld_nm): Clear nm_output first if
necessary.
Richard Henderson [Fri, 4 Jun 1999 13:25:23 +0000 (13:25 +0000)]
Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* elf32-ppc.c (ppc_elf_relocate_section): Don't barf on out of
range undefweak symbols.
* hash.c: Add missing comma after @xref{}
* linker.c: Likewise.
Nick Clifton [Fri, 4 Jun 1999 12:45:07 +0000 (12:45 +0000)]
Define ELF_MAXPAGESIZE for all ELF based ports.
Produce an error message of ELF_MAXPAGESIZE is not defined.
Ian Lance Taylor [Fri, 4 Jun 1999 12:00:31 +0000 (12:00 +0000)]
* Makefile.am: Rebuild dependencies.
(BFD32_BACKENDS): Add dwarf1.lo.
(BFD32_BACKENDS_CFILES): Add dwarf1.c.
* Makefile.in: Rebuild.
Nick Clifton [Fri, 4 Jun 1999 11:33:32 +0000 (11:33 +0000)]
Use 64bit wide values in internal fields.
Check symbol index against number of symbols when displaying relocations
Ian Lance Taylor [Fri, 4 Jun 1999 10:46:25 +0000 (10:46 +0000)]
1999-06-04 Mark Klein <mklein@dis.com>
* config/tc-hppa.c: Update for symbol handling changes.
Nick Clifton [Fri, 4 Jun 1999 08:13:04 +0000 (08:13 +0000)]
Add support for 64 bit ELF files.
Nick Clifton [Fri, 4 Jun 1999 07:42:55 +0000 (07:42 +0000)]
oops - omitted from previous delta
Nick Clifton [Fri, 4 Jun 1999 07:40:35 +0000 (07:40 +0000)]
Rename epoc-pe interworking function names to avoid a name space clash
Nick Clifton [Fri, 4 Jun 1999 07:39:48 +0000 (07:39 +0000)]
Rename epoc-pe interworking function names to avoid a name space clash.
Add epoc-pe to built targets.
Nick Clifton [Fri, 4 Jun 1999 07:20:18 +0000 (07:20 +0000)]
Add mcore target
Nick Clifton [Fri, 4 Jun 1999 07:14:10 +0000 (07:14 +0000)]
Make LDRH/LDRB consistent with LDR when target is PC-relative
Nick Clifton [Fri, 4 Jun 1999 07:12:40 +0000 (07:12 +0000)]
Update to match current gas,bfd and opcodes.
Nick Clifton [Fri, 4 Jun 1999 06:35:04 +0000 (06:35 +0000)]
(ELF_MAXPAGESIZE): Default to 0x1000 not 1
Andreas Schwab [Fri, 4 Jun 1999 01:07:38 +0000 (01:07 +0000)]
* elf.c (elf_fake_sections): Undo change of 1999-05-10.
Joern Rennecke [Thu, 3 Jun 1999 19:12:54 +0000 (19:12 +0000)]
* elf32-sh.c (sh_elf_relax_delete_bytes): Fix setting of
start / stop for recalculating of r_addend of R_SH_SWITCH*.
Joern Rennecke [Thu, 3 Jun 1999 18:54:32 +0000 (18:54 +0000)]
* elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH32
in other text sections.
Joern Rennecke [Thu, 3 Jun 1999 18:48:24 +0000 (18:48 +0000)]
* libbfd.c (_bfd_generic_verify_endian_match): New function.
* libbfd-in.h (_bfd_generic_verify_endian_match): Declare.
* libbfd.h: Regenerate.
* coff-sh.c (sh_merge_private_data): Delete.
(coff_bfd_merge_private_bfd_data): Change to
_bfd_generic_verify_endian_match.
(elf32-sh.c): bfd_elf32_bfd_merge_private_bfd_data: Define.
Nick Clifton [Thu, 3 Jun 1999 13:22:45 +0000 (13:22 +0000)]
Use macros to hold names of temporary files.
Ian Lance Taylor [Thu, 3 Jun 1999 12:51:21 +0000 (12:51 +0000)]
* cgen.c: Update for symbol handling changes.
Ulrich Drepper [Thu, 3 Jun 1999 12:46:39 +0000 (12:46 +0000)]
Update.
Ian Lance Taylor [Thu, 3 Jun 1999 12:46:26 +0000 (12:46 +0000)]
* config/tc-m32r.c: Update for symbol handling changes.
Ulrich Drepper [Thu, 3 Jun 1999 12:46:15 +0000 (12:46 +0000)]
Fix typo: change ELF_MAXPAGE_SIZE to ELF_MAXPAGESIZE.
Ian Lance Taylor [Thu, 3 Jun 1999 12:42:36 +0000 (12:42 +0000)]
* config/tc-hppa.h: Update for symbol handling changes.
* config/tc-hppa.c: Likewise.
Ian Lance Taylor [Thu, 3 Jun 1999 09:50:01 +0000 (09:50 +0000)]
* config/tc-arm.h: Update for symbol handling changes.
* config/tc-arm.c: Likewise.
(symbol_make_empty): Remove. Just use symbol_create.
Ian Lance Taylor [Thu, 3 Jun 1999 09:49:04 +0000 (09:49 +0000)]
* symbols.c (symbol_set_tc): Correct name.
Ian Lance Taylor [Thu, 3 Jun 1999 09:21:53 +0000 (09:21 +0000)]
* bfd-in.h (bfd_elf32_arm_allocate_interworking_sections): Correct
prototype.
(bfd_elf32_arm_process_before_allocation): Likewise.
* bfd-in2.h: Rebuild.
Ian Lance Taylor [Thu, 3 Jun 1999 09:06:24 +0000 (09:06 +0000)]
* Makefile.am: Rebuild dependencies.
($(OBJS)): Don't depend upon struc-symbol.h.
(.dep1, .tcdep, .objdep): Create itbl-parse.h.
* dep-in.sed: Don't remove struc-symbol.h.
* Makefile.in: Rebuild.
Ian Lance Taylor [Thu, 3 Jun 1999 08:44:04 +0000 (08:44 +0000)]
* doc/internals.texi (Symbols): Describe changes in symbol
handling.
Ian Lance Taylor [Thu, 3 Jun 1999 08:20:07 +0000 (08:20 +0000)]
* common.h (EM_PPC64): Define.
Richard Henderson [Thu, 3 Jun 1999 03:26:53 +0000 (03:26 +0000)]
Update.
Richard Henderson [Thu, 3 Jun 1999 03:26:17 +0000 (03:26 +0000)]
* internal.h (BEOS_EXE_IMAGE_BASE, BEOS_DLL_IMAGE_BASE): New.
Richard Henderson [Thu, 3 Jun 1999 03:20:40 +0000 (03:20 +0000)]
Update.
Richard Henderson [Thu, 3 Jun 1999 03:20:21 +0000 (03:20 +0000)]
* dwarf2dbg.c (dwarf2_gen_line_info): Use section_symbol
instead of doing the work by hand.
Richard Henderson [Thu, 3 Jun 1999 02:51:53 +0000 (02:51 +0000)]
* as.c (parse_args): Add option -gdwarf2 to allow requesting
DWARF2 debug info (line information only, at this point).
* as.h: Update comment about supported debug formats.
* dwarf2dbg.c, dwarf2dbg.h: New files.
* Makefile.am (GAS_CFILES, HFILES, GENERIC_OBJS): Add them.
Richard Henderson [Thu, 3 Jun 1999 02:51:27 +0000 (02:51 +0000)]
* expr.c (operand): Don't use [ for parens if we want an index op.
(op_encoding): Switch [ into O_index, if desired.
(op_rank): Renumber with O_index on bottom.
(expr): If O_index, match closing bracket.
* expr.h (O_index): New.
Richard Henderson [Thu, 3 Jun 1999 02:51:09 +0000 (02:51 +0000)]
* read.c (read_a_source_file): Conditionally allow matched "
in lines passed to md_assemble.
Richard Henderson [Thu, 3 Jun 1999 02:50:51 +0000 (02:50 +0000)]
* config/obj-elf.c (elf_pseudo_table): Add `common'.
Richard Henderson [Thu, 3 Jun 1999 02:46:47 +0000 (02:46 +0000)]
David Mosberger <davidm@hpl.hp.com>
* dwarf2.c (struct line_info): Add member END_SEQUENCE to keep
track of end_sequence markers.
(add_line_info): Add END_SEQUENCE arg.
(decode_line_info): Don't try to infer lo_pc and hi_pc from the
debug-line info---it doesn't work right if a compilation unit
consists of multiple discontiguous code-sequences. It would be
worthwhile to optimize for the common case where a compilation
unit results in a contiguous set of code sequences, but this is
quite tricky to get right for arbitrary DWARF2 files.
(lookup_address_in_line_info_table): Don't use the last line entry
for a compilation unit for anything with an address higher than
this line entry. Also, check for end_sequence markers to
correctly handle discontinuities.
(_bfd_dwarf2_find_nearest_line): When checking previously loaded
compilation units, check all compilation units with each->high==0
just like when reading compilation units.
* dwarf2.c (decode_line_info): Initialize table->files and
table->last_line to NULL to avoid segfaults due to random
values in these members.
(concat_filename): Check for out-of-range file number before
indexing filename table. Segfaults suck.
* dwarf2.c (decode_line_info): Don't truncate address to least
significant 32 bits (breaks 64 bit targets).
(lookup_address_in_function_table): Ditto.
(comp_unit_contains_address): Ditto.
Ian Lance Taylor [Thu, 3 Jun 1999 00:29:48 +0000 (00:29 +0000)]
Add support for storing local symbols in a small structure to save
memory when assembling large files.
* as.h: Don't include struc-symbol.h.
(symbolS): Add typedef.
* symbols.c: Include struc-symbol.h.
(local_hash): New static variable.
(save_symbol_name): New static function, from symbol_create.
(symbol_create): Call save_symbol_name.
(local_symbol_count): New static variable.
(local_symbol_conversion_count): Likewise.
(LOCAL_SYMBOL_CHECK): Define.
(local_symbol_make): New static function.
(local_symbol_convert): New static function.
(colon): Handle local symbols. Create local symbol for local
label name.
(symbol_table_insert): Handle local symbols.
(symbol_find_or_make): Create local symbol for local label name.
(symbol_find_base): Check for local symbol.
(symbol_append, symbol_insert): Check for local symbols.
(symbol_clear_list_pointers, symbol_remove): Likewise.
(verify_symbol_chain): Likewise.
(copy_symbol_attributes): Likewise.
(resolve_symbol_value): Handle local symbols.
(resolve_local_symbol): New static function.
(resolve_local_symbol_values): New function.
(S_GET_VALUE, S_SET_VALUE): Handle local symbols.
(S_IS_FUNCTION, S_IS_EXTERNAL, S_IS_WEAK, S_IS_COMMON): Likewise.
(S_IS_DEFINED, S_IS_DEBUG, S_IS_LOCAL, S_GET_NAME): Likewise.
(S_GET_SEGMENT, S_SET_SEGMENT, S_SET_EXTERNAL): Likewise.
(S_CLEAR_EXTERNAL, S_SET_WEAK, S_SET_NAME): Likewise.
(symbol_previous, symbol_next): New functions.
(symbol_get_value_expression): Likewise.
(symbol_set_value_expression): Likewise.
(symbol_set_frag, symbol_get_frag): Likewise.
(symbol_mark_used, symbol_clear_used, symbol_used_p): Likewise.
(symbol_mark_used_in_reloc): Likewise.
(symbol_clear_used_in_reloc, symbol_used_in_reloc_p): Likewise.
(symbol_mark_mri_common, symbol_clear_mri_common): Likewise.
(symbol_mri_common_p): Likewise.
(symbol_mark_written, symbol_clear_written): Likewise.
(symbol_written_p): Likewise.
(symbol_mark_resolved, symbol_resolved_p): Likewise.
(symbol_section_p, symbol_equated_p): Likewise.
(symbol_constant_p): Likewise.
(symbol_get_bfdsym, symbol_set_bfdsym): Likewise.
(symbol_get_obj, symbol_set_obj): Likewise.
(symbol_get_tc, symbol_set_tc): Likewise.
(symbol_begin): Initialize local_hash.
(print_symbol_value_1): Handle local symbols.
(symbol_print_statistics): Print local symbol statistics.
* symbols.h: Include "struc-symbol.h" if not BFD_ASSEMBLER.
Declare new symbols.c functions. Move many declarations here from
struc-symbol.h.
(SYMBOLS_NEED_BACKPOINTERS): Define if needed.
* struc-symbol.h (SYMBOLS_NEED_BACKPOINTERS): Don't set.
(struct symbol): Move bsym to make it clearly the first field.
Remove TARGET_SYMBOL_FIELDS.
(symbolS): Don't typedef.
(struct broken_word): Remove.
(N_TYPE_seg, seg_N_TYPE): Move to symbol.h.
(SEGMENT_TO_SYMBOL_TYPE, N_REGISTER): Likewise.
(symbol_clear_list_pointers): Likewise.
(symbol_insert, symbol_remove): Likewise.
(symbol_previous, symbol_append): Likewise.
(verify_symbol_chain, verify_symbol_chain_2): Likewise.
(struct local_symbol): Define.
(local_symbol_converted_p, local_symbol_mark_converted): Define.
(local_symbol_resolved_p, local_symbol_mark_resolved): Define.
(local_symbol_get_frag, local_symbol_set_frag): Define.
(local_symbol_get_real_symbol): Define.
(local_symbol_set_real_symbol): Define.
Define.
* write.c (write_object_file): Call resolve_local_symbol_values.
* config/obj-ecoff.h (OBJ_SYMFIELD_TYPE): Define.
(TARGET_SYMBOL_FIELDS): Don't define.
* config/obj-elf.h (OBJ_SYMFIELD_TYPE): Add local field. If
ECOFF_DEBUGGING, add ECOFF fields.
(ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
* config/obj-multi.h (struct elf_obj_sy): Add local field. If
ECOFF_DEBUGGING, add ECOFF fields.
(ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
(ECOFF_DEBUG_TARGET_SYMBOL_FIELDS): Don't define.
* config/tc-mcore.h: Don't include struc-symbol.h.
(TARGET_SYMBOL_FIELDS): Don't define.
(struct mcore_tc_sy): Define.
(TC_SYMFIELD_TYPE): Define.
* Many files: Use symbolS instead of struct symbol. Use new
accessor functions rather than referring to symbolS fields
directly.
* read.c (s_mri_common): Don't add in value of line_label.
* config/tc-mips.c (md_apply_fix): Correct parenthesization when
checking for SEC_LINK_ONCE.
* config/tc-sh.h (sh_fix_adjustable): Declare.