summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2004-01-13 16:12:25 +0000
committerDaniel Jacobowitz <dan@debian.org>2004-01-13 16:12:25 +0000
commit0724c72fe288f051ad0729c17a3e36dab51d957d (patch)
tree694ff0bfe30a8943465ca378237f5a71d89e4ffa
parent2350acaef313830eb0af4f14f227c35638a34c22 (diff)
downloadgdb-0724c72fe288f051ad0729c17a3e36dab51d957d.tar.gz
Merge mainline to branch. GDB is broken until I update cp-names.y.
-rw-r--r--ChangeLog29
-rw-r--r--Makefile.in3
-rw-r--r--Makefile.tpl3
-rw-r--r--bfd/ChangeLog11687
-rw-r--r--bfd/ChangeLog-020311405
-rw-r--r--bfd/bfd-in2.h14
-rw-r--r--bfd/coff-arm.c25
-rw-r--r--bfd/coff-h8300.c27
-rw-r--r--bfd/config.bfd4
-rw-r--r--bfd/doc/ChangeLog593
-rw-r--r--bfd/doc/ChangeLog-9103594
-rw-r--r--bfd/dwarf2.c331
-rw-r--r--bfd/elf32-arm.h178
-rw-r--r--bfd/elf32-cris.c13
-rw-r--r--bfd/elf32-frv.c2999
-rw-r--r--bfd/elf32-h8300.c117
-rw-r--r--bfd/elf32-i386.c77
-rw-r--r--bfd/elf32-m68k.c13
-rw-r--r--bfd/elf32-mips.c17
-rw-r--r--bfd/elf32-sparc.c30
-rw-r--r--bfd/elf32-vax.c11
-rw-r--r--bfd/elf64-mips.c19
-rw-r--r--bfd/elflink.h5
-rw-r--r--bfd/elfn32-mips.c19
-rw-r--r--bfd/elfxx-ia64.c21
-rw-r--r--bfd/libbfd.h14
-rw-r--r--bfd/reloc.c28
-rw-r--r--bfd/version.h2
-rw-r--r--config-ml.in3
-rwxr-xr-xconfigure83
-rw-r--r--configure.in17
-rw-r--r--gdb/ChangeLog15846
-rw-r--r--gdb/ChangeLog-200315447
-rw-r--r--gdb/MAINTAINERS2
-rw-r--r--gdb/Makefile.in87
-rw-r--r--gdb/NEWS15
-rw-r--r--gdb/acconfig.h3
-rw-r--r--gdb/amd64fbsd-nat.c4
-rw-r--r--gdb/amd64fbsd-tdep.c55
-rw-r--r--gdb/amd64nbsd-nat.c6
-rw-r--r--gdb/amd64nbsd-tdep.c4
-rw-r--r--gdb/blockframe.c22
-rw-r--r--gdb/config.in9
-rw-r--r--gdb/config/djgpp/config.sed19
-rw-r--r--gdb/config/djgpp/djconfig.sh17
-rw-r--r--gdb/config/djgpp/fnchange.lst89
-rw-r--r--gdb/config/ia64/nm-linux.h2
-rw-r--r--gdb/config/pa/tm-hppah.h9
-rw-r--r--gdb/config/sparc/fbsd.mh4
-rw-r--r--gdb/config/sparc/fbsd.mt2
-rw-r--r--gdb/config/sparc/linux.mh13
-rw-r--r--gdb/config/sparc/linux.mt5
-rw-r--r--gdb/config/sparc/linux64.mh11
-rw-r--r--gdb/config/sparc/linux64.mt5
-rw-r--r--gdb/config/sparc/nbsd.mt6
-rw-r--r--gdb/config/sparc/nbsd64.mh5
-rw-r--r--gdb/config/sparc/nbsd64.mt9
-rw-r--r--gdb/config/sparc/nbsdaout.mh6
-rw-r--r--gdb/config/sparc/nbsdelf.mh6
-rw-r--r--gdb/config/sparc/nm-linux.h23
-rw-r--r--gdb/config/sparc/nm-nbsd.h16
-rw-r--r--gdb/config/sparc/nm-nbsdaout.h10
-rw-r--r--gdb/config/sparc/nm-sol2.h (renamed from gdb/config/sparc/nm-sun4sol2.h)52
-rw-r--r--gdb/config/sparc/nm-sparclynx.h26
-rw-r--r--gdb/config/sparc/nm-sun4os4.h42
-rw-r--r--gdb/config/sparc/sol2-64.mt3
-rw-r--r--gdb/config/sparc/sol2.mh6
-rw-r--r--gdb/config/sparc/sol2.mt3
-rw-r--r--gdb/config/sparc/sp64.mt6
-rw-r--r--gdb/config/sparc/sp64linux.mt3
-rw-r--r--gdb/config/sparc/sp64sol2.mt3
-rw-r--r--gdb/config/sparc/sparc-em.mt3
-rw-r--r--gdb/config/sparc/sparc.mt2
-rw-r--r--gdb/config/sparc/sparc64.mt2
-rw-r--r--gdb/config/sparc/sparclynx.mh6
-rw-r--r--gdb/config/sparc/sparclynx.mt3
-rw-r--r--gdb/config/sparc/sun4os4.mh9
-rw-r--r--gdb/config/sparc/sun4os4.mt3
-rw-r--r--gdb/config/sparc/sun4sol2.mh22
-rw-r--r--gdb/config/sparc/sun4sol2.mt3
-rw-r--r--gdb/config/sparc/tm-linux.h21
-rw-r--r--gdb/config/sparc/tm-nbsd.h11
-rw-r--r--gdb/config/sparc/tm-sol2.h40
-rw-r--r--gdb/config/sparc/tm-sp64.h107
-rw-r--r--gdb/config/sparc/tm-sp64linux.h34
-rw-r--r--gdb/config/sparc/tm-sparc.h354
-rw-r--r--gdb/config/sparc/tm-sparclynx.h37
-rw-r--r--gdb/config/sparc/tm-spc-em.h46
-rw-r--r--gdb/config/sparc/tm-sun4os4.h59
-rw-r--r--gdb/config/sparc/tm-sun4sol2.h78
-rw-r--r--gdb/config/sparc/tm-vxworks.h (renamed from gdb/config/sparc/tm-vxsparc.h)16
-rw-r--r--gdb/config/sparc/vxsparc.mt3
-rw-r--r--gdb/config/sparc/vxworks.mt4
-rw-r--r--gdb/config/sparc/xm-linux.h42
-rw-r--r--gdb/config/sparc/xm-sun4sol2.h37
-rwxr-xr-xgdb/configure851
-rw-r--r--gdb/configure.host17
-rw-r--r--gdb/configure.in26
-rw-r--r--gdb/configure.tgt28
-rw-r--r--gdb/cp-namespace.c26
-rw-r--r--gdb/cp-support.h2
-rw-r--r--gdb/dbxread.c2
-rw-r--r--gdb/defs.h1
-rw-r--r--gdb/disasm.c24
-rw-r--r--gdb/doc/ChangeLog10
-rw-r--r--gdb/doc/gdb.texinfo47
-rw-r--r--gdb/dwarf2-frame.c187
-rw-r--r--gdb/dwarf2read.c114
-rw-r--r--gdb/exec.h2
-rw-r--r--gdb/frame.c40
-rw-r--r--gdb/go32-nat.c24
-rw-r--r--gdb/hpread.c13
-rw-r--r--gdb/i386-linux-nat.c2
-rw-r--r--gdb/i386-sol2-tdep.c18
-rw-r--r--gdb/i386-tdep.h3
-rw-r--r--gdb/i386bsd-tdep.c14
-rw-r--r--gdb/i386obsd-tdep.c102
-rw-r--r--gdb/ia64-linux-tdep.c4
-rw-r--r--gdb/ia64-tdep.c22
-rw-r--r--gdb/infrun.c175
-rw-r--r--gdb/jv-valprint.c7
-rw-r--r--gdb/libunwind-frame.h5
-rw-r--r--gdb/mi/ChangeLog-1999-2003 (renamed from gdb/mi/ChangeLog)0
-rw-r--r--gdb/mips-tdep.c584
-rw-r--r--gdb/op50-rom.c142
-rw-r--r--gdb/regformats/reg-x86-64.dat2
-rw-r--r--gdb/remote-fileio.c11
-rw-r--r--gdb/remote-vxsparc.c202
-rw-r--r--gdb/ser-unix.c7
-rw-r--r--gdb/sparc-linux-nat.c101
-rw-r--r--gdb/sparc-linux-tdep.c311
-rw-r--r--gdb/sparc-nat.c480
-rw-r--r--gdb/sparc-nat.h40
-rw-r--r--gdb/sparc-sol2-nat.c98
-rw-r--r--gdb/sparc-sol2-tdep.c201
-rw-r--r--gdb/sparc-tdep.c3946
-rw-r--r--gdb/sparc-tdep.h182
-rw-r--r--gdb/sparc64-linux-nat.c (renamed from gdb/sparcbsd-nat.h)45
-rw-r--r--gdb/sparc64-linux-tdep.c82
-rw-r--r--gdb/sparc64-nat.c87
-rw-r--r--gdb/sparc64-sol2-tdep.c182
-rw-r--r--gdb/sparc64-tdep.c728
-rw-r--r--gdb/sparc64-tdep.h130
-rw-r--r--gdb/sparc64fbsd-nat.c50
-rw-r--r--gdb/sparc64fbsd-tdep.c316
-rw-r--r--gdb/sparc64nbsd-nat.c275
-rw-r--r--gdb/sparc64nbsd-tdep.c246
-rw-r--r--gdb/sparcbsd-nat.c126
-rw-r--r--gdb/sparcnbsd-nat.c137
-rw-r--r--gdb/sparcnbsd-tdep.c611
-rw-r--r--gdb/sparcnbsd-tdep.h34
-rw-r--r--gdb/stabsread.c7
-rw-r--r--gdb/stack.c8
-rw-r--r--gdb/target.c10
-rw-r--r--gdb/testsuite/ChangeLog263
-rw-r--r--gdb/testsuite/gdb.asm/asm-source.exp10
-rw-r--r--gdb/testsuite/gdb.base/call-ar-st.exp4
-rw-r--r--gdb/testsuite/gdb.base/call-rt-st.exp8
-rw-r--r--gdb/testsuite/gdb.base/constvars.exp22
-rw-r--r--gdb/testsuite/gdb.base/cvexpr.c36
-rw-r--r--gdb/testsuite/gdb.base/fileio.c5
-rw-r--r--gdb/testsuite/gdb.base/fileio.exp18
-rw-r--r--gdb/testsuite/gdb.base/funcargs.exp35
-rw-r--r--gdb/testsuite/gdb.base/gdb1476.c12
-rw-r--r--gdb/testsuite/gdb.base/gdb1476.exp71
-rw-r--r--gdb/testsuite/gdb.base/nodebug.exp4
-rw-r--r--gdb/testsuite/gdb.base/scope.exp6
-rw-r--r--gdb/testsuite/gdb.base/sepdebug.c150
-rw-r--r--gdb/testsuite/gdb.base/sepdebug.exp982
-rw-r--r--gdb/testsuite/gdb.base/structs.exp22
-rw-r--r--gdb/testsuite/gdb.base/volatile.exp22
-rw-r--r--gdb/testsuite/gdb.cp/bs15503.cc (renamed from gdb/testsuite/gdb.hp/gdb.defects/bs15503.cc)24
-rw-r--r--gdb/testsuite/gdb.cp/bs15503.exp100
-rw-r--r--gdb/testsuite/gdb.cp/classes.exp1064
-rw-r--r--gdb/testsuite/gdb.cp/ctti.exp355
-rw-r--r--gdb/testsuite/gdb.cp/cttiadd.cc22
-rw-r--r--gdb/testsuite/gdb.cp/cttiadd1.cc21
-rw-r--r--gdb/testsuite/gdb.cp/cttiadd2.cc21
-rw-r--r--gdb/testsuite/gdb.cp/cttiadd3.cc21
-rw-r--r--gdb/testsuite/gdb.cp/derivation.exp390
-rw-r--r--gdb/testsuite/gdb.cp/exception.cc69
-rw-r--r--gdb/testsuite/gdb.cp/exception.exp222
-rw-r--r--gdb/testsuite/gdb.cp/local.exp23
-rw-r--r--gdb/testsuite/gdb.cp/m-static.exp20
-rw-r--r--gdb/testsuite/gdb.cp/method.exp5
-rw-r--r--gdb/testsuite/gdb.cp/namespace.exp8
-rw-r--r--gdb/testsuite/gdb.cp/overload.exp504
-rw-r--r--gdb/testsuite/gdb.cp/ref-types.exp4
-rw-r--r--gdb/testsuite/gdb.cp/templates.exp40
-rw-r--r--gdb/testsuite/gdb.cp/virtfunc.exp1328
-rw-r--r--gdb/testsuite/gdb.hp/gdb.aCC/exception.cc48
-rw-r--r--gdb/testsuite/gdb.hp/gdb.aCC/exception.exp426
-rw-r--r--gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp88
-rw-r--r--gdb/testsuite/gdb.mi/ChangeLog-1999-2003 (renamed from gdb/testsuite/gdb.mi/ChangeLog)0
-rw-r--r--gdb/testsuite/gdb.mi/pthreads.c4
-rw-r--r--gdb/testsuite/gdb.stabs/weird.exp31
-rw-r--r--gdb/testsuite/lib/compiler.cc14
-rw-r--r--gdb/testsuite/lib/gdb.exp84
-rw-r--r--gdb/top.c4
-rw-r--r--gdb/tracepoint.c4
-rw-r--r--gdb/tui/ChangeLog-1998-2003 (renamed from gdb/tui/ChangeLog)0
-rw-r--r--gdb/utils.c4
-rw-r--r--gdb/version.in2
-rw-r--r--gdb/w89k-rom.c311
-rw-r--r--gdb/win32-nat.c217
-rw-r--r--gdb/x86-64-linux-nat.c4
-rw-r--r--gdb/x86-64-linux-tdep.c12
-rw-r--r--gdb/x86-64-tdep.c284
-rw-r--r--gdb/x86-64-tdep.h12
-rw-r--r--include/ChangeLog2163
-rw-r--r--include/ChangeLog-91032737
-rw-r--r--include/aout/ChangeLog4
-rw-r--r--include/aout/stab.def29
-rw-r--r--include/coff/ChangeLog1159
-rw-r--r--include/coff/ChangeLog-91031160
-rw-r--r--include/demangle.h366
-rw-r--r--include/elf/ChangeLog1929
-rw-r--r--include/elf/ChangeLog-91031914
-rw-r--r--include/elf/frv.h18
-rw-r--r--include/opcode/ChangeLog3105
-rw-r--r--include/opcode/ChangeLog-91033102
-rw-r--r--include/opcode/h8300.h51
-rw-r--r--libiberty/ChangeLog71
-rw-r--r--libiberty/Makefile.in20
-rw-r--r--libiberty/README2
-rw-r--r--libiberty/config.in391
-rw-r--r--libiberty/configure.ac (renamed from libiberty/configure.in)0
-rw-r--r--libiberty/cp-demangle.c1631
-rw-r--r--libiberty/cp-demangle.h139
-rw-r--r--libiberty/cp-demint.c241
-rw-r--r--libiberty/cplus-dem.c23
-rw-r--r--libiberty/testsuite/demangle-expected2242
-rw-r--r--libiberty/testsuite/test-demangle.c164
-rw-r--r--opcodes/ChangeLog4337
-rw-r--r--opcodes/ChangeLog-00012224
-rw-r--r--opcodes/ChangeLog-02032110
-rw-r--r--opcodes/Makefile.am9
-rw-r--r--opcodes/Makefile.in15
-rw-r--r--opcodes/arm-opc.h5
-rw-r--r--opcodes/frv-asm.c276
-rw-r--r--opcodes/msp430-dis.c6
-rw-r--r--readline/ChangeLog.gdb19
-rw-r--r--readline/display.c6
-rw-r--r--readline/readline.c4
-rw-r--r--readline/terminal.c31
-rw-r--r--sim/arm/ChangeLog11
-rw-r--r--sim/arm/Makefile.in2
-rw-r--r--sim/arm/armos.c41
-rw-r--r--sim/h8300/ChangeLog4
-rw-r--r--sim/h8300/compile.c2
-rw-r--r--sim/sh/ChangeLog34
-rw-r--r--sim/sh/gencode.c892
-rw-r--r--sim/sh/interp.c164
-rw-r--r--sim/testsuite/sim/sh/ChangeLog8
-rw-r--r--sim/testsuite/sim/sh/allinsn.exp13
-rw-r--r--sim/testsuite/sim/sh/dmxy.s21
-rw-r--r--sim/testsuite/sim/sh/fipr.s137
-rw-r--r--sim/testsuite/sim/sh/fpchg.s30
-rw-r--r--sim/testsuite/sim/sh/ldrc.s118
-rw-r--r--sim/testsuite/sim/sh/loop.s311
-rw-r--r--sim/testsuite/sim/sh/movli.s55
-rw-r--r--sim/testsuite/sim/sh/movua.s129
-rw-r--r--sim/testsuite/sim/sh/movxy.s1186
-rw-r--r--sim/testsuite/sim/sh/pabs.s54
-rw-r--r--sim/testsuite/sim/sh/pclr.s65
-rw-r--r--sim/testsuite/sim/sh/prnd.s90
-rw-r--r--sim/testsuite/sim/sh/psub.s64
-rw-r--r--sim/testsuite/sim/sh/pswap.s177
-rw-r--r--sim/testsuite/sim/sh/testutils.inc5
269 files changed, 61877 insertions, 53270 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b3aaec6b89..af149b1e1cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2004-01-04 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * configure.in: Use ./config.cache, not config.cache.
+ * configure: Regenerate.
+ * Makefile.tpl: Special-casing not needed for GCC any more.
+ * Makefile.in: Regenerate.
+
+ * configure.in: Don't share a cache file for host dirs.
+ * configure: Regenerate.
+
+ * config-ml.in: Don't mess with the cache file.
+
+2004-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.tpl: Make GCC use a separate config.cache.
+ * Makefile.in: Regenerate.
+
+ PR bootstrap/11932, PR bootstrap/11933
+ (I don't know if it will fix either of them, but it relates
+ to them.)
+ * configure.in: Don't use shared config.cache for target
+ directories.
+ * configure: Regenerate.
+
+2003-12-31 Roger Sayle <roger@eyesopen.com>
+
+ * configure.in (ia64*-*-hpux*): Disable building java libraries.
+ * configure: Regenerated.
+
2003-12-21 Bernardo Innocenti <bernie@develer.com>
* configure.in (*-*-uclinux): Exclude newlib, libgloss and rda.
diff --git a/Makefile.in b/Makefile.in
index 8fe85ff369f..51d9dd4e0ce 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -23572,6 +23572,9 @@ install-target-rda: installdirs
# build modules. So GCC is a sort of hybrid.
# gcc is the only module which uses GCC_FLAGS_TO_PASS.
+# Don't use shared host config.cache, as it will confuse later
+# directories; GCC wants slightly different values for some
+# precious variables. *sigh*
.PHONY: configure-gcc maybe-configure-gcc
maybe-configure-gcc:
configure-gcc:
diff --git a/Makefile.tpl b/Makefile.tpl
index 3b545c46095..7a7e3eb0403 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -1069,6 +1069,9 @@ install-target-[+module+]: installdirs
# build modules. So GCC is a sort of hybrid.
# gcc is the only module which uses GCC_FLAGS_TO_PASS.
+# Don't use shared host config.cache, as it will confuse later
+# directories; GCC wants slightly different values for some
+# precious variables. *sigh*
.PHONY: configure-gcc maybe-configure-gcc
maybe-configure-gcc:
configure-gcc:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 96654666895..811fb8f3656 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,11401 +1,324 @@
-2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- Adfd m32r-linux and PIC support. Add new ABI that uses RELA.
- * config.bfd (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*): Added.
- * configure.in (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
- bfd_elf32_m32rle_vec): Added
- * configure: Regenerated.
- * elf32-m32r.c (m32r_info_to_howto, m32r_elf_adjust_dynamic_symbol,
- m32r_elf_size_dynamic_sections, m32r_elf_create_dynamic_sections,
- m32r_elf_finish_dynamic_sections, m32r_elf_finish_dynamic_symbol,
- allocate_dynrelocs, readonly_dynrelocs, m32r_elf_reloc_type_class,
- m32r_elf_fake_sections): Added.
- (m32r_elf_howto_table): Added
- R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
- R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
- R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
- R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
- R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
- R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
- R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
- R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
- R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
- R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
- R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
- R_M32R_GOTPC_LO.
- (m32r_elf_relocate_section, m32r_elf_check_relocs): Changed for
- New ABI.
- * reloc.c: Add BFD_RELOC_M32R_GOT24, BFD_RELOC_M32R_26_PLTREL,
- BFD_RELOC_M32R_COPY, BFD_RELOC_M32R_GLOB_DAT,
- BFD_RELOC_M32R_JMP_SLOT, BFD_RELOC_M32R_RELATIVE,
- BFD_RELOC_M32R_GOTOFF, BFD_RELOC_M32R_GOTPC24,
- BFD_RELOC_M32R_GOT16_HI_ULO, BFD_RELOC_M32R_GOT16_HI_SLO,
- BFD_RELOC_M32R_GOT16_LO, BFD_RELOC_M32R_GOTPC_HI_ULO,
- BFD_RELOC_M32R_GOTPC_HI_SLO, BFD_RELOC_M32R_GOTPC_LO.
- * targets.c (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
- bfd_elf32_m32rle_vec): Added.
- * bfd-in2.h: Regenerated.
- * libbfd.h: Regenerated.
-
-2003-12-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * coffcode.h (styp_to_sec_flags): Don't treat .reloc section
- as SEC_DEBUGGING.
-
-2003-12-18 Richard Sandiford <rsandifo@redhat.com>
-
- * elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of
- mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use
- _bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16,
- _bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16,
- and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16. Change rightshift
- to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16.
- (mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
- (mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
- (_bfd_mips_elf32_gprel16_reloc): Remove special case.
- (mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise.
-
- * elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of
- mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use
- _bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc
- for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.
- Change R_MIPS_HI16's rightshift to 16.
- (mips_elf64_howto_table_rela): Replace all uses of
- mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.
- Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well.
- (mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete.
- (mips_elf64_shift6_reloc): Remove special case. Use
- _bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue.
-
- * elfn32-mips.c (prev_reloc_section): Delete.
- (prev_reloc_address, prev_reloc_addend): Delete.
- (elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for
- elf64-mips.c
- (GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete.
- (mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
- (mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
- (mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND.
- (mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise.
- (mips16_jump_reloc, mips16_gprel_reloc): Likewise.
- (mips_elf_shift6_reloc): Likewise. Delete use of SET_RELOC_ADDEND.
-
- * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use
- _bfd_relocate_contents to install an in-place addend.
- (mips_hi16): New structure.
- (mips_hi16_list): Moved from elf32-mips.c.
- (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions.
- (_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions.
- (mips_elf_calculate_relocation): Assume addend is unshifted.
- (_bfd_mips_elf_relocate_section): Don't apply the howto rightshift
- on top of the usual high-part shift. Don't shift the addend right
- before calling mips_elf_calculate_relocation.
-
- * elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare.
- (_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare.
- (_bfd_mips_elf_generic_reloc): Declare.
-
-2003-12-16 Eric Youngdale <eric@mkssoftware.com>
- Nick Clifton <nickc@redhat.com>
-
- * peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each
- prefix character, if they are present.
-
-2003-12-15 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
- Nick Clifton <nickc@redhat.com>
-
- * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags
- are set on known section types.
-
-2003-12-12 Nick Clifton <nickc@redhat.com>
-
- * po/ro.po: Updated translation.
-
-2003-12-12 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for
- NULL dyn_h.
-
-2003-12-11 Nick Clifton <nickc@redhat.com>
-
- * elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
-
-2003-12-08 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes.
- Remove casts that were only needed for K&R compatibility.
-
-2003-12-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add
- "elflink_hash_entry *" param to elf_backend_link_output_symbol_hook.
- Add "elflink_hash_entry *" param to elf_backend_output_arch_syms.
- * elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param,
- and pass to output_symbol_hook.
- (elf_bfd_final_link): Adjust elf_link_output_sym calls.
- (elf_link_output_extsym): Likewise.
- (elf_link_input_bfd): Likewise.
- * elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust.
- * elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
- * elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
- * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
- * elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise.
- * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
- Validate dynh->h against h.
- * elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield.
- (link_hash_newfunc): Init it.
- (adjust_opd_syms): New function.
- (ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted.
- Set opd.adjust for all .opd relocs. Call adjust_opd_syms.
- (ppc64_elf_tls_optimize): Adjust possible .opd sym values here.
- (ppc64_elf_relocate_section): Also adjust syms not a multiple of 24.
- (ppc64_elf_output_symbol_hook): New function.
- (elf_backend_link_output_symbol_hook): Define.
-
-2003-12-07 Richard Sandiford <rsandifo@redhat.com>
-
- * elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes.
- Remove casts that were only needed for K&R compatibility.
-
-2003-12-05 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
-
- * coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set
- partial_inplace for these relocs to FALSE for comptability with
- the MS linker.
- Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error
- generated by MS linker, and brings the relocation in line the MS
- PE documentation.
-
-2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing.
-
-2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Use the
- need_relax_finalize field in link_info instead of
- relax_finalizing to check if the relax finalize pass is being
- done.
-
-2003-12-04 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
-
- * coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation):
- Change ARM26* to ARM_26* in comments to match definitions.
- (coff_arm_adjust_symndx): Replace hard-coded constants with
- appropriate definitions (ARM_26*).
-
-2003-12-04 Alan Modra <amodra@bigpond.net.au>
-
- * coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported.
- * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes.
- (mn10300_elf_relax_section): Likewise.
- * nlm32-alpha.c (ONES): Define.
- (nlm32_alpha_howto_table): Use it to avoid warnings.
-
-2003-12-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (elf_i386_object_p): Delete.
- (elf_backend_object_p): Don't define.
- * elf32-s390.c (elf_s390_object_p): No need to alloc tdata here.
- * elf32-sh.c (sh_elf_object_p): Likewise.
- * elf32-sparc.c (elf32_sparc_object_p): Likewise.
- * elf64-alpha.c (elf64_alpha_object_p): Likewise.
- * elf64-s390.c (elf_s390_object_p): Likewise.
- * elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise.
-
-2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * archures.c (bfd_mach_m32r2): Add new machine type.
- * bfd-in2.h: Regenerate.
- * cpu-m32r.c : Add new machine type.
- * elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing,
- m32r_elf_merge_private_bfd_data): Add support for new machine
- type.
-
-2003-12-03 Dave Airlie <airlied@linux.ie>
-
- * config.bfd: Add vax-linux-gnu target.
- * configure.in: Likewise.
- * configure: Regenerate.
-
-2003-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * ecoff.c (ecoff_link_add_archive_symbols): Update for renamed
- bfd_link_hash_entry field "next" -> "und_next".
- * linker.c (_bfd_link_hash_newfunc): Likewise.
- (bfd_link_add_undef): Likewise.
- (_bfd_generic_link_add_archive_symbols): Likewise.
- (_bfd_generic_link_add_one_symbol): Likewise.
- * xcofflink.c (xcoff_link_add_symbols): Likewise.
-
-2003-12-02 Nick Clifton <nickc@redhat.com>
-
- * configure.in (ALL_LINGUAS): Add ro.
- * po/ro.po: New Romanian translation.
-
-2003-12-02 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-12-01 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
-
- * coffcode.h (coff_compute_section_file_positions): Set page_size
- to 1 instead of 0 in the case file alignment value is zero.
-
-2003-12-01 Kazu Hirata <kazu@cs.umass.edu>
-
- * coff-rs6000.c: Remove ARGSUSED and VARARGS.
- * coff64-rs6000.c: Likewise.
- * coffcode.h: Likewise.
- * elf32-vax.c: Likewise.
- * hash.c: Likewise.
- * hppabsd-core.c: Likewise.
- * hpux-core.c: Likewise.
- * ihex.c: Likewise.
- * netbsd-core.c: Likewise.
- * osf-core.c: Likewise.
- * pdp11.c: Likewise.
- * ptrace-core.c: Likewise.
- * sco5-core.c: Likewise.
- * section.c: Likewise.
- * sunos.c: Likewise.
- * trad-core.c: Likewise.
-
-2003-12-01 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
- * elf.c (_bfd_elf_merge_sections): Adjust to suit.
- (_bfd_elf_link_just_syms): Likewise.
- (bfd_elf_get_needed_list): Likewise.
- (bfd_elf_get_runpath_list): Likewise.
- (_bfd_elf_link_hash_copy_indirect): Remove unneeded parens.
- * elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab
- creator flavour.
- (elf32_hppa_set_gp): Look up output sections rather than using htab.
- * elf32-i960.c: Comment fix. Formatting.
- * elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table
- rather than testing creator flavour.
- * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
- * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
- * elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for
- is_elf_hash_table change. Remove redundant test.
- (bfd_elf_record_link_assignment): Use is_elf_hash_table rather than
- testing creator flavour.
- (elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table.
- (_bfd_elf_fix_symbol_flags): Likewise.
- (_bfd_elf_adjust_dynamic_symbol): Likewise.
- * elflink.h (elf_link_add_object_symbols): Likewise. Remove redundant
- checks. Use is_elf_hash_table rather than testing creator flavour.
- Use hash_table throughout in place of info->hash.
- (elf_add_dynamic_entry): Adjust for is_elf_hash_table change.
- (NAME(bfd_elf,size_dynamic_sections)): Likewise. Remove redundant
- check.
- (elf_bfd_final_link): Adjust for is_elf_hash_table change.
- (elf_link_check_versioned_symbol): Use is_elf_hash_table rather than
- testing creator flavour.
- (elf_gc_sections): Add is_elf_hash_table check.
- (elf_gc_common_finalize_got_offsets): Likewise.
- (elf_bfd_discard_info): Adjust for is_elf_hash_table change. Remove
- redundant check.
- * elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table
- rather than testing creator flavour.
-
-2003-11-28 Christian Groessler <chris@groessler.org>
-
- * cpu-z8k.c: Convert to ISO C90.
- * coff-z8k.c: Likewise.
-
-2003-11-27 Alexandre Oliva <aoliva@redhat.com>
-
- * elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map):
- Add link info argument.
- * elf32-i370.c (elf_backend_modify_segment_map): Likewise.
- * elf32-ppc.c (ppc_elf_modify_segment_map): Likewise.
- * elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise.
- * elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise.
- * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise.
- * elf.c (assign_file_positions_except_relocs,
- assign_file_positions_for_segments): Likewise. Adjust calls.
-
-2003-11-27 Mark Kettenis <kettenis@gnu.org>
-
- * elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out
- of the note.
-
-2003-11-26 Daniel Jacobowitz <drow@mvista.com>
- Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub.
- (mips_elf_set_no_stub): New function.
- (mips_elf_multi_got): Call it.
- (_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for
- a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and
- use mips_elf_create_dynamic_relocation to deal with any compatibility
- issues. Store the adjusted addend in the GOT slot.
-
-2003-11-25 Mattias Engdegård <mattias@virtutech.se>
-
- * stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when
- procesing N_BINCL stabs.
-
-2003-11-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than
- ppc_stub_plt_call to symbols defined in shared libs.
-
-2003-11-22 Jakub Jelinek <jakub@redhat.com>
-
- * elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag.
- * elf.c (_bfd_elf_link_hash_copy_indirect): Copy it.
- * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
- (elf_i386_check_relocs): Set it.
- (elf_i386_finish_dynamic_symbol): If it is not set,
- clear st_value of SHN_UNDEF symbol.
-
-2003-11-20 Jim Blandy <jimb@redhat.com>
-
- * cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC
- family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>.
-
-2003-11-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol
- section for reloc output and subtract the output section's address
- from the addend when converting a relocation into one against a
- section symbol.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
-
-2003-11-18 James E Wilson <wilson@specifixinc.com>
-
- * elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
- (elfNN_ia64_size_dynamic_sections): When stripping sections, check
- for ia64_info->rel_fptr_sec.
-
-2003-11-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section
- size is zero.
-
-2003-11-17 Daniel Jacobowitz <drow@mvista.com>
-
- * elf.c (_bfd_elf_link_hash_copy_indirect): Copy
- ELF_LINK_HASH_NEEDS_PLT. Fix formatting.
- * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
- * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
- * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
- * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
- * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
- * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
- * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
- * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
- * elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove.
- (elf_backend_copy_indirect_symbol): Don't define.
-
-2003-11-14 Daniel Jacobowitz <drow@mvista.com>
-
- * elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local
- GOT entries.
-
-2003-11-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32
- to R_390_RELATIVE. Convert the other relocations against local
- symbols to relocations against the start of the section.
- * elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64
- to R_390_RELATIVE. Convert the other relocations against local
- symbols to relocations against the start of the section.
-
-2003-11-11 Nick Clifton <nickc@redhat.com>
-
- * elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use
- info->executable not info->shared to decide if a .interp section
- should be present.
- * elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise.
- * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
- * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
- * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
- * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
- * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
- * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
- * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
- * elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise.
- * elflink.h (size_dynamic_sections): Likewise.
-
-2003-11-10 Jonathan Wilson <jonwil@tpgi.com.au>
-
- * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer.
- (_bfd_XXi_final_link_postscript): Look for __tks_used symbol. If
- found initialise the tls data directory entry.
-
-2003-11-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_install_value): Delete.
- (shared_stub_entry, stub_entry): Make them arrays of ints.
- Remove initial branch.
- (ppc_elf_relax_section): Write one branch around all trampolines
- instead. Correct bogus R_PPC_PLTREL24 handling. Correct
- branch range check. Only use shared_stub_entry when shared.
- Test that branches can reach stubs. Write trampolines out at
- end so that just one realloc is used. Handle little-endian
- mode. Move relevant code from ppc_elf_install_value to here.
- (ppc_elf_relocate_section): Move code handling RELAX32 from
- ppc_elf_install_value to here.
-
-2003-11-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC.
- (ppc_elf_install_value): Handle R_PPC_RELAX32PC. Merge duplicate
- cases.
- (shared_stub_entry): Correct opcode.
- (ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs.
- (ppc_elf_relocate_section): Handle them.
-
-2003-11-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return
- updated section in case of merged section.
- * elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
- * elf-hppa.h (elf_hppa_relocate_section): Adjust call.
- * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
- * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
- * elf32-arm.h (elf32_arm_relocate_section): Likewise.
- * elf32-avr.c (elf32_avr_relocate_section): Likewise.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
- * elf32-frv.c (elf32_frv_relocate_section): Likewise.
- * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-i370.c (i370_elf_relocate_section): Likewise.
- * elf32-i860.c (elf32_i860_relocate_section): Likewise.
- * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
- * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
- * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sh.c (sh_elf_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-v850.c (v850_elf_relocate_section) Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
- * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
-
- * elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
- section for reloc output.
- * elf32-i370.c (i370_elf_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
-
- * elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
- for R_PPC_RELAX32 reloc. Don't bother checking ppc_elf_install_value
- return value.
- * elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
- sec->id.
-
-2003-11-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.
- (elf32_d10v_relocate_section): Use them to handle -r reloc
- adjustments, and in place of _bfd_elf_rela_local_sym.
-
- * cpu-iq2000.c (arch_info_struct): Warning fix.
-
-2003-11-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.
- (elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
- weakdefs.
- (elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
- (elf32_hppa_adjust_dynamic_symbol): Likewise. Copy weakdef
- NON_GOT_REF.
- (allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
- SYMBOL_CALLS_LOCAL. Discard relocs for undef weak syms with
- non-default visibility.
- (elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
- SYMBOL_CALLS_LOCAL.
-
-2003-11-04 Alan Modra <amodra@bigpond.net.au>
-
- * aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.
- * coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
- * coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
- * cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
- * cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
- * gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
- * nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
-
- * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix
- "dereferencing type-punned pointer" warnings.
-
- * aout-adobe.c (aout_adobe_set_section_contents): Constify location.
- * aoutx.h (NAME(aout,set_section_contents)): Ditto.
- * bfd-in2.h: Regenerate.
- * binary.c (binary_set_section_contents): Ditto.
- * bout.c (b_out_set_section_contents): Ditto.
- * coff-tic54x.c (tic54x_set_section_contents): Ditto.
- * coffcode.h (coff_set_section_contents): Ditto.
- * ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
- * elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
- * elf.c (_bfd_elf_set_section_contents): Ditto.
- * elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
- * elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
- * i386msdos.c (msdos_set_section_contents): Ditto.
- * ieee.c (ieee_set_section_contents): Ditto.
- * ihex.c (ihex_set_section_contents): Ditto.
- * libaout.h (NAME(aout,set_section_contents)): Ditto.
- * libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
- (_bfd_generic_set_section_contents): Ditto.
- * libbfd.h: Regenerate.
- * libbfd.c (_bfd_generic_set_section_contents): Ditto.
- * libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
- * libnlm.h (nlmNAME(set_section_contents)): Ditto.
- (struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
- * mmo.c (mmo_set_section_contents): Ditto.
- * nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
- * nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
- * nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
- * nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
- * nlmcode.h (nlm_set_section_contents): Ditto.
- * oasys.c (oasys_set_section_contents): Ditto.
- * pdp11.c (NAME(aout,set_section_contents)): Ditto.
- * ppcboot.c (ppcboot_set_section_contents): Ditto.
- * srec.c (srec_set_section_contents): Ditto.
- * targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
- * tekhex.c (tekhex_set_section_contents): Ditto.
- (move_section_contents): Ditto.
- * versados.c (versados_set_section_contents): Ditto.
- * vms-misc.c (_bfd_save_vms_section): Ditto.
- * vms.c (vms_set_section_contents): Ditto.
- * vms.h (_bfd_save_vms_section): Ditto.
-
-2003-11-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_size_one_stub): Size relbrlt. Accept info arg
- rather than htab.
- (ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal. Zero
- relbrlt size.
- (ppc64_elf_build_stubs): Allocate space for relbrlt.
-
-2003-11-04 Alan Modra <amodra@bigpond.net.au>
-
- * bfd-in.h (_bfd_elf_tls_setup): Declare.
- * bfd-in2.h: Regenerate.
- * elf-bfd.h (struct elf_link_tls_segment): Delete.
- (struct elf_link_hash_table): Add tls_sec and tls_size.
- * elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
- * elflink.c (_bfd_elf_tls_setup): New function.
- * elflink.h (struct elf_final_link_info): Remove first_tls_sec.
- (elf_bfd_final_link): Don't set first_tls_sec here. Update code
- saving tls segment info, round segment size up.
- (elf_link_output_extsym): Adjust code using tls segment info.
- (elf_link_input_bfd): Likewise.
- * elf32-i386.c (dtpoff_base, tpoff): Likewise.
- * elf32-s390.c (dtpoff_base, tpoff): Likewise.
- * elf32-sh.c (dtpoff_base, tpoff): Likewise.
- * elf32-sparc.c (dtpoff_base, tpoff): Likewise.
- * elf64-s390.c (dtpoff_base, tpoff): Likewise.
- * elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
- * elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
- (elfNN_ia64_dtprel_base): Likewise.
- * elf64-alpha.c (alpha_get_dtprel_base): Likewise.
- (alpha_get_tprel_base): Likewise.
- (struct alpha_relax_info): Remove tls_segment.
- (elf64_alpha_relax_got_load): Adjust invocation of
- alpha_get_dtprel_base and alpha_get_tprel_base.
- (elf64_alpha_relax_tls_get_addr): Likewise.
- (elf64_alpha_relax_section): Likewise.
- (elf64_alpha_relocate_section): Likewise.
- (elf64_alpha_relax_find_tls_segment): Delete.
- * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
- (ppc_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
- (ppc_elf_relocate_section): Adjust to use elf.tls_sec.
- * elf32-ppc.h (ppc_elf_tls_setup): Update.
- * elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
- (ppc64_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
- (ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
- (ppc64_elf_relocate_section): Likewise.
- * elf64-ppc.h (ppc64_elf_tls_setup): Update.
-
-2003-11-03 Daniel Jacobowitz <drow@mvista.com>
-
- * elf-bfd.h (struct elf_backend_data): Remove plt_header_size.
- * elf-m10300.c (elf_backend_plt_header_size): Don't define.
- * elf32-arm.h (elf_backend_plt_header_size): Don't define.
- * elf32-cris.c (elf_backend_plt_header_size): Don't define.
- * elf32-i386.c (elf_backend_plt_header_size): Don't define.
- * elf32-mips.c (elf_backend_plt_header_size): Don't define.
- * elf32-ppc.c (elf_backend_plt_header_size): Don't define.
- * elf32-s390.c (elf_backend_plt_header_size): Don't define.
- * elf32-sh.c (elf_backend_plt_header_size): Don't define.
- * elf32-sparc.c (elf_backend_plt_header_size): Don't define.
- * elf64-alpha.c (elf_backend_plt_header_size): Don't define.
- * elf64-hppa.c (elf_backend_plt_header_size): Don't define.
- * elf64-mips.c (elf_backend_plt_header_size): Don't define.
- * elf64-ppc.c (elf_backend_plt_header_size): Don't define.
- * elf64-s390.c (elf_backend_plt_header_size): Don't define.
- * elf64-sh64.c (elf_backend_plt_header_size): Don't define.
- * elf64-sparc.c (elf_backend_plt_header_size): Don't define.
- * elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
- * elfn32-mips.c (elf_backend_plt_header_size): Don't define.
- * elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
- * elfxx-target.h (elf_backend_plt_header_size): Don't define
- or include in target initializer.
-
-2003-11-03 Andrew Cagney <cagney@redhat.com>
-
- * section.c (bfd_set_section_contents): Make the "location" buffer
- constant.
- * bfd-in2.h: Re-generate.
-
-2003-10-30 Andrew Cagney <cagney@redhat.com>
-
- * syms.c: Replace "struct symbol_cache_entry" with "struct
- bfd_symbol".
- * vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
- * mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
- * cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
- * bfd-in2.h: Re-generate.
-
-2003-10-30 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c: Include objalloc.h, hashtab.h.
- (struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym
- fields.
- (struct elfNN_ia64_local_hash_table): Remove.
- (struct elfNN_ia64_link_hash_table): Change loc_hash_table's type
- to htab_t. Add loc_hash_memory field.
- (elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry):
- Removed.
- (elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New
- functions.
- (elfNN_ia64_hash_table_create): Use hashtab.h hashtable for
- loc_hash_table. Initialize loc_hash_memory.
- (elfNN_ia64_hash_table_free): New function.
- (elfNN_ia64_local_hash_lookup): Remove.
- (elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse
- callback.
- (elfNN_ia64_dyn_sym_traverse): Use htab_traverse.
- (get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table.
- (bfd_elfNN_bfd_link_hash_table_free): Define.
-
-2003-10-30 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versioned
- symbol string in place.
-
-2003-10-30 Jim Blandy <jimb@redhat.com>
-
- * cpu-rs6000.c (rs6000_compatible): Check the correct arch_info
- object's mach field: all PowerPC machines are supersets of the
- original rs6000, but not later rs6000 machines.
-
-2003-10-30 Alan Modra <amodra@bigpond.net.au>
-
- * dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr".
- Add "val" and "sval" fields.
- (DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete.
- (read_attribute_value): Expand and adjust DW_* occurrences.
- (scan_unit_for_functions, parse_comp_unit): Likewise.
-
-2003-10-30 Phil Edwards <phil@codesourcery.com>
-
- * config.bfd (arm-*-vxworks): Remove separate stanza; merge with
- other common ELF triples.
- (i[3-7]86-*-vxworks): Change to ELF format.
- (mips*-*-windiss): New triple, add to common MIPS/ELF stanza.
- (sh-*-vxworks): New stanza.
-
-2003-10-30 Lars Knoll <lars@trolltech.com>
- Michael Matz <matz@suse.de>
- Jakub Jelinek <jakub@redhat.com>
- Alan Modra <amodra@bigpond.net.au>
-
- * merge.c (struct sec_merge_sec_info): Update comment.
- (struct sec_merge_hash_entry): Remove entsize.
- (sec_merge_hash_lookup): Only adjust alignment when creating.
- (sec_merge_emit): Remove register keyword.
- (cmplengthentry, last4_eq, last_eq): Delete.
- (strrevcmp, strrevcmp_align, is_suffix): New.
- (merge_strings): Use them to implement fast suffix merging.
- * elf-strtab.c (struct elf_strtab_hash_entry): Update comments.
- Make "len" signed.
- (_bfd_elf_strtab_add): Lose on >2G strings.
- (_bfd_elf_strtab_emit): Don't emit strings with len < 0.
- (cmplengthentry, last4_eq): Delete.
- (strrevcmp, is_suffix): New.
- (_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
-
-2003-10-29 Daniel Jacobowitz <drow@mvista.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate): Move check for
- SEC_ALLOC.
-
-2003-10-29 Philip Blundell <philb@gnu.org>
-
- * elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New
- code sequence.
- (PLT_HEADER_SIZE): New.
- (struct elf32_arm_pcrel_relocs_copied): Rename to ...
- (struct elf32_arm_relocs_copied): ... this. Count both
- pcrel and non-pcrel relocs. All uses updated.
- (struct elf32_arm_link_hash_table): Add pointers to dynamic linker
- sections and symbol/section mapping cache.
- (create_got_section): New.
- (elf32_arm_create_dynamic_sections): New.
- (elf_backend_create_dynamic_sections): Use it.
- (elf32_arm_final_link_relocate): Support garbage collection of relocs.
- (elf32_arm_check_relocs): Likewise.
- (elf32_arm_adjust_dynamic_symbol): Likewise.
- (elf32_arm_copy_indirect_symbol): New.
- (elf32_arm_link_hash_table_create): Initialise new fields.
- (elf32_arm_gc_sweep_hook): Implement.
- (elf32_arm_discard_copies): Delete.
- (elf32_arm_finish_dynamic_symbol): Use new PLT code.
- (elf32_arm_finish_dynamic_sections): Likewise.
- (elf_backend_can_refcount): Define.
- (elf_backend_copy_indirect_symbol): Likewise.
- (elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
-
-2003-10-29 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (elf_backend_grok_prstatus): Define.
- (elf_backend_grok_psinfo): Define.
- (ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
-
- * elf.c (_bfd_elfcore_make_pseudosection): Allow multiple
- sections with the same name.
- (elfcore_grok_lwpstatus): Likewise.
- (elfcore_grok_win32pstatus): Likewise.
- (elfcore_grok_note): Likewise.
- (elfcore_grok_nto_status): Likewise.
- (elfcore_grok_nto_gregs): Likewise.
-
-2003-10-27 Daniel Jacobowitz <drow@mvista.com>
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
- objects.
-
-2003-10-14 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
-
-2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
- hash table for real symbols.
-
-2003-10-23 Michael Snyder <msnyder@redhat.com>
-
- * section.c (asection): Fix typo in comment.
-
-2003-10-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc
- reloc symbol index to it. Don't allow gd syms in shared libs
- to be optimized.
- (ppc64_elf_tls_optimize): Adjust get_tls_mask call.
- (ppc64_elf_size_stubs): Likewise.
- (ppc64_elf_relocate_section): Check that tls relocs are only used
- with tls syms, and similarly for non-tls. Correct symbol used
- when optimizing toc tls code.
-
-2003-10-22 Nick Clifton <nickc@redhat.com>
-
- * peicode.h (coff_swap_scnhdr_in): Only remove padding when
- processing an executable.
-
-2003-10-22 Jakub Jelinek <jakub@redhat.com>
-
- * elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
- field changes.
- (_bfd_elf_link_assign_sym_version): Likewise.
- * elflink.h (size_dynamic_sections): Likewise.
-
-2003-10-21 Alexandre Oliva <aoliva@redhat.com>,
- Michael Snyder <msnyder@redhat.com>
-
- * archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu,
- bfd_mach_sh4a_nofpu): New machine types.
- * bfd-in2.h: Rebuilt.
- * cpu-sh.c (compatible): Remove unused function.
- (SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New.
- (arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu.
- * elf32-sh.c (sh_elf_set_mach_from_flags): Handle them.
-
-2003-10-21 Wouter van Heyst <wouter@vidicode.nl>
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text
- describing mismatched formats involving the Maverick FP type.
-
-2003-10-21 Anil Paranjpe <anilp1@KPITCummins.com>
-
- * binary.c (binary_object_p): Pass machine flag along with
- architecture.
-
-2003-10-21 Thorsten Brehm <brehm@gmx.net>
-
- * archures.c (bfd_default_scan): Add support for mcf528x.
- * ieee.c (ieee_write_processor): Likewise.
-
-2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
- Bernardo Innocenti <bernie@develer.com>
-
- * archures.c: Add MCF528x (MCFv4) support.
- * bfd/cpu-m68k.c (arch_info_struct): Likewise.
- * bfd-in2.h: Regenerate.
-
-2003-10-20 Andrew Cagney <cagney@redhat.com>
-
- * targets.c: Replace "struct sec" with "struct bfd_section"
- * syms.c, sparclynx.c, section.c, opncls.c: Ditto.
- * libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
- * elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
- * aout-tic30.c, aout-target.h:
- * bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
-
-2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
-
- Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs.
- * elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro.
- (struct _mmix_elf_section_data): New member pjs.
- (mmix_set_relaxable_size, mmix_elf_get_section_contents): New
- functions.
- (elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE.
- (mmix_reloc_map): Ditto.
- (mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE.
- (mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto.
- (mmix_elf_perform_relocation): Ditto. Don't mark parameter addr
- unused.
- (mmix_elf_check_relocs): Move early return to after
- mmix_elf_check_common_relocs call.
- (mmix_elf_symbol_processing): Fix cut-and-pasto in head comment.
- (_bfd_mmix_before_linker_allocation): Rename from
- _bfd_mmix_prepare_linker_allocated_gregs. All referers changed.
- Arrange to set the initial relaxable size of sections.
- (_bfd_mmix_after_linker_allocation): Rename from
- _bfd_mmix_finalize_linker_allocated_gregs.
- (mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc.
- (bfd_elf64_get_section_contents): Define.
- * reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
- * libbfd.h, bfd-in2.h: Regenerate.
-
- * reloc.c (bfd_generic_relax_section): Default-set
- section->_cooked_size here.
- (bfd_generic_get_relocated_section_contents): Don't set it here.
- Explain why.
-
-2003-10-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if
- output section has been discarded.
-
-2003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com>
-
- * coff-h8300.c (funcvec_hash_newfunc): Handle normal mode.
- (h8300_reloc16_extra_cases): Likewise.
- (h8300_bfd_link_add_symbols): Likewise.
-
-2003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * cpu-h8300.c (h8300sxn_info_struct): Correct address size.
- (h8300sn_info_struct): Likewise.
- (h8300hn_info_struct): Likewise.
-
-2003-10-16 Pavel Roskin <proski@gnu.org>
-
- * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size
- for sections which lack size info.
-
-2003-10-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * configure.host: Add __USE_MINGW_FSEEK to HDEFINES for
- mingw32.
-
-2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn
- undefined patterns with '*'.
-
-2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't
- use the last CIE from a different section.
- (_bfd_elf_write_section_eh_frame): Don't pad beyond the raw
- size of the output section.
-
-2003-10-07 Roland McGrath <roland@redhat.com>
-
- * elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of
- new section from p_align header field.
-
-2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf32-xtensa.c (xtensa_read_table_entries): The external size
- of entry is 8 bytes.
-
-2003-10-15 Andrew Cagney <cagney@redhat.com>
-
- * targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
- with NAME##_canonicalize_symtab.
- * libcoff-in.h (coff_canonicalize_symtab): Update.
- * xsym.h (bfd_sym_canonicalize_symtab): Update.
- * elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
- * coffgen.c (coff_canonicalize_symtab): Update.
- * libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
- * libnlm.h (nlmNAME(canonicalize_symtab)): Update.
- * ieee.c (ieee_vec): Update comment.
- * libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
- * mmo.c (mmo_canonicalize_symtab): Update.
- * nlm-target.h (nlm_canonicalize_symtab): Update.
- * nlmcode.h (nlm_canonicalize_symtab): Update.
- * i386msdos.c (msdos_canonicalize_symtab): Update.
- * hp300hpux.c (MY (canonicalize_symtab)): Update.
- * oasys.c (oasys_canonicalize_symtab): Update.
- * som.c (som_canonicalize_symtab): Update.
- * pef.c (bfd_pef_canonicalize_symtab): Update.
- * nlmcode.h (nlm_canonicalize_symtab): Update.
- * xsym.c (bfd_sym_canonicalize_symtab): Update.
- * vms.c (vms_canonicalize_symtab): Update.
- * versados.c (versados_canonicalize_symtab): Update.
- * mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
- * ieee.c (ieee_canonicalize_symtab): Update.
- * pdp11.c (NAME(aout,canonicalize_symtab)): Update.
- * reloc.c: Update comment.
- * libaout.h (NAME(aout,canonicalize_symtab)): Update.
- * coff64-rs6000.c (aix5coff64_vec): Update.
- * coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
- * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
- * aoutx.h (NAME(aout,canonicalize_symtab)): Update.
- * elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
- * hp300hpux.c (MY_canonicalize_symtab): Update.
- * ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
- * aout-tic30.c (MY_canonicalize_symtab): Update.
- * aout-target.h (MY_canonicalize_symtab): Update.
- * ppcboot.c (ppcboot_canonicalize_symtab): Update.
- * elf.c (_bfd_elf_canonicalize_symtab): Update.
- * elfcode.h (elf_canonicalize_symtab): Update.
- * ihex.c (ihex_canonicalize_symtab): Update.
- * tekhex.c (tekhex_canonicalize_symtab): Update.
- * binary.c (binary_canonicalize_symtab): Update.
- * srec.c (srec_canonicalize_symtab): Update.
-
-2003-10-15 Kazu Hirata <kazu@cs.umass.edu>
-
- * elf32-h8300.c (elf_reloc_map): Fix a comment typo.
-
-2003-10-15 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
- relocations.
- (sh_elf_check_relocs): Likewise.
-
- * elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
- (sh64_elf_merge_symbol_attribute): New.
- * elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
- (sh64_elf64_merge_symbol_attribute): New.
-
-2003-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf-bfd.h (struct elf_backend_data): New function pointer member
- elf_backend_merge_symbol_attribute.
- * elflink.h (elf_link_add_object_symbols): Adjust call to
- elf_backend_merge_symbol_attribute if the backend defined it.
- * elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
- (elfNN_bed): Add that to the initializer.
-
-2003-10-14 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (get_is_linkonce_section): Delete.
- (xtensa_is_property_section, xtensa_is_littable_section): Use
- XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Do not recognize
- linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
- (xtensa_get_property_section_name): Check section name instead of
- calling get_is_linkonce_section. Remove unused bfd parameter. Use
- XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Never generate
- linkonce section names by appending ".xt.insn" or ".xt.lit".
- (xtensa_read_table_entries): Remove bfd argument in call to
- xtensa_get_property_section_name. Free section name when done.
- (elf_xtensa_combine_prop_entries): Free leaking table.
-
-2003-10-13 Richard Sandiford <rsandifo@redht.com>
-
- * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
- DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
- (_bfd_mips_elf_finish_dynamic_symbol): Don't handle them. Don't
- handle DT_MIPS_MSYM. Set DT_RELSZ based on the number of relocations
- that were needed.
- (_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
- (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
-
-2003-10-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
- (bfd_elf64_ia64_after_parse): Likewise.
- * bfd-in2.h: Regenerated.
-
- * elfxx-ia64.c (oor_ip): New.
- (oor_branch_size): Likewise.
- (bfd_elfNN_ia64_after_parse): Likewise.
- (elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
- equals sizeof (oor_ip).
-
-2003-10-12 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
- renumbering of some relocation numbers.
-
-2003-10-11 Alan Modra <amodra@bigpond.net.au>
-
- * coff-sh.c: Move definition of MAP and guard more code with
- COFF_IMAGE_WITH_PE.
-
- * section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
- * bfd-in2.h: Regenerate.
-
-2003-10-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * doc/Makefile.in: Likewise.
-
-2003-10-09 H.J. Lu <hongjiu.lu@intel.com>
-
- * cofflink.c: Include "safe-ctype.h".
- (coff_link_add_symbols): Use ISDIGIT instead of isdigit.
-
-2003-10-08 Dave Brolley <brolley@redhat.com>
- On behalf of Michael Snyder <msnyder@redhat.com>
-
- * archures.c: Add FRV fr550 machine.
- * cpu-frv.c: Ditto.
- * elf32-frv.c: Ditto.
- * bfd-in2.h: Regenerate.
-
-2003-10-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
- for non-SGI N64 ABI. Improve code consitency.
-
-2003-10-07 Alexandre Oliva <aoliva@redhat.com>
-
- * elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
- rightshift to 2.
-
-2003-10-07 Nathan Sidwell <nathan@codesourcery.com>
-
- * libbfd-in.h (_bfd_link_section_stabs): Add string offset
- parameter.
- * cofflink.c (coff_link_add_symbols): Deal with split stab
- sections.
- * elflink.h (elf_link_add_object_symbols): Deal with split stab
- sections.
- * stabs.c (_bfd_link_section_stabs): Add string offset parameter.
- * libbfd.h: Regenerated.
-
- * coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
- overflow, set reloc start position to after the count
- reloc. Subtract one from num relocs. Give error on 0xffff relocs
- and no overflow.
- * cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
- overflow.
- * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
- 0xffff.
-
-2003-10-06 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
- last CIE/FDE if needed.
-
-2003-10-06 Nick Clifton <nickc@redhat.com>
-
- * targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
- BFD64 is enabled.
-
-2003-10-06 Matt Thomas <matt@3am-software.com>
-
- * config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
-
-2003-10-06 Robert Millan <robertmh@gnu.org>
-
- * configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
- * config.bfd: Likewise.
- * configure: Regenerate.
-
-2003-10-04 Christian Groessler <chris@groessler.org>
-
- * coff-z8k.c (extra_case): Fix displacement length check for R_JR
- and R_CALLR.
-
-2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
- * elf32-m68hc11.c: Likewise.
- * elf32-m68hc12.c: Likewise.
- * elf32-m68hc1x.h: Likewise.
-
-2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
- of flags between HC12 and HCS12.
-
-2003-10-04 Bryce McKinlay <bryce@mckinlay.net.nz>
-
- * merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
- which become empty after merging.
-
-2003-09-30 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
- R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
-
-2003-09-30 Chris Demetriou <cgd@broadcom.com>
-
- * archures.c (bfd_mach_mipsisa64r2): New define.
- * bfd-in2.h: Regenerate.
- * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
- * cpu-mips.c (I_mipsisa64r2): New enum value.
- (arch_info_struct): Add entry for I_mipsisa64r2.
- * elfxx-mips.c (_bfd_elf_mips_mach)
- (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
- (mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
- (mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
-
-2003-09-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
- Handle SHN_IA_64_ANSI_COMMON.
- (elf_backend_section_from_bfd_section): Defined.
-
-2003-09-26 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (elf_link_read_relocs_from_section): Add an argument
- of a pointer to section. Check bad symbol index.
- (_bfd_elf_link_read_relocs): Modify calls to
- elf_link_read_relocs_from_section.
-
-2003-09-23 DJ Delorie <dj@redhat.com>
-
- * elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
- R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
- R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
- R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
- R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
- R_SH_PSHA, R_SH_PSHL added.
- (sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
- (sh_elf_relocate_section): Support new relocs.
-
-2003-09-23 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
- dynamic relocation offsets.
-
-2003-09-23 Alan Modra <amodra@bigpond.net.au>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Free the
- hash table using _bfd_generic_link_hash_table_free.
-
-2003-09-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct bfd_elf_special_section): Remove "suffix". Change
- type of prefix_length and suffix_length to int. Rename "attributes"
- to "attr". Comment.
- (_bfd_elf_get_sec_type_attr): Update prototype.
- * elf.c (get_special_section): Rewrite.
- (_bfd_elf_get_sec_type_attr): Return struct rather than passing in
- attr and type pointers.
- (_bfd_elf_new_section_hook): Adjust for above.
- (special_sections): Merge suffix with prefix. Set
- prefix_length for all entries. Set suffix_length appropriately.
- * elf32-m32r.c (m32r_elf_special_sections): Likewise.
- * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
- * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
- * elf32-mcore.c (mcore_elf_special_sections): Likewise.
- * elf32-sh64.c (sh64_elf_special_sections): Likewise.
- * elf32-v850.c (v850_elf_special_sections): Likewise.
- * elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
- * elf64-alpha.c (elf64_alpha_special_sections): Likewise.
- * elf64-hppa.c (elf64_hppa_special_sections): Likewise.
- * elf64-ppc.c (ppc64_elf_special_sections): Likewise.
- * elf64-sh64.c (sh64_elf64_special_sections): Likewise.
- * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
- * elf32-ppc.c (ppc_elf_special_sections): Likewise. Fix .plt flags.
-
-2003-09-21 Daniel Jacobowitz <drow@mvista.com>
-
- * elf64-alpha.c (elf64_alpha_create_got_section): Initialize
- ->got if the section already exists.
-
-2003-09-19 Nathan Sidwell <nathan@codesourcery.com>
-
- * dwarf2.c (decode_line_info): Cope with an initially empty
- filename table.
-
-2003-09-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * acinclude.m4: Include ../config/accross.m4.
- * aclocal.m4: Regenerated.
-
- * configure.host (HOST_64BIT_TYPE): Remove if it is set to long
- or long long.
- (HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
- (host64): Remove if HOST_64BIT_TYPE is set to long.
-
- * configure.in (HOST_64BIT_TYPE): Set according to the size of
- long and long long.
- (HOST_U_64BIT_TYPE): Likewise.
- (host64): Likewise.
- * configure: Regenerated.
-
-2003-09-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
- since some ABIs round up the size of the struct.
-
-2003-09-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (_bfd_elf_merge_symbol): Allow type change if
- the old symbol is undefined and the new symbol is defined.
-
-2003-09-18 Andreas Schwab <schwab@suse.de>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Use
- _bfd_generic_link_hash_table_create instead of
- bfd_link_hash_table_create.
-
-2003-09-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
- started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
-
-2003-09-10 John David Anglin <dave.anglin@nrc-cnrc.nrc.ca>
- Randolph Chung <randolph@tausq.org>
-
- * elf32-hppa.c (struct elf32_hppa_link_hash_entry,
- hppa_link_hash_newfunc, hppa_build_one_stub,
- elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
- allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
- elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
- for generating import stubs for calls to statically linked PIC
- functions.
- (hppa_type_of_stub): Don't generate an import stub for calls to
- statically linked pic functions. Generate import stubs for calls
- in a shared object, to functions not in a regular file, and to
- defined weak functions. Add new argument INFO.
- (hppa_build_one_stub): Don't undef ADDIL_DP.
- (elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
- (elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
- (final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
- non-shared link. Convert instructions that use the the linkage table
- pointer, or a facsimile thereof, to use the global data pointer when
- the reloc has been changed.
-
-2003-09-08 Joel Brobecker <brobecker@gnat.com>
-
- * archures.c: Add new machine names for hppa.
- * bfd-in2.h: Regenerate.
- * cpu-hppa.c: Use the new machine names.
-
-2003-09-06 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
- all_local_syms member.
- * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
- to get the local symbols.
-
-2003-09-06 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
- (elf_backend_special_sections): Define.a
-
- PR savannah/4950:
- * elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
- section is read-only.
-
-2003-09-04 Nick Clifton <nickc@redhat.com>
-
- * archures.c (bfd_mach_v850e1): Define.
- * bfd-in2.h: Regenerate.
- * cpu-v850.h (scan): Accept bfd_mach_v850e1.
- (arch_info_struct): Include an entry for bfd_mach_v850e1.
- * elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
- (v850_elf_final_write_processing): Accept bfd_mach_v850e1.
- (v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
- (v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
- linked with v850e binaries. Mark the output as v850e.
-
-2003-09-03 Nick Clifton <nickc@redhat.com>
-
- * cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
- symbols that are used in relocs.
-
-2003-08-30 Robert Millan <robertmh@gnu.org>
-
- * configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
- * config.bfd: Likewise.
- * configure: Regenerate.
-
-2003-08-31 Christian Groessler <chris@groessler.org>
-
- * elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
- instead of returning bfd_reloc_continue.
-
-2003-08-31 Andreas Jaeger <aj@suse.de>
-
- * merge.c: Update to ISO C90.
-
-2003-08-27 Ian Lance Taylor <ian@airs.com>
-
- * configure.in: Check for strtoull.
- * bfd.c (bfd_scan_vma): Use strtoull when available.
- * configure, config.in: Regenerate.
-
- * configure.in: Define and substitute BFD_HOST_LONG_LONG.
- * bfd-in.h: Define BFD_HOST_LONG_LONG. Test it rather than
- __GNUC__ when deciding whether to use long long for
- BFD_HOST_64_BIT.
- * configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
-
-2003-08-27 Christian Groessler <chris@groessler.org>
-
- * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
- i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
- functions.
- (elf32_i860_howto_table): Insert the new functions as
- 'special_function's in the proper reloc type entries.
-
-2003-08-27 Richard Sandiford <rsandifo@redhat.com>
-
- * elf32-frv.c (elf32_frv_relocate_section): Use
- _bfd_elf_rela_local_sym.
-
-2003-08-26 Michael Snyder <msnyder@redhat.com>
-
- * cpu-frv.c: Remove unused enum.
-
-2003-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * reloc.c: Fix documentation for MIPS ELF relocations.
- libbfd.h: Regenerate.
- bfd-in2.h: Regenerate.
-
-2003-08-24 Jason Eckhardt <jle@rice.edu>
-
- * coff-i860.c (CALC_ADDEND): Define to be a no-op.
-
-2003-08-24 Jason Eckhardt <jle@rice.edu>
-
- * elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
- shift by 2 before storing the relocated value.
-
-2003-08-23 Jason Eckhardt <jle@rice.edu>
-
- * coff-i860.c (coff_i860_reloc_nyi): New function.
- (howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
- LOWn, SPLITn, and BRADDR.
- (RTYPE2HOWTO): Check that the r_type is within the howto_table
- before trying to access the entry.
- (coff_i860_rtype_to_howto): Likewise.
- (coff_i860_reloc_type_lookup): New function.
- (i860_reloc_processing): New function.
- (coff_bfd_reloc_type_lookup): Define macro.
- (RELOC_PROCESSING): Define macro.
- Minor formatting adjustments.
-
-2003-08-23 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
-
-2003-08-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
- .got section at 8 bytes.
-
-2003-08-21 Nick Clifton <nickc@redhat.com>
-
- * cofflink.c: Update to ISO C90 and tidy up formatting.
-
-2003-08-21 Randolph Chung <tausq@debian.org>
-
- * elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
- can have OSABI=Linux or OSABI=SysV. Check for both.
- * elf64-hppa.c (elf64_hppa_object_p): Likewise.
-
-2003-08-21 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2003-08-20 Richard Sandiford <rsandifo@redhat.com>
-
- * elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
-
-2003-08-20 Nick Clifton <nickc@redhat.com>
-
- * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
- replace some duplicated code in most elfxx-xxxx.c files. This
- version uses the new fields in bfd_link_info.
-
- * elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
- * elf32-arm.h (elf32_arm_relocate_section): Likewise.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-i386.c (elf_i386_relocate_section): Likewise.
- * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
- * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
-
- * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
- elf_hppa_remark_useless_dynamic_symbols,
- elf_hppa_relocate_section): Use the new fields in
- bfd_link_info structure.
- * elf32-sh.c (sh_elf_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
- * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
- * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
- * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
-
- * elflink.h (elf_link_output_extsym): Fix test for reporting
- undefined symbols in shared libraries. Remove redundant test
- of shlib_undefined when reporting references to forced local
- symbols.
-
-2003-08-18 Andreas Schwab <schwab@suse.de>
-
- * libpei.h (bfd_pe_executable_p): Also recognize efi-app
+2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
+
+ Adds linker relaxation support for bit manipulation insns like
+ band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
+ bst, btst, bxor.
+ * elf32-h8300.c : Opcode for bit manipulation insn is checked in
+ elf32_h8_relax_section function while relxation for aa:16 and aa:32.
+ * coff-h8300.c : Opcode for bit manipulation insn is checked in
+ h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
+
+2004-01-12 Alan Modra <amodra@bigpond.net.au>
+
+ * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
+
+2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * elf32-h8300.c: Fix formatting.
+
+2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
+ dynamic object is present. Declare r_symndx and h in an inner
+ scope.
+ * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
+
+2004-01-09 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
+ (elf32_arm_copy_indirect_symbol): Don't copy pc_count.
+ (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
+ identically. Do not emit PC24 relocations for shared libraries.
+ (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
+ identically. Don't adjust pc_count.
+ (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
+ Set ELF_LINK_HASH_NEEDS_PLT for both. Don't adjust pc_count; don't
+ adjust count for branch relocations.
+ (allocate_dynrelocs): Correct typo in call to
+ WILL_CALL_FINISH_DYNAMIC_SYMBOL. Never allocate space for
+ PC24 or PLT32 relocs when linking.
+
+2004-01-09 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+
+ * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
+ relocation howto with ARM_26 one for consistency.
+ (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
+ that will be converted to ARM_26D ones, since we always want 'done'
+ relocations to be reflected in section's data.
+ (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
+ offset.
+ (_bfd_final_link_relocate): Do not modify "inplace" data, if not
+ requested.
+
+2004-01-08 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+
+ * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
+ are not partial_inplace during a relocatable link.
+
+2004-01-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
+ if no dynamic object is present. Declare r_symndx and h in an
+ inner scope.
+
+2004-01-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
+ trampoline if it is known out of range.
+
+2004-01-06 Alexandre Oliva <aoliva@redhat.com>
+
+ 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (_frv_osec_readonly_p): New.
+ (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
+ undefweak symbol.
+ (_frv_count_got_plt_entries): Adjust expected count accordingly.
+ (elf32_frv_relocate_section): Likewise. Error out if attempting
+ to emit rofixups or dynamic relocs in read-only segments. Use
+ _bfd_elf_section_offset to adjust r_offsets in rofixups and
+ dynamic relocations.
+ 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
+ relocations or fixups involving merged sections correctly. Avoid
+ crash when undefined symbol is referenced by R_FRV_32 or
+ R_FRV_FUNCDESC_VALUE.
+ 2003-12-02 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
+ input section holding local symbol to addend of R_FRV_32 or
+ R_FRV_FUNCDESC_VALUE dynamic relocation.
+ 2003-11-27 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
+ (elf32_frv_always_size_sections): Don't store pointer to
+ __stacksize symbol in sec_info.
+ (elf32_frv_modify_segment_map): Look it up here.
+ 2003-11-26 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
+ of the lazy PLT entry, not only its offset, as the low word of a
+ function descriptor.
+ 2003-11-10 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
+ if a hash table entry already exists but is not a definition.
+ 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
+ (_frv_add_rofixup): Don't inline.
+ (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
+ for undefweak symbols.
+ (elf32_frv_relocate_section): Avoid crash while computing
+ relocation when linking with shared library. Only emit rofixups
+ and dynamic relocations for alloc&load sections. Mark binaries
+ with inter-segment relocations for relocation as a unit.
+ (_frv_create_got_section): Rename .rofixup.got to .rofixup.
+ (DEFAULT_STACK_SIZE): New.
+ (_frv_count_got_plt_entries): Fix thinko in deciding whether to
+ emit rofixups or dynamic relocs when linking dynamic non-PIE
executables.
-
-2003-08-17 Hans-Peter Nilsson <hp@bitrange.com>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Move
- reloc_done hack to before first bfd_section_size call. Change all
- returns to use new wrapper macro RETURN, restoring sec->reloc_done.
-
-2003-08-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Don't include elf/ppc.h.
-
-2003-08-14 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
- code to work with 64-bit bfds.
-
-2003-08-14 Alan Modra <amodra@bigpond.net.au>
-
- * dep-in.sed: Remove libintl.h.
- * Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
- (POTFILES.in): Remove target.
- * Makefile.in: Regenerate.
-
-2003-08-12 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
- (ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
- use the function sym from the previous reloc.
-
-2003-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
- fatal if -pie.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- (ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
- on undefined symbols if -pie.
- * elf32-sh.c (sh_elf_relocate_section): Likewise.
-
-2003-08-11 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
- branch to __libc_start_main.
-
-2003-08-08 Dmitry Diky <diwil@mail.ru>
-
- * archures.c: Add xW42 and xE42 parts. Sort MPU list according to
- gcc order.
- * cpu-msp430.c: Likewise.
- * elf32-msp430.c: Likewise.
- * bfd-in2.h: Regenerate.
-
-2003-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * elfxx-target.h: Remove PTR cast.
- * targets.c (bfd_target): Make backend_data const void *.
- * elf-bfd.h: Constify all occurrences of struct elf_backend_data.
- * elf-m10300.c: Likewise.
- * elf.c: Likewise.
- * elf32-hppa.c: Likewise.
- * elf32-i386.c: Likewise.
- * elf32-m68hc1x.c: Likewise.
- * elf32-ppc.c: Likewise.
- * elf32-s390.c: Likewise.
- * elf32-sh.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf32-sparc.c: Likewise.
- * elf32-xtensa.c: Likewise.
- * elf64-mips.c: Likewise.
- * elf64-ppc.c: Likewise.
- * elf64-s390.c: Likewise.
- * elf64-sh64.c: Likewise.
- * elf64-sparc.c: Likewise.
- * elf64-x86-64.c: Likewise.
- * elfcode.h: Likewise.
- * elfcore.h: Likewise.
- * elflink.c: Likewise.
- * elflink.h: Likewise.
- * elfxx-ia64.c: Likewise.
- * elfxx-mips.c: Likewise.
- * elfxx-mips.h: Likewise.
- * elf.c (prep_headers): Remove useless check for null backend_data.
- * bfd-in2.h: Regenerate.
-
- * elf-bfd.h: Remove PARAMS macro. Replace PTR with void *.
- (NAME): Use ## rather than CONCAT4 macro.
- * elfcode.h: Remove one remaining PARAMS macro.
- * elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
- * elf-strtab.c: Likewise.
- * elf-hppa.h: Likewise.
- * elf32-hppa.h: Likewise.
- * elf32-hppa.c: Likewise.
- (elf32_hppa_add_symbol_hook): Delete.
- (elf_backend_add_symbol_hook): Don't define.
- * libhppa.h: Convert to C90. Replace INLINE with inline.
-
-2003-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
- (ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
- function descriptors, but warn.
- (ppc_build_one_stub): Remove a couple of vars. Move code creating
- stub syms so that we can avoid a stub sym if we already have a
- plt sym. Do not redefine an existing symbol.
- (ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
- glink.
-
-2003-08-06 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
-
-2003-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
- SEC_LINKER_CREATED.
-
-2003-08-05 Daniel Jacobowitz <drow@mvista.com>
-
- * elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
- (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
-
-2003-08-03 Jeff Muizelaar <muizelaar@rogers.com>
-
- * coffcode.h (coff_slurp_line_table): Return with a warning
- message if the line number table could not be read.
-
-2003-08-04 Nick Clifton <nickc@redhat.com>
-
- * elflink.h (elf_link_add_object_symbols): Prepend "warning: "
- to messages produced for .gnu.warning.SYMBOL sections.
-
-2003-08-04 Alan Modra <amodra@bigpond.net.au>
-
- * elfcode.h: Convert to C90, remove unneeded casts and prototypes.
- * elfcore.h: Likewise.
- * elflink.c: Likewise.
- * elflink.h: Likewise.
- * elf.c (sym_is_global): Remove INLINE.
- (align_file_position): Replace INLINE with inline.
- * elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
- (elf_file_p): Replace INLINE with inline.
-
-2003-08-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
-
-2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
-
-2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
- ElfNN_External_Rela instead of Elf64_External_Rela.
-
-2003-08-01 Nick Clifton <nickc@redhat.com>
-
- * config.bfd: Add code to catch obsolete configurations and warn
- about them unless --enable-obsolete is used. Use this to mark
- vax-vms port as obsolete.
-
-2003-07-30 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_install_value): Tidy.
- (ppc_elf_relax_section): Remove dead code. Remove unnecessary casts.
- Formatting.
- * elfxx-target.h: Remove PARAMS macro. Formatting.
-
-2003-07-30 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
- * elf64-ppc.c (get_fdh): New function, split out from
- ppc64_elf_edit_opd.
- (ppc64_elf_check_relocs): Use get_fdh.
- (func_desc_adjust): Likewise. Tidy.
- (ppc64_elf_edit_opd): Tighten reloc checks. Free local_syms on error
- exit. Use get_fdh. Account for superfluous dynamic relocs.
- (ppc64_elf_relocate_section): Warning fix.
-
-2003-07-30 Jason Eckhardt <jle@rice.edu>
-
- * coff-i860.c: Convert to ISO C90. Remove superflous prototypes.
-
-2003-07-30 Jason Eckhardt <jle@rice.edu>
-
- * elf32-i860.c: Convert to ISO C90. Remove superflous prototypes.
-
-2003-07-30 Randolph Chung <tausq@debian.org>
-
- * elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
- * elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
-
-2003-07-30 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c: Convert to C90, remove unnecessary prototypes and casts.
- Replace PTR with void *. Formatting.
- (_bfd_elf_assign_file_position_for_section): Remove INLINE.
- (make_mapping): Likewise.
-
-2003-07-29 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (func_desc_adjust): Give linker created function
- descriptor symbols a size and type.
- (ppc64_elf_relocate_section): Correct lq insn test.
-
-2003-07-28 Eric Christopher <echristo@redhat.com>
-
- * elf32-ppc.c (R_PPC_RELAX32): New relocation.
- (ppc_elf_install_value): New function.
- (ppc_elf_sort_rela): Remove.
- (ppc_elf_relax_section): Rewrite. Remove old relaxation
- and replace with out of range branch stubs.
- (ppc_elf_relocate_section): Handle R_PPC_RELAX32.
-
-2003-07-29 Alexandre Oliva <aoliva@redhat.com>
-
- * elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
- from input_bfd.
-
-2003-07-28 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (special_sections): Set attributes for .got and .plt.
-
-2003-07-27 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
- on function descriptors.
- (ELIMINATE_COPY_RELOCS): Expand comment.
- (ppc64_elf_special_sections): Move. Don't include non-ppc64 sections.
- Do include ".toc1".
-
-2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf.c (_bfd_elf_new_section_hook): Set the default section
- type to SHT_NULL.
- (elf_fake_sections): Set the section type based on asect->flags
- if it is SHT_NULL. Don't abort on processor specific section
- types.
-
-2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * bfd-in2.h: Regenerated.
-
-2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-bfd.h (bfd_elf_special_section): New.
- (elf_backend_data): Add special_sections, a pointer to
- bfd_elf_special_section.
- (elf_section_type). New.
- (elf_section_flags): New.
- (_bfd_elf_get_sec_type_attr): New.
-
- * elf.c (_bfd_elf_make_section_from_shdr): Always use the
- real section type/flags.
- (special_sections): New.
- (get_special_section): New.
- (_bfd_elf_get_sec_type_attr): New.
- (_bfd_elf_new_section_hook): Check special_section to set
- elf_section_type and elf_section_flags.
- (elf_fake_sections): Don't use section name to set ELF section
- data.
-
- * elf32-m32r.c (m32r_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-mcore.c (mcore_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-ppc.c (ppc_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-sh64.c (sh64_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-v850.c (v850_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-xtensa.c (elf_xtensa_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf64-alpha.c (elf64_alpha_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf64-hppa.c (elf64_hppa_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf64-ppc.c (ppc64_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf64-sh64.c (sh64_elf64_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elfxx-ia64.c (elfNN_ia64_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elfxx-mips.c (_bfd_mips_elf_special_sections): New.
-
- * elfxx-mips.h (_bfd_mips_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elfxx-target.h (elf_backend_special_sections): New. Default
- to NULL.
- (elfNN_bed): Initialize special_sections.
-
- * section.c (bfd_abs_section): Remove const.
- (bfd_und_section): Likewise.
- (bfd_com_section): Likewise.
- (bfd_ind_section): Likewise.
-
-2003-07-24 Nick Clifton <nickc@redhat.com>
-
- * coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
- sections are assigned the LOAD attribute.
-
-2003-07-25 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c: Convert to C90. Replace PTR with void *.
- * elf32-sh64-com.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf32-sh64.h: Likewise.
- * elf64-sh64.c: Likewise.
-
-2003-07-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
- (allocate_dynrelocs): Likewise.
- (sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
- (sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
-
-2003-07-24 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
-
-2003-07-23 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
- near the beginning of the file. Swap order of arguments. Call
- _bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
- (elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
- (elf_xtensa_relocate_section): Likewise.
- (shrink_dynamic_reloc_sections): Likewise.
-
-2003-07-23 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
- (elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
- (elf_xtensa_combine_prop_entries): Avoid returning non-zero without
- first printing an error message.
- (elf_xtensa_finish_dynamic_sections): Likewise.
- (elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
- discarding literal table entries.
- (elf_xtensa_merge_private_bfd_data): Remove newline from error message.
- (elf_xtensa_do_asm_simplify): Likewise.
-
-2003-07-23 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
- we have a local symbol in common section.
-
-2003-07-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
- weak symbols.
-
-2003-07-22 Nick Clifton <nickc@redhat.com>
-
- * coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
- expected RS6000 storage classes.
-
-2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
- output_bfd unused to silence gcc.
-
-2003-07-21 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2003-07-21 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
- (_bfd_elf_symbol_refs_local_p): ..this. Declare.
- * elflink.c (_bfd_elf_symbol_refs_local_p): New function.
- * elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
- now done in _bfd_elf_symbol_refs_local_p.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
-
-2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
-
-2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
- (SYMBOL_CALLS_LOCAL): Likewise.
-
- * elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
- immediately if symbol isn't defined locally.
-
-2003-07-18 Richard Henderson <rth@redhat.com>
-
- * elflink.c (_bfd_elf_dynamic_symbol_p): New.
- * elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
- (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
- * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
- * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
- * elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
- * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
- Update all callers to provide the relocation being resolved.
-
-2003-07-17 Shaun Jackman <sjackman@pathwayconnect.com>
-
- * config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
- targ_cflags.
-
-2003-07-17 Nick Clifton <nickc@redhat.com>
-
- * po/es.po: New Spanish translation.
- * po/sv.po: New Swedish translation.
- * po/opcodes.pot: Regenerate.
-
-2003-07-16 Richard Henderson <rth@redhat.com>
-
- * config.bfd, configure.host, configure.in: Remove ia64-aix support.
- * elfxx-ia64.c, targets.c: Likewise.
-
-2003-07-16 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
- for symbols defined locally plus -Bsymbolic. Tidy logic.
-
-2003-07-15 Richard Sandiford <rsandifo@redhat.com>
-
- * archures.c (bfd_mach_mips7000): New.
- * bfd-in2.h: Regenerated.
- * cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
- * elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
- (mips_mach_extensions): Add an entry for it.
-
-2003-07-14 Nick Clifton <nickc@redhat.com>
-
- * po/tr.po: Update with latest version.
- * po/SRC-POTFILES.in: Regenerate.
- * po/bfd.pot: Regenerate.
- * Makfile.in: Regenerate.
- * configure: Regenerate.
-
-2003-07-12 Jeff Baker <jbaker@qnx.com>
-
- * bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
- * bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
- * bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
- * bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
-
-2003-07-12 Jeff Muizelaar <muizelaar@rogers.com>
-
- * coffcode.h (coff_set_section_contents): Set the
- IMAGE_FILE_32BIT_MACHINE flag for PE targets.
-
-2003-07-11 Richard Sandiford <rsandifo@redhat.com>
-
- * bfd-in.h (bfd_h8300_pad_address): Declare.
- * bfd-in2.h: Regenerate.
- * cpu-h8300.c (bfd_h8300_pad_address): New function.
- * coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
- addresses before checking whether they can be relaxed.
- (h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
- Don't complain about overflows in general 8-bit relocations.
- * elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
- Fix handling of R_H8_DIR24A8.
-
-2003-07-11 Richard Sandiford <rsandifo@redhat.com>
-
- * elf32-h8300.c: Convert function prototypes and definitions
- to C90 syntax.
- * coff-h8300.c: Likewise.
- * cpu-h8300.c: Likewise.
-
-2003-07-11 Alan Modra <amodra@bigpond.net.au>
-
- * po/SRC-POTFILES.in: Regenerate.
- * po/bfd.pot: Likewise.
-
-2003-07-10 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
- .got.loc section. Do not set SEC_ALLOC or SEC_LOAD flags for the
- .xt.lit.plt section.
- (elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
- and allocate memory for it.
- (elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
- section to the .got.loc section.
- (elf_xtensa_finish_dynamic_sections): Fix up call to
- elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
- the address of .got.loc.
- (relax_property_section): Shrink .got.loc to match changes in any
- literal table section.
- (xtensa_is_property_section): Change to match
- xtensa_get_property_section_name.
- (xtensa_is_littable_section): New.
-
-2003-07-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
- -1LL.
-
-2003-07-10 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
- (BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
- Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-07-10 Alexandre Oliva <aoliva@redhat.com>
-
- 2001-09-12 Alexandre Oliva <aoliva@redhat.com>
- * elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
- (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
- 2001-06-02 Nick Clifton <nickc@cambridge.redhat.com>
- * elf32-am33lin.c: Rename global functions.
- 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
- * config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
- * configure.in (bfd_elf32_am33lin_vec): Added.
- * Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
- (elf32-am33lin.lo): List dependencies.
- * aclocal.m4, configure, Makefile.in: Rebuilt.
- * elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
- ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
- ELF_ARCH was not defined before.
- (elf_symbol_leading_char): Define if not defined.
- * elf32-am33lin.c: Override the definitions above.
- * targets.c (bfd_elf32_am33lin_vec): New.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
- pcrel_relocs_copied.
- 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
- ld-linux.so.2 to ld.so.1.
- 2001-10-10 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
- (_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
- (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
- * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
- .rela.* section contents with bfd_zalloc.
- 2001-09-25 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c: Added declarations for functions missing them.
- Merge some shared-library changes from the i386 back-end. Use
- R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
- R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
- (struct elf32_mn10300_link_hash_entry): Remove duplicates of
- members of elf_link_hash_entry. Adjusted references.
- (mn10300_elf_final_link_relocate): dynobj was already loaded
- into a local variable, use it.
- 2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
- * elf-m10300.c: Add missing function prototypes.
- 2001-08-24 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c (mn10300_elf_relocate_section): Don't compute
- relocation for dynamic relocations.
- 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
- * reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
- * elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
- PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
- (_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
- (_bfd_mn10300_elf_create_got_section): ... here, so that its
- adress is already known at the time we compute relaxations.
- (mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
- and PLT32 to narrower relocations.
- * libbfd.h, bfd-in2.h: Rebuilt.
- 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
- * reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
- BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
- BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
- BFD_RELOC_MN10300_RELATIVE): New relocs.
- * libbfd.h, bfd-in2.h: Rebuilt.
- * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
- (struct elf32_mn10300_link_hash_entry): Added DSO-related
- fields.
- (elf_mn10300_howto): Defined new relocation types.
- (mn10300_reloc_map): Map them.
- (_bfd_mn10300_elf_create_got_section): New fn.
- (mn10300_elf_check_relocs): Handle PIC relocs.
- (mn10300_elf_final_link_relocate): Likewise.
- (mn10300_elf_relocate_section): Handle DSOs.
- (PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
- (elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
- elf_mn10300_pic_plt_entry): New.
- (elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
- elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
- elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
- elf_mn10300_plt_reloc_offset: New macros.
- (ELF_DYNAMIC_INTERPRETER): Likewise.
- (_bfd_mn10300_elf_create_dynamic_sections): New function.
- (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
- (_bfd_mn10300_elf_discard_copies): Likewise.
- (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
- (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
- (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
- (elf_backend_can_gc_sections,
- elf_backend_create_dynamic_sections,
- elf_backend_adjust_dynamic_sections,
- elf_backend_size_dynamic_sections,
- elf_backend_finish_dynamic_symbol,
- elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
- elf_backend_plt_readonly, elf_backend_want_plt_sym,
- elf_backend_got_header_size, elf_backend_plt_header_size): New
- macros.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2001-05-06 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c (compute_function_info): Account for AM33
- registers in `movm' when computing stack space for `call' when
- linking for AM33/2.0 link.
- 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
- * archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
- * bfd-in2.h: Rebuilt.
- * cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
- * elf-m10300.c: Updated.
- 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
- * archures.c (bfd_mach_am332): Defined.
- * bfd-in2.h: Rebuilt.
- * cpu-m10300.c (bfd_am332_arch): Defined.
- (bfd_am33_arch): Chained with am33-2.
- * elf-m10300.c (elf_mn10300_mach): Handle am332.
- (_bfd_mn10300_elf_final_write_processing): Likewise.
-
-2003-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
-
-2003-07-10 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (bfd_elf64_mkobject): Define.
- (struct ppc64_elf_obj_tdata): New.
- (ppc64_elf_tdata, ppc64_tlsld_got): Define.
- (ppc64_elf_mkobject): New function.
- (struct got_entry): Add "owner". Move "tls_type".
- (struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
- (ppc64_elf_init_stub_bfd): New function.
- (create_got_section): Create header .got in dynobj. Create .got
- and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
- (ppc64_elf_create_dynamic_sections): Don't call create_got_section.
- Look for dynobj .got, and test it.
- (ppc64_elf_copy_indirect_symbol): Adjust for changed got.
- (update_local_sym_info): Likewise.
- (ppc64_elf_check_relocs): Likewise.
- (ppc64_elf_gc_sweep_hook): Likewise.
- (ppc64_elf_tls_optimize): Likewise.
- (allocate_dynrelocs): Likewise.
- (ppc64_elf_size_dynamic_sections): Likewise.
- (ppc64_elf_relocate_section): Likewise.
- (ppc64_elf_next_toc_section): Update comment.
- (toc_adjusting_stub_needed): Remove unneeded cast.
- (ppc64_elf_build_stubs): Check for stub sections in stub bfd by
- testing section flags.
- (ppc64_elf_build_stubs): Likewise.
- (ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
- (ppc64_elf_finish_dynamic_sections): Write out got sections.
- (func_desc_adjust): Copy over dynamic info for undef weaks.
- * elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
- (ppc64_elf_size_stubs): Update prototype.
- * elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
- input sections rather than scanning dynobj.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
- (bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
- (mips_elf_create_msym_section): Delete.
- (mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
- (_bfd_mips_elf_copy_indirect_symbol): Likewise.
- (_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
- (_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
- (_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
- (_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
- (_bfd_mips_elf_finish_dynamic_sections): Likewise.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
- symbols protected.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
- of relocations whose offset is -2.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
- forced-local symbols like other locals. Don't create relocations
- against STN_UNDEF in irix objects.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
- compatible objects, add the values of defined external symbols
- to the addend.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
- initialize a GOT entry to the symbol's st_value.
-
-2003-07-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
- * elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New.
- (ppc_elf_tdata): Define.
- (elf_local_ptr_offsets): Adjust.
- (ppc_elf_mkobject): New function.
- (bfd_elf32_mkobject): Define.
-
- * elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
- * elfcore.h (elf_core_file_p): Likewise.
- * section.c (bfd_section_init): Remove prototype.
-
-2003-07-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
- field.
- (enum elf_linker_section_enum): Delete.
- (struct elf_linker_section): Delete.
- (struct elf_linker_section_pointers): Delete.
- (struct elf_obj_tdata): Remove #if 0 chunk. Remove linker_section.
- Make linker_section_pointers a void**.
- (elf_local_ptr_offsets, elf_linker_section): Don't define.
- * elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
- of old item in elf-bfd.h.
- (struct elf_linker_section): Likewise.
- (struct elf_linker_section_pointers): Likewise.
- (elf_local_ptr_offsets): Define.
- (struct ppc_elf_link_hash_entry): Add linker_section_pointer.
- (ppc_elf_link_hash_newfunc): Init it.
- (struct ppc_elf_link_hash_table): Add sbss.
- (ppc_elf_link_hash_table_create): zmalloc rather than clearing
- individual fields.
- (elf_create_linker_section): Fold into..
- (ppc_elf_create_linker_section): ..here. Remove hole_size code.
- Make rela section here if shared.
- (elf_find_pointer_linker_section): Pass lsect rather than enum.
- (elf_create_pointer_linker_section): Adjust. zalloc rather than
- clearing in a loop.
- (elf_finish_pointer_linker_section): Adjust. Don't make rela
- section here.
- (ppc_elf_check_relocs): Adjust.
- (ppc_elf_add_symbol_hook): Tighten hash creator test. Remove code
- creating .sbss by hand.
- * elf.c (_bfd_elf_link_hash_newfunc): Adjust.
-
-2003-07-04 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
- complain_overflow_bitfield.
- * elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
- complain_overflow_bitfield.
-
-2003-07-04 Jakub Jelinek <jakub@redhat.com>
-
- * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
- true even if -pie.
-
-2003-07-04 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
- (elfNN_ia64_dynamic_symbol_p): Change info->shared into
- !info->executable.
- (get_fptr): For -pie create .opd as writable section and create
- .rela.opd as well.
- (elfNN_ia64_check_relocs): Change info->shared into
- !info->executable.
- (allocate_fptr): Likewise.
- (allocate_dynrel_entries): Account for a relative reloc for -pie
- @fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr
- for undefweak symbol. Account for an IPLT reloc in .rela.opd
- section if -pie.
- (set_got_entry): Don't create a relative reloc if -pie
- want_ltoff_fptr for undefweak symbol.
- (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
- (elfNN_ia64_relocate_section): Emit a relative reloc for -pie
- @fptr().
-
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
- even if -pie.
- * elf32-i386.c (elf_i386_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
-
-2003-07-04 Paul Clarke <paulc@senet.com.au>
-
- * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
- (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
- <R_H8_DIR32A16>: Fix type of relocation.
-
-2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
- sections were created already. Remove unnecessary tests of
- the previous change.
-
-2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
- bfd_make_section for existing sections.
-
-2003-07-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-sparc.c (elf32_sparc_check_relocs): Don't call
- create_got_section if we already have done so.
- * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
- (sh_elf_check_relocs): Likewise.
- (sh_elf_adjust_dynamic_symbol): Delete "dynobj" var. Use
- htab->root.dynobj instead.
- (sh_elf_check_relocs): Likewise.
- (sh_elf_finish_dynamic_sections): Likewise.
-
- * section.c (bfd_make_section): Return NULL for existing section.
-
-2003-07-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
- ppc_elf_create_got if we've already done so.
-
- * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
- (_bfd_elf_find_pointer_linker_section): Likewise.
- (bfd_elf32_create_pointer_linker_section): Likewise.
- (bfd_elf32_finish_pointer_linker_section): Likewise.
- (bfd_elf64_create_pointer_linker_section): Likewise.
- (bfd_elf64_finish_pointer_linker_section): Likewise.
- (_bfd_elf_make_linker_section_rela): Likewise.
- * elfcode.h (elf_create_pointer_linker_section): Don't define.
- (elf_finish_pointer_linker_section): Likewise.
- * elflink.c (_bfd_elf_make_linker_section_rela): Delete.
- (_bfd_elf_create_linker_section): Move this function..
- (_bfd_elf_find_pointer_linker_section): ..and this..
- * elflink.h (elf_create_pointer_linker_section): ..and this..
- (elf_finish_pointer_linker_section): ..and this..
- * elf32-ppc.c: ..to here, renaming to the following, and adjusting
- calls.
- (elf_create_linker_section): Convert to C90, tidy.
- (elf_find_pointer_linker_section): Likewise.
- (elf_create_pointer_linker_section): Likewise.
- (elf_finish_pointer_linker_section): Likewise.
- * elf32-i370.c: Delete #if 0 code.
-
-2003-07-02 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
- _restf* to be satisfied by shared libs, and always force them local.
- (toc_adjusting_stub_needed): Avoid scanning linker created sections.
- Correct test for "bl".
- (ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
- primary opcode 31.
-
-2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
- (s390_tls_reloc): New function.
- (elf_howto_table): Add long displacement relocations R_390_20,
- R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
- (elf_s390_reloc_type_lookup): Likewise.
- (elf_s390_check_relocs): Likewise.
- (elf_s390_gc_sweep_hook): Likewise.
- (elf_s390_relocate_section): Likewise.
- * elf64-s390.c: Same changes as for elf32-s390.c.
- * reloc.c: Add long displacement relocations BFD_RELOC_390_20,
- BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
- BFD_RELOC_390_TLS_GOTIE20.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Likewise.
-
-2003-06-30 Alan Modra <amodra@bigpond.net.au>
-
- * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
- (ins_imms, ins_immsm1u4): Likewise. Warning fix.
-
-2003-06-29 Alan Modra <amodra@bigpond.net.au>
-
- * archive.c: Convert to C90, remove unnecessary prototypes and casts.
- Replace PTR with void *. Formatting.
- * archive64.c: Likewise.
- * archures.c: Likewise.
- * bfd-in.h: Likewise.
- * bfd.c: Likewise.
- * bfdio.c: Likewise.
- * bfdwin.c: Likewise.
- * cache.c: Likewise.
- * corefile.c: Likewise.
- * format.c: Likewise.
- * init.c: Likewise.
- * libbfd-in.h: Likewise.
- * libbfd.c: Likewise.
- * linker.c: Likewise.
- * opncls.c: Likewise.
- * reloc.c: Likewise.
- * section.c: Likewise.
- * simple.c: Likewise.
- * syms.c: Likewise.
- * targets.c: Likewise.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
-
- * ecoff.c (bfd_debug_section): Add missing kept_section initialization.
- * libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
- * libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
- (bfd_getb64): Rewrite without parens.
- (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
- * cache.c (insert, snip): Remove INLINE.
- * linker.c (bfd_link_add_undef): Likewise.
-
-2003-06-29 Andreas Jaeger <aj@suse.de>
-
- * elf64-x86-64.c: Convert to ISO C90 prototypes, remove
- unnecessary prototypes. Replace PTR with void *.
- (elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
- trim plt entries. Move undefweak non-default visibility test ...
- (allocate_dynrelocs): ... from here.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
- Change all callers.
- (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL. Use
- SYMBOL_REFERENCES_LOCAL for dynreloc check.
- (elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
- dynreloc and .got relocs.
- (elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
- for .got relocs.
-
-2003-06-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
-
-2003-06-27 Nick Clifton <nickc@redhat.com>
-
- * opncls.c (bfd_add_gnu_debuglink_section): Rename to
- bfd_add_gnu_debuglink_section and only create the section, do not
- fill in its contents.
- (bfd_fill_in_gnu_debuglink_section): New function. Fill in the
- contents of a .gnu-debuglink section.
- * bfd-in2.h: Regenerate.
-
-2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c: Revert .got alignment to 2**4.
-
-2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c: Fix addend for _gp_disp special symbol.
-
-2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
- relocation header setup.
-
-2003-06-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
- (ppc_elf_reloc_type_lookup): Modify comment.
- (ppc_elf_info_to_howto): Ditto.
- (ppc_elf_relocate_section): Ditto.
- (ppc_elf_check_relocs): Call ppc_elf_howto_init.
-
-2003-06-25 Alan Modra <amodra@bigpond.net.au>
-
- * aout-ns32k.c: Correct spelling of "relocatable".
- * aoutx.h: Likewise.
- * bfd-in.h: Likewise.
- * bfd.c: Likewise.
- * bout.c: Likewise.
- * coff-a29k.c: Likewise.
- * coff-alpha.c: Likewise.
- * coff-arm.c: Likewise.
- * coff-i386.c: Likewise.
- * coff-i860.c: Likewise.
- * coff-i960.c: Likewise.
- * coff-m68k.c: Likewise.
- * coff-m88k.c: Likewise.
- * coff-mcore.c: Likewise.
- * coff-mips.c: Likewise.
- * coff-or32.c: Likewise.
- * coff-ppc.c: Likewise.
- * coff-rs6000.c: Likewise.
- * coff-sh.c: Likewise.
- * coff-tic80.c: Likewise.
- * coff64-rs6000.c: Likewise.
- * cofflink.c: Likewise.
- * cpu-ns32k.c: Likewise.
- * ecoff.c: Likewise.
- * ecofflink.c: Likewise.
- * elf-bfd.h: Likewise.
- * elf-eh-frame.c: Likewise.
- * elf-hppa.h: Likewise.
- * elf-m10200.c: Likewise.
- * elf-m10300.c: Likewise.
- * elf.c: Likewise.
- * elf32-arm.h: Likewise.
- * elf32-avr.c: Likewise.
- * elf32-cris.c: Likewise.
- * elf32-d10v.c: Likewise.
- * elf32-dlx.c: Likewise.
- * elf32-fr30.c: Likewise.
- * elf32-frv.c: Likewise.
- * elf32-h8300.c: Likewise.
- * elf32-hppa.c: Likewise.
- * elf32-i370.c: Likewise.
- * elf32-i386.c: Likewise.
- * elf32-i860.c: Likewise.
- * elf32-i960.c: Likewise.
- * elf32-ip2k.c: Likewise.
- * elf32-iq2000.c: Likewise.
- * elf32-m32r.c: Likewise.
- * elf32-m68hc11.c: Likewise.
- * elf32-m68hc1x.c: Likewise.
- * elf32-m68k.c: Likewise.
- * elf32-mcore.c: Likewise.
- * elf32-mips.c: Likewise.
- * elf32-msp430.c: Likewise.
- * elf32-openrisc.c: Likewise.
- * elf32-ppc.c: Likewise.
- * elf32-s390.c: Likewise.
- * elf32-sh.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf32-sparc.c: Likewise.
- * elf32-v850.c: Likewise.
- * elf32-vax.c: Likewise.
- * elf32-xstormy16.c: Likewise.
- * elf32-xtensa.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elf64-hppa.c: Likewise.
- * elf64-mips.c: Likewise.
- * elf64-mmix.c: Likewise.
- * elf64-ppc.c: Likewise.
- * elf64-s390.c: Likewise.
- * elf64-sh64.c: Likewise.
- * elf64-sparc.c: Likewise.
- * elf64-x86-64.c: Likewise.
- * elfcode.h: Likewise.
- * elflink.h: Likewise.
- * elfn32-mips.c: Likewise.
- * elfxx-ia64.c: Likewise.
- * elfxx-mips.c: Likewise.
- * i386linux.c: Likewise.
- * ieee.c: Likewise.
- * libcoff-in.h: Likewise.
- * linker.c: Likewise.
- * m68klinux.c: Likewise.
- * pdp11.c: Likewise.
- * pe-mips.c: Likewise.
- * peXXigen.c: Likewise.
- * reloc.c: Likewise.
- * reloc16.c: Likewise.
- * sparclinux.c: Likewise.
- * sunos.c: Likewise.
- * syms.c: Likewise.
- * versados.c: Likewise.
- * vms.c: Likewise.
- * xcofflink.c: Likewise.
- * bfd-in2.h: Regenerate.
- * libcoff.h: Regenerate.
- * libbfd.h: Regenerate.
-
-2003-06-24 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
- local sym errors.
-
- * elf32-i386.c: Convert to C90 function definitions, remove unnecessary
- prototypes and casts. Replace PTR with void *. Formatting.
- * elf32-ppc.c: Likewise. Break long strings too.
- (ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
- (ppc_elf_unhandled_reloc): Internationalize error message.
- * elf32-ppc.h: Remove PARAMS.
-
-2003-06-23 Mark Mitchell <mark@codesourcery.com>
-
- * elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
- APUinfo slots.
- (ppc_elf_final_write_processing): Likewise.
-
-2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (elf_link_input_bfd): Check raw size when using
- kept_section to preserve debug information discarded by
- linkonce.
-
-2003-06-20 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
- (ppc64_elf_setup_section_lists): Set it.
- (ppc64_elf_relocate_section): Check sym section id against top_id.
- (ppc_build_one_stub): Comment on top_id.
-
-2003-06-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * config.bfd: Add tic4x-*-rtems*.
-
-2003-06-20 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
- prototypes and casts. Replace PTR with void *. Format copyright.
- Mention ABI links.
- (struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
- sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
- (ppc_type_of_stub): Make r_type an enum.
- (ppc64_elf_size_stubs): Likewise.
- * elf64-ppc.h: Remove PARAMS macro.
-
-2003-06-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
- elf hash tab fields.
-
- * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
- (ppc64_elf_info_to_howto): Likewise.
- (ppc64_elf_build_stubs): Add "stats" param, and print statistics.
- * elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
-
-2003-06-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
- reloc overflow on discarded eh_frame entries.
-
-2003-06-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (toc_adjusting_stub_needed): New function.
- (ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
- Return error condition.
- (ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
- that have has_gp_reloc set.
- (struct ppc_link_hash_table): Add stub_count.
- (ppc_build_one_stub): Increment it.
- (ppc64_elf_link_hash_table_create): zmalloc rather than clearing
- individual fields.
- * elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
-
-2003-06-18 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_gc_record_vtentry): Revert last change. Correct
- size calculation from addend. Round size up.
-
-2003-06-18 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_relocate_section) <case
- R_CRIS_32_GOTREL>: When linking a program, don't complain about a
- symbol from a normal object or an undefined weak symbol.
-
-2003-06-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
- R_PPC64_TOC relocs.
-
-2003-06-17 H.J. Lu <hongjiu.lu@intel.com>
-
- * section.c (struct sec): Put back kept_section.
- (STD_SECTION): Put back kept_section initialization.
- * bfd-in2.h: Regenerate.
-
- * elflink.h (elf_link_input_bfd): Also check discarded linkonce
- sections for relocateable output. Use kept_section to preserve
- debug information discarded by linkonce.
-
-2003-06-17 Roland McGrath <roland@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Support
- segment-relative relocation between different segments.
-
-2003-06-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
- optimizations earlier.
-
- * elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
- Restore previous input_list type.
- (ppc64_elf_link_hash_table_create): Undo last change.
- (ppc64_elf_setup_section_lists): Reinstate code setting up input lists
- per output section, but don't bother with bfd_abs_section marker.
- (ppc64_elf_next_input_section): Adjust for multiple input section
- lists.
- (group_sections): Likewise.
-
-2003-06-17 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-ppc.c (ppc64_elf_relocation_section): Ensure
- *r_offset == r_addend for RELATIVE relocs against .got.
-
-2003-06-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
-
-2003-06-17 Nick Clifton <nickc@redhat.com>
-
- * elflink.h (elf_gc_record_vtentry): Allocate an extra element
- in the vtable_entries_used array to allow for the accessing
- the largest element.
-
-2003-06-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (struct ppc_link_hash_table): Remove top_index. Modify
- input_list.
- (ppc64_elf_link_hash_table_create): Init input_list here.
- (ppc64_elf_setup_section_lists): Remove code setting up input lists
- per output section. Set toc_off for abs and other standard sections.
- (ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
- (ppc64_elf_next_input_section): Adjust for single input section list.
- Don't set toc_curr from input bfds that haven't set elf_gp.
- (group_sections): Adjust for single input section list.
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
-
-2003-06-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
- tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
- dtprel entry. Ensure TLS_LD DTPMOD reloc has a zero addend. Write
- got section for RELATIVE relocs. Fix wrong comment. Change condition
- under which dynamic relocs update the section contents.
-
-2003-06-13 Robert Millan <zeratul2@wanadoo.es>
-
- * config.bfd: Add i386-netbsd-gnu target.
-
-2003-06-12 Nick Clifton <nickc@redhat.com>
-
- * opncls.c (calc_crc32): Rename to
- bfd_calc_gnu_debuglink_crc32 and export.
- (GNU_DEBUGLINK): Define and use to replace occurrences of
- hard-coded ".gnu_debuglink" in the code.
- (get_debug_link_info): Prevent aborts by replacing call to
- xmalloc with a call to malloc.
- (find_separate_debug_file): Prevent aborts by replacing calls
- to xmalloc and xstrdup with calls to malloc and strdup.
- (bfd_add_gnu_debuglink): New function. Add a .gnu_debuglink
- section to a bfd.
- * bfd-in2.h: Regenerate.
-
-2003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
-
- * config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
- New target (was i[3-7]86-*-openbsd* before).
- (i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
- (vax-*-openbsd*): New target.
-
-2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
- for n32, too.
- (MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
- (mips_elf_rel_dyn_section): Use appropriate section alignment.
- (mips_elf_create_got_section): Likewise.
- (_bfd_mips_elf_create_dynamic_sections): Likewise.
-
-2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c (mips_elf_generic_reloc): New Function.
- (elf_mips_howto_table_rel): Use it.
- (gprel32_with_gp): Move prototype.
- (mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
- Use mips_elf_generic_reloc.
- (mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
- Code cleanup.
- (_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
- zero addend.
- (mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
- as in the other *_gprel*_reloc functions.
- (gprel32_with_gp): Handle partial_inplace properly.
- (mips32_64bit_reloc): Use mips_elf_generic_reloc.
- (mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
- Do addend handling directly instead of calling
- _bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
- * elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
- of zero addend. Handle partial_inplace properly.
- (mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
- addend.
- (mips_elf64_gprel16_reloc): Likewise.
- (mips_elf64_literal_reloc): Likewise.
- (mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
- logic as in the other *_gprel*_reloc functions. Handle
- partial_inplace properly.
- (mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
- addend. Handle partial_inplace properly.
- (mips16_gprel_reloc): Likewise. Do addend handling directly instead
- of calling _bfd_mips_elf_gprel16_with_gp.
- * elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
- (mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
- of zero addend.
- (mips_elf_shift6_reloc): Handle partial_inplace properly.
- (mips16_gprel_reloc): Likewise. Do addend handling directly instead
- of calling _bfd_mips_elf_gprel16_with_gp.
- * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
- partial_inplace properly. Fix wrong addend handling. Fix overflow
- check.
- (_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
- exported.
- (mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
- (_bfd_mips_elf_relocate_section): Likewise.
- (mips_elf_create_dynamic_relocation): Update sec_info_type access.
- * elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
- (_bfd_mips_elf_sign_extend): New prototype.
-
-2003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
-
- * config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
- New target (was sparc-*-openbsd* before).
- (sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
-
- * configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
- * configure: Regenerate.
-
-2003-06-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * po/Make-in (DESTDIR): New.
- (install-data-yes): Support $(DESTDIR).
- (uninstall): Likewise.
-
-2003-06-11 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (config.status): Depend on version.h.
- Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2003-06-10 Alan Modra <amodra@bigpond.net.au>
- Gary Hade <garyhade@us.ibm.com>
-
- * elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
-
-2003-06-10 Richard Sandiford <rsandifo@redhat.com>
-
- * archures.c (bfd_mach_h8300sxn): New architecture.
- * bfd-in2.h: Regenerate.
- * cpu-h8300.c (h8300_scan): Check for 'sxn'.
- (h8300sxn_info_struct): New.
- (h8300sx_info_struct): Link to it.
- * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
- (elf32_h8_final_write_processing): Likewise.
-
-2003-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
- elfxx-target.h so that we can use elf_backend_got_header_size.
- (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
- (GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and
- associated macros.
- (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
- dst_mask.
- (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
- ppc_stub_plt_branch_r2off.
- (struct ppc_stub_hash_entry): Reorganize.
- (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
- toc_curr, toc_off and emit_stub_syms.
- (ppc64_elf_link_hash_table_create): Init them.
- (ppc_stub_name): Correct string size.
- (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
- (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
- used.
- (ppc_type_of_stub): Tweak root.type test.
- (build_plt_stub): Remove glink code. Adjust for insn macro changes.
- (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
- ppc_stub_plt_branch_r2off.
- (ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi
- range test. Use toc_off to calculte r2 values. Handle emit_stub_syms.
- (ppc64_elf_setup_section_lists): Remove htab creator flavour test.
- Initialize elf_gp and toc_curr.
- (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
- (ppc64_elf_next_input_section): Set toc_off.
- (group_sections): Ensure groups have the same TOC.
- (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
- (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
- Build new glink stub.
- (ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments.
- (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
- * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
- (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
- * section.c (struct sec): Rename flag12 to has_gp_reloc.
- (STD_SECTION): Update.
- * ecoff.c (bfd_debug_section): Update comment.
- * bfd-in2.h: Regenerate.
-
-2003-06-05 Daniel Jacobowitz <drow@mvista.com>
-
- * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
- NULL function pointers.
-
-2003-06-05 Daniel Jacobowitz <drow@mvista.com>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Call
- _bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
-
-2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
- ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
- swaptables.
- * coff-tic4x.c: Ditto
- * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
- and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
- CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
- ticoff1_bad_format_hook() functions. Created the coff0 and coff1
- swap tables.
- * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
- * coff-a29k.c: Append COFF_SWAP_TABLE argument
- * coff-apollo.c: Ditto
- * coff-arm.c: Ditto
- * coff-h8300.c: Ditto
- * coff-h8500.c: Ditto
- * coff-i960.c: Ditto
- * coff-m68k.c: Ditto
- * coff-m88k.c: Ditto
- * coff-mcore.c: Ditto
- * coff-sh.c: Ditto
- * coff-sparc.c: Ditto
- * coff-tic80.c: Ditto
- * coff-we32k.c: Ditto
- * coff-z8k.c: Ditto
- * coff-w65.c: Ditto
-
-2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
- initialization bug
-
-2003-06-03 Jakub Jelinek <jakub@redhat.com>
-
- * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
- (bfd_section_from_phdr): Likewise.
- (map_sections_to_segments): Create PT_GNU_STACK segment header.
- (get_program_header_size): Count with PT_GNU_STACK.
- * elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
- * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
-
-2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (elf_link_input_bfd): Call linker error_handler
- for discarded definitions.
-
-2003-06-03 Elias Athanasopoulos <elathan@phys.uoa.gr>
-
- * syms.c (decode_section_type): Return 'n' if section flags are
- SEC_HAS_CONTENTS && SEC_READONLY.
-
-2003-06-03 Nick Clifton <nickc@redhat.com>
-
- * elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
- R_V850_ABS32. Add entry for R_V850_REL32.
- (v850_elf_reloc_map): Likewise.
- (v850_elf_check_relocs): Likewise.
- (v850_elf_perform_relocation): Likewise.
- (v850_elf_final_link_relocate): Likewise. Include computation
- to make R_V850_REl32 pc-relative.
-
-2003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
- and DT_DEBUG dynamic tag even for position independent executables.
- * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
-
-2003-06-02 Daniel Jacobowitz <drow@mvista.com>
-
- * config.bfd: Move obsolete entries out of the range of the
- targmatch sed script.
-
-2003-06-02 Daniel Jacobowitz <drow@mvista.com>
-
- * config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
-
-2003-05-31 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
- plt entries, not just 8191.
-
-2003-05-30 Daniel Jacobowitz <drow@mvista.com>
-
- * elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
- Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
-
-2003-05-30 Ulrich Drepper <drepper@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * elflink.h (elf_link_add_object_symbols): Use !info->executable
- instead of info->shared where appropriate.
- (bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
- * elflink.c (_bfd_elf_create_got_section): Likewise.
- (_bfd_elf_link_create_dynamic_sections): Likewise.
- (_bfd_elf_link_assign_sym_version): Likewise.
- * elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
- and DT_DEBUG dynamic tag even for position independent executables.
- * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
- * elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
- * elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
- * elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
- * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
- * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
- * elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
- * elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
- * elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
-
-2003-05-30 Kris Warkentin <kewarken@qnx.com>
-
- * elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
- signalled thread.
- (elfcore_grok_nto_gregs): Only make .reg section for the active thread.
-
-2003-05-29 Nick Clifton <nickc@redhat.com>
-
- * pef.c: Include "safe-ctype.h" instead of <ctype.h>.
- Tidy up formatting.
- * Makefile.am: Add dependency on safe-ctype.h.
- * Makefile.in: Regenerate.
-
-2003-05-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c: Don't force symbols local unconditionally.
-
-2003-05-28 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
- undefined_symbol call.
-
-2003-05-27 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
- (mips_elf_link_hash_table): Likewise.
-
-2003-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
- R_MIPS_GNU_REL16_S2 support.
- (bfd_elf64_bfd_reloc_type_lookup): Use it.
- (mips_elf64_rtype_to_howto): Use it.
- * elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
- R_MIPS_GNU_REL16_S2 support.
- (bfd_elf32_bfd_reloc_type_lookup): Use it.
- (mips_elf_n32_rtype_to_howto): Use it.
-
-2003-05-21 Stuart F. Downing <sdowning@fame.com>
-
- * som.h: Define PA_2_0 before including a.out.h
-
-2003-05-07 Eric Christopher <echristo@redhat.com>
- Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
- pic tests, change to warning.
- (_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
-
-2003-05-21 Marcus Comstedt <marcus@mc.pp.se>
-
- * config.bfd: Check for a target triplet of shl-...-netbsdelf as
- well as shle-...-netbsdelf. Remove duplicate entry.
-
-2003-05-21 Nick Clifton <nickc@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
- for X_STORMY16_REL_12 reloc.
-
- * elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
- the type of the hash table in the bfd_link_info structure.
- (bfd_elf_get_runpath_list): Likewise.
-
-2003-05-19 Roland McGrath <roland@redhat.com>
-
- * elf.c (bfd_elf_bfd_from_remote_memory): New function.
- * bfd-in.h: Declare it.
- * bfd-in2.h: Regenerated.
- * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
- * elf-bfd.h (struct elf_backend_data): New function pointer member
- elf_backend_bfd_from_remote_memory.
- (_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
- Declare them.
- * elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
- (elfNN_bed): Add that to the initializer.
-
-2003-05-15 Roland McGrath <roland@redhat.com>
-
- * elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
-
-2003-05-20 Jakub Jelinek <jakub@redhat.com>
-
- * elflink.h (elf_link_output_extsym): Only issue error about !=
- STV_DEFAULT symbols if they are bfd_link_hash_undefined.
-
-2003-05-20 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
- when removing the old definition for symbols with non-default
- visibility.
-
-2003-05-18 Jason Eckhardt <jle@rice.edu>
-
- * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
-
-2003-05-17 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
- elf_section_data during processing of pc-relative and absolute
- relocations.
- (elf_m68k_relocate_section): Use the cached reloc section instead
- of computing it again. Fix handling of visibility. Don't modify
- addend when copying over a relocation into the output.
-
-2003-05-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
- to trim plt entries. Move undefweak non-default visibility test..
- (allocate_dynrelocs): ..from here.
- * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
- dynamic_sections_created here. Update comment. Move undefweak
- non-default visibility test..
- (allocate_dynrelocs): ..from here. Fix comment.
- * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
- to trim plt entries. Move undefweak non-default visibility test..
- (allocate_dynrelocs): ..from here. Fix comment.
- * elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
- STV_DEFAULT rather than comparing with zero.
- * elflink.c (_bfd_elf_merge_symbol): Likewise.
- (_bfd_elf_fix_symbol_flags): Likewise. Format comment.
-
-2003-05-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
- pointers.
- (_bfd_set_gp_value): Likewise.
-
-2003-05-16 Michael Snyder <msnyder@redhat.com>
- From Bernd Schmidt <bernds@redhat.com>
- * archures.c (bfd_mach_h8300sx): New.
- * bfd-in2.h: Regenerate.
- * cpu-h8300.c (h8300_scan)): Add support for h8300sx.
- (h8300sx_info_struct): New.
- (h8300s_info_struct): Link to it.
- * elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
- (elf32_h8_final_write_processing): Likewise.
- (elf32_h8_relax_section): Likewise.
-
-2003-05-16 Kelley Cook <kelleycook@wideopenwest.com>
-
- * config.bfd: Accept i[3-7]86 variants.
- * configure.host: Likewise.
- * configure.in: Likewise.
- * configure: Regenerate.
-
-2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
- symbol.
-
-2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (elf_link_check_versioned_symbol): Also allow
- the base version.
-
-2003-05-15 Alan Modra <amodra@bigpond.net.au>
- H.J. Lu <hongjiu.lu@intel.com>
-
- * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
- (elf_i386_relocate_section): Likewise.
- * elf32-ppc.c (allocate_dynrelocs): Likewise.
- (ppc_elf_relocate_section): Likewise.
- * elf64-ppc.c (allocate_dynrelocs): Likewise.
- (ppc64_elf_relocate_section): Likewise.
-
-2003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
-
-2003-05-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
- processor capability, allow merge of HC12 and HCS12 in some cases.
- (m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
- * cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
- (bfd_m68hc12_arch): Link it.
- (scan_mach): New function.
-
-2003-05-13 Andrew Haley <aph@redhat.com>
-
- * elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
-
-2003-05-13 Alan Modra <amodra@bigpond.net.au>
- H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
- elf32-ppc.c. Add ELF_LINK_FORCED_LOCAL check.
- * elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
- (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
- (ppc_elf_relocate_section): Likewise.
- * elf64-ppc.c (allocate_dynrelocs): Likewise.
- (ppc64_elf_relocate_section): Likewise. Use for .got relocs too.
- (ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
- relocs need no other types.
- * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
- dynreloc check.
- (elf_i386_relocate_section): Likewise. Use for .got relocs too.
- (elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
- .got relocs.
-
-2003-05-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
- copy ELF_LINK_NON_GOT_REF from weakdef.
- (allocate_dynrelocs): For undef weak syms with non-default
- visibility, a) don't allocate plt entries, b) don't allocate
- .got relocs, c) discard dyn rel space
- (sh_elf_relocate_section): d) don't generate .got relocs, e)
- don't generate dynamic relocs.
- (sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
- for weakdefs when symbol already adjusted.
-
-2003-05-12 Nick Clifton <nickc@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
- overflow detection for R_XSTORMY16_16 reloc.
-
-2003-05-12 Paul Clarke <paulc@senet.com.au>
-
- * elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
-
-2003-05-11 Jason Eckhardt <jle@rice.edu>
-
- * elf32-i860.c (elf32_i860_relocate_highadj): Properly
- adjust upper bits.
- (elf32_i860_relocate_splitn): Obtain upper 5 bits from the
- proper place.
- (elf32_i860_relocate_pc16): Obtain upper 5 bits from the
- proper place.
-
-2003-05-11 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
- complicated tests for unresolvable relocs with a simple direct
- scheme using "unresolved_reloc" var. Report some detail on
- bfd_reloc_outofrange and similar errors.
-
-2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
- Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
- * elf64-s390.c: Likewise.
-
-2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
- (elf_s390_adjust_dynamic_symbol): For weak symbols, copy
- ELF_LINK_NON_GOT_REF from weakdef.
- (elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
- already been adjusted before treating it specially.
- * el64-s390.c: Likwise.
-
-2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (allocate_dynrelocs): For undef weak syms with
- non-default visibility, a) don't make them dynamic, b) discard
- space for dynamic relocs.
- (elf_s390_relocate_section): Initialize the GOT entries and skip
- R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
- symbols with non-default visibility.
- * elf64-s390.c: Likewise.
-
-2003-05-09 Alan Modra <amodra@bigpond.net.au>
-
- * cpu-arm.c (arm_check_note): Warning fix.
- * elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange
- to keep relocs if edited.
- (iq2000_elf_print_private_bfd_data): Return TRUE.
- * elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
- ELF64_R_SYM.
- (elfNN_ia64_relax_ldxmov): Warning fix.
- * xtensa-isa.c (xtensa_add_isa): Warning fix.
- * xtensa-modules.c (get_num_opcodes): Warning fix.
-
-2003-05-09 Andrey Petrov <petrov@netbsd.org>
-
- * elf.c (elf_fake_sections): Use correct cast for sh_name.
-
-2003-05-09 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
- elflink.h. Replace LOG_FILE_ALIGN with bed->s->log_file_align.
- (_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
- (bfd_elf_record_link_assignment): Move from elflink.h.
- (_bfd_elf_merge_symbol): Likewise.
- (_bfd_elf_add_default_symbol): Likewise.
- (_bfd_elf_export_symbol): Likewise.
- (_bfd_elf_link_find_version_dependencies): Likewise.
- (_bfd_elf_link_assign_sym_version): Likewise.
- (_bfd_elf_link_read_relocs): Likewise.
- (_bfd_elf_link_size_reloc_section): Likewise.
- (_bfd_elf_fix_symbol_flags): Likewise.
- (_bfd_elf_adjust_dynamic_symbol): Likewise.
- (_bfd_elf_link_sec_merge_syms): Likewise.
- (elf_link_read_relocs_from_section): Likewise. Use bed->s->sizeof_rel
- and bed->s->sizeof_rela.
- (_bfd_elf_link_output_relocs): Likewise.
- * elf-bfd.h (struct elf_size_info): Rename file_align to
- log_file_align.
- (struct elf_info_failed): Move from elflink.h.
- (struct elf_assign_sym_version_info): Likewise.
- (struct elf_find_verdep_info): Likewise.
- (_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
- (_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
- _bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
- _bfd_elf_link_assign_sym_version,
- _bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
- _bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
- _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
- _bfd_elf_link_sec_merge_syms): Declare.
- (bfd_elf32_link_create_dynamic_sections): Don't declare.
- (_bfd_elf32_link_read_relocs): Likewise.
- (bfd_elf64_link_create_dynamic_sections): Likewise.
- (_bfd_elf64_link_read_relocs): Likewise.
- * elflink.h: Move lots o' stuff elsewhere.
- * bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
- (bfd_elf64_record_link_assignment): Likewise.
- (bfd_elf_record_link_assignment): Declare.
- * bfd-in2.h: Regenerate.
- * elfcode.h (elf_link_create_dynamic_sections): Don't declare.
- (NAME(_bfd_elf,size_info)): Adjust for log_file_align.
- * elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
- (assign_file_positions_for_segments): Likewise.
- (assign_file_positions_except_relocs): Likewise.
- (swap_out_syms, elfcore_write_note): Likewise.
- * elf-m10200.c: Adjust for changed function names.
- * elf-m10300.c: Likewise.
- * elf32-arm.h: Likewise.
- * elf32-h8300.c: Likewise.
- * elf32-hppa.c: Likewise.
- * elf32-ip2k.c: Likewise.
- * elf32-m32r.c: Likewise.
- * elf32-m68hc11.c: Likewise.
- * elf32-m68hc1x.c: Likewise.
- * elf32-m68k.c: Likewise.
- * elf32-mips.c: Likewise.
- * elf32-ppc.c: Likewise.
- * elf32-sh.c: Likewise.
- * elf32-v850.c: Likewise.
- * elf32-xtensa.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elf64-hppa.c: Likewise.
- * elf64-mmix.c: Likewise.
- * elf64-ppc.c: Likewise.
- * elf64-sh64.c: Likewise.
- * elfxx-ia64.c: Likewise.
- * elfxx-mips.c: Likewise.
- (MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
- * elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
- * elf64-hppa.c (hppa64_elf_size_info): Likewise.
- * elf64-mips.c (mips_elf64_size_info): Likewise.
- * elf64-s390.c (s390_elf64_size_info): Likewise.
- * elf64-sparc.c (sparc64_elf_size_info): Likewise.
-
-2003-05-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (elf_add_default_symbol): After skipping the
- unversioned symbol, go to non-default one.
-
-2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
- want_plt field.
- (elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
- for symbols with non-default visibility.
-
-2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (elf_link_check_versioned_symbol): Also handle the
- case that a DSO references a hidden symbol which may be
- satisfied by a versioned symbol in another DSO.
- (elf_link_output_extsym): Check versioned definition for hidden
- symbol referenced by a DSO.
-
-2003-05-07 Nick Clifton <nickc@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
- R_XSTORMY16_16 reloc to ignore overflows.
-
-2003-05-06 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
- error message for mixing different-endian files. Check for ABI
- compatibility of input files with the selected emulation.
-
-2003-05-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (allocate_dynrelocs): For undef weak syms with
- non-default visibility, a) don't make them dynamic, b) discard
- space for dynamic relocs.
- * elf64-x86-64.c (allocate_dynrelocs): Likewise.
-
- * elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
- non-default visibility, a) don't allocate plt entries, b) don't
- allocate .got relocs, c) discard dyn rel space,
- (ppc_elf_relocate_section): d) don't generate .got relocs, e)
- don't generate dynamic relocs.
- * elf64-ppc.c (allocate_dynrelocs): As above.
- (ppc64_elf_relocate_section): As above.
-
-2003-05-05 Andreas Jaeger <aj@suse.de>
-
- * elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
- relocation entries for weak undefined symbols with non-default
- visibility.
- (elf64_x86_64_relocate_section): Initialize the GOT entries and
- skip R_386_32/R_386_PC32 for weak undefined symbols with
- non-default visibility.
-
-2003-05-04 H.J. Lu <hjl@gnu.org>
-
- * elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
- relocation entries for weak undefined symbols with non-default
- visibility.
- (elf_i386_relocate_section): Initialize the GOT entries and
- skip R_386_32/R_386_PC32 for weak undefined symbols with
- non-default visibility.
-
- * elfxx-ia64.c (allocate_fptr): Don't allocate function
- descriptors for weak undefined symbols with non-default
- visibility.
- (allocate_dynrel_entries): Don't allocate relocation entries
- for symbols resolved to 0.
- (set_got_entry): Don't install dynamic relocation for weak
- undefined symbols with non-default visibility.
- (set_pltoff_entry): Likewise.
-
- * elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
- with non-default visibility.
- (elf_link_output_extsym): Don't make weak undefined symbols
- with non-default visibility dynamic.
-
-2003-05-04 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_merge_symbol): Correctly handle weak definition.
-
-2003-05-04 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_merge_symbol): Don't record a hidden/internal
- symbol dynamic. Check indirection when removing the old
- definition for symbols with non-default visibility.
- (elf_add_default_symbol): Skip when told by elf_merge_symbol.
-
-2003-05-02 Nick Clifton <nickc@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
- R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
- unsigned overflow.
-
-2003-05-02 Andreas Jaeger <aj@suse.de>
-
- * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
- ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
- (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
- (elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
- ELF_LINK_NON_GOT_REF from weakdef.
-
-2003-05-02 Charles Lepple <clepple@ghz.cc>
- Nick Clifton <nickc@redhat.com>
-
- * acinclude.m4: Fix name of --enable-install-libbfd switch.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
-
-2003-05-01 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
- weakdef sym has already been adjusted before treating it specially.
- * elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
- ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
- (ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
-
-2003-04-28 H.J. Lu <hjl@gnu.org>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
- the relax finalize pass.
-
- * section.c (struct sec): Add need_finalize_relax and remove
- flag11.
- (STD_SECTION): Update struct sec initializer.
- * bfd-in2.h: Regenerated.
-
-2003-04-28 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
- to copy any information related to dynamic linking when we flip
- the indirection.
-
-2003-04-27 H.J. Lu <hjl@gnu.org>
-
- * elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
- (ELF_LINK_DYNAMIC_WEAK): New.
-
- * elflink.h (elf_merge_symbol): Add one argument to indicate if
- a symbol should be skipped. Ignore definitions in dynamic
- objects for symbols with non-default visibility.
- (elf_add_default_symbol): Adjusted.
- (elf_link_add_object_symbols): Check if a symbol should be
- skipped. Don't merge the visibility field with the one from
- a dynamic object.
- (elf_link_check_versioned_symbol): Use undef_bfd.
- (elf_link_output_extsym): Warn if a forced local symbol is
- referenced from dynamic objects. Make non-weak undefined symbol
- with non-default visibility a fatal error.
-
-2003-04-27 Daniel Jacobowitz <drow@mvista.com>
-
- * configure.in: Bump version on HEAD to 2.14.90.
- * configure: Regenerated.
-
-2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
-
- PR savannah/3331:
- * elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
- when we couldn't relax something.
-
-2003-04-25 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_merge_symbol): When we find a regular definition
- for an indirect symbol, flip the indirection so that the old
- direct symbol now points to the new definition.
-
-2003-04-24 Roland McGrath <roland@redhat.com>
-
- * elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
-
-2003-04-24 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c: Formatting and comment fixes.
- (ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
- (ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
-
-2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
- * bfd-in2.h: Rebuilt.
- * coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
- * coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
- & H8300SNMAGIC.
- (coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
- * cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
- (h8300sn_info_struct, h8300hn_info_struct): New.
- * elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
- (elf32_h8_final_write_processing): Likewise.
-
-2003-04-23 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (tpoff): New.
- (struct elf_sh_dyn_relocs): Remove tls_tpoff32.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
- (allocate_dynrelocs): Don't make unnecessary dynamic TLS
- relocations. Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
- (sh_elf_relocate_section): Likewise. Remove unnecessary tests.
- (dtpoff_base): Fix wrong indentation.
- (sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
- relocations. Don't set tls_tpoff32 flag. Don't make unnecessary
- R_SH_TLS_TPOFF32 relocations.
-
-2003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
-
- * archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
- * cpu-sh.c: Likewise.
- * elf32-sh.c: Likewise.
- * reloc.c (bfd_reloc_code_real): Likewise.
- * elf32-sh64-com.c: Change comment to refer to SuperH.
- * elf32-sh64.c: Likewise.
- * elf64-sh64.c: Likewise.
- * bfd-in2.h (enum bfd_architecture): Regenerate.
-
-2003-04-23 Alan Modra <amodra@bigpond.net.au>
-
- From Julien LEMOINE <speedblue@debian.org>
- * elf32-i386.c (elf_i386_info_to_howto): Delete.
- (elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
-
-2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * archures.c: Replace references to Mitsubishi M32R with references
- to Renesas M32R.
- * relocs.c: Likewise.
- * bfd-in2.h: Regenerate.
-
-2003-04-21 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
- executable when a symbol is defined both regular and dynamic.
-
-2003-04-21 Stephane Carrez <stcarrez@nerim.fr>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
- (elf32-m68hc1x.lo): Update dependencies
- * configure.in: Add elf32-m68hc1x.lo.
- * configure: Rebuild.
- * Makefile.in: Rebuild.
-
-2003-04-21 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
- (m68hc11_elf_hash_table_create): New function.
- (elf32_m68hc11_link_hash_table_free): New function.
- (stub_hash_newfunc): New function.
- (m68hc11_add_stub): New function.
- (elf32_m68hc11_add_symbol_hook): New function.
- (elf32_m68hc11_setup_section_lists): New function.
- (elf32_m68hc11_next_input_section): New function.
- (elf32_m68hc11_size_stubs): New function.
- (elf32_m68hc11_build_stubs): New function.
- (m68hc11_get_relocation_value): New function.
- (elf32_m68hc11_relocate_section): Call the above to redirect
- some relocations to the trampoline code.
- (m68hc11_elf_export_one_stub): New function.
- (m68hc11_elf_set_symbol): New function.
- (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
- (m68hc11_elf_get_bank_parameters): Get parameters only when the info
- is not yet initialized.
-
- * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
- (elf32_m68hc11_stub_hash_entry): New struct.
- (m68hc11_page_info): Add trampoline handler address.
- (m68hc11_elf_link_hash_table): Add stubs generation members.
- (elf32_m68hc11_add_symbol_hook): Declare.
- (elf32_m68hc11_setup_section_lists): Declare.
- (elf32_m68hc11_size_stubs): Declare.
- (elf32_m68hc11_build_stubs): Declare.
-
- * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
- (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
- (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
- (_bfd_m68hc11_elf_set_private_flags): Ditto.
- (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
- (_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
- (bfd_elf32_bfd_link_hash_table_create): Define.
- (elf_backend_add_symbol_hook): Define.
- (m68hc11_elf_bfd_link_hash_table_create): New function.
- (m68hc11_elf_build_one_stub): New function.
- (m68hc11_elf_size_one_stub): New function.
- (m68hc11_elf_bfd_link_hash_table_create): Install the above.
- (bfd_elf32_bfd_link_hash_table_create): Define.
-
- * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
- (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
- (m68hc12_phys_addr): Ditto.
- (m68hc12_phys_page): Ditto.
- (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
- (elf32_m68hc11_gc_mark_hook): Likewise.
- (elf32_m68hc11_gc_sweep_hook): Likewise.
- (elf32_m68hc11_check_relocs): Likewise.
- (elf32_m68hc11_relocate_section): Likewise.
- (_bfd_m68hc12_elf_set_private_flags): Likewise.
- (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
- (_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
- (m68hc12_elf_build_one_stub): New function.
- (m68hc12_elf_size_one_stub): New function.
- (m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
- (elf_backend_add_symbol_hook): Define.
- (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
-
-2003-04-18 Nick Clifton <nickc@redhat.com>
-
- * format.c (bfd_check_format_matches): Only check associated
- vector if the matching_vector has been created.
-
-2003-04-15 Alexandre Oliva <aoliva@redhat.com>
-
- * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
- 2003-04-09's change.
-
-2003-04-15 Brian Ford <ford@vss.fsi.com>
-
- * peicode.h (coff_swap_scnhdr_in): If a section holds
- uninitialized data and is from an object file or from an
- executable image that has not initialized the s_size field, or if
- the physical size is padded, use the virtual size (stored in
- s_paddr) instead.
-
-2003-04-15 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_add_object_symbols): Properly report
- filename for alignment reduction.
-
-2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
-
- * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
- * reloc.c: Likewise.
- * coff-h8300.c: Likewise.
- * coff-h8500.c: Likewise.
- * coff-sh.c: Likewise.
- * cpu-h8300.c: Likewise.
- * cpu-sh.c: Likewise.
- * elf32-h8300.c: Likewise.
- * elf32-sh.c: Likewise.
- * elf32-sh64-com.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf64-sh64.c: Likewise.
- * bfd-in2.h: Regenerate.
-
-2003-04-14 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_add_object_symbols): Maintain maximum
- alignment for common symbols. Warn reducing alignment for
- common symbols. Report old filename when symbol size changes.
-
-2003-04-12 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
- occurrences of the same test changed in the previous patch.
- Optimize.
-
-2003-04-11 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
- (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
- GOT_DISP/addend only if the symbol got a global GOT entry.
-
-2003-04-10 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_calculate_relocation): Decay
- GOT_PAGE/GOT_OFST referencing overridable symbol to
- GOT_DISP/addend.
- (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
- global symbol as GOT_DISP.
-
-2003-04-10 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
- next relocation on an undefined symbol.
-
-2003-04-09 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
- Ignore relocations against r_symndx == 0.
-
-2003-04-09 H.J. Lu <hjl@gnu.org>
-
- * elf64-alpha.c (elf64_alpha_relocate_section): Don't return
- FALSE for undefined symbols.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
-
-2003-04-09 Alexandre Oliva <aoliva@redhat.com>
-
- * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
- and IRIX-specific shift-to-64-bit 4-byte lengths before following
- addr_size.
-
-2003-04-08 Alexandre Oliva <aoliva@redhat.com>
-
- * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
- pointer size from ABI, not arch_bits_per_address.
-
-2003-04-07 Kevin Buettner <kevinb@redhat.com>
-
- * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
- constants for n32 ABI.
-
-2003-04-06 Andrew Cagney <cagney@redhat.com>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Disable
- free that leads to GDB vs BFD memory corruption.
-
-2003-04-04 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
- symbols that mark the end of the section.
- (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
- converting to a relative branch so that the offset is computed after
- the relaxation; also relocate a jsr into a bsr if possible but don't
- relax them if they are to a far symbol as we need to call the
- trampoline code.
- (elf_m68hc11_howto_table): Set pcrel_offset to true.
-
-2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * archures.c: Namespace cleanup. Rename bfd_mach_c3x to
- bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
- * bfd-in2.h: Regenerate
- * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
- * cpu-tic4x.c: Ditto
-
-2003-04-03 Nick Clifton <nickc@redhat.com>
-
- * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
- differently for object files and executables.
- * peicode.h (coff_swap_scnhdr_in): Only set the s_size field
- for object files or for executables who have not already
- initialised the field.
- * libpei.h (bfd_pe_executable_p): New macro. Return true if
- the PE format bfd is an executable.
-
-2003-04-03 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
- here as it's too early to reliably determine locality.
- (ppc_elf_gc_sweep_hook): Likewise.
- (SYMBOL_REFERENCES_LOCAL): Expand comment.
-
-2003-04-02 Bob Wilson <bob.wilson@acm.org>
-
- * xtensa-modules.c: Remove comment indicating that this is a
- generated file.
-
-2003-04-02 Alan Modra <amodra@bigpond.net.au>
-
- * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
-
-2003-04-01 Bob Wilson <bob.wilson@acm.org>
-
- * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
- (ALL_MACHINES_CFILES): Add cpu-xtensa.c.
- (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
- xtensa-modules.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
- xtensa-modules.c.
- (cpu-xtensa.lo): New target.
- (elf32-xtensa.lo): Likewise.
- (xtensa-isa.lo): Likewise.
- (xtensa-modules.lo): Likewise.
- * Makefile.in: Regenerate.
- * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
- (bfd_archures_list): Add bfd_xtensa_arch.
- * config.bfd: Handle xtensa-*-*.
- * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
- * configure: Regenerate.
- * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
- PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
- * targets.c (bfd_elf32_xtensa_be_vec): Declare.
- (bfd_elf32_xtensa_le_vec): Likewise.
- (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
- * cpu-xtensa.c: New file.
- * elf32-xtensa.c: Likewise.
- * xtensa-isa.c: Likewise.
- * xtensa-modules.c: Likewise.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Likewise.
-
-2003-04-01 Nick Clifton <nickc@redhat.com>
-
- * archures.c (bfd_mach_arm_unknown): Define.
- * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
- bfd_arm_get_mach_from_notes): Prototype.
- * bfd-in2.h: Regenerate.
- * coff-arm.c (coff_arm_merge_private_bfd_data): Call
- bfd_arm_merge_machines.
- (coff_arm_final_link_postscript): Call bfd_arm_update_notes.
- * coffcode.h (coff_set_arch_mach_hook): Call
- bfd_arm_get_mach_from_notes.
- * coffgen.c (coff_real_object_p): Revert previous delta.
- * cpu_arm.c (arm_check_note): New function. Examine a note in a
- .note section.
- (bfd_arm_merge_machines): New function: Handle the merging of ARM
- binaries compiled for different architectures..
- (bfd_arm_update_notes): New function: Update an ARM note section.
- (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
- number from an ARM note section.
- * elf32-arm.h (elf32_arm_object_p): Use
- bfd_arm_get_mach_from_notes.
- (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
- (elf32_arm_final_write_processing): Use bfd_arm_update_notes.
-
-2003-04-01 Ben Elliston <bje@wasabisystems.com>
-
- * dwarf2.c (read_attribute_value): Correct typo in comment.
-
-2003-04-01 Nick Clifton <nickc@redhat.com>
-
- * dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
- instead of concat().
- (decode_line_info): Only free filename if it is not NULL.
- (add_line_info): Make a copy of the filename when storing it into
- the info structure.
-
-2003-03-31 Andreas Schwab <schwab@suse.de>
- Daniel Jacobowitz <drow@mvista.com>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Add
- parameter symbol_table. Optionally use it instead of the symbol
- table from the bfd. Save and restore output offsets and output
- sections around bfd_get_relocated_section_contents. Fix a memory
- leak.
- (simple_save_output_info, simple_restore_output_info): New
- functions.
- * bfd-in2.h: Regenerate.
- * dwarf2.c (read_abbrevs): Use
- bfd_simple_get_relocated_section_contents instead of
- bfd_get_section_contents.
- (decode_line_info): Likewise.
- (_bfd_dwarf2_find_nearest_line): Likewise. Don't call
- find_rela_addend.
- (find_rela_addend): Remove.
- * elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
- debugging sections.
- (elfNN_ia64_hash_table_create): Create the hash table with malloc,
- not bfd_zalloc.
-
-2003-03-31 David Heine <dlheine@suif.stanford.edu>
-
- * aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
- bfd_alloc.
- * dwarf2.c (concat_filename): Always allocate space for the
- returned filename.
- (decode_line_info): Free the allocated filename returned by
- concat_filename.
- * elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
- * elf.c (copy_private_bfd_data): Likewise.
- (_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
- * elflink.h (elf_link_sort_relocs): Fix memory leak.
- * format.c (bfd_check_format_matches): Likewise.
- * linker.c (bfd_generic_final_link): Likewise.
- * opncls.c (find_separate_debug_info): Likewise.
- * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
-
-2003-03-28 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_add_object_symbols): Correctly combine
- visibilities.
-
-2003-03-27 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
- to -1 before recomputing got offsets.
-
-2003-03-26 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
- (elf_m68k_relocate_section): Use it to correctly handle symbols
- forced to be local.
- (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
- entries for symbols that are forced to be local.
-
-2003-03-25 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_relax_section): New function.
- * elfxx-mips.h (_bfd_mips_relax_section): Declare.
- * elfn32-mips.c, elf64-mips.c: Use it.
-
-2003-03-25 Stan Cox <scox@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- Contribute support for Intel's iWMMXt chip - an ARM variant:
-
- * archures.c: Add bfd_mach_arm_iWMMXt.
- * reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
- object files to be linked with XScale ones.
- (coff_arm_final_link_postscript): Update note section.
- * coffcode.h (coff_set_arch_mach_hook): Handle note section.
- * coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
- after identifying a coff binary.
- * cpu-arm.c (processors): Add iWMMXt.
- (arch_inf): Likewise.
- * elf32-arm.h (arm_object_p): Handle note section.
- (elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
- be linked with XScale ones.
- (elf32_arm_section_flags): New function: Set flags on note section.
- (elf32_arm_final_write_processing): Handle note section.
-
-2003-03-21 DJ Delorie <dj@redhat.com>
-
- * elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
- _bfd_elf_rela_local_sym.
-
-2003-03-20 H.J. Lu <hjl@gnu.org>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
- non-ELF outputs.
-
-2003-03-20 Nick Clifton <nickc@redhat.com>
-
- * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
- $idata5 in case bfd_coff_final_link is not called.
-
-2003-03-19 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
- field.
- (canon_reloc_count): Define.
- (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
- sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
- reloc_count.
- (sparc64_elf_canonicalize_reloc): New routine.
- (bfd_elf64_canonicalize_reloc): Define.
-
-2003-03-18 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
- againt mergeable sections. Take r_addend into account when caching
- trampolines.
-
-2003-03-18 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
- local symbols that have no dyninfo.
-
-2003-03-14 Gene Smith <gene.smith@siemens.com>
-
- * ieee.c (ieee_write_expression): Handle the case where symbol is
- NULL.
- General formatting improvements.
-
-2003-03-13 Nick Clifton <nickc@redhat.com>
-
- * configure.in (LINGUAS): Add zh_CN.
- * configure: Regenerate.
- * po/zh_CN.po: New file.
-
-2003-03-13 Elias Athanasopoulos <elathan@phys.uoa.gr>
-
- * aout-cris.c (BYTES_IN_WORD): Don't define.
- aout-encap.c: Likewise.
- aout-ns32k.c: Likewise.
- aout-tic30.c: Likewise.
- hp300bsd.c: Likewise.
- i386aout.c: Likewise.
- i386dynix.c: Likewise.
- i386linux.c: Likewise.
- i386lynx.c: Likewise.
- i386mach3.c: Likewise.
- m68k4knetbsd.c: Likewise.
- m68klinux.c: Likewise.
- m68klynx.c: Likewise.
- m68knetbsd.c: Likewise.
- m88kmach3.c: Likewise.
- mipsbsd.c: Likewise.
- newsos3.c: Likewise.
- sparclinux.c: Likewise.
- sparclynx.c: Likewise.
- sparcnetbsd.c: Likewise.
- vaxbsd.c: Likewise. Fix comment formatting.
-
-2003-03-12 Alexandre Oliva <aoliva@redhat.com>
-
- * Reverted 2003-03-02's patch.
-
- * elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
- overridable.
- * elf64-mips.c (mips_elf64_canonicalize_reloc,
- mips_elf64_get_dynamic_reloc_upper_bound,
- mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
- (bfd_elf64_get_canonicalize_reloc,
- bfd_elf64_get_dynamic_reloc_upper_bound,
- bfd_elf64_canonicalize_dynamic_reloc): Define.
- (mips_elf64_slurp_reloc_table): Support dynamic.
- (mips_elf64_slurp_one_reloc_table): Adjust.
-
-2003-03-12 Nick Clifton <nickc@redhat.com>
-
- * xsym.c (bfd_sym_fetch_type_information_table_entry): Change
- 'index' to 'offset' in test for zero value.
-
-2003-03-11 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
- dynamic relocations pointing to local or section symbols, use the
- NULL symbol instead. Document the choice to not emit an
- additional R_MIPS_64 relocation.
-
-2003-03-11 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
- zero index dynamic tls relocs generated for the GOT. Tidy code.
- Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
-
-2003-03-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
- a tls_get_addr call.
-
- * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
- (ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
- ELF_LINK_NON_GOT_REF from weakdef.
- * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
- (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
- ELF_LINK_NON_GOT_REF from weakdef.
- * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
- (elf_i386_adjust_dynamic_symbol): For weak symbols, copy
- ELF_LINK_NON_GOT_REF from weakdef.
-
-2003-03-06 Jakub Jelinek <jakub@redhat.com>
- Andrew Haley <aph@redhat.com>
-
- * elflink.h (elf_bfd_discard_info): Don't process eh frames if
- output is relocateable.
-
-2003-03-06 Steven Konopa <skonopa@kgo.csc.com>
-
- * som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
- R_COMMENT.
-
-2003-03-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
- error messages.
- (ELIMINATE_COPY_RELOCS): Define to zero.
- (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
- TLSLD relocs. Report reloc types on a number of errors. Optimize
- LOCAL24PC check for non-local syms. Don't capitalize error messages.
- * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
- (ppc64_elf_relocate_section): Don't deref htab->tls_sec when
- calculating TLSLD relocs. Report reloc types on a number of errors.
- Don't capitalize error messages.
-
-2003-03-03 H.J. Lu <hjl@gnu.org>
-
- * elfxx-ia64.c (USE_BRL): Removed.
- (oor_ip): Removed.
-
-2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
-
- * elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
- relocation (no special function), and make it non-partial_inplace.
- (sh_elf_relax_section): When creating a bsr, use a consistent value
- no matter if the symbol is extern or not; set addend to -4.
- Don't swap load / non-load instructions for SH4.
- (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
- rather than if the symbol is external to determine if adjusting the
- offset makes sense. Adjust the addend too if appropriate.
- (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
- relocation.
-
-2003-03-03 Nick Clifton <nickc@redhat.com>
-
- * po/da.po: Installed latest translation.
-
-2003-03-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c (elf_mips_howto_table_rel): Change definition of
- R_MIPS_PC16 to rightshift 2.
- (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
- (bfd_elf32_bfd_reloc_type_lookup): Support
- BFD_RELOC_MIPSEMB_16_PCREL_S2.
- * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
- R_MIPS_PC16 to rightshift 2.
- (mips_elf64_howto_table_rela): Likewise.
- (mips_reloc_map): Map to rightshifted BFD reloc.
- * elfn32-mips.c: The same as in elf64-mips.c.
- * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
- (mips_elf_calculate_relocation): Handle rightshifted addends for
- R_MIPS_PC16.
- * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
- MIPS Embedded PIC. Remove superfluous empty COMMENT.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
-
-2003-02-28 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
- for ltoff22x relaxation.
-
-2003-03-01 Alan Modra <amodra@bigpond.net.au>
-
- * bfd-in.h (_bfd): Don't define.
- * bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
- * syms.c: Likewise.
- * bfd-in2.h: Regenerate.
-
-2003-02-27 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
- (elfNN_ia64_check_relocs): Set it.
- (allocate_global_data_got): Check it.
- (allocate_local_got): Likewise.
- (allocate_dynrel_entries): Likewise.
- (elfNN_ia64_relax_ldxmov): New.
- (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
- (elfNN_ia64_choose_gp): Split out from ...
- (elfNN_ia64_final_link): ... here.
-
-2003-02-27 Andrew Cagney <cagney@redhat.com>
-
- * bfd.c (struct bfd): Rename "struct _bfd".
- * bfd-in.h: Update copyright.
- (struct bfd): Rename "struct _bfd".
- (_bfd): Define for backward compatibility.
- * bfd-in2.h: Regenerate.
-
-2003-02-25 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
- and rel_hdr2 when initially counting input relocs rather than after
- creating output reloc sections.
- (elf_link_read_relocs_from_section): Don't abort with wrong reloc
- sizes.
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-02-24 Kris Warkentin <kewarken@qnx.com>
-
- * elf.c (elfcore_read_notes): Add check for QNX style core file.
- (elfcore_grog_nto_note): New function.
- (elfcore_grog_nto_gregs): New function.
- (elfcore_grog_nto_status): New function.
-
-2003-02-24 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.c (_bfd_elf_create_got_section): Check existing .got
- section flags before concluding that we've already been called.
- Don't use register keyword.
- (_bfd_elf_create_dynamic_sections): Don't use register keyword.
- (_bfd_elf_create_linker_section): Formatting.
-
-2003-02-20 jmc <jmc@prioris.mini.pw.edu.pl>
-
- * coff-h8300.c: Fix typo: intial -> initial.
- * coff-ppc.c: Likewise.
-
-2003-02-20 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c: Formatting.
- (allocate_dynrelocs): LD and GD relocs against the same sym need
- separate GOT entries.
- (ppc_elf_relocate_section): Correct GOT handling for multiple GOT
- entries per symbol.
-
-2003-02-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
- removal. Localize vars. Remove unnecessary dynobj test.
- * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
- of INFO.
- (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
- and optimize.
- (elf_i386_relocate_section): Likewise.
- (elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars.
- * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
- * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
- * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
- * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
- * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove
- local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32
- or PCPLT10 relocs. Don't subtract twice on PLT32 relocs.
- Formatting.
-
- * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
- (ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC
- test.
- (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
- (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
- and optimize. Use ELIMINATE_COPY_RELOCS.
- (ppc64_elf_relocate_section): Likewise.
-
- * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
- (ppc_elf_copy_indirect_symbol): Copy pc_count field.
- (ELIMINATE_COPY_RELOCS): Define.
- (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
- (MUST_BE_DYN_RELOC): Define.
- (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
- and optimize. Trim dyn_relocs.
- (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
- not be used. Do generate dyn_relocs for copy reloc avoidance. Keep
- track of pc_rel dyn relocs.
- (ppc_elf_relocate_section): Remove "will_become_local". Adjust
- WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per
- allocate_dynrelocs. Don't recalculate "sec".
-
-2003-02-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
- * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
- on invalid LD relocs.
- (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
- (ppc64_elf_relocate_section): Unify new handling of LD relocs and
- tlsld_got entry. Use IS_PPC64_TLS_RELOC.
-
- * elf32-ppc.h: New file.
- * elf32-ppc.c: Include elf32-ppc.h.
- (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
- (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses.
- Add "tls_mask" field.
- (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
- (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses.
- Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
- sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
- Make use of htab shortcuts throughout file.
- (ppc_elf_link_hash_newfunc): Init tls_mask field.
- (ppc_elf_link_hash_table_create): Init new fields.
- (ppc_elf_copy_indirect_symbol): Copy tls_mask.
- (ppc_elf_howto_raw): Add tls relocs.
- (ppc_elf_reloc_type_lookup): Handle them.
- (ppc_elf_unhandled_reloc): New function.
- (ppc_elf_create_got): Stash got section pointer in hash table,
- return status. Make .rela.got too.
- (ppc_elf_create_dynamic_sections): Stash section pointers in htab.
- (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
- NON_GOT_REF set. Don't allocate space in .plt here..
- (allocate_dynrelocs): ..do so here instead, properly ref-counting and
- not allocating plt entries unnecessarily. Allocate got entries here.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
- (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass
- "info" during allocate_dynrelocs hash traversal. Use htab section
- shortcuts rather than searching for named sections. Get rid of
- "plt" and "strip" booleans.
- (update_local_sym_info, bad_shared_reloc): New functions.
- (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to
- ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so
- in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc.
- Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
- R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
- in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all
- relocs that might use a plt entry. Set NON_GOT_REF too.
- Enumerate all do-nothing relocs.
- (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle
- tls relocs and all plt relocs.
- (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
- (ppc_elf_finish_dynamic_symbol): Don't build got entries here.
- (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
- shortcuts.
- (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use
- bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got
- entries and got relocs here. Warn on non-zero got reloc addend.
- Split out branch taken/not taken reloc code into a separate switch
- and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
- Split out HA reloc adjustments to separate switch statement. Don't
- warn on reloc overflow if we've already warned about undefined.
- Don't rebuild sym name when reporting errors. Report all possible
- errors from _bfd_final_link_relocate.
- (bfd_elf32_bfd_final_link): Don't define.
-
-2003-02-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't
- rebuild sym name when reporting errors.
-
-2003-02-17 Nick Clifton <nickc@redhat.com>
-
- * elflink.h (elf_link_output_extsym): Only check
- allow_shlib_undefined for shared libraries.
- * elf32-i386.c (elf_i386_relocate_section): Remove bogus check
- of allow_shlib_undefined.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sh.c (sh_elf_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
-
-2003-02-17 Nick Clifton <nickc@redhat.com>
-
- * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
- address field to use in the comparison.
- (SEGMENT_OVERLAPS): Check that LMAs overlap as well.
-
-2003-02-14 Bob Wilson <bob.wilson@acm.org>
-
- * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
- backends when checking if the generic ELF target should be used.
-
- * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
- outside of functions, treat values as absolute addresses.
-
- * bfd.c: Change embedded documentation to use consistent indentation
- and to split up long lines. Change informal style of description
- for functions lacking real documentation.
- * coffcode.h: Break up long lines in embedded documentation.
- * format.c: Likewise.
- * targets.c: Likewise.
- * libcoff.h: Regenerate.
- * bfd-in2.h: Regenerate.
-
-2003-02-14 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
- (ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
- (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
- (allocate_dynrelocs): Don't treat undefined and undefweak specially.
- (ppc_size_one_stub): Fix warning, and tighten plt entry check.
- (group_sections): Don't share a stub section if stubs are for a large
- section. Adjust comment.
- (ppc64_elf_size_stubs): Roughly double the size left for stubs if
- !stubs_always_before_branch.
- (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't
- treat undefined and undefweak specially when processing dyn relocs.
-
-2003-02-13 Jakub Jelinek <jakub@redhat.com>
-
- * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
-
-2003-02-13 Nick Clifton <nickc@redhat.com>
-
- * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
- in computation of offset to insert into BL instruction.
-
-2003-02-11 Uwe Stieber <uwe@wwws.de>
-
- * config.bfd: Add support for kaOS as cross build target system.
-
-2003-02-11 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
- .__tls_get_addr too.
- (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
-
-2003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
- (elf_sh_link_hash_entry): Remove tls_tpoff32 field.
- (sh_elf_link_hash_newfunc): Remove the initialization of
- tls_tpoff32 field.
- (allocate_dynrelocs): Keep dyn_relocs if it includes the entry
- for which tls_tpoff32 flag is set.
- (sh_elf_relocate_section): Covert to LE only if the dyn_relocs
- of the symbol includes the entry matched with the input_section
- and having tls_tpoff32 flag on. When linking statically, set
- symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
- is defined in this executable.
- (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
-
-2003-02-10 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
- even if there is just non-empty .rela.plt.
-
-2003-02-10 Nick Clifton <nickc@redhat.com>
-
- * archures.c (bfd_mach_arm_ep9312): Define.
- * bfd-in2.h: Regenerate.
- * cpu-arm.c (processors[]): Add ep9312.
- (bfd_arm_arch): Add ep9312.
- * elf32-arm.h (elf32_arm_merge_private_data): Update error
- messages and add test for Maverick floating point support.
- (elf32_arm_print_private_bfd_data): Handle
- EF_ARM_MAVERICK_FLOAT flag.
- (elf32_arm_object_p): New function.
- (elf_backend_object_p): Define.
-
-2003-02-10 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Rename assorted occurrences of tls_type and similar
- variables, structure fields or function params to tls_mask or
- similar to better reflect usage.
- (struct got_entry): Comment.
- (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
- (get_tls_mask): Rename from get_tls_type.
-
-2003-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (TLS_GD_LD): Don't define..
- (TLS_GD): ..define this instead and update all uses.
- (TLS_TPRELGD): Define.
- (ppc64_elf_link_hash_table_create): Tweak initialization of
- init_refcount and init_offset.
- (ppc64_elf_check_relocs): Add one extra element to t_symndx array.
- Mark second slot of GD or LD toc entries.
- (get_tls_type): Return an int. Distinguish toc GD and LD entries
- from other tls types.
- (ppc64_elf_tls_setup): New function, split out from..
- (ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
- defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
- on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
- return value to properly decide whether toc GD and LD entries can
- optimize away __tls_get_addr call. Check next reloc after DTPMOD64
- to determine GD or LD rather than looking at TLS_LD flag. Don't
- attempt to adjust got entry tls_type here..
- (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
- look for possible merges.
- (ppc64_elf_size_dynamic_sections): Adjust local got entries for
- optimization.
- (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
- (ppc64_elf_relocate_section): Rename some vars to better reflect usage.
- Make use of return value from get_tls_type to properly detect GD and
- LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
- handle tls_get_addr removal when looking at REL24 relocs, do it when
- looking at the previous reloc. Check reloc after DTPMOD64 to determine
- GD or LD.
- * elf64-ppc.h (ppc64_elf_tls_setup): Declare.
-
-2003-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (group_sections): Don't share a stub section if
- stubs are for a large section.
-
- * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
- stubs if !stubs_always_before_branch.
-
-2003-02-07 Nick Clifton <nickc@redhat.com>
-
- * elf.c (swap_out_syms): Generate an error message if an
- equivalent output section cannot be found for a symbol.
-
-2003-02-07 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
- local_got_entries is NULL.
-
-2003-02-06 Andreas Schwab <schwab@suse.de>
-
- * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
- (read_value): Add parameter is_signed, use signed extraction if
- the value is signed.
- (_bfd_elf_write_section_eh_frame): Pass signed flag of the
- encoding to read_value.
-
-2003-02-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
- plt info when called to transfer weak sym info.
-
-2003-02-05 Alan Modra <amodra@bigpond.net.au>
-
- * reloc.c: Add PPC and PPC64 TLS relocs.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
- (ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be
- against a 32 bit field.
- (ppc64_elf_reloc_type_lookup): Handle TLS relocs.
- (_ppc64_elf_section_data): Add t_symndx and comments.
- (ppc64_elf_section_data): Use elf_section_data macro.
- (ppc64_elf_new_section_hook): American spelling.
- (struct got_entry, struct plt_entry): New.
- (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
- (struct ppc_stub_hash_entry): Add "addend" field.
- (struct ppc_link_hash_entry): Add "tls_type".
- (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
- TLS_EXPLICIT): Define.
- (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
- (link_hash_newfunc): Init new fields.
- (ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and
- init_offset to NULL.
- (ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call
- _bfd_elf_link_hash_copy_indirect, rather insert relevant code from
- there.
- (update_local_sym_info, update_plt_info): New functions.
- (ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT
- handling to use got.glist rather than got.refcount. Likewise for PLT.
- (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
- (func_desc_adjust): Adjust for new PLT list.
- (ppc64_elf_adjust_dynamic_symbol): Likewise.
- (get_sym_h, get_tls_type): New functions.
- (ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h.
- (ppc64_elf_tls_optimize): New function.
- (allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate
- TLS relocs.
- (ppc64_elf_size_dynamic_sections): Likewise.
- (ppc_type_of_stub): Adjust for new PLT list.
- (ppc_build_one_stub): Likewise.
- (ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr
- calls specially.
- (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle
- TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't
- init GOT entries that have a reloc. Generate GOT relocs here..
- (ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list.
- * elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
-
-2003-02-04 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (elf_m68k_hash_entry): Define.
- (elf_m68k_link_hash_traverse): Remove.
- (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
- elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
- reduce casting.
- (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
- casting.
- (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
- instead of elf_m68k_link_hash_traverse.
- (elf_m68k_discard_copies): Change first parameter to pointer to
- struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
- elf_m68k_link_hash_entry is needed.
-
-2003-02-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
- (struct elf_link_hash_entry): Add "glist" and "plist" fields to
- "got" union, and declare as gotplt_union. Use gotplt_uinion for
- "plt" field.
- (struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
- Add "init_offset" field.
- (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
- (elf_local_got_ents): Declare.
- * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
- and "plt".
- (_bfd_elf_link_hash_hide_symbol): Use "init_offset".
- (_bfd_elf_link_hash_table_init): Set "init_offset".
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
- from init_offset.
- (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
-
- * elf.c (bfd_elf_local_sym_name): Split out from..
- (group_signature): ..here.
- * elf-bfd.h (bfd_elf_local_sym_name): Declare.
-
-2003-02-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (enum elf_link_info_type): Remove.
- (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
- to struct sec. Remove linkonce_p field.
- (elf_linkonce_p): Delete.
- (elf_discarded_section): Update for sec_info_type change.
- * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
- flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
- (ELF_INFO_TYPE_NONE): Define.
- (ELF_INFO_TYPE_STABS): Define.
- (ELF_INFO_TYPE_MERGE): Define.
- (ELF_INFO_TYPE_EH_FRAME): Define.
- (ELF_INFO_TYPE_JUST_SYMS): Define.
- (STD_SECTION): Update struct sec initializer.
- * ecoff.c (bfd_debug_section): Likewise.
- * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p.
- * elflink.h: Likewise.
- * elf-eh-frame.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elfxx-ia64.c: Likewise.
- * elfxx-mips.c: Likewise.
- * bfd-in2.h: Regenerate.
-
- * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
- referring to used_by_bfd.
- * elf64-sparc.c (sec_do_relax): Likewise.
- * elf64-mmix.c (mmix_elf_section_data): Likewise.
- * elfxx-mips.c (mips_elf_section_data): Likewise.
- * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
- (ieee_get_section_contents): Likewise.
- (ieee_new_section_hook): Formatting.
- (ieee_canonicalize_reloc): Remove commented out code.
- * mmo.c (mmo_section_data): Define. Use throughout file.
- * oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
-
-2003-01-31 Graydon Hoare <graydon@redhat.com>
-
- * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
- * Makefile.in: Regenerate.
- * opncls.c (calc_crc32, get_debug_link_info,
- seperate_debug_file_exists, find_seperate_debug_file): New
- internal functions.
- (bfd_follow_gnu_debuglink): New function. Follow the pointer
- contained inside a .gnu_debuglink section.
- * bfd-in2.h: Regenerate.
-
-2003-01-29 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
- entry->abfd when it's NULL.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
- _bfd_elf_section_offset returning -2 the same way as -1.
-
- * elfxx-mips.c (mips_elf_multi_got): New function.
- (struct mips_got_entry): Make symndx and gotidx signed. Moved
- addend into union along with address and link hash entry.
- (struct mips_got_info): Added bfd2got and next.
- (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
- (mips_elf_got_section, mips_elf_create_got_section): Use
- SEC_EXCLUDE bit to tell whether we really need the got
- section. Take boolean arguments to disregard an excluded
- section, or to create it as excluded. Adjust all callers.
- Use mips_elf_got_section all over.
- (mips_elf_local_got_index, mips_elf_got_page,
- mips_elf_got16_entry): Take input bfd as argument, and pass it
- on to mips_elf_create_local_got_entry.
- (mips_elf_global_got_index, mips_elf_create_local_got_entry):
- Take input bfd as argument, and manage entries in the
- appropriate GOT.
- (mips_elf_got_offset_from_index): Take input bfd as argument,
- and use it to adjust the GP offset of the bfd.
- (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
- unreferenced GOT entries of global symbols to the end.
- (mips_elf_record_global_got_symbol): Take input bfd as
- argument. Add entries to the master GOT hash table.
- (struct mips_elf_bfd2got_hash): New.
- (struct mips_elf_got_per_bfd_arg): New.
- (struct mips_elf_set_global_got_offset_arg): New.
- (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
- mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
- mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
- mips_elf_merge_gots, mips_elf_set_global_got_offset,
- mips_elf_resolve_final_got_entry,
- mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
- mips_elf_got_for_ibfd): New functions.
- (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
- (MIPS_ELF_GOT_MAX_SIZE): New macro.
- (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
- (mips_elf_got_entry_hash): Take new fields into account. Use
- mips_elf_hash_bfd_vma.
- (mips_elf_got_entry_eq): Take new fields into account.
- (mips_elf_create_got_section): Initialize new fields.
- (mips_elf_calculate_relocation): Pass input_bfd to functions
- that now take it. Adjust gp for the input_bfd.
- (mips_elf_allocate_dynamic_relocation,
- mips_elf_create_dynamic_relocation,
- _bfd_mips_elf_create_dynamic_sections): Use...
- (mips_elf_rel_dyn_section): New function. Borrow code from...
- (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
- now take it. Create the got section if needed, even if
- excluded, before recording a global got symbol. Move some
- code to...
- (mips_elf_record_local_got_symbol): New fn.
- (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
- Compute multi-got global entries offsets. Move GOT code to...
- (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
- if the GOT is too big.
- (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
- undefweak symbol to zero. Generate dynamic relocations for
- non-primary GOT entries for global symbols.
- (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
- case. Generate dynamic relocations for local got entries.
- Sort dynamic relocations on N64 too, using...
- (sort_dynamic_relocs_64): New fns.
- (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
- (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * bfd.c (struct _bfd): Added id field.
- * opncls.c (_bfd_id_counter): New static variable.
- (_bfd_new_bfd): Use it.
- * bfd-in2.h: Rebuilt.
-
-2003-01-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
-
-2003-01-25 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
- (elf32_sparc_rev32_howto): New variable.
- (sparc_reloc_map): Add TLS relocs.
- (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
- Handle REV32.
- (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
- New functions.
- (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
- struct elf32_sparc_link_hash_table):
- New structures.
- (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
- elf32_sparc_hash_table): Define.
- (link_hash_newfunc, elf32_sparc_link_hash_table_create,
- create_got_section, elf32_sparc_create_dynamic_sections,
- elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
- functions.
- (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
- reference counting.
- (elf32_sparc_gc_sweep_hook): Likewise.
- (elf32_sparc_adjust_dynamic_symbol): Likewise.
- (elf32_sparc_size_dynamic_sections): Likewise.
- (elf32_sparc_relocate_section): Likewise.
- (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
- New functions.
- (elf32_sparc_object_p): Allocate backend private object data.
- (bfd_elf32_bfd_link_hash_table_create,
- elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
- elf_backend_can_refcount): Define.
- (elf_backend_create_dynamic_sections): Define to
- elf32_sparc_create_dynamic_sections.
- * reloc.c: Add SPARC TLS relocs.
- * bfd-in2.h, libbfd.h: Rebuilt.
- * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
- (sparc_reloc_map): Likewise.
-
-2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * bfd-in2.h: Regenerate.
- * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
- s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
- (elf_howto_table): Add TLS relocs.
- (elf_s390_reloc_type_lookup): Likewise.
- (elf_s390_link_hash_entry): Add tls_type.
- (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
- New macros.
- (elf_s390_link_hash_table): Add tls_ldm_got.
- (link_hash_newfunc): Initialize tls_type.
- (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
- (elf_s390_copy_indirect_symbol): Copy tls_type information.
- (elf_s390_check_relocs): Support TLS relocs.
- (elf_s390_gc_sweep_hook): Likewise.
- (allocate_dynrelocs): Likewise.
- (elf_s390_size_dynamic_sections): Likewise.
- (elf_s390_relocate_section): Likewise.
- (elf_s390_finish_dynamic_symbol): Likewise.
- (bfd_elf32_mkobject): Define for TLS.
- * elf64-s390.c: Same changes as for elf32-s390.c.
- * libbfd.h: Regenerate.
- * reloc.c: Add s390 TLS relocations.
-
-2003-01-24 Charles Lepple <clepple@ghz.cc>
-
- * aclocal.m4: Fix name of --enable-install-libbfd switch.
-
-2003-01-23 Nick Clifton <nickc@redhat.com>
-
- * Add sh2e support:
- 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
- * archures.c (bfd_mach_sh2e): Added.
- * bfd-in2.h: Rebuilt.
- * cpu-sh.c (arch_info_struct): Added SH2e.
- * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
-
-2003-01-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
- dynindx to an int. Rearrange for better packing.
- * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
- * elf32-mips.c (bfd_elf32_new_section_hook): Define.
- * elf32-sh64.h: New. Split out from include/elf/sh.h.
- (struct _sh64_elf_section_data): New struct.
- (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
- * elf32-sh64-com.c: Include elf32-sh64.h.
- * elf32-sh64.c: Likewise.
- (sh64_elf_new_section_hook): New function.
- (bfd_elf32_new_section_hook): Define.
- (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
- (sh64_bfd_elf_copy_private_section_data): Likewise.
- (sh64_elf_final_write_processing): Likewise.
- * elf32-sparc.c (struct elf32_sparc_section_data): New.
- (elf32_sparc_new_section_hook): New function.
- (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
- (sec_do_relax): Define.
- (elf32_sparc_relax_section): Adjust to use sec_do_relax.
- (elf32_sparc_relocate_section): Likewise.
- * elf64-mips.c (bfd_elf64_new_section_hook): Define.
- * elf64-mmix.c (struct _mmix_elf_section_data): New.
- (mmix_elf_section_data): Define. Use throughout file.
- (mmix_elf_new_section_hook): New function.
- (bfd_elf64_new_section_hook): Define.
- * elf64-ppc.c (struct _ppc64_elf_section_data): New.
- (ppc64_elf_section_data): Define. Use throughout.
- (ppc64_elf_new_section_hook): New function.
- (bfd_elf64_new_section_hook): Define.
- * elf64-sparc.c (struct sparc64_elf_section_data): New.
- (sparc64_elf_new_section_hook): New function.
- (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
- (sec_do_relax): Define.
- (sparc64_elf_relax_section): Adjust to use sec_do_relax.
- (sparc64_elf_relocate_section): Likewise.
- (bfd_elf64_new_section_hook): Define.
- * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
- * elfxx-mips.c (struct _mips_elf_section_data): New.
- (mips_elf_section_data): Define. Use throughout.
- (_bfd_mips_elf_new_section_hook): New function.
- (mips_elf_create_got_section): Don't alloc used_by_bfd.
- * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
- * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-01-21 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
- (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
- (elf64_alpha_adjust_dynamic_symbol): Set them.
- (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
- (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
- symbol index when relaxing LDM to TPREL.
- (elf64_alpha_relax_section): Likewise. Allow relaxation of GD
- relocs, even if the target isn't locally defined.
- (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
- (elf64_alpha_relocate_section): Likewise. Force TP-relative
- relocs vs symndx 0 to the tp base.
-
-2003-01-21 Fabio Alemagna <falemagn@aros.org>
-
- * config.bfd: Handle i[3456]86-*-aros*.
-
-2003-01-21 Andreas Schwab <schwab@suse.de>
-
- * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
- (struct ppc_elf_link_hash_entry): Define.
- (ppc_elf_hash_entry): New function.
- (struct ppc_elf_link_hash_table): Define.
- (ppc_elf_hash_table): New function.
- (ppc_elf_link_hash_newfunc): New function.
- (ppc_elf_link_hash_table_create): New function.
- (ppc_elf_copy_indirect_symbol): New function.
- (allocate_dynrelocs): New function.
- (readonly_dynrelocs): New function.
- (ppc_elf_size_dynamic_sections): Allocate space for dynamic
- relocs and determine DT_TEXTREL.
- (ppc_elf_check_relocs): Don't do that here, just count the
- dynamic relocs.
- (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
- removed section.
- (bfd_elf32_bfd_link_hash_table_create): Define.
- (elf_backend_copy_indirect_symbol): Define.
-
-2003-01-21 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
- TPREL also get a reloc if shared. Remove SREL support.
- (elf64_alpha_emit_dynrel): New.
- (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
- and GOTTPREL relocs to local symbols against the tp base.
- (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
-
- * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
- use count before clobbering r_type.
- (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
- ordering would mean dataflow inspection is necessary.
-
-2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coffcode.h (coff_set_flags): Added get/set arch hooks.
-
-2003-01-20 Fabio Alemagna <falemagn@aros.org>
-
- * elf32-sh.c: Treat elfNN_bed like other macros defined in
- elfxx-target.h and #undef it before #define'ing it.
- * elf32-i386.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elf64-sh64.c: Likewise.
-
-2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * bfd-in2.h: Regenerate.
- * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
- (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
- R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
- R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
- R_390_PLTOFF32 and R_390_PLTOFF64.
- (elf_s390_reloc_type_lookup): Likewise.
- (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
- of GOTPLT references to a function.
- (link_hash_newfunc): Initialize gotplt_refcount.
- (elf_s390_check_relocs): Move allocation of local_got_refcounts array
- and creation of the got section out of the main switch. Add support
- for the gotoff, gotplt and pltoff relocations.
- (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
- and pltoff.
- (elf_s390_adjust_gotplt): New function.
- (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
- plt entries.
- (allocate_dynrelocs): Add comment.
- (elf_s390_relocate_section): Change r_type to unsigned. Add support
- for gotoff, gotplt and pltoff relocations.
- * elf64-s390.c: Same changes as for elf32-s390.c.
- * libbfd.h: Regenerate.
- * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
- BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
- BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
- and BFD_RELOC_390_PLTOFF64.
-
-2003-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
- R_IA64_TPREL64[LM]SB against non-global symbol properly.
-
-2003-01-16 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
- self_dtpmod_done and self_dtpmod_offset.
- (allocate_global_data_got): Only use one got entry for all
- dtpmod relocs against local symbols.
- (allocate_dynrel_entries): Only need .rela.got entry for
- dtpmod against global symbol.
- (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
- Reserve space in .rela.got for the local dtpmod entry.
- (set_got_entry): Initialize the common local dtpmod .got entry.
- (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
- and R_IA_64_DTPREL64MSB.
-
-2003-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
- (R_PPC_*): Rename all occurrences to R_PPC64_*.
- (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
- (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
- (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
- relative relocs, not with absolute ones.
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2003-01-15 Andreas Schwab <schwab@suse.de>
-
- * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
- relocation against a non-allocated readonly section.
-
-2003-01-10 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
-
-2002-01-08 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
- (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
- * Makefile.in: Regenerate.
-
-2003-01-08 Alexandre Oliva <aoliva@redhat.com>
-
- * elfn32-mips.c (prev_reloc_section): New.
- (GET_RELOC_ADDEND): Use it. Parenthesize macro arguments.
- (SET_RELOC_ADDEND): Parenthesize macro argument.
-
-2003-01-07 John David Anglin <dave.anglin@nrc.gc.ca>
-
- * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
- adjust addil instructions if the symbol has no section.
-
-2003-01-07 DJ Delorie <dj@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
- partial_inplace.
-
-2003-01-07 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
- PC relative relocations.
- (elf_m68k_discard_copies): Set it here instead.
-
-2002-01-02 Ben Elliston <bje@redhat.com>
- Jeff Johnston <jjohnstn@redhat.com>
-
- * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
- (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
- (BFD32_BACKENDS): Add elf32-iq2000.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
- (cpu-iq2000.lo): New target.
- * Makefile.in: Regenerate.
- * config.bfd: Handle iq2000-*-elf.
- * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
- (bfd_archures_list): Add bfd_iq2000_arch.
- * configure.in: Handle bfd_elf32_iq2000_vec.
- * configure: Regenerate.
- * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
- and BFD_RELOC_IQ2000_UHI16.
- * targets.c (bfd_elf32_iq2000_vec): Declare.
- (bfd_target_vector): Add bfd_elf32_iq2000_vec.
- * elf.c (prep_headers): Set e_machine to EM_IQ2000.
- * cpu-iq2000.c: New file.
- * elf32-iq2000.c: Likewise.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Likewise.
-
-2003-01-02 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c: Include libiberty.h.
- (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
- (mips_set_isa_flags): New function, split out from...
- (_bfd_mips_elf_final_write_processing): ...here. Only call
- mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
- (mips_mach_extensions): New array.
- (mips_32bit_flags_p): New function.
- (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
- Use mips_32bit_flags_p to check if one binary is 32-bit and the
- other is 64-bit. When adopting IBFD's architecture, adopt the
- bfd_mach as well as the flags.
-
-2003-01-02 Nick Kelsey <nickk@ubicom.com>
-
- * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
- fix internal errors, fix bad code generation, fix incorrect stabs
- information, and improve ability to eliminate redundant page
- instructions. Added code to ip2k_final_link_relocate to self-verify
- the linker relaxation. Fix formatting problems.
-
-2002-12-30 Chris Demetriou <cgd@broadcom.com>
-
- * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
- * archures.c (bfd_mach_mipsisa32r2): New define.
- * bfd-in2.h: Regenerate.
- * cpu-mips.c (I_mipsisa32r2): New enum value.
- (arch_info_struct): Add entry for I_mipsisa32r2.
- * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
- (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
- (_bfd_mips_elf_final_write_processing): Add
- bfd_mach_mipsisa32r2 case.
- (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
- binaries marked as using MIPS32 Release 2.
-
-2002-12-30 Dmitry Diky <diwil@mail.ru>
-
- * Makefile.am: Add msp430 target.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * archures.c: Add msp430 architecture vector.
- * config.bfd: Likewise.
- * reloc.c: Add msp430 relocs.
- * targets.c: Add msp320 target.
- * cpu-msp430.c: New file: msp430 cpu detection.
- * elf32-msp430.c: New file: msp430 reloc processing.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
-
-2002-12-28 Jakub Jelinek <jakub@redhat.com>
-
- * elf.c (elf_sort_sections): Don't reorder .tbss.
- (assign_file_positions_for_segments): Only adjust off/voff
- for increased alignment in PT_LOAD or PT_NOTE segment,
- but adjust p_filesz for .tbss too. in PT_LOAD consider
- .tbss to have zero memory size.
- (copy_private_bfd_data) [SECTION_SIZE]: Define.
- [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
- [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
- into PT_TLS segment. Never put SHF_TLS sections in
- segments other than PT_TLS or PT_LOAD.
-
- * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
- sh_entsize.
-
-2002-12-23 DJ Delorie <dj@redhat.com>
-
- * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
-
-2002-12-23 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_output_extsym): Heed strip_discarded.
-
-2002-12-23 Nick Clifton <nickc@redhat.com>
-
- * archures.c (bfd_arch_get_compatible): Add third parameter
- 'accept_unknowns'. Only accept unknown format BFDs if
- accept_unknowns is true, or if the format is "binary".
- * bfd-in2.h: Regenerate.
-
-2002-12-21 Nick Clifton <nickc@redhat.com>
-
- * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
- that subtracted 8 from pc relative relocations.
-
-2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
-
- * coff-h8300.c: Fix comment typos.
- * coffcode.h: Likewise.
- * cpu-cris.c: Likewise.
- * elf32-vax.c: Likewise.
- * genlink.h: Likewise.
- * linker.c: Likewise.
- * som.c: Likewise.
- * tekhex.c: Likewise.
- * vms-misc.c: Likewise.
-
-2002-12-20 DJ Delorie <dj@redhat.com>
-
- * reloc.c: Add BFD_RELOC_XSTORMY16_12.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
- (xstormy16_reloc_map): Add R_XSTORMY16_12.
-
-2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
-
- * doc/bfdint.texi: Fix typos.
-
-2002-12-20 Paul Eggert <eggert@twinsun.com>
-
- Port to POSIX 1003.1-2001.
- * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
- * configure.in (build-warnings): Likewise.
- (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
- * aclocal.m4: Regenerate.
- * config.in: Regenerate.
- * configure: Regenerate.
-
-2002-12-19 Alan Modra <amodra@bigpond.net.au>
-
- * coff-h8300.c: Include libiberty.h.
- (h8300_reloc16_extra_cases): Check the hash table creator before
- referencing h8300 specific fields. Stash the hash table pointer
- in a local var. Comment typo fixes.
- (h8300_bfd_link_add_symbols): Likewise.
-
- * reloc.c (struct reloc_howto_struct): Revise src_mask and
- dst_mask comments.
- * bfd-in2.h: Regenerate.
-
-2002-12-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
- code a little. Comment on dynamic relocs against section symbols.
-
-2002-12-17 Roger Sayle <roger@eyesopen.com>
-
- * configure.host (ia64-*-hpux*): Support 64 bit targets using
- the HP compiler's "long long".
-
-2002-12-16 Andrew MacLeod <amacleod@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
- and R_XSTORMY16_HI16) howto entries.
- (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
- (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
- determine the start of the second reloc table.
-
-2002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * ecofflink.c: Fix the reading of the debugging information
- of Tru64/Alpha binaries that are produced by recent Compaq
- compilers.
- (mk_fdrtab): Fix error in creating the FDR (file descriptor)
- table.
- (lookup_line): Because of the strange information sometimes
- generated by Compaq's recent compilers, change how the FDR
- table is searched so that PDRs (procedure descriptors) are
- correctly found. Note that this change is really more of a hack;
- however, I have included extensive documentation as to why
- this is the best solution short of an extensive rewrite or
- another hack.
- (fdrtab_lookup): Add comments to explain the algorithm.
-
-2002-12-12 Alexandre Oliva <aoliva@redhat.com>
-
- * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
- initializers to match struct declaration.
-
-2002-12-12 Alan Modra <amodra@bigpond.net.au>
-
- * dwarf2.c (comp_unit_contains_address): Comment typo fix.
- * elf.c (get_program_header_size): Likewise.
- * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
- (m32r_elf_generic_reloc): Likewise.
- * elf32-ppc.c (ppc_elf_howto_init): Likewise.
- * elflink.h (elf_bfd_discard_info): Likewise.
-
-2002-12-12 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
- to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and
- DT_RELSZ adjustment, not output section. Avoid writing tags when
- unchanged. Don't assume linker script is sane, adjust DT_REL too.
- * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
- size of srelplt for DT_PLTRELSZ. Use srelplt input section size for
- DT_RELASZ adjustment, not output section. Avoid writing tags when
- unchanged. Adjust DT_RELA.
- * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
- formatting. Avoid writing tags when unchanged. Adjust DT_RELA.
-
-2002-12-12 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
- addend by 4.
-
-2002-12-12 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (struct mips_got_entry): New.
- (struct mips_got_info): Added got_entries field.
- (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
- (mips_elf_local_got_index, mips_elf_got_page,
- mips_elf_got16_entry): Re-implement in terms of new...
- (mips_elf_create_local_got_entry): Rewrite to use got_entries.
- Change return type.
- (mips_elf_highest): Warning clean-up.
- (mips_elf_create_got_section): Initialize got_entries.
- (_bfd_mips_elf_check_relocs): Use got_entries to estimate
- local got size.
- (_bfd_mips_elf_size_dynamic_sections): Do not account for
- GOT_PAGE entries, since we now reuse GOT16 entries.
-
-2002-12-10 Jason Thorpe <thorpej@wasabisystems.com>
-
- * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
- read-only section that lies after .text and before .data to be
- written into the output file and included in a_text.
- (translate_to_native_sym_flags): If an otherwise unrepresentable
- section was merged with .text, convert its symbols to N_TEXT
- symbols.
- * libaout.h (aout_section_merge_with_text_p): New macro.
-
-2002-12-08 Alan Modra <amodra@bigpond.net.au>
-
- * bfd-in.h: Comment typo fix. Formatting.
- * bfd-in2.h: Regenerate.
- * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
- * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
- * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
-
-2002-12-05 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
- Only send PCREL21B though the plt. Fix installed reloc type.
- (elfNN_ia64_relocate_section): Give error for dynamic reloc
- against PCREL22 or PCREL64I; clean up error messages for
- branch relocs.
-
-2002-12-04 Kevin Buettner <kevinb@redhat.com>
-
- * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
- New functions.
- (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
-
-2002-12-04 David Mosberger <davidm@hpl.hp.com>
-
- * cpu-ia64-opc.c: Add operand constant "ar.csd".
-
-2002-12-04 H.J. Lu <hjl@gnu.org>
-
- * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
- BFD address when constructing local name.
-
-2002-12-04 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
- member.
- (elf_m68k_link_hash_table_create): Initialize it.
- (elf_m68k_check_relocs): Handle symbols that are forced to be
- local due to visibility changes.
- (elf_m68k_adjust_dynamic_symbol): Likewise.
- (elf_m68k_size_dynamic_sections): Likewise.
- (elf_m68k_discard_copies): Likewise.
- (elf_m68k_relocate_section): Likewise.
-
-2002-12-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
-
-2002-12-04 Alan Modra <amodra@bigpond.net.au>
-
- * srec.c (srec_write_symbols): Restore '$' prefix to address
- accidentally removed in 2002-04-04 change.
- (srec_get_symtab): Use 0 instead of `(long) FALSE'.
-
-2002-12-03 Nick Clifton <nickc@redhat.com>
-
- * elf32-ppc.c (apuinfo_list_init): New function.
- (apuinfo_list_add): New function: Add a value to the list.
- (apuinfo_list_length): New function: Return the number of
- values on the list.
- (apuinfo_list_element): New function: Return a value on the
- list.
- (apuinfo_list_finish): New function: Free the resources used
- by the list.
- (ppc_elf_begin_write_processing): New function. Scan the
- input bfds for apuinfo sections.
- (ppc_elf_write_section): New function: Delay the creation of
- the contents of an apuinfo section in an output bfd.
- (ppc_elf_final_write_processing): New function. Create the
- contents of an apuinfo section in an output bfd.
- (elf_backend_begin_write_processing): Define.
- (elf_backend_final_write_processing): Define.
- (elf_backend_write_section): Define.
-
-2002-12-03 Richard Henderson <rth@redhat.com>
-
- * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
-
-2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
-
- Fix PR savannah/1417:
- * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
- branch if it goes to the start of the deleted region.
-
-2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
-
- * bfd-in2.h (bfd_mach_m6812): Rebuild.
- * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
- bfd_mach_m6812s): Declare.
-
- * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
- (_bfd_m68hc12_elf_set_private_flags): Call it.
- (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
- (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
- report microcontroller incompatibilities (HC12 vs HCS12).
- (elf_backend_object_p): Update.
-
-2002-11-30 Alan Modra <amodra@bigpond.net.au>
-
- * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
- (enum bfd_boolean, boolean): Delete.
- (bfd_boolean): Typedef to an int.
- (FALSE, TRUE): Define.
- * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
- aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
- aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
- binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
- coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
- coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
- coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
- coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
- coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
- coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
- corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
- cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
- cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
- cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
- cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
- cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
- cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
- cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
- cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
- cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
- dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
- elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
- elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
- elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
- elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
- elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
- elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
- elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
- elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
- elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
- elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
- elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
- elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
- elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
- elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
- elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
- hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
- i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
- libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
- libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
- m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
- mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
- nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
- pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
- pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
- pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
- reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
- som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
- syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
- vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
- xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
- bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons
- of bfd_boolean vars with TRUE/FALSE. Formatting.
- * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
-
-2002-11-28 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
- Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel
- with Elf_Internal_Rela.
- * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
- elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
- elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
- elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
- elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
- elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
- elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
- elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
- elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
- elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
- elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
- * elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr
- throughout instead.
- * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
- * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
- Remove INLINE keyword.
- (elf_swap_reloc_in): Likewise. Also clear r_addend.
- (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
- as a bfd_byte *.
- (elf_write_relocs): Consolidate REL and RELA code.
- (elf_slurp_reloc_table_from_section): Simplify REL code.
- (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
- * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
- * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
- RELA code.
- (elf_link_adjust_relocs): Likewise. Don't malloc space for temp
- reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
- (elf_link_output_relocs): Likewise.
- (elf_reloc_link_order): Likewise.
- (elf_finish_pointer_linker_section): Likewise.
- (struct elf_link_sort_rela): Remove union.
- (elf_link_sort_cmp1): Update to suit.
- (elf_link_sort_cmp2): Here too.
- (elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory
- over-allocation for int_rels_per_ext_rel != 1 case.
- * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
- * elf32-i386.c: Likewise.
- * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
- * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
- elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
- * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
- * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
- elf64-sparc.c, elf64-x86-64.c: Likewise.
- * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
- * elfxx-mips.c (sort_dynamic_relocs): Likewise for
- bfd_elf32_swap_reloc_in.
-
- * elf32-arm.h: Update elf32_arm_info_to_howto calls.
- * elf32-mips.c: Likewise for mips_info_to_howto_rel.
- (mips_elf64_swap_reloc_in): Zero r_addend.
- (mips_elf64_be_swap_reloc_in): Likewise.
- (mips_elf64_slurp_one_reloc_table): Simplify.
-
- * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
- * elf64-hppa.c (hppa64_elf_size_info): Likewise.
- * elf64-sparc.c (sparc64_elf_size_info): Likewise.
-
-2002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_relocate_section): Don't complain about
- unresolved debugging relocs in dynamic applications.
- * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
-
-2002-11-26 Alan Modra <amodra@bigpond.net.au>
-
- * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
- (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
- on a relocatable link. Comment typos.
- * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
- in the order they are declared. Clear elf_hash_value too.
- (_bfd_elf_link_hash_table_init): Likewise assign in order. Clear
- eh_info and tls_segment.
- * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
- sorted when discarding relocs by turning them into R_*_NONE.
-
- * libbfd.c (warn_deprecated): Comment spelling.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-11-21 Richard Henderson <rth@redhat.com>
-
- * elflink.h (elf_link_add_object_symbols): Don't overwrite the
- arch's st_other bits when merging visibilities.
- (elf_link_output_extsym): Tidy clearing of visibility field.
-
-2002-11-21 Alan Modra <amodra@bigpond.net.au>
-
- * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
- (SWAP_OUT_RELOC_OFFSET): Define.
-
-2002-11-20 Alexandre Oliva <aoliva@redhat.com>
-
- * elf.c (_bfd_elf_link_hash_table_init): Make sure
- can_refcount is properly extended to the type of
- init_refcount.
-
-2002-11-19 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
- (_bfd_mips_elf_relocate_section): Use it.
-
- * elfxx-mips.c (MNAME): New macro.
- (_bfd_mips_elf_check_relocs): Use it.
- (_bfd_mips_elf_discard_info): Likewise.
- (_bfd_mips_elf_final_link): Likewise.
-
-2002-11-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
- rel_hdr.sh_size too.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
- (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
- (BFD_H_FILES): Add bfdwin.c, bfdio.c.
- (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
- Add dependencies for bfdwin.c, bfdio.c.
- * bfd.c: Remove bfd_get_mtime, bfd_get_size.
- * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
- bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
- bfd_tell, bfd_flush, bfd_stat, bfd_seek.
- * bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
- bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
- bfd_get_size (moved from libbfd.c and bfd.c).
- * bfdwin.c New file. Contains _bfd_window_internal,
- bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
- libbfd.c and bfd.c).
- * po/SRC-POTFILES.in: Regenerate.
- * po/bfd.pot: Regenerate.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * aclocal.m4: Regenerate.
- * Makefile.in: Regenerate.
- * configure: Regenerate.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
-
-2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
-
- * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
- jsr after a short jump.
- * elf32-h8300.c (elf32_h8_relax_section): Likewise.
-
-2002-11-15 Klee Dienes <kdienes@apple.com>
-
- * pef.c (bfd_pef_convert_architecture): Move declaration of
- ARCH_POWERPC and ARCH_M68K to the start of the function.
-
-2002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff-tic4x.c (tic4x_howto_table): Formatting fixup
-
-2002-11-14 Hans-Peter Nilsson <hp@bitrange.com>
-
- * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
- For bpo_gregs_section->contents, allocate _raw_size, not
- _cooked_size.
-
-2002-11-13 Klee Dienes <kdienes@apple.com>
-
- * config.bfd: Add entries for powerpc-*-darwin and cousins.
-
-2002-11-13 H.J. Lu <hjl@gnu.org>
-
- * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
-
-2002-11-13 Klee Dienes <kdienes@apple.com>
- Alan Modra <amodra@bigpond.net.au>
-
- * bfd.c (struct bfd_preserve): New.
- (bfd_preserve_save): New function.
- (bfd_preserve_restore): Ditto.
- (bfd_preserve_finish): Ditto.
- * bfd-in2.h: Regenerate.
- * mach-o.c: Formatting.
- (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
- (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
- (bfd_mach_o_core_p): Ditto.
- (bfd_mach_o_scan): Pass in mdata.
- * mach-o.h (bfd_mach_o_scan): Update prototype.
- * pef.c: Formatting.
- (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
- (bfd_pef_xlib_object_p): Ditto.
- (bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
- * pef.h (bfd_pef_scan): Update prototype.
- * xsym.c: Formatting, K&R fixes.
- (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
- (bfd_sym_scan): New function split out from bfd_sym_object_p.
- * xsym.h (bfd_sym_scan): Declare.
- * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
- * elfcore.h (elf_core_file_p): Likewise.
- * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
-
-2002-11-12 Nick Clifton <nickc@redhat.com>
-
- * po/da.po: Updated Danish translation.
-
-2002-11-12 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_add_object_symbols): Optimize stabs for
- relocatable link too.
- (elf_link_input_bfd): When emitting relocs, adjust offsets for
- eh_frame and stab sections. Zap deleted relocs.
- (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
- (elf_bfd_discard_info): Run for relocatable link too.
- * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global.
- Handle ld -r case.
- (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
- * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
-
- * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
- (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
- (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
- (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
- (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
- (struct elf_link_hash_table): Add eh_info.
- (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
- (_bfd_elf_discard_section_eh_frame): Update prototype.
- (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
- (_bfd_elf_write_section_eh_frame): Likewise.
- (_bfd_elf_write_section_eh_frame_hdr): Likewise.
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
- param. Get "hdr_info" from link hash table.
- (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get
- header section from link hash table. Save header section to elf_tdata.
- (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use
- header section from link hash table. Don't alloc hdr_info. Clear
- hdr_sec instead of setting "strip".
- (_bfd_elf_eh_frame_section_offset): Formatting.
- (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
- Get header section from link hash table.
- (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
- Get header section from link hash table.
- * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
- (get_program_header_size): Likewise.
- (_bfd_elf_section_offset): Formatting.
- * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
- section pointer in link hash table.
- (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
- and _bfd_elf_write_section_eh_frame calls. Update comment about
- eh_frame entries.
- (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
- _bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr".
-
- * po/SRC-POTFILES.in: Regenerate.
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
- relocs for discarded FDEs. Remove dead code.
- (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
- * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
- Tidy conditions under which stabs are edited. Formatting.
- * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
- from discarded relocs.
- * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
- section adjustments after testing magic values.
-
-2002-11-12 Thomas Moestl <tmm@FreeBSD.org>
-
- * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
- references to large plt symbols.
-
-2002-11-12 Klee Dienes <kdienes@apple.com>
-
- * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
- looking for an unused section name.
-
-2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
-
- * coff-h8300.c: Fix formatting.
- * elf32-h8300.c: Likewise.
- * reloc16.c: Likewise.
-
-2002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
-
- * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
- section when dynamic section unused; _bfd_strip_section_from_output
- instead.
-
-2002-11-08 Alan Modra <amodra@bigpond.net.au>
-
- * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
- and sym_vec.
-
- * dwarf2.c: Revert last change.
-
-2002-11-07 Michal Ludvig <mludvig@suse.cz>
-
- * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
- _bfd_dwarf2_find_nearest_line): Use
- bfd_simple_get_relocated_section_contents() instead of
- bfd_get_section_contents().
- * reloc.c (bfd_perform_relocation): Add sanity check.
- * simple.c (simple_get_relocated_section_contents): If the section
- does not have any relocs associated with it, just return the
- unadjusted contents.
-
-2002-11-07 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
- case R_CRIS_32_GOT>: Correct test for filling in constant .got
- contents, enabling for a non-DSO, for symbols defined in the
- program with --export-dynamic.
-
-2002-11-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Comment typo fixes.
- (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
-
-2002-11-07 Nick Clifton <nickc@redhat.com>
-
- * po/da.po: Updated Danish translation.
-
-2002-11-06 Alexandre Oliva <aoliva@redhat.com>
-
- * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
- exactly three internal relocs per external reloc. Set reloc_count
- to the external reloc count.
-
-2002-11-06 Klee Dienes <kdienes@apple.com>
-
- * coff-stgo32.c (stub_bytes): Mark as const.
- Fix comment formatting.
-
-2002-11-06 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
- xsym.lo.
- (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
- (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
- * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
- * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
- * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
- sym.
- (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
- * Makefile.in: Regenerate.
- * doc/Makefile.in: Regenerate.
- * bfd-in2.h: Regenerate.
- * xsym.c: New file. Contains support for the Apple/Metrowerks
- xSYM debugging format.
- * xsym.h: New file.
- * pef.c: New file. Contains support for the Apple Code Fragment
- Manager Preferred Executable Format
- * pef.h: New file.
- * pef-traceback.h: New file. Contains support for parsing PowerPC
- traceback tables as used by PEF executables (and perhaps other
- systems as well).
- * mach-o.c: New file. Contains support for the Mach-O object file
- format.
- * mach-o.h: New file.
- * mach-o-target.c: New file. Declares the mach-o targets
- themselves. Included three times by mach-o.c; each time with a
- different set of macros set.
-
-2002-11-06 Graeme Peterson <gp@qnx.com>
-
- * Makefile.am: Remove entries for elf32-qnx.[ch].
- * Makefile.in: Regenerate.
- * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
- ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
- bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
- * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
- bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
- and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
- bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
- * configure: Regenerate.
- * elf32-qnx.c: Remove.
- * elf32-qnx.h: Remove.
- * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
- is_contained_by_filepos, and copy_private_bfd_data_p.
- * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
- is_contained_by_filepos, and copy_private_bfd_data_p.
- * elf32-i386.c: Remove QNX extended bfd support.
- * elf32-ppc.c: Remove QNX extended bfd support.
- * elf32-sh.c: Remove QNX extended bfd support.
- * elfarm-nabi.c: Remove QNX extended bfd support.
- * targets.c: Remove qnx vectors.
- * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
- (elf_backend_is_contained_by_filepos): Remove.
- (elf_backend_copy_private_bfd_data_p): Remove.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-11-06 David O'Brien <obrien@FreeBSD.org>
- Alan Modra <amodra@bigpond.net.au>
-
- * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
- dynamic relocs against section symbols for the output section vma.
-
-2002-11-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
- t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
-
-2002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
- Alan Modra <amodra@bigpond.net.au>
-
- * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
- vectors in target_selvecs.
- (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
- in target_selvecs.
- (sh-*-netbsdelf*): Likewise.
- * configure.in (assocvecs): New variable. Handle assocvecs like
- selvecs.
- * configure: Regenerate.
- * format.c (bfd_check_format_matches): Store bfd_target pointers
- in matching_vector instead of target names. Select first target
- from bfd_associated_vector that matches a list of ambiguous targets.
- * targets.c (_bfd_associated_vector): New array.
- (bfd_associated_vector): New variable.
- (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
- * libbfd-in.h (bfd_associated_vector): Declare.
- * libbfd.h: Regenerate.
-
-2002-11-05 Elias Athanasopoulos <eathan@otenet.gr>
-
- * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
- non-NULL before dereferencing.
-
-2002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * vms.c (vms_object_p): Restore the start address when returning
- NULL.
-
-2002-11-04 Alan Modra <amodra@bigpond.net.au>
- Hans-Peter Nilsson <hp@axis.com>
-
- * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
- (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
- Set up a larger symshndxbuf, and write it out. Free it on
- exit rather than freeing symbuf twice. Correct section index
- on output section symbol loop.
- (elf_link_output_sym): Accumulate symbol extension section
- indices, reallocating symshndxbuf rather than writing it out.
- (elf_link_flush_output_syms): Don't flush symshndxbuf.
- * elf.c (assign_section_numbers): Init i_shdrp to all zero.
- Use bfd_zalloc to clear i_shdrp[0] too.
-
-2002-11-03 Stephen Clarke <stephen.clarke@earthling.net>
-
- * elf32-sh64-com.c (sh64_address_in_cranges): Use
- _raw_size of cranges section if _cooked_size not yet set.
-
-2002-11-03 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
- for bfd_elf32_swap_symbol_out.
-
-2002-10-31 David O'Brien <obrien@FreeBSD.org>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
- signed and unsigned in comparison.
-
-2002-10-30 Daniel Jacobowitz <drow@mvista.com>
-
- * coffcode.h: Remove extraneous '\'.
-
-2002-10-28 H.J. Lu <hjl@gnu.org>
-
- * Makefile.am (targets.lo): Depend on Makefile instead of
- config.status.
- (archures.lo): Likewise.
- * Makefile.in: Regenerated.
-
-2002-10-25 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
- bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
- targ_selvecs.
-
-2002-10-25 Jim Wilson <wilson@redhat.com>
-
- * elf64-sh64.c (sh_elf64_relocate_section): Call
- _bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol
- of SHF_MERGE section.
-
-2002-10-25 Hans-Peter Nilsson <hp@axis.com>
-
- * simple.c: Correct placement of ATTRIBUTE_UNUSED.
-
-2002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
- unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
- unsigned int.
- (NAME(aout,final_link)): Cast enum used in assignment.
- (aout_link_write_symbols): Cast enums in comparisons, int values to
- boolean, enums in assignments to int.
- (aout_link_input_section_std): Cast rel->r_index to unsigned int.
- (aout_link_input_section_ext): Likewise. Cast enums used in
- comparisons with unsigned ints.
- (aout_link_reloc_link_order): Cast enum to int in assignment.
- * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
- calls to char *.
- * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
- assignment.
- * bfd-in2.h (bfd_set_section_vma): Likewise.
- * bfd.c (bfd_record_phdr): Cast enums in assignments.
- * binary.c (bfd_alloc): Cast enum to long.
- * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
- * dwarf2.c (read_abbrevs): Add casts to enum types.
- (read_attribute_value): Likewise.
- (arange_add): Cast result of bfd_zalloc call.
- (comp_unit_contains_address): Return true and false.
- (comp_unit_find_nearest_line): Cast return to boolean.
- * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
- * gen-aout.c: define macro '_' if not defined.
- * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
- (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
- (bfd_write_bigendian_4byte_int): Cast return to boolean.
- (bfd_seek): Cast bfd_realloc to bfd_byte *.
- (bfd_generic_is_local_label_name): Cast return to boolean.
- * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
- * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
- struct bfd_hash_entry *.
- (_bfd_generic_link_hash_newfunc): likewise.
- (_bfd_generic_final_link): Cast enum to unsigned int.
- * merge.c (sec_merge_emit): Cast return to boolean.
- (merge_strings): Add casts to const unsigned char *.
- * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
- (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
- * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
- to struct bfd_hash_entry *.
- (bfd_set_section_content): Add cast to PTR in comparison.
- * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
- simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
- simple_dummy_unattached_reloc,
- bfd_simple_get_relocated_section_contents): Add K&R declarations and
- function definitions.
- * srec.c (S3Forced): Initialize to false.
- (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
- * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
- (_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
- * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
- (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
- comparisons.
-
-2002-10-23 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
- relocs into shared lib non-allocated reloc sections.
-
-2002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * dwarf2.c (add_line_info): Ensure that the line_info_table is
- sorted even when given an out-of-order line sequence.
- (lookup_address_in_line_info_table): When an exact VMA match is
- not found, return line information with the closest VMA.
-
-2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
-
- * elf64-hppa.c: Force DT_FLAGS to always be set. Required by
- HPUX 11.00 patch PHSS_26559.
-
-2002-10-22 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
- the options section into a separate section unless IRIX 6
- compatibility is enabled.
-
-2002-10-22 Alexandre Oliva <aoliva@redhat.com>
-
- * elflink.h (struct elf_link_sort_rela): Turn rel and rela
- into arrays.
- (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
- (elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel
- into account.
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
- R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
-
-2002-10-21 Graeme Peterson <gp@qnx.com>
-
- * targets.c (_bfd_target_vector): Add missing qnx vectors.
-
-2002-10-21 Alan Modra <amodra@bigpond.net.au>
-
- * targets.c (bfd_target_list): Don't return the default target twice.
-
-2002-10-21 Elias Athanasopoulos <eathan@otenet.gr>
-
- * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
- perror with bfd_perror.
-
-2002-10-19 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_add_object_symbols): Correctly handle
- DT_RPATH and DT_RUNPATH.
-
-2002-10-19 Mark Kettenis <kettenis@gnu.org>
-
- * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
-
-2002-10-17 Denis Chertykov <denisc@overta.ru>
-
- * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
- for ip2k port.
-
-2002-10-17 Alan Modra <amodra@bigpond.net.au>
-
- * elfxx-target.h (USE_REL): Don't define as 1.
- * elf32-arm.h (USE_REL): Provide a default define of 0.
- Use #if rather than #ifdef when testing USE_REL.
- * elf32-m32r.c: Likewise.
-
- * elf32-arc.c (USE_REL): Define as 1.
- * elf32-d10v.c (USE_REL): Likewise.
- * elf32-m32r.c (USE_REL): Likewise.
- * elf32-m68hc11.c (USE_REL): Likewise.
- * elf32-m68hc12.c (USE_REL): Likewise.
- * elf32-or32.c (USE_REL): Likewise.
- * elfarm-nabi.c (USE_REL): Likewise.
-
-2002-10-16 Jakub Jelinek <jakub@redhat.com>
-
- * config.bfd (s390-*-linux*): Add targ64_selvecs.
- (s390x-*-linux*): Add targ_selvecs.
-
-2002-10-16 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
- elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
- elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
- elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo.
- (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
- (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
- (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
- (SOURCE_HFILES): Add elf32-qnx.h.
- (BUILD_HFILES): Add bfdver.h.
- Run "make dep-am".
- * Makefile.in: Regenerate.
- * configure.in Update bfd vector dependencies.
- * configure: Regenerate.
- * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c.
- * elf32-i386qnx.c: Likewise.
- * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c.
- * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c.
- * elf32-sh-lin.c: Likewise.
- * elf32-shqnx.c: Likewise.
- * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c.
- * elf32-sh64-nbsd.c: Likewise.
- * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c.
- * elf64-sh64-nbsd.c: Likewise.
- * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c.
- * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
- * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
- * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
- * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
- (elf_backend_is_contained_by_filepos): Likewise.
- (elf_backend_copy_private_bfd_data_p): Likewise.
- Globalize and move functions to..
- * elf32-qnx.c: ..here. New file.
- * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't
- emit target vectors when INCLUDE_SHMEDIA.
- * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to
- end of file.
- * elf64-sh64.c: Remove ELF_ARCH test.
- * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
- * po/BLD-POTFILES.in: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-10-16 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
- loaded with --just-symbols.
-
- * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
- * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
- * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
- * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
-
-2002-10-15 Richard Henderson <rth@redhat.com>
-
- * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
- (BFD64_BACKENDS_CFILES): Likewise.
- * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
- * elf64-alpha-fbsd.c: Remove file, move code ...
- * elf64-alpha.c: ... here.
- * Makefile.in, configure: Rebuild.
-
-2002-10-14 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
- VALUE, not ADDEND.
-
-2002-10-14 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (elf_sh_link_hash_entry): Replace
- datalabel_got_offset with union of datalabel_got
- offset and refcount.
- (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
- (allocate_dynrelocs): Delete unnecessary code for
- STT_DATALABEL type. Create entry in got for
- datalabel version of symbol if datalabel_got.refcount > 0.
- (sh_elf_relocate_section): Use datalabel_got union.
- (sh_elf_gc_sweep_hook): Pull common code to initialize
- h and eh out of switch statement. Declare seen_stt_datalabel.
- Initialize it. Decrement datalabel_got.refcount for
- got relocs when seen_stt_datalabel is true.
- Decrement local_got_refcounts entry for datalabel got relocs
- of local symbols.
- (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
- (sh_elf_check_relocs): Declare seen_stt_datalabel.
- Initialize it. When seen_stt_datalabel is true, increment
- datalabel_got refcount rather than got.refcount.
- (sh_elf_finish_dynamic_symbol): Create relocs to
- initialize got entry for datalabel version of symbol.
-
-2002-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- (BFD_H_FILES): Remove version.h.
- * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
- * version.h: ..to here.
- * configure.in (bfd_version_date): Remove.
- (AC_OUTPUT): Make bfdver.h from version.h.
- * bfd.c: #include "bfdver.h".
- * vms-hdr.c: Likewise.
- * Makefile.in: Regenerate.
- * bfd-in2.h: Regenerate.
- * configure: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
- bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
- bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
- bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
- bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
- bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
- bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
- bfd_mach_ip2022, bfd_mach_ip2022ext,
- bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
- * bfd-in2.h: Regenerate.
-
-2002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
- endian vector to targ_selvecs.
-
-2002-10-13 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_calculate_relocation): Take
- save_addend argument. Don't apply the 32-bit mask to a
- GPREL32 value if it's to be used in another relocation. Don't
- use forced-check computation of local_p to decide whether to
- add gp0 to GPREL16 value. Don't use only the lowest 16 bits
- of the addend of a non-in-place GPREL16 relocation.
- (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
- mips_elf_calculate_relocation().
-
-2002-10-12 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
- with symbols in other sections if we relaxed something; the sections
- output offsets must be re-computed before.
-
-2002-10-12 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
- handling to use Elf_Internal_Sym.
- (m68hc11_elf_relax_delete_bytes): Likewise.
-
-2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
- sh_elf_object_p, dtpoff_base): New functions.
- (sh_elf_howto_table): Add TLS relocs.
- (sh_reloc_map): Likewise.
- (sh_elf_info_to_howto): Support TLS relocs.
- (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
- (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
- New macros.
- (sh_elf_obj_tdata): New.
- (elf_sh_link_hash_table): Add tls_ldm_got.
- (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
- (allocate_dynrelocs): Support TLS relocs.
- (sh_elf_size_dynamic_sections): Likewise.
- (sh_elf_relocate_section): Support TLS relocs. Don't try to find
- .rela.got section when found already. Return false after printing
- error about unresolvable relocation.
- (sh_elf_gc_sweep_hook): Support TLS relocs.
- (sh_elf_check_relocs): Likewise.
- (sh_elf_finish_dynamic_symbol): Likewise.
- (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
- * reloc.c: Add SH TLS relocs.
- * bfd-in2.h, libbfd.h: Regenerate.
-
-2002-10-11 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in: Regenerated.
-
-2002-10-11 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.am: Run dep-am.
- (BFD_H_DEP): Add simple.c and linker.c.
- (BFD32_LIBS): Add simple.lo.
- (BFD32_LIBS_CFILES): Add simple.c.
- * Makefile.in: Regenerated.
- * bfd-in2.h: Regenerated.
- * simple.c: New file.
-
-2002-10-11 Alan Modra <amodra@bigpond.net.au>
-
- * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
- (record_thumb_to_arm_glue): Likewise.
- * ecoff.c (ecoff_link_add_externals): Likewise.
- * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
- (record_thumb_to_arm_glue): Likewise.
- * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
- * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
- * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
- * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
- * elf64-ppc.c (func_desc_adjust): Likewise.
- * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
- (sh64_elf64_create_dynamic_sections): Likewise.
- * elflink.c (_bfd_elf_create_got_section): Likewise.
- (_bfd_elf_create_dynamic_sections): Likewise.
- (_bfd_elf_create_linker_section): Likewise.
- * elflink.h (elf_add_default_symbol): Likewise.
- (elf_link_create_dynamic_sections): Likewise.
- (NAME(bfd_elf,size_dynamic_sections)): Likewise.
- * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
- * elfxx-mips.c (mips_elf_create_got_section): Likewise.
- (_bfd_mips_elf_add_symbol_hook): Likewise.
- (_bfd_mips_elf_create_dynamic_sections): Likewise.
- * linker.c (generic_link_add_symbol_list): Likewise.
- * xcofflink.c (xcoff_link_add_symbols): Likewise.
-
- * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
-
- * elf64-ppc.c (edit_opd): Only zero opd syms when function is
- completely removed. Correct local sym adjustment.
-
-2002-10-10 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
- Correct mistake in calculation of address of .got.
- * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
- elf_sh64_pic_plt_entry_le): Likewise.
-
-2002-10-09 Richard Shann <richard.shann@superh.com>
- Stephen Clarke <stephen.clarke@superh.com>
-
- * Makefile.am: Add entries for elf32-sh64-lin.c and
- elf64-sh64-lin.c. Regenerate.
- * Makefile.in: Regenerate.
- * config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
- to use sh64 vectors rather than sh vectors.
- * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
- bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
- * configure: Regenerate.
- * elf32-sh64-lin.c: New file.
- * elf64-sh64-lin.c: New file.
- * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
- bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
-
-2002-10-08 H.J. Lu <hjl@gnu.org>
-
- * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
- IE->LE transition for R_386_TLS_IE.
-
-2002-10-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (edit_opd): Correct test for discarded sections.
-
-2002-10-07 Mark Elbrecht <snowball3@softhome.net>
-
- * cofflink.c (mark_relocs): Don't mark relocations in excluded
+ (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
+ shared libs too. Reserve the last entry for the GOT pointer.
+ (elf32_frv_finish_dynamic_sections): Emit it.
+ (elf32_frv_always_size_sections): New.
+ (elf32_frv_modify_segment_map): New.
+ (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
sections.
-
-2002-10-07 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
- code.
-
- * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
-
-2002-10-06 Alan Modra <amodra@bigpond.net.au>
-
- * opncls.c: Formatting.
- (_bfd_new_bfd): Use a smaller section hash table.
-
-2002-10-05 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
- of the other two relocations packed with a REL32 to NONE.
-
-2002-10-02 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
- (sh_elf_link_hash_newfunc): Initialize it.
- (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
- to got.refcount for symbols that are forced local or when
- we have direct got refs.
- (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it
- to correctly adjust got.refcount and plt.refcount.
- (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
- (sh_elf_check_relocs): Increment gotplt_refcount.
-
-2002-10-01 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section): Fix
- movl foo@indntpoff, %eax IE->LE transition.
-
-2002-10-01 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
- sequence and its transitions.
-
-2002-10-01 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
- to st_value + addend in non-code sections.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
- R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
-
-2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
- Ken Raeburn <raeburn@cygnus.com>
- Aldy Hernandez <aldyh@redhat.com>
- Eric Christopher <echristo@redhat.com>
- Richard Sandiford <rsandifo@redhat.com>
-
- * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
- (bfd_mach_mips5500): New.
- * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
- (arch_info_struct): Add corresponding entries here.
- * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
- E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
- (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
- bfd_mach_mips5400 and bfd_mach_mips5500.
- (_bfd_mips_elf_mach_extends_p): New function.
- (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
- the EF_MIPS_MACH flags.
- * bfd-in2.h: Regenerate.
-
-2002-09-28 Jason Thorpe <thorpej@wasabisystems.com>
-
- * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
- .got sections.
-
-2002-09-28 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (map_sections_to_segments): Correct test for start of
- writable section in the same page as end of read-only section.
-
-2002-09-27 Matt Thomas <matt@3am-software.com>
-
- * elf32-vax.c (elf_vax_check_relocs): Remove unused
- local_got_refcounts usage. Remove allocation of got slot.
- (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
- Remove de-allocation of got slot.
- (elf_vax_size_dynamic_section): Fix some indentation. Add hash
- traversal for elf_vax_instantiate_got_entries. Allow empty .got
- sections to be GC'ed.
- (elf_vax_instantiate_got_entries): New function.
- (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove
- tests that are now handled by elf_vax_instantiate_got_entries.
- Assert GOT entry falls within .got section size. Remove redundant
- comparisions. Fix comments.
-
-2002-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * reloc.c: Add x86-64 TLS relocs.
+ (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
+ (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
+ (elf_backend_always_size_sections): New.
+ (elf_backend_modify_segment_map): New.
+ 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
+ * config.bfd: Added frv-*-*linux*.
+ * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
+ ABS section, instead of crashing.
+ (elf32_frv_relocate_section): Don't crash before warning about
+ different segments in non-PIC relocation.
+ 2003-10-17 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
+ relocs to undefweak symbols.
+ (elf32_frv_relocate_section): Ditto for undefined symbols.
+ 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
+ gotfixup section was created.
+ 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_howto_table): Change GOT12,
+ FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
+ complain_overflow_signed.
+ * elf32-frv.c (_frv_add_rofixup): Do not error out if contents
+ have not been allocated.
+ (_frv_emit_got_relocs_plt_entries): Return non-void. Assert
+ privfd only if dynamic sections were created.
+ (elf32_frv_relocate_section): Compute gprel_segment, and use it
+ for GPREL relocs. When linking relocatable FDPIC executables,
+ emit warnings for relocations that would be illegal on PIE or
+ shared libraries. Emit rofixup for R_FRV_32 only if input object
+ is not FDPIC.
+ (_frv_create_got_section): Define _gp symbol in the rofixup
+ section.
+ (elf32_frv_finish_dynamic_sections): If rofixups needed but
+ dynamic sections missing, error out requesting -melf32frvfd.
+ 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
+ computation of addends from section and global or local symbol
+ value. Change return type to bfd_boolean, and return a failure if
+ a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
+ nonzero addend is required.
+ (elf32_frv_relocate_section): Likewise. Print error for
+ unsupported nonzero addends.
+ 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
+ force everything local.
+ (_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
+ * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
+ (frv_gotfixup_section): New.
+ (FRV_SYM_LOCAL): Accept undefweak and local common symbols.
+ (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
+ and relocsfdv.
+ (_frv_add_rofixup): New.
+ (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
+ fdpic executables. Use FRV_SYM_LOCAL more widely to simplify and
+ improve some ugly conditions.
+ (elf32_frv_relocate_section): Likewise. Reject inter-segment
+ relocations in fdpic.
+ (_frv_create_got_section): Create .rofixup.got section.
+ (struct _frv_dynamic_got_info): Added fixups.
+ (_frv_count_got_plt_entries): Account in-GOT relocations into
+ relocs32, relocsfd and relocsfdv. Account them into relocs or
+ fixups, as appropriate.
+ (elf32_frv_size_dynamic_sections): Size rofixup section. Simplify
+ sizing of gotrel.
+ (elf32_frv_finish_dynamic_sections): Verify that the right number
+ of relocations and fixups was generated.
+ (elf32_frv_check_relocs): Compute relocs32, relocsfd and
+ relocsfdv.
+ * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
+ SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
+ (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
+ descriptor of a (formerly-)global symbol is local.
+ (struct frv_pic_relocs_info): Adjust comments.
+ (_frv_emit_got_relocs_plt_entries): Adjust.
+ (elf32_frv_relocate_section): Likewise.
+ (_frv_count_got_plt_entries): Likewise.
+ * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
+ symbol's value to addend in the common preamble. Decay dynamic
+ symbols to section+offset if they bind or call locally, for GOT
+ and FUNCDESC_VALUE, respectively.
+ (elf32_frv_relocate_section): Likewise.
+ (elf32_frv_check_relocs): Don't register as dynamic symbols of
+ internal or hidden visibility.
+ 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
+ argument, so as to not call _bfd_elf_rel_local_sym to compute it.
+ (elf32_frv_relocate_section): Pass relocation addend in. Use
+ original relocation addend to look up the got relocs/plt entries
+ table. Do not call _bfd_elf_rel_local_sym. Don't error out when
+ processing relocations that reference .scommon symbols.
+ 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
+ Introduce support for dynamic linking.
+ * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
+ (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
+ elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
+ (frv_reloc_type_lookup): Return REL howtos for executables and
+ dynamic libraries.
+ (frv_info_to_howto_rel): New.
+ (struct frv_elf_link_hash_table): New.
+ (frv_hash_table, frv_got_section, frv_gotrel_section,
+ frv_plt_section, frv_pltrel_section, frv_relocs_info,
+ frv_got_initial_offset, frv_plt_initial_offset): New macros.
+ (frv_elf_link_hash_table_create): New.
+ (struct frv_pic_relocs_info): New.
+ (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
+ (frv_pic_relocs_info_find): New.
+ (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
+ New.
+ (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
+ (_frv_add_dyn_reloc, _frv_osec_to_segment): New.
+ (_frv_emit_got_relocs_plt_entries): New.
+ (elf32_frv_relocate_section): Add support for dynamic linking.
+ Handle new relocations.
+ (_frv_create_got_section): New.
+ (elf32_frv_create_dynamic_sections): New.
+ (ELF_DYNAMIC_INTERPRETER): New.
+ (struct _frv_dynamic_got_info): New.
+ (_frv_count_got_plt_entries): New.
+ (struct _frv_dynamic_got_plt_info): New.
+ (_frv_compute_got_alloc_data): New.
+ (_frv_get_got_entry, _frv_get_fd_entry): New.
+ (_frv_assign_got_entries, _frv_assign_plt_entries): New.
+ (_frv_resolve_final_relocs_info): New.
+ (elf32_frv_size_dynamic_sections): New.
+ (elf32_frv_finish_dynamic_sections): New.
+ (elf32_frv_adjust_dynamic_symbol): New.
+ (elf32_frv_finish_dynamic_symbol): New.
+ (elf32_frv_check_relocs): Handle new relocs. Explain how the
+ whole thing works.
+ (elf_info_to_howto_rel): Define.
+ (bfd_elf32_bfd_link_hash_table_create): Define.
+ (elf_backend_create_dynamic_sections): Define.
+ (elf_backend_adjust_dynamic_symbol): Define.
+ (elf_backend_size_dynamic_sections): Define.
+ (elf_backend_finish_dynamic_symbol): Define.
+ (elf_backend_finish_dynamic_sections): Define.
+ (elf_backend_want_got_sym): Define.
+ (elf_backend_got_header_size): Define.
+ (elf_backend_want_got_plt): Define.
+ (elf_backend_plt_readonly): Define.
+ (elf_backend_want_plt_sym): Define.
+ (elf_backend_plt_header_size): Define.
+ (elf_backend_may_use_rel_p): Define.
+ (elf_backend_may_use_rela_p): Define.
+ (elf_backend_default_use_rela_p): Define.
+ 2003-08-08 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
+ R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
+ R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
+ (frv_reloc_map): Map the corresponding BFD relocs to them.
+ (frv_reloc_type_lookup): ... and back to BFD relocs.
+ * reloc.c: New relocs.
* bfd-in2.h, libbfd.h: Rebuilt.
- * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
- relocs. Add TLS relocs.
- (x86_64_reloc_map): Add TLS relocs.
- (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
- (struct elf64_x86_64_link_hash_entry): Add tls_type field.
- (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
- (elf64_x86_64_hash_entry): Define.
- (struct elf64_x86_64_obj_tdata): New.
- (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
- (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
- (link_hash_newfunc): Initialize tls_type.
- (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
- (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
- (elf64_x86_64_mkobject): New.
- (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
- (elf64_x86_64_tls_transition): New.
- (elf64_x86_64_check_relocs): Add r_type variable and use it.
- Handle TLS relocs.
- (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
- (allocate_dynrelocs): Allocate GOT space for TLS relocs.
- (elf64_x86_64_size_dynamic_sections): Likewise.
- (dtpoff_base, tpoff): New.
- (elf64_x86_64_relocate_section): Handle TLS relocs.
- (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
- entries.
- (bfd_elf64_mkobject): Define.
-
- * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
- DF_STATIC_TLS if shared.
-
-2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
- empty relocation sections.
-
-2002-09-26 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
- (ppc64_elf_build_stubs): Build them here instead.
-
-2002-09-24 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
- addend into r_addend, not *r_offset.
- (elf32_sparc_finish_dynamic_symbol): Likewise.
- * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
- R_SPARC_RELATIVE's r_offset.
-
-2002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * dwarf2.c (decode_line_info): Update to correctly decode
- the (non-standard DWARF2) out-of-order address sequences
- generated by the Intel C++ 6.0 compiler for ia64-Linux.
-
-2002-09-23 Mark Elbrecht <snowball3@softhome.net>
-
- * config.bfd: For DJGPP targets, match with any cpu and any machine.
-
-2002-09-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
- for discarded FDEs. Remove redundant assignment.
- * elflink.h (elf_bfd_discard_info): Save edited relocs.
-
-2002-09-22 H.J. Lu <hjl@gnu.org>
-
- * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
- the relocation count between different .reloc sections.
-
-2002-09-21 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
- ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
- R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and
- R_PPC_EMB_RELSDA.
-
- * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
- unsigned. Move "symcount" assignment out of loop.
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * po/SRC-POTFILES.in: Regnerate.
-
-2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
- zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
- (e.g. IRIX64).
-
-2002-09-19 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
- even if generating R_PPC_RELATIVE reloc.
- (ppc_elf_relocate_section): Make sure relocation is performed
- if skip == -2. Clear memory at r_offset when creating dynamic
- relocation.
-
-2002-09-19 Jakub Jelinek <jakub@redhat.com>
-
- * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
- BFD_RELOC_386_TLS_GOTIE): Add.
+ 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
+ R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
+ R_FRV_FUNCDESC_GOTLO): New.
+ (frv_reloc_map): Map the corresponding BFD relocs to them.
+ (frv_reloc_type_lookup): ... and back to BFD relocs.
+ * reloc.c: New relocs.
* bfd-in2.h, libbfd.h: Rebuilt.
- * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
- and R_386_TLS_GOTIE.
- (elf_i386_reloc_type_lookup): Handle it.
- (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
- char instead of enum, change GOT_* into defines.
- (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
- (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
- (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is
- accessed both as normal and TLS symbol. Move R_386_TLS_LDM and
- R_386_PLT32 cases so that R_386_TLS_IE can fall through.
- Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
- (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
- Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
- (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
- tls_type is GOT_TLS_IE_BOTH.
- (elf_i386_size_dynamic_sections): Likewise.
- (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
- Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
- (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
- all 4 GOT_TLS_* TLS types.
-
-2002-09-19 Nick Clifton <nickc@redhat.com>
-
- * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
- follow indirect links.
-
-2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
- correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
- on 64 bit machines.
- (ecoff_swap_sym_in) <iss>: Likewise.
- * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
- ECOFF information: 'ioptMax' refers to the actual *size*
- of the optimization symtab, not the number of entries.
-
-2002-09-19 Daniel Jacobowitz <drow@mvista.com>
-
- * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
- ELF_LINK_HASH_NEEDS_PLT logic.
-
-2002-09-18 Daniel Jacobowitz <drow@mvista.com>
-
- * elfcode.h (elf_slurp_reloc_table_from_section): Check
- correct relocation count.
-
-2002-09-17 Daniel Jacobowitz <drow@mvista.com>
-
- * bfd-in.h (bfd_get_dynamic_symcount): Define.
- * bfd.c (struct _bfd): Add dynsymcount.
- * bfd-in2.h: Regenerated.
- * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
- abfd->dynsymcount.
- * elfcode.h (elf_slurp_reloc_table_from_section): Check
- for overflow.
-
-2002-09-17 Stan Cox <scox@redhat.com>
-
- * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
- (mips_elf64_final_gp): Don't make up gp value.
- * elfn32-mips.c (mips_elf_final_gp): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
- .MIPS.options/.options section.
-
-2002-09-17 David O'Brien <obrien@FreeBSD.org>
-
- * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
- It is benign for FreeBSD < 4.1. Minor reformatting.
- * elf64-alpha-fbsd.c: Likewise.
-
-2002-09-17 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
- addend.
-
-2002-09-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-alpha.c (alpha_elf_size_info): Make static.
-
-2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
- * cpu-tic4x.c: Ditto.
-
-2002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
- duplicate define.
-
-2002-09-16 Bruno Haible <bruno@clisp.org>
-
- * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
- by a target variant implementation.
- * elf64-alpha.c: Likewise.
- * elf32-i386-fbsd.c: New file.
- * elf64-alpha-fbsd.c: New file.
- * targets.c: Support bfd_elf32_i386_freebsd_vec and
- bfd_elf64_alpha_freebsd_vec.
- * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
- bfd_elf64_alpha_freebsd_vec.
- * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
- (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
- (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
- (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
- * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
- specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
-
-2002-09-12 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
- NULL.
- (elf_i386_relocate_section): Return false after printing error about
- unresolvable relocation.
-
-2002-09-12 Nick Clifton <nickc@redhat.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
- R_ARM_THM_PC11.
-
-2002-09-11 Jeffrey Law <law@redhat.com>
-
- * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
-
-2002-09-11 Andrew Haley <aph@cambridge.redhat.com>
-
- * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
- line_ptr before deciding we've found a symbol.
-
-2002-09-11 Nick Clifton <nickc@redhat.com>
-
- * po/da.po: New Danish translation file.
- * configure.in (LINGUAS): Add 'da'.
- * configure: Regenerate.
-
-2002-09-10 Michael Snyder <msnyder@redhat.com>
-
- * irix-core.c (do_sections, do_sections64): New functions.
- (irix_core_core_file_p): Call new functions do_sections,
- do_sections64, depending on corefile (32-bit or 64-bit).
-
-2002-09-09 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
- and PCREL21F like PCREL21B.
-
-2002-09-04 Kevin Buettner <kevinb@redhat.com>
-
- * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
- vector.
-
-2002-09-02 Nick Clifton <nickc@redhat.com>
-
- * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
- names instead of cryptically overloaded bfd_reloc error
- codes.
- (v850_elf_relocate_section): Likewise.
- (v850_elf_relax_section): Replace caching of external symbols
- with caching of internal symbols obtained from calling
- bfd_elf_get_elf_syms().
- Fixup problems with freeing cached allocated memory blocks.
-
-2002-09-02 Alan Modra <amodra@bigpond.net.au>
-
- * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
- (bfd_pj_arch): Use bfd_default_scan.
- * cpu-v850.c (scan): Remove.
- (N): Use bfd_default_scan.
- * cpu-z8k.c (scan_mach): Remove.
- (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
- first. Use bfd_default_scan.
-
- * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
- bfd_mach constants.
- (ecoff_get_magic): Likewise.
- * elf32-v850.c (v850_elf_object_p): Likewise.
- (v850_elf_final_write_processing): Likewise.
- * mipsbsd.c (MY(set_arch_mach)): Likewise.
- (MY(write_object_contents)): Likewise.
- * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
- * coffcode.h (coff_write_object_contents): Likewise.
- (coff_set_arch_mach_hook): Add comment describing machine == 0.
- Remove unnecessary "machine" assignments.
- (coff_write_relocs): Test for the absolute section sym by testing
- section and flags.
-
- * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
- and bfd_mach_i386_i386_intel_syntax.
- * pdp11.c (NAME(aout,machine_type)): Likewise.
-
-2002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * bfd-in.h (align_power): Cast constants to bfd_vma type.
- * bfd-in2.h (align_power): Likewise.
-
-2002-08-30 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
- * cpu-avr.c (compatible): Don't use hard-coded mach constants.
- * cpu-powerpc.c (powerpc_compatible): Likewise.
- * cpu-rs6000.c (rs6000_compatible): Likewise.
-
-2002-08-28 Catherine Moore <clm@redhat.com>
-
- * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
- (v850-elf-reloc): Don't resolve pc relative relocs.
- (v850_elf_ignore_reloc): New routine.
- (v850_elf_final_link_relocate): Handle new relocs.
- (v850_elf_relax_delete_bytes ): New routine.
- (v850_elf_relax_section): New routine.
- (bfd_elf32_bfd_relax_section): Define.
- (HOWTO): New entries for new relocs.
- * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
- (BFD_RELOC_V850_LONGJUMP): New reloc.
- (BFD_RELOC_V850_ALIGN): New reloc.
- * archures.c: Remove redundant v850ea architecture.
- * cpu-v850.c: Remove redundant v850ea support.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerated.
-
-2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
- * configure.in: Add tic4x_coff vector files.
- * configure: Regenerate.
- * Makefile.am: Add tic4x target.
- * Makefile.in: Regenerate.
-
-2002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * archures.c: Add the BFD arch type tic4x.
- * bfd-in.h: Add BFD_IN_MEMORY flag.
- * coff-tic4x.c: New file.
- * coffswap.h (coff_swap_sym_out): Add preadjuster.
- * cpu-tic4x.c: New file.
- * targets.c: Added tic4x- in list of xvecs.
- * ticoff.h: New file.
- * bfd-in2.h: Regenerate.
-
-2002-08-27 Adam Nemet <anemet@lnxw.com>
-
- * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
- bit of DT_INIT and DT_FINI for Thumb functions.
-
-2002-08-26 Alan Modra <amodra@bigpond.net.au>
-
- * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
-
-2002-08-26 Alan Modra <amodra@bigpond.net.au>
-
- * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
-
-2002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
- (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
- Likewise.
- (struct elf_sh_pcrel_relocs_copied): Removed.
- (struct elf_sh_dyn_relocs): New.
- (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
- field with dyn_relocs.
- (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
- sections and sym_sec.
- (sh_elf_link_hash_newfunc): Clear dyn_relocs.
- (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
- (sh_elf_create_dynamic_sections): Use create_got_section instead
- of _bfd_elf_create_got_section.
- (sh_elf_check_relocs): Likewise.
- (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
- sections.
- (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
- sh_elf_relocate_section, sh_elf_check_relocs,
- sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
- Likewise.
- (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
- dynamic relocations and avoiding the copy relocation when we
- didn't find any dynamic relocations in the section which has
- contents or is read-only.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
- (sh_elf_size_dynamic_sections): Don't reset the size of
- .rela.got section even if dynamic_sections_created flag is off.
- Don't use sh_elf_discard_copies. Scan all input bfd and use
- allocate_dynrelocs. Call readonly_dynrelocs to determine
- whether we need DT_TEXTREL.
- (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
- whether the symbol was never referred to.
- (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
- (sh_elf_gc_sweep_hook): Fill with the real sweep function.
- (sh_elf_check_relocs): Call create_got_section if the short-cut
- to .got is null. Increment reference counters only instead of
- allocating space on dynamic sections here. Don't conditionalize
- uninitialized got.offset value when marking the symbol as a
- global offset table entry. Keep relocations for symbols satisfied
- by a dynamic library to avoid copy relocations for the symbol.
- Set dynobj field of an elf hash table if needed.
- (sh_elf_finish_dynamic_sections): Handle null section pointer
- correctly.
- (elf_backend_copy_indirect_symbol): Defined.
- (elf_backend_can_refcount): Defined.
-
-2002-08-23 Nick Clifton <nickc@redhat.com>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
- previous change. Add comment explaining why.
-
-2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
- contents of .got.plt[2] to tr0, not address of .got.plt.
- (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
- patching absolute plt entry. For shmedia plt entry, set bottom bit
- of branch to plt0 as this is a branch to an shmedia instruction.
- * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
- Copy contents of .got.plt[2] to tr0, not address of .got.plt.
- (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
- branch to plt0.
- (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
- patching absolute plt entry. For shmedia plt entry, branch to
- plt0 is now ptrel, so use relative offset. Set bottom bit of
- branch target as it is a branch to an shmedia instruction.
-
-2002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
- Richard Shann <richard.shann@superh.com>
-
- * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
- value if .init is an SHmedia function. Similarly for DT_FINI.
- * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
-
-2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
- dynamic section.
- * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
-
-2002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
- byte read when reading the return address register column.
-
-2002-08-22 Nick Clifton <nickc@redhat.com>
-
- * config.bfd: Add powepc64-*-*bsd* target.
-
-2002-08-22 Graeme Peterson <gp@qnx.com>
-
- * Makefile.am: Add entries for elf32-shqnx.c
- * Makefile.in: Regenerate.
- * config.bfd: Add support sh-*-nto* target.
- * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
- * configure: Regenerate.
- * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
- * elf32-sh.c: Do not include elf32-target.h if
- ELF32_SH_C_INCLUDED is defined.
- * elf32-shqnx.c: New file: Support for QNX.
- * targets.c: Add bfd_elf32_sh{l}qnx_vec.
-
-2002-08-22 Nick Clifton <nickc@redhat.com>
-
- * po/tr.po: Updated Turkish translation.
-
- * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
- symbols are not read.
-
-2002-08-22 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-m68hc11.c: Formatting fixes.
- (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
- * elf32-m68hc12.c: Formatting fixes.
- (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
-
-2002-08-22 Alan Modra <amodra@bigpond.net.au>
-
- * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
- SEC_DATA.
- (pmac_xcoff_vec): Likewise.
- * coff64-rs6000.c (rs6000coff64_vec): Likewise.
- (aix5coff64_vec): Likewise.
-
-2002-08-22 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
- param to elf_backend_copy_indirect_symbol.
- (_bfd_elf_link_hash_copy_indirect): Likewise.
- * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
- calls to copy_indirect_symbol.
- * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
- * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
- * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
- * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
- * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
- * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
- * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
- test refcounts for "used" values.
-
-2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
- argument declaration.
-
-2002-08-19 Elena Zannoni <ezannoni@redhat.com>
-
- * archures.c (bfd_mach_ppc_e500): Added.
- * bfd-in2.h: Rebuilt.
- * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
-
-2002-08-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
-
-2002-08-17 Andrew Cagney <ac131313@redhat.com>
-
- * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
- `bfd_byte'.
-
-2002-08-17 Stan Cox <scox@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
- IRIX 6 segment layout for NEWABI.
-
-2002-08-16 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
- symbols when looking for section referred to by a relocation.
- * elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
-
-2002-08-15 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i370.c: Move reloc enum to include/elf/i370.h.
-
-2002-08-15 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
- missing check for whether the symbol is referenced by DSO before
- unexporting it as an unneeded dynamic symbol.
-
-2002-08-14 H.J. Lu <hjl@gnu.org>
-
- * libbfd.h: Regenerate.
-
-2002-08-14 H.J. Lu <hjl@gnu.org>
-
- * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
-
-2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
- instructions.
- (m68hc11_direct_relax): New to define table of relaxable instructions.
- (find_relaxable_insn): New, find a relaxable insn.
- (compare_reloc): New to compare two relocs.
- (m68hc11_elf_relax_section): New, relax text sections.
- (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
- (elf32_m68hc11_check_relocs): New function for GC support.
- (elf32_m68hc11_relocate_section): New function for GC support.
- (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
- (elf_backend_check_relocs): Likewise.
- (elf_backend_relocate_section): Likewise.
-
-2002-08-13 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
- definitions in shared objects when checking symbol with
- undefined version.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
- (elf32_m68hc11_gc_sweep_hook): Likewise.
- (elf_backend_gc_mark_hook): Define for GC section support.
- (elf_backend_gc_sweep_hook): Likewise.
- (elf_backend_can_gc_sections): Likewise.
-
- * elf32-m68hc12.c: Likewise.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
- (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
- (_bfd_m68hc11_elf_set_private_flags): New function.
- Use them to set/check/print ELF flags specific to 68HC11.
-
- * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
- (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
- (_bfd_m68hc12_elf_set_private_flags): New function.
- Use them to set/check/print ELF flags specific to 68HC12.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
- fix masks for PC-rel relocs.
- (m68hc11_elf_ignore_reloc): New function.
-
- * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
- 68HC12 banked addressing relocs.
- (m68hc12_phys_addr): New to compute physical address of banked memory.
- (m68hc12_phys_page): Likewise for page.
- (m68hc12_addr_is_banked): New to see if address is in banked area.
- (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
- BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
- BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
- * bfd-in2.h: Regenerate.
-
-2002-08-12 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_add_default_symbol): Preserve section across
- elf_merge_symbol.
-
-2002-08-09 Graeme Peterson <gp@qnx.com>
-
- * Makefile.am: Add entries for elf32-ppcqnx.c, and add
- elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
- * Makefile.in: Regenerate.
- * config.bfd: Add support for powerpc{le}-*-nto targets.
- * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
- * configure: Regenerate.
- * elf32-i386qnx.c: Moved backend functions into a QNX specific
- common file "elf32-qnx.h", and now include that file.
- * elf32-qnx.h: New file: QNX specific common elf backend.
- * elf32-ppc.c: Do not include elf32-target.h if
- ELF32_PPC_C_INCLUDED is defined.
- * elf32-ppcqnx.c: New file: Support for QNX.
- * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
- * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
-
-2002-08-09 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
- g->global_gotsym is NULL.
-
-2002-08-08 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_add_default_symbol): Don't warn if a definition
- overrides an indirect versioned symbol.
-
-2002-08-08 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
- for R_386_TLS_TPOFF32 relocs against symndx 0.
-
-2002-08-07 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
- with undefined version if needed.
- (elf_link_assign_sym_version): Match a default symbol with a
- version without definition. No need to hide the default
- definition separately.
-
-2002-08-08 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_output_extsym): Don't output symbols from
- SEC_EXCLUDE sections.
-
- * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
-
-2002-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
- entries.
-
-2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
- mismatch.
-
-2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (ABI_64_P): Remove superfluous check.
-
-2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c (mips_reloc_map): Fix typo.
-
-2002-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
-
-2002-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
-
-2002-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * libxcoff.h: Use PARAMS on function declarations.
- * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
- * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
-
- * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
- addend.
- * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
-
-2002-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * coff-rs6000.c: Formatting fixes.
- (xcoff_calculate_relocation): Use PARAMS in declaration.
- (xcoff_complain_overflow): Likewise.
- (xcoff_ppc_relocate_section): Use old-style function pointer call.
- (bfd_xcoff_backend_data): Remove useless comments.
- (rs6000coff_vec): Likewise.
- (bfd_pmac_xcoff_backend_data): Likewise.
- (pmac_xcoff_vec): Likewise.
-
- * coff64-rs6000.c: Formatting fixes.
- (xcoff64_calculate_relocation): Use PARAMS in declaration.
- (xcoff64_ppc_relocate_section): Use old-style function pointer call.
- (bfd_xcoff_backend_data): Remove useless comments.
- (rs6000coff64_vec): Likewise.
- (bfd_xcoff_aix5_backend_data): Likewise.
- (aix5coff64_vec): Likewise.
-
-2002-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
- mask entries. Use complain_overflow_dont for R_REF.
- (xcoff_reloc_type_ba): Revert last change.
- (xcoff_reloc_type_br): Likewise.
- (xcoff_reloc_type_crel): Likewise.
- (xcoff_ppc_relocate_section): Likewise.
- * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
- (xcoff64_ppc_relocate_section): Likewise.
- (xcoff64_howto_table): Revert some of last change to mask entries.
- Use complain_overflow_dont for R_REF.
-
- * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
- relocs with bitsize == 16 have size = 1.
- (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
- (xcoff_reloc_type_br): Likewise.
- (xcoff_reloc_type_crel): Likewise.
- (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
- * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
- dst_mask adjustment.
- (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
- (xcoff64_howto_table): Fix src_mask entries. Make all relocs with
- bitsize == 16 have size = 1.
-
-2002-08-01 Denis Chertykov <denisc@overta.ru>
-
- * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
- (struct misc): New field isymbuf. All free_* fields removed.
- (symbol_value): Pass in internal syms. No need to swap syms in.
- (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
- possibly cached info.
- (tidyup_after_error): Removed.
- (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
- misc. Use new field.
- (adjust_all_relocations): Use internal syms. No need to swap syms
- in and out.
- (add_page_insn): Don't use removed fields of struct misc.
-
-2002-08-01 Nick Clifton <nickc@redhat.com>
-
- * elf32-arm.h: Revert previous delta.
-
-2002-08-01 Nick Clifton <nickc@redhat.com>
-
- * configure.in (AM_INIT_AUTOMAKE): Bump version number.
- * configure: Regenerate.
-
-2002-07-31 H.J. Lu <hjl@gnu.org>
-
- * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
- selected.
-
-2002-07-31 H.J. Lu <hjl@gnu.org>
-
- * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
- is selected.
-
-2002-07-31 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
- if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
-
-2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
-
- * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
- There is no 8 byte relocation type for this architecture.
- (do_ns32k_reloc): Use bfd_vma instead of native types.
- (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
- returns void.
- (_bfd_ns32k_put_displacement): Don't check for overflow. We can
- rely on generic code to do that.
- * aout-ns32k.c (howto_table): Add appropriate overflow detection
- to all table entries.
- (_bfd_ns32k_relocate_contents): put_data returns void.
- * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
- (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
- return void.
-
-2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
-
- * aoutx.h (aout_link_check_ar_symbols): Whether to include an
- archive object is target dependant.
-
-2002-07-31 Adam Nemet <anemet@lnxw.com>
-
- * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
- (THUMB_PLT_ENTRY_SIZE): New macro.
- (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
- (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
- ARM_PLT_ENTRY_SIZE.
- (elf32_arm_plt_entry): Likewise.
- (elf_backend_plt_header_size): Likewise.
- (elf32_thumb_plt0_entry): New global.
- (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
- into .plt.thumb.
- (elf32_thumb_plt_entry): New global.
- (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
- Thumb entries. Set the bottom bit of the corresponding GOT entry
- for a Thumb PLT entry.
- (struct elf32_arm_plt_entry_info): New structure.
- (struct elf32_arm_link_hash_entry, plt_info): New member of this
- type.
- (elf32_arm_link_hash_newfunc): Initialize new member.
- (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
- relocations against the PLT.
- (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
- first_rel_type if this is the first time we encounter the symbol.
- (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
- Determine if relocation needs a PLT entry. Set first_rel_type if
- this is the first time we encounter the symbol
- (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
- functions as well.
- (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
- (elf32_arm_create_dynamic_sections): New function. Create the
- .plt.thumb section.
- (elf_backend_create_dynamic_sections): Call it.
-
-2002-07-31 Nick Clifton <nickc@redhat.com>
-
- * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
- 'alternative' in order to avoid shadowing global symbol of the
- same name.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * libcoff.h: Regenerate.
-
-2002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * Makefile.am: Add n32 ABI support.
- * Makefile.in: Regenerate.
- * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
- bit vectors for mips*-*-linux targets as optional.
- * configure.in: Add n32 ABI vectors.
- * configure: Regenerate.
- * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
- * elfn32-mips.c: New file, n32 ABI support.
- * targets.c: Add n32 ABI vectors.
-
-2002-07-30 Graeme Peterson <gp@qnx.com>
-
- * elfarmqnx-nabi.c: New file: Support for QNX.
- * config.bfd: Add support for arm-*-nto target.
- * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
- * configure: Regenerate.
- * Makefile.am: Add entries for elfarmqnx-nabi.c.
- * Makefile.in: Regenerate.
- * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
- Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
- * elfarm-nabi.c: Do not include elf32-arm.h if
- ELFARM_NABI_C_INCLUDED is defined.
- * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
-
-2002-07-30 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2002-07-30 Jakub Jelinek <jakub@redhat.com>
-
- * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
-
-2002-07-30 Alan Modra <amodra@bigpond.net.au>
-
- * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
- * archive.c (bfd_generic_archive_p): Likewise.
- * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
- (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
- * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
- (xcoff64_archive_p): Likewise.
- (xcoff64_openr_next_archived_file): Likewise.
- (xcoff64_archive_p): Clean up tdata properly on error.
- * coffgen.c (coff_real_object_p): Likewise.
- (coff_object_p): Release filehdr and opthdr.
- * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
- * ieee.c (ieee_archive_p): Likewise.
- * ihex.c (ihex_object_p): Likewise.
- (ihex_mkobject): Always allocate tdata.
- * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
- * srec.c (srec_mkobject): Always allocate tdata.
- (srec_object_p): Clean up tdata properly on error.
- (symbolsrec_object_p): Likewise.
- * versados.c (versados_object_p): Likewise.
- * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
- and bfd_realloc instead of realloc.
- (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
- * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
- place of bfd_malloc, simplifying error freeing. Free hash table too.
- (vms_object_p): Clean up tdata on error.
- (vms_mkobject): Don't complain on stderr if vms_initialize fails.
- (vms_close_and_cleanup): Adjust for bfd_alloc use.
-
-2002-07-30 Alan Modra <amodra@bigpond.net.au>
-
- * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
-
-2002-07-26 Chris Demetriou <cgd@broadcom.com>
-
- * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
- flags into resulting BFD.
-
-2002-07-26 Alan Modra <amodra@bigpond.net.au>
-
- From John Reiser <jreiser@BitWagon.com>
- * elf32-i386.c (elf_i386_link_hash_table_create): Clear
- tls_ldm_got.refcount.
-
-2002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf64-mips.c: Update TODO comment.
- (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
- mips_elf64_gprel16_reloca): Remove prototypes.
- (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
- (UNUSED_RELOC): Replace by EMPTY_RELOC.
- (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
- wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
- R_MIPS_HIGHEST.
- (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
- R_MIPS_GOT16. Remove wrong comments.
- (elf_mips16_jump_howto,elf_mips16_gprel_howto,
- elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
- from elf32-mips.c.
- (mips_elf64_hi16_reloc): Fix formatting.
- (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
- (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
- Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
- (mips_elf64_gprel16_reloc): Make static. Add check for
- partial_inplace.
- (mips_elf64_gprel16_reloca): Remove.
- (mips_elf64_literal_reloc): New function.
- (mips_elf64_gprel32_reloc): Fix formatting.
- (mips_elf64_shift6_reloc): Fix comment. Make static.
- (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
- elf32-mips.c.
- (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
- elf32-mips.c
- (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
- specific relocations.
- (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
- (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
- (ELF_MAXPAGESIZE): Add comment.
-
-2002-07-25 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
- * po/es.po: Updated Spanish translation.
- * po/fr.po: Updated French translation.
-
-2002-07-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
- as elf_link_record_local_dynamic_symbol.
- (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
- (elf_link_record_local_dynamic_symbol): Declare. Now returns int.
- * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
- * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
- attempt is made to record a symbol in a discarded section, and
- return `2' in that case.
-
-2002-07-24 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
- * po/es.po: Updated Spanish translation.
-
-2002-07-23 Alan Modra <amodra@bigpond.net.au>
-
- * po/SRC-POTFILES.in: Regenerate.
-
- * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
- immediately. Remove code handling relocatable linking.
- * elf32-avr.c (elf32_avr_relocate_section): Likewise.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
- * elf32-frv.c (elf32_frv_relocate_section): Likewise.
- * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-v850.c (v850_elf_relocate_section): Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf32-avr.c (elf_backend_rela_normal): Define.
- * elf32-cris.c: Likewise.
- * elf32-fr30.c: Likewise.
- * elf32-frv.c: Likewise.
- * elf32-h8300.c: Likewise.
- * elf32-hppa.c: Likewise.
- * elf32-ip2k.c: Likewise.
- * elf32-sparc.c: Likewise.
- * elf32-v850.c: Likewise.
- * elf32-vax.c: Likewise.
- * elf64-hppa.c: Likewise.
- * elf64-sparc.c: Likewise.
- * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
- * elf32-frv.c (elf32_frv_relocate_section): Likewise.
- * elf32-i860.c (elf32_i860_relocate_section): Likewise.
- * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
- * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
- * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
- * elf-m10200.c (USE_RELA): Don't define.
- * elf-m10300.c: Likewise.
- * elfarm-oabi.c: Likewise.
- * elf32-i370.c: Likewise.
- * elf32-ip2k.c: Likewise.
- * elf32-m68k.c: Likewise.
- * elf32-mcore.c: Likewise.
- * elf32-ppc.c: Likewise.
- * elf32-s390.c: Likewise.
- * elf32-vax.c: Likewise.
- * elf64-ppc.c: Likewise.
- * elf64-s390.c: Likewise.
- * elf64-x86-64.c: Likewise.
- * elfxx-ia64.c: Likewise.
- * elf32-avr.c (USE_REL): Don't undef.
- * elf32-ip2k.c: Likewise.
-
-2002-07-23 Nick Clifton <nickc@redhat.com>
-
- * elf-bfd.h (struct elf_backend_data): Add new bitfield
- 'want_p_paddr_set_to_zero'.
- * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
- to false;
- * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
- * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
-
-2002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
-
- * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
- the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
- show the Copyright string.
- Minor formatting tidy ups.
-
-2002-07-23 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
- * po/sv.po: Updated Swedish translation.
-
-2002-07-23 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_input_bfd): Don't change internal symbols
- when outputting relocs.
-
-2002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
-
- * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
- DT_PLTGOT into the dynamic section if there is a PLT.
-
-2002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
- elf32-mips.c.
- (_bfd_mips_elf_write_section): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
- (_bfd_mips_elf_write_section): Likewise.
- * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
- (elf32_mips_write_section): Likewise.
- * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
- (_bfd_mips_elf_write_section): Likewise.
-
-2002-07-19 Alan Modra <amodra@bigpond.net.au>
-
- * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
- PT_IA_64_UNWIND segments for a given section.
-
-2002-07-17 H.J. Lu <hjl@gnu.org>
-
- * Makefile.am: Fix a typo.
- * Makefile.in: Regenerate.
-
-2002-07-15 Denis Chertykov <denisc@overta.ru>
- Frank Ch. Eigler <fche@redhat.com>
- Ben Elliston <bje@redhat.com>
- Alan Lehotsky <alehotsky@cygnus.com>
- John Healy <jhealy@redhat.com>
- Graham Stott <grahams@redhat.com>
- Jeff Johnston <jjohnstn@redhat.com>
-
- * Makefile.am: Add support for ip2k.
- * Makefile.in: Regenerate.
- * doc/Makefile.in: Regenerate.
- * archures.c: Add support for ip2k.
- * config.bfd: Add support for ip2k.
- * configure.in: Add support for ip2k.
- * configure: Regenerate.
- * reloc.c: Add support for ip2k.
- * targets.c: Add support for ip2k.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * cpu-ip2k.c: New file.
- * elf32-ip2k.c: New file.
-
-2002-07-17 Ian Rickards <irickard@arm.com>
-
- * dwarf2.c (concat_filename): If we can't establish the directory
- just return the filename.
-
-2002-07-16 Moritz Jodeit <moritz@jodeit.org>
-
- * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
-
-2002-07-16 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h: Formatting fixes, tidy prototypes.
- (elf_link_assign_sym_version): Move common code out of loop.
-
-2002-07-16 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
- reloc section size is zero. Correct reloc output location.
-
-2002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
- the final type for the e_fsel selector when generating PA2.0W code.
- (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
- relocations.
-
-2002-07-14 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_assign_sym_version): Hide the default
- definition if there is a hidden versioned definition.
-
-2002-07-12 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
- dynamic reference test in assertion when initializing GOT with
- static contents. Just assert that there are either no dynamic
- sections, the symbol is defined in the regular objects or that the
- symbol is undef weak. Tweak comment.
- (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
- only if the symbol isn't defined in the program and isn't undef
- weak.
- (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
- rid of PLT entry: only do it if the symbol isn't defined in a DSO.
- When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
- (elf_cris_discard_excess_program_dynamics): Don't consider
- ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
-
-2002-07-11 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (elf_i386_relocate_section): Don't complain about
- unresolved debugging relocs in dynamic applications.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
-
-2002-07-10 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ONES): Define.
- (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
- missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
- in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
-
- * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
- (ppc64_elf_set_private_flags): Delete.
- (ppc64_elf_section_from_shdr): Delete.
- (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
- (ppc64_elf_fake_sections): Delete.
- (bfd_elf64_bfd_set_private_flags): Don't define.
- (bfd_elf64_get_symbol_info): Likewise.
- (elf_backend_section_from_shdr): Likewise.
- (elf_backend_fake_sections): Likewise.
-
-2002-07-10 Marco Walther <Marco.Walther@sun.com>
-
- * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
- when not already set.
- * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
- (elf_backend_fake_sections): Define.
-
-2002-07-10 Alan Modra <amodra@bigpond.net.au>
-
- * merge.c (_bfd_merge_section): Remove redundant output_section check.
- Formatting.
- (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
-
-2002-07-09 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
- NULL sym_hashes to just before use.
- <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
- symbol with non-default visibility.
- <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
- <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
- Ditto.
- (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
- symbol with non-default visibility.
- (cris_elf_check_relocs): At tests for local symbol before
- increasing h->plt.refcount, also check for non-default
- visibility. Ditto when checking for local symbol to eliminate
- pc-relative runtime relocs.
-
-2002-07-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c: Formatting.
- (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
- (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
- (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
- segments.
-
-2002-07-07 Mark Mitchell <mark@codesourcery.com>
- Alan Modra <amodra@bigpond.net.au>
-
- * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
- account the impact of relocation count overflow when computing
- section offsets.
- * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
- or not to apply the PE COFF reloc overflow handling. Fix a
- fencepost error in deciding whether or not to use that technique.
-
-2002-07-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
- change type of locsyms.
- (bfd_elf_get_elf_syms): Declare.
- * elf.c (bfd_elf_get_elf_syms): New function.
- (group_signature): Use bfd_elf_get_elf_syms.
- (bfd_section_from_r_symndx): Likewise.
- * elfcode.h (elf_slurp_symbol_table): Likewise.
- * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
- (elf_link_add_object_symbols): Likewise. Reorganise to increase
- locality of various data structures. Properly free internal relocs.
- (elf_bfd_final_link): Properly free internal relocs.
- (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
- (elf_link_input_bfd): Likewise.
- (elf_gc_mark): Likewise. Properly free internal relocs.
- (elf_gc_sweep): Properly free internal relocs.
- (elf_reloc_symbol_deleted_p): No need to swap syms in.
- (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
- internal relocs.
- * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
- Properly free possibly cached info.
- (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
- (mn10200_elf_symbol_address_p): Pass in internal syms. Remove
- symbol swapping code.
- (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
- Properly free possibly cached info.
- * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
- (mn10300_elf_relax_delete_bytes): Likewise.
- (mn10300_elf_symbol_address_p): Likewise.
- (mn10300_elf_get_relocated_section_contents): Likewise.
- * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
- (elf32_h8_relax_delete_bytes): Likewise.
- (elf32_h8_symbol_address_p): Likewise.
- (elf32_h8_get_relocated_section_contents): Likewise.
- * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
- (m32r_elf_relax_delete_bytes): Likewise.
- (m32r_elf_get_relocated_section_contents): Likewise.
- * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
- elf_section_data to determine whether cached.
- (sh_elf_relax_section): As above for elf-m10200.c.
- (sh_elf_relax_delete_bytes): Likewise.
- (sh_elf_get_relocated_section_contents): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
- * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
- reading of local syms.
- * elf64-mmix.c (mmix_elf_relax_section): Likewise.
- * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
- * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
- * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
- relocs.
- * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
- free internal relocs and section contents. Don't read symbols.
- * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
- (elf32_hppa_size_stubs): Don't free local syms.
- * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
- reading of local syms. Use bfd_elf_get_elf_syms. Properly free
- possibly cached info.
- * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
- * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
- * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
- all_local_syms.
- (get_local_syms): Delete function.
- (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
- on exit.
- (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
-
-2002-07-05 Jim Wilson <wilson@redhat.com>
-
- * syms.c (decode_section_type): New.
- (bfd_decode_symclass): Call decode_section_type.
-
-2002-07-04 Jakub Jelinek <jakub@redhat.com>
-
- * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
- section content start.
- Reported by Michael Schumacher <mike@hightec-rt.com>.
-
-2002-07-04 Alan Modra <amodra@bigpond.net.au>
-
- * section.c (_bfd_strip_section_from_output): Remove unnecessary
- link order code. Don't actually remove the output section here;
- Just set a flag for the linker to do so.
- * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
- sections when setting up output section dynsyms.
-
-2002-07-04 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
- fudge.
- * elf.c (bfd_section_from_shdr): Work around broken hpux shared
- libs here instead.
-
-2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf64-s390.c (create_got_section): Set .got section alignment to
- 8 bytes.
- (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
-
-2002-07-02 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
-
-2002-07-01 Matt Thomas <matt@3am-software.com>
-
- * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
- to EF_VAX_*.
-
-2002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (ABI_64_P): Fix comment.
- (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
- new section names for N64 ABI.
- (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
- (mips_elf_calculate_relocation): Code formatting.
- (mips_elf_create_dynamic_relocation): Likewise.
- (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
- (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
- (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
- in any NewABI.
- (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
- for NewABI.
- (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
- (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
- here, too.
-
-2002-07-01 Andreas Schwab <schwab@suse.de>
-
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
- R_X86_64_64 to R_X86_64_RELATIVE.
-
-2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
- * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
- Run "make dep-am".
- * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
- host_aout_vec.
- * configure.in (vaxbsd_vec): Add.
- * targets.c (vaxbsd_vec): Add.
- * Makefile.in: Rebuild.
- * configure: Rebuild.
- * po/SRC-POTFILES.in: Rebuild.
-
-2002-07-01 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
- examining to gc_mark_hook, rather than the bfd.
- (elf_gc_sections): Adjust.
- * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
- * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
- * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
- * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
- * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
- * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
- * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
- * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
- * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
- * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
- * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
- * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
- * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
- * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
- * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
- * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
- * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
- * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
- * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
- * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
- * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
- * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
- * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
- * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
- * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
- redundant local sym tests.
- * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
- (link_hash_newfunc): Init is_entry.
- (ppc64_elf_copy_indirect_symbol): Copy is_entry.
- (ppc64_elf_link_hash_table_create): Init all_local_syms.
- (create_linkage_sections): Use bfd_make_section_anyway rather than
- bfd_make_section.
- (ppc64_elf_mark_entry_syms): New function.
- (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
- up opd entry to function section map.
- (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
- relocs that reference the opd section.
- (edit_opd): New function.
- (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
- (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
- (get_local_syms): Do so here. Exit if we already have local syms.
- Remove bogus comment imported from elf32-hppa.c. Don't attempt to
- read local syms on non-ELF input.
- (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
- than duplicating it's function here. Adjust free of internal
- relocs to suit.
- (ppc64_elf_relocate_section): Adjust local syms in opd section.
- * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
- * elf32-hppa.c (elf32_hppa_size_stubs): Call
- _bfd_elf32_link_read_relocs rather than duplicating it's function
- here. Adjust free of internal relocs to suit.
-
-2002-07-01 Andreas Jaeger <aj@suse.de>
-
- * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
- are not allowed in shared libs code, enforce -fPIC.
-
-2002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
- trailing zero-sequences when there's previous left-over data.
-
-2002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
- (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
- and opd_rel_sec in order for starting rela section. Check _raw_size.
- (elf_backend_reloc_type_class): Define.
-
-2002-06-27 Kevin Buettner <kevinb@redhat.com>
-
- * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
- DWARF2 formats.
-
-2002-06-27 Alan Modra <amodra@bigpond.net.au>
-
- * cpu-powerpc.c: Comment on ordering of arch_info.
- * elf32-ppc.c (ppc_elf_object_p): New function.
- (elf_backend_object_p): Define.
- * elf64-ppc.c (ppc64_elf_object_p): New function.
- (elf_backend_object_p): Define.
-
-2002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
- * configure: Regenerate.
-
-2002-06-25 Jason Eckhardt <jle@rice.edu>
-
- * dwarf2.c (decode_line_info): Check unit->addr_size
- to read in the proper number of prologue bytes.
-
-2002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
-
- * config.bfd (powerpc-*-aix5*): Only create a selvecs for
- aix5coff64_vec if 64-bit bfd support has been enabled.
- (powerpc64-*-aix5*): Only define if 64-bit bfd support has
- been enabled.
-
- * targets.c (_bfd_target_vector[]): Only include
- aix5coff64_vec if 64-bit bfd support has been enabled.
-
-2002-06-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
- * elf32-hppa.c (hppa_add_stub): Likewise.
- * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
- * elflink.h (elf_add_default_symbol): Fix comment typo.
- (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
- (elf_link_add_object_symbols): Likewise.
- (elf_link_assign_sym_version): Likewise.
- * hash.c (bfd_hash_lookup): Likewise.
- * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
- * section.c (bfd_get_unique_section_name): Likewise.
- * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
- * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
- (assign_section_numbers): Likewise.
- (_bfd_elfcore_make_pseudosection): Likewise.
- (elfcore_grok_lwpstatus): Likewise.
- (elfcore_grok_win32pstatus): Likewise.
- (elfcore_write_note): Constify input params. Use PTR instead of
- void *. Include terminating NUL in namesz. Correct padding.
- Support NULL "name" param. Use memcpy instead of strcpy.
- (elfcore_write_prpsinfo): Constify input params.
- (elfcore_write_prstatus): Likewise. Use PTR instead of void *.
- (elfcore_write_lwpstatus): Likewise.
- (elfcore_write_pstatus): Likewise.
- (elfcore_write_prfpreg): Likewise.
- (elfcore_write_prxfpreg): Likewise.
- * elf-bfd.h (elfcore_write_note): Update declaration.
- (elfcore_write_prpsinfo): Likewise.
- (elfcore_write_prstatus): Likewise.
- (elfcore_write_pstatus): Likewise.
- (elfcore_write_prfpreg): Likewise.
- (elfcore_write_prxfpreg): Likewise.
- (elfcore_write_lwpstatus): Likewise.
-
-2002-06-25 Jason Eckhardt <jle@rice.edu>
-
- * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
- symbols of type stProc and stStaticProc.
-
-2002-06-25 Nick Clifton <nickc@redhat.com>
-
- * ecoff.c: VArious formatting fixes.
-
-2002-06-25 Alan Modra <amodra@bigpond.net.au>
-
- * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
-
-2002-06-25 Alan Modra <amodra@bigpond.net.au>
-
- * aout-adobe.c: Don't compare against "true" or "false.
- * aout-target.h: Likewise.
- * aoutx.h: Likewise.
- * archive.c: Likewise.
- * bout.c: Likewise.
- * cache.c: Likewise.
- * coff-a29k.c: Likewise.
- * coff-alpha.c: Likewise.
- * coff-i386.c: Likewise.
- * coff-mips.c: Likewise.
- * coff-or32.c: Likewise.
- * coff64-rs6000.c: Likewise.
- * coffcode.h: Likewise.
- * coffgen.c: Likewise.
- * cpu-ns32k.c: Likewise.
- * ecoff.c: Likewise.
- * ecofflink.c: Likewise.
- * elf.c: Likewise.
- * elf32-arm.h: Likewise.
- * elf32-cris.c: Likewise.
- * elf32-d30v.c: Likewise.
- * elf32-i386.c: Likewise.
- * elf32-mcore.c: Likewise.
- * elf32-ppc.c: Likewise.
- * elf32-sh.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf32-v850.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elf64-sh64.c: Likewise.
- * elfcode.h: Likewise.
- * elfcore.h: Likewise.
- * elflink.h: Likewise.
- * elfxx-mips.c: Likewise.
- * i386os9k.c: Likewise.
- * ieee.c: Likewise.
- * libbfd.c: Likewise.
- * linker.c: Likewise.
- * mmo.c: Likewise.
- * nlm32-alpha.c: Likewise.
- * nlm32-i386.c: Likewise.
- * nlm32-ppc.c: Likewise.
- * nlm32-sparc.c: Likewise.
- * nlmcode.h: Likewise.
- * oasys.c: Likewise.
- * pdp11.c: Likewise.
- * peicode.h: Likewise.
- * reloc.c: Likewise.
- * som.c: Likewise.
- * srec.c: Likewise.
- * tekhex.c: Likewise.
- * vms.c: Likewise.
- * xcofflink.c: Likewise.
- * elf64-sparc.c: Edit comment to not use "== false".
-
- * aoutf1.h: Don't use "? true : false".
- * ecoff.c: Likewise.
- * format.c: Likewise.
- * ieee.c: Likewise.
- * linker.c: Likewise.
- * mmo.c: Likewise.
- * oasys.c: Likewise.
-
-2002-06-23 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_add_archive_symbols): For the default
- version, check references with only one `@' first.
-
-2002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
- function.
- (allocate_global_data_dlt): Don't add millicode symbols to dynamic
- symbol table.
- (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
- (elf64_hppa_size_dynamic_sections): Revise to use
- elf64_hppa_mark_milli_and_exported_functions.
- (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
- symbols out of dynamic symbol table.
-
-2002-06-23 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * configure: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
- * elflink.h: Comment typo fixes.
-
-2002-06-23 H.J. Lu <hjl@gnu.org>
-
- * elf-bfd.h (elf_link_loaded_list): New structure.
- (elf_link_hash_table): Add "loaded".
- * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
- * elflink.h (elf_link_check_versioned_symbol): New function.
- (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
-
-2002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elflink.h (size_dynamic_sections): If the target does not
- support an ELF style hash table, return true, indicating that
- nothing needed to be done, rather than false, indicating that the
- section's size could not be computed.
-
-2002-06-18 Dave Brolley <brolley@redhat.com>
-
- From Catherine Moore, Michael Meissner, Dave Brolley:
- * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
- * targets.c: Support bfd_elf32_frv_vec.
- * reloc.c: Add FRV relocs.
- * configure.in: Add support for bfd-elf32-frv-vec.
- * config.bfd (targ_cpu): Add support for frv-*-elf.
- * archures.c: Add frv arch and machines.
- * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
- (ALL_MACHINES_CFILES): Add cpu-frv.c.
- (BFD32_BACKENDS): Add elf32-frv.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-frv.c
- (cpu-frv.lo): New target.
- (elf32-frv.lo): New target.
- * cpu-frv.c: New file.
- * elf32-frv.c: New file.
-
-2002-06-18 Jakub Jelinek <jakub@redhat.com>
-
- * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
- e_shnum == 0.
- Only read the first section header if e_shoff is non-zero.
- Don't consider e_shstrndx if there are no sections.
-
-2002-06-17 Tom Rix <trix@redhat.com>
-
- * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
- R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
- complain_overflow_bitfield.
-
-2002-06-17 Alan Modra <amodra@bigpond.net.au>
-
- * opncls.c (bfd_openr): Remove redundant bfd_set_error.
- (bfd_fdopenr): Likewise.
- (bfd_openstreamr): Likewise.
- (bfd_openw): Likewise.
-
- * targets.c: Sort target vecs.
- (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
- bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
- bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
- bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
- * configure.in: Sort target vecs. Add m88kmach3_vec.
- * configure: Regenerate.
-
-2002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
-
- * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
- bpo_reloc_no to break sort order ties, not address of items.
-
-2002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
- Skip excluded sections in determing __gp value.
- (elf_hppa_final_link_relocate): Use the symbol's address in
- R_PARISC_FPTR64 relocations that don't need an opd entry.
- * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
- (elf64_hppa_finalize_dynreloc): Likewise.
- (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
- (elf64_hppa_finish_dynamic_symbol): Break up assert.
-
-2002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
-
- * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
- alignment for .bss, .data and .text sections so that sse and sse2
- code will work.
- * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
-
-2002-06013 J"orn Rennecke <joern.rennecke@superh.com>
-
- config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
- sh[1234]*-elf*.
-
-2002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elflink.h (elf_bfd_final_link): Improve error handling for missing
- dynamic sections.
-
- * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
- for a symbol that has no output section.
- (allocate_dynrel_entries): Correct comment.
- (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
- unless we want one.
- (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
- (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
- with no section. Remove unnecessary parentheses.
-
-2002-06-11 Tom Rix <trix@redhat.com>
-
- * coffcode.h (coff_compute_section_file_positions): Add data
- section to AIX loader alignment check.
-
- * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
- alignment to 4 bytes.
- (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
- power accessor macro.
- (do_shared_object_padding): Remove invalid assertion.
-
-2002-06-10 Richard Sandiford <rsandifo@redhat.com>
-
- * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
- for removed output sections.
-
-2002-06-10 Geoffrey Keating <geoffk@redhat.com>
-
- * merge.c (merge_strings): Use htab_create_alloc with calloc, not
- htab_alloc.
- * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
-
-2002-06-08 H.J. Lu <hjl@gnu.org>
-
- * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
- work around a long long bug in gcc 2.96 on mips.
-
-2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
-
- * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
- (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
- Regenerate dependency lists.
- * Makefile.in: Regenerate.
- * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
- vax1knetbsd_vec to targ_selvecs.
- * configure.in: Add vax1knetbsd_vec.
- * configure: Regenerate.
- * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
- * vax1knetbsd.c: New file.
- * vaxnetbsd.c: Update copyright years.
- (TARGET_PAGE_SIZE): Set to 0x1000.
- (DEFAULT_MID): Set to M_VAX4K_NETBSD.
-
-2002-06-08 Matt Thomas <matt@3am-software.com>
-
- * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
-
-2002-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
-
-2002-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
- * armnetbsd.c: Replace CONST with const.
- * corefile.c: Likewise.
- * elf32-dlx.c: Likewise.
- * elf64-mips.c: Likewise.
- * mmo.c: Likewise.
- * ns32knetbsd.c: Likewise.
-
- * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
- table is elf64-sparc.
-
-2002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
- Fix RELA addends to get not shifted in the result. Don't do special
- handling of R_MIPS_64 for NewABI.
-
-2002-06-07 Alan Modra <amodra@bigpond.net.au>
-
- * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
- (NAME(aout,slurp_reloc_table)): Likewise.
- * coff-mips.c (mips_relax_section): Use bfd_zalloc.
- * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
- (xcoff_write_archive_contents_big): Likewise.
- (xcoff_generate_rtinit): Likewise.
- (xcoff_generate_rtinit): Likewise, and check error return.
- * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
- * coffgen.c (coff_section_symbol): Use bfd_zalloc.
- (coff_get_normalized_symtab): Likewise.
- (coff_make_empty_symbol): Likewise.
- (bfd_coff_set_symbol_class): Likewise.
- * cofflink.c (coff_link_add_symbols): Likewise.
- * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
- * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
- (bfd_ecoff_write_accumulated_debug): Likewise.
- * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
- * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
- * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
- * ieee.c (do_with_relocs): Use bfd_zalloc.
- * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
- * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
- (NAME(aout,slurp_reloc_table)): Likewise.
- (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
- * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
- * som.c (som_build_and_write_symbol_table): Likewise.
- (som_slurp_string_table): Likewise.
- (som_slurp_symbol_table): Likewise.
- (som_bfd_ar_write_symbol_stuff): Likewise.
- * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
- * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
- * tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
- * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
- * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
-
-2002-06-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
- "group" union.
- (elf_group_name): Update.
- (elf_group_id): Define.
- (bfd_elf_set_group_contents): Declare.
- * elf.c (elf_fake_sections): Qualify use of elf_group_name.
- (set_group_contents): Rename to bfd_elf_set_group_contents. Remove
- ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
- that sym for the signature.
- (_bfd_elf_compute_section_file_positions): Don't call
- set_group_contents for "ld -r" case.
- (swap_out_syms): Use bfd_zalloc.
- * elflink.h (elf_link_add_archive_symbols): Likewise.
- (NAME(bfd_elf,size_dynamic_sections)): Likewise.
- (elf_bfd_final_link): Call bfd_elf_set_group_contents.
-
-2002-06-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
- relocs in opd for non-shared too.
-
-2002-06-06 Jeffrey Law <law@redhat.com>
-
- * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
- relocations.
-
-2002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
-
- * merge.c: Include libiberty.h.
- * elf-strtab.c: Include libiberty.h.
-
-2002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
-
- * peXXigen.c (pe_print_idata): Remove unused variable.
-2002-06-06 David Heine <dlheine@tensilica.com>
+2004-01-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
- * elf.c (assign_file_positions_for_segments): Remove unallocated
- sections from the section to segment mapping for PT_LOAD segments.
- Update comment about empty loadable segments.
+ * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
+ targets to support pages of up to 64kB.
+ (elf32_bed): Redefine to get a separate backend data structure for
+ traditional targets.
+ * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
+ targets to support pages of up to 64kB.
+ (elf64_bed): Redefine to get a separate backend data structure for
+ traditional targets.
+ * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
+ targets to support pages of up to 64kB.
+ (elf32_bed): Redefine to get a separate backend data structure for
+ traditional targets.
-2002-06-06 Richard Sandiford <rsandifo@redhat.com>
+2004-01-04 Mark Kettenis <kettenis@gnu.org>
- * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
- is within the .stabstr section.
+ * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
-2002-06-06 Alan Modra <amodra@bigpond.net.au>
+2004-01-02 Mark Kettenis <kettenis@gnu.org>
- * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
- are "const PTR", not "const PTR *".
- (bfd_elf32_swap_symbol_in): Likewise.
- (bfd_elf64_swap_symbol_in): Likewise.
- * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
- (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
- * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
- (elf_link_add_object_symbols): Likewise.
- (elf_link_record_local_dynamic_symbol): Likewise.
- (elf_link_input_bfd): Likewise.
- (elf_gc_mark): Likewise.
- (elf_reloc_symbol_deleted_p): Likewise.
- * elf-m10200.c (mn10200_elf_relax_section): Likewise.
- (mn10200_elf_relax_delete_bytes): Likewise.
- (mn10200_elf_symbol_address_p): Likewise.
- (mn10200_elf_get_relocated_section_contents): Likewise.
- * elf-m10300.c (mn10300_elf_relax_section): Likewise.
- (mn10300_elf_relax_section): Likewise.
- (mn10300_elf_relax_delete_bytes): Likewise.
- (mn10300_elf_symbol_address_p): Likewise.
- (mn10300_elf_get_relocated_section_contents): Likewise.
- * elf32-h8300.c (elf32_h8_relax_section): Likewise.
- (elf32_h8_relax_delete_bytes): Likewise.
- (elf32_h8_symbol_address_p): Likewise.
- (elf32_h8_get_relocated_section_contents): Likewise.
- * elf32-hppa.c (get_local_syms): Likewise.
- * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
- * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
- * elf32-sh.c (sh_elf_relax_section): Likewise.
- (sh_elf_relax_delete_bytes): Likewise.
- (sh_elf_get_relocated_section_contents): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
- * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
- * elf64-mmix.c (mmix_elf_relax_section): Likewise.
- * elf64-ppc.c (get_local_syms): Likewise.
- * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
+ * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
+ (elf_i386_grok_psinfo): Likewise.
-2002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
+2004-01-02 Bernardo Innocenti <bernie@develer.com>
- * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
+ * config.bfd: Add m68k-uClinux target.
-2002-06-05 Alan Modra <amodra@bigpond.net.au>
+2004-01-01 Grant Edwards <grante@visi.com>
- * elf.c (group_signature): Swap in the whole symbol, and handle
- extracting section symbol names.
- (setup_group): Add comment.
- (set_group_contents): When called from objcopy or ld, arrange for
- section contents to be written. Write group member output section
- indices to allow objcopy to reorganize sections.
- (_bfd_elf_copy_private_section_data): Copy group info.
-
- * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
- (bfd_elf32_swap_symbol_in): Update prototype.
- (bfd_elf64_swap_symbol_in): Likewise.
- * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
- (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
- * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
- (elf_link_add_object_symbols): Likewise.
- (elf_link_record_local_dynamic_symbol): Likewise.
- (elf_link_input_bfd): Likewise.
- (elf_gc_mark): Likewise.
- (elf_reloc_symbol_deleted_p): Likewise.
- * elf-m10200.c (mn10200_elf_relax_section): Likewise.
- (mn10200_elf_relax_delete_bytes): Likewise.
- (mn10200_elf_symbol_address_p): Likewise.
- (mn10200_elf_get_relocated_section_contents): Likewise.
- * elf-m10300.c (mn10300_elf_relax_section): Likewise.
- (mn10300_elf_relax_section): Likewise.
- (mn10300_elf_relax_delete_bytes): Likewise.
- (mn10300_elf_symbol_address_p): Likewise.
- (mn10300_elf_get_relocated_section_contents): Likewise.
- * elf32-h8300.c (elf32_h8_relax_section): Likewise.
- (elf32_h8_relax_delete_bytes): Likewise.
- (elf32_h8_symbol_address_p): Likewise.
- (elf32_h8_get_relocated_section_contents): Likewise.
- * elf32-hppa.c (get_local_syms): Likewise.
- * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
- * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
- * elf32-sh.c (sh_elf_relax_section): Likewise.
- (sh_elf_relax_delete_bytes): Likewise.
- (sh_elf_get_relocated_section_contents): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
- * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
- * elf64-mmix.c (mmix_elf_relax_section): Likewise.
- * elf64-ppc.c (get_local_syms): Likewise.
- * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
- * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
- * elf64-alpha.c (alpha_elf_size_info): Likewise.
- * elf64-hppa.c (hppa64_elf_size_info): Likewise.
- * elf64-mips.c (mips_elf64_size_info): Likewise.
- * elf64-s390.c (s390_elf64_size_info): Likewise.
- * elf64-sparc.c (sparc64_elf_size_info): Likewise.
-
-2002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
- elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
- elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
- _bfd_mips_elf_ignore_discarded_relocs.
- elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
-
-2002-06-05 H.J. Lu <hjl@gnu.org>
-
- * elfxx-mips.c (mips_elf_calculate_relocation): Call
- _bfd_elf_rel_local_sym for STT_SECTION relocations against
- the SEC_MERGE section.
-
-2002-06-05 Alan Modra <amodra@bigpond.net.au>
-
- * coff-alpha.c: Update copyright date.
- * coff-mips.c: Likewise.
- * xcoff-target.h: Likewise.
-
- * bfd-in.h: Remove "taken from the source" comment.
- * libbfd-in.h: Likewise.
- * libcoff-in.h: Likewise.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * libcoff.h: Regenerate.
-
- * elf.c (bfd_elf_discard_group): Return true.
- * elf-bfd.h (bfd_elf_discard_group): Declare.
- * bfd-in.h (bfd_elf_discard_group): Don't declare here.
- * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
- * bfd.c (bfd_discard_group): Define.
- * targets.c (struct bfd_target): Add _bfd_discard_group.
- (BFD_JUMP_TABLE_LINK): Here too.
- * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
- * aout-adobe.c (aout_32_bfd_discard_group): Define.
- * aout-target.h (MY_bfd_discard_group): Define.
- * aout-tic30.c (MY_bfd_discard_group): Define.
- * binary.c (binary_bfd_discard_group): Define.
- * bout.c (b_out_bfd_discard_group): Define.
- * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
- * coffcode.h (coff_bfd_discard_group): Define.
- * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
- * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
- * i386msdos.c (msdos_bfd_discard_group): Define.
- * i386os9k.c (os9k_bfd_discard_group): Define.
- * ieee.c (ieee_bfd_discard_group): Define.
- * ihex.c (ihex_bfd_discard_group): Define.
- * mmo.c (mmo_bfd_discard_group): Define.
- * nlm-target.h (nlm_bfd_discard_group): Define.
- * oasys.c (oasys_bfd_discard_group): Define.
- * ppcboot.c (ppcboot_bfd_discard_group): Define.
- * som.c (som_bfd_discard_group): Define.
- * srec.c (srec_bfd_discard_group): Define.
- * tekhex.c (tekhex_bfd_discard_group): Define.
- * versados.c (versados_bfd_discard_group): Define.
- * vms.c (vms_bfd_discard_group): Define.
- * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
- * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
- (aix5coff64_vec): Likewise.
- * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
-
-2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
- (elf32-sh64-com.lo): New dependency list.
- * Makefile.in: Regenerate.
- * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
- (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
- elf32-sh64-com.lo.
- * configure: Regenerate.
- * elf32-sh64.c (sh64_address_in_cranges)
- (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
- (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
- (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
- * elf32-sh64-com.c: ...here. New file.
-
-2002-06-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
- ATTRIBUTE_UNUSED on used params.
- * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
- before calling bfd_section_from_elf_index on local syms.
- * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
-
-2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
- (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
- (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
- (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
- * Makefile.in: Regenerate.
- * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
- (sh64-*-netbsd*): New targets.
- * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
- bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
- * configure: Regenerate.
- * elf32-sh64-nbsd.c: New file.
- * elf64-sh64-nbsd.c: New file.
- * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
- bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
- bfd_elf64_sh64lnbsd_vec.
-
-2002-06-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
- (bfd_section_from_shdr): Likewise. Set section name of group
- sections from signature.
- (group_signature): Split out from setup_group. Ensure symbol table
- is available.
- (bfd_elf_discard_group): New function.
- (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
- .gnu.linkonce* sections if they are members of a group.
- (set_group_contents): Set GRP_COMDAT flag.
- * section.c (bfd_discard_group): New function.
- * bfd-in.h (bfd_elf_discard_group): Declare.
- * bfd-in2.h: Regenerate.
- * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
- (elf_linkonce_p): Define.
-
-2002-06-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (bfd_section_from_shdr): Make "name" const.
- * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
- * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
- * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
- * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
- * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
- * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
- * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
- * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
- * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
-
-2002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
- ABI.
-
-2002-06-02 Kazu Hirata <kazu@cs.umass.edu>
-
- * elf32-arc.c: Fix formatting.
- * elf32-arm.h: Likewise.
- * elf32-cris.c: Likewise.
- * elf32-dlx.c: Likewise.
- * elf32-hppa.c: Likewise.
- * elf32-i386.c: Likewise.
- * elf32-i386qnx.c: Likewise.
- * elf32-or32.c: Likewise.
- * elf32-s390.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf32-vax.c: Likewise.
- * elf32-xstormy16.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elf64-mmix.c: Likewise.
- * elf64-ppc.c: Likewise.
- * elf64-s390.c: Likewise.
- * elf64-sh64.c: Likewise.
- * elf64-x86-64.c: Likewise.
-
-2002-06-02 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
- null when there are no got entries for a symbol.
- (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
- uninitialized variable warning.
-
-2002-06-01 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
- undefined symbols here.
- (elf64_alpha_relax_section): Do it here. Also test for not
- defined in the current module.
- (elf64_alpha_relocate_section_r): Split out of ...
- (elf64_alpha_relocate_section): ... here. Don't dereference
- NULL when looking up local got entries.
-
-2002-06-01 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
- symbols from JSR relaxation.
- (elf64_alpha_size_plt_section_1): New.
- (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
- (elf64_alpha_size_rela_got_1): ... here.
- (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
- (elf64_alpha_size_rela_got_section): ... here.
- (elf64_alpha_size_plt_section): New.
- (elf64_alpha_relax_section): Call them.
- (elf64_alpha_size_got_sections): Remove output_bfd arg.
- (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
-
-2002-06-01 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
- (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
- in shared libraries. Fix DTPRELHI and TPRELHI value.
- (INSN_ADDQ, INSN_RDUNIQ): New.
- (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
- (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
- argument. Reject dynamic symbols. Use LITUSE symbolic constants.
- (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
- Handle GOTDTPREL and GOTTPREL relocations.
- (elf64_alpha_relax_gprelhilo): New.
- (elf64_alpha_relax_tls_get_addr): New.
- (elf64_alpha_relax_find_tls_segment): New.
- (elf64_alpha_relax_section): Handle TLS relocations.
- (ALPHA_ELF_LINK_HASH_TLS_IE): New.
- (elf64_alpha_check_relocs): Set it.
-
-2002-06-01 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
-
- * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
- check; don't suppress dynamic relocs for non-allocated sections.
-
- * elf64-alpha.c: Remove dead code.
-
-2002-05-31 Alan Modra <amodra@bigpond.net.au>
-
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
- * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
- space for bss .plt.
-
-2002-05-31 Graeme Peterson <gp@qnx.com>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
- Run "make dep-am".
- * Makefile.in: Regenerate.
- * config.bfd: Add i[3456]86-*-nto-qnx* support.
- * configure.in: Add bfd_elf32_i386qnx_vec support.
- * configure: Regenerate.
- * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
- is_contained_by_filepos, and copy_private_bfd_data_p.
- * elf.c (assign_file_positions_for_segments): Call backend
- set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
- (IS_CONTAINED_BY_FILEPOS): Define.
- (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
- (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
- Fix non-K&R call to _bfd_error_handler.
- (_bfd_elf_copy_private_section_data): Use backend
- copy_private_bfd_data_p.
- * elf32-i386.c: Don't include elfxx-target.h when
- ELF32_I386_C_INCLUDED is defined.
- * elf32-i386qnx.c: New QNX elf backend file.
- * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
- elf_backend_is_contained_by_filepos, and
- elf_backend_do_copy_private_bfd_data.
- * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
-
-2002-05-31 Alan Modra <amodra@bigpond.net.au>
-
- * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
- Move other similar defines to start of file.
-
-2002-05-30 Tom Rix <trix@redhat.com>
-
- * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
- * coff64-rs6000.c (xcoff64_rtype2howto): Same.
-
-2002-05-30 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
- ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
- (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
- (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
- (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
- (struct alpha_elf_obj_tdata): Rename total_got_entries and
- n_local_got_entries to total_got_size and local_got_size.
- (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
- (alpha_got_entry_size): New.
- (elf64_alpha_relax_with_lituse): Use it.
- (elf64_alpha_relax_without_lituse): Likewise.
- (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
- (get_got_entry): New.
- (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
- (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
- (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
- (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
- (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
- (elf64_alpha_calc_got_offsets): Likewise.
- (alpha_dynamic_entries_for_reloc): New.
- (elf64_alpha_calc_dynrel_sizes): Use it.
- (elf64_alpha_size_dynamic_sections): Likewise.
- (elf64_alpha_relocate_section): Handle TLS relocations.
- * reloc.c: Add Alpha TLS relocations.
- * bfd-in2.h, libbfd.h: Rebuild.
-
-2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
-
- * peXXigen.c (pe_print_idata): Remove double printed
- import table lines; add Bound-To comment.
-
-2002-05-29 Matt Thomas <matt@3am-software.com>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
- (elf32-vax.lo): New rule.
- * Makefile.in: Regenerate.
- * configure.in (bfd_elf32_vax_vec)
- (vaxnetbsd_vec): New vectors.
- * configure: Regenerate.
- * config.bfd (vax-*-netbsdelf*)
- (vax-*-netbsdaout*)
- (vax-*-netbsd*): New targets.
- * elf32-vax.c: New file.
- * reloc.c: Add VAX relocations.
- * bfd-in2.h: Regenerate.
- * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
-
-2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
- and bfd_elf32_bigarm_vec to targ_selvecs.
-
-2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
-
- * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
- with auto-imported symbols.
-
-2002-05-29 Adam Nemet <anemet@lnxw.com>
-
- * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
- sections only record bfd.
- (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
- * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
- * bfd-in2.h: Regenerate.
-
-2002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
-
- * syms.c (_bfd_stab_section_find_nearest_line): Move
- declaration and initialisation of saw_line and saw_func out of
- for loop.
-
-2002-05-29 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
- (bfd_elf64_get_symbol_info): Define.
- * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
-
-2002-05-29 Andrey Volkov <avolkov@transas.com>
-
- * cpu-h8300.c: Make default h8300 machine first in machine list.
-
-2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
-
- * config.bfd: Added DLX configuraton.
- * Makefile.am: Added DLX configuraton.
- * configure.in: Added DLX configuraton.
- * archures.c: Add DLX architecture.
- * reloc.c: Add DLX relocs.
- * targets.c: Added DLX target vector.
- * configure: Regenerate.
- * Makefile.in: Regenreate.
- * bfd-in2.h: Regenreate.
- * elf32-dlx.c: New file: Support DLX target.
- * cpu-dlx.c: New file: Support DLX target.
-
-2002-05-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
-
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
- (ppc64_elf_check_relocs): Don't set up function descriptor symbol
- strings to point inside function code sym string.
- (func_desc_adjust): Likewise.
- (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
-
-2002-05-24 Michal Ludvig <mludvig@suse.cz>
-
- * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
- (elf64_x86_64_grok_psinfo): Added.
-
-2002-05-24 TAMURA Kent <kent@netbsd.org>
-
- * config.bfd: Add a target for i386-netbsdpe.
-
-2002-05-24 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
- and is_func_descriptor.
- (func_desc_adjust): Hide function code sym in shared libs unless
- there is a matching exported function descriptor sym.
-
-2002-05-23 Jakub Jelinek <jakub@redhat.com>
-
- * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
- for symbols from SHF_TLS section.
- (_bfd_elf_print_private_bfd_data): Add PT_TLS.
- (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
- (map_sections_to_segments): Build PT_TLS segment if necessary.
- (assign_file_positions_for_segments): Likewise.
- (get_program_header_size): Account for PT_TLS segment.
- (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
- SEC_THREAD_LOCAL sections to STT_TLS.
- * reloc.c: Add 386 and IA-64 TLS relocs.
- * section.c (SEC_THREAD_LOCAL): Define.
- (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
- Remove.
- * elflink.h (elf_link_add_object_symbols): Support .tcommon.
- (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
- unconditionally.
- (struct elf_final_link_info): Add first_tls_sec.
- (elf_bfd_final_link): Set first_tls_sec.
- Compute elf_hash_table (info)->tls_segment.
- (elf_link_output_extsym): Handle STT_TLS symbols.
- (elf_link_input_bfd): Likewise.
- * syms.c (BSF_THREAD_LOCAL): Define.
- * bfd-in2.h: Rebuilt.
- * libbfd.h: Rebuilt.
- * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
- elf_i386_mkobject, elf_i386_object_p): New functions.
- (elf_howto_table): Add TLS relocs.
- (elf_i386_reloc_type_lookup): Support TLS relocs.
- (elf_i386_info_to_howto_rel): Likewise.
- (struct elf_i386_link_hash_entry): Add tls_type.
- (struct elf_i386_obj_tdata): New.
- (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
- New macros.
- (struct elf_i386_link_hash_table): Add tls_ldm_got.
- (link_hash_newfunc): Clear tls_type.
- (elf_i386_check_relocs): Support TLS relocs.
- (elf_i386_gc_sweep_hook): Likewise.
- (allocate_dynrelocs): Likewise.
- (elf_i386_size_dynamic_sections): Likewise.
- (elf_i386_relocate_section): Likewise.
- (elf_i386_finish_dynamic_symbol): Likewise.
- (bfd_elf32_mkobject, elf_backend_object_p): Define.
- * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
- dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
- want_tprel, want_dtpmod, want_dtprel.
- (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
- (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
- R_IA64_LTOFF_TPREL22.
- (elf_code_to_howto_index): Add TLS relocs.
- (elfNN_ia64_check_relocs): Support TLS relocs.
- (allocate_global_data_got): Account for TLS .got data.
- (allocate_dynrel_entries): Account for TLS dynamic relocations.
- (elfNN_ia64_install_value): Supprt TLS relocs.
- (set_got_entry): Support TLS relocs.
- (elfNN_ia64_relocate_section): Likewise.
-
-2002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
- BLX reloc round the relocation up rather than down.
- * coff-arm.c (coff_arm_relocate_section): Likewise.
-
-2002-05-21 H.J. Lu (hjl@gnu.org)
-
- * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
- definition.
-
-2002-05-22 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
- (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
-
-2002-05-22 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
- unresolved relocs.
- (ppc64_elf_size_dynamic_sections): Check for splt NULL.
-
-2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
- non-ELF targets.
-
-2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
- an error value.
- * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
- return with false on error.
- (elf_link_input_bfd): Check reloc_emitter return value.
-
-2002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (armeb-*-netbsdelf*): New target.
-
-2002-05-20 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
- at the plt call stub.
-
-2002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * cpu-mips.c (mips_compatible): Don't try to check machine
- compatibility.
-
-2002-05-18 Tom Rix <trix@redhat.com>
-
- * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
-
-2002-05-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
- (ppc64_elf_relocate_section): Don't warn about reloc overflow when
- we've already warned about an undefined symbol. Report more
- detail on reloc errors.
-
-2002-05-17 Alan Modra <amodra@bigpond.net.au>
-
- * acinclude.m4 (AM_INSTALL_LIBBFD): New.
- * configure.in: Invoke AM_INSTALL_LIBBFD.
- * Makefile.am (install-data-local): Revert 2002-05-13. Move to..
- (install_libbfd): .. New target.
- (uninstall_libbfd): Likewise.
- (install-bfdlibLTLIBRARIES): Likewise.
- (uninstall-bfdlibLTLIBRARIES): Likewise.
- (bfdlibdir): New.
- (bfdincludedir): New.
- (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
-
-2002-05-17 Stuart Balfour <sbalfour@cisco.com>
-
- * hash.c (bfd_hash_lookup): Remove computation of len from inside
- hash loop.
-
-2002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
-
- * config.bfd: Add targets for sh64-linux (little endian and
- big endian).
-
-2002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
-
- * peXXigen.c (pe_print_idata): Do not assume that the first thunk
- is located in the same section as the import table. Instead
- check, and if necessary load the section containing the thunk.
-
-2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
-
- * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
- bfd_bread.
- (xcoff64_core_file_matches_executable_p): Replace bfd_read
- with bfd_bread.
-
-2002-05-15 Alan Modra <amodra@bigpond.net.au>
-
- * aix5ppc-core.c: Warning fixes.
- * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
- * aout-target.h (MY_bfd_link_just_syms): Define.
- * aout-tic30.c (MY_bfd_link_just_syms): Define.
- * bfd.c (bfd_link_just_syms): Define.
- * binary.c (binary_bfd_link_just_syms): Define.
- * bout.c (b_out_bfd_link_just_syms): Define.
- * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
- * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
- * coffcode.h (coff_bfd_link_just_syms): Define.
- * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
- (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
- (_bfd_elf_link_just_syms): Declare.
- * elf.c (_bfd_elf_link_just_syms): New function.
- * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
- sections haven't already been discarded by the linker.
- * elflink.h (elf_link_add_object_symbols): Likewise for stab
- sections and SEC_MERGE sections.
- (elf_bfd_discard_info): Similarly here.
- * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
- * i386msdos.c (msdos_bfd_link_just_syms): Define.
- * i386os9k.c (os9k_bfd_link_just_syms): Define.
- * ieee.c (ieee_bfd_link_just_syms): Define.
- * ihex.c (ihex_bfd_link_just_syms): Define.
- * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
- (_bfd_generic_link_just_syms): Declare.
- * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
- * linker.c (_bfd_generic_link_just_syms): New function.
- * mmo.c (mmo_bfd_link_just_syms): Define.
- * nlm-target.h (nlm_bfd_link_just_syms): Define.
- * oasys.c (oasys_bfd_link_just_syms): Define.
- * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
- * som.c (som_bfd_link_just_syms): Define.
- * srec.c (srec_bfd_link_just_syms): Define.
- * targets.c (struct bfd_target): Add _bfd_link_just_syms.
- (BFD_JUMP_TABLE_LINK): And here.
- * tekhex.c (tekhex_bfd_link_just_syms): Define.
- * versados.c (versados_bfd_link_just_syms): Define.
- * vms.c (vms_bfd_link_just_syms): Define.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
-
-2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c: Remove superfluous definitions copied from
- elfxx-mips.c.
- (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
- SGIish vectors to check the special case.
- (mips_elf_hi16_reloc): Fix comment.
- (mips_elf_got16_reloc): Likewise.
- (_bfd_mips_elf32_gprel16_reloc): Likewise.
- (elf_reloc_map): Code cleanup.
- (mips_reloc_map): Add comment.
- (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
- (mips_elf32_rtype_to_howto): Likewise.
- (mips_elf32_discard_info): Likewise.
- (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
- lead to IRIX compatibility now.
-
-2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c: Call it IRIX, not Irix in comments.
-
-2002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (shle-*-netbsdelf*): Add target which includes
- sh64 support.
-
-2002-05-13 David Edelsohn <edelsohn@gnu.org>
-
- * configure.in: Revert 2002-04-07. Instead, auto-configure
- HAVE_ST_C_IMPL.
- * configure: Regenerate.
- * config.in: Regenerate.
- * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
- or AIX_5_CORE.
-
-2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
-
- * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
- corefiles as well.2
- * configure: Regenerate.
-
-2002-05-13 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (install-data-local): Install headers to
- $(exec_prefix)/include.
- * Makefile.in: Regenerate.
-
-2002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
- Daniel Jacobowitz <drow@mvista.com>
-
- * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
- map BFD_RELOC_RVA.
-
-2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
-
- * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
- hppa*-*-openbsd*): New targets.
- * configure.in (alpha*-*-openbsd*): Set COREFILE.
- * configure: Regenerate.
-
-2002-05-10 Tom Rix <trix@redhat.com>
-
- * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
- xcoff64_ppc_relocate_section.
- * coff-rs6000.c : Extern common xcoff_reloc_type functions.
- * libxcoff.h: Common xcoff_reloc_type function declaration.
-
-2002-05-10 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
- added in 2002-05-09 commit.
-
- * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
- don't look for stubs on all undefined syms.
-
-2002-05-09 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
- (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
- pcrel_offset.
-
- * elf32-i386.c (elf_howto_table): Comments.
- (elf_i386_relocate_section): Handle more relocs for relocatable
- linking and against SEC_MERGE sections.
-
-2002-05-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_create_got): New function.
- (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
- _bfd_elf_create_dynamic_sections. Correct .plt flags.
- (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
- _bfd_elf_create_got_section.
-
-2002-05-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_backend_data): Add rela_normal.
- * elfxx-target.h (elf_backend_rela_normal): Define.
- (elfNN_bed): Init rela_normal.
- * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
- for section symbols here if rela_normal. Simplify abs section test.
- * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
- return immediately. Remove code handling relocatable linking.
- * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
- * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
- * elf32-i370.c (i370_elf_relocate_section): Likewise.
- * elf32-i860.c (elf32_i860_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
- * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
- * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
- * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
- * elf-m10200.c (elf_backend_rela_normal): Define.
- * elf-m10300.c (elf_backend_rela_normal): Define.
- * elf32-fr30.c (elf_backend_rela_normal): Define.
- * elf32-i370.c (elf_backend_rela_normal): Define.
- * elf32-i860.c (elf_backend_rela_normal): Define.
- * elf32-m68k.c (elf_backend_rela_normal): Define.
- * elf32-mcore.c (elf_backend_rela_normal): Define.
- * elf32-openrisc.c (elf_backend_rela_normal): Define.
- * elf32-ppc.c (elf_backend_rela_normal): Define.
- * elf32-s390.c (elf_backend_rela_normal): Define.
- * elf32-xstormy16.c (elf_backend_rela_normal): Define.
- * elf64-ppc.c (elf_backend_rela_normal): Define.
- * elf64-s390.c (elf_backend_rela_normal): Define.
- * elf64-x86-64.c (elf_backend_rela_normal): Define.
- * elfxx-ia64.c (elf_backend_rela_normal): Define.
- * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
- * elf32-m32r.c (elf_backend_rela_normal): Likewise.
-
-2002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate): Convert
- 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
-
-2002-05-06 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
- when not relocatable. Fix reloc_emitter call for K&R.
-
-2002-05-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
- reloading local sym addend mistakenly removed in 2002-05-01 change.
-
- * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
- (read_abbrevs): Change "offset" param to bfd_vma.
- (parse_comp_unit): Change "version" and addr_size to unsigned ints.
- Change "abbrev_offset" to bfd_vma.
- (read_indirect_string): Use correct conversion chars in error
- message format string, cast bfd_vma's to unsigned long.
- (read_abbrevs): Likewise.
- (read_attribute_value): Likewise.
- (decode_line_info): Likewise.
- (scan_unit_for_functions): Likewise.
- (parse_comp_unit): Likewise.
-
-2002-05-04 Tom Rix <trix@redhat.com>
-
- * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
- (coff_swap_reloc_out): Same.
- * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
- (xcoff_swap_reloc_out): Same.
- (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
- case some 16 bit relocs. Add reloc value to output.
- (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
- R_RBR. Improve names.
- (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
- (bfd_xcoff_backend_data): Update with new reloc swap names.
- (bfd_pmac_xcoff_backend_data) : Same.
- * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
- (xcoff64_swap_reloc_out): Same.
- (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
- R_POS. Add reloc value to output.
- (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
- bit R_RBR. Improve names, masks.
- (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
- (bfd_xcoff_backend_data): Update with new reloc swap names.
- (bfd_xcoff_aix5_backend_data) : Same.
-
-2002-05-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
- bfd_count top_index, input_list, all_local_syms.
- (elf32_hppa_setup_section_lists): New function, split from
- elf32_hppa_size_stubs.
- (elf32_hppa_next_input_section): Likewise.
- (group_sections): Likewise.
- (get_local_syms): Likewise.
- (elf32_hppa_size_stubs): Adjust for split out functions. Look for
- stubs on undefined syms too.
- (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
- Only access htab elf fields when we have an elf hash table.
- * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
- (elf32_hppa_next_input_section): Declare.
-
-2002-05-04 Bob Byrnes <byrnes@curl.com>
-
- * opncls.c (_bfd_new_bfd_contained_in): Check return value of
- _bfd_new_bfd.
-
-2002-05-03 H.J. Lu (hjl@gnu.org)
-
- * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
- (mips_elf_link_hash_newfunc): Initialize forced_local to false.
- (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
- to hide a global symbol.
- (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
- forced_local to true.
-
-2002-05-02 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
- vs SHN_UNDEF to zero.
-
-2002-05-02 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
- 16 bit reloc.
- <R_PPC64_SECTOFF_DS>: Likewise.
- (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
- SECTOFF reloc.
- * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
- (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
- SECTOFF reloc.
-
- * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
- (ppc64_elf_ha_reloc): New function.
- (ppc64_elf_brtaken_reloc): New function.
- (ppc64_elf_sectoff_reloc): New function.
- (ppc64_elf_sectoff_ha_reloc): New function.
- (ppc64_elf_toc_reloc): New function.
- (ppc64_elf_toc_ha_reloc): New function.
- (ppc64_elf_toc64_reloc): New function.
- (ppc64_elf_unhandled_reloc): New function.
- (ppc64_elf_howto_raw): Use the above.
- <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
- <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
- <R_PPC64_SECTOFF_DS>: Likewise.
- (IS_ABSOLUTE_RELOC): Update.
- (struct ppc_link_hash_table): Add have_undefweak.
- (ppc64_elf_link_hash_table_create): Init.
- (func_desc_adjust): Set have_undefweak.
- (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
- add the .sfpr blr when have_undefweak.
- (ppc64_elf_setup_section_lists): Check hash table flavour.
- (ppc64_elf_next_input_section): Move output_section->owner test to
- ppc64elf.em.
- (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
- and relocatable test. Return TOCstart and don't set elf_gp.
- (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
- offset calculation. Add assert on weak sym branch tweaks.
- * elf64-ppc.h (ppc64_elf_set_toc): Delete.
- (ppc64_elf_toc): Declare.
- (ppc64_elf_next_input_section): Update.
-
-2002-05-01 Alan Modra <amodra@bigpond.net.au>
-
- * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
- file_name.
-
-2002-05-01 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (CROR_151515, CROR_313131): Define.
- (ppc64_elf_relocate_section): Use them. Don't look for plt calls
- on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
- call branches. Correct undefined weak destination.
- (ppc64_elf_func_desc_adjust): Always create at least one blr in
- .sfpr, and correct case where either only savef* or restf* is
- needed.
-
- Long branch stubs, multiple stub sections.
- * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
- (ppc64_elf_next_input_section): Declare.
- * elf64-ppc.c: Move linker-only prototypes.
- (STUB_SUFFIX): Define.
- (enum ppc_stub_type): New.
- (struct ppc_stub_hash_entry): New.
- (struct ppc_branch_hash_entry): New.
- (struct ppc_link_hash_entry): Add stub_cache, oh.
- (struct ppc_link_hash_table): Add stub_hash_table etc. Remove
- sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
- Rename plt_overflow to stub_error.
- (ppc_stub_hash_lookup): Define.
- (ppc_branch_hash_lookup): Define.
- (stub_hash_newfunc): New function.
- (branch_hash_newfunc): New function.
- (link_hash_newfunc): Init new fields.
- (ppc64_elf_link_hash_table_create): Likewise.
- (ppc64_elf_link_hash_table_free): New function.
- (ppc_stub_name): New function.
- (ppc_get_stub_entry): New function.
- (ppc_add_stub): New function.
- (create_linkage_sections): Use bfd_make_section_anyway. Create
- .branch_lt and .rela.branch_lt sections. Don't create .stub.
- (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
- and set up for plt call stubs. Link func and func desc syms.
- (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
- (func_desc_adjust): Avoid hash lookup when func desc sym available
- via shortcut, and set links when processing.
- (ppc64_elf_hide_symbol): Likewise.
- (allocate_dynrelocs): Don't allocate stub section here.
- (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
- Remove sstub code.
- (ppc_type_of_stub): New function.
- (build_one_stub): Delete.
- (ppc_build_one_stub): New function.
- (ppc_size_one_stub): New function.
- (ppc64_elf_setup_section_lists): New function.
- (ppc64_elf_next_input_section): New function.
- (group_sections): New function.
- (get_local_syms): New function.
- (ppc64_elf_size_stubs): Rewrite.
- (ppc64_elf_build_stubs): Rewrite.
- (ppc64_elf_relocate_section): Look up stub entry for REL24
- relocs. Don't propagate REL14* to dynamic objects. Look for long
- branch stubs if REL14* or REL24 relocs won't reach.
- (bfd_elf64_bfd_link_hash_table_free): Define.
-
-2002-04-30 Mark Mitchell <mark@codesourcery.com>
-
- * config.bfd: Add support for powerpc-*-windiss.
-
-2002-04-30 Tom Rix <trix@redhat.com>
-
- * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
- symbol names into the hash table.
-
-2002-04-28 Tom Rix <trix@redhat.com>
-
- * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
- calulating relocations.
- (xcoff_complain_overflow) : Function table for relocation errors.
- (xcoff_ppc_relocate_section): Use relocation and complain function
- tables.
- (xcoff_complain_overflow_unsigned_func): New complain function.
- (xcoff_complain_overflow_signed_func): Same.
- (xcoff_complain_overflow_bitfield_func): Same.
- (xcoff_complain_overflow_dont_func): Same.
- (xcoff_reloc_type_crel): New recot function.
- (xcoff_reloc_type_br): Same.
- (xcoff_reloc_type_ba): Same.
- (xcoff_reloc_type_toc): Same.
- (xcoff_reloc_type_rel): Same.
- (xcoff_reloc_type_neg): Same.
- (xcoff_reloc_type_pos): Same.
- (xcoff_reloc_type_fail): Same.
- (xcoff_reloc_type_noop): Same.
- * libxcoff.h : Declare common parts for xcoff64.
- * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
- and complain function tables.
-
-2002-04-28 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
- * elf32-hppa.c (elf32_hppa_final_link): Formatting.
-
-2002-04-26 Alan Modra <amodra@bigpond.net.au>
-
- * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
- * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
-
- * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
- same as the output before calling elf_link_input_bfd.
-
- * coffcode.h (coff_compute_section_file_positions): Set
- section_tail after shuffling section list.
-
-2002-04-24 Christian Groessler <chris@groessler.org>
-
- * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
- addresses are 23bit with a special layout, not plain 32bit
- values. Prevent relocation of immediate values.
-
-2002-04-24 Chris G. Demetriou <cgd@broadcom.com>
-
- * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
- MIPS-16 ASE flags are set, print something to indicate that.
-
-2002-04-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
- under which a plt call stub is used.
- (final_link_relocate): Similarly.
- (allocate_plt_static): Clear h-plabel except when plt entry is
- exclusively used for a plabel.
- (allocate_dynrelocs): Use the above to simplify plt sizing.
- (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
- (elf32_hppa_link_hash_table_create): Init.
- (BL22_RP): Define.
- (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
- (elf32_hppa_check_relocs): Set has_22bit_branch.
-
- * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
- (final_link_relocate): Likewise.
-
-2002-04-22 Jakub Jelinek <jakub@redhat.com>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
- search table if some FDE is DW_EH_PE_aligned encoded either.
- (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
-
-2002-04-22 Richard Smith <richard@ex-parrot.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
- (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
- encoded personality.
- (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
- for CIE/FDE removal.
-
-2002-04-20 Tom Rix <trix@redhat.com>
-
- * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
-
-2002-04-20 Alan Modra <amodra@bigpond.net.au>
-
- * archures.c (bfd_lookup_arch): Move the list order comment..
- (struct bfd_arch_info): ..to where it belongs.
- * bfd-in2.h: Regenerate.
-
- * archures.c (bfd_lookup_arch): Add comment on list order.
- (bfd_default_set_arch_mach): Use bfd_lookup_arch.
- * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
- is always at head of list.
-
-2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
-
- * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
- insert_thumb_branch, record_thumb_to_arm_glue): Suppress
- definition of these functions for ARM_WINCE builds as they are
- not used.
- (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
- for ARM_WINCE builds.
-
-2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
-
- * coff-arm.c (bfd_arm_process_before_allocation):
-
-2002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
-
- * cpu-sh.c (scan_mach): Delete.
- (arch_info_struct): Replace scan_mach with bfd_default_scan.
- (bfd_sh_arch): Likewise.
-
-2002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
-
- * ihex.c (ihex_write_object_contents): Fix check for records
- crossing 64K boundaries.
-
-2002-04-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
- type rather than just assuming entries are ELF.
- * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
- * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
- * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
- * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
- rather than elf_link_hash_entry.
-
-2002-04-15 Richard Henderson <rth@redhat.com>
-
- * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
- n32 binaries.
-
-2002-04-15 Michael Snyder <msnyder@redhat.com>
-
- * opncls.c (bfd_close): Write contents if writeable.
- Minor formatting tidy-ups.
-
-2002-04-15 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
-
-2002-04-12 Michael Snyder <msnyder@redhat.com>
-
- * bfd-in.h (bfd_get_section_lma): New access macro.
- Minor white-space fix-up.
-
-2002-04-12 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
- header pad.
-
-2002-04-09 DJ Delorie <dj@redhat.com>
-
- * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
-
-2002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * coffcode.h (coff_read_word): New.
- (coff_compute_checksum): New.
- (coff_apply_checksum): New.
- (coff_write_object_contents): Call coff_apply_checksum () to
- apply checksum to PE image.
-
-2002-04-08 Randolph Chung <tausq@debian.org>
-
- * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
- (elf32_hppa_final_link): Split out sorting logic to..
- * elf-hppa.h (elf_hppa_sort_unwind): ..here.
- (elf_hppa_final_link): Call elf_hppa_sort_unwind.
-
-2002-04-07 Andrew Cagney <ac131313@redhat.com>
-
- * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
- pattern.
- * configure: Re-generate.
-
-2002-04-07 Andrew Cagney <ac131313@redhat.com>
-
- * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
- is greater or equal to 4.3.3.
- * configure: Regenerate.
- Fix PR gdb/344.
-
-2002-04-05 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
- R_CRIS_32_PCREL>: Fix typo in name.
- (cris_elf_check_relocs): Always create .rela.got here when
- R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
- (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
- assume it's created.
-
-2002-04-04 Daniel Jacobowitz <drow@mvista.com>
-
- * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
- * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
- define.
- * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
- * bfd.c (bfd_link_hash_table_free): Define.
- * binary.c (binary_bfd_link_hash_table_free): Define.
- * bout.c (b_out_bfd_link_hash_table_free): Define.
- * coff-rs6000.c (rs6000coff_vec): Include
- _bfd_generic_link_hash_table_free.
- (pmac_xcoff_vec): Likewise.
- * coff64-rs6000.c (rs6000coff64_vec): Likewise.
- (aix5coff64_vec): Likewise.
- * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
- * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
- (bfd_elf32_bfd_link_hash_table_free): Define.
- * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
- (bfd_elf32_bfd_link_hash_table_free): Define.
- * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
- define.
- * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
- * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
- * ieee.c (ieee_bfd_link_hash_table_free): Define.
- * ihex.c (ihex_bfd_link_hash_table_free): Define.
- * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
- (_bfd_generic_link_hash_table_free): Add prototype.
- * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
- * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
- * linker.c (_bfd_generic_link_hash_table_free): New function.
- * mmo.c (mmo_bfd_link_hash_table_free): Define.
- * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
- * oasys.c (oasys_bfd_link_hash_table_free): Define.
- * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
- * som.c (som_bfd_link_hash_table_free): Define.
- * srec.c (srec_bfd_link_hash_table_free): Define.
- * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
- * versados.c (versados_bfd_link_hash_table_free): Define.
- * vms.c (vms_bfd_link_hash_table_free): New function.
- * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
-
- * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
- instead of bfd_alloc.
- * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
- * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
- * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
- * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
- * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
- * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
- * elf.c (_bfd_elf_link_hash_table_create): Likewise.
- * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
- * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
- * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
- * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
- * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
- * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
- * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
- * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
- * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
- * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
- * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
- * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
- * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
- * linker.c (_bfd_generic_link_hash_table_create): Likewise.
- * m68klinux.c (linux_link_hash_table_create): Likewise.
- * sparclinux.c (linux_link_hash_table_create): Likewise.
- * sunos.c (sunos_link_hash_table_create): Likewise.
- * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
-
- * targets.c: Add _bfd_link_hash_table_free to xvec.
-
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * libcoff.h: Regenerate.
-
-2002-04-04 Alan Modra <amodra@bigpond.net.au>
-
- * dep-in.sed: Cope with absolute paths.
- * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
- Run "make dep-am".
- * Makefile.in: Regenerate.
- * coff-arm.c: Fix copyright date.
- * cpu-h8300.c: Likewise.
- * cpu-i370.c: Likewise.
- * cpu-s390.c: Likewise.
- * cpu-mips.c: Likewise.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * Makefile.am: Add elfxx-mips.c to the known backends.
- (elf32-mips.lo): remove dependency to coff/external.h.
- * Makefile.in: Regenerate.
- * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
- Remove elf32-mips.lo from 64 bit vectors. Update dependencies
- accordingly.
- * configure: Regenerate.
- * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
- (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
- (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
- MIPS specific backend functions.
- * elf32-mips.c: Moved most code to elfxx-mips.c.
- (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
- static.
- (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
- (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
- (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
- (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
- interface to allow selection of the right REL or RELA howto table.
- (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
- static. Let it refuse n32 objects.
- (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
- (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
- (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
- (elf32_mips_ignore_discarded_relocs): Rename from
- _bfd_elf32_mips_ignore_discarded_relocs.
- (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
- (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
- (elf_mips_howto_table_rela): Remove.
- * elf64-mips.c: Moved most code to elfxx-mips.c.
- (bfd_elf64_bfd_reloc_type_lookup): Make static.
- (mips_elf64_rtype_to_howto): New function.
- (mips_elf64_object_p): Likewise.
- (elf64_mips_irix_compat): Likewise.
- * elfxx-mips.c: New file containing common code merged together from
- elf32-mips.c and elf64-mips.c.
- * elfxx-mips.h: New file containing MIPS specific prototypes from
- elf-bfd.h.
- * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
- elf_backend_mips_rtype_to_howto.
-
-2002-04-04 Alan Modra <amodra@bigpond.net.au>
-
- * srec.c (MAXCHUNK, Chunk): Revise comments.
- (srec_write_record): Correct buffer size.
- (srec_write_header): Do without intermediate buffer.
- (srec_write_section): Validate Chunk.
- (srec_write_terminator): Pass NULL instead of dummy buffer.
- (srec_write_symbols): Pass file and symbol names directly to
- bfd_bwrite so sprintf won't overflow buffer.
-
-2002-04-03 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
- PC relative relocs against hidden symbols.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
-
-2002-04-03 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (_bfd_elf_make_section_from_shdr): When setting section
- LMAs, loop over segments until p_vaddr and p_memsz specify an
- extent enclosing the section.
-
-2002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
-
- * ihex.c (ihex_write_object_contents): Do not allow records to
- cross a 64K boundary - wrap if necessary.
-
-2002-04-01 Nathan Williams <nathanw@wasabisystems.com>
-
- * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
- which caused the returned LWP ID to always be 0.
-
-2002-04-01 Richard Henderson <rth@redhat.com>
-
- * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
- (elf32_sparc_relocate_section): Use it to figure out when to
- initialize .got entries.
- * elf64-sparc.c: Similarly.
-
-2002-03-28 Alan Modra <amodra@bigpond.net.au>
-
- * linker.c (link_action): Ignore duplicate warning syms.
- (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
- * elflink.h (elf_adjust_dynstr_offsets): Likewise.
- (elf_adjust_dynamic_symbol): Likewise.
- (elf_export_symbol): Likewise.
- (elf_link_find_version_dependencies): Likewise.
- (elf_link_assign_sym_version): Likewise.
- (elf_link_sec_merge_syms): Likewise.
- (elf_link_output_extsym): Likewise.
- (elf_gc_sweep_symbol): Likewise.
- (elf_gc_propagate_vtable_entries_used): Likewise.
- (elf_gc_smash_unused_vtentry_relocs): Likewise.
- (elf_gc_allocate_got_offsets): Likewise.
- (elf_collect_hash_codes): Likewise.
- * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
- * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
- (elf_hppa_remark_useless_dynamic_symbols): Likewise.
- * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
- * elf32-arm.h (elf32_arm_discard_copies): Likewise.
- * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
- (elf_cris_discard_excess_dso_dynamics): Likewise.
- * elf32-hppa.c (clobber_millicode_symbols): Likewise.
- (mark_PIC_calls): Likewise.
- (allocate_plt_static): Likewise.
- (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elf32-i386.c (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
- * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
- * elf32-mips.c (mips_elf_output_extsym): Likewise.
- (mips_elf_sort_hash_table_f): Likewise.
- (mips_elf_check_mips16_stubs): Likewise.
- * elf32-s390.c (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elf32-sh.c (sh_elf_discard_copies): Likewise.
- * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
- (xstormy16_relax_plt_realloc): Likewise.
- * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
- (elf64_alpha_output_extsym): Likewise.
- * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
- * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
- (mips_elf64_check_mips16_stubs): Likewise.
- (mips_elf64_output_extsym): Likewise.
- * elf64-ppc.c (func_desc_adjust): Likewise.
- (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elf64-s390.c (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
- * elf64-x86-64.c (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
- * aoutx.h (aout_link_write_other_symbol): Likewise.
- * cofflink.c (_bfd_coff_write_task_globals): Likewise.
- (_bfd_coff_write_global_sym): Likewise.
- * i386linux.c (linux_tally_symbols): Likewise.
- * m68klinux.c (linux_tally_symbols): Likewise.
- * sparclinux.c (linux_tally_symbols): Likewise.
- * pdp11.c (aout_link_write_other_symbol): Likewise.
- * sunos.c (sunos_scan_dynamic_symbol): Likewise.
- * xcofflink.c (xcoff_build_ldsyms): Likewise.
- (xcoff_write_global_symbol): Likewise.
-
- * cofflink.c (_bfd_coff_final_link): Formatting.
- * cpu-mips.c (mips_compatible): Make static, prototype.
- * elf32-i386.c (elf_i386_check_relocs): Formatting.
- * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
- * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
- * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
- (mips_elf64_final_link): Likewise.
- * elflink.h (elf_link_find_version_dependencies): Remove duplicate
- prototype.
-
-2002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
-
- * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
- (SWAP_OUT_RELOC_OFFSET): Define.
-
-2002-03-27 Gregory Steuck <greg@nest.cx>
-
- * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
- terminating NULL if empty symbol table.
- (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
-
-2002-03-26 H.J. Lu (hjl@gnu.org)
-
- * elflink.h (elf_link_input_bfd): Revert the last change since
- the gcc exception handling isn't fixed yet.
-
-2002-03-26 H.J. Lu (hjl@gnu.org)
-
- * elflink.h (elf_link_input_bfd): Complain about relocations
- against local symbols in discarded sections.
-
-2002-03-26 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
-
-2002-03-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
- section file offset for !SEC_LOAD sections.
-
-2002-03-21 Richard Earnshaw <rearnsha@arm.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
- <case R_ARM_GOT>): Handle relocations to Thumb functions.
-
-2002-03-21 Alan Modra <amodra@bigpond.net.au>
-
- * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
- Whitespace changes.
- * archive.c: Update copyright date.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * Makefile.am: Run "make dep-am"
- * Makefile.in: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-03-20 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2.c (struct funcinfo): Move up.
- (lookup_address_in_function_table): New argument function_ptr.
- Set it.
- (lookup_address_in_line_table): New argument function. If function
- is non-NULL, use it to handle ``addr'' before the first line note of
- the function.
- (comp_unit_find_nearest_line): Update and swap calls to
- lookup_address_in_function_table and lookup_address_in_line_table.
- * syms.c (_bfd_stab_section_find_nearest_line): Use the first
- N_SLINE encountered if we see an N_FUN before any N_SLINE.
-
-2002-03-20 Tom Rix <trix@redhat.com>
-
- * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
- _bfd_xcoff_generic_stat_arch_elt. Fix format check.
- * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
-
-2002-03-19 Tom Rix <trix@redhat.com>
-
- * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
- dynamic objects in archives.
-
-2002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
-
- * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
- STT_NOTYPE symbols to STT_OBJECT.
-
-2002-03-18 Jan Hubicka <jh@suse.cz>
-
- * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
-
-2002-03-18 Tom Rix <trix@redhat.com>
-
- * aix5ppc.core.c : New file for AIX 5 64 bit core support.
- * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
- * coff-rs6000 (do_pad) : New function for archive padding.
- (do_copy) : New function for object file copying in archives.
- (do_shared_object_padding) : New function for padding shared
- objects to their text section alignment in archives.
- (bfd_xcoff_ar_achive_set_magic) : Stub.
- (xcoff_write_armap_big) : Use do_copy and do_pad.
- (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
- do_copy and do_pad.
- * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
- bfd_xcoff_magic_number.
- (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
- fop.
- (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
- (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
- (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
- * rs6000-core.c : Update copyright date.
- * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
- csectpp.
- * coffcode.h (coff_new_section_hook) : Use new accessor macros.
- (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
- (coff_set_flags) : Use bfd_xcoff_magic_number.
- * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
- * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
- * Makefile.am : Same.
- * config.bfd : Same.
- * targets.c : Same.
- * configure : Regnerate.
- * Makefile.in : Same.
- * bfd-in2.h : Same.
-
-2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/fr.po: Updated version.
-
-2002-03-18 Alan Modra <amodra@bigpond.net.au>
-
- * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
- * libbfd.h: Regenerate.
- * archive.c (coff_write_armap): Pass on failures from
- bfd_write_bigendian_4byte_int.
-
-2002-03-14 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
- error to bfd_error_nonrepresentable_section for reinit_array
- section in DSO.
-
-2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
-
- * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
- OR it in rather than replacing previously selected flags.
-
- * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
- (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
-
-2002-03-14 Alan Modra <amodra@bigpond.net.au>
-
- * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
- (N): Use the above.
- * elflink.h (elf_bfd_final_link): Revert last change. Instead,
- ensure reloc size matches before calling elf_link_input_bfd.
- Add an assert to check reloc size when counting output relocs.
-
-2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
-
- * mmo.c (mmo_get_loc): Return NULL rather than false.
-
-2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/fr.po: Updated version.
-
-2002-03-13 Alan Modra <amodra@bigpond.net.au>
-
- * archures.c (bfd_default_compatible): Test bits_per_word.
- * cpu-i386.c (i386_compatible): Remove. Replace occurrences with
- bfd_default_compatible.
- * cpu-i370.c (i370_compatible): Likewise.
- * cpu-sparc.c (sparc_compatible): Likewise.
- * cpu-h8300.c (compatible): Test in->arch == out->arch.
-
- * elflink.h: Formatting fixes.
- (elf_link_output_extsym): Merge undefined and undef weak cases.
-
- * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
- when word size of input matches output word size.
-
-2002-03-12 Andreas Jaeger <aj@suse.de>
-
- * cpu-i386.c (i386_compatible): New. Use it instead of
- bfd_default_compatible.
-
-2002-03-07 H.J. Lu (hjl@gnu.org)
-
- * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
- as the type for bfd_reloc_val.
-
-2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
- (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
- (elf_hppa_final_link_relocate): Correct relocations for indirect
- references to local data through the DLT. Fix .opd creation for
- local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
- relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
- R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
- "Processor-Specific ELF for PA_RISC, Version 1.43" document.
- Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
- * elf32-hppa.c (final_link_relocate): Revise relocation selectors
- as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
-
-2002-03-05 Jakub Jelinek <jakub@redhat.com>
-
- * merge.c (_bfd_merge_sections): Don't segfault if there
- is nothing to merge due to GC.
-
-2002-03-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
- symbols that have been forced local.
-
- * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
- to output forced local syms for non-shared link.
- (elf_link_output_extsym): Tweak condition for calling backend
- adjust_dynamic_symbol so that previous behaviour is kept.
- Whitespace changes throughout file.
-
-2002-03-04 H.J. Lu <hjl@gnu.org>
-
- * elf.c (bfd_section_from_shdr): Handle special sections,
- .init_array, .fini_array and .preinit_array.
- (elf_fake_sections): Likewise.
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
- DT entry only if the section is in output for .init_array,
- .fini_array and .preinit_array. Complain about .preinit_array
- section in DSO.
- (elf_bfd_final_link): Warn zero size for .init_array,
- .fini_array and .preinit_array sections.
-
- * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
- SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
- (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
- .preinit_array.
-
-2002-03-04 Alan Modra <amodra@bigpond.net.au>
-
- * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
- * configure: Regenerate.
-
-2002-03-02 Tom Rix <trix@redhat.com>
-
- * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
- symbolic equiv.
- * coff-rs6000.c (xcoff_howto_table): Same.
-
-2002-03-01 David Mosberger <davidm@hpl.hp.com>
-
- * elflink.h (size_dynamic_sections): If section named
- ".preinit_array" exists, create DT_PREINIT_ARRAY and
- DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
- ".init_array" and ".fini_array".
- (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
- DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
- DT_FINI_ARRAY.
-
-2002-02-26 Andrew Macleod <amacleod@cygnus.com>
-
- * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
- dynsyms.
-
-2002-02-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-hppa.h: Update copyright date.
-
- * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
- (ppc64_elf_relocate_section): Don't generate power4 style branch
- hints for *_BRTAKEN and *_BRNTAKEN relocs.
-
-2002-02-22 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
- last patch.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
-
-2002-02-21 Andreas Jaeger <aj@suse.de>
-
- * elf64-x86-64.c: Major rework that introduces all recent changes
- to the x86-64 backend. Get a closer match to elf32-i386.
- (struct elf64_x86_64_dyn_relocs): Rename from
- elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
- all users.
- (struct elf64_x86_64_link_hash_table): Add short cuts to some
- sections.
- (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
- remove casts, initialize new hash members.
- (create_got_section): New.
- (elf64_x86_64_create_dynamic_sections): New.
- (elf64_x86_64_copy_indirect_symbol): New.
- (elf64_x86_64_check_relocs): Don't allocate space for dynamic
- relocs, .got or .relgot here but do it in allocate_dynrelocs.
- Reference count possible .plt and .got entries. Don't test input
- section SEC_READONLY here to try to avoid copy relocs, and keep
- dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
- DF_TEXTREL here. Delay setting of variables until needed. Cache
- pointer to "sreloc" section in elf_section_data. Tweak condition
- under which .got created. Report files with bad relocation
- section names.
- (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
- Reference count possible .plt entries. Don't deallocate .got and
- .relgot space here.
- (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
- do copy reloc processing for weakdefs. Remove redundant casts and
- aborts. Delay setting of vars until needed. Move creation of
- dynamic symbols and allocation of .plt and .rela.plt to
- allocate_dynrelocs. Replace BFD_ASSERT with abort.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
- (allocate_dynrelocs): New.
- (readonly_dynrelocs): New.
- (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
- Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
- Zero out the dynamic allocated content space.
- (elf64_x86_64_discard_copies): Removed.
- (elf64_x86_64_relocate_section): Make use of dynamic section
- short-cuts. Localise vars, and delay setting. Better error
- reporting, replace BFD_ASSERT with abort. Check
- ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
- regular object file and tread the weak definition as the normal
- one. Don't discard relocs for undefweak or undefined symbols and
- check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
- relocs.
- (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
- symbols that have been forced local. Use same test to decide if
- we can use a relative reloc for got as relocate_section. Expand
- SHN_UNDEF comment. Move expressions out of function calls.
- Replace BFD_ASSERT with abort.
- (bfd_elf64_bfd_final_link): Removed.
- (elf_backend_copy_indirect_symbol): Define.
-
-2002-02-20 Tom Rix <trix@redhat.com>
-
- * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
- (_bfd_xcoff_reloc_type_lookup): Use it.
- * coff64-rs6000.c (xcoff64_howto_table): Same.
- (xcoff64_reloc_type_lookup): Same.
-
-2002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
-
- * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
- little endian.
-
-2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
- (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
- * bfd-in2.h: Regenerate.
- * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
- Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
- with "s390:64-bit".
- * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
- (elf_s390_reloc_type_lookup): Likewise.
- (elf_s390_check_relocs): Likewise.
- (elf_s390_gc_sweep_hook): Likewise.
- (elf_s390_relocate_section): Likewise.
- (elf_s390_object_p): Use renamed architecture define.
- * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
-
-2002-02-19 Frank Ch. Eigler <fche@redhat.com>
-
- * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
-
-2002-02-19 Jakub Jelinek <jakub@redhat.com>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
- absptr -> pcrel optimization for shared libs.
- Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
- library cannot be converted to pcrel.
- (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
- relative.
- * elf32-i386.c (elf_i386_relocate_section): If
- _bfd_elf_section_offset returned -2, skip, but make sure the
- relocation is installed.
- * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-i370.c (i370_elf_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sh.c (sh_elf_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Handle
- _bfd_elf_section_offset returning -2 the same way as -1.
- * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
- * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
- and BFD_ASSERT.
- * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
-
-2002-02-18 Tom Rix <trix@redhat.com>
-
- * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
- (bfd_xcoff_size_dynamic_sections): Same.
- * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
- (bfd_xcoff_size_dynamic_sections): Same.
- * coff-rs6000.c (xcoff_generate_rtinit): Same.
- * coff-rs646000.c (xcoff64_generate_rtinit): Same.
- * libxcoff.h (struct xcoff_backend_data_rec): Same.
- * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
- * bfd-in2.h: Regenerate.
-
-2002-02-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
- (struct ppc_link_hash_table): Add sfpr.
- (ppc64_elf_link_hash_table_create): Init it.
- (ppc64_elf_create_dynamic_sections): Split creation of .stub and
- .glink out to..
- (create_linkage_sections): ..here. Make .sfpr too.
- (ppc64_elf_check_relocs): Call create_linkage_sections, and set
- dynobj early.
- (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
- (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
- ._restf* functions, and create as needed.
- (func_desc_adjust): Only force_local for shared libs.
-
-2002-02-18 David O'Brien <obrien@FreeBSD.org>
-
- * configure.in: Bump version number post 2.12 branching.
- * configure: Regenerate.
-
-2002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmo.c: Correct and improve comments.
- (mmo_write_chunk): Store trailing byte in bfd buffer; don't
- zero-pad. Use input to fill up non-empty bfd buffer.
- (mmo_flush_chunk): New function.
- (mmo_write_loc_chunk): Add parameter last_vmap, all callers
- changed. Don't emit location specifier if VMA is same as
- *LAST_VMAP after omitting leading zero contents. Call
- mmo_flush_chunk before emitting location specifier.
- (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
- with mmo_write_loc_chunk calls.
- (mmo_internal_write_section): Call mmo_flush_chunk after
- mmo_write_chunk.
- (mmo_write_symbols_and_terminator): Move :Main to first position
- in symbol array. Add faked one if it does not exist if there are
- other symbols. Don't add it if there are no symbols at all. Move
- out test for value of :Main from symbol loop. Rename table
- fakemain to maintable and variable mainsym to fakemain.
-
-2002-02-15 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
- section with no got matches any got. Simplify error generaion.
-
-2002-02-15 Alan Modra <amodra@bigpond.net.au>
-
- Support arbitrary length fill patterns.
- * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
- (_bfd_default_link_order): Remove bfd_fill_link_order code.
- Call default_data_link_order.
- (default_fill_link_order): Delete.
- (default_data_link_order): New function.
- * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
- of bfd_fill_link_order with bfd_data_link_order.
- * elf64-alpha.c (elf64_alpha_final_link): Likewise.
- * elf64-mips.c (mips_elf64_final_link): Likewise.
-
- * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
- Correct value returned in "end" for "0x<non-hex>".
-
-2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
-
- * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
- (scan): Test against 'mach' field in info structure.
-
-2002-02-14 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
-
-2002-02-14 Matt Fredette <fredette@netbsd.org>
-
- * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
- EF_M68000.
-
-2002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
- non-zero physical addresses when adjusting the LMAs of new
- sections.
-
-2002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
- from _bfd_elf_hppa_gen_reloc_type.
- (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
- * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
- * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
- * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
-
-2002-02-12 Alexandre Oliva <aoliva@redhat.com>
-
- * elf-m10300.c (mn10300_elf_relax_section): Skip section before
- loading its contents if there's nothing to do in it.
-
-2002-02-12 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
- 64k boundary.
-
- * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
- DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
- (ppc64_elf_finish_dynamic_sections): Set values for them.
-
-2002-02-11 Michael Snyder <msnyder@redhat.com>
-
- * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
- * elf.c (elfcore_grok_pstatus): Add prototype.
- (elfcore_grok_lwpstatus): Add prototype.
- (elfcore_write_lwpstatus): New function.
- (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
-
-2002-02-11 Alexandre Oliva <aoliva@redhat.com>
-
- * elf32-sh.c: Added missing prototypes.
- * elf32-sh64.c: Likewise.
- (sh_elf_align_loads): Mark unused args as such.
- * elf64-sh64.c: Added missing prototypes.
- (struct elf_sh64_link_hash_entry): Fix typo.
- (sh_elf64_relocate_section): Fix info argument passed to
- _bfd_elf_section_offset.
-
-2002-02-11 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: "make dep-am".
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * config.in: Regenerate.
- * configure: Regenerate.
-
-2002-02-10 Daniel Jacobowitz <drow@mvista.com>
-
- * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
- variable warnings.
- * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
- comparison warning.
- * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
- cast warnings for the common case.
-
-2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
-
- * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
- vectors.
- (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
- vectors.
-
-2002-02-09 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
- (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
- (elf64_alpha_relocate_section): Likewise.
- * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
- * bfd-in2.h, libbfd.h: Rebuild.
-
-2002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
-
- * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
- that base-plus-offset reloc accounting is consistent.
- (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
- up to date for undefined symbols.
-
-2002-02-08 Eric Christopher <echristo@redhat.com>
-
- From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
- sections for the O32 ABI.
-
-2002-02-08 Chris Demetriou <cgd@broadcom.com>
-
- * elf32-arm.h: Fix formatting of _("...").
- * elf32-d10v.c: Likewise.
- * elf32-m68k.c: Likewise.
- * elf32-mips.c: Likewise.
-
-2002-02-08 Ivan Guzvinec <ivang@opencores.org>
-
- * coff-or32.c: Fix compile time warning messages.
-
-2002-02-08 Alexandre Oliva <aoliva@redhat.com>
-
- Contribute sh64-elf.
- 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
- * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
- R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
- R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
- R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
- R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
- R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
- R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
- R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
- R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
- New relocs.
- * libbfd.h, bfd-in2.h: Rebuilt.
- * elf32-sh.c (sh_elf_howto_table): Define new relocs.
- (sh_reloc_map): Map them.
- (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
- elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
- elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
- elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
- elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
- elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
- movi_shori_putval) [INCLUDE_SHMEDIA]: New.
- (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
- datalabel_got_offset.
- (sh_elf_link_hash_newfunc): Initialize it.
- (sh_elf_relocate_section): Augment the scope of
- seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
- GOT and GOTOFF handling to new SHmedia relocation types. Support
- GOT_BIAS.
- (sh_elf_check_relocs): Likewise.
- (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
- PLT entries using movi_shori_putval. Support GOT_BIAS.
- (sh_elf_finish_dynamic_sections): Likewise.
- * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
- relocation, it's now done by the caller.
- (GOT_BIAS): New.
- * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
- elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
- elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
- elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
- elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
- elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
- sh64_elf64_hash_table): New.
- (sh_elf64_howto_table): Introduce new relocs.
- (sh_elf64_info_to_howto): Accept new PIC relocs.
- (sh_elf64_relocate_section): Augment the scope of
- seen_stt_datalabel. Support new PIC relocs.
- (sh_elf64_check_relocs): Support new PIC relocs.
- (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
- elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
- elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
- elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
- sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
- movi_shori_putval, movi_3shori_putval,
- sh64_elf64_create_dynamic_sections,
- sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
- sh64_elf64_size_dynamic_sections,
- sh64_elf64_finish_dynamic_symbol,
- sh64_elf64_finish_dynamic_sections): New.
- (elf_backend_create_dynamic-sections,
- bfd_elf64_bfd_link_hash_table_create,
- elf_backend_adjust_dynamic_symbol,
- elf_backend_size_dynamic_sections,
- elf_backend_finish_dynamic_symbol,
- elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
- elf_backend_plt_readonly, elf_backend_want_plt_sym,
- elf_backend_got_header_size, elf_backend_plt_header_size):
- Define.
- 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
- * elf32-sh.c: Renumbered and renamed some SH5 relocations to
- match official numbers and names; moved unmaching ones to the
- range 0xf2-0xff.
- * elf32-sh64.c, elf64-sh64.c: Likewise.
- 2001-03-12 DJ Delorie <dj@redhat.com>
- * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
- sections.
- 2001-03-12 DJ Delorie <dj@redhat.com>
- * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
- be aligned.
- * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
- 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
- (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
- .cranges section with SEC_SORT_ENTRIES set.
- (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
- incoming sorted .cranges section.
- (sh64_bfd_elf_copy_private_section_data): New.
- (sh64_elf_final_write_processing): Only sort .cranges and modify
- start address if called by linker.
- 2001-01-08 Ben Elliston <bje@redhat.com>
- * elf32-sh64.c (sh64_elf_final_write_processing): Activate
- Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
- * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
- 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
- line. Add comments before all entries.
- <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
- comment.
- (sh_elf64_reloc): Correct head comment.
- (sh_elf64_relocate_section): Correct spacing.
- <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
- instead call reloc_dangerous callback.
- <case R_SH_SHMEDIA_CODE>: New case.
- (sh_elf64_gc_mark_hook): Correct spacing.
- (sh_elf64_check_relocs): Ditto.
- * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
- New case.
- * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
- functions.
- (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
- clarify describing comment. Add comments before all entries.
- (sh_elf_relocate_section) <relocating for a local symbol>: Do not
- honour STO_SH5_ISA32; instead call reloc_dangerous callback.
- 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
- Sort .cranges section in final link. Prepare to set bit 0 on
- entry address.
- * elf32-sh64.c (struct sh64_find_section_vma_data): New.
- (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
- (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
- .cranges section.
- (sh64_backend_section_from_shdr): New, to recognize
- SHT_SH5_CR_SORTED on incoming .cranges section.
- (elf_backend_section_from_shdr): Define.
- (sh64_elf_final_write_processing): Sort outgoing .cranges
- section. (New, temporarily disabled:) Set bit 0 on entry address
- according to ISA type.
- (sh64_find_section_for_address): New.
- (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
- crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
- (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
- bfd_malloc, not xmalloc.
- (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
- global.
- * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
- temporarily disabled) setting bit 0 on entry address.
- (elf_backend_final_write_processing): Define.
- 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
- be a proper relocation for PTA and PTB rather than a marker.
- <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
- R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
- R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
- R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
- R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
- Zero src_mask.
- * elf64-sh64.c: Ditto.
- (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
- * elf32-sh64.c: Include opcodes/sh64-opc.h
- (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
- argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
- parameters. No unused parameters. Caller changed.
- <case R_SH_PT_16>: New case.
- * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
- * Makefile.in: Regenerate.
- 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
- all code sections.
- (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
- (sh64_elf_merge_private_data): Ditto.
- * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
- to access stored section flags.
- (sh64_elf_final_write_processing): Return immediately unless
- called by linker. Use sh64_elf_section_data (cranges) to get size
- of linker-generated cranges entries.
- (sh64_elf_copy_private_data): Add missing "return true".
- (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
- (sh_elf64_merge_private_data): Ditto.
- 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
- elf64-sh64.c:sh64_elf_fake_sections.
- (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
- 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
- (sh64_elf_final_write_processing): New.
- (elf_backend_final_write_processing): Define.
- (sh64_elf_fake_sections): Get header flags from tdata field.
- (sh64_elf_copy_private_data): Do not call
- sh64_elf_copy_private_data_internal, just copy e_flags field.
- (sh64_elf_merge_private_data): Do not call
- sh64_elf_copy_private_data_internal.
- 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
- Remove EF_SH64_ABI64, let ELF size make difference.
- Remove SH64-specific BFD section flag.
- * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
- containing SHmedia through elf_section_data (asect)->tdata
- non-zero, not using a BFD section flag.
- (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
- (sh64_elf_merge_private_data): Similar.
- (elf_backend_section_flags): Don't define.
- (sh64_elf_backend_section_flags): Delete.
- * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
- not EF_SH64_ABI64.
- (sh_elf64_merge_private_data): Similar.
- * section.c (Section flags definitions): Don't define
- SEC_SH_ISA_SHMEDIA.
- (bfd-in2.h): Regenerate.
- 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
- Make DataLabel references work with partial linking.
- * elf32-sh64.c: Fix formatting.
- (sh64_elf_link_output_symbol_hook): New.
- (elf_backend_link_output_symbol_hook): Define to
- sh64_elf_link_output_symbol_hook.
- (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
- undefined if partial linking. Adjust sanity check.
- * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
- (elf_backend_link_output_symbol_hook): Define to
- sh64_elf64_link_output_symbol_hook.
- (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
- undefined if partial linking. Adjust sanity check.
- 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
- Implement semantics for inter-file DataLabel references.
- * elf64-sh64.c (DATALABEL_SUFFIX): Define.
- (sh64_elf64_add_symbol_hook): New.
- (sh_elf64_relocate_section): If passing an indirect symbol with
- st_type STT_DATALABEL on the way to a symbol with st_other
- STO_SH5_ISA32, do not bitor 1 to the relocation.
- (elf_backend_add_symbol_hook): Define to
- sh64_elf64_add_symbol_hook.
- * elf64-sh32.c: Tweak comments.
- (DATALABEL_SUFFIX): Define.
- (sh64_elf_add_symbol_hook): New.
- (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
- * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
- symbol with st_type STT_DATALABEL on the way to a symbol with
- st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
- 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
- Pass through STT_DATALABEL.
- * elf32-sh64.c (sh64_elf_get_symbol_type): New.
- (elf_backend_get_symbol_type): Define.
- * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
- (elf_backend_get_symbol_type): Define.
- 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh64.c: Tweak comments.
- (sh64_elf_copy_private_data_internal): Add prototype.
- (bfd_elf32_bfd_set_private_flags): Define.
- (sh64_elf_copy_private_data_internal): Compare machine name, not
- textual BFD target name, to check whether to copy section flag
- SHF_SH5_ISA32.
- (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
- Tweak section-contents-type-mismatch message.
- (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
- Validize reloc-types.
- * elf64-sh64.c: New file.
- * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
- * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
- (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
- Regenerate dependencies.
- * Makefile.in: Regenerate.
- * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
- bfd_elf64_sh64l_vec.
- * configure.in: Handle bfd_elf64_sh64_vec and
- bfd_elf64_sh64l_vec.
- * configure: Regenerate.
- * po/POTFILES.in: Regenerate.
- * po/bfd.pot: Regenerate.
- 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
- anything else but EF_SH64 and EF_SH64_ABI64.
- (sh64_elf_merge_private_data): Emit error for anything else but
- EF_SH64 and EF_SH64_ABI64.
- * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
- from targ_selvecs.
- * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
- bfd_elf32_sh64l_vec as a temporary measure.
- * configure: Regenerate.
- 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
- * cpu-sh.c (arch_info_struct): Include sh5 item
- unconditionalized.
- * config.bfd (sh64-*-elf*): Do not set targ_cflags.
- Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
- bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
- * elf32-sh64.c: Tweak comments.
- (sh64_elf_set_mach_from_flags): Recognize all machine flags that
- are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
- (sh64_elf_copy_private_data_internal): Wrap long line.
- (sh64_elf_merge_private_data): Rewrite to allow objects from
- SH64 subsets to be linked together.
- (INCLUDE_SHMEDIA): Define.
- * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
- Parenthesize plus-expression inside or-expression.
- <global symbol>: Ditto.
- (sh_elf_set_mach_from_flags): Remove code refusing
- deleted EF_SH64_32BIT_ABI flag.
- 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
- R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
- R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
- (sh_elf_relocate_section) <local symbol>: Or 1 in
- calculation of relocation if sym->st_other & STO_SH5_ISA32.
- <global symbol>: Ditto if h->other & STO_SH5_ISA32.
- * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
- relocation.
- 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
- * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
- Regenerate dependencies.
- * Makefile.in: Regenerate.
- * archures.c: Add bfd_mach_sh5.
- * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
- Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
- * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
- * configure: Regenerate.
- * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
- BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
- BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
- BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
- BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
- BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
- BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
- BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
- BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
- * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
- in item for SH5.
- * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
- for SHmedia relocs.
- [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
- [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
- shmedia_prepare_reloc, goto final_link_relocate if it returns
- non-zero, else fail as before.
- (sh_elf_set_mach_from_flags): Provide function only if not defined
- as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
- (sh_elf_set_private_flags): Provide function only if not defined
- as a macro.
- (sh_elf_copy_private_data): Similar.
- (sh_elf_merge_private_data): Similar.
- * section.c (SEC_SH_ISA_SHMEDIA): New.
- * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
- * elf32-sh64.c: New file.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * po/POTFILES.in: Regenerate.
- * po/bfd.pot: Regenerate.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
-
-2002-02-07 Daniel Jacobowitz <drow@mvista.com>
-
- * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
- been included, not drag it in.
- * bfd-in2.h: Regenerate.
-
-2002-02-06 H.J. Lu (hjl@gnu.org)
-
- * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
- the mach and ISA fields if necessary.
-
-2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
-
- * coffcode.h (coff_set_arch_mach_hook): Select the highest known
- ARM architecture when an F_ARM_5 flag is detected, since we cannot
- be sure exactly which architecture this represents.
-
-2002-02-05 Nick Clifton <nickc@redhat.com>
-
- * po/tr.po: Updated translation.
-
-2002-02-05 Alan Modra <amodra@bigpond.net.au>
-
- From Jimi X <jimix@watson.ibm.com>
- * archures (bfd_mach_ppc64): Define.
- (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
- (bfd_powerpc_arch): Define.
- * bfd-in2.h: Regenerate.
- * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
- (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
- (bfd_powerpc_archs): Add default powerpc64 arch.
-
-2002-02-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
- against section syms in readonly sections. Don't do the global
- sym check if we find one.
- * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
- * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
- * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
- * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
- (elf_s390_grok_prstatus): Add missing prototype.
-
-2002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
-
- * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
- (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
- Call bfd_get_section_by_name only once. Initialize
- bpodata->n_bpo_relocs_this_section.
- (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
- referring to DSOs.
- (bpo_reloc_request_sort_fn): Don't use difference of values as
- return-value.
-
-2002-02-02 David O'Brien <obrien@FreeBSD>
-
- * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
- version 4.5 and later the same as 5-CURRENT.
- * configure: Re-generate.
-
-2002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (hppa*-*-netbsd*): New target.
-
-2002-01-31 Philipp Thomas <pthomas@suse.de>
-
- * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
- to front of message. Unify messages with elf32-arm.h. Use
- commas where neccessary.
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
- ERROR in messages. Unify messages with coff-arm.c. Correct
- VFP/FPA error message.
- (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
- APCS-32 for translation.
-
-2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
-
- Perform on-demand global register allocation from
- R_MMIX_BASE_PLUS_OFFSET relocs.
- * elf64-mmix.c (struct bpo_reloc_section_info, struct
- bpo_reloc_request, struct bpo_greg_section_info): New.
- (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
- bpo_reloc_request_sort_fn, mmix_elf_relax_section,
- _bfd_mmix_check_all_relocs,
- _bfd_mmix_prepare_linker_allocated_gregs,
- _bfd_mmix_finalize_linker_allocated_gregs): New functions.
- (elf_mmix_howto_table): Correct src_mask for most relocs.
- (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
- case.
- (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
- case. Fix typo in comment. New label do_mmix_reloc.
- (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
- store first object file with a base-plus-offset reloc. Call
- mmix_elf_check_common_relocs for the part common with mmo.
- (mmix_elf_final_link): Write out linker-allocated register
- contents section.
+ * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
+ * elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
+ (elf32_h8_gc_sweep_hook): New function.
+ (elf_backend_gc_mark_hook): Define.
(elf_backend_gc_sweep_hook): Define.
- (bfd_elf64_bfd_relax_section): Define.
-
- * mmo.c: Don't include <ctype.h>
- (mmo_init): Correct init-once logic.
-
-2002-02-01 Tom Rix <trix@redhat.com>
-
- * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
-
-2002-02-01 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am"
- * Makefile.in: Regenerate.
-
-2002-01-31 David O'Brien <obrien@FreeBSD>
-
- * configure.in: Recognize the differences in core files from FreeBSD
- 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
- 5-CURRENT.
- * configure: Regenerate.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * coff-or32.c: New file.
- * cpu-or32.c: New file.
- * elf32-or32.c: New file.
- * archures.c: Add support for or32.
- * targets.c: Add support for or32.
- * bfd-in2.h: Regenerate.
- * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
- coff_write_object_contents): Add support for or32.
- * config.bfd: Add target.
- * configure.in: Add support for or32.
- * configure: Regenerate.
- * Makefile.am: Add support for or32.
- * Makefile.in: Regenerate.
- * po/SRC-POTFILES.in: Add or32 files.
- * po/bfd.pot: Regenerate.
-
-2002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
- Don Lindsay <lindsayd@cisco.com>
-
- * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
- false' with a return of a bfd_reloc_ error code.
-
-2002-01-31 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
- unexport unreferenced symbols when --export-dynamic. Call
- _bfd_elf_strtab_delref when unexporting.
-
-2002-01-30 Daniel Jacobowitz <drow@mvista.com>
-
- * bfd-in.h: Include <stdbool.h> if it is available.
- * bfd-in2.h: Regenerated.
-
-2002-01-31 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
- not go via the plt.
-
-2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
-
- * archures.c: Tidy up formatting of embedded comments.
- * bfd.c: Tidy up formatting of embedded comments.
- * bfd-in.h: Fix formatting of comments.
- * reloc.c: Tidy up formatting of ordinary & embedded comments.
- * section.c: Tidy up formatting of embedded comments.
- * syms.c: Tidy up formatting of embedded comments.
- * targets.c: Tidy up formatting of embedded comments.
-
- * bfd-in2.h: Regenerate.
-
-2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
-
- * vms-tir.c (cmd_name): New function.
- (tir_cmd_name): New function.
- (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
- (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
- Fix formatting.
-
- * peXXigen.c (pe_print_idata): Rearrange message to aid in
- translation.
- (pe_print_pdata): Rearrange message to aid in translation.
-
- * libbfd.c (warn_deprecated): Rearrange error message to aid in
- translation.
-
- * ihex.c (ihex_write_object_contents): Fix spelling typo.
-
- * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
-
- * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
- message to aid in translation.
-
- * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
- to aid in translation.
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
-
-2002-01-30 Philipp Thomas <pthomas@suse.de>
-
- * coff-arm.c, elf32-elf.h: Unify messages.
-
-2002-01-30 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated translation.
-
-2002-01-30 Philipp Thomas <pthomas@suse.de>
-
- * dwarf2.c (read_abbrev): Use full section name in error message.
- (decode_line_info): Likewise.
-
- * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
- message.
-
-2002-01-30 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (func_desc_adjust): Only provide missing function
- descriptor symbols for undefined function code syms. Clear
- ELF_LINK_NON_ELF so that they can stay weak.
-
-2002-01-29 Chris Demetriou <cgd@broadcom.com>
- Mitch Lichtenberg <mpl@broadcom.com>
-
- * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
- * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
- to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
- generation.
- * bfd-in2.h: Regenerate.
-
-2002-01-29 Chris Demetriou <cgd@broadcom.com>
-
- * elf32-mips.c: Add additional comments about HI16 relocation
- processing.
- (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
- pc-relative relocations. (Reverts change made on 2001-10-31.)
- (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
- for pc-relative relocations.
- (mips_elf_calculate_relocation): Add a comment about a kludge
- in the R_MIPS_GNU_REL_HI16 handling.
- (_bfd_mips_elf_relocate_section): Implement that kludge;
- adjust pc-relative HI16 relocation for difference in HI16 and
- LO16 addresses, since it can't easily be done in
- mips_elf_calculate_relocation.
-
-2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
- relocations with PC32 relocations for undefined or weak symbols.
- * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
- * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
-
-2002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
-
- * elfcore.h (elf_core_file_p): Improve comment for last change.
-
-2002-01-27 Daniel Jacobowitz <drow@mvista.com>
-
- * configure: Regenerated.
-
-2002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
-
- * elfcore.h (elf_core_file_p): Set the machine architecture
- before processing the program headers.
-
-2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
-
- * configure.in <64-bit configuration>: If using gcc, check and
- emit error for egcs-1.1.2.
- * configure: Regenerate.
-
-2002-01-26 Egor Duda <deo@logos-m.ru>
-
- * elf.c (elfcore_grok_win32pstatus): Copy only as much information
- as possible to avoid stack corruption.
-
-2002-01-26 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
- for non-allocated sections.
-
-2002-01-25 Mark Kettenis <kettenis@gnu.org>
-
- * elf.c (elfcore_write_prstatus): Make sure we pass the address of
- prstat.pr_reg even if it is a struct.
-
-2002-01-25 Steve Ellcey <sje@cup.hp.com>
-
- * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
-
-2002-01-25 Philipp Thomas <pthomas@suse.de>
-
- * coffgen.c (coff_print_symbol): Don't mark info message
- for translation.
-
-2002-01-25 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated translation.
- * po/es.po: Updated translation.
-
-2002-01-25 Philipp Thomas <pthomas@suse.de>
-
- * coff-alpha.c (alpha_relocate_section): Unify warning message
- for GP relative relocations without GP defined.
- * coff-mips.c (mips_relocate_section): Likewise.
-
-2002-01-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
- unsigned overflow when new_offset < old_offset.
-
-2002-01-24 Philipp Thomas <pthomas@suse.de>
-
- * bfd.c (_bfd_abort): Fix typo.
-
-2002-01-23 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
- plt entries for undefweak symbols.
-
-2002-01-23 Steve Ellcey <sje@cup.hp.com>
-
- * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
- (bfd_elf64_ia64_hpux_big_vec): Ditto.
- (bfd_elf32_h8300_vec): Ditto.
-
-2002-01-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Remove stale part of ABI comment.
- (NO_OPD_RELOCS): Define.
- (ppc64_elf_check_relocs): Use it.
- (ppc64_elf_relocate_section): Here too.
- (build_one_stub): Don't point function syms at the stub. Instead,
- hijack plt.offset.
- (ppc64_elf_relocate_section): Check whether REL24 relocs should
- really go to the stub. Make all dynamic relocs in opd against
- locals.
- (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
- plt.offset.
-
-2002-01-22 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
-
-2002-01-22 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
- TOC_BASE_OFF adjustment.
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
- host defines.
-
-2002-01-21 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
- Check for and emit error if sgot is NULL at this point.
-
-2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (ia64*-*-netbsd*): New target.
-
-2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
-
- * som.c (som_write_space_strings): Comment typo fix.
-
-2002-01-21 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
- is_func_descriptor fields.
- (link_hash_newfunc): Init them.
- (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
- dot are candidates for plt entries. When processing .opd relocs,
- set function descriptor strings to point inside function code
- string, and set new ppc_link_hash_entry fields.
- (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
- (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
- function descriptors. It's now done in..
- (func_desc_adjust): New.
- (ppc64_elf_func_desc_adjust): New.
- (define elf_backend_always_size_sections): Define.
- (ppc64_elf_hide_symbol): New.
- (define elf_backend_hide_symbol): Define.
- (allocate_dynrelocs): Remove code looking up function descriptors
- as that has been done earlier.
- (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
- table.
- (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
- up function descriptor.
- (build_one_stub): Look up the function code sym. Check for
- invalid plt offsets.
- (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
- Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
-
- * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
- boolean param.
- (_bfd_elf_link_hash_hide_symbol): Likewise.
- * elflink.h (elf_link_add_object_symbols): Adjust call to
- elf_backend_hide_symbol.
- (elf_fix_symbol_flags): Likewise.
- (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
- than bfd_alloc.
- * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
- Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
- * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
- (clobber_millicode_symbols): Adjust to suit new hide_symbol.
- * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
- and adjust to suit.
- * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
- _bfd_elf_link_hash_hide_symbol rather than duplicating code.
- * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
-
-2002-01-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
- dynamic function descriptor symbol, not the associated function
- symbol.
-
-2002-01-17 Eric Christopher <echristo@redhat.com>
-
- * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
-
-2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/bfd.pot: Regenerate.
- * po/fr.po: Regenerate.
-
-2002-01-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
- Remove "Elf_Internal_Shdr *" param.
- (_bfd_mips_elf_section_from_bfd_section): Ditto.
- * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
- * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
- * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
- * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
- * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
- * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
- function to override special sections. Remove hdr arg from
- backend call, and don't loop.
-
-2002-01-16 Eric Christopher <echristo@redhat.com>
-
- * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
- on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
- relocations requiring gp0 and gp.
-
-2002-01-16 Richard Earnshaw <rearnsha@arm.com>
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
- EF_ARM_VFP_FLOAT.
- (elf32_arm_print_private_bfd_data): Likewise.
-
-2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/tr.po: Import new version.
-
-2002-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
- (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
- (ORI_R0_R0_0): Correct.
-
-2002-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
- when plt_not_loaded.
- * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
- clear .plt SEC_CODE here. Create .stub and correct .glink flags.
- (PLT_INITIAL_ENTRY_SIZE): Set to 24.
- (ppc64_elf_glink_code): Delete.
- (PPC64_ELF_GLINK_SIZE): Delete.
- (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
- BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
- ORI_R0_R0_0): Define.
- (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
- (struct ppc_link_hash_table): Add sstub and plt_overflow.
- (ppc64_elf_link_hash_table_create): Init them.
- (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
- Don't copy to shared lib.
- (ppc64_elf_check_relocs): Call bfd_set_error on errors.
- (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
- (allocate_dynrelocs <plt>): Don't change function sym here. Make
- room for .stub and .glink code.
- (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
- DT_PPC64_GLINK.
- (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
- bfd_elf64_bfd_final_link.
- (bfd_elf64_bfd_final_link): Don't define.
- (ppc64_elf_size_stubs): New.
- (build_plt_stub): New.
- (build_one_stub): New.
- (ppc64_elf_build_stubs): New.
- (ppc64_elf_relocate_section <toc relocs>): Remove assert.
- (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
- (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
- DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
- case output sections not separate. Adjust DT_RELASZ to not
- include plt relocs. Set reserved got entry. Set got and plt
- entry size.
- (elf_backend_got_header_size): Set to 8.
- * elf64-ppc.h: New file.
-
-2002-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
- sections, use bfd_section_list_remove.
- * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
- * elflink.h (elf_link_add_object_symbols): When removing all
- sections, use bfd_section_list_clear.
-
-2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/sv.po: New file: Swedish translation.
- * configure.in (ALL_LINGUAS): Add sv.
- * configure: Regenerate.
-
-2002-01-15 Jakub Jelinek <jakub@redhat.com>
-
- * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
- * elf.c (merge_sections_remove_hook): New function.
- (_bfd_elf_merge_sections): Pass it as 3rd argument to
- _bfd_merge_sections.
- * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
- * libbfd.h: Rebuilt.
- * merge.c (_bfd_merge_sections): Add remove_hook argument.
- Call remove_hook if a SEC_EXCLUDE section is encountered.
-
-2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
- (xstormy16_reloc_map): Initialise new field with correct howto
- table.
- (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
- howto entry.
-
-2002-01-10 Michael Snyder <msnyder@redhat.com>
-
- * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
- (elfcore_write_pstatus): Use long instead of pid_t;
- * elf-bfd.h: Change prototypes to use long instead of pid_t;
-
-2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
-
- * elf.c: Update copyright years.
- (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
- and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
-
-2002-01-08 Michael Snyder <msnyder@redhat.com>
-
- Add capability to write corefile note sections, for gdb.
- * elf.c (elfcore_write_note): New function.
- (elfcore_write_prpsinfo): New function.
- (elfcore_write_prstatus): New function.
- (elfcore_write_pstatus): New function.
- (elfcore_write_prfpreg): New function.
- (elfcore_write_prxfpreg): New function.
- * elf-bfd.h: Add prototypes for above functions.
-
-2002-01-08 Alexandre Oliva <aoliva@redhat.com>
-
- * elf.c (elf_fake_sections): Propagate errors from
- elf_backend_fake_section.
-
-2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
- (elf32-sh-nbsd.lo): New rule.
- * Makefile.in: Regenerate.
- * config.bfd (sh*le-*-netbsdelf*): New target.
- (sh*-*-netbsdelf*): New target.
- * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
- (bfd_elf32_shnbsd_vec): New vector.
- (bfd_elf32_shlnbsd_vec): New vector.
- * configure: Regenerate.
- * elf32-sh-nbsd.c: New file.
- * targets.c: Update copyright years.
- (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
- bfd_elf32_shnbsd_vec.
-
-2002-01-07 Aldy Hernandez <aldyh@redhat.com>
-
- * coff-rs6000.c (READ20): Use bfd_scan_vma.
-
-2002-01-07 Geoffrey Keating <geoffk@redhat.com>
-
- * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
- of a symbol in a section that will be deleted.
-
-2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/es.po: New file: Spanish translation.
- * configure.in (ALL_LINGUAS): Add es.
- * configure: Regenerate.
-
-2002-01-06 Steve Ellcey <sje@cup.hp.com>
-
- * elfxx-ia64.c (is_unwind_section_name): Add target vector as
- argument so we can handle HP-UX specially.
- (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
- (elfNN_hpux_backend_section_from_bfd_section): New for support
- of SHN_IA_64_ANSI_COMMON.
- (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
- (is_unwind_section_name): Add special HP-UX support.
- (elfNN_ia64_section_from_shdr): Add support for more sections.
- (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
- add support for more sections.
- (elfNN_ia64_additional_program_headers): Modify
- is_unwind_section_name call.
- (elfNN_ia64_modify_segment_map): Remove assumption that there is
- only one unwind section in segment.
-
-2002-01-06 Alan Modra <amodra@bigpond.net.au>
-
- * syms.c (_bfd_generic_make_empty_symbol): New function.
- * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
- _bfd_generic_make_empty_symbol.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
- (hppabsd_core_get_symtab_upper_bound): Don't define.
- (hppabsd_core_get_symtab): Likewise.
- (hppabsd_core_print_symbol): Likewise.
- (hppabsd_core_get_symbol_info): Likewise.
- (hppabsd_core_bfd_is_local_label_name): Likewise.
- (hppabsd_core_get_lineno): Likewise.
- (hppabsd_core_find_nearest_line): Likewise.
- (hppabsd_core_bfd_make_debug_symbol): Likewise.
- (hppabsd_core_read_minisymbols): Likewise.
- (hppabsd_core_minisymbol_to_symbol): Likewise.
- (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
- Formatting fixes.
- * hpux-core.c: Similarly.
- * irix-core.c: Similarly.
- * osf-core.c: Similarly.
- * sco5-core.c: Similarly.
- * binary.c (binary_make_empty_symbol): Remove function, define as
- _bfd_generic_make_empty_symbol.
- * ihex.c (ihex_make_empty_symbol): Likewise.
- * mmo.c (mmo_make_empty_symbol): Likewise.
- * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
- * srec.c (srec_make_empty_symbol): Likewise.
- * versados.c (versados_make_empty_symbol): Likewise.
- * vms.c (_bfd_vms_make_empty_symbol): Remove.
- (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
- * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
- rather than _bfd_vms_make_empty_symbol.
- * vms-misc.c (new_symbol): Likewise.
-
-2002-01-05 Alan Modra <amodra@bigpond.net.au>
-
- * section.c (bfd_section_init): Remove unnecessary initialisations.
- (bfd_section_list_clear): New function.
- (bfd_section_list_remove, bfd_section_list_insert): New macros.
- (_bfd_strip_section_from_output): Use them.
- * coffcode.h (coff_set_alignment_hook): Likewise.
- * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
- * elf64-mips.c (mips_elf64_final_link): Likewise.
- * elf64-mmix.c (mmix_elf_final_link): Likewise.
- * sunos.c (sunos_add_dynamic_symbols): Likewise.
- * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
- * bfd-in2.h: Regenerate.
-
- * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
- rather than doing our own section handling. Clean up after errors
- with bfd_release and bfd_section_list_clear. Handle unexpected
- flags.
- * aoutf1.h (sunos4_core_file_p): Likewise.
- * aix386-core.c (aix386_core_file_p): Likewise.
- * cisco-core.c (cisco_core_file_validate): Likewise.
- * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
- * trad-core.c (trad_unix_core_file_p): Likewise.
-
- * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
- with bfd_release and bfd_section_list_clear.
- * hpux-core.c (hpux_core_core_file_p): Likewise.
- * irix-core.c (irix_core_core_file_p): Likewise.
- * lynx-core.c (lynx_core_file_p): Likewise.
- * osf-core.c (osf_core_core_file_p): Likewise.
- * rs6000-core.c (rs6000coff_core_p): Likewise.
- * sco5-core.c (sco5_core_file_p): Likewise.
-
- * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
- sign extension adjustments without conditionals.
-
-2002-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
- CIE at .eh_frame start is removed due to no FDEs referencing it.
-
-2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (x86_64-*-netbsd*): New target.
- * configure.in (x86_64-*-netbsd*): Set COREFILE
- to netbsd-core.lo.
- * configure: Regenerated.
-
-2002-01-03 Tom Rix <trix@redhat.com>
-
- * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
- for recent bfd_make_section_anyway change.
-
-2002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate): Handle
- R_ARM_THM_PC11 reloc.
-
-2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
-
- * configure.in (LINGUAS): Add ja.
- * configure: Regenerate.
- * po/ja.po: Import from translation project's web site.
-
-2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
- messages to ease translation into other languages.
+ (elf_backend_can_gc_sections): Define.
-For older changes see ChangeLog-0001
+For older changes see ChangeLog-0203
Local Variables:
mode: change-log
diff --git a/bfd/ChangeLog-0203 b/bfd/ChangeLog-0203
new file mode 100644
index 00000000000..f99029a87ae
--- /dev/null
+++ b/bfd/ChangeLog-0203
@@ -0,0 +1,11405 @@
+2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ Adfd m32r-linux and PIC support. Add new ABI that uses RELA.
+ * config.bfd (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*): Added.
+ * configure.in (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
+ bfd_elf32_m32rle_vec): Added
+ * configure: Regenerated.
+ * elf32-m32r.c (m32r_info_to_howto, m32r_elf_adjust_dynamic_symbol,
+ m32r_elf_size_dynamic_sections, m32r_elf_create_dynamic_sections,
+ m32r_elf_finish_dynamic_sections, m32r_elf_finish_dynamic_symbol,
+ allocate_dynrelocs, readonly_dynrelocs, m32r_elf_reloc_type_class,
+ m32r_elf_fake_sections): Added.
+ (m32r_elf_howto_table): Added
+ R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
+ R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
+ R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
+ R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
+ R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
+ R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
+ R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
+ R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
+ R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
+ R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
+ R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
+ R_M32R_GOTPC_LO.
+ (m32r_elf_relocate_section, m32r_elf_check_relocs): Changed for
+ New ABI.
+ * reloc.c: Add BFD_RELOC_M32R_GOT24, BFD_RELOC_M32R_26_PLTREL,
+ BFD_RELOC_M32R_COPY, BFD_RELOC_M32R_GLOB_DAT,
+ BFD_RELOC_M32R_JMP_SLOT, BFD_RELOC_M32R_RELATIVE,
+ BFD_RELOC_M32R_GOTOFF, BFD_RELOC_M32R_GOTPC24,
+ BFD_RELOC_M32R_GOT16_HI_ULO, BFD_RELOC_M32R_GOT16_HI_SLO,
+ BFD_RELOC_M32R_GOT16_LO, BFD_RELOC_M32R_GOTPC_HI_ULO,
+ BFD_RELOC_M32R_GOTPC_HI_SLO, BFD_RELOC_M32R_GOTPC_LO.
+ * targets.c (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
+ bfd_elf32_m32rle_vec): Added.
+ * bfd-in2.h: Regenerated.
+ * libbfd.h: Regenerated.
+
+2003-12-19 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * coffcode.h (styp_to_sec_flags): Don't treat .reloc section
+ as SEC_DEBUGGING.
+
+2003-12-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of
+ mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use
+ _bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16,
+ _bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16,
+ and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16. Change rightshift
+ to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16.
+ (mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
+ (mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
+ (_bfd_mips_elf32_gprel16_reloc): Remove special case.
+ (mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise.
+
+ * elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of
+ mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use
+ _bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc
+ for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.
+ Change R_MIPS_HI16's rightshift to 16.
+ (mips_elf64_howto_table_rela): Replace all uses of
+ mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.
+ Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well.
+ (mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete.
+ (mips_elf64_shift6_reloc): Remove special case. Use
+ _bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue.
+
+ * elfn32-mips.c (prev_reloc_section): Delete.
+ (prev_reloc_address, prev_reloc_addend): Delete.
+ (elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for
+ elf64-mips.c
+ (GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete.
+ (mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
+ (mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
+ (mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND.
+ (mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise.
+ (mips16_jump_reloc, mips16_gprel_reloc): Likewise.
+ (mips_elf_shift6_reloc): Likewise. Delete use of SET_RELOC_ADDEND.
+
+ * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use
+ _bfd_relocate_contents to install an in-place addend.
+ (mips_hi16): New structure.
+ (mips_hi16_list): Moved from elf32-mips.c.
+ (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions.
+ (_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions.
+ (mips_elf_calculate_relocation): Assume addend is unshifted.
+ (_bfd_mips_elf_relocate_section): Don't apply the howto rightshift
+ on top of the usual high-part shift. Don't shift the addend right
+ before calling mips_elf_calculate_relocation.
+
+ * elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare.
+ (_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare.
+ (_bfd_mips_elf_generic_reloc): Declare.
+
+2003-12-16 Eric Youngdale <eric@mkssoftware.com>
+ Nick Clifton <nickc@redhat.com>
+
+ * peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each
+ prefix character, if they are present.
+
+2003-12-15 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+ Nick Clifton <nickc@redhat.com>
+
+ * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags
+ are set on known section types.
+
+2003-12-12 Nick Clifton <nickc@redhat.com>
+
+ * po/ro.po: Updated translation.
+
+2003-12-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for
+ NULL dyn_h.
+
+2003-12-11 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
+
+2003-12-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes.
+ Remove casts that were only needed for K&R compatibility.
+
+2003-12-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add
+ "elflink_hash_entry *" param to elf_backend_link_output_symbol_hook.
+ Add "elflink_hash_entry *" param to elf_backend_output_arch_syms.
+ * elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param,
+ and pass to output_symbol_hook.
+ (elf_bfd_final_link): Adjust elf_link_output_sym calls.
+ (elf_link_output_extsym): Likewise.
+ (elf_link_input_bfd): Likewise.
+ * elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust.
+ * elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
+ * elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
+ * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
+ * elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise.
+ * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
+ Validate dynh->h against h.
+ * elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield.
+ (link_hash_newfunc): Init it.
+ (adjust_opd_syms): New function.
+ (ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted.
+ Set opd.adjust for all .opd relocs. Call adjust_opd_syms.
+ (ppc64_elf_tls_optimize): Adjust possible .opd sym values here.
+ (ppc64_elf_relocate_section): Also adjust syms not a multiple of 24.
+ (ppc64_elf_output_symbol_hook): New function.
+ (elf_backend_link_output_symbol_hook): Define.
+
+2003-12-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes.
+ Remove casts that were only needed for K&R compatibility.
+
+2003-12-05 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+
+ * coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set
+ partial_inplace for these relocs to FALSE for comptability with
+ the MS linker.
+ Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error
+ generated by MS linker, and brings the relocation in line the MS
+ PE documentation.
+
+2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing.
+
+2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Use the
+ need_relax_finalize field in link_info instead of
+ relax_finalizing to check if the relax finalize pass is being
+ done.
+
+2003-12-04 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+
+ * coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation):
+ Change ARM26* to ARM_26* in comments to match definitions.
+ (coff_arm_adjust_symndx): Replace hard-coded constants with
+ appropriate definitions (ARM_26*).
+
+2003-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported.
+ * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes.
+ (mn10300_elf_relax_section): Likewise.
+ * nlm32-alpha.c (ONES): Define.
+ (nlm32_alpha_howto_table): Use it to avoid warnings.
+
+2003-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_object_p): Delete.
+ (elf_backend_object_p): Don't define.
+ * elf32-s390.c (elf_s390_object_p): No need to alloc tdata here.
+ * elf32-sh.c (sh_elf_object_p): Likewise.
+ * elf32-sparc.c (elf32_sparc_object_p): Likewise.
+ * elf64-alpha.c (elf64_alpha_object_p): Likewise.
+ * elf64-s390.c (elf_s390_object_p): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise.
+
+2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * archures.c (bfd_mach_m32r2): Add new machine type.
+ * bfd-in2.h: Regenerate.
+ * cpu-m32r.c : Add new machine type.
+ * elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing,
+ m32r_elf_merge_private_bfd_data): Add support for new machine
+ type.
+
+2003-12-03 Dave Airlie <airlied@linux.ie>
+
+ * config.bfd: Add vax-linux-gnu target.
+ * configure.in: Likewise.
+ * configure: Regenerate.
+
+2003-12-03 Alan Modra <amodra@bigpond.net.au>
+
+ * ecoff.c (ecoff_link_add_archive_symbols): Update for renamed
+ bfd_link_hash_entry field "next" -> "und_next".
+ * linker.c (_bfd_link_hash_newfunc): Likewise.
+ (bfd_link_add_undef): Likewise.
+ (_bfd_generic_link_add_archive_symbols): Likewise.
+ (_bfd_generic_link_add_one_symbol): Likewise.
+ * xcofflink.c (xcoff_link_add_symbols): Likewise.
+
+2003-12-02 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add ro.
+ * po/ro.po: New Romanian translation.
+
+2003-12-02 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-12-01 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+
+ * coffcode.h (coff_compute_section_file_positions): Set page_size
+ to 1 instead of 0 in the case file alignment value is zero.
+
+2003-12-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * coff-rs6000.c: Remove ARGSUSED and VARARGS.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * elf32-vax.c: Likewise.
+ * hash.c: Likewise.
+ * hppabsd-core.c: Likewise.
+ * hpux-core.c: Likewise.
+ * ihex.c: Likewise.
+ * netbsd-core.c: Likewise.
+ * osf-core.c: Likewise.
+ * pdp11.c: Likewise.
+ * ptrace-core.c: Likewise.
+ * sco5-core.c: Likewise.
+ * section.c: Likewise.
+ * sunos.c: Likewise.
+ * trad-core.c: Likewise.
+
+2003-12-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
+ * elf.c (_bfd_elf_merge_sections): Adjust to suit.
+ (_bfd_elf_link_just_syms): Likewise.
+ (bfd_elf_get_needed_list): Likewise.
+ (bfd_elf_get_runpath_list): Likewise.
+ (_bfd_elf_link_hash_copy_indirect): Remove unneeded parens.
+ * elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab
+ creator flavour.
+ (elf32_hppa_set_gp): Look up output sections rather than using htab.
+ * elf32-i960.c: Comment fix. Formatting.
+ * elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table
+ rather than testing creator flavour.
+ * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
+ * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
+ * elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for
+ is_elf_hash_table change. Remove redundant test.
+ (bfd_elf_record_link_assignment): Use is_elf_hash_table rather than
+ testing creator flavour.
+ (elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table.
+ (_bfd_elf_fix_symbol_flags): Likewise.
+ (_bfd_elf_adjust_dynamic_symbol): Likewise.
+ * elflink.h (elf_link_add_object_symbols): Likewise. Remove redundant
+ checks. Use is_elf_hash_table rather than testing creator flavour.
+ Use hash_table throughout in place of info->hash.
+ (elf_add_dynamic_entry): Adjust for is_elf_hash_table change.
+ (NAME(bfd_elf,size_dynamic_sections)): Likewise. Remove redundant
+ check.
+ (elf_bfd_final_link): Adjust for is_elf_hash_table change.
+ (elf_link_check_versioned_symbol): Use is_elf_hash_table rather than
+ testing creator flavour.
+ (elf_gc_sections): Add is_elf_hash_table check.
+ (elf_gc_common_finalize_got_offsets): Likewise.
+ (elf_bfd_discard_info): Adjust for is_elf_hash_table change. Remove
+ redundant check.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table
+ rather than testing creator flavour.
+
+2003-11-28 Christian Groessler <chris@groessler.org>
+
+ * cpu-z8k.c: Convert to ISO C90.
+ * coff-z8k.c: Likewise.
+
+2003-11-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map):
+ Add link info argument.
+ * elf32-i370.c (elf_backend_modify_segment_map): Likewise.
+ * elf32-ppc.c (ppc_elf_modify_segment_map): Likewise.
+ * elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise.
+ * elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise.
+ * elf.c (assign_file_positions_except_relocs,
+ assign_file_positions_for_segments): Likewise. Adjust calls.
+
+2003-11-27 Mark Kettenis <kettenis@gnu.org>
+
+ * elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out
+ of the note.
+
+2003-11-26 Daniel Jacobowitz <drow@mvista.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub.
+ (mips_elf_set_no_stub): New function.
+ (mips_elf_multi_got): Call it.
+ (_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for
+ a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and
+ use mips_elf_create_dynamic_relocation to deal with any compatibility
+ issues. Store the adjusted addend in the GOT slot.
+
+2003-11-25 Mattias Engdegård <mattias@virtutech.se>
+
+ * stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when
+ procesing N_BINCL stabs.
+
+2003-11-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than
+ ppc_stub_plt_call to symbols defined in shared libs.
+
+2003-11-22 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag.
+ * elf.c (_bfd_elf_link_hash_copy_indirect): Copy it.
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+ (elf_i386_check_relocs): Set it.
+ (elf_i386_finish_dynamic_symbol): If it is not set,
+ clear st_value of SHN_UNDEF symbol.
+
+2003-11-20 Jim Blandy <jimb@redhat.com>
+
+ * cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC
+ family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>.
+
+2003-11-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol
+ section for reloc output and subtract the output section's address
+ from the addend when converting a relocation into one against a
+ section symbol.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+
+2003-11-18 James E Wilson <wilson@specifixinc.com>
+
+ * elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
+ (elfNN_ia64_size_dynamic_sections): When stripping sections, check
+ for ia64_info->rel_fptr_sec.
+
+2003-11-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section
+ size is zero.
+
+2003-11-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf.c (_bfd_elf_link_hash_copy_indirect): Copy
+ ELF_LINK_HASH_NEEDS_PLT. Fix formatting.
+ * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+ * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
+ * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+ * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+ * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
+ * elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove.
+ (elf_backend_copy_indirect_symbol): Don't define.
+
+2003-11-14 Daniel Jacobowitz <drow@mvista.com>
+
+ * elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local
+ GOT entries.
+
+2003-11-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32
+ to R_390_RELATIVE. Convert the other relocations against local
+ symbols to relocations against the start of the section.
+ * elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64
+ to R_390_RELATIVE. Convert the other relocations against local
+ symbols to relocations against the start of the section.
+
+2003-11-11 Nick Clifton <nickc@redhat.com>
+
+ * elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use
+ info->executable not info->shared to decide if a .interp section
+ should be present.
+ * elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise.
+ * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
+ * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
+ * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+ * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
+ * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
+ * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
+ * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
+ * elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise.
+ * elflink.h (size_dynamic_sections): Likewise.
+
+2003-11-10 Jonathan Wilson <jonwil@tpgi.com.au>
+
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer.
+ (_bfd_XXi_final_link_postscript): Look for __tks_used symbol. If
+ found initialise the tls data directory entry.
+
+2003-11-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_install_value): Delete.
+ (shared_stub_entry, stub_entry): Make them arrays of ints.
+ Remove initial branch.
+ (ppc_elf_relax_section): Write one branch around all trampolines
+ instead. Correct bogus R_PPC_PLTREL24 handling. Correct
+ branch range check. Only use shared_stub_entry when shared.
+ Test that branches can reach stubs. Write trampolines out at
+ end so that just one realloc is used. Handle little-endian
+ mode. Move relevant code from ppc_elf_install_value to here.
+ (ppc_elf_relocate_section): Move code handling RELAX32 from
+ ppc_elf_install_value to here.
+
+2003-11-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC.
+ (ppc_elf_install_value): Handle R_PPC_RELAX32PC. Merge duplicate
+ cases.
+ (shared_stub_entry): Correct opcode.
+ (ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs.
+ (ppc_elf_relocate_section): Handle them.
+
+2003-11-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return
+ updated section in case of merged section.
+ * elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
+ * elf-hppa.h (elf_hppa_relocate_section): Adjust call.
+ * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
+ * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
+ * elf32-arm.h (elf32_arm_relocate_section): Likewise.
+ * elf32-avr.c (elf32_avr_relocate_section): Likewise.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
+ * elf32-frv.c (elf32_frv_relocate_section): Likewise.
+ * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-i860.c (elf32_i860_relocate_section): Likewise.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+ * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
+ * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-v850.c (v850_elf_relocate_section) Likewise.
+ * elf32-vax.c (elf_vax_relocate_section): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
+ * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+ * elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
+ section for reloc output.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-vax.c (elf_vax_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
+ for R_PPC_RELAX32 reloc. Don't bother checking ppc_elf_install_value
+ return value.
+ * elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
+ sec->id.
+
+2003-11-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.
+ (elf32_d10v_relocate_section): Use them to handle -r reloc
+ adjustments, and in place of _bfd_elf_rela_local_sym.
+
+ * cpu-iq2000.c (arch_info_struct): Warning fix.
+
+2003-11-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.
+ (elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
+ weakdefs.
+ (elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
+ (elf32_hppa_adjust_dynamic_symbol): Likewise. Copy weakdef
+ NON_GOT_REF.
+ (allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
+ SYMBOL_CALLS_LOCAL. Discard relocs for undef weak syms with
+ non-default visibility.
+ (elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
+ SYMBOL_CALLS_LOCAL.
+
+2003-11-04 Alan Modra <amodra@bigpond.net.au>
+
+ * aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.
+ * coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
+ * coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
+ * cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
+ * cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
+ * gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
+ * nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
+
+ * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix
+ "dereferencing type-punned pointer" warnings.
+
+ * aout-adobe.c (aout_adobe_set_section_contents): Constify location.
+ * aoutx.h (NAME(aout,set_section_contents)): Ditto.
+ * bfd-in2.h: Regenerate.
+ * binary.c (binary_set_section_contents): Ditto.
+ * bout.c (b_out_set_section_contents): Ditto.
+ * coff-tic54x.c (tic54x_set_section_contents): Ditto.
+ * coffcode.h (coff_set_section_contents): Ditto.
+ * ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
+ * elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
+ * elf.c (_bfd_elf_set_section_contents): Ditto.
+ * elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
+ * elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
+ * i386msdos.c (msdos_set_section_contents): Ditto.
+ * ieee.c (ieee_set_section_contents): Ditto.
+ * ihex.c (ihex_set_section_contents): Ditto.
+ * libaout.h (NAME(aout,set_section_contents)): Ditto.
+ * libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
+ (_bfd_generic_set_section_contents): Ditto.
+ * libbfd.h: Regenerate.
+ * libbfd.c (_bfd_generic_set_section_contents): Ditto.
+ * libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
+ * libnlm.h (nlmNAME(set_section_contents)): Ditto.
+ (struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
+ * mmo.c (mmo_set_section_contents): Ditto.
+ * nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
+ * nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
+ * nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
+ * nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
+ * nlmcode.h (nlm_set_section_contents): Ditto.
+ * oasys.c (oasys_set_section_contents): Ditto.
+ * pdp11.c (NAME(aout,set_section_contents)): Ditto.
+ * ppcboot.c (ppcboot_set_section_contents): Ditto.
+ * srec.c (srec_set_section_contents): Ditto.
+ * targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
+ * tekhex.c (tekhex_set_section_contents): Ditto.
+ (move_section_contents): Ditto.
+ * versados.c (versados_set_section_contents): Ditto.
+ * vms-misc.c (_bfd_save_vms_section): Ditto.
+ * vms.c (vms_set_section_contents): Ditto.
+ * vms.h (_bfd_save_vms_section): Ditto.
+
+2003-11-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_size_one_stub): Size relbrlt. Accept info arg
+ rather than htab.
+ (ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal. Zero
+ relbrlt size.
+ (ppc64_elf_build_stubs): Allocate space for relbrlt.
+
+2003-11-04 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h (_bfd_elf_tls_setup): Declare.
+ * bfd-in2.h: Regenerate.
+ * elf-bfd.h (struct elf_link_tls_segment): Delete.
+ (struct elf_link_hash_table): Add tls_sec and tls_size.
+ * elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
+ * elflink.c (_bfd_elf_tls_setup): New function.
+ * elflink.h (struct elf_final_link_info): Remove first_tls_sec.
+ (elf_bfd_final_link): Don't set first_tls_sec here. Update code
+ saving tls segment info, round segment size up.
+ (elf_link_output_extsym): Adjust code using tls segment info.
+ (elf_link_input_bfd): Likewise.
+ * elf32-i386.c (dtpoff_base, tpoff): Likewise.
+ * elf32-s390.c (dtpoff_base, tpoff): Likewise.
+ * elf32-sh.c (dtpoff_base, tpoff): Likewise.
+ * elf32-sparc.c (dtpoff_base, tpoff): Likewise.
+ * elf64-s390.c (dtpoff_base, tpoff): Likewise.
+ * elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
+ (elfNN_ia64_dtprel_base): Likewise.
+ * elf64-alpha.c (alpha_get_dtprel_base): Likewise.
+ (alpha_get_tprel_base): Likewise.
+ (struct alpha_relax_info): Remove tls_segment.
+ (elf64_alpha_relax_got_load): Adjust invocation of
+ alpha_get_dtprel_base and alpha_get_tprel_base.
+ (elf64_alpha_relax_tls_get_addr): Likewise.
+ (elf64_alpha_relax_section): Likewise.
+ (elf64_alpha_relocate_section): Likewise.
+ (elf64_alpha_relax_find_tls_segment): Delete.
+ * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
+ (ppc_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
+ (ppc_elf_relocate_section): Adjust to use elf.tls_sec.
+ * elf32-ppc.h (ppc_elf_tls_setup): Update.
+ * elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
+ (ppc64_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
+ (ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
+ (ppc64_elf_relocate_section): Likewise.
+ * elf64-ppc.h (ppc64_elf_tls_setup): Update.
+
+2003-11-03 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf-bfd.h (struct elf_backend_data): Remove plt_header_size.
+ * elf-m10300.c (elf_backend_plt_header_size): Don't define.
+ * elf32-arm.h (elf_backend_plt_header_size): Don't define.
+ * elf32-cris.c (elf_backend_plt_header_size): Don't define.
+ * elf32-i386.c (elf_backend_plt_header_size): Don't define.
+ * elf32-mips.c (elf_backend_plt_header_size): Don't define.
+ * elf32-ppc.c (elf_backend_plt_header_size): Don't define.
+ * elf32-s390.c (elf_backend_plt_header_size): Don't define.
+ * elf32-sh.c (elf_backend_plt_header_size): Don't define.
+ * elf32-sparc.c (elf_backend_plt_header_size): Don't define.
+ * elf64-alpha.c (elf_backend_plt_header_size): Don't define.
+ * elf64-hppa.c (elf_backend_plt_header_size): Don't define.
+ * elf64-mips.c (elf_backend_plt_header_size): Don't define.
+ * elf64-ppc.c (elf_backend_plt_header_size): Don't define.
+ * elf64-s390.c (elf_backend_plt_header_size): Don't define.
+ * elf64-sh64.c (elf_backend_plt_header_size): Don't define.
+ * elf64-sparc.c (elf_backend_plt_header_size): Don't define.
+ * elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
+ * elfn32-mips.c (elf_backend_plt_header_size): Don't define.
+ * elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
+ * elfxx-target.h (elf_backend_plt_header_size): Don't define
+ or include in target initializer.
+
+2003-11-03 Andrew Cagney <cagney@redhat.com>
+
+ * section.c (bfd_set_section_contents): Make the "location" buffer
+ constant.
+ * bfd-in2.h: Re-generate.
+
+2003-10-30 Andrew Cagney <cagney@redhat.com>
+
+ * syms.c: Replace "struct symbol_cache_entry" with "struct
+ bfd_symbol".
+ * vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
+ * mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
+ * cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
+ * bfd-in2.h: Re-generate.
+
+2003-10-30 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c: Include objalloc.h, hashtab.h.
+ (struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym
+ fields.
+ (struct elfNN_ia64_local_hash_table): Remove.
+ (struct elfNN_ia64_link_hash_table): Change loc_hash_table's type
+ to htab_t. Add loc_hash_memory field.
+ (elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry):
+ Removed.
+ (elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New
+ functions.
+ (elfNN_ia64_hash_table_create): Use hashtab.h hashtable for
+ loc_hash_table. Initialize loc_hash_memory.
+ (elfNN_ia64_hash_table_free): New function.
+ (elfNN_ia64_local_hash_lookup): Remove.
+ (elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse
+ callback.
+ (elfNN_ia64_dyn_sym_traverse): Use htab_traverse.
+ (get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table.
+ (bfd_elfNN_bfd_link_hash_table_free): Define.
+
+2003-10-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versioned
+ symbol string in place.
+
+2003-10-30 Jim Blandy <jimb@redhat.com>
+
+ * cpu-rs6000.c (rs6000_compatible): Check the correct arch_info
+ object's mach field: all PowerPC machines are supersets of the
+ original rs6000, but not later rs6000 machines.
+
+2003-10-30 Alan Modra <amodra@bigpond.net.au>
+
+ * dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr".
+ Add "val" and "sval" fields.
+ (DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete.
+ (read_attribute_value): Expand and adjust DW_* occurrences.
+ (scan_unit_for_functions, parse_comp_unit): Likewise.
+
+2003-10-30 Phil Edwards <phil@codesourcery.com>
+
+ * config.bfd (arm-*-vxworks): Remove separate stanza; merge with
+ other common ELF triples.
+ (i[3-7]86-*-vxworks): Change to ELF format.
+ (mips*-*-windiss): New triple, add to common MIPS/ELF stanza.
+ (sh-*-vxworks): New stanza.
+
+2003-10-30 Lars Knoll <lars@trolltech.com>
+ Michael Matz <matz@suse.de>
+ Jakub Jelinek <jakub@redhat.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * merge.c (struct sec_merge_sec_info): Update comment.
+ (struct sec_merge_hash_entry): Remove entsize.
+ (sec_merge_hash_lookup): Only adjust alignment when creating.
+ (sec_merge_emit): Remove register keyword.
+ (cmplengthentry, last4_eq, last_eq): Delete.
+ (strrevcmp, strrevcmp_align, is_suffix): New.
+ (merge_strings): Use them to implement fast suffix merging.
+ * elf-strtab.c (struct elf_strtab_hash_entry): Update comments.
+ Make "len" signed.
+ (_bfd_elf_strtab_add): Lose on >2G strings.
+ (_bfd_elf_strtab_emit): Don't emit strings with len < 0.
+ (cmplengthentry, last4_eq): Delete.
+ (strrevcmp, is_suffix): New.
+ (_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
+
+2003-10-29 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Move check for
+ SEC_ALLOC.
+
+2003-10-29 Philip Blundell <philb@gnu.org>
+
+ * elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New
+ code sequence.
+ (PLT_HEADER_SIZE): New.
+ (struct elf32_arm_pcrel_relocs_copied): Rename to ...
+ (struct elf32_arm_relocs_copied): ... this. Count both
+ pcrel and non-pcrel relocs. All uses updated.
+ (struct elf32_arm_link_hash_table): Add pointers to dynamic linker
+ sections and symbol/section mapping cache.
+ (create_got_section): New.
+ (elf32_arm_create_dynamic_sections): New.
+ (elf_backend_create_dynamic_sections): Use it.
+ (elf32_arm_final_link_relocate): Support garbage collection of relocs.
+ (elf32_arm_check_relocs): Likewise.
+ (elf32_arm_adjust_dynamic_symbol): Likewise.
+ (elf32_arm_copy_indirect_symbol): New.
+ (elf32_arm_link_hash_table_create): Initialise new fields.
+ (elf32_arm_gc_sweep_hook): Implement.
+ (elf32_arm_discard_copies): Delete.
+ (elf32_arm_finish_dynamic_symbol): Use new PLT code.
+ (elf32_arm_finish_dynamic_sections): Likewise.
+ (elf_backend_can_refcount): Define.
+ (elf_backend_copy_indirect_symbol): Likewise.
+ (elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
+
+2003-10-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (elf_backend_grok_prstatus): Define.
+ (elf_backend_grok_psinfo): Define.
+ (ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
+
+ * elf.c (_bfd_elfcore_make_pseudosection): Allow multiple
+ sections with the same name.
+ (elfcore_grok_lwpstatus): Likewise.
+ (elfcore_grok_win32pstatus): Likewise.
+ (elfcore_grok_note): Likewise.
+ (elfcore_grok_nto_status): Likewise.
+ (elfcore_grok_nto_gregs): Likewise.
+
+2003-10-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
+ objects.
+
+2003-10-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
+
+2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
+ hash table for real symbols.
+
+2003-10-23 Michael Snyder <msnyder@redhat.com>
+
+ * section.c (asection): Fix typo in comment.
+
+2003-10-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc
+ reloc symbol index to it. Don't allow gd syms in shared libs
+ to be optimized.
+ (ppc64_elf_tls_optimize): Adjust get_tls_mask call.
+ (ppc64_elf_size_stubs): Likewise.
+ (ppc64_elf_relocate_section): Check that tls relocs are only used
+ with tls syms, and similarly for non-tls. Correct symbol used
+ when optimizing toc tls code.
+
+2003-10-22 Nick Clifton <nickc@redhat.com>
+
+ * peicode.h (coff_swap_scnhdr_in): Only remove padding when
+ processing an executable.
+
+2003-10-22 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
+ field changes.
+ (_bfd_elf_link_assign_sym_version): Likewise.
+ * elflink.h (size_dynamic_sections): Likewise.
+
+2003-10-21 Alexandre Oliva <aoliva@redhat.com>,
+ Michael Snyder <msnyder@redhat.com>
+
+ * archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu,
+ bfd_mach_sh4a_nofpu): New machine types.
+ * bfd-in2.h: Rebuilt.
+ * cpu-sh.c (compatible): Remove unused function.
+ (SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New.
+ (arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu.
+ * elf32-sh.c (sh_elf_set_mach_from_flags): Handle them.
+
+2003-10-21 Wouter van Heyst <wouter@vidicode.nl>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text
+ describing mismatched formats involving the Maverick FP type.
+
+2003-10-21 Anil Paranjpe <anilp1@KPITCummins.com>
+
+ * binary.c (binary_object_p): Pass machine flag along with
+ architecture.
+
+2003-10-21 Thorsten Brehm <brehm@gmx.net>
+
+ * archures.c (bfd_default_scan): Add support for mcf528x.
+ * ieee.c (ieee_write_processor): Likewise.
+
+2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
+ Bernardo Innocenti <bernie@develer.com>
+
+ * archures.c: Add MCF528x (MCFv4) support.
+ * bfd/cpu-m68k.c (arch_info_struct): Likewise.
+ * bfd-in2.h: Regenerate.
+
+2003-10-20 Andrew Cagney <cagney@redhat.com>
+
+ * targets.c: Replace "struct sec" with "struct bfd_section"
+ * syms.c, sparclynx.c, section.c, opncls.c: Ditto.
+ * libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
+ * elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
+ * aout-tic30.c, aout-target.h:
+ * bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
+
+2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
+
+ Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs.
+ * elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro.
+ (struct _mmix_elf_section_data): New member pjs.
+ (mmix_set_relaxable_size, mmix_elf_get_section_contents): New
+ functions.
+ (elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE.
+ (mmix_reloc_map): Ditto.
+ (mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE.
+ (mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto.
+ (mmix_elf_perform_relocation): Ditto. Don't mark parameter addr
+ unused.
+ (mmix_elf_check_relocs): Move early return to after
+ mmix_elf_check_common_relocs call.
+ (mmix_elf_symbol_processing): Fix cut-and-pasto in head comment.
+ (_bfd_mmix_before_linker_allocation): Rename from
+ _bfd_mmix_prepare_linker_allocated_gregs. All referers changed.
+ Arrange to set the initial relaxable size of sections.
+ (_bfd_mmix_after_linker_allocation): Rename from
+ _bfd_mmix_finalize_linker_allocated_gregs.
+ (mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc.
+ (bfd_elf64_get_section_contents): Define.
+ * reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
+ * libbfd.h, bfd-in2.h: Regenerate.
+
+ * reloc.c (bfd_generic_relax_section): Default-set
+ section->_cooked_size here.
+ (bfd_generic_get_relocated_section_contents): Don't set it here.
+ Explain why.
+
+2003-10-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if
+ output section has been discarded.
+
+2003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com>
+
+ * coff-h8300.c (funcvec_hash_newfunc): Handle normal mode.
+ (h8300_reloc16_extra_cases): Likewise.
+ (h8300_bfd_link_add_symbols): Likewise.
+
+2003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * cpu-h8300.c (h8300sxn_info_struct): Correct address size.
+ (h8300sn_info_struct): Likewise.
+ (h8300hn_info_struct): Likewise.
+
+2003-10-16 Pavel Roskin <proski@gnu.org>
+
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size
+ for sections which lack size info.
+
+2003-10-17 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * configure.host: Add __USE_MINGW_FSEEK to HDEFINES for
+ mingw32.
+
+2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn
+ undefined patterns with '*'.
+
+2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't
+ use the last CIE from a different section.
+ (_bfd_elf_write_section_eh_frame): Don't pad beyond the raw
+ size of the output section.
+
+2003-10-07 Roland McGrath <roland@redhat.com>
+
+ * elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of
+ new section from p_align header field.
+
+2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-xtensa.c (xtensa_read_table_entries): The external size
+ of entry is 8 bytes.
+
+2003-10-15 Andrew Cagney <cagney@redhat.com>
+
+ * targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
+ with NAME##_canonicalize_symtab.
+ * libcoff-in.h (coff_canonicalize_symtab): Update.
+ * xsym.h (bfd_sym_canonicalize_symtab): Update.
+ * elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
+ * coffgen.c (coff_canonicalize_symtab): Update.
+ * libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
+ * libnlm.h (nlmNAME(canonicalize_symtab)): Update.
+ * ieee.c (ieee_vec): Update comment.
+ * libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
+ * mmo.c (mmo_canonicalize_symtab): Update.
+ * nlm-target.h (nlm_canonicalize_symtab): Update.
+ * nlmcode.h (nlm_canonicalize_symtab): Update.
+ * i386msdos.c (msdos_canonicalize_symtab): Update.
+ * hp300hpux.c (MY (canonicalize_symtab)): Update.
+ * oasys.c (oasys_canonicalize_symtab): Update.
+ * som.c (som_canonicalize_symtab): Update.
+ * pef.c (bfd_pef_canonicalize_symtab): Update.
+ * nlmcode.h (nlm_canonicalize_symtab): Update.
+ * xsym.c (bfd_sym_canonicalize_symtab): Update.
+ * vms.c (vms_canonicalize_symtab): Update.
+ * versados.c (versados_canonicalize_symtab): Update.
+ * mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
+ * ieee.c (ieee_canonicalize_symtab): Update.
+ * pdp11.c (NAME(aout,canonicalize_symtab)): Update.
+ * reloc.c: Update comment.
+ * libaout.h (NAME(aout,canonicalize_symtab)): Update.
+ * coff64-rs6000.c (aix5coff64_vec): Update.
+ * coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
+ * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
+ * aoutx.h (NAME(aout,canonicalize_symtab)): Update.
+ * elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
+ * hp300hpux.c (MY_canonicalize_symtab): Update.
+ * ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
+ * aout-tic30.c (MY_canonicalize_symtab): Update.
+ * aout-target.h (MY_canonicalize_symtab): Update.
+ * ppcboot.c (ppcboot_canonicalize_symtab): Update.
+ * elf.c (_bfd_elf_canonicalize_symtab): Update.
+ * elfcode.h (elf_canonicalize_symtab): Update.
+ * ihex.c (ihex_canonicalize_symtab): Update.
+ * tekhex.c (tekhex_canonicalize_symtab): Update.
+ * binary.c (binary_canonicalize_symtab): Update.
+ * srec.c (srec_canonicalize_symtab): Update.
+
+2003-10-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * elf32-h8300.c (elf_reloc_map): Fix a comment typo.
+
+2003-10-15 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
+ relocations.
+ (sh_elf_check_relocs): Likewise.
+
+ * elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
+ (sh64_elf_merge_symbol_attribute): New.
+ * elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
+ (sh64_elf64_merge_symbol_attribute): New.
+
+2003-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf-bfd.h (struct elf_backend_data): New function pointer member
+ elf_backend_merge_symbol_attribute.
+ * elflink.h (elf_link_add_object_symbols): Adjust call to
+ elf_backend_merge_symbol_attribute if the backend defined it.
+ * elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
+ (elfNN_bed): Add that to the initializer.
+
+2003-10-14 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (get_is_linkonce_section): Delete.
+ (xtensa_is_property_section, xtensa_is_littable_section): Use
+ XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Do not recognize
+ linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
+ (xtensa_get_property_section_name): Check section name instead of
+ calling get_is_linkonce_section. Remove unused bfd parameter. Use
+ XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Never generate
+ linkonce section names by appending ".xt.insn" or ".xt.lit".
+ (xtensa_read_table_entries): Remove bfd argument in call to
+ xtensa_get_property_section_name. Free section name when done.
+ (elf_xtensa_combine_prop_entries): Free leaking table.
+
+2003-10-13 Richard Sandiford <rsandifo@redht.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
+ DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
+ (_bfd_mips_elf_finish_dynamic_symbol): Don't handle them. Don't
+ handle DT_MIPS_MSYM. Set DT_RELSZ based on the number of relocations
+ that were needed.
+ (_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
+ (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
+
+2003-10-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
+ (bfd_elf64_ia64_after_parse): Likewise.
+ * bfd-in2.h: Regenerated.
+
+ * elfxx-ia64.c (oor_ip): New.
+ (oor_branch_size): Likewise.
+ (bfd_elfNN_ia64_after_parse): Likewise.
+ (elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
+ equals sizeof (oor_ip).
+
+2003-10-12 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
+ renumbering of some relocation numbers.
+
+2003-10-11 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-sh.c: Move definition of MAP and guard more code with
+ COFF_IMAGE_WITH_PE.
+
+ * section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
+ * bfd-in2.h: Regenerate.
+
+2003-10-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Likewise.
+
+2003-10-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * cofflink.c: Include "safe-ctype.h".
+ (coff_link_add_symbols): Use ISDIGIT instead of isdigit.
+
+2003-10-08 Dave Brolley <brolley@redhat.com>
+ On behalf of Michael Snyder <msnyder@redhat.com>
+
+ * archures.c: Add FRV fr550 machine.
+ * cpu-frv.c: Ditto.
+ * elf32-frv.c: Ditto.
+ * bfd-in2.h: Regenerate.
+
+2003-10-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
+ for non-SGI N64 ABI. Improve code consitency.
+
+2003-10-07 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
+ rightshift to 2.
+
+2003-10-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * libbfd-in.h (_bfd_link_section_stabs): Add string offset
+ parameter.
+ * cofflink.c (coff_link_add_symbols): Deal with split stab
+ sections.
+ * elflink.h (elf_link_add_object_symbols): Deal with split stab
+ sections.
+ * stabs.c (_bfd_link_section_stabs): Add string offset parameter.
+ * libbfd.h: Regenerated.
+
+ * coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
+ overflow, set reloc start position to after the count
+ reloc. Subtract one from num relocs. Give error on 0xffff relocs
+ and no overflow.
+ * cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
+ overflow.
+ * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
+ 0xffff.
+
+2003-10-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
+ last CIE/FDE if needed.
+
+2003-10-06 Nick Clifton <nickc@redhat.com>
+
+ * targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
+ BFD64 is enabled.
+
+2003-10-06 Matt Thomas <matt@3am-software.com>
+
+ * config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
+
+2003-10-06 Robert Millan <robertmh@gnu.org>
+
+ * configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
+ * config.bfd: Likewise.
+ * configure: Regenerate.
+
+2003-10-04 Christian Groessler <chris@groessler.org>
+
+ * coff-z8k.c (extra_case): Fix displacement length check for R_JR
+ and R_CALLR.
+
+2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
+ * elf32-m68hc11.c: Likewise.
+ * elf32-m68hc12.c: Likewise.
+ * elf32-m68hc1x.h: Likewise.
+
+2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
+ of flags between HC12 and HCS12.
+
+2003-10-04 Bryce McKinlay <bryce@mckinlay.net.nz>
+
+ * merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
+ which become empty after merging.
+
+2003-09-30 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
+ R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
+
+2003-09-30 Chris Demetriou <cgd@broadcom.com>
+
+ * archures.c (bfd_mach_mipsisa64r2): New define.
+ * bfd-in2.h: Regenerate.
+ * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
+ * cpu-mips.c (I_mipsisa64r2): New enum value.
+ (arch_info_struct): Add entry for I_mipsisa64r2.
+ * elfxx-mips.c (_bfd_elf_mips_mach)
+ (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
+ (mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
+ (mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
+
+2003-09-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
+ Handle SHN_IA_64_ANSI_COMMON.
+ (elf_backend_section_from_bfd_section): Defined.
+
+2003-09-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_link_read_relocs_from_section): Add an argument
+ of a pointer to section. Check bad symbol index.
+ (_bfd_elf_link_read_relocs): Modify calls to
+ elf_link_read_relocs_from_section.
+
+2003-09-23 DJ Delorie <dj@redhat.com>
+
+ * elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
+ R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
+ R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
+ R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
+ R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
+ R_SH_PSHA, R_SH_PSHL added.
+ (sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
+ (sh_elf_relocate_section): Support new relocs.
+
+2003-09-23 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
+ dynamic relocation offsets.
+
+2003-09-23 Alan Modra <amodra@bigpond.net.au>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Free the
+ hash table using _bfd_generic_link_hash_table_free.
+
+2003-09-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct bfd_elf_special_section): Remove "suffix". Change
+ type of prefix_length and suffix_length to int. Rename "attributes"
+ to "attr". Comment.
+ (_bfd_elf_get_sec_type_attr): Update prototype.
+ * elf.c (get_special_section): Rewrite.
+ (_bfd_elf_get_sec_type_attr): Return struct rather than passing in
+ attr and type pointers.
+ (_bfd_elf_new_section_hook): Adjust for above.
+ (special_sections): Merge suffix with prefix. Set
+ prefix_length for all entries. Set suffix_length appropriately.
+ * elf32-m32r.c (m32r_elf_special_sections): Likewise.
+ * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
+ * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
+ * elf32-mcore.c (mcore_elf_special_sections): Likewise.
+ * elf32-sh64.c (sh64_elf_special_sections): Likewise.
+ * elf32-v850.c (v850_elf_special_sections): Likewise.
+ * elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
+ * elf64-alpha.c (elf64_alpha_special_sections): Likewise.
+ * elf64-hppa.c (elf64_hppa_special_sections): Likewise.
+ * elf64-ppc.c (ppc64_elf_special_sections): Likewise.
+ * elf64-sh64.c (sh64_elf64_special_sections): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
+ * elf32-ppc.c (ppc_elf_special_sections): Likewise. Fix .plt flags.
+
+2003-09-21 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf64-alpha.c (elf64_alpha_create_got_section): Initialize
+ ->got if the section already exists.
+
+2003-09-19 Nathan Sidwell <nathan@codesourcery.com>
+
+ * dwarf2.c (decode_line_info): Cope with an initially empty
+ filename table.
+
+2003-09-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * acinclude.m4: Include ../config/accross.m4.
+ * aclocal.m4: Regenerated.
+
+ * configure.host (HOST_64BIT_TYPE): Remove if it is set to long
+ or long long.
+ (HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
+ (host64): Remove if HOST_64BIT_TYPE is set to long.
+
+ * configure.in (HOST_64BIT_TYPE): Set according to the size of
+ long and long long.
+ (HOST_U_64BIT_TYPE): Likewise.
+ (host64): Likewise.
+ * configure: Regenerated.
+
+2003-09-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
+ since some ABIs round up the size of the struct.
+
+2003-09-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Allow type change if
+ the old symbol is undefined and the new symbol is defined.
+
+2003-09-18 Andreas Schwab <schwab@suse.de>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Use
+ _bfd_generic_link_hash_table_create instead of
+ bfd_link_hash_table_create.
+
+2003-09-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
+ started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
+
+2003-09-10 John David Anglin <dave.anglin@nrc-cnrc.nrc.ca>
+ Randolph Chung <randolph@tausq.org>
+
+ * elf32-hppa.c (struct elf32_hppa_link_hash_entry,
+ hppa_link_hash_newfunc, hppa_build_one_stub,
+ elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
+ allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
+ elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
+ for generating import stubs for calls to statically linked PIC
+ functions.
+ (hppa_type_of_stub): Don't generate an import stub for calls to
+ statically linked pic functions. Generate import stubs for calls
+ in a shared object, to functions not in a regular file, and to
+ defined weak functions. Add new argument INFO.
+ (hppa_build_one_stub): Don't undef ADDIL_DP.
+ (elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
+ (elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
+ (final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
+ non-shared link. Convert instructions that use the the linkage table
+ pointer, or a facsimile thereof, to use the global data pointer when
+ the reloc has been changed.
+
+2003-09-08 Joel Brobecker <brobecker@gnat.com>
+
+ * archures.c: Add new machine names for hppa.
+ * bfd-in2.h: Regenerate.
+ * cpu-hppa.c: Use the new machine names.
+
+2003-09-06 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
+ all_local_syms member.
+ * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
+ to get the local symbols.
+
+2003-09-06 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
+ (elf_backend_special_sections): Define.a
+
+ PR savannah/4950:
+ * elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
+ section is read-only.
+
+2003-09-04 Nick Clifton <nickc@redhat.com>
+
+ * archures.c (bfd_mach_v850e1): Define.
+ * bfd-in2.h: Regenerate.
+ * cpu-v850.h (scan): Accept bfd_mach_v850e1.
+ (arch_info_struct): Include an entry for bfd_mach_v850e1.
+ * elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
+ (v850_elf_final_write_processing): Accept bfd_mach_v850e1.
+ (v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
+ (v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
+ linked with v850e binaries. Mark the output as v850e.
+
+2003-09-03 Nick Clifton <nickc@redhat.com>
+
+ * cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
+ symbols that are used in relocs.
+
+2003-08-30 Robert Millan <robertmh@gnu.org>
+
+ * configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
+ * config.bfd: Likewise.
+ * configure: Regenerate.
+
+2003-08-31 Christian Groessler <chris@groessler.org>
+
+ * elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
+ instead of returning bfd_reloc_continue.
+
+2003-08-31 Andreas Jaeger <aj@suse.de>
+
+ * merge.c: Update to ISO C90.
+
+2003-08-27 Ian Lance Taylor <ian@airs.com>
+
+ * configure.in: Check for strtoull.
+ * bfd.c (bfd_scan_vma): Use strtoull when available.
+ * configure, config.in: Regenerate.
+
+ * configure.in: Define and substitute BFD_HOST_LONG_LONG.
+ * bfd-in.h: Define BFD_HOST_LONG_LONG. Test it rather than
+ __GNUC__ when deciding whether to use long long for
+ BFD_HOST_64_BIT.
+ * configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
+
+2003-08-27 Christian Groessler <chris@groessler.org>
+
+ * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
+ i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
+ functions.
+ (elf32_i860_howto_table): Insert the new functions as
+ 'special_function's in the proper reloc type entries.
+
+2003-08-27 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf32-frv.c (elf32_frv_relocate_section): Use
+ _bfd_elf_rela_local_sym.
+
+2003-08-26 Michael Snyder <msnyder@redhat.com>
+
+ * cpu-frv.c: Remove unused enum.
+
+2003-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * reloc.c: Fix documentation for MIPS ELF relocations.
+ libbfd.h: Regenerate.
+ bfd-in2.h: Regenerate.
+
+2003-08-24 Jason Eckhardt <jle@rice.edu>
+
+ * coff-i860.c (CALC_ADDEND): Define to be a no-op.
+
+2003-08-24 Jason Eckhardt <jle@rice.edu>
+
+ * elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
+ shift by 2 before storing the relocated value.
+
+2003-08-23 Jason Eckhardt <jle@rice.edu>
+
+ * coff-i860.c (coff_i860_reloc_nyi): New function.
+ (howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
+ LOWn, SPLITn, and BRADDR.
+ (RTYPE2HOWTO): Check that the r_type is within the howto_table
+ before trying to access the entry.
+ (coff_i860_rtype_to_howto): Likewise.
+ (coff_i860_reloc_type_lookup): New function.
+ (i860_reloc_processing): New function.
+ (coff_bfd_reloc_type_lookup): Define macro.
+ (RELOC_PROCESSING): Define macro.
+ Minor formatting adjustments.
+
+2003-08-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
+
+2003-08-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
+ .got section at 8 bytes.
+
+2003-08-21 Nick Clifton <nickc@redhat.com>
+
+ * cofflink.c: Update to ISO C90 and tidy up formatting.
+
+2003-08-21 Randolph Chung <tausq@debian.org>
+
+ * elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
+ can have OSABI=Linux or OSABI=SysV. Check for both.
+ * elf64-hppa.c (elf64_hppa_object_p): Likewise.
+
+2003-08-21 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2003-08-20 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
+
+2003-08-20 Nick Clifton <nickc@redhat.com>
+
+ * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
+ replace some duplicated code in most elfxx-xxxx.c files. This
+ version uses the new fields in bfd_link_info.
+
+ * elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
+ * elf32-arm.h (elf32_arm_relocate_section): Likewise.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-i386.c (elf_i386_relocate_section): Likewise.
+ * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
+ * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-vax.c (elf_vax_relocate_section): Likewise.
+ * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+ * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
+ elf_hppa_remark_useless_dynamic_symbols,
+ elf_hppa_relocate_section): Use the new fields in
+ bfd_link_info structure.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
+ * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
+
+ * elflink.h (elf_link_output_extsym): Fix test for reporting
+ undefined symbols in shared libraries. Remove redundant test
+ of shlib_undefined when reporting references to forced local
+ symbols.
+
+2003-08-18 Andreas Schwab <schwab@suse.de>
+
+ * libpei.h (bfd_pe_executable_p): Also recognize efi-app
+ executables.
+
+2003-08-17 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Move
+ reloc_done hack to before first bfd_section_size call. Change all
+ returns to use new wrapper macro RETURN, restoring sec->reloc_done.
+
+2003-08-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Don't include elf/ppc.h.
+
+2003-08-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
+ code to work with 64-bit bfds.
+
+2003-08-14 Alan Modra <amodra@bigpond.net.au>
+
+ * dep-in.sed: Remove libintl.h.
+ * Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
+ (POTFILES.in): Remove target.
+ * Makefile.in: Regenerate.
+
+2003-08-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
+ (ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
+ use the function sym from the previous reloc.
+
+2003-08-11 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
+ fatal if -pie.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ (ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
+ on undefined symbols if -pie.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+
+2003-08-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
+ branch to __libc_start_main.
+
+2003-08-08 Dmitry Diky <diwil@mail.ru>
+
+ * archures.c: Add xW42 and xE42 parts. Sort MPU list according to
+ gcc order.
+ * cpu-msp430.c: Likewise.
+ * elf32-msp430.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2003-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-target.h: Remove PTR cast.
+ * targets.c (bfd_target): Make backend_data const void *.
+ * elf-bfd.h: Constify all occurrences of struct elf_backend_data.
+ * elf-m10300.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-m68hc1x.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-xtensa.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elfcode.h: Likewise.
+ * elfcore.h: Likewise.
+ * elflink.c: Likewise.
+ * elflink.h: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * elfxx-mips.h: Likewise.
+ * elf.c (prep_headers): Remove useless check for null backend_data.
+ * bfd-in2.h: Regenerate.
+
+ * elf-bfd.h: Remove PARAMS macro. Replace PTR with void *.
+ (NAME): Use ## rather than CONCAT4 macro.
+ * elfcode.h: Remove one remaining PARAMS macro.
+ * elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
+ * elf-strtab.c: Likewise.
+ * elf-hppa.h: Likewise.
+ * elf32-hppa.h: Likewise.
+ * elf32-hppa.c: Likewise.
+ (elf32_hppa_add_symbol_hook): Delete.
+ (elf_backend_add_symbol_hook): Don't define.
+ * libhppa.h: Convert to C90. Replace INLINE with inline.
+
+2003-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
+ (ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
+ function descriptors, but warn.
+ (ppc_build_one_stub): Remove a couple of vars. Move code creating
+ stub syms so that we can avoid a stub sym if we already have a
+ plt sym. Do not redefine an existing symbol.
+ (ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
+ glink.
+
+2003-08-06 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2003-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
+ SEC_LINKER_CREATED.
+
+2003-08-05 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
+
+2003-08-03 Jeff Muizelaar <muizelaar@rogers.com>
+
+ * coffcode.h (coff_slurp_line_table): Return with a warning
+ message if the line number table could not be read.
+
+2003-08-04 Nick Clifton <nickc@redhat.com>
+
+ * elflink.h (elf_link_add_object_symbols): Prepend "warning: "
+ to messages produced for .gnu.warning.SYMBOL sections.
+
+2003-08-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elfcode.h: Convert to C90, remove unneeded casts and prototypes.
+ * elfcore.h: Likewise.
+ * elflink.c: Likewise.
+ * elflink.h: Likewise.
+ * elf.c (sym_is_global): Remove INLINE.
+ (align_file_position): Replace INLINE with inline.
+ * elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
+ (elf_file_p): Replace INLINE with inline.
+
+2003-08-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
+
+2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
+
+2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
+ ElfNN_External_Rela instead of Elf64_External_Rela.
+
+2003-08-01 Nick Clifton <nickc@redhat.com>
+
+ * config.bfd: Add code to catch obsolete configurations and warn
+ about them unless --enable-obsolete is used. Use this to mark
+ vax-vms port as obsolete.
+
+2003-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_install_value): Tidy.
+ (ppc_elf_relax_section): Remove dead code. Remove unnecessary casts.
+ Formatting.
+ * elfxx-target.h: Remove PARAMS macro. Formatting.
+
+2003-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
+ * elf64-ppc.c (get_fdh): New function, split out from
+ ppc64_elf_edit_opd.
+ (ppc64_elf_check_relocs): Use get_fdh.
+ (func_desc_adjust): Likewise. Tidy.
+ (ppc64_elf_edit_opd): Tighten reloc checks. Free local_syms on error
+ exit. Use get_fdh. Account for superfluous dynamic relocs.
+ (ppc64_elf_relocate_section): Warning fix.
+
+2003-07-30 Jason Eckhardt <jle@rice.edu>
+
+ * coff-i860.c: Convert to ISO C90. Remove superflous prototypes.
+
+2003-07-30 Jason Eckhardt <jle@rice.edu>
+
+ * elf32-i860.c: Convert to ISO C90. Remove superflous prototypes.
+
+2003-07-30 Randolph Chung <tausq@debian.org>
+
+ * elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
+ * elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
+
+2003-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c: Convert to C90, remove unnecessary prototypes and casts.
+ Replace PTR with void *. Formatting.
+ (_bfd_elf_assign_file_position_for_section): Remove INLINE.
+ (make_mapping): Likewise.
+
+2003-07-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (func_desc_adjust): Give linker created function
+ descriptor symbols a size and type.
+ (ppc64_elf_relocate_section): Correct lq insn test.
+
+2003-07-28 Eric Christopher <echristo@redhat.com>
+
+ * elf32-ppc.c (R_PPC_RELAX32): New relocation.
+ (ppc_elf_install_value): New function.
+ (ppc_elf_sort_rela): Remove.
+ (ppc_elf_relax_section): Rewrite. Remove old relaxation
+ and replace with out of range branch stubs.
+ (ppc_elf_relocate_section): Handle R_PPC_RELAX32.
+
+2003-07-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
+ from input_bfd.
+
+2003-07-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (special_sections): Set attributes for .got and .plt.
+
+2003-07-27 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
+ on function descriptors.
+ (ELIMINATE_COPY_RELOCS): Expand comment.
+ (ppc64_elf_special_sections): Move. Don't include non-ppc64 sections.
+ Do include ".toc1".
+
+2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (_bfd_elf_new_section_hook): Set the default section
+ type to SHT_NULL.
+ (elf_fake_sections): Set the section type based on asect->flags
+ if it is SHT_NULL. Don't abort on processor specific section
+ types.
+
+2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in2.h: Regenerated.
+
+2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (bfd_elf_special_section): New.
+ (elf_backend_data): Add special_sections, a pointer to
+ bfd_elf_special_section.
+ (elf_section_type). New.
+ (elf_section_flags): New.
+ (_bfd_elf_get_sec_type_attr): New.
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Always use the
+ real section type/flags.
+ (special_sections): New.
+ (get_special_section): New.
+ (_bfd_elf_get_sec_type_attr): New.
+ (_bfd_elf_new_section_hook): Check special_section to set
+ elf_section_type and elf_section_flags.
+ (elf_fake_sections): Don't use section name to set ELF section
+ data.
+
+ * elf32-m32r.c (m32r_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-mcore.c (mcore_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-ppc.c (ppc_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-sh64.c (sh64_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-v850.c (v850_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-xtensa.c (elf_xtensa_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf64-alpha.c (elf64_alpha_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf64-hppa.c (elf64_hppa_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf64-ppc.c (ppc64_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf64-sh64.c (sh64_elf64_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elfxx-ia64.c (elfNN_ia64_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elfxx-mips.c (_bfd_mips_elf_special_sections): New.
+
+ * elfxx-mips.h (_bfd_mips_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elfxx-target.h (elf_backend_special_sections): New. Default
+ to NULL.
+ (elfNN_bed): Initialize special_sections.
+
+ * section.c (bfd_abs_section): Remove const.
+ (bfd_und_section): Likewise.
+ (bfd_com_section): Likewise.
+ (bfd_ind_section): Likewise.
+
+2003-07-24 Nick Clifton <nickc@redhat.com>
+
+ * coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
+ sections are assigned the LOAD attribute.
+
+2003-07-25 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c: Convert to C90. Replace PTR with void *.
+ * elf32-sh64-com.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-sh64.h: Likewise.
+ * elf64-sh64.c: Likewise.
+
+2003-07-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
+ (allocate_dynrelocs): Likewise.
+ (sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
+ (sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
+
+2003-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2003-07-23 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
+ near the beginning of the file. Swap order of arguments. Call
+ _bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
+ (elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
+ (elf_xtensa_relocate_section): Likewise.
+ (shrink_dynamic_reloc_sections): Likewise.
+
+2003-07-23 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
+ (elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
+ (elf_xtensa_combine_prop_entries): Avoid returning non-zero without
+ first printing an error message.
+ (elf_xtensa_finish_dynamic_sections): Likewise.
+ (elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
+ discarding literal table entries.
+ (elf_xtensa_merge_private_bfd_data): Remove newline from error message.
+ (elf_xtensa_do_asm_simplify): Likewise.
+
+2003-07-23 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
+ we have a local symbol in common section.
+
+2003-07-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
+ weak symbols.
+
+2003-07-22 Nick Clifton <nickc@redhat.com>
+
+ * coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
+ expected RS6000 storage classes.
+
+2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
+ output_bfd unused to silence gcc.
+
+2003-07-21 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2003-07-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
+ (_bfd_elf_symbol_refs_local_p): ..this. Declare.
+ * elflink.c (_bfd_elf_symbol_refs_local_p): New function.
+ * elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
+ now done in _bfd_elf_symbol_refs_local_p.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
+
+2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
+ (SYMBOL_CALLS_LOCAL): Likewise.
+
+ * elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
+ immediately if symbol isn't defined locally.
+
+2003-07-18 Richard Henderson <rth@redhat.com>
+
+ * elflink.c (_bfd_elf_dynamic_symbol_p): New.
+ * elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
+ (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
+ * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
+ * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
+ * elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
+ Update all callers to provide the relocation being resolved.
+
+2003-07-17 Shaun Jackman <sjackman@pathwayconnect.com>
+
+ * config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
+ targ_cflags.
+
+2003-07-17 Nick Clifton <nickc@redhat.com>
+
+ * po/es.po: New Spanish translation.
+ * po/sv.po: New Swedish translation.
+ * po/opcodes.pot: Regenerate.
+
+2003-07-16 Richard Henderson <rth@redhat.com>
+
+ * config.bfd, configure.host, configure.in: Remove ia64-aix support.
+ * elfxx-ia64.c, targets.c: Likewise.
+
+2003-07-16 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
+ for symbols defined locally plus -Bsymbolic. Tidy logic.
+
+2003-07-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * archures.c (bfd_mach_mips7000): New.
+ * bfd-in2.h: Regenerated.
+ * cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
+ * elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
+ (mips_mach_extensions): Add an entry for it.
+
+2003-07-14 Nick Clifton <nickc@redhat.com>
+
+ * po/tr.po: Update with latest version.
+ * po/SRC-POTFILES.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+ * Makfile.in: Regenerate.
+ * configure: Regenerate.
+
+2003-07-12 Jeff Baker <jbaker@qnx.com>
+
+ * bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
+ * bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
+ * bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
+ * bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
+
+2003-07-12 Jeff Muizelaar <muizelaar@rogers.com>
+
+ * coffcode.h (coff_set_section_contents): Set the
+ IMAGE_FILE_32BIT_MACHINE flag for PE targets.
+
+2003-07-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * bfd-in.h (bfd_h8300_pad_address): Declare.
+ * bfd-in2.h: Regenerate.
+ * cpu-h8300.c (bfd_h8300_pad_address): New function.
+ * coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
+ addresses before checking whether they can be relaxed.
+ (h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
+ Don't complain about overflows in general 8-bit relocations.
+ * elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
+ Fix handling of R_H8_DIR24A8.
+
+2003-07-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf32-h8300.c: Convert function prototypes and definitions
+ to C90 syntax.
+ * coff-h8300.c: Likewise.
+ * cpu-h8300.c: Likewise.
+
+2003-07-11 Alan Modra <amodra@bigpond.net.au>
+
+ * po/SRC-POTFILES.in: Regenerate.
+ * po/bfd.pot: Likewise.
+
+2003-07-10 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
+ .got.loc section. Do not set SEC_ALLOC or SEC_LOAD flags for the
+ .xt.lit.plt section.
+ (elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
+ and allocate memory for it.
+ (elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
+ section to the .got.loc section.
+ (elf_xtensa_finish_dynamic_sections): Fix up call to
+ elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
+ the address of .got.loc.
+ (relax_property_section): Shrink .got.loc to match changes in any
+ literal table section.
+ (xtensa_is_property_section): Change to match
+ xtensa_get_property_section_name.
+ (xtensa_is_littable_section): New.
+
+2003-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
+ -1LL.
+
+2003-07-10 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
+ (BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-07-10 Alexandre Oliva <aoliva@redhat.com>
+
+ 2001-09-12 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
+ (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
+ 2001-06-02 Nick Clifton <nickc@cambridge.redhat.com>
+ * elf32-am33lin.c: Rename global functions.
+ 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
+ * config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
+ * configure.in (bfd_elf32_am33lin_vec): Added.
+ * Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
+ (elf32-am33lin.lo): List dependencies.
+ * aclocal.m4, configure, Makefile.in: Rebuilt.
+ * elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
+ ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
+ ELF_ARCH was not defined before.
+ (elf_symbol_leading_char): Define if not defined.
+ * elf32-am33lin.c: Override the definitions above.
+ * targets.c (bfd_elf32_am33lin_vec): New.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
+ pcrel_relocs_copied.
+ 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
+ ld-linux.so.2 to ld.so.1.
+ 2001-10-10 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
+ (_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
+ (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
+ * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
+ .rela.* section contents with bfd_zalloc.
+ 2001-09-25 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c: Added declarations for functions missing them.
+ Merge some shared-library changes from the i386 back-end. Use
+ R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
+ R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
+ (struct elf32_mn10300_link_hash_entry): Remove duplicates of
+ members of elf_link_hash_entry. Adjusted references.
+ (mn10300_elf_final_link_relocate): dynobj was already loaded
+ into a local variable, use it.
+ 2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
+ * elf-m10300.c: Add missing function prototypes.
+ 2001-08-24 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c (mn10300_elf_relocate_section): Don't compute
+ relocation for dynamic relocations.
+ 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
+ * reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
+ * elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
+ PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
+ (_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
+ (_bfd_mn10300_elf_create_got_section): ... here, so that its
+ adress is already known at the time we compute relaxations.
+ (mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
+ and PLT32 to narrower relocations.
+ * libbfd.h, bfd-in2.h: Rebuilt.
+ 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
+ * reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
+ BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
+ BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
+ BFD_RELOC_MN10300_RELATIVE): New relocs.
+ * libbfd.h, bfd-in2.h: Rebuilt.
+ * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
+ (struct elf32_mn10300_link_hash_entry): Added DSO-related
+ fields.
+ (elf_mn10300_howto): Defined new relocation types.
+ (mn10300_reloc_map): Map them.
+ (_bfd_mn10300_elf_create_got_section): New fn.
+ (mn10300_elf_check_relocs): Handle PIC relocs.
+ (mn10300_elf_final_link_relocate): Likewise.
+ (mn10300_elf_relocate_section): Handle DSOs.
+ (PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
+ (elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
+ elf_mn10300_pic_plt_entry): New.
+ (elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
+ elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
+ elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
+ elf_mn10300_plt_reloc_offset: New macros.
+ (ELF_DYNAMIC_INTERPRETER): Likewise.
+ (_bfd_mn10300_elf_create_dynamic_sections): New function.
+ (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
+ (_bfd_mn10300_elf_discard_copies): Likewise.
+ (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
+ (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
+ (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
+ (elf_backend_can_gc_sections,
+ elf_backend_create_dynamic_sections,
+ elf_backend_adjust_dynamic_sections,
+ elf_backend_size_dynamic_sections,
+ elf_backend_finish_dynamic_symbol,
+ elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
+ elf_backend_plt_readonly, elf_backend_want_plt_sym,
+ elf_backend_got_header_size, elf_backend_plt_header_size): New
+ macros.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2001-05-06 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c (compute_function_info): Account for AM33
+ registers in `movm' when computing stack space for `call' when
+ linking for AM33/2.0 link.
+ 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
+ * archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
+ * bfd-in2.h: Rebuilt.
+ * cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
+ * elf-m10300.c: Updated.
+ 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
+ * archures.c (bfd_mach_am332): Defined.
+ * bfd-in2.h: Rebuilt.
+ * cpu-m10300.c (bfd_am332_arch): Defined.
+ (bfd_am33_arch): Chained with am33-2.
+ * elf-m10300.c (elf_mn10300_mach): Handle am332.
+ (_bfd_mn10300_elf_final_write_processing): Likewise.
+
+2003-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
+
+2003-07-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (bfd_elf64_mkobject): Define.
+ (struct ppc64_elf_obj_tdata): New.
+ (ppc64_elf_tdata, ppc64_tlsld_got): Define.
+ (ppc64_elf_mkobject): New function.
+ (struct got_entry): Add "owner". Move "tls_type".
+ (struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
+ (ppc64_elf_init_stub_bfd): New function.
+ (create_got_section): Create header .got in dynobj. Create .got
+ and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
+ (ppc64_elf_create_dynamic_sections): Don't call create_got_section.
+ Look for dynobj .got, and test it.
+ (ppc64_elf_copy_indirect_symbol): Adjust for changed got.
+ (update_local_sym_info): Likewise.
+ (ppc64_elf_check_relocs): Likewise.
+ (ppc64_elf_gc_sweep_hook): Likewise.
+ (ppc64_elf_tls_optimize): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (ppc64_elf_size_dynamic_sections): Likewise.
+ (ppc64_elf_relocate_section): Likewise.
+ (ppc64_elf_next_toc_section): Update comment.
+ (toc_adjusting_stub_needed): Remove unneeded cast.
+ (ppc64_elf_build_stubs): Check for stub sections in stub bfd by
+ testing section flags.
+ (ppc64_elf_build_stubs): Likewise.
+ (ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
+ (ppc64_elf_finish_dynamic_sections): Write out got sections.
+ (func_desc_adjust): Copy over dynamic info for undef weaks.
+ * elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
+ (ppc64_elf_size_stubs): Update prototype.
+ * elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
+ input sections rather than scanning dynobj.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
+ (bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
+ (mips_elf_create_msym_section): Delete.
+ (mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
+ (_bfd_mips_elf_copy_indirect_symbol): Likewise.
+ (_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
+ (_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
+ (_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
+ (_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
+ (_bfd_mips_elf_finish_dynamic_sections): Likewise.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
+ symbols protected.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
+ of relocations whose offset is -2.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
+ forced-local symbols like other locals. Don't create relocations
+ against STN_UNDEF in irix objects.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
+ compatible objects, add the values of defined external symbols
+ to the addend.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
+ initialize a GOT entry to the symbol's st_value.
+
+2003-07-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
+ * elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New.
+ (ppc_elf_tdata): Define.
+ (elf_local_ptr_offsets): Adjust.
+ (ppc_elf_mkobject): New function.
+ (bfd_elf32_mkobject): Define.
+
+ * elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
+ * elfcore.h (elf_core_file_p): Likewise.
+ * section.c (bfd_section_init): Remove prototype.
+
+2003-07-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
+ field.
+ (enum elf_linker_section_enum): Delete.
+ (struct elf_linker_section): Delete.
+ (struct elf_linker_section_pointers): Delete.
+ (struct elf_obj_tdata): Remove #if 0 chunk. Remove linker_section.
+ Make linker_section_pointers a void**.
+ (elf_local_ptr_offsets, elf_linker_section): Don't define.
+ * elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
+ of old item in elf-bfd.h.
+ (struct elf_linker_section): Likewise.
+ (struct elf_linker_section_pointers): Likewise.
+ (elf_local_ptr_offsets): Define.
+ (struct ppc_elf_link_hash_entry): Add linker_section_pointer.
+ (ppc_elf_link_hash_newfunc): Init it.
+ (struct ppc_elf_link_hash_table): Add sbss.
+ (ppc_elf_link_hash_table_create): zmalloc rather than clearing
+ individual fields.
+ (elf_create_linker_section): Fold into..
+ (ppc_elf_create_linker_section): ..here. Remove hole_size code.
+ Make rela section here if shared.
+ (elf_find_pointer_linker_section): Pass lsect rather than enum.
+ (elf_create_pointer_linker_section): Adjust. zalloc rather than
+ clearing in a loop.
+ (elf_finish_pointer_linker_section): Adjust. Don't make rela
+ section here.
+ (ppc_elf_check_relocs): Adjust.
+ (ppc_elf_add_symbol_hook): Tighten hash creator test. Remove code
+ creating .sbss by hand.
+ * elf.c (_bfd_elf_link_hash_newfunc): Adjust.
+
+2003-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
+ complain_overflow_bitfield.
+ * elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
+ complain_overflow_bitfield.
+
+2003-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
+ true even if -pie.
+
+2003-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
+ (elfNN_ia64_dynamic_symbol_p): Change info->shared into
+ !info->executable.
+ (get_fptr): For -pie create .opd as writable section and create
+ .rela.opd as well.
+ (elfNN_ia64_check_relocs): Change info->shared into
+ !info->executable.
+ (allocate_fptr): Likewise.
+ (allocate_dynrel_entries): Account for a relative reloc for -pie
+ @fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr
+ for undefweak symbol. Account for an IPLT reloc in .rela.opd
+ section if -pie.
+ (set_got_entry): Don't create a relative reloc if -pie
+ want_ltoff_fptr for undefweak symbol.
+ (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
+ (elfNN_ia64_relocate_section): Emit a relative reloc for -pie
+ @fptr().
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
+ even if -pie.
+ * elf32-i386.c (elf_i386_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+
+2003-07-04 Paul Clarke <paulc@senet.com.au>
+
+ * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
+ (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
+ <R_H8_DIR32A16>: Fix type of relocation.
+
+2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
+ sections were created already. Remove unnecessary tests of
+ the previous change.
+
+2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
+ bfd_make_section for existing sections.
+
+2003-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-sparc.c (elf32_sparc_check_relocs): Don't call
+ create_got_section if we already have done so.
+ * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
+ (sh_elf_check_relocs): Likewise.
+ (sh_elf_adjust_dynamic_symbol): Delete "dynobj" var. Use
+ htab->root.dynobj instead.
+ (sh_elf_check_relocs): Likewise.
+ (sh_elf_finish_dynamic_sections): Likewise.
+
+ * section.c (bfd_make_section): Return NULL for existing section.
+
+2003-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
+ ppc_elf_create_got if we've already done so.
+
+ * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
+ (_bfd_elf_find_pointer_linker_section): Likewise.
+ (bfd_elf32_create_pointer_linker_section): Likewise.
+ (bfd_elf32_finish_pointer_linker_section): Likewise.
+ (bfd_elf64_create_pointer_linker_section): Likewise.
+ (bfd_elf64_finish_pointer_linker_section): Likewise.
+ (_bfd_elf_make_linker_section_rela): Likewise.
+ * elfcode.h (elf_create_pointer_linker_section): Don't define.
+ (elf_finish_pointer_linker_section): Likewise.
+ * elflink.c (_bfd_elf_make_linker_section_rela): Delete.
+ (_bfd_elf_create_linker_section): Move this function..
+ (_bfd_elf_find_pointer_linker_section): ..and this..
+ * elflink.h (elf_create_pointer_linker_section): ..and this..
+ (elf_finish_pointer_linker_section): ..and this..
+ * elf32-ppc.c: ..to here, renaming to the following, and adjusting
+ calls.
+ (elf_create_linker_section): Convert to C90, tidy.
+ (elf_find_pointer_linker_section): Likewise.
+ (elf_create_pointer_linker_section): Likewise.
+ (elf_finish_pointer_linker_section): Likewise.
+ * elf32-i370.c: Delete #if 0 code.
+
+2003-07-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
+ _restf* to be satisfied by shared libs, and always force them local.
+ (toc_adjusting_stub_needed): Avoid scanning linker created sections.
+ Correct test for "bl".
+ (ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
+ primary opcode 31.
+
+2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
+ (s390_tls_reloc): New function.
+ (elf_howto_table): Add long displacement relocations R_390_20,
+ R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
+ (elf_s390_reloc_type_lookup): Likewise.
+ (elf_s390_check_relocs): Likewise.
+ (elf_s390_gc_sweep_hook): Likewise.
+ (elf_s390_relocate_section): Likewise.
+ * elf64-s390.c: Same changes as for elf32-s390.c.
+ * reloc.c: Add long displacement relocations BFD_RELOC_390_20,
+ BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
+ BFD_RELOC_390_TLS_GOTIE20.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Likewise.
+
+2003-06-30 Alan Modra <amodra@bigpond.net.au>
+
+ * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
+ (ins_imms, ins_immsm1u4): Likewise. Warning fix.
+
+2003-06-29 Alan Modra <amodra@bigpond.net.au>
+
+ * archive.c: Convert to C90, remove unnecessary prototypes and casts.
+ Replace PTR with void *. Formatting.
+ * archive64.c: Likewise.
+ * archures.c: Likewise.
+ * bfd-in.h: Likewise.
+ * bfd.c: Likewise.
+ * bfdio.c: Likewise.
+ * bfdwin.c: Likewise.
+ * cache.c: Likewise.
+ * corefile.c: Likewise.
+ * format.c: Likewise.
+ * init.c: Likewise.
+ * libbfd-in.h: Likewise.
+ * libbfd.c: Likewise.
+ * linker.c: Likewise.
+ * opncls.c: Likewise.
+ * reloc.c: Likewise.
+ * section.c: Likewise.
+ * simple.c: Likewise.
+ * syms.c: Likewise.
+ * targets.c: Likewise.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+ * ecoff.c (bfd_debug_section): Add missing kept_section initialization.
+ * libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
+ * libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
+ (bfd_getb64): Rewrite without parens.
+ (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
+ * cache.c (insert, snip): Remove INLINE.
+ * linker.c (bfd_link_add_undef): Likewise.
+
+2003-06-29 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c: Convert to ISO C90 prototypes, remove
+ unnecessary prototypes. Replace PTR with void *.
+ (elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
+ trim plt entries. Move undefweak non-default visibility test ...
+ (allocate_dynrelocs): ... from here.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+ Change all callers.
+ (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL. Use
+ SYMBOL_REFERENCES_LOCAL for dynreloc check.
+ (elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
+ dynreloc and .got relocs.
+ (elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
+ for .got relocs.
+
+2003-06-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
+
+2003-06-27 Nick Clifton <nickc@redhat.com>
+
+ * opncls.c (bfd_add_gnu_debuglink_section): Rename to
+ bfd_add_gnu_debuglink_section and only create the section, do not
+ fill in its contents.
+ (bfd_fill_in_gnu_debuglink_section): New function. Fill in the
+ contents of a .gnu-debuglink section.
+ * bfd-in2.h: Regenerate.
+
+2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c: Revert .got alignment to 2**4.
+
+2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c: Fix addend for _gp_disp special symbol.
+
+2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
+ relocation header setup.
+
+2003-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
+ (ppc_elf_reloc_type_lookup): Modify comment.
+ (ppc_elf_info_to_howto): Ditto.
+ (ppc_elf_relocate_section): Ditto.
+ (ppc_elf_check_relocs): Call ppc_elf_howto_init.
+
+2003-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * aout-ns32k.c: Correct spelling of "relocatable".
+ * aoutx.h: Likewise.
+ * bfd-in.h: Likewise.
+ * bfd.c: Likewise.
+ * bout.c: Likewise.
+ * coff-a29k.c: Likewise.
+ * coff-alpha.c: Likewise.
+ * coff-arm.c: Likewise.
+ * coff-i386.c: Likewise.
+ * coff-i860.c: Likewise.
+ * coff-i960.c: Likewise.
+ * coff-m68k.c: Likewise.
+ * coff-m88k.c: Likewise.
+ * coff-mcore.c: Likewise.
+ * coff-mips.c: Likewise.
+ * coff-or32.c: Likewise.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * coff-sh.c: Likewise.
+ * coff-tic80.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * cofflink.c: Likewise.
+ * cpu-ns32k.c: Likewise.
+ * ecoff.c: Likewise.
+ * ecofflink.c: Likewise.
+ * elf-bfd.h: Likewise.
+ * elf-eh-frame.c: Likewise.
+ * elf-hppa.h: Likewise.
+ * elf-m10200.c: Likewise.
+ * elf-m10300.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-arm.h: Likewise.
+ * elf32-avr.c: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-d10v.c: Likewise.
+ * elf32-dlx.c: Likewise.
+ * elf32-fr30.c: Likewise.
+ * elf32-frv.c: Likewise.
+ * elf32-h8300.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-i860.c: Likewise.
+ * elf32-i960.c: Likewise.
+ * elf32-ip2k.c: Likewise.
+ * elf32-iq2000.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68hc11.c: Likewise.
+ * elf32-m68hc1x.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-mips.c: Likewise.
+ * elf32-msp430.c: Likewise.
+ * elf32-openrisc.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * elf32-xstormy16.c: Likewise.
+ * elf32-xtensa.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * elf64-mmix.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elfcode.h: Likewise.
+ * elflink.h: Likewise.
+ * elfn32-mips.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * i386linux.c: Likewise.
+ * ieee.c: Likewise.
+ * libcoff-in.h: Likewise.
+ * linker.c: Likewise.
+ * m68klinux.c: Likewise.
+ * pdp11.c: Likewise.
+ * pe-mips.c: Likewise.
+ * peXXigen.c: Likewise.
+ * reloc.c: Likewise.
+ * reloc16.c: Likewise.
+ * sparclinux.c: Likewise.
+ * sunos.c: Likewise.
+ * syms.c: Likewise.
+ * versados.c: Likewise.
+ * vms.c: Likewise.
+ * xcofflink.c: Likewise.
+ * bfd-in2.h: Regenerate.
+ * libcoff.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2003-06-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
+ local sym errors.
+
+ * elf32-i386.c: Convert to C90 function definitions, remove unnecessary
+ prototypes and casts. Replace PTR with void *. Formatting.
+ * elf32-ppc.c: Likewise. Break long strings too.
+ (ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
+ (ppc_elf_unhandled_reloc): Internationalize error message.
+ * elf32-ppc.h: Remove PARAMS.
+
+2003-06-23 Mark Mitchell <mark@codesourcery.com>
+
+ * elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
+ APUinfo slots.
+ (ppc_elf_final_write_processing): Likewise.
+
+2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (elf_link_input_bfd): Check raw size when using
+ kept_section to preserve debug information discarded by
+ linkonce.
+
+2003-06-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
+ (ppc64_elf_setup_section_lists): Set it.
+ (ppc64_elf_relocate_section): Check sym section id against top_id.
+ (ppc_build_one_stub): Comment on top_id.
+
+2003-06-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * config.bfd: Add tic4x-*-rtems*.
+
+2003-06-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
+ prototypes and casts. Replace PTR with void *. Format copyright.
+ Mention ABI links.
+ (struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
+ sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
+ (ppc_type_of_stub): Make r_type an enum.
+ (ppc64_elf_size_stubs): Likewise.
+ * elf64-ppc.h: Remove PARAMS macro.
+
+2003-06-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
+ elf hash tab fields.
+
+ * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
+ (ppc64_elf_info_to_howto): Likewise.
+ (ppc64_elf_build_stubs): Add "stats" param, and print statistics.
+ * elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
+
+2003-06-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
+ reloc overflow on discarded eh_frame entries.
+
+2003-06-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (toc_adjusting_stub_needed): New function.
+ (ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
+ Return error condition.
+ (ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
+ that have has_gp_reloc set.
+ (struct ppc_link_hash_table): Add stub_count.
+ (ppc_build_one_stub): Increment it.
+ (ppc64_elf_link_hash_table_create): zmalloc rather than clearing
+ individual fields.
+ * elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
+
+2003-06-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_gc_record_vtentry): Revert last change. Correct
+ size calculation from addend. Round size up.
+
+2003-06-18 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section) <case
+ R_CRIS_32_GOTREL>: When linking a program, don't complain about a
+ symbol from a normal object or an undefined weak symbol.
+
+2003-06-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
+ R_PPC64_TOC relocs.
+
+2003-06-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * section.c (struct sec): Put back kept_section.
+ (STD_SECTION): Put back kept_section initialization.
+ * bfd-in2.h: Regenerate.
+
+ * elflink.h (elf_link_input_bfd): Also check discarded linkonce
+ sections for relocateable output. Use kept_section to preserve
+ debug information discarded by linkonce.
+
+2003-06-17 Roland McGrath <roland@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Support
+ segment-relative relocation between different segments.
+
+2003-06-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
+ optimizations earlier.
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
+ Restore previous input_list type.
+ (ppc64_elf_link_hash_table_create): Undo last change.
+ (ppc64_elf_setup_section_lists): Reinstate code setting up input lists
+ per output section, but don't bother with bfd_abs_section marker.
+ (ppc64_elf_next_input_section): Adjust for multiple input section
+ lists.
+ (group_sections): Likewise.
+
+2003-06-17 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-ppc.c (ppc64_elf_relocation_section): Ensure
+ *r_offset == r_addend for RELATIVE relocs against .got.
+
+2003-06-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
+
+2003-06-17 Nick Clifton <nickc@redhat.com>
+
+ * elflink.h (elf_gc_record_vtentry): Allocate an extra element
+ in the vtable_entries_used array to allow for the accessing
+ the largest element.
+
+2003-06-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Remove top_index. Modify
+ input_list.
+ (ppc64_elf_link_hash_table_create): Init input_list here.
+ (ppc64_elf_setup_section_lists): Remove code setting up input lists
+ per output section. Set toc_off for abs and other standard sections.
+ (ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
+ (ppc64_elf_next_input_section): Adjust for single input section list.
+ Don't set toc_curr from input bfds that haven't set elf_gp.
+ (group_sections): Adjust for single input section list.
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
+
+2003-06-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
+ tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
+ dtprel entry. Ensure TLS_LD DTPMOD reloc has a zero addend. Write
+ got section for RELATIVE relocs. Fix wrong comment. Change condition
+ under which dynamic relocs update the section contents.
+
+2003-06-13 Robert Millan <zeratul2@wanadoo.es>
+
+ * config.bfd: Add i386-netbsd-gnu target.
+
+2003-06-12 Nick Clifton <nickc@redhat.com>
+
+ * opncls.c (calc_crc32): Rename to
+ bfd_calc_gnu_debuglink_crc32 and export.
+ (GNU_DEBUGLINK): Define and use to replace occurrences of
+ hard-coded ".gnu_debuglink" in the code.
+ (get_debug_link_info): Prevent aborts by replacing call to
+ xmalloc with a call to malloc.
+ (find_separate_debug_file): Prevent aborts by replacing calls
+ to xmalloc and xstrdup with calls to malloc and strdup.
+ (bfd_add_gnu_debuglink): New function. Add a .gnu_debuglink
+ section to a bfd.
+ * bfd-in2.h: Regenerate.
+
+2003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
+
+ * config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
+ New target (was i[3-7]86-*-openbsd* before).
+ (i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
+ (vax-*-openbsd*): New target.
+
+2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
+ for n32, too.
+ (MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
+ (mips_elf_rel_dyn_section): Use appropriate section alignment.
+ (mips_elf_create_got_section): Likewise.
+ (_bfd_mips_elf_create_dynamic_sections): Likewise.
+
+2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (mips_elf_generic_reloc): New Function.
+ (elf_mips_howto_table_rel): Use it.
+ (gprel32_with_gp): Move prototype.
+ (mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
+ Use mips_elf_generic_reloc.
+ (mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
+ Code cleanup.
+ (_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
+ zero addend.
+ (mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
+ as in the other *_gprel*_reloc functions.
+ (gprel32_with_gp): Handle partial_inplace properly.
+ (mips32_64bit_reloc): Use mips_elf_generic_reloc.
+ (mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
+ Do addend handling directly instead of calling
+ _bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
+ * elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
+ of zero addend. Handle partial_inplace properly.
+ (mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
+ addend.
+ (mips_elf64_gprel16_reloc): Likewise.
+ (mips_elf64_literal_reloc): Likewise.
+ (mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
+ logic as in the other *_gprel*_reloc functions. Handle
+ partial_inplace properly.
+ (mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
+ addend. Handle partial_inplace properly.
+ (mips16_gprel_reloc): Likewise. Do addend handling directly instead
+ of calling _bfd_mips_elf_gprel16_with_gp.
+ * elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
+ (mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
+ of zero addend.
+ (mips_elf_shift6_reloc): Handle partial_inplace properly.
+ (mips16_gprel_reloc): Likewise. Do addend handling directly instead
+ of calling _bfd_mips_elf_gprel16_with_gp.
+ * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
+ partial_inplace properly. Fix wrong addend handling. Fix overflow
+ check.
+ (_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
+ exported.
+ (mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
+ (_bfd_mips_elf_relocate_section): Likewise.
+ (mips_elf_create_dynamic_relocation): Update sec_info_type access.
+ * elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
+ (_bfd_mips_elf_sign_extend): New prototype.
+
+2003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
+
+ * config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
+ New target (was sparc-*-openbsd* before).
+ (sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
+
+ * configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
+ * configure: Regenerate.
+
+2003-06-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * po/Make-in (DESTDIR): New.
+ (install-data-yes): Support $(DESTDIR).
+ (uninstall): Likewise.
+
+2003-06-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (config.status): Depend on version.h.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2003-06-10 Alan Modra <amodra@bigpond.net.au>
+ Gary Hade <garyhade@us.ibm.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
+
+2003-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * archures.c (bfd_mach_h8300sxn): New architecture.
+ * bfd-in2.h: Regenerate.
+ * cpu-h8300.c (h8300_scan): Check for 'sxn'.
+ (h8300sxn_info_struct): New.
+ (h8300sx_info_struct): Link to it.
+ * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
+ (elf32_h8_final_write_processing): Likewise.
+
+2003-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
+ elfxx-target.h so that we can use elf_backend_got_header_size.
+ (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
+ (GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and
+ associated macros.
+ (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
+ dst_mask.
+ (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
+ ppc_stub_plt_branch_r2off.
+ (struct ppc_stub_hash_entry): Reorganize.
+ (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
+ toc_curr, toc_off and emit_stub_syms.
+ (ppc64_elf_link_hash_table_create): Init them.
+ (ppc_stub_name): Correct string size.
+ (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
+ (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
+ used.
+ (ppc_type_of_stub): Tweak root.type test.
+ (build_plt_stub): Remove glink code. Adjust for insn macro changes.
+ (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
+ ppc_stub_plt_branch_r2off.
+ (ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi
+ range test. Use toc_off to calculte r2 values. Handle emit_stub_syms.
+ (ppc64_elf_setup_section_lists): Remove htab creator flavour test.
+ Initialize elf_gp and toc_curr.
+ (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
+ (ppc64_elf_next_input_section): Set toc_off.
+ (group_sections): Ensure groups have the same TOC.
+ (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
+ (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
+ Build new glink stub.
+ (ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments.
+ (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
+ * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
+ (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
+ * section.c (struct sec): Rename flag12 to has_gp_reloc.
+ (STD_SECTION): Update.
+ * ecoff.c (bfd_debug_section): Update comment.
+ * bfd-in2.h: Regenerate.
+
+2003-06-05 Daniel Jacobowitz <drow@mvista.com>
+
+ * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
+ NULL function pointers.
+
+2003-06-05 Daniel Jacobowitz <drow@mvista.com>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Call
+ _bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
+
+2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
+ ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
+ swaptables.
+ * coff-tic4x.c: Ditto
+ * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
+ and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
+ CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
+ ticoff1_bad_format_hook() functions. Created the coff0 and coff1
+ swap tables.
+ * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
+ * coff-a29k.c: Append COFF_SWAP_TABLE argument
+ * coff-apollo.c: Ditto
+ * coff-arm.c: Ditto
+ * coff-h8300.c: Ditto
+ * coff-h8500.c: Ditto
+ * coff-i960.c: Ditto
+ * coff-m68k.c: Ditto
+ * coff-m88k.c: Ditto
+ * coff-mcore.c: Ditto
+ * coff-sh.c: Ditto
+ * coff-sparc.c: Ditto
+ * coff-tic80.c: Ditto
+ * coff-we32k.c: Ditto
+ * coff-z8k.c: Ditto
+ * coff-w65.c: Ditto
+
+2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
+ initialization bug
+
+2003-06-03 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
+ (bfd_section_from_phdr): Likewise.
+ (map_sections_to_segments): Create PT_GNU_STACK segment header.
+ (get_program_header_size): Count with PT_GNU_STACK.
+ * elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
+ * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
+
+2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (elf_link_input_bfd): Call linker error_handler
+ for discarded definitions.
+
+2003-06-03 Elias Athanasopoulos <elathan@phys.uoa.gr>
+
+ * syms.c (decode_section_type): Return 'n' if section flags are
+ SEC_HAS_CONTENTS && SEC_READONLY.
+
+2003-06-03 Nick Clifton <nickc@redhat.com>
+
+ * elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
+ R_V850_ABS32. Add entry for R_V850_REL32.
+ (v850_elf_reloc_map): Likewise.
+ (v850_elf_check_relocs): Likewise.
+ (v850_elf_perform_relocation): Likewise.
+ (v850_elf_final_link_relocate): Likewise. Include computation
+ to make R_V850_REl32 pc-relative.
+
+2003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
+ and DT_DEBUG dynamic tag even for position independent executables.
+ * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
+
+2003-06-02 Daniel Jacobowitz <drow@mvista.com>
+
+ * config.bfd: Move obsolete entries out of the range of the
+ targmatch sed script.
+
+2003-06-02 Daniel Jacobowitz <drow@mvista.com>
+
+ * config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
+
+2003-05-31 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
+ plt entries, not just 8191.
+
+2003-05-30 Daniel Jacobowitz <drow@mvista.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
+ Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
+
+2003-05-30 Ulrich Drepper <drepper@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_link_add_object_symbols): Use !info->executable
+ instead of info->shared where appropriate.
+ (bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
+ * elflink.c (_bfd_elf_create_got_section): Likewise.
+ (_bfd_elf_link_create_dynamic_sections): Likewise.
+ (_bfd_elf_link_assign_sym_version): Likewise.
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
+ and DT_DEBUG dynamic tag even for position independent executables.
+ * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
+ * elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
+ * elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
+ * elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
+ * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
+ * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
+ * elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
+ * elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
+ * elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
+
+2003-05-30 Kris Warkentin <kewarken@qnx.com>
+
+ * elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
+ signalled thread.
+ (elfcore_grok_nto_gregs): Only make .reg section for the active thread.
+
+2003-05-29 Nick Clifton <nickc@redhat.com>
+
+ * pef.c: Include "safe-ctype.h" instead of <ctype.h>.
+ Tidy up formatting.
+ * Makefile.am: Add dependency on safe-ctype.h.
+ * Makefile.in: Regenerate.
+
+2003-05-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c: Don't force symbols local unconditionally.
+
+2003-05-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
+ undefined_symbol call.
+
+2003-05-27 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
+ (mips_elf_link_hash_table): Likewise.
+
+2003-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
+ R_MIPS_GNU_REL16_S2 support.
+ (bfd_elf64_bfd_reloc_type_lookup): Use it.
+ (mips_elf64_rtype_to_howto): Use it.
+ * elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
+ R_MIPS_GNU_REL16_S2 support.
+ (bfd_elf32_bfd_reloc_type_lookup): Use it.
+ (mips_elf_n32_rtype_to_howto): Use it.
+
+2003-05-21 Stuart F. Downing <sdowning@fame.com>
+
+ * som.h: Define PA_2_0 before including a.out.h
+
+2003-05-07 Eric Christopher <echristo@redhat.com>
+ Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
+ pic tests, change to warning.
+ (_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
+
+2003-05-21 Marcus Comstedt <marcus@mc.pp.se>
+
+ * config.bfd: Check for a target triplet of shl-...-netbsdelf as
+ well as shle-...-netbsdelf. Remove duplicate entry.
+
+2003-05-21 Nick Clifton <nickc@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
+ for X_STORMY16_REL_12 reloc.
+
+ * elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
+ the type of the hash table in the bfd_link_info structure.
+ (bfd_elf_get_runpath_list): Likewise.
+
+2003-05-19 Roland McGrath <roland@redhat.com>
+
+ * elf.c (bfd_elf_bfd_from_remote_memory): New function.
+ * bfd-in.h: Declare it.
+ * bfd-in2.h: Regenerated.
+ * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
+ * elf-bfd.h (struct elf_backend_data): New function pointer member
+ elf_backend_bfd_from_remote_memory.
+ (_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
+ Declare them.
+ * elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
+ (elfNN_bed): Add that to the initializer.
+
+2003-05-15 Roland McGrath <roland@redhat.com>
+
+ * elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
+
+2003-05-20 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_link_output_extsym): Only issue error about !=
+ STV_DEFAULT symbols if they are bfd_link_hash_undefined.
+
+2003-05-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
+ when removing the old definition for symbols with non-default
+ visibility.
+
+2003-05-18 Jason Eckhardt <jle@rice.edu>
+
+ * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
+
+2003-05-17 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
+ elf_section_data during processing of pc-relative and absolute
+ relocations.
+ (elf_m68k_relocate_section): Use the cached reloc section instead
+ of computing it again. Fix handling of visibility. Don't modify
+ addend when copying over a relocation into the output.
+
+2003-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
+ to trim plt entries. Move undefweak non-default visibility test..
+ (allocate_dynrelocs): ..from here.
+ * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
+ dynamic_sections_created here. Update comment. Move undefweak
+ non-default visibility test..
+ (allocate_dynrelocs): ..from here. Fix comment.
+ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
+ to trim plt entries. Move undefweak non-default visibility test..
+ (allocate_dynrelocs): ..from here. Fix comment.
+ * elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
+ STV_DEFAULT rather than comparing with zero.
+ * elflink.c (_bfd_elf_merge_symbol): Likewise.
+ (_bfd_elf_fix_symbol_flags): Likewise. Format comment.
+
+2003-05-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
+ pointers.
+ (_bfd_set_gp_value): Likewise.
+
+2003-05-16 Michael Snyder <msnyder@redhat.com>
+ From Bernd Schmidt <bernds@redhat.com>
+ * archures.c (bfd_mach_h8300sx): New.
+ * bfd-in2.h: Regenerate.
+ * cpu-h8300.c (h8300_scan)): Add support for h8300sx.
+ (h8300sx_info_struct): New.
+ (h8300s_info_struct): Link to it.
+ * elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
+ (elf32_h8_final_write_processing): Likewise.
+ (elf32_h8_relax_section): Likewise.
+
+2003-05-16 Kelley Cook <kelleycook@wideopenwest.com>
+
+ * config.bfd: Accept i[3-7]86 variants.
+ * configure.host: Likewise.
+ * configure.in: Likewise.
+ * configure: Regenerate.
+
+2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
+ symbol.
+
+2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (elf_link_check_versioned_symbol): Also allow
+ the base version.
+
+2003-05-15 Alan Modra <amodra@bigpond.net.au>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
+ (elf_i386_relocate_section): Likewise.
+ * elf32-ppc.c (allocate_dynrelocs): Likewise.
+ (ppc_elf_relocate_section): Likewise.
+ * elf64-ppc.c (allocate_dynrelocs): Likewise.
+ (ppc64_elf_relocate_section): Likewise.
+
+2003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
+
+2003-05-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
+ processor capability, allow merge of HC12 and HCS12 in some cases.
+ (m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
+ * cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
+ (bfd_m68hc12_arch): Link it.
+ (scan_mach): New function.
+
+2003-05-13 Andrew Haley <aph@redhat.com>
+
+ * elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
+
+2003-05-13 Alan Modra <amodra@bigpond.net.au>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
+ elf32-ppc.c. Add ELF_LINK_FORCED_LOCAL check.
+ * elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
+ (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
+ (ppc_elf_relocate_section): Likewise.
+ * elf64-ppc.c (allocate_dynrelocs): Likewise.
+ (ppc64_elf_relocate_section): Likewise. Use for .got relocs too.
+ (ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
+ relocs need no other types.
+ * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
+ dynreloc check.
+ (elf_i386_relocate_section): Likewise. Use for .got relocs too.
+ (elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
+ .got relocs.
+
+2003-05-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
+ copy ELF_LINK_NON_GOT_REF from weakdef.
+ (allocate_dynrelocs): For undef weak syms with non-default
+ visibility, a) don't allocate plt entries, b) don't allocate
+ .got relocs, c) discard dyn rel space
+ (sh_elf_relocate_section): d) don't generate .got relocs, e)
+ don't generate dynamic relocs.
+ (sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
+ for weakdefs when symbol already adjusted.
+
+2003-05-12 Nick Clifton <nickc@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
+ overflow detection for R_XSTORMY16_16 reloc.
+
+2003-05-12 Paul Clarke <paulc@senet.com.au>
+
+ * elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
+
+2003-05-11 Jason Eckhardt <jle@rice.edu>
+
+ * elf32-i860.c (elf32_i860_relocate_highadj): Properly
+ adjust upper bits.
+ (elf32_i860_relocate_splitn): Obtain upper 5 bits from the
+ proper place.
+ (elf32_i860_relocate_pc16): Obtain upper 5 bits from the
+ proper place.
+
+2003-05-11 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
+ complicated tests for unresolvable relocs with a simple direct
+ scheme using "unresolved_reloc" var. Report some detail on
+ bfd_reloc_outofrange and similar errors.
+
+2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
+ Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+ * elf64-s390.c: Likewise.
+
+2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
+ (elf_s390_adjust_dynamic_symbol): For weak symbols, copy
+ ELF_LINK_NON_GOT_REF from weakdef.
+ (elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
+ already been adjusted before treating it specially.
+ * el64-s390.c: Likwise.
+
+2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (allocate_dynrelocs): For undef weak syms with
+ non-default visibility, a) don't make them dynamic, b) discard
+ space for dynamic relocs.
+ (elf_s390_relocate_section): Initialize the GOT entries and skip
+ R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
+ symbols with non-default visibility.
+ * elf64-s390.c: Likewise.
+
+2003-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * cpu-arm.c (arm_check_note): Warning fix.
+ * elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange
+ to keep relocs if edited.
+ (iq2000_elf_print_private_bfd_data): Return TRUE.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
+ ELF64_R_SYM.
+ (elfNN_ia64_relax_ldxmov): Warning fix.
+ * xtensa-isa.c (xtensa_add_isa): Warning fix.
+ * xtensa-modules.c (get_num_opcodes): Warning fix.
+
+2003-05-09 Andrey Petrov <petrov@netbsd.org>
+
+ * elf.c (elf_fake_sections): Use correct cast for sh_name.
+
+2003-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
+ elflink.h. Replace LOG_FILE_ALIGN with bed->s->log_file_align.
+ (_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
+ (bfd_elf_record_link_assignment): Move from elflink.h.
+ (_bfd_elf_merge_symbol): Likewise.
+ (_bfd_elf_add_default_symbol): Likewise.
+ (_bfd_elf_export_symbol): Likewise.
+ (_bfd_elf_link_find_version_dependencies): Likewise.
+ (_bfd_elf_link_assign_sym_version): Likewise.
+ (_bfd_elf_link_read_relocs): Likewise.
+ (_bfd_elf_link_size_reloc_section): Likewise.
+ (_bfd_elf_fix_symbol_flags): Likewise.
+ (_bfd_elf_adjust_dynamic_symbol): Likewise.
+ (_bfd_elf_link_sec_merge_syms): Likewise.
+ (elf_link_read_relocs_from_section): Likewise. Use bed->s->sizeof_rel
+ and bed->s->sizeof_rela.
+ (_bfd_elf_link_output_relocs): Likewise.
+ * elf-bfd.h (struct elf_size_info): Rename file_align to
+ log_file_align.
+ (struct elf_info_failed): Move from elflink.h.
+ (struct elf_assign_sym_version_info): Likewise.
+ (struct elf_find_verdep_info): Likewise.
+ (_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
+ (_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
+ _bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
+ _bfd_elf_link_assign_sym_version,
+ _bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
+ _bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
+ _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
+ _bfd_elf_link_sec_merge_syms): Declare.
+ (bfd_elf32_link_create_dynamic_sections): Don't declare.
+ (_bfd_elf32_link_read_relocs): Likewise.
+ (bfd_elf64_link_create_dynamic_sections): Likewise.
+ (_bfd_elf64_link_read_relocs): Likewise.
+ * elflink.h: Move lots o' stuff elsewhere.
+ * bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
+ (bfd_elf64_record_link_assignment): Likewise.
+ (bfd_elf_record_link_assignment): Declare.
+ * bfd-in2.h: Regenerate.
+ * elfcode.h (elf_link_create_dynamic_sections): Don't declare.
+ (NAME(_bfd_elf,size_info)): Adjust for log_file_align.
+ * elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
+ (assign_file_positions_for_segments): Likewise.
+ (assign_file_positions_except_relocs): Likewise.
+ (swap_out_syms, elfcore_write_note): Likewise.
+ * elf-m10200.c: Adjust for changed function names.
+ * elf-m10300.c: Likewise.
+ * elf32-arm.h: Likewise.
+ * elf32-h8300.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-ip2k.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68hc11.c: Likewise.
+ * elf32-m68hc1x.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mips.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf32-xtensa.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-mmix.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ (MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
+ * elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
+ * elf64-hppa.c (hppa64_elf_size_info): Likewise.
+ * elf64-mips.c (mips_elf64_size_info): Likewise.
+ * elf64-s390.c (s390_elf64_size_info): Likewise.
+ * elf64-sparc.c (sparc64_elf_size_info): Likewise.
+
+2003-05-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (elf_add_default_symbol): After skipping the
+ unversioned symbol, go to non-default one.
+
+2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
+ want_plt field.
+ (elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
+ for symbols with non-default visibility.
+
+2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (elf_link_check_versioned_symbol): Also handle the
+ case that a DSO references a hidden symbol which may be
+ satisfied by a versioned symbol in another DSO.
+ (elf_link_output_extsym): Check versioned definition for hidden
+ symbol referenced by a DSO.
+
+2003-05-07 Nick Clifton <nickc@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
+ R_XSTORMY16_16 reloc to ignore overflows.
+
+2003-05-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
+ error message for mixing different-endian files. Check for ABI
+ compatibility of input files with the selected emulation.
+
+2003-05-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (allocate_dynrelocs): For undef weak syms with
+ non-default visibility, a) don't make them dynamic, b) discard
+ space for dynamic relocs.
+ * elf64-x86-64.c (allocate_dynrelocs): Likewise.
+
+ * elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
+ non-default visibility, a) don't allocate plt entries, b) don't
+ allocate .got relocs, c) discard dyn rel space,
+ (ppc_elf_relocate_section): d) don't generate .got relocs, e)
+ don't generate dynamic relocs.
+ * elf64-ppc.c (allocate_dynrelocs): As above.
+ (ppc64_elf_relocate_section): As above.
+
+2003-05-05 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
+ relocation entries for weak undefined symbols with non-default
+ visibility.
+ (elf64_x86_64_relocate_section): Initialize the GOT entries and
+ skip R_386_32/R_386_PC32 for weak undefined symbols with
+ non-default visibility.
+
+2003-05-04 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
+ relocation entries for weak undefined symbols with non-default
+ visibility.
+ (elf_i386_relocate_section): Initialize the GOT entries and
+ skip R_386_32/R_386_PC32 for weak undefined symbols with
+ non-default visibility.
+
+ * elfxx-ia64.c (allocate_fptr): Don't allocate function
+ descriptors for weak undefined symbols with non-default
+ visibility.
+ (allocate_dynrel_entries): Don't allocate relocation entries
+ for symbols resolved to 0.
+ (set_got_entry): Don't install dynamic relocation for weak
+ undefined symbols with non-default visibility.
+ (set_pltoff_entry): Likewise.
+
+ * elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
+ with non-default visibility.
+ (elf_link_output_extsym): Don't make weak undefined symbols
+ with non-default visibility dynamic.
+
+2003-05-04 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_merge_symbol): Correctly handle weak definition.
+
+2003-05-04 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_merge_symbol): Don't record a hidden/internal
+ symbol dynamic. Check indirection when removing the old
+ definition for symbols with non-default visibility.
+ (elf_add_default_symbol): Skip when told by elf_merge_symbol.
+
+2003-05-02 Nick Clifton <nickc@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
+ R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
+ unsigned overflow.
+
+2003-05-02 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
+ ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
+ (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
+ (elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
+ ELF_LINK_NON_GOT_REF from weakdef.
+
+2003-05-02 Charles Lepple <clepple@ghz.cc>
+ Nick Clifton <nickc@redhat.com>
+
+ * acinclude.m4: Fix name of --enable-install-libbfd switch.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+2003-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
+ weakdef sym has already been adjusted before treating it specially.
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
+ ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+ (ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
+
+2003-04-28 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
+ the relax finalize pass.
+
+ * section.c (struct sec): Add need_finalize_relax and remove
+ flag11.
+ (STD_SECTION): Update struct sec initializer.
+ * bfd-in2.h: Regenerated.
+
+2003-04-28 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
+ to copy any information related to dynamic linking when we flip
+ the indirection.
+
+2003-04-27 H.J. Lu <hjl@gnu.org>
+
+ * elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
+ (ELF_LINK_DYNAMIC_WEAK): New.
+
+ * elflink.h (elf_merge_symbol): Add one argument to indicate if
+ a symbol should be skipped. Ignore definitions in dynamic
+ objects for symbols with non-default visibility.
+ (elf_add_default_symbol): Adjusted.
+ (elf_link_add_object_symbols): Check if a symbol should be
+ skipped. Don't merge the visibility field with the one from
+ a dynamic object.
+ (elf_link_check_versioned_symbol): Use undef_bfd.
+ (elf_link_output_extsym): Warn if a forced local symbol is
+ referenced from dynamic objects. Make non-weak undefined symbol
+ with non-default visibility a fatal error.
+
+2003-04-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * configure.in: Bump version on HEAD to 2.14.90.
+ * configure: Regenerated.
+
+2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
+
+ PR savannah/3331:
+ * elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
+ when we couldn't relax something.
+
+2003-04-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_merge_symbol): When we find a regular definition
+ for an indirect symbol, flip the indirection so that the old
+ direct symbol now points to the new definition.
+
+2003-04-24 Roland McGrath <roland@redhat.com>
+
+ * elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
+
+2003-04-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c: Formatting and comment fixes.
+ (ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
+ (ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
+
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
+ * bfd-in2.h: Rebuilt.
+ * coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
+ * coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
+ & H8300SNMAGIC.
+ (coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
+ * cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
+ (h8300sn_info_struct, h8300hn_info_struct): New.
+ * elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
+ (elf32_h8_final_write_processing): Likewise.
+
+2003-04-23 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (tpoff): New.
+ (struct elf_sh_dyn_relocs): Remove tls_tpoff32.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+ (allocate_dynrelocs): Don't make unnecessary dynamic TLS
+ relocations. Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
+ (sh_elf_relocate_section): Likewise. Remove unnecessary tests.
+ (dtpoff_base): Fix wrong indentation.
+ (sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
+ relocations. Don't set tls_tpoff32 flag. Don't make unnecessary
+ R_SH_TLS_TPOFF32 relocations.
+
+2003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
+ * cpu-sh.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * reloc.c (bfd_reloc_code_real): Likewise.
+ * elf32-sh64-com.c: Change comment to refer to SuperH.
+ * elf32-sh64.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * bfd-in2.h (enum bfd_architecture): Regenerate.
+
+2003-04-23 Alan Modra <amodra@bigpond.net.au>
+
+ From Julien LEMOINE <speedblue@debian.org>
+ * elf32-i386.c (elf_i386_info_to_howto): Delete.
+ (elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
+
+2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * archures.c: Replace references to Mitsubishi M32R with references
+ to Renesas M32R.
+ * relocs.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2003-04-21 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
+ executable when a symbol is defined both regular and dynamic.
+
+2003-04-21 Stephane Carrez <stcarrez@nerim.fr>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
+ (elf32-m68hc1x.lo): Update dependencies
+ * configure.in: Add elf32-m68hc1x.lo.
+ * configure: Rebuild.
+ * Makefile.in: Rebuild.
+
+2003-04-21 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
+ (m68hc11_elf_hash_table_create): New function.
+ (elf32_m68hc11_link_hash_table_free): New function.
+ (stub_hash_newfunc): New function.
+ (m68hc11_add_stub): New function.
+ (elf32_m68hc11_add_symbol_hook): New function.
+ (elf32_m68hc11_setup_section_lists): New function.
+ (elf32_m68hc11_next_input_section): New function.
+ (elf32_m68hc11_size_stubs): New function.
+ (elf32_m68hc11_build_stubs): New function.
+ (m68hc11_get_relocation_value): New function.
+ (elf32_m68hc11_relocate_section): Call the above to redirect
+ some relocations to the trampoline code.
+ (m68hc11_elf_export_one_stub): New function.
+ (m68hc11_elf_set_symbol): New function.
+ (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
+ (m68hc11_elf_get_bank_parameters): Get parameters only when the info
+ is not yet initialized.
+
+ * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
+ (elf32_m68hc11_stub_hash_entry): New struct.
+ (m68hc11_page_info): Add trampoline handler address.
+ (m68hc11_elf_link_hash_table): Add stubs generation members.
+ (elf32_m68hc11_add_symbol_hook): Declare.
+ (elf32_m68hc11_setup_section_lists): Declare.
+ (elf32_m68hc11_size_stubs): Declare.
+ (elf32_m68hc11_build_stubs): Declare.
+
+ * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
+ (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
+ (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
+ (_bfd_m68hc11_elf_set_private_flags): Ditto.
+ (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
+ (_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
+ (bfd_elf32_bfd_link_hash_table_create): Define.
+ (elf_backend_add_symbol_hook): Define.
+ (m68hc11_elf_bfd_link_hash_table_create): New function.
+ (m68hc11_elf_build_one_stub): New function.
+ (m68hc11_elf_size_one_stub): New function.
+ (m68hc11_elf_bfd_link_hash_table_create): Install the above.
+ (bfd_elf32_bfd_link_hash_table_create): Define.
+
+ * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
+ (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
+ (m68hc12_phys_addr): Ditto.
+ (m68hc12_phys_page): Ditto.
+ (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
+ (elf32_m68hc11_gc_mark_hook): Likewise.
+ (elf32_m68hc11_gc_sweep_hook): Likewise.
+ (elf32_m68hc11_check_relocs): Likewise.
+ (elf32_m68hc11_relocate_section): Likewise.
+ (_bfd_m68hc12_elf_set_private_flags): Likewise.
+ (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
+ (_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
+ (m68hc12_elf_build_one_stub): New function.
+ (m68hc12_elf_size_one_stub): New function.
+ (m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
+ (elf_backend_add_symbol_hook): Define.
+ (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
+
+2003-04-18 Nick Clifton <nickc@redhat.com>
+
+ * format.c (bfd_check_format_matches): Only check associated
+ vector if the matching_vector has been created.
+
+2003-04-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
+ 2003-04-09's change.
+
+2003-04-15 Brian Ford <ford@vss.fsi.com>
+
+ * peicode.h (coff_swap_scnhdr_in): If a section holds
+ uninitialized data and is from an object file or from an
+ executable image that has not initialized the s_size field, or if
+ the physical size is padded, use the virtual size (stored in
+ s_paddr) instead.
+
+2003-04-15 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Properly report
+ filename for alignment reduction.
+
+2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+ * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
+ * reloc.c: Likewise.
+ * coff-h8300.c: Likewise.
+ * coff-h8500.c: Likewise.
+ * coff-sh.c: Likewise.
+ * cpu-h8300.c: Likewise.
+ * cpu-sh.c: Likewise.
+ * elf32-h8300.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sh64-com.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2003-04-14 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Maintain maximum
+ alignment for common symbols. Warn reducing alignment for
+ common symbols. Report old filename when symbol size changes.
+
+2003-04-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
+ occurrences of the same test changed in the previous patch.
+ Optimize.
+
+2003-04-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
+ (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
+ GOT_DISP/addend only if the symbol got a global GOT entry.
+
+2003-04-10 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Decay
+ GOT_PAGE/GOT_OFST referencing overridable symbol to
+ GOT_DISP/addend.
+ (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
+ global symbol as GOT_DISP.
+
+2003-04-10 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
+ next relocation on an undefined symbol.
+
+2003-04-09 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
+ Ignore relocations against r_symndx == 0.
+
+2003-04-09 H.J. Lu <hjl@gnu.org>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Don't return
+ FALSE for undefined symbols.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+2003-04-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
+ and IRIX-specific shift-to-64-bit 4-byte lengths before following
+ addr_size.
+
+2003-04-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
+ pointer size from ABI, not arch_bits_per_address.
+
+2003-04-07 Kevin Buettner <kevinb@redhat.com>
+
+ * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
+ constants for n32 ABI.
+
+2003-04-06 Andrew Cagney <cagney@redhat.com>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Disable
+ free that leads to GDB vs BFD memory corruption.
+
+2003-04-04 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
+ symbols that mark the end of the section.
+ (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
+ converting to a relative branch so that the offset is computed after
+ the relaxation; also relocate a jsr into a bsr if possible but don't
+ relax them if they are to a far symbol as we need to call the
+ trampoline code.
+ (elf_m68hc11_howto_table): Set pcrel_offset to true.
+
+2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * archures.c: Namespace cleanup. Rename bfd_mach_c3x to
+ bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
+ * bfd-in2.h: Regenerate
+ * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
+ * cpu-tic4x.c: Ditto
+
+2003-04-03 Nick Clifton <nickc@redhat.com>
+
+ * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
+ differently for object files and executables.
+ * peicode.h (coff_swap_scnhdr_in): Only set the s_size field
+ for object files or for executables who have not already
+ initialised the field.
+ * libpei.h (bfd_pe_executable_p): New macro. Return true if
+ the PE format bfd is an executable.
+
+2003-04-03 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
+ here as it's too early to reliably determine locality.
+ (ppc_elf_gc_sweep_hook): Likewise.
+ (SYMBOL_REFERENCES_LOCAL): Expand comment.
+
+2003-04-02 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-modules.c: Remove comment indicating that this is a
+ generated file.
+
+2003-04-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
+
+2003-04-01 Bob Wilson <bob.wilson@acm.org>
+
+ * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
+ (ALL_MACHINES_CFILES): Add cpu-xtensa.c.
+ (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
+ xtensa-modules.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
+ xtensa-modules.c.
+ (cpu-xtensa.lo): New target.
+ (elf32-xtensa.lo): Likewise.
+ (xtensa-isa.lo): Likewise.
+ (xtensa-modules.lo): Likewise.
+ * Makefile.in: Regenerate.
+ * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
+ (bfd_archures_list): Add bfd_xtensa_arch.
+ * config.bfd: Handle xtensa-*-*.
+ * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
+ * configure: Regenerate.
+ * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
+ PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
+ * targets.c (bfd_elf32_xtensa_be_vec): Declare.
+ (bfd_elf32_xtensa_le_vec): Likewise.
+ (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
+ * cpu-xtensa.c: New file.
+ * elf32-xtensa.c: Likewise.
+ * xtensa-isa.c: Likewise.
+ * xtensa-modules.c: Likewise.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Likewise.
+
+2003-04-01 Nick Clifton <nickc@redhat.com>
+
+ * archures.c (bfd_mach_arm_unknown): Define.
+ * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
+ bfd_arm_get_mach_from_notes): Prototype.
+ * bfd-in2.h: Regenerate.
+ * coff-arm.c (coff_arm_merge_private_bfd_data): Call
+ bfd_arm_merge_machines.
+ (coff_arm_final_link_postscript): Call bfd_arm_update_notes.
+ * coffcode.h (coff_set_arch_mach_hook): Call
+ bfd_arm_get_mach_from_notes.
+ * coffgen.c (coff_real_object_p): Revert previous delta.
+ * cpu_arm.c (arm_check_note): New function. Examine a note in a
+ .note section.
+ (bfd_arm_merge_machines): New function: Handle the merging of ARM
+ binaries compiled for different architectures..
+ (bfd_arm_update_notes): New function: Update an ARM note section.
+ (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
+ number from an ARM note section.
+ * elf32-arm.h (elf32_arm_object_p): Use
+ bfd_arm_get_mach_from_notes.
+ (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
+ (elf32_arm_final_write_processing): Use bfd_arm_update_notes.
+
+2003-04-01 Ben Elliston <bje@wasabisystems.com>
+
+ * dwarf2.c (read_attribute_value): Correct typo in comment.
+
+2003-04-01 Nick Clifton <nickc@redhat.com>
+
+ * dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
+ instead of concat().
+ (decode_line_info): Only free filename if it is not NULL.
+ (add_line_info): Make a copy of the filename when storing it into
+ the info structure.
+
+2003-03-31 Andreas Schwab <schwab@suse.de>
+ Daniel Jacobowitz <drow@mvista.com>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Add
+ parameter symbol_table. Optionally use it instead of the symbol
+ table from the bfd. Save and restore output offsets and output
+ sections around bfd_get_relocated_section_contents. Fix a memory
+ leak.
+ (simple_save_output_info, simple_restore_output_info): New
+ functions.
+ * bfd-in2.h: Regenerate.
+ * dwarf2.c (read_abbrevs): Use
+ bfd_simple_get_relocated_section_contents instead of
+ bfd_get_section_contents.
+ (decode_line_info): Likewise.
+ (_bfd_dwarf2_find_nearest_line): Likewise. Don't call
+ find_rela_addend.
+ (find_rela_addend): Remove.
+ * elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
+ debugging sections.
+ (elfNN_ia64_hash_table_create): Create the hash table with malloc,
+ not bfd_zalloc.
+
+2003-03-31 David Heine <dlheine@suif.stanford.edu>
+
+ * aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
+ bfd_alloc.
+ * dwarf2.c (concat_filename): Always allocate space for the
+ returned filename.
+ (decode_line_info): Free the allocated filename returned by
+ concat_filename.
+ * elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
+ * elf.c (copy_private_bfd_data): Likewise.
+ (_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
+ * elflink.h (elf_link_sort_relocs): Fix memory leak.
+ * format.c (bfd_check_format_matches): Likewise.
+ * linker.c (bfd_generic_final_link): Likewise.
+ * opncls.c (find_separate_debug_info): Likewise.
+ * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
+
+2003-03-28 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Correctly combine
+ visibilities.
+
+2003-03-27 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
+ to -1 before recomputing got offsets.
+
+2003-03-26 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ (elf_m68k_relocate_section): Use it to correctly handle symbols
+ forced to be local.
+ (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
+ entries for symbols that are forced to be local.
+
+2003-03-25 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_relax_section): New function.
+ * elfxx-mips.h (_bfd_mips_relax_section): Declare.
+ * elfn32-mips.c, elf64-mips.c: Use it.
+
+2003-03-25 Stan Cox <scox@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ Contribute support for Intel's iWMMXt chip - an ARM variant:
+
+ * archures.c: Add bfd_mach_arm_iWMMXt.
+ * reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
+ object files to be linked with XScale ones.
+ (coff_arm_final_link_postscript): Update note section.
+ * coffcode.h (coff_set_arch_mach_hook): Handle note section.
+ * coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
+ after identifying a coff binary.
+ * cpu-arm.c (processors): Add iWMMXt.
+ (arch_inf): Likewise.
+ * elf32-arm.h (arm_object_p): Handle note section.
+ (elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
+ be linked with XScale ones.
+ (elf32_arm_section_flags): New function: Set flags on note section.
+ (elf32_arm_final_write_processing): Handle note section.
+
+2003-03-21 DJ Delorie <dj@redhat.com>
+
+ * elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
+ _bfd_elf_rela_local_sym.
+
+2003-03-20 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
+ non-ELF outputs.
+
+2003-03-20 Nick Clifton <nickc@redhat.com>
+
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
+ $idata5 in case bfd_coff_final_link is not called.
+
+2003-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
+ field.
+ (canon_reloc_count): Define.
+ (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
+ sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
+ reloc_count.
+ (sparc64_elf_canonicalize_reloc): New routine.
+ (bfd_elf64_canonicalize_reloc): Define.
+
+2003-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
+ againt mergeable sections. Take r_addend into account when caching
+ trampolines.
+
+2003-03-18 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
+ local symbols that have no dyninfo.
+
+2003-03-14 Gene Smith <gene.smith@siemens.com>
+
+ * ieee.c (ieee_write_expression): Handle the case where symbol is
+ NULL.
+ General formatting improvements.
+
+2003-03-13 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (LINGUAS): Add zh_CN.
+ * configure: Regenerate.
+ * po/zh_CN.po: New file.
+
+2003-03-13 Elias Athanasopoulos <elathan@phys.uoa.gr>
+
+ * aout-cris.c (BYTES_IN_WORD): Don't define.
+ aout-encap.c: Likewise.
+ aout-ns32k.c: Likewise.
+ aout-tic30.c: Likewise.
+ hp300bsd.c: Likewise.
+ i386aout.c: Likewise.
+ i386dynix.c: Likewise.
+ i386linux.c: Likewise.
+ i386lynx.c: Likewise.
+ i386mach3.c: Likewise.
+ m68k4knetbsd.c: Likewise.
+ m68klinux.c: Likewise.
+ m68klynx.c: Likewise.
+ m68knetbsd.c: Likewise.
+ m88kmach3.c: Likewise.
+ mipsbsd.c: Likewise.
+ newsos3.c: Likewise.
+ sparclinux.c: Likewise.
+ sparclynx.c: Likewise.
+ sparcnetbsd.c: Likewise.
+ vaxbsd.c: Likewise. Fix comment formatting.
+
+2003-03-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * Reverted 2003-03-02's patch.
+
+ * elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
+ overridable.
+ * elf64-mips.c (mips_elf64_canonicalize_reloc,
+ mips_elf64_get_dynamic_reloc_upper_bound,
+ mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
+ (bfd_elf64_get_canonicalize_reloc,
+ bfd_elf64_get_dynamic_reloc_upper_bound,
+ bfd_elf64_canonicalize_dynamic_reloc): Define.
+ (mips_elf64_slurp_reloc_table): Support dynamic.
+ (mips_elf64_slurp_one_reloc_table): Adjust.
+
+2003-03-12 Nick Clifton <nickc@redhat.com>
+
+ * xsym.c (bfd_sym_fetch_type_information_table_entry): Change
+ 'index' to 'offset' in test for zero value.
+
+2003-03-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
+ dynamic relocations pointing to local or section symbols, use the
+ NULL symbol instead. Document the choice to not emit an
+ additional R_MIPS_64 relocation.
+
+2003-03-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
+ zero index dynamic tls relocs generated for the GOT. Tidy code.
+ Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+
+2003-03-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
+ a tls_get_addr call.
+
+ * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
+ (ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
+ ELF_LINK_NON_GOT_REF from weakdef.
+ * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
+ (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
+ ELF_LINK_NON_GOT_REF from weakdef.
+ * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
+ (elf_i386_adjust_dynamic_symbol): For weak symbols, copy
+ ELF_LINK_NON_GOT_REF from weakdef.
+
+2003-03-06 Jakub Jelinek <jakub@redhat.com>
+ Andrew Haley <aph@redhat.com>
+
+ * elflink.h (elf_bfd_discard_info): Don't process eh frames if
+ output is relocateable.
+
+2003-03-06 Steven Konopa <skonopa@kgo.csc.com>
+
+ * som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
+ R_COMMENT.
+
+2003-03-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
+ error messages.
+ (ELIMINATE_COPY_RELOCS): Define to zero.
+ (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
+ TLSLD relocs. Report reloc types on a number of errors. Optimize
+ LOCAL24PC check for non-local syms. Don't capitalize error messages.
+ * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
+ (ppc64_elf_relocate_section): Don't deref htab->tls_sec when
+ calculating TLSLD relocs. Report reloc types on a number of errors.
+ Don't capitalize error messages.
+
+2003-03-03 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-ia64.c (USE_BRL): Removed.
+ (oor_ip): Removed.
+
+2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
+ relocation (no special function), and make it non-partial_inplace.
+ (sh_elf_relax_section): When creating a bsr, use a consistent value
+ no matter if the symbol is extern or not; set addend to -4.
+ Don't swap load / non-load instructions for SH4.
+ (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
+ rather than if the symbol is external to determine if adjusting the
+ offset makes sense. Adjust the addend too if appropriate.
+ (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
+ relocation.
+
+2003-03-03 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: Installed latest translation.
+
+2003-03-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (elf_mips_howto_table_rel): Change definition of
+ R_MIPS_PC16 to rightshift 2.
+ (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
+ (bfd_elf32_bfd_reloc_type_lookup): Support
+ BFD_RELOC_MIPSEMB_16_PCREL_S2.
+ * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
+ R_MIPS_PC16 to rightshift 2.
+ (mips_elf64_howto_table_rela): Likewise.
+ (mips_reloc_map): Map to rightshifted BFD reloc.
+ * elfn32-mips.c: The same as in elf64-mips.c.
+ * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
+ (mips_elf_calculate_relocation): Handle rightshifted addends for
+ R_MIPS_PC16.
+ * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
+ MIPS Embedded PIC. Remove superfluous empty COMMENT.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2003-02-28 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
+ for ltoff22x relaxation.
+
+2003-03-01 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h (_bfd): Don't define.
+ * bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
+ * syms.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2003-02-27 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
+ (elfNN_ia64_check_relocs): Set it.
+ (allocate_global_data_got): Check it.
+ (allocate_local_got): Likewise.
+ (allocate_dynrel_entries): Likewise.
+ (elfNN_ia64_relax_ldxmov): New.
+ (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
+ (elfNN_ia64_choose_gp): Split out from ...
+ (elfNN_ia64_final_link): ... here.
+
+2003-02-27 Andrew Cagney <cagney@redhat.com>
+
+ * bfd.c (struct bfd): Rename "struct _bfd".
+ * bfd-in.h: Update copyright.
+ (struct bfd): Rename "struct _bfd".
+ (_bfd): Define for backward compatibility.
+ * bfd-in2.h: Regenerate.
+
+2003-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
+ and rel_hdr2 when initially counting input relocs rather than after
+ creating output reloc sections.
+ (elf_link_read_relocs_from_section): Don't abort with wrong reloc
+ sizes.
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-02-24 Kris Warkentin <kewarken@qnx.com>
+
+ * elf.c (elfcore_read_notes): Add check for QNX style core file.
+ (elfcore_grog_nto_note): New function.
+ (elfcore_grog_nto_gregs): New function.
+ (elfcore_grog_nto_status): New function.
+
+2003-02-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_create_got_section): Check existing .got
+ section flags before concluding that we've already been called.
+ Don't use register keyword.
+ (_bfd_elf_create_dynamic_sections): Don't use register keyword.
+ (_bfd_elf_create_linker_section): Formatting.
+
+2003-02-20 jmc <jmc@prioris.mini.pw.edu.pl>
+
+ * coff-h8300.c: Fix typo: intial -> initial.
+ * coff-ppc.c: Likewise.
+
+2003-02-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c: Formatting.
+ (allocate_dynrelocs): LD and GD relocs against the same sym need
+ separate GOT entries.
+ (ppc_elf_relocate_section): Correct GOT handling for multiple GOT
+ entries per symbol.
+
+2003-02-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
+ removal. Localize vars. Remove unnecessary dynobj test.
+ * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
+ of INFO.
+ (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
+ and optimize.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars.
+ * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
+ * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
+ * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
+ * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove
+ local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32
+ or PCPLT10 relocs. Don't subtract twice on PLT32 relocs.
+ Formatting.
+
+ * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
+ (ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC
+ test.
+ (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+ (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
+ and optimize. Use ELIMINATE_COPY_RELOCS.
+ (ppc64_elf_relocate_section): Likewise.
+
+ * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
+ (ppc_elf_copy_indirect_symbol): Copy pc_count field.
+ (ELIMINATE_COPY_RELOCS): Define.
+ (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+ (MUST_BE_DYN_RELOC): Define.
+ (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
+ and optimize. Trim dyn_relocs.
+ (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
+ not be used. Do generate dyn_relocs for copy reloc avoidance. Keep
+ track of pc_rel dyn relocs.
+ (ppc_elf_relocate_section): Remove "will_become_local". Adjust
+ WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per
+ allocate_dynrelocs. Don't recalculate "sec".
+
+2003-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
+ * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
+ on invalid LD relocs.
+ (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
+ (ppc64_elf_relocate_section): Unify new handling of LD relocs and
+ tlsld_got entry. Use IS_PPC64_TLS_RELOC.
+
+ * elf32-ppc.h: New file.
+ * elf32-ppc.c: Include elf32-ppc.h.
+ (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
+ (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses.
+ Add "tls_mask" field.
+ (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
+ (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses.
+ Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
+ sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
+ Make use of htab shortcuts throughout file.
+ (ppc_elf_link_hash_newfunc): Init tls_mask field.
+ (ppc_elf_link_hash_table_create): Init new fields.
+ (ppc_elf_copy_indirect_symbol): Copy tls_mask.
+ (ppc_elf_howto_raw): Add tls relocs.
+ (ppc_elf_reloc_type_lookup): Handle them.
+ (ppc_elf_unhandled_reloc): New function.
+ (ppc_elf_create_got): Stash got section pointer in hash table,
+ return status. Make .rela.got too.
+ (ppc_elf_create_dynamic_sections): Stash section pointers in htab.
+ (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
+ NON_GOT_REF set. Don't allocate space in .plt here..
+ (allocate_dynrelocs): ..do so here instead, properly ref-counting and
+ not allocating plt entries unnecessarily. Allocate got entries here.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass
+ "info" during allocate_dynrelocs hash traversal. Use htab section
+ shortcuts rather than searching for named sections. Get rid of
+ "plt" and "strip" booleans.
+ (update_local_sym_info, bad_shared_reloc): New functions.
+ (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to
+ ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so
+ in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc.
+ Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
+ R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
+ in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all
+ relocs that might use a plt entry. Set NON_GOT_REF too.
+ Enumerate all do-nothing relocs.
+ (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle
+ tls relocs and all plt relocs.
+ (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
+ (ppc_elf_finish_dynamic_symbol): Don't build got entries here.
+ (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
+ shortcuts.
+ (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use
+ bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got
+ entries and got relocs here. Warn on non-zero got reloc addend.
+ Split out branch taken/not taken reloc code into a separate switch
+ and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
+ Split out HA reloc adjustments to separate switch statement. Don't
+ warn on reloc overflow if we've already warned about undefined.
+ Don't rebuild sym name when reporting errors. Report all possible
+ errors from _bfd_final_link_relocate.
+ (bfd_elf32_bfd_final_link): Don't define.
+
+2003-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't
+ rebuild sym name when reporting errors.
+
+2003-02-17 Nick Clifton <nickc@redhat.com>
+
+ * elflink.h (elf_link_output_extsym): Only check
+ allow_shlib_undefined for shared libraries.
+ * elf32-i386.c (elf_i386_relocate_section): Remove bogus check
+ of allow_shlib_undefined.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-vax.c (elf_vax_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
+
+2003-02-17 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
+ address field to use in the comparison.
+ (SEGMENT_OVERLAPS): Check that LMAs overlap as well.
+
+2003-02-14 Bob Wilson <bob.wilson@acm.org>
+
+ * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
+ backends when checking if the generic ELF target should be used.
+
+ * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
+ outside of functions, treat values as absolute addresses.
+
+ * bfd.c: Change embedded documentation to use consistent indentation
+ and to split up long lines. Change informal style of description
+ for functions lacking real documentation.
+ * coffcode.h: Break up long lines in embedded documentation.
+ * format.c: Likewise.
+ * targets.c: Likewise.
+ * libcoff.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2003-02-14 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
+ (ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
+ (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
+ (allocate_dynrelocs): Don't treat undefined and undefweak specially.
+ (ppc_size_one_stub): Fix warning, and tighten plt entry check.
+ (group_sections): Don't share a stub section if stubs are for a large
+ section. Adjust comment.
+ (ppc64_elf_size_stubs): Roughly double the size left for stubs if
+ !stubs_always_before_branch.
+ (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't
+ treat undefined and undefweak specially when processing dyn relocs.
+
+2003-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
+
+2003-02-13 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
+ in computation of offset to insert into BL instruction.
+
+2003-02-11 Uwe Stieber <uwe@wwws.de>
+
+ * config.bfd: Add support for kaOS as cross build target system.
+
+2003-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
+ .__tls_get_addr too.
+ (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
+
+2003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
+ (elf_sh_link_hash_entry): Remove tls_tpoff32 field.
+ (sh_elf_link_hash_newfunc): Remove the initialization of
+ tls_tpoff32 field.
+ (allocate_dynrelocs): Keep dyn_relocs if it includes the entry
+ for which tls_tpoff32 flag is set.
+ (sh_elf_relocate_section): Covert to LE only if the dyn_relocs
+ of the symbol includes the entry matched with the input_section
+ and having tls_tpoff32 flag on. When linking statically, set
+ symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
+ is defined in this executable.
+ (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
+
+2003-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
+ even if there is just non-empty .rela.plt.
+
+2003-02-10 Nick Clifton <nickc@redhat.com>
+
+ * archures.c (bfd_mach_arm_ep9312): Define.
+ * bfd-in2.h: Regenerate.
+ * cpu-arm.c (processors[]): Add ep9312.
+ (bfd_arm_arch): Add ep9312.
+ * elf32-arm.h (elf32_arm_merge_private_data): Update error
+ messages and add test for Maverick floating point support.
+ (elf32_arm_print_private_bfd_data): Handle
+ EF_ARM_MAVERICK_FLOAT flag.
+ (elf32_arm_object_p): New function.
+ (elf_backend_object_p): Define.
+
+2003-02-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Rename assorted occurrences of tls_type and similar
+ variables, structure fields or function params to tls_mask or
+ similar to better reflect usage.
+ (struct got_entry): Comment.
+ (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
+ (get_tls_mask): Rename from get_tls_type.
+
+2003-02-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (TLS_GD_LD): Don't define..
+ (TLS_GD): ..define this instead and update all uses.
+ (TLS_TPRELGD): Define.
+ (ppc64_elf_link_hash_table_create): Tweak initialization of
+ init_refcount and init_offset.
+ (ppc64_elf_check_relocs): Add one extra element to t_symndx array.
+ Mark second slot of GD or LD toc entries.
+ (get_tls_type): Return an int. Distinguish toc GD and LD entries
+ from other tls types.
+ (ppc64_elf_tls_setup): New function, split out from..
+ (ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
+ defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
+ on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
+ return value to properly decide whether toc GD and LD entries can
+ optimize away __tls_get_addr call. Check next reloc after DTPMOD64
+ to determine GD or LD rather than looking at TLS_LD flag. Don't
+ attempt to adjust got entry tls_type here..
+ (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
+ look for possible merges.
+ (ppc64_elf_size_dynamic_sections): Adjust local got entries for
+ optimization.
+ (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
+ (ppc64_elf_relocate_section): Rename some vars to better reflect usage.
+ Make use of return value from get_tls_type to properly detect GD and
+ LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
+ handle tls_get_addr removal when looking at REL24 relocs, do it when
+ looking at the previous reloc. Check reloc after DTPMOD64 to determine
+ GD or LD.
+ * elf64-ppc.h (ppc64_elf_tls_setup): Declare.
+
+2003-02-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (group_sections): Don't share a stub section if
+ stubs are for a large section.
+
+ * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
+ stubs if !stubs_always_before_branch.
+
+2003-02-07 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (swap_out_syms): Generate an error message if an
+ equivalent output section cannot be found for a symbol.
+
+2003-02-07 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
+ local_got_entries is NULL.
+
+2003-02-06 Andreas Schwab <schwab@suse.de>
+
+ * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
+ (read_value): Add parameter is_signed, use signed extraction if
+ the value is signed.
+ (_bfd_elf_write_section_eh_frame): Pass signed flag of the
+ encoding to read_value.
+
+2003-02-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
+ plt info when called to transfer weak sym info.
+
+2003-02-05 Alan Modra <amodra@bigpond.net.au>
+
+ * reloc.c: Add PPC and PPC64 TLS relocs.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
+ (ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be
+ against a 32 bit field.
+ (ppc64_elf_reloc_type_lookup): Handle TLS relocs.
+ (_ppc64_elf_section_data): Add t_symndx and comments.
+ (ppc64_elf_section_data): Use elf_section_data macro.
+ (ppc64_elf_new_section_hook): American spelling.
+ (struct got_entry, struct plt_entry): New.
+ (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
+ (struct ppc_stub_hash_entry): Add "addend" field.
+ (struct ppc_link_hash_entry): Add "tls_type".
+ (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
+ TLS_EXPLICIT): Define.
+ (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
+ (link_hash_newfunc): Init new fields.
+ (ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and
+ init_offset to NULL.
+ (ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call
+ _bfd_elf_link_hash_copy_indirect, rather insert relevant code from
+ there.
+ (update_local_sym_info, update_plt_info): New functions.
+ (ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT
+ handling to use got.glist rather than got.refcount. Likewise for PLT.
+ (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
+ (func_desc_adjust): Adjust for new PLT list.
+ (ppc64_elf_adjust_dynamic_symbol): Likewise.
+ (get_sym_h, get_tls_type): New functions.
+ (ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h.
+ (ppc64_elf_tls_optimize): New function.
+ (allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate
+ TLS relocs.
+ (ppc64_elf_size_dynamic_sections): Likewise.
+ (ppc_type_of_stub): Adjust for new PLT list.
+ (ppc_build_one_stub): Likewise.
+ (ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr
+ calls specially.
+ (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle
+ TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't
+ init GOT entries that have a reloc. Generate GOT relocs here..
+ (ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list.
+ * elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
+
+2003-02-04 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (elf_m68k_hash_entry): Define.
+ (elf_m68k_link_hash_traverse): Remove.
+ (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
+ elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
+ reduce casting.
+ (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
+ casting.
+ (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
+ instead of elf_m68k_link_hash_traverse.
+ (elf_m68k_discard_copies): Change first parameter to pointer to
+ struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
+ elf_m68k_link_hash_entry is needed.
+
+2003-02-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
+ (struct elf_link_hash_entry): Add "glist" and "plist" fields to
+ "got" union, and declare as gotplt_union. Use gotplt_uinion for
+ "plt" field.
+ (struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
+ Add "init_offset" field.
+ (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
+ (elf_local_got_ents): Declare.
+ * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
+ and "plt".
+ (_bfd_elf_link_hash_hide_symbol): Use "init_offset".
+ (_bfd_elf_link_hash_table_init): Set "init_offset".
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
+ from init_offset.
+ (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
+
+ * elf.c (bfd_elf_local_sym_name): Split out from..
+ (group_signature): ..here.
+ * elf-bfd.h (bfd_elf_local_sym_name): Declare.
+
+2003-02-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (enum elf_link_info_type): Remove.
+ (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
+ to struct sec. Remove linkonce_p field.
+ (elf_linkonce_p): Delete.
+ (elf_discarded_section): Update for sec_info_type change.
+ * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
+ flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
+ (ELF_INFO_TYPE_NONE): Define.
+ (ELF_INFO_TYPE_STABS): Define.
+ (ELF_INFO_TYPE_MERGE): Define.
+ (ELF_INFO_TYPE_EH_FRAME): Define.
+ (ELF_INFO_TYPE_JUST_SYMS): Define.
+ (STD_SECTION): Update struct sec initializer.
+ * ecoff.c (bfd_debug_section): Likewise.
+ * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p.
+ * elflink.h: Likewise.
+ * elf-eh-frame.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+ * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
+ referring to used_by_bfd.
+ * elf64-sparc.c (sec_do_relax): Likewise.
+ * elf64-mmix.c (mmix_elf_section_data): Likewise.
+ * elfxx-mips.c (mips_elf_section_data): Likewise.
+ * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
+ (ieee_get_section_contents): Likewise.
+ (ieee_new_section_hook): Formatting.
+ (ieee_canonicalize_reloc): Remove commented out code.
+ * mmo.c (mmo_section_data): Define. Use throughout file.
+ * oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
+
+2003-01-31 Graydon Hoare <graydon@redhat.com>
+
+ * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
+ * Makefile.in: Regenerate.
+ * opncls.c (calc_crc32, get_debug_link_info,
+ seperate_debug_file_exists, find_seperate_debug_file): New
+ internal functions.
+ (bfd_follow_gnu_debuglink): New function. Follow the pointer
+ contained inside a .gnu_debuglink section.
+ * bfd-in2.h: Regenerate.
+
+2003-01-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
+ entry->abfd when it's NULL.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
+ _bfd_elf_section_offset returning -2 the same way as -1.
+
+ * elfxx-mips.c (mips_elf_multi_got): New function.
+ (struct mips_got_entry): Make symndx and gotidx signed. Moved
+ addend into union along with address and link hash entry.
+ (struct mips_got_info): Added bfd2got and next.
+ (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
+ (mips_elf_got_section, mips_elf_create_got_section): Use
+ SEC_EXCLUDE bit to tell whether we really need the got
+ section. Take boolean arguments to disregard an excluded
+ section, or to create it as excluded. Adjust all callers.
+ Use mips_elf_got_section all over.
+ (mips_elf_local_got_index, mips_elf_got_page,
+ mips_elf_got16_entry): Take input bfd as argument, and pass it
+ on to mips_elf_create_local_got_entry.
+ (mips_elf_global_got_index, mips_elf_create_local_got_entry):
+ Take input bfd as argument, and manage entries in the
+ appropriate GOT.
+ (mips_elf_got_offset_from_index): Take input bfd as argument,
+ and use it to adjust the GP offset of the bfd.
+ (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
+ unreferenced GOT entries of global symbols to the end.
+ (mips_elf_record_global_got_symbol): Take input bfd as
+ argument. Add entries to the master GOT hash table.
+ (struct mips_elf_bfd2got_hash): New.
+ (struct mips_elf_got_per_bfd_arg): New.
+ (struct mips_elf_set_global_got_offset_arg): New.
+ (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
+ mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
+ mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
+ mips_elf_merge_gots, mips_elf_set_global_got_offset,
+ mips_elf_resolve_final_got_entry,
+ mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
+ mips_elf_got_for_ibfd): New functions.
+ (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
+ (MIPS_ELF_GOT_MAX_SIZE): New macro.
+ (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
+ (mips_elf_got_entry_hash): Take new fields into account. Use
+ mips_elf_hash_bfd_vma.
+ (mips_elf_got_entry_eq): Take new fields into account.
+ (mips_elf_create_got_section): Initialize new fields.
+ (mips_elf_calculate_relocation): Pass input_bfd to functions
+ that now take it. Adjust gp for the input_bfd.
+ (mips_elf_allocate_dynamic_relocation,
+ mips_elf_create_dynamic_relocation,
+ _bfd_mips_elf_create_dynamic_sections): Use...
+ (mips_elf_rel_dyn_section): New function. Borrow code from...
+ (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
+ now take it. Create the got section if needed, even if
+ excluded, before recording a global got symbol. Move some
+ code to...
+ (mips_elf_record_local_got_symbol): New fn.
+ (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
+ Compute multi-got global entries offsets. Move GOT code to...
+ (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
+ if the GOT is too big.
+ (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
+ undefweak symbol to zero. Generate dynamic relocations for
+ non-primary GOT entries for global symbols.
+ (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
+ case. Generate dynamic relocations for local got entries.
+ Sort dynamic relocations on N64 too, using...
+ (sort_dynamic_relocs_64): New fns.
+ (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
+ (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * bfd.c (struct _bfd): Added id field.
+ * opncls.c (_bfd_id_counter): New static variable.
+ (_bfd_new_bfd): Use it.
+ * bfd-in2.h: Rebuilt.
+
+2003-01-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
+
+2003-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
+ (elf32_sparc_rev32_howto): New variable.
+ (sparc_reloc_map): Add TLS relocs.
+ (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
+ Handle REV32.
+ (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
+ New functions.
+ (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
+ struct elf32_sparc_link_hash_table):
+ New structures.
+ (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
+ elf32_sparc_hash_table): Define.
+ (link_hash_newfunc, elf32_sparc_link_hash_table_create,
+ create_got_section, elf32_sparc_create_dynamic_sections,
+ elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
+ functions.
+ (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
+ reference counting.
+ (elf32_sparc_gc_sweep_hook): Likewise.
+ (elf32_sparc_adjust_dynamic_symbol): Likewise.
+ (elf32_sparc_size_dynamic_sections): Likewise.
+ (elf32_sparc_relocate_section): Likewise.
+ (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
+ New functions.
+ (elf32_sparc_object_p): Allocate backend private object data.
+ (bfd_elf32_bfd_link_hash_table_create,
+ elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
+ elf_backend_can_refcount): Define.
+ (elf_backend_create_dynamic_sections): Define to
+ elf32_sparc_create_dynamic_sections.
+ * reloc.c: Add SPARC TLS relocs.
+ * bfd-in2.h, libbfd.h: Rebuilt.
+ * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
+ (sparc_reloc_map): Likewise.
+
+2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * bfd-in2.h: Regenerate.
+ * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
+ s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
+ (elf_howto_table): Add TLS relocs.
+ (elf_s390_reloc_type_lookup): Likewise.
+ (elf_s390_link_hash_entry): Add tls_type.
+ (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
+ New macros.
+ (elf_s390_link_hash_table): Add tls_ldm_got.
+ (link_hash_newfunc): Initialize tls_type.
+ (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
+ (elf_s390_copy_indirect_symbol): Copy tls_type information.
+ (elf_s390_check_relocs): Support TLS relocs.
+ (elf_s390_gc_sweep_hook): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (elf_s390_size_dynamic_sections): Likewise.
+ (elf_s390_relocate_section): Likewise.
+ (elf_s390_finish_dynamic_symbol): Likewise.
+ (bfd_elf32_mkobject): Define for TLS.
+ * elf64-s390.c: Same changes as for elf32-s390.c.
+ * libbfd.h: Regenerate.
+ * reloc.c: Add s390 TLS relocations.
+
+2003-01-24 Charles Lepple <clepple@ghz.cc>
+
+ * aclocal.m4: Fix name of --enable-install-libbfd switch.
+
+2003-01-23 Nick Clifton <nickc@redhat.com>
+
+ * Add sh2e support:
+ 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
+ * archures.c (bfd_mach_sh2e): Added.
+ * bfd-in2.h: Rebuilt.
+ * cpu-sh.c (arch_info_struct): Added SH2e.
+ * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
+
+2003-01-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
+ dynindx to an int. Rearrange for better packing.
+ * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
+ * elf32-mips.c (bfd_elf32_new_section_hook): Define.
+ * elf32-sh64.h: New. Split out from include/elf/sh.h.
+ (struct _sh64_elf_section_data): New struct.
+ (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
+ * elf32-sh64-com.c: Include elf32-sh64.h.
+ * elf32-sh64.c: Likewise.
+ (sh64_elf_new_section_hook): New function.
+ (bfd_elf32_new_section_hook): Define.
+ (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
+ (sh64_bfd_elf_copy_private_section_data): Likewise.
+ (sh64_elf_final_write_processing): Likewise.
+ * elf32-sparc.c (struct elf32_sparc_section_data): New.
+ (elf32_sparc_new_section_hook): New function.
+ (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
+ (sec_do_relax): Define.
+ (elf32_sparc_relax_section): Adjust to use sec_do_relax.
+ (elf32_sparc_relocate_section): Likewise.
+ * elf64-mips.c (bfd_elf64_new_section_hook): Define.
+ * elf64-mmix.c (struct _mmix_elf_section_data): New.
+ (mmix_elf_section_data): Define. Use throughout file.
+ (mmix_elf_new_section_hook): New function.
+ (bfd_elf64_new_section_hook): Define.
+ * elf64-ppc.c (struct _ppc64_elf_section_data): New.
+ (ppc64_elf_section_data): Define. Use throughout.
+ (ppc64_elf_new_section_hook): New function.
+ (bfd_elf64_new_section_hook): Define.
+ * elf64-sparc.c (struct sparc64_elf_section_data): New.
+ (sparc64_elf_new_section_hook): New function.
+ (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
+ (sec_do_relax): Define.
+ (sparc64_elf_relax_section): Adjust to use sec_do_relax.
+ (sparc64_elf_relocate_section): Likewise.
+ (bfd_elf64_new_section_hook): Define.
+ * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
+ * elfxx-mips.c (struct _mips_elf_section_data): New.
+ (mips_elf_section_data): Define. Use throughout.
+ (_bfd_mips_elf_new_section_hook): New function.
+ (mips_elf_create_got_section): Don't alloc used_by_bfd.
+ * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
+ * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-01-21 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
+ (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
+ (elf64_alpha_adjust_dynamic_symbol): Set them.
+ (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
+ (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
+ symbol index when relaxing LDM to TPREL.
+ (elf64_alpha_relax_section): Likewise. Allow relaxation of GD
+ relocs, even if the target isn't locally defined.
+ (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
+ (elf64_alpha_relocate_section): Likewise. Force TP-relative
+ relocs vs symndx 0 to the tp base.
+
+2003-01-21 Fabio Alemagna <falemagn@aros.org>
+
+ * config.bfd: Handle i[3456]86-*-aros*.
+
+2003-01-21 Andreas Schwab <schwab@suse.de>
+
+ * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
+ (struct ppc_elf_link_hash_entry): Define.
+ (ppc_elf_hash_entry): New function.
+ (struct ppc_elf_link_hash_table): Define.
+ (ppc_elf_hash_table): New function.
+ (ppc_elf_link_hash_newfunc): New function.
+ (ppc_elf_link_hash_table_create): New function.
+ (ppc_elf_copy_indirect_symbol): New function.
+ (allocate_dynrelocs): New function.
+ (readonly_dynrelocs): New function.
+ (ppc_elf_size_dynamic_sections): Allocate space for dynamic
+ relocs and determine DT_TEXTREL.
+ (ppc_elf_check_relocs): Don't do that here, just count the
+ dynamic relocs.
+ (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
+ removed section.
+ (bfd_elf32_bfd_link_hash_table_create): Define.
+ (elf_backend_copy_indirect_symbol): Define.
+
+2003-01-21 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
+ TPREL also get a reloc if shared. Remove SREL support.
+ (elf64_alpha_emit_dynrel): New.
+ (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
+ and GOTTPREL relocs to local symbols against the tp base.
+ (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
+
+ * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
+ use count before clobbering r_type.
+ (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
+ ordering would mean dataflow inspection is necessary.
+
+2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coffcode.h (coff_set_flags): Added get/set arch hooks.
+
+2003-01-20 Fabio Alemagna <falemagn@aros.org>
+
+ * elf32-sh.c: Treat elfNN_bed like other macros defined in
+ elfxx-target.h and #undef it before #define'ing it.
+ * elf32-i386.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-sh64.c: Likewise.
+
+2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * bfd-in2.h: Regenerate.
+ * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
+ (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
+ R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
+ R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
+ R_390_PLTOFF32 and R_390_PLTOFF64.
+ (elf_s390_reloc_type_lookup): Likewise.
+ (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
+ of GOTPLT references to a function.
+ (link_hash_newfunc): Initialize gotplt_refcount.
+ (elf_s390_check_relocs): Move allocation of local_got_refcounts array
+ and creation of the got section out of the main switch. Add support
+ for the gotoff, gotplt and pltoff relocations.
+ (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
+ and pltoff.
+ (elf_s390_adjust_gotplt): New function.
+ (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
+ plt entries.
+ (allocate_dynrelocs): Add comment.
+ (elf_s390_relocate_section): Change r_type to unsigned. Add support
+ for gotoff, gotplt and pltoff relocations.
+ * elf64-s390.c: Same changes as for elf32-s390.c.
+ * libbfd.h: Regenerate.
+ * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
+ BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
+ BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
+ and BFD_RELOC_390_PLTOFF64.
+
+2003-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
+ R_IA64_TPREL64[LM]SB against non-global symbol properly.
+
+2003-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
+ self_dtpmod_done and self_dtpmod_offset.
+ (allocate_global_data_got): Only use one got entry for all
+ dtpmod relocs against local symbols.
+ (allocate_dynrel_entries): Only need .rela.got entry for
+ dtpmod against global symbol.
+ (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
+ Reserve space in .rela.got for the local dtpmod entry.
+ (set_got_entry): Initialize the common local dtpmod .got entry.
+ (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
+ and R_IA_64_DTPREL64MSB.
+
+2003-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
+ (R_PPC_*): Rename all occurrences to R_PPC64_*.
+ (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
+ (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
+ (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
+ relative relocs, not with absolute ones.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2003-01-15 Andreas Schwab <schwab@suse.de>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
+ relocation against a non-allocated readonly section.
+
+2003-01-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
+
+2002-01-08 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
+ (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
+ * Makefile.in: Regenerate.
+
+2003-01-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfn32-mips.c (prev_reloc_section): New.
+ (GET_RELOC_ADDEND): Use it. Parenthesize macro arguments.
+ (SET_RELOC_ADDEND): Parenthesize macro argument.
+
+2003-01-07 John David Anglin <dave.anglin@nrc.gc.ca>
+
+ * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
+ adjust addil instructions if the symbol has no section.
+
+2003-01-07 DJ Delorie <dj@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
+ partial_inplace.
+
+2003-01-07 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
+ PC relative relocations.
+ (elf_m68k_discard_copies): Set it here instead.
+
+2002-01-02 Ben Elliston <bje@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
+ (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
+ (BFD32_BACKENDS): Add elf32-iq2000.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
+ (cpu-iq2000.lo): New target.
+ * Makefile.in: Regenerate.
+ * config.bfd: Handle iq2000-*-elf.
+ * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
+ (bfd_archures_list): Add bfd_iq2000_arch.
+ * configure.in: Handle bfd_elf32_iq2000_vec.
+ * configure: Regenerate.
+ * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
+ and BFD_RELOC_IQ2000_UHI16.
+ * targets.c (bfd_elf32_iq2000_vec): Declare.
+ (bfd_target_vector): Add bfd_elf32_iq2000_vec.
+ * elf.c (prep_headers): Set e_machine to EM_IQ2000.
+ * cpu-iq2000.c: New file.
+ * elf32-iq2000.c: Likewise.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Likewise.
+
+2003-01-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c: Include libiberty.h.
+ (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
+ (mips_set_isa_flags): New function, split out from...
+ (_bfd_mips_elf_final_write_processing): ...here. Only call
+ mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
+ (mips_mach_extensions): New array.
+ (mips_32bit_flags_p): New function.
+ (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
+ Use mips_32bit_flags_p to check if one binary is 32-bit and the
+ other is 64-bit. When adopting IBFD's architecture, adopt the
+ bfd_mach as well as the flags.
+
+2003-01-02 Nick Kelsey <nickk@ubicom.com>
+
+ * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
+ fix internal errors, fix bad code generation, fix incorrect stabs
+ information, and improve ability to eliminate redundant page
+ instructions. Added code to ip2k_final_link_relocate to self-verify
+ the linker relaxation. Fix formatting problems.
+
+2002-12-30 Chris Demetriou <cgd@broadcom.com>
+
+ * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
+ * archures.c (bfd_mach_mipsisa32r2): New define.
+ * bfd-in2.h: Regenerate.
+ * cpu-mips.c (I_mipsisa32r2): New enum value.
+ (arch_info_struct): Add entry for I_mipsisa32r2.
+ * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
+ (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
+ (_bfd_mips_elf_final_write_processing): Add
+ bfd_mach_mipsisa32r2 case.
+ (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
+ binaries marked as using MIPS32 Release 2.
+
+2002-12-30 Dmitry Diky <diwil@mail.ru>
+
+ * Makefile.am: Add msp430 target.
+ * configure.in: Likewise.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * archures.c: Add msp430 architecture vector.
+ * config.bfd: Likewise.
+ * reloc.c: Add msp430 relocs.
+ * targets.c: Add msp320 target.
+ * cpu-msp430.c: New file: msp430 cpu detection.
+ * elf32-msp430.c: New file: msp430 reloc processing.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2002-12-28 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (elf_sort_sections): Don't reorder .tbss.
+ (assign_file_positions_for_segments): Only adjust off/voff
+ for increased alignment in PT_LOAD or PT_NOTE segment,
+ but adjust p_filesz for .tbss too. in PT_LOAD consider
+ .tbss to have zero memory size.
+ (copy_private_bfd_data) [SECTION_SIZE]: Define.
+ [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
+ [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
+ into PT_TLS segment. Never put SHF_TLS sections in
+ segments other than PT_TLS or PT_LOAD.
+
+ * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
+ sh_entsize.
+
+2002-12-23 DJ Delorie <dj@redhat.com>
+
+ * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
+
+2002-12-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_output_extsym): Heed strip_discarded.
+
+2002-12-23 Nick Clifton <nickc@redhat.com>
+
+ * archures.c (bfd_arch_get_compatible): Add third parameter
+ 'accept_unknowns'. Only accept unknown format BFDs if
+ accept_unknowns is true, or if the format is "binary".
+ * bfd-in2.h: Regenerate.
+
+2002-12-21 Nick Clifton <nickc@redhat.com>
+
+ * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
+ that subtracted 8 from pc relative relocations.
+
+2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * coff-h8300.c: Fix comment typos.
+ * coffcode.h: Likewise.
+ * cpu-cris.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * genlink.h: Likewise.
+ * linker.c: Likewise.
+ * som.c: Likewise.
+ * tekhex.c: Likewise.
+ * vms-misc.c: Likewise.
+
+2002-12-20 DJ Delorie <dj@redhat.com>
+
+ * reloc.c: Add BFD_RELOC_XSTORMY16_12.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
+ (xstormy16_reloc_map): Add R_XSTORMY16_12.
+
+2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/bfdint.texi: Fix typos.
+
+2002-12-20 Paul Eggert <eggert@twinsun.com>
+
+ Port to POSIX 1003.1-2001.
+ * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
+ * configure.in (build-warnings): Likewise.
+ (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2002-12-19 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-h8300.c: Include libiberty.h.
+ (h8300_reloc16_extra_cases): Check the hash table creator before
+ referencing h8300 specific fields. Stash the hash table pointer
+ in a local var. Comment typo fixes.
+ (h8300_bfd_link_add_symbols): Likewise.
+
+ * reloc.c (struct reloc_howto_struct): Revise src_mask and
+ dst_mask comments.
+ * bfd-in2.h: Regenerate.
+
+2002-12-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
+ code a little. Comment on dynamic relocs against section symbols.
+
+2002-12-17 Roger Sayle <roger@eyesopen.com>
+
+ * configure.host (ia64-*-hpux*): Support 64 bit targets using
+ the HP compiler's "long long".
+
+2002-12-16 Andrew MacLeod <amacleod@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
+ and R_XSTORMY16_HI16) howto entries.
+ (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
+ (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
+ determine the start of the second reloc table.
+
+2002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * ecofflink.c: Fix the reading of the debugging information
+ of Tru64/Alpha binaries that are produced by recent Compaq
+ compilers.
+ (mk_fdrtab): Fix error in creating the FDR (file descriptor)
+ table.
+ (lookup_line): Because of the strange information sometimes
+ generated by Compaq's recent compilers, change how the FDR
+ table is searched so that PDRs (procedure descriptors) are
+ correctly found. Note that this change is really more of a hack;
+ however, I have included extensive documentation as to why
+ this is the best solution short of an extensive rewrite or
+ another hack.
+ (fdrtab_lookup): Add comments to explain the algorithm.
+
+2002-12-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
+ initializers to match struct declaration.
+
+2002-12-12 Alan Modra <amodra@bigpond.net.au>
+
+ * dwarf2.c (comp_unit_contains_address): Comment typo fix.
+ * elf.c (get_program_header_size): Likewise.
+ * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
+ (m32r_elf_generic_reloc): Likewise.
+ * elf32-ppc.c (ppc_elf_howto_init): Likewise.
+ * elflink.h (elf_bfd_discard_info): Likewise.
+
+2002-12-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
+ to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and
+ DT_RELSZ adjustment, not output section. Avoid writing tags when
+ unchanged. Don't assume linker script is sane, adjust DT_REL too.
+ * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
+ size of srelplt for DT_PLTRELSZ. Use srelplt input section size for
+ DT_RELASZ adjustment, not output section. Avoid writing tags when
+ unchanged. Adjust DT_RELA.
+ * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
+ formatting. Avoid writing tags when unchanged. Adjust DT_RELA.
+
+2002-12-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
+ addend by 4.
+
+2002-12-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (struct mips_got_entry): New.
+ (struct mips_got_info): Added got_entries field.
+ (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
+ (mips_elf_local_got_index, mips_elf_got_page,
+ mips_elf_got16_entry): Re-implement in terms of new...
+ (mips_elf_create_local_got_entry): Rewrite to use got_entries.
+ Change return type.
+ (mips_elf_highest): Warning clean-up.
+ (mips_elf_create_got_section): Initialize got_entries.
+ (_bfd_mips_elf_check_relocs): Use got_entries to estimate
+ local got size.
+ (_bfd_mips_elf_size_dynamic_sections): Do not account for
+ GOT_PAGE entries, since we now reuse GOT16 entries.
+
+2002-12-10 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
+ read-only section that lies after .text and before .data to be
+ written into the output file and included in a_text.
+ (translate_to_native_sym_flags): If an otherwise unrepresentable
+ section was merged with .text, convert its symbols to N_TEXT
+ symbols.
+ * libaout.h (aout_section_merge_with_text_p): New macro.
+
+2002-12-08 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h: Comment typo fix. Formatting.
+ * bfd-in2.h: Regenerate.
+ * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
+ * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
+ * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
+
+2002-12-05 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
+ Only send PCREL21B though the plt. Fix installed reloc type.
+ (elfNN_ia64_relocate_section): Give error for dynamic reloc
+ against PCREL22 or PCREL64I; clean up error messages for
+ branch relocs.
+
+2002-12-04 Kevin Buettner <kevinb@redhat.com>
+
+ * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
+ New functions.
+ (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
+
+2002-12-04 David Mosberger <davidm@hpl.hp.com>
+
+ * cpu-ia64-opc.c: Add operand constant "ar.csd".
+
+2002-12-04 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
+ BFD address when constructing local name.
+
+2002-12-04 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
+ member.
+ (elf_m68k_link_hash_table_create): Initialize it.
+ (elf_m68k_check_relocs): Handle symbols that are forced to be
+ local due to visibility changes.
+ (elf_m68k_adjust_dynamic_symbol): Likewise.
+ (elf_m68k_size_dynamic_sections): Likewise.
+ (elf_m68k_discard_copies): Likewise.
+ (elf_m68k_relocate_section): Likewise.
+
+2002-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
+
+2002-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * srec.c (srec_write_symbols): Restore '$' prefix to address
+ accidentally removed in 2002-04-04 change.
+ (srec_get_symtab): Use 0 instead of `(long) FALSE'.
+
+2002-12-03 Nick Clifton <nickc@redhat.com>
+
+ * elf32-ppc.c (apuinfo_list_init): New function.
+ (apuinfo_list_add): New function: Add a value to the list.
+ (apuinfo_list_length): New function: Return the number of
+ values on the list.
+ (apuinfo_list_element): New function: Return a value on the
+ list.
+ (apuinfo_list_finish): New function: Free the resources used
+ by the list.
+ (ppc_elf_begin_write_processing): New function. Scan the
+ input bfds for apuinfo sections.
+ (ppc_elf_write_section): New function: Delay the creation of
+ the contents of an apuinfo section in an output bfd.
+ (ppc_elf_final_write_processing): New function. Create the
+ contents of an apuinfo section in an output bfd.
+ (elf_backend_begin_write_processing): Define.
+ (elf_backend_final_write_processing): Define.
+ (elf_backend_write_section): Define.
+
+2002-12-03 Richard Henderson <rth@redhat.com>
+
+ * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
+
+2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
+
+ Fix PR savannah/1417:
+ * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
+ branch if it goes to the start of the deleted region.
+
+2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
+
+ * bfd-in2.h (bfd_mach_m6812): Rebuild.
+ * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
+ bfd_mach_m6812s): Declare.
+
+ * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
+ (_bfd_m68hc12_elf_set_private_flags): Call it.
+ (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
+ (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
+ report microcontroller incompatibilities (HC12 vs HCS12).
+ (elf_backend_object_p): Update.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
+ (enum bfd_boolean, boolean): Delete.
+ (bfd_boolean): Typedef to an int.
+ (FALSE, TRUE): Define.
+ * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
+ aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
+ aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
+ binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
+ coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
+ coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
+ coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
+ coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
+ coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
+ coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
+ corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
+ cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
+ cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
+ cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
+ cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
+ cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
+ cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
+ cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
+ cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
+ cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
+ dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
+ elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
+ elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
+ elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
+ elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
+ elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
+ elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
+ elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
+ elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
+ elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
+ elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
+ elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
+ elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
+ elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
+ elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
+ elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
+ hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
+ i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
+ libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
+ libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
+ m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
+ mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
+ nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
+ pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
+ pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
+ pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
+ reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
+ som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
+ syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
+ vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
+ xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
+ bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons
+ of bfd_boolean vars with TRUE/FALSE. Formatting.
+ * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
+
+2002-11-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
+ Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel
+ with Elf_Internal_Rela.
+ * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
+ elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
+ elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
+ elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
+ elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
+ elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
+ elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
+ elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
+ elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
+ elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
+ elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
+ * elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr
+ throughout instead.
+ * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
+ * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
+ Remove INLINE keyword.
+ (elf_swap_reloc_in): Likewise. Also clear r_addend.
+ (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
+ as a bfd_byte *.
+ (elf_write_relocs): Consolidate REL and RELA code.
+ (elf_slurp_reloc_table_from_section): Simplify REL code.
+ (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
+ * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
+ * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
+ RELA code.
+ (elf_link_adjust_relocs): Likewise. Don't malloc space for temp
+ reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
+ (elf_link_output_relocs): Likewise.
+ (elf_reloc_link_order): Likewise.
+ (elf_finish_pointer_linker_section): Likewise.
+ (struct elf_link_sort_rela): Remove union.
+ (elf_link_sort_cmp1): Update to suit.
+ (elf_link_sort_cmp2): Here too.
+ (elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory
+ over-allocation for int_rels_per_ext_rel != 1 case.
+ * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
+ * elf32-i386.c: Likewise.
+ * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
+ * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
+ elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
+ * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
+ * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
+ elf64-sparc.c, elf64-x86-64.c: Likewise.
+ * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
+ * elfxx-mips.c (sort_dynamic_relocs): Likewise for
+ bfd_elf32_swap_reloc_in.
+
+ * elf32-arm.h: Update elf32_arm_info_to_howto calls.
+ * elf32-mips.c: Likewise for mips_info_to_howto_rel.
+ (mips_elf64_swap_reloc_in): Zero r_addend.
+ (mips_elf64_be_swap_reloc_in): Likewise.
+ (mips_elf64_slurp_one_reloc_table): Simplify.
+
+ * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
+ * elf64-hppa.c (hppa64_elf_size_info): Likewise.
+ * elf64-sparc.c (sparc64_elf_size_info): Likewise.
+
+2002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_relocate_section): Don't complain about
+ unresolved debugging relocs in dynamic applications.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+
+2002-11-26 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
+ (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
+ on a relocatable link. Comment typos.
+ * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
+ in the order they are declared. Clear elf_hash_value too.
+ (_bfd_elf_link_hash_table_init): Likewise assign in order. Clear
+ eh_info and tls_segment.
+ * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
+ sorted when discarding relocs by turning them into R_*_NONE.
+
+ * libbfd.c (warn_deprecated): Comment spelling.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-11-21 Richard Henderson <rth@redhat.com>
+
+ * elflink.h (elf_link_add_object_symbols): Don't overwrite the
+ arch's st_other bits when merging visibilities.
+ (elf_link_output_extsym): Tidy clearing of visibility field.
+
+2002-11-21 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
+ (SWAP_OUT_RELOC_OFFSET): Define.
+
+2002-11-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf.c (_bfd_elf_link_hash_table_init): Make sure
+ can_refcount is properly extended to the type of
+ init_refcount.
+
+2002-11-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
+ (_bfd_mips_elf_relocate_section): Use it.
+
+ * elfxx-mips.c (MNAME): New macro.
+ (_bfd_mips_elf_check_relocs): Use it.
+ (_bfd_mips_elf_discard_info): Likewise.
+ (_bfd_mips_elf_final_link): Likewise.
+
+2002-11-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
+ rel_hdr.sh_size too.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
+ (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
+ (BFD_H_FILES): Add bfdwin.c, bfdio.c.
+ (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
+ Add dependencies for bfdwin.c, bfdio.c.
+ * bfd.c: Remove bfd_get_mtime, bfd_get_size.
+ * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
+ bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
+ bfd_tell, bfd_flush, bfd_stat, bfd_seek.
+ * bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
+ bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
+ bfd_get_size (moved from libbfd.c and bfd.c).
+ * bfdwin.c New file. Contains _bfd_window_internal,
+ bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
+ libbfd.c and bfd.c).
+ * po/SRC-POTFILES.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * aclocal.m4: Regenerate.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
+
+2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
+ jsr after a short jump.
+ * elf32-h8300.c (elf32_h8_relax_section): Likewise.
+
+2002-11-15 Klee Dienes <kdienes@apple.com>
+
+ * pef.c (bfd_pef_convert_architecture): Move declaration of
+ ARCH_POWERPC and ARCH_M68K to the start of the function.
+
+2002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff-tic4x.c (tic4x_howto_table): Formatting fixup
+
+2002-11-14 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
+ For bpo_gregs_section->contents, allocate _raw_size, not
+ _cooked_size.
+
+2002-11-13 Klee Dienes <kdienes@apple.com>
+
+ * config.bfd: Add entries for powerpc-*-darwin and cousins.
+
+2002-11-13 H.J. Lu <hjl@gnu.org>
+
+ * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
+
+2002-11-13 Klee Dienes <kdienes@apple.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * bfd.c (struct bfd_preserve): New.
+ (bfd_preserve_save): New function.
+ (bfd_preserve_restore): Ditto.
+ (bfd_preserve_finish): Ditto.
+ * bfd-in2.h: Regenerate.
+ * mach-o.c: Formatting.
+ (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
+ (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
+ (bfd_mach_o_core_p): Ditto.
+ (bfd_mach_o_scan): Pass in mdata.
+ * mach-o.h (bfd_mach_o_scan): Update prototype.
+ * pef.c: Formatting.
+ (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
+ (bfd_pef_xlib_object_p): Ditto.
+ (bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
+ * pef.h (bfd_pef_scan): Update prototype.
+ * xsym.c: Formatting, K&R fixes.
+ (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
+ (bfd_sym_scan): New function split out from bfd_sym_object_p.
+ * xsym.h (bfd_sym_scan): Declare.
+ * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
+ * elfcore.h (elf_core_file_p): Likewise.
+ * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
+
+2002-11-12 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: Updated Danish translation.
+
+2002-11-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_add_object_symbols): Optimize stabs for
+ relocatable link too.
+ (elf_link_input_bfd): When emitting relocs, adjust offsets for
+ eh_frame and stab sections. Zap deleted relocs.
+ (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
+ (elf_bfd_discard_info): Run for relocatable link too.
+ * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global.
+ Handle ld -r case.
+ (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
+ * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
+
+ * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
+ (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
+ (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
+ (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
+ (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
+ (struct elf_link_hash_table): Add eh_info.
+ (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
+ (_bfd_elf_discard_section_eh_frame): Update prototype.
+ (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
+ (_bfd_elf_write_section_eh_frame): Likewise.
+ (_bfd_elf_write_section_eh_frame_hdr): Likewise.
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
+ param. Get "hdr_info" from link hash table.
+ (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get
+ header section from link hash table. Save header section to elf_tdata.
+ (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use
+ header section from link hash table. Don't alloc hdr_info. Clear
+ hdr_sec instead of setting "strip".
+ (_bfd_elf_eh_frame_section_offset): Formatting.
+ (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
+ Get header section from link hash table.
+ (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
+ Get header section from link hash table.
+ * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
+ (get_program_header_size): Likewise.
+ (_bfd_elf_section_offset): Formatting.
+ * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
+ section pointer in link hash table.
+ (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
+ and _bfd_elf_write_section_eh_frame calls. Update comment about
+ eh_frame entries.
+ (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
+ _bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr".
+
+ * po/SRC-POTFILES.in: Regenerate.
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
+ relocs for discarded FDEs. Remove dead code.
+ (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
+ * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
+ Tidy conditions under which stabs are edited. Formatting.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
+ from discarded relocs.
+ * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
+ section adjustments after testing magic values.
+
+2002-11-12 Thomas Moestl <tmm@FreeBSD.org>
+
+ * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
+ references to large plt symbols.
+
+2002-11-12 Klee Dienes <kdienes@apple.com>
+
+ * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
+ looking for an unused section name.
+
+2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * coff-h8300.c: Fix formatting.
+ * elf32-h8300.c: Likewise.
+ * reloc16.c: Likewise.
+
+2002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
+
+ * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
+ section when dynamic section unused; _bfd_strip_section_from_output
+ instead.
+
+2002-11-08 Alan Modra <amodra@bigpond.net.au>
+
+ * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
+ and sym_vec.
+
+ * dwarf2.c: Revert last change.
+
+2002-11-07 Michal Ludvig <mludvig@suse.cz>
+
+ * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
+ _bfd_dwarf2_find_nearest_line): Use
+ bfd_simple_get_relocated_section_contents() instead of
+ bfd_get_section_contents().
+ * reloc.c (bfd_perform_relocation): Add sanity check.
+ * simple.c (simple_get_relocated_section_contents): If the section
+ does not have any relocs associated with it, just return the
+ unadjusted contents.
+
+2002-11-07 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
+ case R_CRIS_32_GOT>: Correct test for filling in constant .got
+ contents, enabling for a non-DSO, for symbols defined in the
+ program with --export-dynamic.
+
+2002-11-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Comment typo fixes.
+ (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
+
+2002-11-07 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: Updated Danish translation.
+
+2002-11-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
+ exactly three internal relocs per external reloc. Set reloc_count
+ to the external reloc count.
+
+2002-11-06 Klee Dienes <kdienes@apple.com>
+
+ * coff-stgo32.c (stub_bytes): Mark as const.
+ Fix comment formatting.
+
+2002-11-06 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
+ xsym.lo.
+ (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
+ (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
+ * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
+ * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
+ * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
+ sym.
+ (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * xsym.c: New file. Contains support for the Apple/Metrowerks
+ xSYM debugging format.
+ * xsym.h: New file.
+ * pef.c: New file. Contains support for the Apple Code Fragment
+ Manager Preferred Executable Format
+ * pef.h: New file.
+ * pef-traceback.h: New file. Contains support for parsing PowerPC
+ traceback tables as used by PEF executables (and perhaps other
+ systems as well).
+ * mach-o.c: New file. Contains support for the Mach-O object file
+ format.
+ * mach-o.h: New file.
+ * mach-o-target.c: New file. Declares the mach-o targets
+ themselves. Included three times by mach-o.c; each time with a
+ different set of macros set.
+
+2002-11-06 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am: Remove entries for elf32-qnx.[ch].
+ * Makefile.in: Regenerate.
+ * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
+ ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
+ bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
+ * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
+ bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
+ and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
+ bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
+ * configure: Regenerate.
+ * elf32-qnx.c: Remove.
+ * elf32-qnx.h: Remove.
+ * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
+ is_contained_by_filepos, and copy_private_bfd_data_p.
+ * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
+ is_contained_by_filepos, and copy_private_bfd_data_p.
+ * elf32-i386.c: Remove QNX extended bfd support.
+ * elf32-ppc.c: Remove QNX extended bfd support.
+ * elf32-sh.c: Remove QNX extended bfd support.
+ * elfarm-nabi.c: Remove QNX extended bfd support.
+ * targets.c: Remove qnx vectors.
+ * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
+ (elf_backend_is_contained_by_filepos): Remove.
+ (elf_backend_copy_private_bfd_data_p): Remove.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-11-06 David O'Brien <obrien@FreeBSD.org>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
+ dynamic relocs against section symbols for the output section vma.
+
+2002-11-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
+ t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
+
+2002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
+ vectors in target_selvecs.
+ (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
+ in target_selvecs.
+ (sh-*-netbsdelf*): Likewise.
+ * configure.in (assocvecs): New variable. Handle assocvecs like
+ selvecs.
+ * configure: Regenerate.
+ * format.c (bfd_check_format_matches): Store bfd_target pointers
+ in matching_vector instead of target names. Select first target
+ from bfd_associated_vector that matches a list of ambiguous targets.
+ * targets.c (_bfd_associated_vector): New array.
+ (bfd_associated_vector): New variable.
+ (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
+ * libbfd-in.h (bfd_associated_vector): Declare.
+ * libbfd.h: Regenerate.
+
+2002-11-05 Elias Athanasopoulos <eathan@otenet.gr>
+
+ * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
+ non-NULL before dereferencing.
+
+2002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * vms.c (vms_object_p): Restore the start address when returning
+ NULL.
+
+2002-11-04 Alan Modra <amodra@bigpond.net.au>
+ Hans-Peter Nilsson <hp@axis.com>
+
+ * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
+ (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
+ Set up a larger symshndxbuf, and write it out. Free it on
+ exit rather than freeing symbuf twice. Correct section index
+ on output section symbol loop.
+ (elf_link_output_sym): Accumulate symbol extension section
+ indices, reallocating symshndxbuf rather than writing it out.
+ (elf_link_flush_output_syms): Don't flush symshndxbuf.
+ * elf.c (assign_section_numbers): Init i_shdrp to all zero.
+ Use bfd_zalloc to clear i_shdrp[0] too.
+
+2002-11-03 Stephen Clarke <stephen.clarke@earthling.net>
+
+ * elf32-sh64-com.c (sh64_address_in_cranges): Use
+ _raw_size of cranges section if _cooked_size not yet set.
+
+2002-11-03 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
+ for bfd_elf32_swap_symbol_out.
+
+2002-10-31 David O'Brien <obrien@FreeBSD.org>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
+ signed and unsigned in comparison.
+
+2002-10-30 Daniel Jacobowitz <drow@mvista.com>
+
+ * coffcode.h: Remove extraneous '\'.
+
+2002-10-28 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am (targets.lo): Depend on Makefile instead of
+ config.status.
+ (archures.lo): Likewise.
+ * Makefile.in: Regenerated.
+
+2002-10-25 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
+ bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
+ targ_selvecs.
+
+2002-10-25 Jim Wilson <wilson@redhat.com>
+
+ * elf64-sh64.c (sh_elf64_relocate_section): Call
+ _bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol
+ of SHF_MERGE section.
+
+2002-10-25 Hans-Peter Nilsson <hp@axis.com>
+
+ * simple.c: Correct placement of ATTRIBUTE_UNUSED.
+
+2002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
+ unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
+ unsigned int.
+ (NAME(aout,final_link)): Cast enum used in assignment.
+ (aout_link_write_symbols): Cast enums in comparisons, int values to
+ boolean, enums in assignments to int.
+ (aout_link_input_section_std): Cast rel->r_index to unsigned int.
+ (aout_link_input_section_ext): Likewise. Cast enums used in
+ comparisons with unsigned ints.
+ (aout_link_reloc_link_order): Cast enum to int in assignment.
+ * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
+ calls to char *.
+ * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
+ assignment.
+ * bfd-in2.h (bfd_set_section_vma): Likewise.
+ * bfd.c (bfd_record_phdr): Cast enums in assignments.
+ * binary.c (bfd_alloc): Cast enum to long.
+ * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
+ * dwarf2.c (read_abbrevs): Add casts to enum types.
+ (read_attribute_value): Likewise.
+ (arange_add): Cast result of bfd_zalloc call.
+ (comp_unit_contains_address): Return true and false.
+ (comp_unit_find_nearest_line): Cast return to boolean.
+ * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
+ * gen-aout.c: define macro '_' if not defined.
+ * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
+ (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
+ (bfd_write_bigendian_4byte_int): Cast return to boolean.
+ (bfd_seek): Cast bfd_realloc to bfd_byte *.
+ (bfd_generic_is_local_label_name): Cast return to boolean.
+ * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
+ * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
+ struct bfd_hash_entry *.
+ (_bfd_generic_link_hash_newfunc): likewise.
+ (_bfd_generic_final_link): Cast enum to unsigned int.
+ * merge.c (sec_merge_emit): Cast return to boolean.
+ (merge_strings): Add casts to const unsigned char *.
+ * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
+ (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
+ * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
+ to struct bfd_hash_entry *.
+ (bfd_set_section_content): Add cast to PTR in comparison.
+ * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
+ simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
+ simple_dummy_unattached_reloc,
+ bfd_simple_get_relocated_section_contents): Add K&R declarations and
+ function definitions.
+ * srec.c (S3Forced): Initialize to false.
+ (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
+ * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
+ (_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
+ * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
+ (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
+ comparisons.
+
+2002-10-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
+ relocs into shared lib non-allocated reloc sections.
+
+2002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * dwarf2.c (add_line_info): Ensure that the line_info_table is
+ sorted even when given an out-of-order line sequence.
+ (lookup_address_in_line_info_table): When an exact VMA match is
+ not found, return line information with the closest VMA.
+
+2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
+
+ * elf64-hppa.c: Force DT_FLAGS to always be set. Required by
+ HPUX 11.00 patch PHSS_26559.
+
+2002-10-22 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
+ the options section into a separate section unless IRIX 6
+ compatibility is enabled.
+
+2002-10-22 Alexandre Oliva <aoliva@redhat.com>
+
+ * elflink.h (struct elf_link_sort_rela): Turn rel and rela
+ into arrays.
+ (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
+ (elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel
+ into account.
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
+ R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
+
+2002-10-21 Graeme Peterson <gp@qnx.com>
+
+ * targets.c (_bfd_target_vector): Add missing qnx vectors.
+
+2002-10-21 Alan Modra <amodra@bigpond.net.au>
+
+ * targets.c (bfd_target_list): Don't return the default target twice.
+
+2002-10-21 Elias Athanasopoulos <eathan@otenet.gr>
+
+ * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
+ perror with bfd_perror.
+
+2002-10-19 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Correctly handle
+ DT_RPATH and DT_RUNPATH.
+
+2002-10-19 Mark Kettenis <kettenis@gnu.org>
+
+ * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
+
+2002-10-17 Denis Chertykov <denisc@overta.ru>
+
+ * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
+ for ip2k port.
+
+2002-10-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-target.h (USE_REL): Don't define as 1.
+ * elf32-arm.h (USE_REL): Provide a default define of 0.
+ Use #if rather than #ifdef when testing USE_REL.
+ * elf32-m32r.c: Likewise.
+
+ * elf32-arc.c (USE_REL): Define as 1.
+ * elf32-d10v.c (USE_REL): Likewise.
+ * elf32-m32r.c (USE_REL): Likewise.
+ * elf32-m68hc11.c (USE_REL): Likewise.
+ * elf32-m68hc12.c (USE_REL): Likewise.
+ * elf32-or32.c (USE_REL): Likewise.
+ * elfarm-nabi.c (USE_REL): Likewise.
+
+2002-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ * config.bfd (s390-*-linux*): Add targ64_selvecs.
+ (s390x-*-linux*): Add targ_selvecs.
+
+2002-10-16 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
+ elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
+ elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
+ elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo.
+ (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
+ (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
+ (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
+ (SOURCE_HFILES): Add elf32-qnx.h.
+ (BUILD_HFILES): Add bfdver.h.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * configure.in Update bfd vector dependencies.
+ * configure: Regenerate.
+ * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c.
+ * elf32-i386qnx.c: Likewise.
+ * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c.
+ * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c.
+ * elf32-sh-lin.c: Likewise.
+ * elf32-shqnx.c: Likewise.
+ * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c.
+ * elf32-sh64-nbsd.c: Likewise.
+ * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c.
+ * elf64-sh64-nbsd.c: Likewise.
+ * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c.
+ * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
+ * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
+ * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
+ * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
+ (elf_backend_is_contained_by_filepos): Likewise.
+ (elf_backend_copy_private_bfd_data_p): Likewise.
+ Globalize and move functions to..
+ * elf32-qnx.c: ..here. New file.
+ * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't
+ emit target vectors when INCLUDE_SHMEDIA.
+ * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to
+ end of file.
+ * elf64-sh64.c: Remove ELF_ARCH test.
+ * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
+ * po/BLD-POTFILES.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-10-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
+ loaded with --just-symbols.
+
+ * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
+ * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
+ * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
+ * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
+
+2002-10-15 Richard Henderson <rth@redhat.com>
+
+ * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
+ (BFD64_BACKENDS_CFILES): Likewise.
+ * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
+ * elf64-alpha-fbsd.c: Remove file, move code ...
+ * elf64-alpha.c: ... here.
+ * Makefile.in, configure: Rebuild.
+
+2002-10-14 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
+ VALUE, not ADDEND.
+
+2002-10-14 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (elf_sh_link_hash_entry): Replace
+ datalabel_got_offset with union of datalabel_got
+ offset and refcount.
+ (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
+ (allocate_dynrelocs): Delete unnecessary code for
+ STT_DATALABEL type. Create entry in got for
+ datalabel version of symbol if datalabel_got.refcount > 0.
+ (sh_elf_relocate_section): Use datalabel_got union.
+ (sh_elf_gc_sweep_hook): Pull common code to initialize
+ h and eh out of switch statement. Declare seen_stt_datalabel.
+ Initialize it. Decrement datalabel_got.refcount for
+ got relocs when seen_stt_datalabel is true.
+ Decrement local_got_refcounts entry for datalabel got relocs
+ of local symbols.
+ (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
+ (sh_elf_check_relocs): Declare seen_stt_datalabel.
+ Initialize it. When seen_stt_datalabel is true, increment
+ datalabel_got refcount rather than got.refcount.
+ (sh_elf_finish_dynamic_symbol): Create relocs to
+ initialize got entry for datalabel version of symbol.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ (BFD_H_FILES): Remove version.h.
+ * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
+ * version.h: ..to here.
+ * configure.in (bfd_version_date): Remove.
+ (AC_OUTPUT): Make bfdver.h from version.h.
+ * bfd.c: #include "bfdver.h".
+ * vms-hdr.c: Likewise.
+ * Makefile.in: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * configure: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
+ bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
+ bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
+ bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
+ bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
+ bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
+ bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
+ bfd_mach_ip2022, bfd_mach_ip2022ext,
+ bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
+ * bfd-in2.h: Regenerate.
+
+2002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
+ endian vector to targ_selvecs.
+
+2002-10-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Take
+ save_addend argument. Don't apply the 32-bit mask to a
+ GPREL32 value if it's to be used in another relocation. Don't
+ use forced-check computation of local_p to decide whether to
+ add gp0 to GPREL16 value. Don't use only the lowest 16 bits
+ of the addend of a non-in-place GPREL16 relocation.
+ (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
+ mips_elf_calculate_relocation().
+
+2002-10-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
+ with symbols in other sections if we relaxed something; the sections
+ output offsets must be re-computed before.
+
+2002-10-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
+ handling to use Elf_Internal_Sym.
+ (m68hc11_elf_relax_delete_bytes): Likewise.
+
+2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
+ sh_elf_object_p, dtpoff_base): New functions.
+ (sh_elf_howto_table): Add TLS relocs.
+ (sh_reloc_map): Likewise.
+ (sh_elf_info_to_howto): Support TLS relocs.
+ (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
+ (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
+ New macros.
+ (sh_elf_obj_tdata): New.
+ (elf_sh_link_hash_table): Add tls_ldm_got.
+ (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
+ (allocate_dynrelocs): Support TLS relocs.
+ (sh_elf_size_dynamic_sections): Likewise.
+ (sh_elf_relocate_section): Support TLS relocs. Don't try to find
+ .rela.got section when found already. Return false after printing
+ error about unresolvable relocation.
+ (sh_elf_gc_sweep_hook): Support TLS relocs.
+ (sh_elf_check_relocs): Likewise.
+ (sh_elf_finish_dynamic_symbol): Likewise.
+ (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
+ * reloc.c: Add SH TLS relocs.
+ * bfd-in2.h, libbfd.h: Regenerate.
+
+2002-10-11 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in: Regenerated.
+
+2002-10-11 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.am: Run dep-am.
+ (BFD_H_DEP): Add simple.c and linker.c.
+ (BFD32_LIBS): Add simple.lo.
+ (BFD32_LIBS_CFILES): Add simple.c.
+ * Makefile.in: Regenerated.
+ * bfd-in2.h: Regenerated.
+ * simple.c: New file.
+
+2002-10-11 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
+ (record_thumb_to_arm_glue): Likewise.
+ * ecoff.c (ecoff_link_add_externals): Likewise.
+ * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
+ (record_thumb_to_arm_glue): Likewise.
+ * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
+ * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
+ * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
+ * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
+ * elf64-ppc.c (func_desc_adjust): Likewise.
+ * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
+ (sh64_elf64_create_dynamic_sections): Likewise.
+ * elflink.c (_bfd_elf_create_got_section): Likewise.
+ (_bfd_elf_create_dynamic_sections): Likewise.
+ (_bfd_elf_create_linker_section): Likewise.
+ * elflink.h (elf_add_default_symbol): Likewise.
+ (elf_link_create_dynamic_sections): Likewise.
+ (NAME(bfd_elf,size_dynamic_sections)): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
+ * elfxx-mips.c (mips_elf_create_got_section): Likewise.
+ (_bfd_mips_elf_add_symbol_hook): Likewise.
+ (_bfd_mips_elf_create_dynamic_sections): Likewise.
+ * linker.c (generic_link_add_symbol_list): Likewise.
+ * xcofflink.c (xcoff_link_add_symbols): Likewise.
+
+ * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
+
+ * elf64-ppc.c (edit_opd): Only zero opd syms when function is
+ completely removed. Correct local sym adjustment.
+
+2002-10-10 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
+ Correct mistake in calculation of address of .got.
+ * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
+ elf_sh64_pic_plt_entry_le): Likewise.
+
+2002-10-09 Richard Shann <richard.shann@superh.com>
+ Stephen Clarke <stephen.clarke@superh.com>
+
+ * Makefile.am: Add entries for elf32-sh64-lin.c and
+ elf64-sh64-lin.c. Regenerate.
+ * Makefile.in: Regenerate.
+ * config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
+ to use sh64 vectors rather than sh vectors.
+ * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
+ bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
+ * configure: Regenerate.
+ * elf32-sh64-lin.c: New file.
+ * elf64-sh64-lin.c: New file.
+ * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
+ bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
+
+2002-10-08 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
+ IE->LE transition for R_386_TLS_IE.
+
+2002-10-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (edit_opd): Correct test for discarded sections.
+
+2002-10-07 Mark Elbrecht <snowball3@softhome.net>
+
+ * cofflink.c (mark_relocs): Don't mark relocations in excluded
+ sections.
+
+2002-10-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
+ code.
+
+ * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
+
+2002-10-06 Alan Modra <amodra@bigpond.net.au>
+
+ * opncls.c: Formatting.
+ (_bfd_new_bfd): Use a smaller section hash table.
+
+2002-10-05 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
+ of the other two relocations packed with a REL32 to NONE.
+
+2002-10-02 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
+ (sh_elf_link_hash_newfunc): Initialize it.
+ (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
+ to got.refcount for symbols that are forced local or when
+ we have direct got refs.
+ (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it
+ to correctly adjust got.refcount and plt.refcount.
+ (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
+ (sh_elf_check_relocs): Increment gotplt_refcount.
+
+2002-10-01 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Fix
+ movl foo@indntpoff, %eax IE->LE transition.
+
+2002-10-01 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
+ sequence and its transitions.
+
+2002-10-01 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
+ to st_value + addend in non-code sections.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
+ R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
+
+2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
+ Ken Raeburn <raeburn@cygnus.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
+ (bfd_mach_mips5500): New.
+ * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
+ (arch_info_struct): Add corresponding entries here.
+ * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
+ E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
+ (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
+ bfd_mach_mips5400 and bfd_mach_mips5500.
+ (_bfd_mips_elf_mach_extends_p): New function.
+ (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
+ the EF_MIPS_MACH flags.
+ * bfd-in2.h: Regenerate.
+
+2002-09-28 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
+ .got sections.
+
+2002-09-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (map_sections_to_segments): Correct test for start of
+ writable section in the same page as end of read-only section.
+
+2002-09-27 Matt Thomas <matt@3am-software.com>
+
+ * elf32-vax.c (elf_vax_check_relocs): Remove unused
+ local_got_refcounts usage. Remove allocation of got slot.
+ (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
+ Remove de-allocation of got slot.
+ (elf_vax_size_dynamic_section): Fix some indentation. Add hash
+ traversal for elf_vax_instantiate_got_entries. Allow empty .got
+ sections to be GC'ed.
+ (elf_vax_instantiate_got_entries): New function.
+ (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove
+ tests that are now handled by elf_vax_instantiate_got_entries.
+ Assert GOT entry falls within .got section size. Remove redundant
+ comparisions. Fix comments.
+
+2002-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ * reloc.c: Add x86-64 TLS relocs.
+ * bfd-in2.h, libbfd.h: Rebuilt.
+ * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
+ relocs. Add TLS relocs.
+ (x86_64_reloc_map): Add TLS relocs.
+ (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
+ (struct elf64_x86_64_link_hash_entry): Add tls_type field.
+ (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
+ (elf64_x86_64_hash_entry): Define.
+ (struct elf64_x86_64_obj_tdata): New.
+ (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
+ (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
+ (link_hash_newfunc): Initialize tls_type.
+ (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
+ (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
+ (elf64_x86_64_mkobject): New.
+ (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
+ (elf64_x86_64_tls_transition): New.
+ (elf64_x86_64_check_relocs): Add r_type variable and use it.
+ Handle TLS relocs.
+ (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
+ (allocate_dynrelocs): Allocate GOT space for TLS relocs.
+ (elf64_x86_64_size_dynamic_sections): Likewise.
+ (dtpoff_base, tpoff): New.
+ (elf64_x86_64_relocate_section): Handle TLS relocs.
+ (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
+ entries.
+ (bfd_elf64_mkobject): Define.
+
+ * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
+ DF_STATIC_TLS if shared.
+
+2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
+ empty relocation sections.
+
+2002-09-26 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
+ (ppc64_elf_build_stubs): Build them here instead.
+
+2002-09-24 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
+ addend into r_addend, not *r_offset.
+ (elf32_sparc_finish_dynamic_symbol): Likewise.
+ * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
+ R_SPARC_RELATIVE's r_offset.
+
+2002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * dwarf2.c (decode_line_info): Update to correctly decode
+ the (non-standard DWARF2) out-of-order address sequences
+ generated by the Intel C++ 6.0 compiler for ia64-Linux.
+
+2002-09-23 Mark Elbrecht <snowball3@softhome.net>
+
+ * config.bfd: For DJGPP targets, match with any cpu and any machine.
+
+2002-09-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
+ for discarded FDEs. Remove redundant assignment.
+ * elflink.h (elf_bfd_discard_info): Save edited relocs.
+
+2002-09-22 H.J. Lu <hjl@gnu.org>
+
+ * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
+ the relocation count between different .reloc sections.
+
+2002-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
+ ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
+ R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and
+ R_PPC_EMB_RELSDA.
+
+ * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
+ unsigned. Move "symcount" assignment out of loop.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * po/SRC-POTFILES.in: Regnerate.
+
+2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
+ zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
+ (e.g. IRIX64).
+
+2002-09-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
+ even if generating R_PPC_RELATIVE reloc.
+ (ppc_elf_relocate_section): Make sure relocation is performed
+ if skip == -2. Clear memory at r_offset when creating dynamic
+ relocation.
+
+2002-09-19 Jakub Jelinek <jakub@redhat.com>
+
+ * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
+ BFD_RELOC_386_TLS_GOTIE): Add.
+ * bfd-in2.h, libbfd.h: Rebuilt.
+ * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
+ and R_386_TLS_GOTIE.
+ (elf_i386_reloc_type_lookup): Handle it.
+ (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
+ char instead of enum, change GOT_* into defines.
+ (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
+ (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
+ (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is
+ accessed both as normal and TLS symbol. Move R_386_TLS_LDM and
+ R_386_PLT32 cases so that R_386_TLS_IE can fall through.
+ Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
+ (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
+ Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
+ (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
+ tls_type is GOT_TLS_IE_BOTH.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
+ Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
+ (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
+ all 4 GOT_TLS_* TLS types.
+
+2002-09-19 Nick Clifton <nickc@redhat.com>
+
+ * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
+ follow indirect links.
+
+2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
+ correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
+ on 64 bit machines.
+ (ecoff_swap_sym_in) <iss>: Likewise.
+ * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
+ ECOFF information: 'ioptMax' refers to the actual *size*
+ of the optimization symtab, not the number of entries.
+
+2002-09-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
+ ELF_LINK_HASH_NEEDS_PLT logic.
+
+2002-09-18 Daniel Jacobowitz <drow@mvista.com>
+
+ * elfcode.h (elf_slurp_reloc_table_from_section): Check
+ correct relocation count.
+
+2002-09-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * bfd-in.h (bfd_get_dynamic_symcount): Define.
+ * bfd.c (struct _bfd): Add dynsymcount.
+ * bfd-in2.h: Regenerated.
+ * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
+ abfd->dynsymcount.
+ * elfcode.h (elf_slurp_reloc_table_from_section): Check
+ for overflow.
+
+2002-09-17 Stan Cox <scox@redhat.com>
+
+ * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
+ (mips_elf64_final_gp): Don't make up gp value.
+ * elfn32-mips.c (mips_elf_final_gp): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
+ .MIPS.options/.options section.
+
+2002-09-17 David O'Brien <obrien@FreeBSD.org>
+
+ * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
+ It is benign for FreeBSD < 4.1. Minor reformatting.
+ * elf64-alpha-fbsd.c: Likewise.
+
+2002-09-17 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
+ addend.
+
+2002-09-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-alpha.c (alpha_elf_size_info): Make static.
+
+2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
+ * cpu-tic4x.c: Ditto.
+
+2002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
+ duplicate define.
+
+2002-09-16 Bruno Haible <bruno@clisp.org>
+
+ * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
+ by a target variant implementation.
+ * elf64-alpha.c: Likewise.
+ * elf32-i386-fbsd.c: New file.
+ * elf64-alpha-fbsd.c: New file.
+ * targets.c: Support bfd_elf32_i386_freebsd_vec and
+ bfd_elf64_alpha_freebsd_vec.
+ * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
+ bfd_elf64_alpha_freebsd_vec.
+ * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
+ (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
+ (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
+ (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
+ * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
+ specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
+
+2002-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
+ NULL.
+ (elf_i386_relocate_section): Return false after printing error about
+ unresolvable relocation.
+
+2002-09-12 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
+ R_ARM_THM_PC11.
+
+2002-09-11 Jeffrey Law <law@redhat.com>
+
+ * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
+
+2002-09-11 Andrew Haley <aph@cambridge.redhat.com>
+
+ * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
+ line_ptr before deciding we've found a symbol.
+
+2002-09-11 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: New Danish translation file.
+ * configure.in (LINGUAS): Add 'da'.
+ * configure: Regenerate.
+
+2002-09-10 Michael Snyder <msnyder@redhat.com>
+
+ * irix-core.c (do_sections, do_sections64): New functions.
+ (irix_core_core_file_p): Call new functions do_sections,
+ do_sections64, depending on corefile (32-bit or 64-bit).
+
+2002-09-09 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
+ and PCREL21F like PCREL21B.
+
+2002-09-04 Kevin Buettner <kevinb@redhat.com>
+
+ * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
+ vector.
+
+2002-09-02 Nick Clifton <nickc@redhat.com>
+
+ * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
+ names instead of cryptically overloaded bfd_reloc error
+ codes.
+ (v850_elf_relocate_section): Likewise.
+ (v850_elf_relax_section): Replace caching of external symbols
+ with caching of internal symbols obtained from calling
+ bfd_elf_get_elf_syms().
+ Fixup problems with freeing cached allocated memory blocks.
+
+2002-09-02 Alan Modra <amodra@bigpond.net.au>
+
+ * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
+ (bfd_pj_arch): Use bfd_default_scan.
+ * cpu-v850.c (scan): Remove.
+ (N): Use bfd_default_scan.
+ * cpu-z8k.c (scan_mach): Remove.
+ (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
+ first. Use bfd_default_scan.
+
+ * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
+ bfd_mach constants.
+ (ecoff_get_magic): Likewise.
+ * elf32-v850.c (v850_elf_object_p): Likewise.
+ (v850_elf_final_write_processing): Likewise.
+ * mipsbsd.c (MY(set_arch_mach)): Likewise.
+ (MY(write_object_contents)): Likewise.
+ * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
+ * coffcode.h (coff_write_object_contents): Likewise.
+ (coff_set_arch_mach_hook): Add comment describing machine == 0.
+ Remove unnecessary "machine" assignments.
+ (coff_write_relocs): Test for the absolute section sym by testing
+ section and flags.
+
+ * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
+ and bfd_mach_i386_i386_intel_syntax.
+ * pdp11.c (NAME(aout,machine_type)): Likewise.
+
+2002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * bfd-in.h (align_power): Cast constants to bfd_vma type.
+ * bfd-in2.h (align_power): Likewise.
+
+2002-08-30 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+ * cpu-avr.c (compatible): Don't use hard-coded mach constants.
+ * cpu-powerpc.c (powerpc_compatible): Likewise.
+ * cpu-rs6000.c (rs6000_compatible): Likewise.
+
+2002-08-28 Catherine Moore <clm@redhat.com>
+
+ * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
+ (v850-elf-reloc): Don't resolve pc relative relocs.
+ (v850_elf_ignore_reloc): New routine.
+ (v850_elf_final_link_relocate): Handle new relocs.
+ (v850_elf_relax_delete_bytes ): New routine.
+ (v850_elf_relax_section): New routine.
+ (bfd_elf32_bfd_relax_section): Define.
+ (HOWTO): New entries for new relocs.
+ * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
+ (BFD_RELOC_V850_LONGJUMP): New reloc.
+ (BFD_RELOC_V850_ALIGN): New reloc.
+ * archures.c: Remove redundant v850ea architecture.
+ * cpu-v850.c: Remove redundant v850ea support.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerated.
+
+2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
+ * configure.in: Add tic4x_coff vector files.
+ * configure: Regenerate.
+ * Makefile.am: Add tic4x target.
+ * Makefile.in: Regenerate.
+
+2002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * archures.c: Add the BFD arch type tic4x.
+ * bfd-in.h: Add BFD_IN_MEMORY flag.
+ * coff-tic4x.c: New file.
+ * coffswap.h (coff_swap_sym_out): Add preadjuster.
+ * cpu-tic4x.c: New file.
+ * targets.c: Added tic4x- in list of xvecs.
+ * ticoff.h: New file.
+ * bfd-in2.h: Regenerate.
+
+2002-08-27 Adam Nemet <anemet@lnxw.com>
+
+ * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
+ bit of DT_INIT and DT_FINI for Thumb functions.
+
+2002-08-26 Alan Modra <amodra@bigpond.net.au>
+
+ * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
+
+2002-08-26 Alan Modra <amodra@bigpond.net.au>
+
+ * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
+
+2002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
+ (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
+ Likewise.
+ (struct elf_sh_pcrel_relocs_copied): Removed.
+ (struct elf_sh_dyn_relocs): New.
+ (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
+ field with dyn_relocs.
+ (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
+ sections and sym_sec.
+ (sh_elf_link_hash_newfunc): Clear dyn_relocs.
+ (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
+ (sh_elf_create_dynamic_sections): Use create_got_section instead
+ of _bfd_elf_create_got_section.
+ (sh_elf_check_relocs): Likewise.
+ (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
+ sections.
+ (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
+ sh_elf_relocate_section, sh_elf_check_relocs,
+ sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
+ Likewise.
+ (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
+ dynamic relocations and avoiding the copy relocation when we
+ didn't find any dynamic relocations in the section which has
+ contents or is read-only.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
+ (sh_elf_size_dynamic_sections): Don't reset the size of
+ .rela.got section even if dynamic_sections_created flag is off.
+ Don't use sh_elf_discard_copies. Scan all input bfd and use
+ allocate_dynrelocs. Call readonly_dynrelocs to determine
+ whether we need DT_TEXTREL.
+ (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
+ whether the symbol was never referred to.
+ (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
+ (sh_elf_gc_sweep_hook): Fill with the real sweep function.
+ (sh_elf_check_relocs): Call create_got_section if the short-cut
+ to .got is null. Increment reference counters only instead of
+ allocating space on dynamic sections here. Don't conditionalize
+ uninitialized got.offset value when marking the symbol as a
+ global offset table entry. Keep relocations for symbols satisfied
+ by a dynamic library to avoid copy relocations for the symbol.
+ Set dynobj field of an elf hash table if needed.
+ (sh_elf_finish_dynamic_sections): Handle null section pointer
+ correctly.
+ (elf_backend_copy_indirect_symbol): Defined.
+ (elf_backend_can_refcount): Defined.
+
+2002-08-23 Nick Clifton <nickc@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
+ previous change. Add comment explaining why.
+
+2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
+ contents of .got.plt[2] to tr0, not address of .got.plt.
+ (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
+ patching absolute plt entry. For shmedia plt entry, set bottom bit
+ of branch to plt0 as this is a branch to an shmedia instruction.
+ * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
+ Copy contents of .got.plt[2] to tr0, not address of .got.plt.
+ (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
+ branch to plt0.
+ (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
+ patching absolute plt entry. For shmedia plt entry, branch to
+ plt0 is now ptrel, so use relative offset. Set bottom bit of
+ branch target as it is a branch to an shmedia instruction.
+
+2002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
+ Richard Shann <richard.shann@superh.com>
+
+ * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
+ value if .init is an SHmedia function. Similarly for DT_FINI.
+ * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
+
+2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
+ dynamic section.
+ * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
+
+2002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
+ byte read when reading the return address register column.
+
+2002-08-22 Nick Clifton <nickc@redhat.com>
+
+ * config.bfd: Add powepc64-*-*bsd* target.
+
+2002-08-22 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am: Add entries for elf32-shqnx.c
+ * Makefile.in: Regenerate.
+ * config.bfd: Add support sh-*-nto* target.
+ * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
+ * configure: Regenerate.
+ * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
+ * elf32-sh.c: Do not include elf32-target.h if
+ ELF32_SH_C_INCLUDED is defined.
+ * elf32-shqnx.c: New file: Support for QNX.
+ * targets.c: Add bfd_elf32_sh{l}qnx_vec.
+
+2002-08-22 Nick Clifton <nickc@redhat.com>
+
+ * po/tr.po: Updated Turkish translation.
+
+ * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
+ symbols are not read.
+
+2002-08-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-m68hc11.c: Formatting fixes.
+ (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
+ * elf32-m68hc12.c: Formatting fixes.
+ (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
+
+2002-08-22 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
+ SEC_DATA.
+ (pmac_xcoff_vec): Likewise.
+ * coff64-rs6000.c (rs6000coff64_vec): Likewise.
+ (aix5coff64_vec): Likewise.
+
+2002-08-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
+ param to elf_backend_copy_indirect_symbol.
+ (_bfd_elf_link_hash_copy_indirect): Likewise.
+ * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
+ calls to copy_indirect_symbol.
+ * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+ * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+ * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
+ * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
+ test refcounts for "used" values.
+
+2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
+ argument declaration.
+
+2002-08-19 Elena Zannoni <ezannoni@redhat.com>
+
+ * archures.c (bfd_mach_ppc_e500): Added.
+ * bfd-in2.h: Rebuilt.
+ * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
+
+2002-08-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
+
+2002-08-17 Andrew Cagney <ac131313@redhat.com>
+
+ * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
+ `bfd_byte'.
+
+2002-08-17 Stan Cox <scox@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
+ IRIX 6 segment layout for NEWABI.
+
+2002-08-16 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
+ symbols when looking for section referred to by a relocation.
+ * elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
+
+2002-08-15 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i370.c: Move reloc enum to include/elf/i370.h.
+
+2002-08-15 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
+ missing check for whether the symbol is referenced by DSO before
+ unexporting it as an unneeded dynamic symbol.
+
+2002-08-14 H.J. Lu <hjl@gnu.org>
+
+ * libbfd.h: Regenerate.
+
+2002-08-14 H.J. Lu <hjl@gnu.org>
+
+ * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
+
+2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
+ instructions.
+ (m68hc11_direct_relax): New to define table of relaxable instructions.
+ (find_relaxable_insn): New, find a relaxable insn.
+ (compare_reloc): New to compare two relocs.
+ (m68hc11_elf_relax_section): New, relax text sections.
+ (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
+ (elf32_m68hc11_check_relocs): New function for GC support.
+ (elf32_m68hc11_relocate_section): New function for GC support.
+ (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
+ (elf_backend_check_relocs): Likewise.
+ (elf_backend_relocate_section): Likewise.
+
+2002-08-13 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
+ definitions in shared objects when checking symbol with
+ undefined version.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
+ (elf32_m68hc11_gc_sweep_hook): Likewise.
+ (elf_backend_gc_mark_hook): Define for GC section support.
+ (elf_backend_gc_sweep_hook): Likewise.
+ (elf_backend_can_gc_sections): Likewise.
+
+ * elf32-m68hc12.c: Likewise.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
+ (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
+ (_bfd_m68hc11_elf_set_private_flags): New function.
+ Use them to set/check/print ELF flags specific to 68HC11.
+
+ * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
+ (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
+ (_bfd_m68hc12_elf_set_private_flags): New function.
+ Use them to set/check/print ELF flags specific to 68HC12.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
+ fix masks for PC-rel relocs.
+ (m68hc11_elf_ignore_reloc): New function.
+
+ * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
+ 68HC12 banked addressing relocs.
+ (m68hc12_phys_addr): New to compute physical address of banked memory.
+ (m68hc12_phys_page): Likewise for page.
+ (m68hc12_addr_is_banked): New to see if address is in banked area.
+ (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
+ BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
+ BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
+ * bfd-in2.h: Regenerate.
+
+2002-08-12 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_add_default_symbol): Preserve section across
+ elf_merge_symbol.
+
+2002-08-09 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am: Add entries for elf32-ppcqnx.c, and add
+ elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
+ * Makefile.in: Regenerate.
+ * config.bfd: Add support for powerpc{le}-*-nto targets.
+ * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
+ * configure: Regenerate.
+ * elf32-i386qnx.c: Moved backend functions into a QNX specific
+ common file "elf32-qnx.h", and now include that file.
+ * elf32-qnx.h: New file: QNX specific common elf backend.
+ * elf32-ppc.c: Do not include elf32-target.h if
+ ELF32_PPC_C_INCLUDED is defined.
+ * elf32-ppcqnx.c: New file: Support for QNX.
+ * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
+ * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
+
+2002-08-09 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
+ g->global_gotsym is NULL.
+
+2002-08-08 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_add_default_symbol): Don't warn if a definition
+ overrides an indirect versioned symbol.
+
+2002-08-08 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
+ for R_386_TLS_TPOFF32 relocs against symndx 0.
+
+2002-08-07 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
+ with undefined version if needed.
+ (elf_link_assign_sym_version): Match a default symbol with a
+ version without definition. No need to hide the default
+ definition separately.
+
+2002-08-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_output_extsym): Don't output symbols from
+ SEC_EXCLUDE sections.
+
+ * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
+
+2002-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
+ entries.
+
+2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
+ mismatch.
+
+2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (ABI_64_P): Remove superfluous check.
+
+2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (mips_reloc_map): Fix typo.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * libxcoff.h: Use PARAMS on function declarations.
+ * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
+ * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
+
+ * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
+ addend.
+ * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-rs6000.c: Formatting fixes.
+ (xcoff_calculate_relocation): Use PARAMS in declaration.
+ (xcoff_complain_overflow): Likewise.
+ (xcoff_ppc_relocate_section): Use old-style function pointer call.
+ (bfd_xcoff_backend_data): Remove useless comments.
+ (rs6000coff_vec): Likewise.
+ (bfd_pmac_xcoff_backend_data): Likewise.
+ (pmac_xcoff_vec): Likewise.
+
+ * coff64-rs6000.c: Formatting fixes.
+ (xcoff64_calculate_relocation): Use PARAMS in declaration.
+ (xcoff64_ppc_relocate_section): Use old-style function pointer call.
+ (bfd_xcoff_backend_data): Remove useless comments.
+ (rs6000coff64_vec): Likewise.
+ (bfd_xcoff_aix5_backend_data): Likewise.
+ (aix5coff64_vec): Likewise.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
+ mask entries. Use complain_overflow_dont for R_REF.
+ (xcoff_reloc_type_ba): Revert last change.
+ (xcoff_reloc_type_br): Likewise.
+ (xcoff_reloc_type_crel): Likewise.
+ (xcoff_ppc_relocate_section): Likewise.
+ * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
+ (xcoff64_ppc_relocate_section): Likewise.
+ (xcoff64_howto_table): Revert some of last change to mask entries.
+ Use complain_overflow_dont for R_REF.
+
+ * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
+ relocs with bitsize == 16 have size = 1.
+ (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
+ (xcoff_reloc_type_br): Likewise.
+ (xcoff_reloc_type_crel): Likewise.
+ (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
+ * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
+ dst_mask adjustment.
+ (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
+ (xcoff64_howto_table): Fix src_mask entries. Make all relocs with
+ bitsize == 16 have size = 1.
+
+2002-08-01 Denis Chertykov <denisc@overta.ru>
+
+ * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
+ (struct misc): New field isymbuf. All free_* fields removed.
+ (symbol_value): Pass in internal syms. No need to swap syms in.
+ (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
+ possibly cached info.
+ (tidyup_after_error): Removed.
+ (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
+ misc. Use new field.
+ (adjust_all_relocations): Use internal syms. No need to swap syms
+ in and out.
+ (add_page_insn): Don't use removed fields of struct misc.
+
+2002-08-01 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.h: Revert previous delta.
+
+2002-08-01 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (AM_INIT_AUTOMAKE): Bump version number.
+ * configure: Regenerate.
+
+2002-07-31 H.J. Lu <hjl@gnu.org>
+
+ * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
+ selected.
+
+2002-07-31 H.J. Lu <hjl@gnu.org>
+
+ * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
+ is selected.
+
+2002-07-31 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
+ if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
+
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
+ There is no 8 byte relocation type for this architecture.
+ (do_ns32k_reloc): Use bfd_vma instead of native types.
+ (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
+ returns void.
+ (_bfd_ns32k_put_displacement): Don't check for overflow. We can
+ rely on generic code to do that.
+ * aout-ns32k.c (howto_table): Add appropriate overflow detection
+ to all table entries.
+ (_bfd_ns32k_relocate_contents): put_data returns void.
+ * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
+ (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
+ return void.
+
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * aoutx.h (aout_link_check_ar_symbols): Whether to include an
+ archive object is target dependant.
+
+2002-07-31 Adam Nemet <anemet@lnxw.com>
+
+ * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
+ (THUMB_PLT_ENTRY_SIZE): New macro.
+ (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
+ (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
+ ARM_PLT_ENTRY_SIZE.
+ (elf32_arm_plt_entry): Likewise.
+ (elf_backend_plt_header_size): Likewise.
+ (elf32_thumb_plt0_entry): New global.
+ (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
+ into .plt.thumb.
+ (elf32_thumb_plt_entry): New global.
+ (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
+ Thumb entries. Set the bottom bit of the corresponding GOT entry
+ for a Thumb PLT entry.
+ (struct elf32_arm_plt_entry_info): New structure.
+ (struct elf32_arm_link_hash_entry, plt_info): New member of this
+ type.
+ (elf32_arm_link_hash_newfunc): Initialize new member.
+ (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
+ relocations against the PLT.
+ (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
+ first_rel_type if this is the first time we encounter the symbol.
+ (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
+ Determine if relocation needs a PLT entry. Set first_rel_type if
+ this is the first time we encounter the symbol
+ (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
+ functions as well.
+ (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
+ (elf32_arm_create_dynamic_sections): New function. Create the
+ .plt.thumb section.
+ (elf_backend_create_dynamic_sections): Call it.
+
+2002-07-31 Nick Clifton <nickc@redhat.com>
+
+ * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
+ 'alternative' in order to avoid shadowing global symbol of the
+ same name.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+2002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * Makefile.am: Add n32 ABI support.
+ * Makefile.in: Regenerate.
+ * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
+ bit vectors for mips*-*-linux targets as optional.
+ * configure.in: Add n32 ABI vectors.
+ * configure: Regenerate.
+ * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
+ * elfn32-mips.c: New file, n32 ABI support.
+ * targets.c: Add n32 ABI vectors.
+
+2002-07-30 Graeme Peterson <gp@qnx.com>
+
+ * elfarmqnx-nabi.c: New file: Support for QNX.
+ * config.bfd: Add support for arm-*-nto target.
+ * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
+ * configure: Regenerate.
+ * Makefile.am: Add entries for elfarmqnx-nabi.c.
+ * Makefile.in: Regenerate.
+ * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
+ Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
+ * elfarm-nabi.c: Do not include elf32-arm.h if
+ ELFARM_NABI_C_INCLUDED is defined.
+ * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
+
+2002-07-30 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2002-07-30 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
+
+2002-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
+ * archive.c (bfd_generic_archive_p): Likewise.
+ * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
+ (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
+ * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
+ (xcoff64_archive_p): Likewise.
+ (xcoff64_openr_next_archived_file): Likewise.
+ (xcoff64_archive_p): Clean up tdata properly on error.
+ * coffgen.c (coff_real_object_p): Likewise.
+ (coff_object_p): Release filehdr and opthdr.
+ * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
+ * ieee.c (ieee_archive_p): Likewise.
+ * ihex.c (ihex_object_p): Likewise.
+ (ihex_mkobject): Always allocate tdata.
+ * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
+ * srec.c (srec_mkobject): Always allocate tdata.
+ (srec_object_p): Clean up tdata properly on error.
+ (symbolsrec_object_p): Likewise.
+ * versados.c (versados_object_p): Likewise.
+ * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
+ and bfd_realloc instead of realloc.
+ (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
+ * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
+ place of bfd_malloc, simplifying error freeing. Free hash table too.
+ (vms_object_p): Clean up tdata on error.
+ (vms_mkobject): Don't complain on stderr if vms_initialize fails.
+ (vms_close_and_cleanup): Adjust for bfd_alloc use.
+
+2002-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
+
+2002-07-26 Chris Demetriou <cgd@broadcom.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
+ flags into resulting BFD.
+
+2002-07-26 Alan Modra <amodra@bigpond.net.au>
+
+ From John Reiser <jreiser@BitWagon.com>
+ * elf32-i386.c (elf_i386_link_hash_table_create): Clear
+ tls_ldm_got.refcount.
+
+2002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf64-mips.c: Update TODO comment.
+ (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
+ mips_elf64_gprel16_reloca): Remove prototypes.
+ (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
+ (UNUSED_RELOC): Replace by EMPTY_RELOC.
+ (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
+ wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
+ R_MIPS_HIGHEST.
+ (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
+ R_MIPS_GOT16. Remove wrong comments.
+ (elf_mips16_jump_howto,elf_mips16_gprel_howto,
+ elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
+ from elf32-mips.c.
+ (mips_elf64_hi16_reloc): Fix formatting.
+ (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
+ (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
+ Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
+ (mips_elf64_gprel16_reloc): Make static. Add check for
+ partial_inplace.
+ (mips_elf64_gprel16_reloca): Remove.
+ (mips_elf64_literal_reloc): New function.
+ (mips_elf64_gprel32_reloc): Fix formatting.
+ (mips_elf64_shift6_reloc): Fix comment. Make static.
+ (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
+ elf32-mips.c.
+ (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
+ elf32-mips.c
+ (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
+ specific relocations.
+ (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
+ (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
+ (ELF_MAXPAGESIZE): Add comment.
+
+2002-07-25 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+ * po/fr.po: Updated French translation.
+
+2002-07-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
+ as elf_link_record_local_dynamic_symbol.
+ (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
+ (elf_link_record_local_dynamic_symbol): Declare. Now returns int.
+ * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
+ * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
+ attempt is made to record a symbol in a discarded section, and
+ return `2' in that case.
+
+2002-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+
+2002-07-23 Alan Modra <amodra@bigpond.net.au>
+
+ * po/SRC-POTFILES.in: Regenerate.
+
+ * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
+ immediately. Remove code handling relocatable linking.
+ * elf32-avr.c (elf32_avr_relocate_section): Likewise.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
+ * elf32-frv.c (elf32_frv_relocate_section): Likewise.
+ * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-v850.c (v850_elf_relocate_section): Likewise.
+ * elf32-vax.c (elf_vax_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf32-avr.c (elf_backend_rela_normal): Define.
+ * elf32-cris.c: Likewise.
+ * elf32-fr30.c: Likewise.
+ * elf32-frv.c: Likewise.
+ * elf32-h8300.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-ip2k.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
+ * elf32-frv.c (elf32_frv_relocate_section): Likewise.
+ * elf32-i860.c (elf32_i860_relocate_section): Likewise.
+ * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
+ * elf-m10200.c (USE_RELA): Don't define.
+ * elf-m10300.c: Likewise.
+ * elfarm-oabi.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-ip2k.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elf32-avr.c (USE_REL): Don't undef.
+ * elf32-ip2k.c: Likewise.
+
+2002-07-23 Nick Clifton <nickc@redhat.com>
+
+ * elf-bfd.h (struct elf_backend_data): Add new bitfield
+ 'want_p_paddr_set_to_zero'.
+ * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
+ to false;
+ * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
+ * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
+
+2002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
+
+ * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
+ the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
+ show the Copyright string.
+ Minor formatting tidy ups.
+
+2002-07-23 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+ * po/sv.po: Updated Swedish translation.
+
+2002-07-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_input_bfd): Don't change internal symbols
+ when outputting relocs.
+
+2002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
+ DT_PLTGOT into the dynamic section if there is a PLT.
+
+2002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
+ elf32-mips.c.
+ (_bfd_mips_elf_write_section): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
+ (_bfd_mips_elf_write_section): Likewise.
+ * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
+ (elf32_mips_write_section): Likewise.
+ * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
+ (_bfd_mips_elf_write_section): Likewise.
+
+2002-07-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
+ PT_IA_64_UNWIND segments for a given section.
+
+2002-07-17 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am: Fix a typo.
+ * Makefile.in: Regenerate.
+
+2002-07-15 Denis Chertykov <denisc@overta.ru>
+ Frank Ch. Eigler <fche@redhat.com>
+ Ben Elliston <bje@redhat.com>
+ Alan Lehotsky <alehotsky@cygnus.com>
+ John Healy <jhealy@redhat.com>
+ Graham Stott <grahams@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * Makefile.am: Add support for ip2k.
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * archures.c: Add support for ip2k.
+ * config.bfd: Add support for ip2k.
+ * configure.in: Add support for ip2k.
+ * configure: Regenerate.
+ * reloc.c: Add support for ip2k.
+ * targets.c: Add support for ip2k.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * cpu-ip2k.c: New file.
+ * elf32-ip2k.c: New file.
+
+2002-07-17 Ian Rickards <irickard@arm.com>
+
+ * dwarf2.c (concat_filename): If we can't establish the directory
+ just return the filename.
+
+2002-07-16 Moritz Jodeit <moritz@jodeit.org>
+
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
+
+2002-07-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h: Formatting fixes, tidy prototypes.
+ (elf_link_assign_sym_version): Move common code out of loop.
+
+2002-07-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
+ reloc section size is zero. Correct reloc output location.
+
+2002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
+ the final type for the e_fsel selector when generating PA2.0W code.
+ (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
+ relocations.
+
+2002-07-14 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_assign_sym_version): Hide the default
+ definition if there is a hidden versioned definition.
+
+2002-07-12 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
+ dynamic reference test in assertion when initializing GOT with
+ static contents. Just assert that there are either no dynamic
+ sections, the symbol is defined in the regular objects or that the
+ symbol is undef weak. Tweak comment.
+ (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
+ only if the symbol isn't defined in the program and isn't undef
+ weak.
+ (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
+ rid of PLT entry: only do it if the symbol isn't defined in a DSO.
+ When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
+ (elf_cris_discard_excess_program_dynamics): Don't consider
+ ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
+
+2002-07-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_relocate_section): Don't complain about
+ unresolved debugging relocs in dynamic applications.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+2002-07-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ONES): Define.
+ (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
+ missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
+ in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
+
+ * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
+ (ppc64_elf_set_private_flags): Delete.
+ (ppc64_elf_section_from_shdr): Delete.
+ (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
+ (ppc64_elf_fake_sections): Delete.
+ (bfd_elf64_bfd_set_private_flags): Don't define.
+ (bfd_elf64_get_symbol_info): Likewise.
+ (elf_backend_section_from_shdr): Likewise.
+ (elf_backend_fake_sections): Likewise.
+
+2002-07-10 Marco Walther <Marco.Walther@sun.com>
+
+ * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
+ when not already set.
+ * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
+ (elf_backend_fake_sections): Define.
+
+2002-07-10 Alan Modra <amodra@bigpond.net.au>
+
+ * merge.c (_bfd_merge_section): Remove redundant output_section check.
+ Formatting.
+ (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
+
+2002-07-09 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
+ NULL sym_hashes to just before use.
+ <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
+ symbol with non-default visibility.
+ <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
+ <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
+ Ditto.
+ (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
+ symbol with non-default visibility.
+ (cris_elf_check_relocs): At tests for local symbol before
+ increasing h->plt.refcount, also check for non-default
+ visibility. Ditto when checking for local symbol to eliminate
+ pc-relative runtime relocs.
+
+2002-07-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c: Formatting.
+ (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
+ (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
+ (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
+ segments.
+
+2002-07-07 Mark Mitchell <mark@codesourcery.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
+ account the impact of relocation count overflow when computing
+ section offsets.
+ * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
+ or not to apply the PE COFF reloc overflow handling. Fix a
+ fencepost error in deciding whether or not to use that technique.
+
+2002-07-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
+ change type of locsyms.
+ (bfd_elf_get_elf_syms): Declare.
+ * elf.c (bfd_elf_get_elf_syms): New function.
+ (group_signature): Use bfd_elf_get_elf_syms.
+ (bfd_section_from_r_symndx): Likewise.
+ * elfcode.h (elf_slurp_symbol_table): Likewise.
+ * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
+ (elf_link_add_object_symbols): Likewise. Reorganise to increase
+ locality of various data structures. Properly free internal relocs.
+ (elf_bfd_final_link): Properly free internal relocs.
+ (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
+ (elf_link_input_bfd): Likewise.
+ (elf_gc_mark): Likewise. Properly free internal relocs.
+ (elf_gc_sweep): Properly free internal relocs.
+ (elf_reloc_symbol_deleted_p): No need to swap syms in.
+ (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
+ internal relocs.
+ * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
+ Properly free possibly cached info.
+ (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
+ (mn10200_elf_symbol_address_p): Pass in internal syms. Remove
+ symbol swapping code.
+ (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
+ Properly free possibly cached info.
+ * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
+ (mn10300_elf_relax_delete_bytes): Likewise.
+ (mn10300_elf_symbol_address_p): Likewise.
+ (mn10300_elf_get_relocated_section_contents): Likewise.
+ * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
+ (elf32_h8_relax_delete_bytes): Likewise.
+ (elf32_h8_symbol_address_p): Likewise.
+ (elf32_h8_get_relocated_section_contents): Likewise.
+ * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
+ (m32r_elf_relax_delete_bytes): Likewise.
+ (m32r_elf_get_relocated_section_contents): Likewise.
+ * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
+ elf_section_data to determine whether cached.
+ (sh_elf_relax_section): As above for elf-m10200.c.
+ (sh_elf_relax_delete_bytes): Likewise.
+ (sh_elf_get_relocated_section_contents): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
+ * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
+ reading of local syms.
+ * elf64-mmix.c (mmix_elf_relax_section): Likewise.
+ * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
+ * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
+ relocs.
+ * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
+ free internal relocs and section contents. Don't read symbols.
+ * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
+ (elf32_hppa_size_stubs): Don't free local syms.
+ * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
+ reading of local syms. Use bfd_elf_get_elf_syms. Properly free
+ possibly cached info.
+ * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
+ * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
+ all_local_syms.
+ (get_local_syms): Delete function.
+ (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
+ on exit.
+ (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
+
+2002-07-05 Jim Wilson <wilson@redhat.com>
+
+ * syms.c (decode_section_type): New.
+ (bfd_decode_symclass): Call decode_section_type.
+
+2002-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
+ section content start.
+ Reported by Michael Schumacher <mike@hightec-rt.com>.
+
+2002-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * section.c (_bfd_strip_section_from_output): Remove unnecessary
+ link order code. Don't actually remove the output section here;
+ Just set a flag for the linker to do so.
+ * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
+ sections when setting up output section dynsyms.
+
+2002-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
+ fudge.
+ * elf.c (bfd_section_from_shdr): Work around broken hpux shared
+ libs here instead.
+
+2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf64-s390.c (create_got_section): Set .got section alignment to
+ 8 bytes.
+ (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
+
+2002-07-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
+
+2002-07-01 Matt Thomas <matt@3am-software.com>
+
+ * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
+ to EF_VAX_*.
+
+2002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (ABI_64_P): Fix comment.
+ (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
+ new section names for N64 ABI.
+ (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
+ (mips_elf_calculate_relocation): Code formatting.
+ (mips_elf_create_dynamic_relocation): Likewise.
+ (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
+ (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
+ (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
+ in any NewABI.
+ (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
+ for NewABI.
+ (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
+ (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
+ here, too.
+
+2002-07-01 Andreas Schwab <schwab@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
+ R_X86_64_64 to R_X86_64_RELATIVE.
+
+2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
+ * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
+ Run "make dep-am".
+ * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
+ host_aout_vec.
+ * configure.in (vaxbsd_vec): Add.
+ * targets.c (vaxbsd_vec): Add.
+ * Makefile.in: Rebuild.
+ * configure: Rebuild.
+ * po/SRC-POTFILES.in: Rebuild.
+
+2002-07-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
+ examining to gc_mark_hook, rather than the bfd.
+ (elf_gc_sections): Adjust.
+ * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
+ * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
+ * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
+ * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
+ * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
+ * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
+ * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
+ * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
+ * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
+ * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
+ * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
+ * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
+ * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
+ * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
+ * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
+ * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
+ * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
+ * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
+ * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
+ * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
+ * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
+ * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
+ * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
+ * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
+ redundant local sym tests.
+ * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
+ (link_hash_newfunc): Init is_entry.
+ (ppc64_elf_copy_indirect_symbol): Copy is_entry.
+ (ppc64_elf_link_hash_table_create): Init all_local_syms.
+ (create_linkage_sections): Use bfd_make_section_anyway rather than
+ bfd_make_section.
+ (ppc64_elf_mark_entry_syms): New function.
+ (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
+ up opd entry to function section map.
+ (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
+ relocs that reference the opd section.
+ (edit_opd): New function.
+ (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
+ (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
+ (get_local_syms): Do so here. Exit if we already have local syms.
+ Remove bogus comment imported from elf32-hppa.c. Don't attempt to
+ read local syms on non-ELF input.
+ (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
+ than duplicating it's function here. Adjust free of internal
+ relocs to suit.
+ (ppc64_elf_relocate_section): Adjust local syms in opd section.
+ * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
+ * elf32-hppa.c (elf32_hppa_size_stubs): Call
+ _bfd_elf32_link_read_relocs rather than duplicating it's function
+ here. Adjust free of internal relocs to suit.
+
+2002-07-01 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
+ are not allowed in shared libs code, enforce -fPIC.
+
+2002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
+ trailing zero-sequences when there's previous left-over data.
+
+2002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
+ (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
+ and opd_rel_sec in order for starting rela section. Check _raw_size.
+ (elf_backend_reloc_type_class): Define.
+
+2002-06-27 Kevin Buettner <kevinb@redhat.com>
+
+ * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
+ DWARF2 formats.
+
+2002-06-27 Alan Modra <amodra@bigpond.net.au>
+
+ * cpu-powerpc.c: Comment on ordering of arch_info.
+ * elf32-ppc.c (ppc_elf_object_p): New function.
+ (elf_backend_object_p): Define.
+ * elf64-ppc.c (ppc64_elf_object_p): New function.
+ (elf_backend_object_p): Define.
+
+2002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
+ * configure: Regenerate.
+
+2002-06-25 Jason Eckhardt <jle@rice.edu>
+
+ * dwarf2.c (decode_line_info): Check unit->addr_size
+ to read in the proper number of prologue bytes.
+
+2002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config.bfd (powerpc-*-aix5*): Only create a selvecs for
+ aix5coff64_vec if 64-bit bfd support has been enabled.
+ (powerpc64-*-aix5*): Only define if 64-bit bfd support has
+ been enabled.
+
+ * targets.c (_bfd_target_vector[]): Only include
+ aix5coff64_vec if 64-bit bfd support has been enabled.
+
+2002-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
+ * elf32-hppa.c (hppa_add_stub): Likewise.
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
+ * elflink.h (elf_add_default_symbol): Fix comment typo.
+ (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
+ (elf_link_add_object_symbols): Likewise.
+ (elf_link_assign_sym_version): Likewise.
+ * hash.c (bfd_hash_lookup): Likewise.
+ * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
+ * section.c (bfd_get_unique_section_name): Likewise.
+ * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
+ * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
+ (assign_section_numbers): Likewise.
+ (_bfd_elfcore_make_pseudosection): Likewise.
+ (elfcore_grok_lwpstatus): Likewise.
+ (elfcore_grok_win32pstatus): Likewise.
+ (elfcore_write_note): Constify input params. Use PTR instead of
+ void *. Include terminating NUL in namesz. Correct padding.
+ Support NULL "name" param. Use memcpy instead of strcpy.
+ (elfcore_write_prpsinfo): Constify input params.
+ (elfcore_write_prstatus): Likewise. Use PTR instead of void *.
+ (elfcore_write_lwpstatus): Likewise.
+ (elfcore_write_pstatus): Likewise.
+ (elfcore_write_prfpreg): Likewise.
+ (elfcore_write_prxfpreg): Likewise.
+ * elf-bfd.h (elfcore_write_note): Update declaration.
+ (elfcore_write_prpsinfo): Likewise.
+ (elfcore_write_prstatus): Likewise.
+ (elfcore_write_pstatus): Likewise.
+ (elfcore_write_prfpreg): Likewise.
+ (elfcore_write_prxfpreg): Likewise.
+ (elfcore_write_lwpstatus): Likewise.
+
+2002-06-25 Jason Eckhardt <jle@rice.edu>
+
+ * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
+ symbols of type stProc and stStaticProc.
+
+2002-06-25 Nick Clifton <nickc@redhat.com>
+
+ * ecoff.c: VArious formatting fixes.
+
+2002-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
+
+2002-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * aout-adobe.c: Don't compare against "true" or "false.
+ * aout-target.h: Likewise.
+ * aoutx.h: Likewise.
+ * archive.c: Likewise.
+ * bout.c: Likewise.
+ * cache.c: Likewise.
+ * coff-a29k.c: Likewise.
+ * coff-alpha.c: Likewise.
+ * coff-i386.c: Likewise.
+ * coff-mips.c: Likewise.
+ * coff-or32.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * coffgen.c: Likewise.
+ * cpu-ns32k.c: Likewise.
+ * ecoff.c: Likewise.
+ * ecofflink.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-arm.h: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-d30v.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elfcode.h: Likewise.
+ * elfcore.h: Likewise.
+ * elflink.h: Likewise.
+ * elfxx-mips.c: Likewise.
+ * i386os9k.c: Likewise.
+ * ieee.c: Likewise.
+ * libbfd.c: Likewise.
+ * linker.c: Likewise.
+ * mmo.c: Likewise.
+ * nlm32-alpha.c: Likewise.
+ * nlm32-i386.c: Likewise.
+ * nlm32-ppc.c: Likewise.
+ * nlm32-sparc.c: Likewise.
+ * nlmcode.h: Likewise.
+ * oasys.c: Likewise.
+ * pdp11.c: Likewise.
+ * peicode.h: Likewise.
+ * reloc.c: Likewise.
+ * som.c: Likewise.
+ * srec.c: Likewise.
+ * tekhex.c: Likewise.
+ * vms.c: Likewise.
+ * xcofflink.c: Likewise.
+ * elf64-sparc.c: Edit comment to not use "== false".
+
+ * aoutf1.h: Don't use "? true : false".
+ * ecoff.c: Likewise.
+ * format.c: Likewise.
+ * ieee.c: Likewise.
+ * linker.c: Likewise.
+ * mmo.c: Likewise.
+ * oasys.c: Likewise.
+
+2002-06-23 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_archive_symbols): For the default
+ version, check references with only one `@' first.
+
+2002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
+ function.
+ (allocate_global_data_dlt): Don't add millicode symbols to dynamic
+ symbol table.
+ (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
+ (elf64_hppa_size_dynamic_sections): Revise to use
+ elf64_hppa_mark_milli_and_exported_functions.
+ (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
+ symbols out of dynamic symbol table.
+
+2002-06-23 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * configure: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+ * elflink.h: Comment typo fixes.
+
+2002-06-23 H.J. Lu <hjl@gnu.org>
+
+ * elf-bfd.h (elf_link_loaded_list): New structure.
+ (elf_link_hash_table): Add "loaded".
+ * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
+ * elflink.h (elf_link_check_versioned_symbol): New function.
+ (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
+
+2002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elflink.h (size_dynamic_sections): If the target does not
+ support an ELF style hash table, return true, indicating that
+ nothing needed to be done, rather than false, indicating that the
+ section's size could not be computed.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ From Catherine Moore, Michael Meissner, Dave Brolley:
+ * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
+ * targets.c: Support bfd_elf32_frv_vec.
+ * reloc.c: Add FRV relocs.
+ * configure.in: Add support for bfd-elf32-frv-vec.
+ * config.bfd (targ_cpu): Add support for frv-*-elf.
+ * archures.c: Add frv arch and machines.
+ * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
+ (ALL_MACHINES_CFILES): Add cpu-frv.c.
+ (BFD32_BACKENDS): Add elf32-frv.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-frv.c
+ (cpu-frv.lo): New target.
+ (elf32-frv.lo): New target.
+ * cpu-frv.c: New file.
+ * elf32-frv.c: New file.
+
+2002-06-18 Jakub Jelinek <jakub@redhat.com>
+
+ * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
+ e_shnum == 0.
+ Only read the first section header if e_shoff is non-zero.
+ Don't consider e_shstrndx if there are no sections.
+
+2002-06-17 Tom Rix <trix@redhat.com>
+
+ * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
+ R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
+ complain_overflow_bitfield.
+
+2002-06-17 Alan Modra <amodra@bigpond.net.au>
+
+ * opncls.c (bfd_openr): Remove redundant bfd_set_error.
+ (bfd_fdopenr): Likewise.
+ (bfd_openstreamr): Likewise.
+ (bfd_openw): Likewise.
+
+ * targets.c: Sort target vecs.
+ (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
+ bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
+ bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
+ bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
+ * configure.in: Sort target vecs. Add m88kmach3_vec.
+ * configure: Regenerate.
+
+2002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
+ bpo_reloc_no to break sort order ties, not address of items.
+
+2002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
+ Skip excluded sections in determing __gp value.
+ (elf_hppa_final_link_relocate): Use the symbol's address in
+ R_PARISC_FPTR64 relocations that don't need an opd entry.
+ * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
+ (elf64_hppa_finalize_dynreloc): Likewise.
+ (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
+ (elf64_hppa_finish_dynamic_symbol): Break up assert.
+
+2002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
+
+ * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
+ alignment for .bss, .data and .text sections so that sse and sse2
+ code will work.
+ * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
+
+2002-06013 J"orn Rennecke <joern.rennecke@superh.com>
+
+ config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
+ sh[1234]*-elf*.
+
+2002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elflink.h (elf_bfd_final_link): Improve error handling for missing
+ dynamic sections.
+
+ * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
+ for a symbol that has no output section.
+ (allocate_dynrel_entries): Correct comment.
+ (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
+ unless we want one.
+ (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
+ (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
+ with no section. Remove unnecessary parentheses.
+
+2002-06-11 Tom Rix <trix@redhat.com>
+
+ * coffcode.h (coff_compute_section_file_positions): Add data
+ section to AIX loader alignment check.
+
+ * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
+ alignment to 4 bytes.
+ (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
+ power accessor macro.
+ (do_shared_object_padding): Remove invalid assertion.
+
+2002-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
+ for removed output sections.
+
+2002-06-10 Geoffrey Keating <geoffk@redhat.com>
+
+ * merge.c (merge_strings): Use htab_create_alloc with calloc, not
+ htab_alloc.
+ * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
+
+2002-06-08 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
+ work around a long long bug in gcc 2.96 on mips.
+
+2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
+ (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
+ Regenerate dependency lists.
+ * Makefile.in: Regenerate.
+ * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
+ vax1knetbsd_vec to targ_selvecs.
+ * configure.in: Add vax1knetbsd_vec.
+ * configure: Regenerate.
+ * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
+ * vax1knetbsd.c: New file.
+ * vaxnetbsd.c: Update copyright years.
+ (TARGET_PAGE_SIZE): Set to 0x1000.
+ (DEFAULT_MID): Set to M_VAX4K_NETBSD.
+
+2002-06-08 Matt Thomas <matt@3am-software.com>
+
+ * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+ * armnetbsd.c: Replace CONST with const.
+ * corefile.c: Likewise.
+ * elf32-dlx.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * mmo.c: Likewise.
+ * ns32knetbsd.c: Likewise.
+
+ * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
+ table is elf64-sparc.
+
+2002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
+ Fix RELA addends to get not shifted in the result. Don't do special
+ handling of R_MIPS_64 for NewABI.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
+ (NAME(aout,slurp_reloc_table)): Likewise.
+ * coff-mips.c (mips_relax_section): Use bfd_zalloc.
+ * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
+ (xcoff_write_archive_contents_big): Likewise.
+ (xcoff_generate_rtinit): Likewise.
+ (xcoff_generate_rtinit): Likewise, and check error return.
+ * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
+ * coffgen.c (coff_section_symbol): Use bfd_zalloc.
+ (coff_get_normalized_symtab): Likewise.
+ (coff_make_empty_symbol): Likewise.
+ (bfd_coff_set_symbol_class): Likewise.
+ * cofflink.c (coff_link_add_symbols): Likewise.
+ * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
+ * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
+ (bfd_ecoff_write_accumulated_debug): Likewise.
+ * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
+ * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
+ * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
+ * ieee.c (do_with_relocs): Use bfd_zalloc.
+ * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
+ * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
+ (NAME(aout,slurp_reloc_table)): Likewise.
+ (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
+ * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
+ * som.c (som_build_and_write_symbol_table): Likewise.
+ (som_slurp_string_table): Likewise.
+ (som_slurp_symbol_table): Likewise.
+ (som_bfd_ar_write_symbol_stuff): Likewise.
+ * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
+ * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
+ * tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
+ * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
+ * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
+ "group" union.
+ (elf_group_name): Update.
+ (elf_group_id): Define.
+ (bfd_elf_set_group_contents): Declare.
+ * elf.c (elf_fake_sections): Qualify use of elf_group_name.
+ (set_group_contents): Rename to bfd_elf_set_group_contents. Remove
+ ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
+ that sym for the signature.
+ (_bfd_elf_compute_section_file_positions): Don't call
+ set_group_contents for "ld -r" case.
+ (swap_out_syms): Use bfd_zalloc.
+ * elflink.h (elf_link_add_archive_symbols): Likewise.
+ (NAME(bfd_elf,size_dynamic_sections)): Likewise.
+ (elf_bfd_final_link): Call bfd_elf_set_group_contents.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
+ relocs in opd for non-shared too.
+
+2002-06-06 Jeffrey Law <law@redhat.com>
+
+ * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
+ relocations.
+
+2002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * merge.c: Include libiberty.h.
+ * elf-strtab.c: Include libiberty.h.
+
+2002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
+
+ * peXXigen.c (pe_print_idata): Remove unused variable.
+
+2002-06-06 David Heine <dlheine@tensilica.com>
+
+ * elf.c (assign_file_positions_for_segments): Remove unallocated
+ sections from the section to segment mapping for PT_LOAD segments.
+ Update comment about empty loadable segments.
+
+2002-06-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
+ is within the .stabstr section.
+
+2002-06-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
+ are "const PTR", not "const PTR *".
+ (bfd_elf32_swap_symbol_in): Likewise.
+ (bfd_elf64_swap_symbol_in): Likewise.
+ * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
+ (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
+ * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
+ (elf_link_add_object_symbols): Likewise.
+ (elf_link_record_local_dynamic_symbol): Likewise.
+ (elf_link_input_bfd): Likewise.
+ (elf_gc_mark): Likewise.
+ (elf_reloc_symbol_deleted_p): Likewise.
+ * elf-m10200.c (mn10200_elf_relax_section): Likewise.
+ (mn10200_elf_relax_delete_bytes): Likewise.
+ (mn10200_elf_symbol_address_p): Likewise.
+ (mn10200_elf_get_relocated_section_contents): Likewise.
+ * elf-m10300.c (mn10300_elf_relax_section): Likewise.
+ (mn10300_elf_relax_section): Likewise.
+ (mn10300_elf_relax_delete_bytes): Likewise.
+ (mn10300_elf_symbol_address_p): Likewise.
+ (mn10300_elf_get_relocated_section_contents): Likewise.
+ * elf32-h8300.c (elf32_h8_relax_section): Likewise.
+ (elf32_h8_relax_delete_bytes): Likewise.
+ (elf32_h8_symbol_address_p): Likewise.
+ (elf32_h8_get_relocated_section_contents): Likewise.
+ * elf32-hppa.c (get_local_syms): Likewise.
+ * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
+ * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
+ * elf32-sh.c (sh_elf_relax_section): Likewise.
+ (sh_elf_relax_delete_bytes): Likewise.
+ (sh_elf_get_relocated_section_contents): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+ * elf64-mmix.c (mmix_elf_relax_section): Likewise.
+ * elf64-ppc.c (get_local_syms): Likewise.
+ * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
+
+2002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
+
+2002-06-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (group_signature): Swap in the whole symbol, and handle
+ extracting section symbol names.
+ (setup_group): Add comment.
+ (set_group_contents): When called from objcopy or ld, arrange for
+ section contents to be written. Write group member output section
+ indices to allow objcopy to reorganize sections.
+ (_bfd_elf_copy_private_section_data): Copy group info.
+
+ * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
+ (bfd_elf32_swap_symbol_in): Update prototype.
+ (bfd_elf64_swap_symbol_in): Likewise.
+ * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
+ (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
+ * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
+ (elf_link_add_object_symbols): Likewise.
+ (elf_link_record_local_dynamic_symbol): Likewise.
+ (elf_link_input_bfd): Likewise.
+ (elf_gc_mark): Likewise.
+ (elf_reloc_symbol_deleted_p): Likewise.
+ * elf-m10200.c (mn10200_elf_relax_section): Likewise.
+ (mn10200_elf_relax_delete_bytes): Likewise.
+ (mn10200_elf_symbol_address_p): Likewise.
+ (mn10200_elf_get_relocated_section_contents): Likewise.
+ * elf-m10300.c (mn10300_elf_relax_section): Likewise.
+ (mn10300_elf_relax_section): Likewise.
+ (mn10300_elf_relax_delete_bytes): Likewise.
+ (mn10300_elf_symbol_address_p): Likewise.
+ (mn10300_elf_get_relocated_section_contents): Likewise.
+ * elf32-h8300.c (elf32_h8_relax_section): Likewise.
+ (elf32_h8_relax_delete_bytes): Likewise.
+ (elf32_h8_symbol_address_p): Likewise.
+ (elf32_h8_get_relocated_section_contents): Likewise.
+ * elf32-hppa.c (get_local_syms): Likewise.
+ * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
+ * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
+ * elf32-sh.c (sh_elf_relax_section): Likewise.
+ (sh_elf_relax_delete_bytes): Likewise.
+ (sh_elf_get_relocated_section_contents): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+ * elf64-mmix.c (mmix_elf_relax_section): Likewise.
+ * elf64-ppc.c (get_local_syms): Likewise.
+ * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
+ * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
+ * elf64-alpha.c (alpha_elf_size_info): Likewise.
+ * elf64-hppa.c (hppa64_elf_size_info): Likewise.
+ * elf64-mips.c (mips_elf64_size_info): Likewise.
+ * elf64-s390.c (s390_elf64_size_info): Likewise.
+ * elf64-sparc.c (sparc64_elf_size_info): Likewise.
+
+2002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
+ elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
+ elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
+ _bfd_mips_elf_ignore_discarded_relocs.
+ elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
+
+2002-06-05 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Call
+ _bfd_elf_rel_local_sym for STT_SECTION relocations against
+ the SEC_MERGE section.
+
+2002-06-05 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-alpha.c: Update copyright date.
+ * coff-mips.c: Likewise.
+ * xcoff-target.h: Likewise.
+
+ * bfd-in.h: Remove "taken from the source" comment.
+ * libbfd-in.h: Likewise.
+ * libcoff-in.h: Likewise.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+ * elf.c (bfd_elf_discard_group): Return true.
+ * elf-bfd.h (bfd_elf_discard_group): Declare.
+ * bfd-in.h (bfd_elf_discard_group): Don't declare here.
+ * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
+ * bfd.c (bfd_discard_group): Define.
+ * targets.c (struct bfd_target): Add _bfd_discard_group.
+ (BFD_JUMP_TABLE_LINK): Here too.
+ * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
+ * aout-adobe.c (aout_32_bfd_discard_group): Define.
+ * aout-target.h (MY_bfd_discard_group): Define.
+ * aout-tic30.c (MY_bfd_discard_group): Define.
+ * binary.c (binary_bfd_discard_group): Define.
+ * bout.c (b_out_bfd_discard_group): Define.
+ * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
+ * coffcode.h (coff_bfd_discard_group): Define.
+ * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
+ * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
+ * i386msdos.c (msdos_bfd_discard_group): Define.
+ * i386os9k.c (os9k_bfd_discard_group): Define.
+ * ieee.c (ieee_bfd_discard_group): Define.
+ * ihex.c (ihex_bfd_discard_group): Define.
+ * mmo.c (mmo_bfd_discard_group): Define.
+ * nlm-target.h (nlm_bfd_discard_group): Define.
+ * oasys.c (oasys_bfd_discard_group): Define.
+ * ppcboot.c (ppcboot_bfd_discard_group): Define.
+ * som.c (som_bfd_discard_group): Define.
+ * srec.c (srec_bfd_discard_group): Define.
+ * tekhex.c (tekhex_bfd_discard_group): Define.
+ * versados.c (versados_bfd_discard_group): Define.
+ * vms.c (vms_bfd_discard_group): Define.
+ * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
+ * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
+ (aix5coff64_vec): Likewise.
+ * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
+ (elf32-sh64-com.lo): New dependency list.
+ * Makefile.in: Regenerate.
+ * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
+ (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
+ elf32-sh64-com.lo.
+ * configure: Regenerate.
+ * elf32-sh64.c (sh64_address_in_cranges)
+ (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
+ (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
+ (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
+ * elf32-sh64-com.c: ...here. New file.
+
+2002-06-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
+ ATTRIBUTE_UNUSED on used params.
+ * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
+ before calling bfd_section_from_elf_index on local syms.
+ * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
+ (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
+ (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
+ (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
+ * Makefile.in: Regenerate.
+ * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
+ (sh64-*-netbsd*): New targets.
+ * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
+ bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
+ * configure: Regenerate.
+ * elf32-sh64-nbsd.c: New file.
+ * elf64-sh64-nbsd.c: New file.
+ * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
+ bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
+ bfd_elf64_sh64lnbsd_vec.
+
+2002-06-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
+ (bfd_section_from_shdr): Likewise. Set section name of group
+ sections from signature.
+ (group_signature): Split out from setup_group. Ensure symbol table
+ is available.
+ (bfd_elf_discard_group): New function.
+ (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
+ .gnu.linkonce* sections if they are members of a group.
+ (set_group_contents): Set GRP_COMDAT flag.
+ * section.c (bfd_discard_group): New function.
+ * bfd-in.h (bfd_elf_discard_group): Declare.
+ * bfd-in2.h: Regenerate.
+ * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
+ (elf_linkonce_p): Define.
+
+2002-06-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (bfd_section_from_shdr): Make "name" const.
+ * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
+ * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
+ * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
+ * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
+ * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
+ * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
+ * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
+ * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
+
+2002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
+ ABI.
+
+2002-06-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * elf32-arc.c: Fix formatting.
+ * elf32-arm.h: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-dlx.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-i386qnx.c: Likewise.
+ * elf32-or32.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * elf32-xstormy16.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-mmix.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+
+2002-06-02 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
+ null when there are no got entries for a symbol.
+ (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
+ uninitialized variable warning.
+
+2002-06-01 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
+ undefined symbols here.
+ (elf64_alpha_relax_section): Do it here. Also test for not
+ defined in the current module.
+ (elf64_alpha_relocate_section_r): Split out of ...
+ (elf64_alpha_relocate_section): ... here. Don't dereference
+ NULL when looking up local got entries.
+
+2002-06-01 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
+ symbols from JSR relaxation.
+ (elf64_alpha_size_plt_section_1): New.
+ (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
+ (elf64_alpha_size_rela_got_1): ... here.
+ (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
+ (elf64_alpha_size_rela_got_section): ... here.
+ (elf64_alpha_size_plt_section): New.
+ (elf64_alpha_relax_section): Call them.
+ (elf64_alpha_size_got_sections): Remove output_bfd arg.
+ (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
+
+2002-06-01 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
+ (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
+ in shared libraries. Fix DTPRELHI and TPRELHI value.
+ (INSN_ADDQ, INSN_RDUNIQ): New.
+ (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
+ (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
+ argument. Reject dynamic symbols. Use LITUSE symbolic constants.
+ (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
+ Handle GOTDTPREL and GOTTPREL relocations.
+ (elf64_alpha_relax_gprelhilo): New.
+ (elf64_alpha_relax_tls_get_addr): New.
+ (elf64_alpha_relax_find_tls_segment): New.
+ (elf64_alpha_relax_section): Handle TLS relocations.
+ (ALPHA_ELF_LINK_HASH_TLS_IE): New.
+ (elf64_alpha_check_relocs): Set it.
+
+2002-06-01 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
+
+ * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
+ check; don't suppress dynamic relocs for non-allocated sections.
+
+ * elf64-alpha.c: Remove dead code.
+
+2002-05-31 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+ * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
+ space for bss .plt.
+
+2002-05-31 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * config.bfd: Add i[3456]86-*-nto-qnx* support.
+ * configure.in: Add bfd_elf32_i386qnx_vec support.
+ * configure: Regenerate.
+ * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
+ is_contained_by_filepos, and copy_private_bfd_data_p.
+ * elf.c (assign_file_positions_for_segments): Call backend
+ set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
+ (IS_CONTAINED_BY_FILEPOS): Define.
+ (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
+ (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
+ Fix non-K&R call to _bfd_error_handler.
+ (_bfd_elf_copy_private_section_data): Use backend
+ copy_private_bfd_data_p.
+ * elf32-i386.c: Don't include elfxx-target.h when
+ ELF32_I386_C_INCLUDED is defined.
+ * elf32-i386qnx.c: New QNX elf backend file.
+ * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
+ elf_backend_is_contained_by_filepos, and
+ elf_backend_do_copy_private_bfd_data.
+ * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
+
+2002-05-31 Alan Modra <amodra@bigpond.net.au>
+
+ * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
+ Move other similar defines to start of file.
+
+2002-05-30 Tom Rix <trix@redhat.com>
+
+ * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
+ * coff64-rs6000.c (xcoff64_rtype2howto): Same.
+
+2002-05-30 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
+ ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
+ (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
+ (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
+ (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
+ (struct alpha_elf_obj_tdata): Rename total_got_entries and
+ n_local_got_entries to total_got_size and local_got_size.
+ (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
+ (alpha_got_entry_size): New.
+ (elf64_alpha_relax_with_lituse): Use it.
+ (elf64_alpha_relax_without_lituse): Likewise.
+ (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
+ (get_got_entry): New.
+ (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
+ (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
+ (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
+ (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
+ (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
+ (elf64_alpha_calc_got_offsets): Likewise.
+ (alpha_dynamic_entries_for_reloc): New.
+ (elf64_alpha_calc_dynrel_sizes): Use it.
+ (elf64_alpha_size_dynamic_sections): Likewise.
+ (elf64_alpha_relocate_section): Handle TLS relocations.
+ * reloc.c: Add Alpha TLS relocations.
+ * bfd-in2.h, libbfd.h: Rebuild.
+
+2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * peXXigen.c (pe_print_idata): Remove double printed
+ import table lines; add Bound-To comment.
+
+2002-05-29 Matt Thomas <matt@3am-software.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
+ (elf32-vax.lo): New rule.
+ * Makefile.in: Regenerate.
+ * configure.in (bfd_elf32_vax_vec)
+ (vaxnetbsd_vec): New vectors.
+ * configure: Regenerate.
+ * config.bfd (vax-*-netbsdelf*)
+ (vax-*-netbsdaout*)
+ (vax-*-netbsd*): New targets.
+ * elf32-vax.c: New file.
+ * reloc.c: Add VAX relocations.
+ * bfd-in2.h: Regenerate.
+ * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
+
+2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
+ and bfd_elf32_bigarm_vec to targ_selvecs.
+
+2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
+ with auto-imported symbols.
+
+2002-05-29 Adam Nemet <anemet@lnxw.com>
+
+ * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
+ sections only record bfd.
+ (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
+ * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
+ * bfd-in2.h: Regenerate.
+
+2002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * syms.c (_bfd_stab_section_find_nearest_line): Move
+ declaration and initialisation of saw_line and saw_func out of
+ for loop.
+
+2002-05-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
+ (bfd_elf64_get_symbol_info): Define.
+ * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
+
+2002-05-29 Andrey Volkov <avolkov@transas.com>
+
+ * cpu-h8300.c: Make default h8300 machine first in machine list.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * config.bfd: Added DLX configuraton.
+ * Makefile.am: Added DLX configuraton.
+ * configure.in: Added DLX configuraton.
+ * archures.c: Add DLX architecture.
+ * reloc.c: Add DLX relocs.
+ * targets.c: Added DLX target vector.
+ * configure: Regenerate.
+ * Makefile.in: Regenreate.
+ * bfd-in2.h: Regenreate.
+ * elf32-dlx.c: New file: Support DLX target.
+ * cpu-dlx.c: New file: Support DLX target.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
+
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
+ (ppc64_elf_check_relocs): Don't set up function descriptor symbol
+ strings to point inside function code sym string.
+ (func_desc_adjust): Likewise.
+ (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
+
+2002-05-24 Michal Ludvig <mludvig@suse.cz>
+
+ * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
+ (elf64_x86_64_grok_psinfo): Added.
+
+2002-05-24 TAMURA Kent <kent@netbsd.org>
+
+ * config.bfd: Add a target for i386-netbsdpe.
+
+2002-05-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
+ and is_func_descriptor.
+ (func_desc_adjust): Hide function code sym in shared libs unless
+ there is a matching exported function descriptor sym.
+
+2002-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
+ for symbols from SHF_TLS section.
+ (_bfd_elf_print_private_bfd_data): Add PT_TLS.
+ (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
+ (map_sections_to_segments): Build PT_TLS segment if necessary.
+ (assign_file_positions_for_segments): Likewise.
+ (get_program_header_size): Account for PT_TLS segment.
+ (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
+ SEC_THREAD_LOCAL sections to STT_TLS.
+ * reloc.c: Add 386 and IA-64 TLS relocs.
+ * section.c (SEC_THREAD_LOCAL): Define.
+ (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
+ Remove.
+ * elflink.h (elf_link_add_object_symbols): Support .tcommon.
+ (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
+ unconditionally.
+ (struct elf_final_link_info): Add first_tls_sec.
+ (elf_bfd_final_link): Set first_tls_sec.
+ Compute elf_hash_table (info)->tls_segment.
+ (elf_link_output_extsym): Handle STT_TLS symbols.
+ (elf_link_input_bfd): Likewise.
+ * syms.c (BSF_THREAD_LOCAL): Define.
+ * bfd-in2.h: Rebuilt.
+ * libbfd.h: Rebuilt.
+ * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
+ elf_i386_mkobject, elf_i386_object_p): New functions.
+ (elf_howto_table): Add TLS relocs.
+ (elf_i386_reloc_type_lookup): Support TLS relocs.
+ (elf_i386_info_to_howto_rel): Likewise.
+ (struct elf_i386_link_hash_entry): Add tls_type.
+ (struct elf_i386_obj_tdata): New.
+ (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
+ New macros.
+ (struct elf_i386_link_hash_table): Add tls_ldm_got.
+ (link_hash_newfunc): Clear tls_type.
+ (elf_i386_check_relocs): Support TLS relocs.
+ (elf_i386_gc_sweep_hook): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ (bfd_elf32_mkobject, elf_backend_object_p): Define.
+ * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
+ dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
+ want_tprel, want_dtpmod, want_dtprel.
+ (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
+ (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
+ R_IA64_LTOFF_TPREL22.
+ (elf_code_to_howto_index): Add TLS relocs.
+ (elfNN_ia64_check_relocs): Support TLS relocs.
+ (allocate_global_data_got): Account for TLS .got data.
+ (allocate_dynrel_entries): Account for TLS dynamic relocations.
+ (elfNN_ia64_install_value): Supprt TLS relocs.
+ (set_got_entry): Support TLS relocs.
+ (elfNN_ia64_relocate_section): Likewise.
+
+2002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
+ BLX reloc round the relocation up rather than down.
+ * coff-arm.c (coff_arm_relocate_section): Likewise.
+
+2002-05-21 H.J. Lu (hjl@gnu.org)
+
+ * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
+ definition.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
+ (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
+ unresolved relocs.
+ (ppc64_elf_size_dynamic_sections): Check for splt NULL.
+
+2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
+ non-ELF targets.
+
+2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
+ an error value.
+ * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
+ return with false on error.
+ (elf_link_input_bfd): Check reloc_emitter return value.
+
+2002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (armeb-*-netbsdelf*): New target.
+
+2002-05-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
+ at the plt call stub.
+
+2002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * cpu-mips.c (mips_compatible): Don't try to check machine
+ compatibility.
+
+2002-05-18 Tom Rix <trix@redhat.com>
+
+ * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
+
+2002-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
+ (ppc64_elf_relocate_section): Don't warn about reloc overflow when
+ we've already warned about an undefined symbol. Report more
+ detail on reloc errors.
+
+2002-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * acinclude.m4 (AM_INSTALL_LIBBFD): New.
+ * configure.in: Invoke AM_INSTALL_LIBBFD.
+ * Makefile.am (install-data-local): Revert 2002-05-13. Move to..
+ (install_libbfd): .. New target.
+ (uninstall_libbfd): Likewise.
+ (install-bfdlibLTLIBRARIES): Likewise.
+ (uninstall-bfdlibLTLIBRARIES): Likewise.
+ (bfdlibdir): New.
+ (bfdincludedir): New.
+ (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+2002-05-17 Stuart Balfour <sbalfour@cisco.com>
+
+ * hash.c (bfd_hash_lookup): Remove computation of len from inside
+ hash loop.
+
+2002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config.bfd: Add targets for sh64-linux (little endian and
+ big endian).
+
+2002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
+
+ * peXXigen.c (pe_print_idata): Do not assume that the first thunk
+ is located in the same section as the import table. Instead
+ check, and if necessary load the section containing the thunk.
+
+2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
+ bfd_bread.
+ (xcoff64_core_file_matches_executable_p): Replace bfd_read
+ with bfd_bread.
+
+2002-05-15 Alan Modra <amodra@bigpond.net.au>
+
+ * aix5ppc-core.c: Warning fixes.
+ * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
+ * aout-target.h (MY_bfd_link_just_syms): Define.
+ * aout-tic30.c (MY_bfd_link_just_syms): Define.
+ * bfd.c (bfd_link_just_syms): Define.
+ * binary.c (binary_bfd_link_just_syms): Define.
+ * bout.c (b_out_bfd_link_just_syms): Define.
+ * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
+ * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
+ * coffcode.h (coff_bfd_link_just_syms): Define.
+ * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
+ (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
+ (_bfd_elf_link_just_syms): Declare.
+ * elf.c (_bfd_elf_link_just_syms): New function.
+ * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
+ sections haven't already been discarded by the linker.
+ * elflink.h (elf_link_add_object_symbols): Likewise for stab
+ sections and SEC_MERGE sections.
+ (elf_bfd_discard_info): Similarly here.
+ * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
+ * i386msdos.c (msdos_bfd_link_just_syms): Define.
+ * i386os9k.c (os9k_bfd_link_just_syms): Define.
+ * ieee.c (ieee_bfd_link_just_syms): Define.
+ * ihex.c (ihex_bfd_link_just_syms): Define.
+ * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
+ (_bfd_generic_link_just_syms): Declare.
+ * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
+ * linker.c (_bfd_generic_link_just_syms): New function.
+ * mmo.c (mmo_bfd_link_just_syms): Define.
+ * nlm-target.h (nlm_bfd_link_just_syms): Define.
+ * oasys.c (oasys_bfd_link_just_syms): Define.
+ * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
+ * som.c (som_bfd_link_just_syms): Define.
+ * srec.c (srec_bfd_link_just_syms): Define.
+ * targets.c (struct bfd_target): Add _bfd_link_just_syms.
+ (BFD_JUMP_TABLE_LINK): And here.
+ * tekhex.c (tekhex_bfd_link_just_syms): Define.
+ * versados.c (versados_bfd_link_just_syms): Define.
+ * vms.c (vms_bfd_link_just_syms): Define.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c: Remove superfluous definitions copied from
+ elfxx-mips.c.
+ (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
+ SGIish vectors to check the special case.
+ (mips_elf_hi16_reloc): Fix comment.
+ (mips_elf_got16_reloc): Likewise.
+ (_bfd_mips_elf32_gprel16_reloc): Likewise.
+ (elf_reloc_map): Code cleanup.
+ (mips_reloc_map): Add comment.
+ (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
+ (mips_elf32_rtype_to_howto): Likewise.
+ (mips_elf32_discard_info): Likewise.
+ (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
+ lead to IRIX compatibility now.
+
+2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c: Call it IRIX, not Irix in comments.
+
+2002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (shle-*-netbsdelf*): Add target which includes
+ sh64 support.
+
+2002-05-13 David Edelsohn <edelsohn@gnu.org>
+
+ * configure.in: Revert 2002-04-07. Instead, auto-configure
+ HAVE_ST_C_IMPL.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
+ or AIX_5_CORE.
+
+2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
+
+ * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
+ corefiles as well.2
+ * configure: Regenerate.
+
+2002-05-13 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (install-data-local): Install headers to
+ $(exec_prefix)/include.
+ * Makefile.in: Regenerate.
+
+2002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+ Daniel Jacobowitz <drow@mvista.com>
+
+ * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
+ map BFD_RELOC_RVA.
+
+2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
+
+ * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
+ hppa*-*-openbsd*): New targets.
+ * configure.in (alpha*-*-openbsd*): Set COREFILE.
+ * configure: Regenerate.
+
+2002-05-10 Tom Rix <trix@redhat.com>
+
+ * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
+ xcoff64_ppc_relocate_section.
+ * coff-rs6000.c : Extern common xcoff_reloc_type functions.
+ * libxcoff.h: Common xcoff_reloc_type function declaration.
+
+2002-05-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
+ added in 2002-05-09 commit.
+
+ * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
+ don't look for stubs on all undefined syms.
+
+2002-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
+ (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
+ pcrel_offset.
+
+ * elf32-i386.c (elf_howto_table): Comments.
+ (elf_i386_relocate_section): Handle more relocs for relocatable
+ linking and against SEC_MERGE sections.
+
+2002-05-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_create_got): New function.
+ (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
+ _bfd_elf_create_dynamic_sections. Correct .plt flags.
+ (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
+ _bfd_elf_create_got_section.
+
+2002-05-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_backend_data): Add rela_normal.
+ * elfxx-target.h (elf_backend_rela_normal): Define.
+ (elfNN_bed): Init rela_normal.
+ * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
+ for section symbols here if rela_normal. Simplify abs section test.
+ * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
+ return immediately. Remove code handling relocatable linking.
+ * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
+ * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-i860.c (elf32_i860_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+ * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+ * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf-m10200.c (elf_backend_rela_normal): Define.
+ * elf-m10300.c (elf_backend_rela_normal): Define.
+ * elf32-fr30.c (elf_backend_rela_normal): Define.
+ * elf32-i370.c (elf_backend_rela_normal): Define.
+ * elf32-i860.c (elf_backend_rela_normal): Define.
+ * elf32-m68k.c (elf_backend_rela_normal): Define.
+ * elf32-mcore.c (elf_backend_rela_normal): Define.
+ * elf32-openrisc.c (elf_backend_rela_normal): Define.
+ * elf32-ppc.c (elf_backend_rela_normal): Define.
+ * elf32-s390.c (elf_backend_rela_normal): Define.
+ * elf32-xstormy16.c (elf_backend_rela_normal): Define.
+ * elf64-ppc.c (elf_backend_rela_normal): Define.
+ * elf64-s390.c (elf_backend_rela_normal): Define.
+ * elf64-x86-64.c (elf_backend_rela_normal): Define.
+ * elfxx-ia64.c (elf_backend_rela_normal): Define.
+ * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
+ * elf32-m32r.c (elf_backend_rela_normal): Likewise.
+
+2002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Convert
+ 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
+
+2002-05-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
+ when not relocatable. Fix reloc_emitter call for K&R.
+
+2002-05-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
+ reloading local sym addend mistakenly removed in 2002-05-01 change.
+
+ * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
+ (read_abbrevs): Change "offset" param to bfd_vma.
+ (parse_comp_unit): Change "version" and addr_size to unsigned ints.
+ Change "abbrev_offset" to bfd_vma.
+ (read_indirect_string): Use correct conversion chars in error
+ message format string, cast bfd_vma's to unsigned long.
+ (read_abbrevs): Likewise.
+ (read_attribute_value): Likewise.
+ (decode_line_info): Likewise.
+ (scan_unit_for_functions): Likewise.
+ (parse_comp_unit): Likewise.
+
+2002-05-04 Tom Rix <trix@redhat.com>
+
+ * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
+ (coff_swap_reloc_out): Same.
+ * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
+ (xcoff_swap_reloc_out): Same.
+ (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
+ case some 16 bit relocs. Add reloc value to output.
+ (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
+ R_RBR. Improve names.
+ (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
+ (bfd_xcoff_backend_data): Update with new reloc swap names.
+ (bfd_pmac_xcoff_backend_data) : Same.
+ * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
+ (xcoff64_swap_reloc_out): Same.
+ (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
+ R_POS. Add reloc value to output.
+ (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
+ bit R_RBR. Improve names, masks.
+ (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
+ (bfd_xcoff_backend_data): Update with new reloc swap names.
+ (bfd_xcoff_aix5_backend_data) : Same.
+
+2002-05-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
+ bfd_count top_index, input_list, all_local_syms.
+ (elf32_hppa_setup_section_lists): New function, split from
+ elf32_hppa_size_stubs.
+ (elf32_hppa_next_input_section): Likewise.
+ (group_sections): Likewise.
+ (get_local_syms): Likewise.
+ (elf32_hppa_size_stubs): Adjust for split out functions. Look for
+ stubs on undefined syms too.
+ (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
+ Only access htab elf fields when we have an elf hash table.
+ * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
+ (elf32_hppa_next_input_section): Declare.
+
+2002-05-04 Bob Byrnes <byrnes@curl.com>
+
+ * opncls.c (_bfd_new_bfd_contained_in): Check return value of
+ _bfd_new_bfd.
+
+2002-05-03 H.J. Lu (hjl@gnu.org)
+
+ * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
+ (mips_elf_link_hash_newfunc): Initialize forced_local to false.
+ (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
+ to hide a global symbol.
+ (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
+ forced_local to true.
+
+2002-05-02 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
+ vs SHN_UNDEF to zero.
+
+2002-05-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
+ 16 bit reloc.
+ <R_PPC64_SECTOFF_DS>: Likewise.
+ (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
+ SECTOFF reloc.
+ * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
+ (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
+ SECTOFF reloc.
+
+ * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
+ (ppc64_elf_ha_reloc): New function.
+ (ppc64_elf_brtaken_reloc): New function.
+ (ppc64_elf_sectoff_reloc): New function.
+ (ppc64_elf_sectoff_ha_reloc): New function.
+ (ppc64_elf_toc_reloc): New function.
+ (ppc64_elf_toc_ha_reloc): New function.
+ (ppc64_elf_toc64_reloc): New function.
+ (ppc64_elf_unhandled_reloc): New function.
+ (ppc64_elf_howto_raw): Use the above.
+ <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
+ <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
+ <R_PPC64_SECTOFF_DS>: Likewise.
+ (IS_ABSOLUTE_RELOC): Update.
+ (struct ppc_link_hash_table): Add have_undefweak.
+ (ppc64_elf_link_hash_table_create): Init.
+ (func_desc_adjust): Set have_undefweak.
+ (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
+ add the .sfpr blr when have_undefweak.
+ (ppc64_elf_setup_section_lists): Check hash table flavour.
+ (ppc64_elf_next_input_section): Move output_section->owner test to
+ ppc64elf.em.
+ (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
+ and relocatable test. Return TOCstart and don't set elf_gp.
+ (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
+ offset calculation. Add assert on weak sym branch tweaks.
+ * elf64-ppc.h (ppc64_elf_set_toc): Delete.
+ (ppc64_elf_toc): Declare.
+ (ppc64_elf_next_input_section): Update.
+
+2002-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
+ file_name.
+
+2002-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (CROR_151515, CROR_313131): Define.
+ (ppc64_elf_relocate_section): Use them. Don't look for plt calls
+ on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
+ call branches. Correct undefined weak destination.
+ (ppc64_elf_func_desc_adjust): Always create at least one blr in
+ .sfpr, and correct case where either only savef* or restf* is
+ needed.
+
+ Long branch stubs, multiple stub sections.
+ * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
+ (ppc64_elf_next_input_section): Declare.
+ * elf64-ppc.c: Move linker-only prototypes.
+ (STUB_SUFFIX): Define.
+ (enum ppc_stub_type): New.
+ (struct ppc_stub_hash_entry): New.
+ (struct ppc_branch_hash_entry): New.
+ (struct ppc_link_hash_entry): Add stub_cache, oh.
+ (struct ppc_link_hash_table): Add stub_hash_table etc. Remove
+ sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
+ Rename plt_overflow to stub_error.
+ (ppc_stub_hash_lookup): Define.
+ (ppc_branch_hash_lookup): Define.
+ (stub_hash_newfunc): New function.
+ (branch_hash_newfunc): New function.
+ (link_hash_newfunc): Init new fields.
+ (ppc64_elf_link_hash_table_create): Likewise.
+ (ppc64_elf_link_hash_table_free): New function.
+ (ppc_stub_name): New function.
+ (ppc_get_stub_entry): New function.
+ (ppc_add_stub): New function.
+ (create_linkage_sections): Use bfd_make_section_anyway. Create
+ .branch_lt and .rela.branch_lt sections. Don't create .stub.
+ (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
+ and set up for plt call stubs. Link func and func desc syms.
+ (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
+ (func_desc_adjust): Avoid hash lookup when func desc sym available
+ via shortcut, and set links when processing.
+ (ppc64_elf_hide_symbol): Likewise.
+ (allocate_dynrelocs): Don't allocate stub section here.
+ (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
+ Remove sstub code.
+ (ppc_type_of_stub): New function.
+ (build_one_stub): Delete.
+ (ppc_build_one_stub): New function.
+ (ppc_size_one_stub): New function.
+ (ppc64_elf_setup_section_lists): New function.
+ (ppc64_elf_next_input_section): New function.
+ (group_sections): New function.
+ (get_local_syms): New function.
+ (ppc64_elf_size_stubs): Rewrite.
+ (ppc64_elf_build_stubs): Rewrite.
+ (ppc64_elf_relocate_section): Look up stub entry for REL24
+ relocs. Don't propagate REL14* to dynamic objects. Look for long
+ branch stubs if REL14* or REL24 relocs won't reach.
+ (bfd_elf64_bfd_link_hash_table_free): Define.
+
+2002-04-30 Mark Mitchell <mark@codesourcery.com>
+
+ * config.bfd: Add support for powerpc-*-windiss.
+
+2002-04-30 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
+ symbol names into the hash table.
+
+2002-04-28 Tom Rix <trix@redhat.com>
+
+ * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
+ calulating relocations.
+ (xcoff_complain_overflow) : Function table for relocation errors.
+ (xcoff_ppc_relocate_section): Use relocation and complain function
+ tables.
+ (xcoff_complain_overflow_unsigned_func): New complain function.
+ (xcoff_complain_overflow_signed_func): Same.
+ (xcoff_complain_overflow_bitfield_func): Same.
+ (xcoff_complain_overflow_dont_func): Same.
+ (xcoff_reloc_type_crel): New recot function.
+ (xcoff_reloc_type_br): Same.
+ (xcoff_reloc_type_ba): Same.
+ (xcoff_reloc_type_toc): Same.
+ (xcoff_reloc_type_rel): Same.
+ (xcoff_reloc_type_neg): Same.
+ (xcoff_reloc_type_pos): Same.
+ (xcoff_reloc_type_fail): Same.
+ (xcoff_reloc_type_noop): Same.
+ * libxcoff.h : Declare common parts for xcoff64.
+ * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
+ and complain function tables.
+
+2002-04-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
+ * elf32-hppa.c (elf32_hppa_final_link): Formatting.
+
+2002-04-26 Alan Modra <amodra@bigpond.net.au>
+
+ * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
+ * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
+
+ * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
+ same as the output before calling elf_link_input_bfd.
+
+ * coffcode.h (coff_compute_section_file_positions): Set
+ section_tail after shuffling section list.
+
+2002-04-24 Christian Groessler <chris@groessler.org>
+
+ * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
+ addresses are 23bit with a special layout, not plain 32bit
+ values. Prevent relocation of immediate values.
+
+2002-04-24 Chris G. Demetriou <cgd@broadcom.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
+ MIPS-16 ASE flags are set, print something to indicate that.
+
+2002-04-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
+ under which a plt call stub is used.
+ (final_link_relocate): Similarly.
+ (allocate_plt_static): Clear h-plabel except when plt entry is
+ exclusively used for a plabel.
+ (allocate_dynrelocs): Use the above to simplify plt sizing.
+ (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
+ (elf32_hppa_link_hash_table_create): Init.
+ (BL22_RP): Define.
+ (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
+ (elf32_hppa_check_relocs): Set has_22bit_branch.
+
+ * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
+ (final_link_relocate): Likewise.
+
+2002-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
+ search table if some FDE is DW_EH_PE_aligned encoded either.
+ (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
+
+2002-04-22 Richard Smith <richard@ex-parrot.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
+ (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
+ encoded personality.
+ (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
+ for CIE/FDE removal.
+
+2002-04-20 Tom Rix <trix@redhat.com>
+
+ * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
+
+2002-04-20 Alan Modra <amodra@bigpond.net.au>
+
+ * archures.c (bfd_lookup_arch): Move the list order comment..
+ (struct bfd_arch_info): ..to where it belongs.
+ * bfd-in2.h: Regenerate.
+
+ * archures.c (bfd_lookup_arch): Add comment on list order.
+ (bfd_default_set_arch_mach): Use bfd_lookup_arch.
+ * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
+ is always at head of list.
+
+2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
+ insert_thumb_branch, record_thumb_to_arm_glue): Suppress
+ definition of these functions for ARM_WINCE builds as they are
+ not used.
+ (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
+ for ARM_WINCE builds.
+
+2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coff-arm.c (bfd_arm_process_before_allocation):
+
+2002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * cpu-sh.c (scan_mach): Delete.
+ (arch_info_struct): Replace scan_mach with bfd_default_scan.
+ (bfd_sh_arch): Likewise.
+
+2002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * ihex.c (ihex_write_object_contents): Fix check for records
+ crossing 64K boundaries.
+
+2002-04-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
+ type rather than just assuming entries are ELF.
+ * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
+ * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
+ * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
+ * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
+ rather than elf_link_hash_entry.
+
+2002-04-15 Richard Henderson <rth@redhat.com>
+
+ * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
+ n32 binaries.
+
+2002-04-15 Michael Snyder <msnyder@redhat.com>
+
+ * opncls.c (bfd_close): Write contents if writeable.
+ Minor formatting tidy-ups.
+
+2002-04-15 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
+
+2002-04-12 Michael Snyder <msnyder@redhat.com>
+
+ * bfd-in.h (bfd_get_section_lma): New access macro.
+ Minor white-space fix-up.
+
+2002-04-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
+ header pad.
+
+2002-04-09 DJ Delorie <dj@redhat.com>
+
+ * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
+
+2002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
+
+ * coffcode.h (coff_read_word): New.
+ (coff_compute_checksum): New.
+ (coff_apply_checksum): New.
+ (coff_write_object_contents): Call coff_apply_checksum () to
+ apply checksum to PE image.
+
+2002-04-08 Randolph Chung <tausq@debian.org>
+
+ * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
+ (elf32_hppa_final_link): Split out sorting logic to..
+ * elf-hppa.h (elf_hppa_sort_unwind): ..here.
+ (elf_hppa_final_link): Call elf_hppa_sort_unwind.
+
+2002-04-07 Andrew Cagney <ac131313@redhat.com>
+
+ * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
+ pattern.
+ * configure: Re-generate.
+
+2002-04-07 Andrew Cagney <ac131313@redhat.com>
+
+ * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
+ is greater or equal to 4.3.3.
+ * configure: Regenerate.
+ Fix PR gdb/344.
+
+2002-04-05 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
+ R_CRIS_32_PCREL>: Fix typo in name.
+ (cris_elf_check_relocs): Always create .rela.got here when
+ R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
+ (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
+ assume it's created.
+
+2002-04-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
+ * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
+ define.
+ * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
+ * bfd.c (bfd_link_hash_table_free): Define.
+ * binary.c (binary_bfd_link_hash_table_free): Define.
+ * bout.c (b_out_bfd_link_hash_table_free): Define.
+ * coff-rs6000.c (rs6000coff_vec): Include
+ _bfd_generic_link_hash_table_free.
+ (pmac_xcoff_vec): Likewise.
+ * coff64-rs6000.c (rs6000coff64_vec): Likewise.
+ (aix5coff64_vec): Likewise.
+ * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
+ * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
+ (bfd_elf32_bfd_link_hash_table_free): Define.
+ * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
+ (bfd_elf32_bfd_link_hash_table_free): Define.
+ * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
+ define.
+ * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
+ * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
+ * ieee.c (ieee_bfd_link_hash_table_free): Define.
+ * ihex.c (ihex_bfd_link_hash_table_free): Define.
+ * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
+ (_bfd_generic_link_hash_table_free): Add prototype.
+ * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
+ * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
+ * linker.c (_bfd_generic_link_hash_table_free): New function.
+ * mmo.c (mmo_bfd_link_hash_table_free): Define.
+ * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
+ * oasys.c (oasys_bfd_link_hash_table_free): Define.
+ * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
+ * som.c (som_bfd_link_hash_table_free): Define.
+ * srec.c (srec_bfd_link_hash_table_free): Define.
+ * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
+ * versados.c (versados_bfd_link_hash_table_free): Define.
+ * vms.c (vms_bfd_link_hash_table_free): New function.
+ * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
+
+ * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
+ instead of bfd_alloc.
+ * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
+ * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
+ * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
+ * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
+ * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
+ * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
+ * elf.c (_bfd_elf_link_hash_table_create): Likewise.
+ * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
+ * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
+ * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
+ * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
+ * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
+ * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
+ * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
+ * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
+ * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
+ * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
+ * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
+ * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
+ * linker.c (_bfd_generic_link_hash_table_create): Likewise.
+ * m68klinux.c (linux_link_hash_table_create): Likewise.
+ * sparclinux.c (linux_link_hash_table_create): Likewise.
+ * sunos.c (sunos_link_hash_table_create): Likewise.
+ * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
+
+ * targets.c: Add _bfd_link_hash_table_free to xvec.
+
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+2002-04-04 Alan Modra <amodra@bigpond.net.au>
+
+ * dep-in.sed: Cope with absolute paths.
+ * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * coff-arm.c: Fix copyright date.
+ * cpu-h8300.c: Likewise.
+ * cpu-i370.c: Likewise.
+ * cpu-s390.c: Likewise.
+ * cpu-mips.c: Likewise.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * Makefile.am: Add elfxx-mips.c to the known backends.
+ (elf32-mips.lo): remove dependency to coff/external.h.
+ * Makefile.in: Regenerate.
+ * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
+ Remove elf32-mips.lo from 64 bit vectors. Update dependencies
+ accordingly.
+ * configure: Regenerate.
+ * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
+ (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
+ (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
+ MIPS specific backend functions.
+ * elf32-mips.c: Moved most code to elfxx-mips.c.
+ (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
+ static.
+ (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
+ (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
+ (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
+ (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
+ interface to allow selection of the right REL or RELA howto table.
+ (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
+ static. Let it refuse n32 objects.
+ (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
+ (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
+ (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
+ (elf32_mips_ignore_discarded_relocs): Rename from
+ _bfd_elf32_mips_ignore_discarded_relocs.
+ (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
+ (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
+ (elf_mips_howto_table_rela): Remove.
+ * elf64-mips.c: Moved most code to elfxx-mips.c.
+ (bfd_elf64_bfd_reloc_type_lookup): Make static.
+ (mips_elf64_rtype_to_howto): New function.
+ (mips_elf64_object_p): Likewise.
+ (elf64_mips_irix_compat): Likewise.
+ * elfxx-mips.c: New file containing common code merged together from
+ elf32-mips.c and elf64-mips.c.
+ * elfxx-mips.h: New file containing MIPS specific prototypes from
+ elf-bfd.h.
+ * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
+ elf_backend_mips_rtype_to_howto.
+
+2002-04-04 Alan Modra <amodra@bigpond.net.au>
+
+ * srec.c (MAXCHUNK, Chunk): Revise comments.
+ (srec_write_record): Correct buffer size.
+ (srec_write_header): Do without intermediate buffer.
+ (srec_write_section): Validate Chunk.
+ (srec_write_terminator): Pass NULL instead of dummy buffer.
+ (srec_write_symbols): Pass file and symbol names directly to
+ bfd_bwrite so sprintf won't overflow buffer.
+
+2002-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
+ PC relative relocs against hidden symbols.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+
+2002-04-03 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): When setting section
+ LMAs, loop over segments until p_vaddr and p_memsz specify an
+ extent enclosing the section.
+
+2002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * ihex.c (ihex_write_object_contents): Do not allow records to
+ cross a 64K boundary - wrap if necessary.
+
+2002-04-01 Nathan Williams <nathanw@wasabisystems.com>
+
+ * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
+ which caused the returned LWP ID to always be 0.
+
+2002-04-01 Richard Henderson <rth@redhat.com>
+
+ * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
+ (elf32_sparc_relocate_section): Use it to figure out when to
+ initialize .got entries.
+ * elf64-sparc.c: Similarly.
+
+2002-03-28 Alan Modra <amodra@bigpond.net.au>
+
+ * linker.c (link_action): Ignore duplicate warning syms.
+ (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
+ * elflink.h (elf_adjust_dynstr_offsets): Likewise.
+ (elf_adjust_dynamic_symbol): Likewise.
+ (elf_export_symbol): Likewise.
+ (elf_link_find_version_dependencies): Likewise.
+ (elf_link_assign_sym_version): Likewise.
+ (elf_link_sec_merge_syms): Likewise.
+ (elf_link_output_extsym): Likewise.
+ (elf_gc_sweep_symbol): Likewise.
+ (elf_gc_propagate_vtable_entries_used): Likewise.
+ (elf_gc_smash_unused_vtentry_relocs): Likewise.
+ (elf_gc_allocate_got_offsets): Likewise.
+ (elf_collect_hash_codes): Likewise.
+ * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
+ * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
+ (elf_hppa_remark_useless_dynamic_symbols): Likewise.
+ * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
+ * elf32-arm.h (elf32_arm_discard_copies): Likewise.
+ * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
+ (elf_cris_discard_excess_dso_dynamics): Likewise.
+ * elf32-hppa.c (clobber_millicode_symbols): Likewise.
+ (mark_PIC_calls): Likewise.
+ (allocate_plt_static): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elf32-i386.c (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
+ * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
+ * elf32-mips.c (mips_elf_output_extsym): Likewise.
+ (mips_elf_sort_hash_table_f): Likewise.
+ (mips_elf_check_mips16_stubs): Likewise.
+ * elf32-s390.c (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elf32-sh.c (sh_elf_discard_copies): Likewise.
+ * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
+ (xstormy16_relax_plt_realloc): Likewise.
+ * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
+ (elf64_alpha_output_extsym): Likewise.
+ * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
+ * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
+ (mips_elf64_check_mips16_stubs): Likewise.
+ (mips_elf64_output_extsym): Likewise.
+ * elf64-ppc.c (func_desc_adjust): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elf64-s390.c (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
+ * elf64-x86-64.c (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
+ * aoutx.h (aout_link_write_other_symbol): Likewise.
+ * cofflink.c (_bfd_coff_write_task_globals): Likewise.
+ (_bfd_coff_write_global_sym): Likewise.
+ * i386linux.c (linux_tally_symbols): Likewise.
+ * m68klinux.c (linux_tally_symbols): Likewise.
+ * sparclinux.c (linux_tally_symbols): Likewise.
+ * pdp11.c (aout_link_write_other_symbol): Likewise.
+ * sunos.c (sunos_scan_dynamic_symbol): Likewise.
+ * xcofflink.c (xcoff_build_ldsyms): Likewise.
+ (xcoff_write_global_symbol): Likewise.
+
+ * cofflink.c (_bfd_coff_final_link): Formatting.
+ * cpu-mips.c (mips_compatible): Make static, prototype.
+ * elf32-i386.c (elf_i386_check_relocs): Formatting.
+ * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
+ * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
+ * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
+ (mips_elf64_final_link): Likewise.
+ * elflink.h (elf_link_find_version_dependencies): Remove duplicate
+ prototype.
+
+2002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
+ (SWAP_OUT_RELOC_OFFSET): Define.
+
+2002-03-27 Gregory Steuck <greg@nest.cx>
+
+ * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
+ terminating NULL if empty symbol table.
+ (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
+
+2002-03-26 H.J. Lu (hjl@gnu.org)
+
+ * elflink.h (elf_link_input_bfd): Revert the last change since
+ the gcc exception handling isn't fixed yet.
+
+2002-03-26 H.J. Lu (hjl@gnu.org)
+
+ * elflink.h (elf_link_input_bfd): Complain about relocations
+ against local symbols in discarded sections.
+
+2002-03-26 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
+
+2002-03-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
+ section file offset for !SEC_LOAD sections.
+
+2002-03-21 Richard Earnshaw <rearnsha@arm.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
+ <case R_ARM_GOT>): Handle relocations to Thumb functions.
+
+2002-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
+ Whitespace changes.
+ * archive.c: Update copyright date.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * Makefile.am: Run "make dep-am"
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-03-20 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2.c (struct funcinfo): Move up.
+ (lookup_address_in_function_table): New argument function_ptr.
+ Set it.
+ (lookup_address_in_line_table): New argument function. If function
+ is non-NULL, use it to handle ``addr'' before the first line note of
+ the function.
+ (comp_unit_find_nearest_line): Update and swap calls to
+ lookup_address_in_function_table and lookup_address_in_line_table.
+ * syms.c (_bfd_stab_section_find_nearest_line): Use the first
+ N_SLINE encountered if we see an N_FUN before any N_SLINE.
+
+2002-03-20 Tom Rix <trix@redhat.com>
+
+ * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
+ _bfd_xcoff_generic_stat_arch_elt. Fix format check.
+ * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
+
+2002-03-19 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
+ dynamic objects in archives.
+
+2002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
+ STT_NOTYPE symbols to STT_OBJECT.
+
+2002-03-18 Jan Hubicka <jh@suse.cz>
+
+ * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
+
+2002-03-18 Tom Rix <trix@redhat.com>
+
+ * aix5ppc.core.c : New file for AIX 5 64 bit core support.
+ * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
+ * coff-rs6000 (do_pad) : New function for archive padding.
+ (do_copy) : New function for object file copying in archives.
+ (do_shared_object_padding) : New function for padding shared
+ objects to their text section alignment in archives.
+ (bfd_xcoff_ar_achive_set_magic) : Stub.
+ (xcoff_write_armap_big) : Use do_copy and do_pad.
+ (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
+ do_copy and do_pad.
+ * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
+ bfd_xcoff_magic_number.
+ (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
+ fop.
+ (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
+ (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
+ (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
+ * rs6000-core.c : Update copyright date.
+ * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
+ csectpp.
+ * coffcode.h (coff_new_section_hook) : Use new accessor macros.
+ (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
+ (coff_set_flags) : Use bfd_xcoff_magic_number.
+ * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
+ * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
+ * Makefile.am : Same.
+ * config.bfd : Same.
+ * targets.c : Same.
+ * configure : Regnerate.
+ * Makefile.in : Same.
+ * bfd-in2.h : Same.
+
+2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-18 Alan Modra <amodra@bigpond.net.au>
+
+ * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
+ * libbfd.h: Regenerate.
+ * archive.c (coff_write_armap): Pass on failures from
+ bfd_write_bigendian_4byte_int.
+
+2002-03-14 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
+ error to bfd_error_nonrepresentable_section for reinit_array
+ section in DSO.
+
+2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
+ OR it in rather than replacing previously selected flags.
+
+ * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
+ (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
+
+2002-03-14 Alan Modra <amodra@bigpond.net.au>
+
+ * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
+ (N): Use the above.
+ * elflink.h (elf_bfd_final_link): Revert last change. Instead,
+ ensure reloc size matches before calling elf_link_input_bfd.
+ Add an assert to check reloc size when counting output relocs.
+
+2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * mmo.c (mmo_get_loc): Return NULL rather than false.
+
+2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-13 Alan Modra <amodra@bigpond.net.au>
+
+ * archures.c (bfd_default_compatible): Test bits_per_word.
+ * cpu-i386.c (i386_compatible): Remove. Replace occurrences with
+ bfd_default_compatible.
+ * cpu-i370.c (i370_compatible): Likewise.
+ * cpu-sparc.c (sparc_compatible): Likewise.
+ * cpu-h8300.c (compatible): Test in->arch == out->arch.
+
+ * elflink.h: Formatting fixes.
+ (elf_link_output_extsym): Merge undefined and undef weak cases.
+
+ * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
+ when word size of input matches output word size.
+
+2002-03-12 Andreas Jaeger <aj@suse.de>
+
+ * cpu-i386.c (i386_compatible): New. Use it instead of
+ bfd_default_compatible.
+
+2002-03-07 H.J. Lu (hjl@gnu.org)
+
+ * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
+ as the type for bfd_reloc_val.
+
+2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
+ (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
+ (elf_hppa_final_link_relocate): Correct relocations for indirect
+ references to local data through the DLT. Fix .opd creation for
+ local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
+ relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
+ R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
+ "Processor-Specific ELF for PA_RISC, Version 1.43" document.
+ Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
+ * elf32-hppa.c (final_link_relocate): Revise relocation selectors
+ as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
+
+2002-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ * merge.c (_bfd_merge_sections): Don't segfault if there
+ is nothing to merge due to GC.
+
+2002-03-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
+ symbols that have been forced local.
+
+ * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
+ to output forced local syms for non-shared link.
+ (elf_link_output_extsym): Tweak condition for calling backend
+ adjust_dynamic_symbol so that previous behaviour is kept.
+ Whitespace changes throughout file.
+
+2002-03-04 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (bfd_section_from_shdr): Handle special sections,
+ .init_array, .fini_array and .preinit_array.
+ (elf_fake_sections): Likewise.
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
+ DT entry only if the section is in output for .init_array,
+ .fini_array and .preinit_array. Complain about .preinit_array
+ section in DSO.
+ (elf_bfd_final_link): Warn zero size for .init_array,
+ .fini_array and .preinit_array sections.
+
+ * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
+ SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
+ (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
+ .preinit_array.
+
+2002-03-04 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
+ * configure: Regenerate.
+
+2002-03-02 Tom Rix <trix@redhat.com>
+
+ * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
+ symbolic equiv.
+ * coff-rs6000.c (xcoff_howto_table): Same.
+
+2002-03-01 David Mosberger <davidm@hpl.hp.com>
+
+ * elflink.h (size_dynamic_sections): If section named
+ ".preinit_array" exists, create DT_PREINIT_ARRAY and
+ DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
+ ".init_array" and ".fini_array".
+ (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
+ DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
+ DT_FINI_ARRAY.
+
+2002-02-26 Andrew Macleod <amacleod@cygnus.com>
+
+ * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
+ dynsyms.
+
+2002-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-hppa.h: Update copyright date.
+
+ * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
+ (ppc64_elf_relocate_section): Don't generate power4 style branch
+ hints for *_BRTAKEN and *_BRNTAKEN relocs.
+
+2002-02-22 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
+ last patch.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+2002-02-21 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c: Major rework that introduces all recent changes
+ to the x86-64 backend. Get a closer match to elf32-i386.
+ (struct elf64_x86_64_dyn_relocs): Rename from
+ elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
+ all users.
+ (struct elf64_x86_64_link_hash_table): Add short cuts to some
+ sections.
+ (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
+ remove casts, initialize new hash members.
+ (create_got_section): New.
+ (elf64_x86_64_create_dynamic_sections): New.
+ (elf64_x86_64_copy_indirect_symbol): New.
+ (elf64_x86_64_check_relocs): Don't allocate space for dynamic
+ relocs, .got or .relgot here but do it in allocate_dynrelocs.
+ Reference count possible .plt and .got entries. Don't test input
+ section SEC_READONLY here to try to avoid copy relocs, and keep
+ dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
+ DF_TEXTREL here. Delay setting of variables until needed. Cache
+ pointer to "sreloc" section in elf_section_data. Tweak condition
+ under which .got created. Report files with bad relocation
+ section names.
+ (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
+ Reference count possible .plt entries. Don't deallocate .got and
+ .relgot space here.
+ (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
+ do copy reloc processing for weakdefs. Remove redundant casts and
+ aborts. Delay setting of vars until needed. Move creation of
+ dynamic symbols and allocation of .plt and .rela.plt to
+ allocate_dynrelocs. Replace BFD_ASSERT with abort.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
+ (allocate_dynrelocs): New.
+ (readonly_dynrelocs): New.
+ (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
+ Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
+ Zero out the dynamic allocated content space.
+ (elf64_x86_64_discard_copies): Removed.
+ (elf64_x86_64_relocate_section): Make use of dynamic section
+ short-cuts. Localise vars, and delay setting. Better error
+ reporting, replace BFD_ASSERT with abort. Check
+ ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
+ regular object file and tread the weak definition as the normal
+ one. Don't discard relocs for undefweak or undefined symbols and
+ check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
+ relocs.
+ (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
+ symbols that have been forced local. Use same test to decide if
+ we can use a relative reloc for got as relocate_section. Expand
+ SHN_UNDEF comment. Move expressions out of function calls.
+ Replace BFD_ASSERT with abort.
+ (bfd_elf64_bfd_final_link): Removed.
+ (elf_backend_copy_indirect_symbol): Define.
+
+2002-02-20 Tom Rix <trix@redhat.com>
+
+ * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
+ (_bfd_xcoff_reloc_type_lookup): Use it.
+ * coff64-rs6000.c (xcoff64_howto_table): Same.
+ (xcoff64_reloc_type_lookup): Same.
+
+2002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
+
+ * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
+ little endian.
+
+2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
+ (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
+ * bfd-in2.h: Regenerate.
+ * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
+ Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
+ with "s390:64-bit".
+ * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
+ (elf_s390_reloc_type_lookup): Likewise.
+ (elf_s390_check_relocs): Likewise.
+ (elf_s390_gc_sweep_hook): Likewise.
+ (elf_s390_relocate_section): Likewise.
+ (elf_s390_object_p): Use renamed architecture define.
+ * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
+
+2002-02-19 Frank Ch. Eigler <fche@redhat.com>
+
+ * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
+
+2002-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
+ absptr -> pcrel optimization for shared libs.
+ Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
+ library cannot be converted to pcrel.
+ (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
+ relative.
+ * elf32-i386.c (elf_i386_relocate_section): If
+ _bfd_elf_section_offset returned -2, skip, but make sure the
+ relocation is installed.
+ * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Handle
+ _bfd_elf_section_offset returning -2 the same way as -1.
+ * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
+ * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
+ and BFD_ASSERT.
+ * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
+
+2002-02-18 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
+ (bfd_xcoff_size_dynamic_sections): Same.
+ * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
+ (bfd_xcoff_size_dynamic_sections): Same.
+ * coff-rs6000.c (xcoff_generate_rtinit): Same.
+ * coff-rs646000.c (xcoff64_generate_rtinit): Same.
+ * libxcoff.h (struct xcoff_backend_data_rec): Same.
+ * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
+ * bfd-in2.h: Regenerate.
+
+2002-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
+ (struct ppc_link_hash_table): Add sfpr.
+ (ppc64_elf_link_hash_table_create): Init it.
+ (ppc64_elf_create_dynamic_sections): Split creation of .stub and
+ .glink out to..
+ (create_linkage_sections): ..here. Make .sfpr too.
+ (ppc64_elf_check_relocs): Call create_linkage_sections, and set
+ dynobj early.
+ (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
+ (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
+ ._restf* functions, and create as needed.
+ (func_desc_adjust): Only force_local for shared libs.
+
+2002-02-18 David O'Brien <obrien@FreeBSD.org>
+
+ * configure.in: Bump version number post 2.12 branching.
+ * configure: Regenerate.
+
+2002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmo.c: Correct and improve comments.
+ (mmo_write_chunk): Store trailing byte in bfd buffer; don't
+ zero-pad. Use input to fill up non-empty bfd buffer.
+ (mmo_flush_chunk): New function.
+ (mmo_write_loc_chunk): Add parameter last_vmap, all callers
+ changed. Don't emit location specifier if VMA is same as
+ *LAST_VMAP after omitting leading zero contents. Call
+ mmo_flush_chunk before emitting location specifier.
+ (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
+ with mmo_write_loc_chunk calls.
+ (mmo_internal_write_section): Call mmo_flush_chunk after
+ mmo_write_chunk.
+ (mmo_write_symbols_and_terminator): Move :Main to first position
+ in symbol array. Add faked one if it does not exist if there are
+ other symbols. Don't add it if there are no symbols at all. Move
+ out test for value of :Main from symbol loop. Rename table
+ fakemain to maintable and variable mainsym to fakemain.
+
+2002-02-15 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
+ section with no got matches any got. Simplify error generaion.
+
+2002-02-15 Alan Modra <amodra@bigpond.net.au>
+
+ Support arbitrary length fill patterns.
+ * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
+ (_bfd_default_link_order): Remove bfd_fill_link_order code.
+ Call default_data_link_order.
+ (default_fill_link_order): Delete.
+ (default_data_link_order): New function.
+ * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
+ of bfd_fill_link_order with bfd_data_link_order.
+ * elf64-alpha.c (elf64_alpha_final_link): Likewise.
+ * elf64-mips.c (mips_elf64_final_link): Likewise.
+
+ * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
+ Correct value returned in "end" for "0x<non-hex>".
+
+2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
+ (scan): Test against 'mach' field in info structure.
+
+2002-02-14 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
+
+2002-02-14 Matt Fredette <fredette@netbsd.org>
+
+ * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
+ EF_M68000.
+
+2002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
+ non-zero physical addresses when adjusting the LMAs of new
+ sections.
+
+2002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
+ from _bfd_elf_hppa_gen_reloc_type.
+ (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
+ * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
+ * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
+ * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
+
+2002-02-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-m10300.c (mn10300_elf_relax_section): Skip section before
+ loading its contents if there's nothing to do in it.
+
+2002-02-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
+ 64k boundary.
+
+ * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
+ DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
+ (ppc64_elf_finish_dynamic_sections): Set values for them.
+
+2002-02-11 Michael Snyder <msnyder@redhat.com>
+
+ * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
+ * elf.c (elfcore_grok_pstatus): Add prototype.
+ (elfcore_grok_lwpstatus): Add prototype.
+ (elfcore_write_lwpstatus): New function.
+ (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
+
+2002-02-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-sh.c: Added missing prototypes.
+ * elf32-sh64.c: Likewise.
+ (sh_elf_align_loads): Mark unused args as such.
+ * elf64-sh64.c: Added missing prototypes.
+ (struct elf_sh64_link_hash_entry): Fix typo.
+ (sh_elf64_relocate_section): Fix info argument passed to
+ _bfd_elf_section_offset.
+
+2002-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: "make dep-am".
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2002-02-10 Daniel Jacobowitz <drow@mvista.com>
+
+ * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
+ variable warnings.
+ * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
+ comparison warning.
+ * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
+ cast warnings for the common case.
+
+2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
+ vectors.
+ (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
+ vectors.
+
+2002-02-09 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
+ (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
+ (elf64_alpha_relocate_section): Likewise.
+ * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
+ * bfd-in2.h, libbfd.h: Rebuild.
+
+2002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
+ that base-plus-offset reloc accounting is consistent.
+ (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
+ up to date for undefined symbols.
+
+2002-02-08 Eric Christopher <echristo@redhat.com>
+
+ From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
+ sections for the O32 ABI.
+
+2002-02-08 Chris Demetriou <cgd@broadcom.com>
+
+ * elf32-arm.h: Fix formatting of _("...").
+ * elf32-d10v.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mips.c: Likewise.
+
+2002-02-08 Ivan Guzvinec <ivang@opencores.org>
+
+ * coff-or32.c: Fix compile time warning messages.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ Contribute sh64-elf.
+ 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
+ * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
+ R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
+ R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
+ R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
+ R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
+ R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
+ R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
+ R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
+ R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
+ New relocs.
+ * libbfd.h, bfd-in2.h: Rebuilt.
+ * elf32-sh.c (sh_elf_howto_table): Define new relocs.
+ (sh_reloc_map): Map them.
+ (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
+ elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
+ elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
+ elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
+ elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
+ elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
+ movi_shori_putval) [INCLUDE_SHMEDIA]: New.
+ (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
+ datalabel_got_offset.
+ (sh_elf_link_hash_newfunc): Initialize it.
+ (sh_elf_relocate_section): Augment the scope of
+ seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
+ GOT and GOTOFF handling to new SHmedia relocation types. Support
+ GOT_BIAS.
+ (sh_elf_check_relocs): Likewise.
+ (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
+ PLT entries using movi_shori_putval. Support GOT_BIAS.
+ (sh_elf_finish_dynamic_sections): Likewise.
+ * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
+ relocation, it's now done by the caller.
+ (GOT_BIAS): New.
+ * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
+ elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
+ elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
+ elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
+ elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
+ elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
+ sh64_elf64_hash_table): New.
+ (sh_elf64_howto_table): Introduce new relocs.
+ (sh_elf64_info_to_howto): Accept new PIC relocs.
+ (sh_elf64_relocate_section): Augment the scope of
+ seen_stt_datalabel. Support new PIC relocs.
+ (sh_elf64_check_relocs): Support new PIC relocs.
+ (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
+ elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
+ elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
+ elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
+ sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
+ movi_shori_putval, movi_3shori_putval,
+ sh64_elf64_create_dynamic_sections,
+ sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
+ sh64_elf64_size_dynamic_sections,
+ sh64_elf64_finish_dynamic_symbol,
+ sh64_elf64_finish_dynamic_sections): New.
+ (elf_backend_create_dynamic-sections,
+ bfd_elf64_bfd_link_hash_table_create,
+ elf_backend_adjust_dynamic_symbol,
+ elf_backend_size_dynamic_sections,
+ elf_backend_finish_dynamic_symbol,
+ elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
+ elf_backend_plt_readonly, elf_backend_want_plt_sym,
+ elf_backend_got_header_size, elf_backend_plt_header_size):
+ Define.
+ 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-sh.c: Renumbered and renamed some SH5 relocations to
+ match official numbers and names; moved unmaching ones to the
+ range 0xf2-0xff.
+ * elf32-sh64.c, elf64-sh64.c: Likewise.
+ 2001-03-12 DJ Delorie <dj@redhat.com>
+ * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
+ sections.
+ 2001-03-12 DJ Delorie <dj@redhat.com>
+ * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
+ be aligned.
+ * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
+ 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
+ (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
+ .cranges section with SEC_SORT_ENTRIES set.
+ (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
+ incoming sorted .cranges section.
+ (sh64_bfd_elf_copy_private_section_data): New.
+ (sh64_elf_final_write_processing): Only sort .cranges and modify
+ start address if called by linker.
+ 2001-01-08 Ben Elliston <bje@redhat.com>
+ * elf32-sh64.c (sh64_elf_final_write_processing): Activate
+ Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
+ * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
+ 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
+ line. Add comments before all entries.
+ <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
+ comment.
+ (sh_elf64_reloc): Correct head comment.
+ (sh_elf64_relocate_section): Correct spacing.
+ <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
+ instead call reloc_dangerous callback.
+ <case R_SH_SHMEDIA_CODE>: New case.
+ (sh_elf64_gc_mark_hook): Correct spacing.
+ (sh_elf64_check_relocs): Ditto.
+ * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
+ New case.
+ * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
+ functions.
+ (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
+ clarify describing comment. Add comments before all entries.
+ (sh_elf_relocate_section) <relocating for a local symbol>: Do not
+ honour STO_SH5_ISA32; instead call reloc_dangerous callback.
+ 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
+ Sort .cranges section in final link. Prepare to set bit 0 on
+ entry address.
+ * elf32-sh64.c (struct sh64_find_section_vma_data): New.
+ (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
+ (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
+ .cranges section.
+ (sh64_backend_section_from_shdr): New, to recognize
+ SHT_SH5_CR_SORTED on incoming .cranges section.
+ (elf_backend_section_from_shdr): Define.
+ (sh64_elf_final_write_processing): Sort outgoing .cranges
+ section. (New, temporarily disabled:) Set bit 0 on entry address
+ according to ISA type.
+ (sh64_find_section_for_address): New.
+ (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
+ crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
+ (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
+ bfd_malloc, not xmalloc.
+ (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
+ global.
+ * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
+ temporarily disabled) setting bit 0 on entry address.
+ (elf_backend_final_write_processing): Define.
+ 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
+ be a proper relocation for PTA and PTB rather than a marker.
+ <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
+ R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
+ R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
+ R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
+ R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
+ Zero src_mask.
+ * elf64-sh64.c: Ditto.
+ (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
+ * elf32-sh64.c: Include opcodes/sh64-opc.h
+ (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
+ argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
+ parameters. No unused parameters. Caller changed.
+ <case R_SH_PT_16>: New case.
+ * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
+ * Makefile.in: Regenerate.
+ 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
+ all code sections.
+ (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
+ (sh64_elf_merge_private_data): Ditto.
+ * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
+ to access stored section flags.
+ (sh64_elf_final_write_processing): Return immediately unless
+ called by linker. Use sh64_elf_section_data (cranges) to get size
+ of linker-generated cranges entries.
+ (sh64_elf_copy_private_data): Add missing "return true".
+ (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
+ (sh_elf64_merge_private_data): Ditto.
+ 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
+ elf64-sh64.c:sh64_elf_fake_sections.
+ (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
+ 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
+ (sh64_elf_final_write_processing): New.
+ (elf_backend_final_write_processing): Define.
+ (sh64_elf_fake_sections): Get header flags from tdata field.
+ (sh64_elf_copy_private_data): Do not call
+ sh64_elf_copy_private_data_internal, just copy e_flags field.
+ (sh64_elf_merge_private_data): Do not call
+ sh64_elf_copy_private_data_internal.
+ 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
+ Remove EF_SH64_ABI64, let ELF size make difference.
+ Remove SH64-specific BFD section flag.
+ * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
+ containing SHmedia through elf_section_data (asect)->tdata
+ non-zero, not using a BFD section flag.
+ (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
+ (sh64_elf_merge_private_data): Similar.
+ (elf_backend_section_flags): Don't define.
+ (sh64_elf_backend_section_flags): Delete.
+ * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
+ not EF_SH64_ABI64.
+ (sh_elf64_merge_private_data): Similar.
+ * section.c (Section flags definitions): Don't define
+ SEC_SH_ISA_SHMEDIA.
+ (bfd-in2.h): Regenerate.
+ 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
+ Make DataLabel references work with partial linking.
+ * elf32-sh64.c: Fix formatting.
+ (sh64_elf_link_output_symbol_hook): New.
+ (elf_backend_link_output_symbol_hook): Define to
+ sh64_elf_link_output_symbol_hook.
+ (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
+ undefined if partial linking. Adjust sanity check.
+ * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
+ (elf_backend_link_output_symbol_hook): Define to
+ sh64_elf64_link_output_symbol_hook.
+ (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
+ undefined if partial linking. Adjust sanity check.
+ 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
+ Implement semantics for inter-file DataLabel references.
+ * elf64-sh64.c (DATALABEL_SUFFIX): Define.
+ (sh64_elf64_add_symbol_hook): New.
+ (sh_elf64_relocate_section): If passing an indirect symbol with
+ st_type STT_DATALABEL on the way to a symbol with st_other
+ STO_SH5_ISA32, do not bitor 1 to the relocation.
+ (elf_backend_add_symbol_hook): Define to
+ sh64_elf64_add_symbol_hook.
+ * elf64-sh32.c: Tweak comments.
+ (DATALABEL_SUFFIX): Define.
+ (sh64_elf_add_symbol_hook): New.
+ (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
+ * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
+ symbol with st_type STT_DATALABEL on the way to a symbol with
+ st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
+ 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
+ Pass through STT_DATALABEL.
+ * elf32-sh64.c (sh64_elf_get_symbol_type): New.
+ (elf_backend_get_symbol_type): Define.
+ * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
+ (elf_backend_get_symbol_type): Define.
+ 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh64.c: Tweak comments.
+ (sh64_elf_copy_private_data_internal): Add prototype.
+ (bfd_elf32_bfd_set_private_flags): Define.
+ (sh64_elf_copy_private_data_internal): Compare machine name, not
+ textual BFD target name, to check whether to copy section flag
+ SHF_SH5_ISA32.
+ (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
+ Tweak section-contents-type-mismatch message.
+ (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
+ Validize reloc-types.
+ * elf64-sh64.c: New file.
+ * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
+ * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
+ (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
+ Regenerate dependencies.
+ * Makefile.in: Regenerate.
+ * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
+ bfd_elf64_sh64l_vec.
+ * configure.in: Handle bfd_elf64_sh64_vec and
+ bfd_elf64_sh64l_vec.
+ * configure: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+ 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
+ anything else but EF_SH64 and EF_SH64_ABI64.
+ (sh64_elf_merge_private_data): Emit error for anything else but
+ EF_SH64 and EF_SH64_ABI64.
+ * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
+ from targ_selvecs.
+ * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
+ bfd_elf32_sh64l_vec as a temporary measure.
+ * configure: Regenerate.
+ 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
+ * cpu-sh.c (arch_info_struct): Include sh5 item
+ unconditionalized.
+ * config.bfd (sh64-*-elf*): Do not set targ_cflags.
+ Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
+ bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
+ * elf32-sh64.c: Tweak comments.
+ (sh64_elf_set_mach_from_flags): Recognize all machine flags that
+ are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
+ (sh64_elf_copy_private_data_internal): Wrap long line.
+ (sh64_elf_merge_private_data): Rewrite to allow objects from
+ SH64 subsets to be linked together.
+ (INCLUDE_SHMEDIA): Define.
+ * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
+ Parenthesize plus-expression inside or-expression.
+ <global symbol>: Ditto.
+ (sh_elf_set_mach_from_flags): Remove code refusing
+ deleted EF_SH64_32BIT_ABI flag.
+ 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
+ R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
+ R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
+ (sh_elf_relocate_section) <local symbol>: Or 1 in
+ calculation of relocation if sym->st_other & STO_SH5_ISA32.
+ <global symbol>: Ditto if h->other & STO_SH5_ISA32.
+ * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
+ relocation.
+ 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
+ * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
+ Regenerate dependencies.
+ * Makefile.in: Regenerate.
+ * archures.c: Add bfd_mach_sh5.
+ * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
+ Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
+ * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
+ * configure: Regenerate.
+ * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
+ BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
+ BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
+ BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
+ BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
+ BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
+ BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
+ BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
+ BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
+ * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
+ in item for SH5.
+ * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
+ for SHmedia relocs.
+ [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
+ [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
+ shmedia_prepare_reloc, goto final_link_relocate if it returns
+ non-zero, else fail as before.
+ (sh_elf_set_mach_from_flags): Provide function only if not defined
+ as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
+ (sh_elf_set_private_flags): Provide function only if not defined
+ as a macro.
+ (sh_elf_copy_private_data): Similar.
+ (sh_elf_merge_private_data): Similar.
+ * section.c (SEC_SH_ISA_SHMEDIA): New.
+ * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
+ * elf32-sh64.c: New file.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2002-02-07 Daniel Jacobowitz <drow@mvista.com>
+
+ * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
+ been included, not drag it in.
+ * bfd-in2.h: Regenerate.
+
+2002-02-06 H.J. Lu (hjl@gnu.org)
+
+ * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
+ the mach and ISA fields if necessary.
+
+2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coffcode.h (coff_set_arch_mach_hook): Select the highest known
+ ARM architecture when an F_ARM_5 flag is detected, since we cannot
+ be sure exactly which architecture this represents.
+
+2002-02-05 Nick Clifton <nickc@redhat.com>
+
+ * po/tr.po: Updated translation.
+
+2002-02-05 Alan Modra <amodra@bigpond.net.au>
+
+ From Jimi X <jimix@watson.ibm.com>
+ * archures (bfd_mach_ppc64): Define.
+ (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
+ (bfd_powerpc_arch): Define.
+ * bfd-in2.h: Regenerate.
+ * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
+ (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
+ (bfd_powerpc_archs): Add default powerpc64 arch.
+
+2002-02-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
+ against section syms in readonly sections. Don't do the global
+ sym check if we find one.
+ * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
+ * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
+ * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
+ (elf_s390_grok_prstatus): Add missing prototype.
+
+2002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
+ (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
+ Call bfd_get_section_by_name only once. Initialize
+ bpodata->n_bpo_relocs_this_section.
+ (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
+ referring to DSOs.
+ (bpo_reloc_request_sort_fn): Don't use difference of values as
+ return-value.
+
+2002-02-02 David O'Brien <obrien@FreeBSD>
+
+ * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
+ version 4.5 and later the same as 5-CURRENT.
+ * configure: Re-generate.
+
+2002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (hppa*-*-netbsd*): New target.
+
+2002-01-31 Philipp Thomas <pthomas@suse.de>
+
+ * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
+ to front of message. Unify messages with elf32-arm.h. Use
+ commas where neccessary.
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
+ ERROR in messages. Unify messages with coff-arm.c. Correct
+ VFP/FPA error message.
+ (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
+ APCS-32 for translation.
+
+2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
+
+ Perform on-demand global register allocation from
+ R_MMIX_BASE_PLUS_OFFSET relocs.
+ * elf64-mmix.c (struct bpo_reloc_section_info, struct
+ bpo_reloc_request, struct bpo_greg_section_info): New.
+ (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
+ bpo_reloc_request_sort_fn, mmix_elf_relax_section,
+ _bfd_mmix_check_all_relocs,
+ _bfd_mmix_prepare_linker_allocated_gregs,
+ _bfd_mmix_finalize_linker_allocated_gregs): New functions.
+ (elf_mmix_howto_table): Correct src_mask for most relocs.
+ (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
+ case.
+ (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
+ case. Fix typo in comment. New label do_mmix_reloc.
+ (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
+ store first object file with a base-plus-offset reloc. Call
+ mmix_elf_check_common_relocs for the part common with mmo.
+ (mmix_elf_final_link): Write out linker-allocated register
+ contents section.
+ (elf_backend_gc_sweep_hook): Define.
+ (bfd_elf64_bfd_relax_section): Define.
+
+ * mmo.c: Don't include <ctype.h>
+ (mmo_init): Correct init-once logic.
+
+2002-02-01 Tom Rix <trix@redhat.com>
+
+ * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
+
+2002-02-01 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am"
+ * Makefile.in: Regenerate.
+
+2002-01-31 David O'Brien <obrien@FreeBSD>
+
+ * configure.in: Recognize the differences in core files from FreeBSD
+ 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
+ 5-CURRENT.
+ * configure: Regenerate.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * coff-or32.c: New file.
+ * cpu-or32.c: New file.
+ * elf32-or32.c: New file.
+ * archures.c: Add support for or32.
+ * targets.c: Add support for or32.
+ * bfd-in2.h: Regenerate.
+ * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
+ coff_write_object_contents): Add support for or32.
+ * config.bfd: Add target.
+ * configure.in: Add support for or32.
+ * configure: Regenerate.
+ * Makefile.am: Add support for or32.
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Add or32 files.
+ * po/bfd.pot: Regenerate.
+
+2002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
+ Don Lindsay <lindsayd@cisco.com>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
+ false' with a return of a bfd_reloc_ error code.
+
+2002-01-31 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
+ unexport unreferenced symbols when --export-dynamic. Call
+ _bfd_elf_strtab_delref when unexporting.
+
+2002-01-30 Daniel Jacobowitz <drow@mvista.com>
+
+ * bfd-in.h: Include <stdbool.h> if it is available.
+ * bfd-in2.h: Regenerated.
+
+2002-01-31 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
+ not go via the plt.
+
+2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * archures.c: Tidy up formatting of embedded comments.
+ * bfd.c: Tidy up formatting of embedded comments.
+ * bfd-in.h: Fix formatting of comments.
+ * reloc.c: Tidy up formatting of ordinary & embedded comments.
+ * section.c: Tidy up formatting of embedded comments.
+ * syms.c: Tidy up formatting of embedded comments.
+ * targets.c: Tidy up formatting of embedded comments.
+
+ * bfd-in2.h: Regenerate.
+
+2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * vms-tir.c (cmd_name): New function.
+ (tir_cmd_name): New function.
+ (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
+ (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
+ Fix formatting.
+
+ * peXXigen.c (pe_print_idata): Rearrange message to aid in
+ translation.
+ (pe_print_pdata): Rearrange message to aid in translation.
+
+ * libbfd.c (warn_deprecated): Rearrange error message to aid in
+ translation.
+
+ * ihex.c (ihex_write_object_contents): Fix spelling typo.
+
+ * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
+
+ * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
+ message to aid in translation.
+
+ * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
+ to aid in translation.
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
+
+2002-01-30 Philipp Thomas <pthomas@suse.de>
+
+ * coff-arm.c, elf32-elf.h: Unify messages.
+
+2002-01-30 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated translation.
+
+2002-01-30 Philipp Thomas <pthomas@suse.de>
+
+ * dwarf2.c (read_abbrev): Use full section name in error message.
+ (decode_line_info): Likewise.
+
+ * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
+ message.
+
+2002-01-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (func_desc_adjust): Only provide missing function
+ descriptor symbols for undefined function code syms. Clear
+ ELF_LINK_NON_ELF so that they can stay weak.
+
+2002-01-29 Chris Demetriou <cgd@broadcom.com>
+ Mitch Lichtenberg <mpl@broadcom.com>
+
+ * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
+ * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
+ to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
+ generation.
+ * bfd-in2.h: Regenerate.
+
+2002-01-29 Chris Demetriou <cgd@broadcom.com>
+
+ * elf32-mips.c: Add additional comments about HI16 relocation
+ processing.
+ (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
+ pc-relative relocations. (Reverts change made on 2001-10-31.)
+ (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
+ for pc-relative relocations.
+ (mips_elf_calculate_relocation): Add a comment about a kludge
+ in the R_MIPS_GNU_REL_HI16 handling.
+ (_bfd_mips_elf_relocate_section): Implement that kludge;
+ adjust pc-relative HI16 relocation for difference in HI16 and
+ LO16 addresses, since it can't easily be done in
+ mips_elf_calculate_relocation.
+
+2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
+ relocations with PC32 relocations for undefined or weak symbols.
+ * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
+ * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
+
+2002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elfcore.h (elf_core_file_p): Improve comment for last change.
+
+2002-01-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * configure: Regenerated.
+
+2002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elfcore.h (elf_core_file_p): Set the machine architecture
+ before processing the program headers.
+
+2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * configure.in <64-bit configuration>: If using gcc, check and
+ emit error for egcs-1.1.2.
+ * configure: Regenerate.
+
+2002-01-26 Egor Duda <deo@logos-m.ru>
+
+ * elf.c (elfcore_grok_win32pstatus): Copy only as much information
+ as possible to avoid stack corruption.
+
+2002-01-26 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
+ for non-allocated sections.
+
+2002-01-25 Mark Kettenis <kettenis@gnu.org>
+
+ * elf.c (elfcore_write_prstatus): Make sure we pass the address of
+ prstat.pr_reg even if it is a struct.
+
+2002-01-25 Steve Ellcey <sje@cup.hp.com>
+
+ * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
+
+2002-01-25 Philipp Thomas <pthomas@suse.de>
+
+ * coffgen.c (coff_print_symbol): Don't mark info message
+ for translation.
+
+2002-01-25 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated translation.
+ * po/es.po: Updated translation.
+
+2002-01-25 Philipp Thomas <pthomas@suse.de>
+
+ * coff-alpha.c (alpha_relocate_section): Unify warning message
+ for GP relative relocations without GP defined.
+ * coff-mips.c (mips_relocate_section): Likewise.
+
+2002-01-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
+ unsigned overflow when new_offset < old_offset.
+
+2002-01-24 Philipp Thomas <pthomas@suse.de>
+
+ * bfd.c (_bfd_abort): Fix typo.
+
+2002-01-23 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
+ plt entries for undefweak symbols.
+
+2002-01-23 Steve Ellcey <sje@cup.hp.com>
+
+ * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
+ (bfd_elf64_ia64_hpux_big_vec): Ditto.
+ (bfd_elf32_h8300_vec): Ditto.
+
+2002-01-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Remove stale part of ABI comment.
+ (NO_OPD_RELOCS): Define.
+ (ppc64_elf_check_relocs): Use it.
+ (ppc64_elf_relocate_section): Here too.
+ (build_one_stub): Don't point function syms at the stub. Instead,
+ hijack plt.offset.
+ (ppc64_elf_relocate_section): Check whether REL24 relocs should
+ really go to the stub. Make all dynamic relocs in opd against
+ locals.
+ (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
+ plt.offset.
+
+2002-01-22 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
+
+2002-01-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
+ TOC_BASE_OFF adjustment.
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
+ host defines.
+
+2002-01-21 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
+ Check for and emit error if sgot is NULL at this point.
+
+2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (ia64*-*-netbsd*): New target.
+
+2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
+
+ * som.c (som_write_space_strings): Comment typo fix.
+
+2002-01-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
+ is_func_descriptor fields.
+ (link_hash_newfunc): Init them.
+ (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
+ dot are candidates for plt entries. When processing .opd relocs,
+ set function descriptor strings to point inside function code
+ string, and set new ppc_link_hash_entry fields.
+ (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
+ (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
+ function descriptors. It's now done in..
+ (func_desc_adjust): New.
+ (ppc64_elf_func_desc_adjust): New.
+ (define elf_backend_always_size_sections): Define.
+ (ppc64_elf_hide_symbol): New.
+ (define elf_backend_hide_symbol): Define.
+ (allocate_dynrelocs): Remove code looking up function descriptors
+ as that has been done earlier.
+ (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
+ table.
+ (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
+ up function descriptor.
+ (build_one_stub): Look up the function code sym. Check for
+ invalid plt offsets.
+ (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
+ Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
+
+ * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
+ boolean param.
+ (_bfd_elf_link_hash_hide_symbol): Likewise.
+ * elflink.h (elf_link_add_object_symbols): Adjust call to
+ elf_backend_hide_symbol.
+ (elf_fix_symbol_flags): Likewise.
+ (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
+ than bfd_alloc.
+ * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
+ Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
+ * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
+ (clobber_millicode_symbols): Adjust to suit new hide_symbol.
+ * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
+ and adjust to suit.
+ * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
+ _bfd_elf_link_hash_hide_symbol rather than duplicating code.
+ * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
+
+2002-01-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
+ dynamic function descriptor symbol, not the associated function
+ symbol.
+
+2002-01-17 Eric Christopher <echristo@redhat.com>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
+
+2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/bfd.pot: Regenerate.
+ * po/fr.po: Regenerate.
+
+2002-01-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
+ Remove "Elf_Internal_Shdr *" param.
+ (_bfd_mips_elf_section_from_bfd_section): Ditto.
+ * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
+ * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
+ * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
+ * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
+ * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
+ * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
+ function to override special sections. Remove hdr arg from
+ backend call, and don't loop.
+
+2002-01-16 Eric Christopher <echristo@redhat.com>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
+ on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
+ relocations requiring gp0 and gp.
+
+2002-01-16 Richard Earnshaw <rearnsha@arm.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
+ EF_ARM_VFP_FLOAT.
+ (elf32_arm_print_private_bfd_data): Likewise.
+
+2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/tr.po: Import new version.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
+ (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
+ (ORI_R0_R0_0): Correct.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
+ when plt_not_loaded.
+ * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
+ clear .plt SEC_CODE here. Create .stub and correct .glink flags.
+ (PLT_INITIAL_ENTRY_SIZE): Set to 24.
+ (ppc64_elf_glink_code): Delete.
+ (PPC64_ELF_GLINK_SIZE): Delete.
+ (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
+ BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
+ ORI_R0_R0_0): Define.
+ (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
+ (struct ppc_link_hash_table): Add sstub and plt_overflow.
+ (ppc64_elf_link_hash_table_create): Init them.
+ (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
+ Don't copy to shared lib.
+ (ppc64_elf_check_relocs): Call bfd_set_error on errors.
+ (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
+ (allocate_dynrelocs <plt>): Don't change function sym here. Make
+ room for .stub and .glink code.
+ (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
+ DT_PPC64_GLINK.
+ (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
+ bfd_elf64_bfd_final_link.
+ (bfd_elf64_bfd_final_link): Don't define.
+ (ppc64_elf_size_stubs): New.
+ (build_plt_stub): New.
+ (build_one_stub): New.
+ (ppc64_elf_build_stubs): New.
+ (ppc64_elf_relocate_section <toc relocs>): Remove assert.
+ (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
+ (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
+ DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
+ case output sections not separate. Adjust DT_RELASZ to not
+ include plt relocs. Set reserved got entry. Set got and plt
+ entry size.
+ (elf_backend_got_header_size): Set to 8.
+ * elf64-ppc.h: New file.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
+ sections, use bfd_section_list_remove.
+ * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+ * elflink.h (elf_link_add_object_symbols): When removing all
+ sections, use bfd_section_list_clear.
+
+2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/sv.po: New file: Swedish translation.
+ * configure.in (ALL_LINGUAS): Add sv.
+ * configure: Regenerate.
+
+2002-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
+ * elf.c (merge_sections_remove_hook): New function.
+ (_bfd_elf_merge_sections): Pass it as 3rd argument to
+ _bfd_merge_sections.
+ * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
+ * libbfd.h: Rebuilt.
+ * merge.c (_bfd_merge_sections): Add remove_hook argument.
+ Call remove_hook if a SEC_EXCLUDE section is encountered.
+
+2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
+ (xstormy16_reloc_map): Initialise new field with correct howto
+ table.
+ (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
+ howto entry.
+
+2002-01-10 Michael Snyder <msnyder@redhat.com>
+
+ * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
+ (elfcore_write_pstatus): Use long instead of pid_t;
+ * elf-bfd.h: Change prototypes to use long instead of pid_t;
+
+2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elf.c: Update copyright years.
+ (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
+ and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
+
+2002-01-08 Michael Snyder <msnyder@redhat.com>
+
+ Add capability to write corefile note sections, for gdb.
+ * elf.c (elfcore_write_note): New function.
+ (elfcore_write_prpsinfo): New function.
+ (elfcore_write_prstatus): New function.
+ (elfcore_write_pstatus): New function.
+ (elfcore_write_prfpreg): New function.
+ (elfcore_write_prxfpreg): New function.
+ * elf-bfd.h: Add prototypes for above functions.
+
+2002-01-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf.c (elf_fake_sections): Propagate errors from
+ elf_backend_fake_section.
+
+2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
+ (elf32-sh-nbsd.lo): New rule.
+ * Makefile.in: Regenerate.
+ * config.bfd (sh*le-*-netbsdelf*): New target.
+ (sh*-*-netbsdelf*): New target.
+ * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
+ (bfd_elf32_shnbsd_vec): New vector.
+ (bfd_elf32_shlnbsd_vec): New vector.
+ * configure: Regenerate.
+ * elf32-sh-nbsd.c: New file.
+ * targets.c: Update copyright years.
+ (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
+ bfd_elf32_shnbsd_vec.
+
+2002-01-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * coff-rs6000.c (READ20): Use bfd_scan_vma.
+
+2002-01-07 Geoffrey Keating <geoffk@redhat.com>
+
+ * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
+ of a symbol in a section that will be deleted.
+
+2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/es.po: New file: Spanish translation.
+ * configure.in (ALL_LINGUAS): Add es.
+ * configure: Regenerate.
+
+2002-01-06 Steve Ellcey <sje@cup.hp.com>
+
+ * elfxx-ia64.c (is_unwind_section_name): Add target vector as
+ argument so we can handle HP-UX specially.
+ (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
+ (elfNN_hpux_backend_section_from_bfd_section): New for support
+ of SHN_IA_64_ANSI_COMMON.
+ (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
+ (is_unwind_section_name): Add special HP-UX support.
+ (elfNN_ia64_section_from_shdr): Add support for more sections.
+ (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
+ add support for more sections.
+ (elfNN_ia64_additional_program_headers): Modify
+ is_unwind_section_name call.
+ (elfNN_ia64_modify_segment_map): Remove assumption that there is
+ only one unwind section in segment.
+
+2002-01-06 Alan Modra <amodra@bigpond.net.au>
+
+ * syms.c (_bfd_generic_make_empty_symbol): New function.
+ * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
+ _bfd_generic_make_empty_symbol.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
+ (hppabsd_core_get_symtab_upper_bound): Don't define.
+ (hppabsd_core_get_symtab): Likewise.
+ (hppabsd_core_print_symbol): Likewise.
+ (hppabsd_core_get_symbol_info): Likewise.
+ (hppabsd_core_bfd_is_local_label_name): Likewise.
+ (hppabsd_core_get_lineno): Likewise.
+ (hppabsd_core_find_nearest_line): Likewise.
+ (hppabsd_core_bfd_make_debug_symbol): Likewise.
+ (hppabsd_core_read_minisymbols): Likewise.
+ (hppabsd_core_minisymbol_to_symbol): Likewise.
+ (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
+ Formatting fixes.
+ * hpux-core.c: Similarly.
+ * irix-core.c: Similarly.
+ * osf-core.c: Similarly.
+ * sco5-core.c: Similarly.
+ * binary.c (binary_make_empty_symbol): Remove function, define as
+ _bfd_generic_make_empty_symbol.
+ * ihex.c (ihex_make_empty_symbol): Likewise.
+ * mmo.c (mmo_make_empty_symbol): Likewise.
+ * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
+ * srec.c (srec_make_empty_symbol): Likewise.
+ * versados.c (versados_make_empty_symbol): Likewise.
+ * vms.c (_bfd_vms_make_empty_symbol): Remove.
+ (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
+ * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
+ rather than _bfd_vms_make_empty_symbol.
+ * vms-misc.c (new_symbol): Likewise.
+
+2002-01-05 Alan Modra <amodra@bigpond.net.au>
+
+ * section.c (bfd_section_init): Remove unnecessary initialisations.
+ (bfd_section_list_clear): New function.
+ (bfd_section_list_remove, bfd_section_list_insert): New macros.
+ (_bfd_strip_section_from_output): Use them.
+ * coffcode.h (coff_set_alignment_hook): Likewise.
+ * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
+ * elf64-mips.c (mips_elf64_final_link): Likewise.
+ * elf64-mmix.c (mmix_elf_final_link): Likewise.
+ * sunos.c (sunos_add_dynamic_symbols): Likewise.
+ * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
+ * bfd-in2.h: Regenerate.
+
+ * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
+ rather than doing our own section handling. Clean up after errors
+ with bfd_release and bfd_section_list_clear. Handle unexpected
+ flags.
+ * aoutf1.h (sunos4_core_file_p): Likewise.
+ * aix386-core.c (aix386_core_file_p): Likewise.
+ * cisco-core.c (cisco_core_file_validate): Likewise.
+ * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
+ * trad-core.c (trad_unix_core_file_p): Likewise.
+
+ * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
+ with bfd_release and bfd_section_list_clear.
+ * hpux-core.c (hpux_core_core_file_p): Likewise.
+ * irix-core.c (irix_core_core_file_p): Likewise.
+ * lynx-core.c (lynx_core_file_p): Likewise.
+ * osf-core.c (osf_core_core_file_p): Likewise.
+ * rs6000-core.c (rs6000coff_core_p): Likewise.
+ * sco5-core.c (sco5_core_file_p): Likewise.
+
+ * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
+ sign extension adjustments without conditionals.
+
+2002-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
+ CIE at .eh_frame start is removed due to no FDEs referencing it.
+
+2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (x86_64-*-netbsd*): New target.
+ * configure.in (x86_64-*-netbsd*): Set COREFILE
+ to netbsd-core.lo.
+ * configure: Regenerated.
+
+2002-01-03 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
+ for recent bfd_make_section_anyway change.
+
+2002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Handle
+ R_ARM_THM_PC11 reloc.
+
+2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * configure.in (LINGUAS): Add ja.
+ * configure: Regenerate.
+ * po/ja.po: Import from translation project's web site.
+
+2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
+ messages to ease translation into other languages.
+
+For older changes see ChangeLog-0001
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index cfce4cefb05..4cc59e0bfbe 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2356,6 +2356,20 @@ to compensate for the borrow when the low bits are added. */
BFD_RELOC_FRV_GPREL32,
BFD_RELOC_FRV_GPRELHI,
BFD_RELOC_FRV_GPRELLO,
+ BFD_RELOC_FRV_GOT12,
+ BFD_RELOC_FRV_GOTHI,
+ BFD_RELOC_FRV_GOTLO,
+ BFD_RELOC_FRV_FUNCDESC,
+ BFD_RELOC_FRV_FUNCDESC_GOT12,
+ BFD_RELOC_FRV_FUNCDESC_GOTHI,
+ BFD_RELOC_FRV_FUNCDESC_GOTLO,
+ BFD_RELOC_FRV_FUNCDESC_VALUE,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFHI,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
+ BFD_RELOC_FRV_GOTOFF12,
+ BFD_RELOC_FRV_GOTOFFHI,
+ BFD_RELOC_FRV_GOTOFFLO,
/* This is a 24bit GOT-relative reloc for the mn10300. */
diff --git a/bfd/coff-arm.c b/bfd/coff-arm.c
index 9b2612327f8..e51d07d583c 100644
--- a/bfd/coff-arm.c
+++ b/bfd/coff-arm.c
@@ -268,7 +268,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] =
2,
2,
24,
- FALSE,
+ TRUE,
0,
complain_overflow_dont,
aoutarm_fix_pcrel_26_done,
@@ -276,7 +276,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] =
FALSE,
0x00ffffff,
0x0,
- FALSE),
+ PCRELOFFSET),
HOWTO (ARM_32,
0,
2,
@@ -1250,7 +1250,8 @@ coff_arm_relocate_section (output_bfd, info, input_bfd, input_section,
when doing a relocatable link. However, we want to convert
ARM_26 to ARM_26D relocs if possible. We return a fake howto in
this case without pcrel_offset set, and adjust the addend to
- compensate. */
+ compensate. 'partial_inplace' is also set, since we want 'done'
+ relocations to be reflected in section's data. */
if (rel->r_type == ARM_26
&& h != NULL
&& info->relocatable
@@ -1269,12 +1270,17 @@ coff_arm_relocate_section (output_bfd, info, input_bfd, input_section,
complain_overflow_signed,
aoutarm_fix_pcrel_26 ,
"ARM_26",
- FALSE,
+ TRUE,
0x00ffffff,
0x00ffffff,
FALSE);
addend -= rel->r_vaddr - input_section->vma;
+#ifdef ARM_WINCE
+ /* FIXME: I don't know why, but the hack is necessary for correct
+ generation of bl's instruction offset. */
+ addend -= 8;
+#endif
howto = &fake_arm26_reloc;
}
@@ -1734,10 +1740,13 @@ coff_arm_relocate_section (output_bfd, info, input_bfd, input_section,
#endif
else
#endif /* THUMBEXTENSION */
- rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
- contents,
- rel->r_vaddr - input_section->vma,
- val, addend);
+ if (info->relocatable && ! howto->partial_inplace)
+ rstat = bfd_reloc_ok;
+ else
+ rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
+ contents,
+ rel->r_vaddr - input_section->vma,
+ val, addend);
#if 1 /* THUMBEXTENSION */
/* FIXME:
Is this the best way to fix up thumb addresses? krk@cygnus.com
diff --git a/bfd/coff-h8300.c b/bfd/coff-h8300.c
index e9d19643e43..dc35ea98d73 100644
--- a/bfd/coff-h8300.c
+++ b/bfd/coff-h8300.c
@@ -1,6 +1,6 @@
/* BFD back-end for Renesas H8/300 COFF binaries.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Steve Chamberlain, <sac@cygnus.com>.
@@ -666,6 +666,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
bfd_vma value;
bfd_vma dot;
int gap, tmp;
+ unsigned char temp_code;
switch (reloc->howto->type)
{
@@ -947,8 +948,12 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
if (data[dst_address - 2] != 0x6a)
abort ();
+ temp_code = data[src_address - 1];
+ if ((temp_code & 0x10) != 0x10)
+ temp_code &= 0xf0;
+
/* Fix up the opcode. */
- switch (data[src_address - 1] & 0xf0)
+ switch (temp_code)
{
case 0x00:
data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x20;
@@ -956,6 +961,12 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
case 0x80:
data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x30;
break;
+ case 0x18:
+ data[dst_address - 2] = 0x7f;
+ break;
+ case 0x10:
+ data[dst_address - 2] = 0x7e;
+ break;
default:
abort ();
}
@@ -972,8 +983,12 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
if (data[dst_address - 2] != 0x6a)
abort ();
+ temp_code = data[src_address - 1];
+ if ((temp_code & 0x30) != 0x30)
+ temp_code &= 0xf0;
+
/* Fix up the opcode. */
- switch (data[src_address - 1] & 0xf0)
+ switch (temp_code)
{
case 0x20:
data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x20;
@@ -981,6 +996,12 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
case 0xa0:
data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x30;
break;
+ case 0x38:
+ data[dst_address - 2] = 0x7f;
+ break;
+ case 0x30:
+ data[dst_address - 2] = 0x7e;
+ break;
default:
abort ();
}
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 4987bce2a95..da8d94684b7 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -329,7 +329,7 @@ case "${targ}" in
targ_defvec=bfd_elf32_fr30_vec
;;
- frv-*-elf)
+ frv-*-elf | frv-*-*linux*)
targ_defvec=bfd_elf32_frv_vec
;;
@@ -651,7 +651,7 @@ case "${targ}" in
targ_defvec=m68kcoff_vec
targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
;;
- m68*-*-elf* | m68*-*-sysv4*)
+ m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*)
targ_defvec=bfd_elf32_m68k_vec
targ_selvecs="m68kcoff_vec ieee_vec"
;;
diff --git a/bfd/doc/ChangeLog b/bfd/doc/ChangeLog
index 3636ed8bfaa..33163834229 100644
--- a/bfd/doc/ChangeLog
+++ b/bfd/doc/ChangeLog
@@ -1,594 +1,9 @@
-2003-10-15 Andrew Cagney <cagney@redhat.com>
-
- * bfdint.texi (BFD target vector symbols): Rename _get_symtab to
- _canonicalize_symtab.
-
-2003-10-08 David Taylor <dtaylor@emc.com>
-
- * bfd.texinfo: Remove spurious backslash.
-
-2003-07-04 Josh Baratz <baratz@intersystems.com>
-
- * Makefile.am (MKDOC rule): Add $(CFLAGS) in case it contains
- CC_FOR_BUILD specific switches.
- * Makefile.in: Regenerate.
-
-2003-06-29 Alan Modra <amodra@bigpond.net.au>
-
- * chew.c (paramstuff): Don't emit PARAMS.
-
-2003-02-12 Bob Wilson <bob.wilson@acm.org>
-
- * bfd.texinfo: Fix quotes for texinfo. Make section title
- capitalization more consistent. Use @example instead of @lisp.
- Replace FDL appendix with include of fdl.texi.
- * fdl.texi: New file.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (DOCFILES): Add bfdwin.texi, bfdio.texi.
- (PROTOS): Add bfdio.p, bfdwin.p.
- (SRCDOC): Add bfdio.c, bfdwin.c.
- (SRCPROT): Add bfdio.c, bfdwin.c.
- (SRCIPROT): Add bfdio.c, bfdwin.c.
- (LIBBFD_H_DEP): Add bfdio.c, bfdwin.c.
- (BFD_H_DEP): Add bfdio.c, bfdwin.c.
- Add rules for bfdio.texi, bfdwin.text.
- * bfd.texinfo: Include bfdio.texi.
-
-2002-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2002-10-11 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in: Regenerated.
-
-2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * chew.c (paramstuff, outputdots, perform, bang and usage): Remove
- void from function definitions.
-
-2002-08-13 Alan Modra <amodra@bigpond.net.au>
-
- * header.sed: Strip tabs.
-
-2002-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Fix quote style in last change.
- * Makefile.in: Regenerate.
-
-2002-06-07 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (libbfd.h): Don't use "echo -n".
- (libcoff.h, bfd.h): Likewise.
- * Makefile.in: Regenerate.
-
-2002-06-06 Lars Brinkhoff <lars@nocrew.org>
-
- * bfdint.texi: Change registry@sco.com to registry@caldera.com.
-
-2002-06-05 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (libbfd.h): Add "Extracted from.." comment.
- (libcoff.h, bfd.h): Likewise.
- * Makefile.in: Regenerate.
-
-2002-05-25 Alan Modra <amodra@bigpond.net.au>
-
- * chew.c: Use #include "" instead of <> for local header files.
-
-2002-04-20 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2002-02-11 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2002-02-01 Alan Modra <amodra@bigpond.net.au>
-
- * chew.c (WORD): Eliminate.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * Makefile.in: Regenerate.
-
-2002-01-31 Alan Modra <amodra@bigpond.net.au>
-
- * chew.c (courierize): Don't modify @command params.
-
-2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
-
- * proto.str (ENUMDOC): Place two spaces between the end of
- the text and the closing comment marker.
-
-2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * bfdint.texi (BFD target vector miscellaneous): Add
- bfd_target_mmo_flavour.
- * bfd.texinfo (BFD back ends): Add entry for mmo.
- * Makefile.am (DOCFILES): Add mmo.texi.
- (SRCDOC): Add mmo.c.
- (s-mmo, mmo.texi): New rules.
-
-2001-10-29 Kazu Hirata <kazu@hxi.com>
-
- * bfdsumm.texi: Fix a typo.
-
-2001-10-26 Nick Clifton <nickc@cambridge.redhat.com>
-
- * bfd.texinfo: Change footer to refer to FSF. Change subtitle
- to refer to original creation date.
-
-2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
-
- * Makefile.am (install): Depend on install-info.
- * Makefile.in: Regenerate.
-
-2001-10-03 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (BFD_H_DEP): Add ../version.h.
- * Makefile.in: Regenerate.
-
-2001-10-02 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2001-10-01 Alan Modra <amodra@bigpond.net.au>
-
- * header.sed: New file, adds header to generated files.
- * Makefile.am: Rewrite rules generating libbfd.h, libcoff.h and
- bfd.h, using above. Add missing elf.c dependecy for libbfd.h.
- * Makefile.in: Regenerate.
-
-2001-09-21 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2001-09-18 Alan Modra <amodra@bigpond.net.au>
-
- * bfdint.texi: Replace reference to bfd_read with bfd_bread.
- Likewise for bfd_write.
-
-2001-07-24 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2001-06-21 Hans-Peter Nilsson <hp@axis.com>
-
- * bfdint.texi (BFD relocation functions) <different formats>:
- Mention that the GNU linker is aware of input-output format
- restrictions when generating relocatable output. Make new
- paragraph for final-link case.
- (BFD target vector swap): Fix typo.
-
-2001-01-25 Kazu Hirata <kazu@hxi.com>
-
- * chew.c: Do not output trailing whitespaces in type and
- functionname. Update copyright.
-
-2001-01-24 Kazu Hirata <kazu@hxi.com>
-
- * chew.c: Do not output a trailing whitespace.
-
-2000-11-06 Nick Clifton <nickc@redhat.com>
-
- * bfd.texinfo: Add GNU Free Documentation License.
-
-2000-07-09 Alan Modra <alan@linuxcare.com.au>
-
- * Makefile.in: Regenerate.
-
-2000-07-08 Alan Modra <alan@linuxcare.com.au>
-
- * chew.c (outputdots): Don't add a space before `/*'.
- (courierize): Likewise.
-
-Wed May 24 12:03:25 2000 Hans-Peter Nilsson <hp@axis.com>
-
- * bfdint.texi (BFD ELF processor required): Add paragraph about
- target necessities for readelf.
-
-2000-04-30 Ben Elliston <bje@redhat.com>
-
- * bfdint.texi (BFD generated files): Fix another typo.
-
-2000-04-17 Ben Elliston <bje@redhat.com>
-
- * bfdint.texi (BFD_JUMP_TABLE macros): Fix typo.
-
-2000-04-07 Andrew Cagney <cagney@b1.cygnus.com>
-
- * Makefile.in: Rebuild with current autoconf/automake.
-
-1999-02-04 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in: Rebuild with current autoconf/automake.
-
-1998-07-23 Nick Clifton <nickc@cygnus.com>
-
- * bfdint.texi (BFD ELF processor required): Add paragraph
- describing the necessity to create "include/elf/CPU.h".
-
-1998-05-07 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am (chew.o): Add -I options for intl srcdir and
- objdir.
- * Makefile.in: Rebuild.
-
-1998-04-27 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdint.texi: New file.
- * Makefile.am (noinst_TEXINFOS): New variable.
- * Makefile.in: Rebuild.
-
-1998-04-13 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in: Rebuild.
-
-1998-04-06 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am (STAGESTUFF): Remove variable.
- (CLEANFILES): Don't remove $(STAGESTUFF).
- (DISTCLEANFILES, MAINTAINERCLEANFILES): New variables.
- * Makefile.in: Rebuild.
-
-1998-03-27 Ian Lance Taylor <ian@cygnus.com>
-
- * chew.c (skip_white_and_starts): Remove unused declaration.
- (skip_white_and_stars): Add casts to avoid warnings.
- (skip_trailing_newlines, paramstuff, courierize): Likewise.
- (bulletize, do_fancy_stuff, iscommand): Likewise.
- (kill_bogus_lines, nextword, main): Likewise.
- (manglecomments): Comment out.
- (outputdots, kill_bogus_lines): Remove unused local variables.
- (perform, compile): Likewise.
- (courierize): Fully parenthesize expression.
- (copy_past_newline): Declare return value.
- (print): Change printf format string.
- (main): Call usage for an unrecognized option.
-
-1998-02-13 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am (AUTOMAKE_OPTIONS): Define.
- * Makefile.in: Rebuild.
-
-1998-01-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * doc.str (bodytext): Don't output @* at the end.
- * chew.c (kill_bogus_lines): Make sure that a period at the
- beginning is recognized.
- (indent): Don't put indentation at the end.
- (copy_past_newline): Expand tabs.
- * Makefile.am (s-reloc, s-syms): Depend on doc.str.
- * Makefile.in: Rebuild.
-
-1997-10-01 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am (libbfd.h): Don't use cpu-h8300.c, cpu-i960.c, or
- elfcode.h as input files; they don't contribute anything.
- * Makefile.in: Rebuild.
-
-1997-08-15 Doug Evans <dje@canuck.cygnus.com>
-
- * Makefile.am (libbfd.h, libcoff.h): Invoke $(MKDOC) as ./$(MKDOC).
- * Makefile.in: Rebuild.
-
-1997-08-01 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am (CC_FOR_BUILD): Don't set explicitly.
- * Makefile.in: Rebuild.
-
-1997-07-31 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am: New file, based on old Makefile.in.
- * Makefile.in: Now built with automake.
-
-1997-07-22 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
-
- * Makefile.in: Change stamp-* files to s-* files. Use bfdt.texi
- rather than bfd.texi.
- (DOCFILES): Change bfd.texi to bfdt.texi.
- * bfd.texinfo: Include bfdt.texi, not bfd.texi.
-
-1997-06-16 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (CC, CFLAGS): Substitute from configure script.
- From Jeff Makey <jeff@cts.com>.
-
-1997-04-15 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (install-info): Use mkinstalldirs to build
- $(infodir).
-
-1997-04-08 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (install-info): Permit info files to be in srcdir.
- (stamp-*): Add a stamp-X target for each X.texi target.
- (*.texi): Just depend upon stamp-X.
- (clean): Remove stamp-*.
- (distclean): Depend upon mostlyclean. Remove stamp-*. Don't
- remove $(DOCFILES).
-
-1997-04-07 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (distclean): Don't remove *.info files.
-
-1997-02-13 Klaus Kaempf (kkaempf@progis.de)
-
- * makefile.vms: New file.
-
-1996-06-18 Ian Lance Taylor <ian@cygnus.com>
-
- * chew.c (kill_bogus_lines): Reset sl when not at the start of a
- line. From Uwe Ohse <uwe@tirka.gun.de>.
-
-1996-01-30 Ian Lance Taylor <ian@cygnus.com>
-
- From Ronald F. Guilmette <rfg@monkeys.com>:
- * Makefile.in (libbfd.h): Depend upon proto.str.
- (libcoff.h, bfd.h): Likewise.
-
-1995-11-03 Fred Fish <fnf@cygnus.com>
-
- * Makefile.in (SRCDOC, SRCPROT, core.texi, bfd.h): Use corefile.c,
- renamed from core.c.
-
-1995-11-01 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
-
- * chew.c: Include <ctype.h>.
-
-1995-10-06 Ken Raeburn <raeburn@cygnus.com>
-
- Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * Makefile.in (Makefile): Only remake this Makefile.
-
-1995-10-04 Ken Raeburn <raeburn@cygnus.com>
-
- * chew.c: Include <stdio.h>.
-
-1995-09-12 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (maintainer-clean): New target.
-
-1995-08-31 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (bfd.h): Add additional #endif at end of bfd.h if
- __cplusplus is defined.
-
-1994-11-29 Doug Evans <dje@canuck.cygnus.com>
-
- * chew.c (write_buffer): New argument `f', all callers changed.
- (stdout, stderr, print, drop, idrop): New forth words.
- * proto.str (COMMENT): New command.
- * doc.str (COMMENT): Likewise.
-
-1994-09-12 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * Makefile.in (DOCFILES): Remove ctor.texi.
- (IPROTOS): Remove ctor.ip.
- (SRCIPROT): Remove $(srcdir)/../ctor.c.
- (ctor.texi): Remove target.
- (libbfd.h): Remove dependency on $(srcdir)/../ctor.c. Remove
- $(MKDOC) run on $(srcdir)/../ctor.c.
- * bfd.texinfo (Constructors): Remove section.
-
-1994-09-02 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * chew.c: Include assert.h. Added prototypes for most functions.
- Changed most uses of int to long. Do bounds checking on the
- stacks. Added comment at the beginning documenting most of the
- intrinsics. Lots of whitespace changes. Re-ordered some
- functions.
- (die, check_range, icheck_range): New functions.
- (strip_trailing_newlines, print_stack_level): New functions.
- (translatecomments): Don't insert tab before "/*".
- (iscommand): Minimum command length is now 4.
- (nextword): Handle some \-sequences.
- (push_addr): Deleted.
- (main): Add new intrinsics strip_trailing_newlines and
- print_stack_level. Complain at end if stack contains more than
- one element, or less.
- (remchar): Make sure the string is not empty before chopping off a
- character.
-
- * doc.str, proto.str: Handle new commands SENUM, ENUM, ENUMX,
- ENUMEQ, ENUMEQX, ENUMDOC.
-
-1994-01-12 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfd.texinfo: Added Linker Functions node.
- * Makefile.in (DOCFILES): Added linker.texi.
- (SRCDOC): Added linker.c.
- (linker.texi): New target.
-
-1994-01-04 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * chew.c: Don't rely on a correct declaration of exit.
- (chew_exit): New function which just calls exit.
- (main): Use it.
-
-1994-01-03 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfd.texinfo: Added Hash Tables node.
- * Makefile.in (DOCFILES): Added hash.texi.
- (SRCDOC): Added hash.c.
- (hash.texi): New target.
-
-1993-12-30 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * Makefile.in: Delete all references to seclet.c, since it's just
- been deleted. Don't mention hash.c, linker.c, or genlink.h yet,
- since they don't contain documentation yet (hint, hint!).
-
-1993-11-05 David J. Mackenzie (djm@thepub.cygnus.com)
-
- * bfd.texinfo: Small cleanups.
-
-1993-11-19 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * Makefile.in (archures.texi): Depends on $(MKDOC).
-
-1993-08-10 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * bfd.texinfo (BFD back end): Don't include elfcode.texi, since
- it's empty now and that triggers a makeinfo bug.
-
-1993-08-09 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * bfd.texinfo (BFD back end): New section on ELF, includes
- elf.texi and elfcode.texi.
- * Makefile.in (DOCFILES): Include elf.texi, elfcode.texi.
- (SRCDOC): Include elfcode.h, elf.c.
- (elf.texi, elfcode.texi): New intermediate targets.
-
-1993-06-24 David J. Mackenzie (djm@thepub.cygnus.com)
-
- * Makefile.in (.c.o, chew.o): Put CFLAGS last.
- * bfdsumm.texi: New file, broken out of bfd.texinfo, to share
- with ld.texinfo.
-
-1993-06-14 david d `zoo' zuhn (zoo at rtl.cygnus.com)
-
- * Makefile.in (install-info): remove parentdir cruft,
-
-1993-06-09 Jim Kingdon (kingdon@cygnus.com)
-
- * Makefile.in (mostlyclean): Remove chew.o.
-
-1993-05-25 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * Makefile.in (libbfd.h): Use elfcode.h, not elf32.c.
-
-1993-05-24 Ken Raeburn (raeburn@cygnus.com)
-
- * chew.c (compile): Add a couple of missing casts.
-
-1993-05-12 Ian Lance Taylor (ian@cygnus.com)
-
- * Makefile.in (CC_FOR_BUILD): New variable, define to be $(CC).
- (chew.o, $(MKDOC)): Build using CC_FOR_BUILD rather than CC, since
- it must run on the build machine.
-
-1993-04-07 John Gilmore (gnu@cygnus.com)
-
- * Makefile.in (chew): Don't compile from .c to executable in a
- single step; it puts a temporary .o filename into the executable,
- which makes multi-stage comparisons fail. Compile chew.c to
- chew.o, and link that, which makes identical executables every time.
-
-1993-03-24 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
-
- * Makefile.in: fix typo (bfd.texinfo not bfd.texino)
-
-1993-03-19 Ken Raeburn (raeburn@kr-pc.cygnus.com)
-
- * bfd.texinfo: Since BFD version number has been bumped, do same
- to "version number" on title page, and elsewhere. Should be
- fixed to extract real version number.
-
-1993-03-16 Per Bothner (bothner@rtl.cygnus.com)
-
- * Makefile.in: Add *clean rules.
-
-1993-01-11 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * Makefile.in (libbfd.h): Removed duplicate init.c and libbfd.c.
- Added seclet.c.
- (bfd.h): Added dependency on bfd.c and seclet.c. Added seclet.c
- to build.
-
-1992-12-17 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
-
- * Makefile.in: added dvi target, define and use $(TEXI2DVI)
-
-1992-12-03 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * Makefile.in (TEXIDIR): New variable.
- (bfd.dvi): Look for bfd.texinfo in $(srcdir). Generate index.
-
- * bfd.texinfo: Minor doc fixes.
-
-1992-11-05 John Gilmore (gnu@cygnus.com)
-
- Cleanup: Replace all uses of EXFUN in the BFD sources, with PARAMS.
-
- * chew.c (exfunstuff): Eliminate.
- (paramstuff): Replace exfunstuff with function to generate PARAMS.
- * proto.str: Use paramstuff rather than exfunstuff.
-
-1992-08-17 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * chew.c: various patches provided by Howard Chu.
-
-1992-06-19 John Gilmore (gnu at cygnus.com)
-
- * Makefile.in (libbfd.h): Add elf.c as a source of prototypes.
-
-1992-05-11 John Gilmore (gnu at cygnus.com)
-
- * chew.c: exit() should be declared by config files, not by
- portable source code. Its type could be int or void function.
-
-1992-05-04 K. Richard Pixley (rich@rtl.cygnus.com)
-
- * Makefile.in: another CFLAGS correction.
-
-1992-04-28 K. Richard Pixley (rich@rtl.cygnus.com)
-
- * Makefile.in: Do the CFLAGS thing.
-
-1992-04-11 Fred Fish (fnf@cygnus.com)
-
- * Makefile.in (MINUS_G): Add macro and default to -g.
-
-1992-03-06 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * chew.c: now has -w switch turn on warnings
-
-1992-02-26 K. Richard Pixley (rich@cygnus.com)
-
- * Makefile.in, configure.in: removed traces of namesubdir,
- -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
- copyrights to '92, changed some from Cygnus to FSF.
-
-1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com)
-
- * Makefile.in: build chew into the current directory. Complete
- the MKDOC macro transition.
-
-1991-12-10 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * chew.c: don't core dump when can't open file
- * Makefile.in: get proto.str from the right place when built in
- odd directories
-
-1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com)
-
- * Makefile.in: infodir belongs in datadir.
-
-1991-12-07 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * chew.c: Much modified
- * proto.str, doc.str: New files for extracting to product
- prototypes and documents respectively.
-
-
-1991-12-06 K. Richard Pixley (rich at rtl.cygnus.com)
-
- * Makefile.in: added standards.text support, host/site/target
- inclusion hooks, install using INSTALL_DATA rather than cp,
- don't echo on install.
-
-1991-12-05 K. Richard Pixley (rich at rtl.cygnus.com)
-
- * Makefile.in: idestdir and ddestdir go away. Added copyrights
- and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
- and mandir now keyed off datadir by default.
+For older changes see ChangeLog-9103
Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
version-control: never
End:
diff --git a/bfd/doc/ChangeLog-9103 b/bfd/doc/ChangeLog-9103
new file mode 100644
index 00000000000..3636ed8bfaa
--- /dev/null
+++ b/bfd/doc/ChangeLog-9103
@@ -0,0 +1,594 @@
+2003-10-15 Andrew Cagney <cagney@redhat.com>
+
+ * bfdint.texi (BFD target vector symbols): Rename _get_symtab to
+ _canonicalize_symtab.
+
+2003-10-08 David Taylor <dtaylor@emc.com>
+
+ * bfd.texinfo: Remove spurious backslash.
+
+2003-07-04 Josh Baratz <baratz@intersystems.com>
+
+ * Makefile.am (MKDOC rule): Add $(CFLAGS) in case it contains
+ CC_FOR_BUILD specific switches.
+ * Makefile.in: Regenerate.
+
+2003-06-29 Alan Modra <amodra@bigpond.net.au>
+
+ * chew.c (paramstuff): Don't emit PARAMS.
+
+2003-02-12 Bob Wilson <bob.wilson@acm.org>
+
+ * bfd.texinfo: Fix quotes for texinfo. Make section title
+ capitalization more consistent. Use @example instead of @lisp.
+ Replace FDL appendix with include of fdl.texi.
+ * fdl.texi: New file.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (DOCFILES): Add bfdwin.texi, bfdio.texi.
+ (PROTOS): Add bfdio.p, bfdwin.p.
+ (SRCDOC): Add bfdio.c, bfdwin.c.
+ (SRCPROT): Add bfdio.c, bfdwin.c.
+ (SRCIPROT): Add bfdio.c, bfdwin.c.
+ (LIBBFD_H_DEP): Add bfdio.c, bfdwin.c.
+ (BFD_H_DEP): Add bfdio.c, bfdwin.c.
+ Add rules for bfdio.texi, bfdwin.text.
+ * bfd.texinfo: Include bfdio.texi.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2002-10-11 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in: Regenerated.
+
+2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * chew.c (paramstuff, outputdots, perform, bang and usage): Remove
+ void from function definitions.
+
+2002-08-13 Alan Modra <amodra@bigpond.net.au>
+
+ * header.sed: Strip tabs.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Fix quote style in last change.
+ * Makefile.in: Regenerate.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (libbfd.h): Don't use "echo -n".
+ (libcoff.h, bfd.h): Likewise.
+ * Makefile.in: Regenerate.
+
+2002-06-06 Lars Brinkhoff <lars@nocrew.org>
+
+ * bfdint.texi: Change registry@sco.com to registry@caldera.com.
+
+2002-06-05 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (libbfd.h): Add "Extracted from.." comment.
+ (libcoff.h, bfd.h): Likewise.
+ * Makefile.in: Regenerate.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * chew.c: Use #include "" instead of <> for local header files.
+
+2002-04-20 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2002-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2002-02-01 Alan Modra <amodra@bigpond.net.au>
+
+ * chew.c (WORD): Eliminate.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * Makefile.in: Regenerate.
+
+2002-01-31 Alan Modra <amodra@bigpond.net.au>
+
+ * chew.c (courierize): Don't modify @command params.
+
+2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * proto.str (ENUMDOC): Place two spaces between the end of
+ the text and the closing comment marker.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * bfdint.texi (BFD target vector miscellaneous): Add
+ bfd_target_mmo_flavour.
+ * bfd.texinfo (BFD back ends): Add entry for mmo.
+ * Makefile.am (DOCFILES): Add mmo.texi.
+ (SRCDOC): Add mmo.c.
+ (s-mmo, mmo.texi): New rules.
+
+2001-10-29 Kazu Hirata <kazu@hxi.com>
+
+ * bfdsumm.texi: Fix a typo.
+
+2001-10-26 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * bfd.texinfo: Change footer to refer to FSF. Change subtitle
+ to refer to original creation date.
+
+2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * Makefile.am (install): Depend on install-info.
+ * Makefile.in: Regenerate.
+
+2001-10-03 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (BFD_H_DEP): Add ../version.h.
+ * Makefile.in: Regenerate.
+
+2001-10-02 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2001-10-01 Alan Modra <amodra@bigpond.net.au>
+
+ * header.sed: New file, adds header to generated files.
+ * Makefile.am: Rewrite rules generating libbfd.h, libcoff.h and
+ bfd.h, using above. Add missing elf.c dependecy for libbfd.h.
+ * Makefile.in: Regenerate.
+
+2001-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2001-09-18 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdint.texi: Replace reference to bfd_read with bfd_bread.
+ Likewise for bfd_write.
+
+2001-07-24 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2001-06-21 Hans-Peter Nilsson <hp@axis.com>
+
+ * bfdint.texi (BFD relocation functions) <different formats>:
+ Mention that the GNU linker is aware of input-output format
+ restrictions when generating relocatable output. Make new
+ paragraph for final-link case.
+ (BFD target vector swap): Fix typo.
+
+2001-01-25 Kazu Hirata <kazu@hxi.com>
+
+ * chew.c: Do not output trailing whitespaces in type and
+ functionname. Update copyright.
+
+2001-01-24 Kazu Hirata <kazu@hxi.com>
+
+ * chew.c: Do not output a trailing whitespace.
+
+2000-11-06 Nick Clifton <nickc@redhat.com>
+
+ * bfd.texinfo: Add GNU Free Documentation License.
+
+2000-07-09 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.in: Regenerate.
+
+2000-07-08 Alan Modra <alan@linuxcare.com.au>
+
+ * chew.c (outputdots): Don't add a space before `/*'.
+ (courierize): Likewise.
+
+Wed May 24 12:03:25 2000 Hans-Peter Nilsson <hp@axis.com>
+
+ * bfdint.texi (BFD ELF processor required): Add paragraph about
+ target necessities for readelf.
+
+2000-04-30 Ben Elliston <bje@redhat.com>
+
+ * bfdint.texi (BFD generated files): Fix another typo.
+
+2000-04-17 Ben Elliston <bje@redhat.com>
+
+ * bfdint.texi (BFD_JUMP_TABLE macros): Fix typo.
+
+2000-04-07 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * Makefile.in: Rebuild with current autoconf/automake.
+
+1999-02-04 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in: Rebuild with current autoconf/automake.
+
+1998-07-23 Nick Clifton <nickc@cygnus.com>
+
+ * bfdint.texi (BFD ELF processor required): Add paragraph
+ describing the necessity to create "include/elf/CPU.h".
+
+1998-05-07 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (chew.o): Add -I options for intl srcdir and
+ objdir.
+ * Makefile.in: Rebuild.
+
+1998-04-27 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdint.texi: New file.
+ * Makefile.am (noinst_TEXINFOS): New variable.
+ * Makefile.in: Rebuild.
+
+1998-04-13 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in: Rebuild.
+
+1998-04-06 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (STAGESTUFF): Remove variable.
+ (CLEANFILES): Don't remove $(STAGESTUFF).
+ (DISTCLEANFILES, MAINTAINERCLEANFILES): New variables.
+ * Makefile.in: Rebuild.
+
+1998-03-27 Ian Lance Taylor <ian@cygnus.com>
+
+ * chew.c (skip_white_and_starts): Remove unused declaration.
+ (skip_white_and_stars): Add casts to avoid warnings.
+ (skip_trailing_newlines, paramstuff, courierize): Likewise.
+ (bulletize, do_fancy_stuff, iscommand): Likewise.
+ (kill_bogus_lines, nextword, main): Likewise.
+ (manglecomments): Comment out.
+ (outputdots, kill_bogus_lines): Remove unused local variables.
+ (perform, compile): Likewise.
+ (courierize): Fully parenthesize expression.
+ (copy_past_newline): Declare return value.
+ (print): Change printf format string.
+ (main): Call usage for an unrecognized option.
+
+1998-02-13 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Define.
+ * Makefile.in: Rebuild.
+
+1998-01-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * doc.str (bodytext): Don't output @* at the end.
+ * chew.c (kill_bogus_lines): Make sure that a period at the
+ beginning is recognized.
+ (indent): Don't put indentation at the end.
+ (copy_past_newline): Expand tabs.
+ * Makefile.am (s-reloc, s-syms): Depend on doc.str.
+ * Makefile.in: Rebuild.
+
+1997-10-01 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (libbfd.h): Don't use cpu-h8300.c, cpu-i960.c, or
+ elfcode.h as input files; they don't contribute anything.
+ * Makefile.in: Rebuild.
+
+1997-08-15 Doug Evans <dje@canuck.cygnus.com>
+
+ * Makefile.am (libbfd.h, libcoff.h): Invoke $(MKDOC) as ./$(MKDOC).
+ * Makefile.in: Rebuild.
+
+1997-08-01 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (CC_FOR_BUILD): Don't set explicitly.
+ * Makefile.in: Rebuild.
+
+1997-07-31 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am: New file, based on old Makefile.in.
+ * Makefile.in: Now built with automake.
+
+1997-07-22 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
+
+ * Makefile.in: Change stamp-* files to s-* files. Use bfdt.texi
+ rather than bfd.texi.
+ (DOCFILES): Change bfd.texi to bfdt.texi.
+ * bfd.texinfo: Include bfdt.texi, not bfd.texi.
+
+1997-06-16 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (CC, CFLAGS): Substitute from configure script.
+ From Jeff Makey <jeff@cts.com>.
+
+1997-04-15 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (install-info): Use mkinstalldirs to build
+ $(infodir).
+
+1997-04-08 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (install-info): Permit info files to be in srcdir.
+ (stamp-*): Add a stamp-X target for each X.texi target.
+ (*.texi): Just depend upon stamp-X.
+ (clean): Remove stamp-*.
+ (distclean): Depend upon mostlyclean. Remove stamp-*. Don't
+ remove $(DOCFILES).
+
+1997-04-07 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (distclean): Don't remove *.info files.
+
+1997-02-13 Klaus Kaempf (kkaempf@progis.de)
+
+ * makefile.vms: New file.
+
+1996-06-18 Ian Lance Taylor <ian@cygnus.com>
+
+ * chew.c (kill_bogus_lines): Reset sl when not at the start of a
+ line. From Uwe Ohse <uwe@tirka.gun.de>.
+
+1996-01-30 Ian Lance Taylor <ian@cygnus.com>
+
+ From Ronald F. Guilmette <rfg@monkeys.com>:
+ * Makefile.in (libbfd.h): Depend upon proto.str.
+ (libcoff.h, bfd.h): Likewise.
+
+1995-11-03 Fred Fish <fnf@cygnus.com>
+
+ * Makefile.in (SRCDOC, SRCPROT, core.texi, bfd.h): Use corefile.c,
+ renamed from core.c.
+
+1995-11-01 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
+
+ * chew.c: Include <ctype.h>.
+
+1995-10-06 Ken Raeburn <raeburn@cygnus.com>
+
+ Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * Makefile.in (Makefile): Only remake this Makefile.
+
+1995-10-04 Ken Raeburn <raeburn@cygnus.com>
+
+ * chew.c: Include <stdio.h>.
+
+1995-09-12 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (maintainer-clean): New target.
+
+1995-08-31 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (bfd.h): Add additional #endif at end of bfd.h if
+ __cplusplus is defined.
+
+1994-11-29 Doug Evans <dje@canuck.cygnus.com>
+
+ * chew.c (write_buffer): New argument `f', all callers changed.
+ (stdout, stderr, print, drop, idrop): New forth words.
+ * proto.str (COMMENT): New command.
+ * doc.str (COMMENT): Likewise.
+
+1994-09-12 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * Makefile.in (DOCFILES): Remove ctor.texi.
+ (IPROTOS): Remove ctor.ip.
+ (SRCIPROT): Remove $(srcdir)/../ctor.c.
+ (ctor.texi): Remove target.
+ (libbfd.h): Remove dependency on $(srcdir)/../ctor.c. Remove
+ $(MKDOC) run on $(srcdir)/../ctor.c.
+ * bfd.texinfo (Constructors): Remove section.
+
+1994-09-02 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * chew.c: Include assert.h. Added prototypes for most functions.
+ Changed most uses of int to long. Do bounds checking on the
+ stacks. Added comment at the beginning documenting most of the
+ intrinsics. Lots of whitespace changes. Re-ordered some
+ functions.
+ (die, check_range, icheck_range): New functions.
+ (strip_trailing_newlines, print_stack_level): New functions.
+ (translatecomments): Don't insert tab before "/*".
+ (iscommand): Minimum command length is now 4.
+ (nextword): Handle some \-sequences.
+ (push_addr): Deleted.
+ (main): Add new intrinsics strip_trailing_newlines and
+ print_stack_level. Complain at end if stack contains more than
+ one element, or less.
+ (remchar): Make sure the string is not empty before chopping off a
+ character.
+
+ * doc.str, proto.str: Handle new commands SENUM, ENUM, ENUMX,
+ ENUMEQ, ENUMEQX, ENUMDOC.
+
+1994-01-12 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfd.texinfo: Added Linker Functions node.
+ * Makefile.in (DOCFILES): Added linker.texi.
+ (SRCDOC): Added linker.c.
+ (linker.texi): New target.
+
+1994-01-04 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * chew.c: Don't rely on a correct declaration of exit.
+ (chew_exit): New function which just calls exit.
+ (main): Use it.
+
+1994-01-03 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfd.texinfo: Added Hash Tables node.
+ * Makefile.in (DOCFILES): Added hash.texi.
+ (SRCDOC): Added hash.c.
+ (hash.texi): New target.
+
+1993-12-30 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * Makefile.in: Delete all references to seclet.c, since it's just
+ been deleted. Don't mention hash.c, linker.c, or genlink.h yet,
+ since they don't contain documentation yet (hint, hint!).
+
+1993-11-05 David J. Mackenzie (djm@thepub.cygnus.com)
+
+ * bfd.texinfo: Small cleanups.
+
+1993-11-19 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * Makefile.in (archures.texi): Depends on $(MKDOC).
+
+1993-08-10 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * bfd.texinfo (BFD back end): Don't include elfcode.texi, since
+ it's empty now and that triggers a makeinfo bug.
+
+1993-08-09 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * bfd.texinfo (BFD back end): New section on ELF, includes
+ elf.texi and elfcode.texi.
+ * Makefile.in (DOCFILES): Include elf.texi, elfcode.texi.
+ (SRCDOC): Include elfcode.h, elf.c.
+ (elf.texi, elfcode.texi): New intermediate targets.
+
+1993-06-24 David J. Mackenzie (djm@thepub.cygnus.com)
+
+ * Makefile.in (.c.o, chew.o): Put CFLAGS last.
+ * bfdsumm.texi: New file, broken out of bfd.texinfo, to share
+ with ld.texinfo.
+
+1993-06-14 david d `zoo' zuhn (zoo at rtl.cygnus.com)
+
+ * Makefile.in (install-info): remove parentdir cruft,
+
+1993-06-09 Jim Kingdon (kingdon@cygnus.com)
+
+ * Makefile.in (mostlyclean): Remove chew.o.
+
+1993-05-25 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * Makefile.in (libbfd.h): Use elfcode.h, not elf32.c.
+
+1993-05-24 Ken Raeburn (raeburn@cygnus.com)
+
+ * chew.c (compile): Add a couple of missing casts.
+
+1993-05-12 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in (CC_FOR_BUILD): New variable, define to be $(CC).
+ (chew.o, $(MKDOC)): Build using CC_FOR_BUILD rather than CC, since
+ it must run on the build machine.
+
+1993-04-07 John Gilmore (gnu@cygnus.com)
+
+ * Makefile.in (chew): Don't compile from .c to executable in a
+ single step; it puts a temporary .o filename into the executable,
+ which makes multi-stage comparisons fail. Compile chew.c to
+ chew.o, and link that, which makes identical executables every time.
+
+1993-03-24 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
+
+ * Makefile.in: fix typo (bfd.texinfo not bfd.texino)
+
+1993-03-19 Ken Raeburn (raeburn@kr-pc.cygnus.com)
+
+ * bfd.texinfo: Since BFD version number has been bumped, do same
+ to "version number" on title page, and elsewhere. Should be
+ fixed to extract real version number.
+
+1993-03-16 Per Bothner (bothner@rtl.cygnus.com)
+
+ * Makefile.in: Add *clean rules.
+
+1993-01-11 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * Makefile.in (libbfd.h): Removed duplicate init.c and libbfd.c.
+ Added seclet.c.
+ (bfd.h): Added dependency on bfd.c and seclet.c. Added seclet.c
+ to build.
+
+1992-12-17 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * Makefile.in: added dvi target, define and use $(TEXI2DVI)
+
+1992-12-03 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * Makefile.in (TEXIDIR): New variable.
+ (bfd.dvi): Look for bfd.texinfo in $(srcdir). Generate index.
+
+ * bfd.texinfo: Minor doc fixes.
+
+1992-11-05 John Gilmore (gnu@cygnus.com)
+
+ Cleanup: Replace all uses of EXFUN in the BFD sources, with PARAMS.
+
+ * chew.c (exfunstuff): Eliminate.
+ (paramstuff): Replace exfunstuff with function to generate PARAMS.
+ * proto.str: Use paramstuff rather than exfunstuff.
+
+1992-08-17 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * chew.c: various patches provided by Howard Chu.
+
+1992-06-19 John Gilmore (gnu at cygnus.com)
+
+ * Makefile.in (libbfd.h): Add elf.c as a source of prototypes.
+
+1992-05-11 John Gilmore (gnu at cygnus.com)
+
+ * chew.c: exit() should be declared by config files, not by
+ portable source code. Its type could be int or void function.
+
+1992-05-04 K. Richard Pixley (rich@rtl.cygnus.com)
+
+ * Makefile.in: another CFLAGS correction.
+
+1992-04-28 K. Richard Pixley (rich@rtl.cygnus.com)
+
+ * Makefile.in: Do the CFLAGS thing.
+
+1992-04-11 Fred Fish (fnf@cygnus.com)
+
+ * Makefile.in (MINUS_G): Add macro and default to -g.
+
+1992-03-06 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * chew.c: now has -w switch turn on warnings
+
+1992-02-26 K. Richard Pixley (rich@cygnus.com)
+
+ * Makefile.in, configure.in: removed traces of namesubdir,
+ -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
+ copyrights to '92, changed some from Cygnus to FSF.
+
+1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com)
+
+ * Makefile.in: build chew into the current directory. Complete
+ the MKDOC macro transition.
+
+1991-12-10 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * chew.c: don't core dump when can't open file
+ * Makefile.in: get proto.str from the right place when built in
+ odd directories
+
+1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com)
+
+ * Makefile.in: infodir belongs in datadir.
+
+1991-12-07 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * chew.c: Much modified
+ * proto.str, doc.str: New files for extracting to product
+ prototypes and documents respectively.
+
+
+1991-12-06 K. Richard Pixley (rich at rtl.cygnus.com)
+
+ * Makefile.in: added standards.text support, host/site/target
+ inclusion hooks, install using INSTALL_DATA rather than cp,
+ don't echo on install.
+
+1991-12-05 K. Richard Pixley (rich at rtl.cygnus.com)
+
+ * Makefile.in: idestdir and ddestdir go away. Added copyrights
+ and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
+ and mandir now keyed off datadir by default.
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 68b3660e248..c109fa7e3fb 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -1,6 +1,6 @@
/* DWARF 2 support.
- Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2004 Free Software Foundation, Inc.
Adapted from gdb/dwarf2read.c by Gavin Koch of Cygnus Solutions
(gavin@cygnus.com).
@@ -200,51 +200,6 @@ struct attr_abbrev
#define ATTR_ALLOC_CHUNK 4
#endif
-static unsigned int read_1_byte PARAMS ((bfd *, char *));
-static int read_1_signed_byte PARAMS ((bfd *, char *));
-static unsigned int read_2_bytes PARAMS ((bfd *, char *));
-static unsigned int read_4_bytes PARAMS ((bfd *, char *));
-static bfd_vma read_8_bytes PARAMS ((bfd *, char *));
-static char *read_n_bytes PARAMS ((bfd *, char *, unsigned int));
-static char *read_string PARAMS ((bfd *, char *, unsigned int *));
-static char *read_indirect_string PARAMS ((struct comp_unit *, char *, unsigned int *));
-static unsigned int read_unsigned_leb128
- PARAMS ((bfd *, char *, unsigned int *));
-static int read_signed_leb128
- PARAMS ((bfd *, char *, unsigned int *));
-static bfd_vma read_address PARAMS ((struct comp_unit *, char *));
-static struct abbrev_info *lookup_abbrev
- PARAMS ((unsigned int, struct abbrev_info **));
-static struct abbrev_info **read_abbrevs
- PARAMS ((bfd *, bfd_vma, struct dwarf2_debug *));
-static char *read_attribute
- PARAMS ((struct attribute *, struct attr_abbrev *,
- struct comp_unit *, char *));
-static char *read_attribute_value
- PARAMS ((struct attribute *, unsigned,
- struct comp_unit *, char *));
-static void add_line_info
- PARAMS ((struct line_info_table *, bfd_vma, char *,
- unsigned int, unsigned int, int));
-static char *concat_filename PARAMS ((struct line_info_table *, unsigned int));
-static void arange_add PARAMS ((struct comp_unit *, bfd_vma, bfd_vma));
-static struct line_info_table *decode_line_info
- PARAMS ((struct comp_unit *, struct dwarf2_debug *));
-static bfd_boolean lookup_address_in_line_info_table
- PARAMS ((struct line_info_table *, bfd_vma, struct funcinfo *,
- const char **, unsigned int *));
-static bfd_boolean lookup_address_in_function_table
- PARAMS ((struct funcinfo *, bfd_vma, struct funcinfo **, const char **));
-static bfd_boolean scan_unit_for_functions PARAMS ((struct comp_unit *));
-static struct comp_unit *parse_comp_unit
- PARAMS ((bfd *, struct dwarf2_debug *, bfd_vma, unsigned int));
-static bfd_boolean comp_unit_contains_address
- PARAMS ((struct comp_unit *, bfd_vma));
-static bfd_boolean comp_unit_find_nearest_line
- PARAMS ((struct comp_unit *, bfd_vma, const char **, const char **,
- unsigned int *, struct dwarf2_debug *));
-static asection *find_debug_info PARAMS ((bfd *, asection *));
-
/* VERBATIM
The following function up to the END VERBATIM mark are
copied directly from dwarf2read.c. */
@@ -252,74 +207,39 @@ static asection *find_debug_info PARAMS ((bfd *, asection *));
/* Read dwarf information from a buffer. */
static unsigned int
-read_1_byte (abfd, buf)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
+read_1_byte (bfd *abfd ATTRIBUTE_UNUSED, char *buf)
{
- return bfd_get_8 (abfd, (bfd_byte *) buf);
+ return bfd_get_8 (abfd, buf);
}
static int
-read_1_signed_byte (abfd, buf)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
+read_1_signed_byte (bfd *abfd ATTRIBUTE_UNUSED, char *buf)
{
- return bfd_get_signed_8 (abfd, (bfd_byte *) buf);
+ return bfd_get_signed_8 (abfd, buf);
}
static unsigned int
-read_2_bytes (abfd, buf)
- bfd *abfd;
- char *buf;
-{
- return bfd_get_16 (abfd, (bfd_byte *) buf);
-}
-
-#if 0 /* This is not used. */
-
-static int
-read_2_signed_bytes (abfd, buf)
- bfd *abfd;
- char *buf;
+read_2_bytes (bfd *abfd, char *buf)
{
- return bfd_get_signed_16 (abfd, (bfd_byte *) buf);
+ return bfd_get_16 (abfd, buf);
}
-#endif
-
static unsigned int
-read_4_bytes (abfd, buf)
- bfd *abfd;
- char *buf;
+read_4_bytes (bfd *abfd, char *buf)
{
- return bfd_get_32 (abfd, (bfd_byte *) buf);
+ return bfd_get_32 (abfd, buf);
}
-#if 0 /* This is not used. */
-
-static int
-read_4_signed_bytes (abfd, buf)
- bfd *abfd;
- char *buf;
-{
- return bfd_get_signed_32 (abfd, (bfd_byte *) buf);
-}
-
-#endif
-
static bfd_vma
-read_8_bytes (abfd, buf)
- bfd *abfd;
- char *buf;
+read_8_bytes (bfd *abfd, char *buf)
{
- return bfd_get_64 (abfd, (bfd_byte *) buf);
+ return bfd_get_64 (abfd, buf);
}
static char *
-read_n_bytes (abfd, buf, size)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
- unsigned int size ATTRIBUTE_UNUSED;
+read_n_bytes (bfd *abfd ATTRIBUTE_UNUSED,
+ char *buf,
+ unsigned int size ATTRIBUTE_UNUSED)
{
/* If the size of a host char is 8 bits, we can return a pointer
to the buffer, otherwise we have to copy the data to a buffer
@@ -328,10 +248,9 @@ read_n_bytes (abfd, buf, size)
}
static char *
-read_string (abfd, buf, bytes_read_ptr)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
- unsigned int *bytes_read_ptr;
+read_string (bfd *abfd ATTRIBUTE_UNUSED,
+ char *buf,
+ unsigned int *bytes_read_ptr)
{
/* Return a pointer to the embedded string. */
if (*buf == '\0')
@@ -345,10 +264,9 @@ read_string (abfd, buf, bytes_read_ptr)
}
static char *
-read_indirect_string (unit, buf, bytes_read_ptr)
- struct comp_unit* unit;
- char *buf;
- unsigned int *bytes_read_ptr;
+read_indirect_string (struct comp_unit* unit,
+ char *buf,
+ unsigned int *bytes_read_ptr)
{
bfd_vma offset;
struct dwarf2_debug *stash = unit->stash;
@@ -374,12 +292,12 @@ read_indirect_string (unit, buf, bytes_read_ptr)
}
stash->dwarf_str_size = msec->_raw_size;
- stash->dwarf_str_buffer = (char*) bfd_alloc (abfd, msec->_raw_size);
+ stash->dwarf_str_buffer = bfd_alloc (abfd, msec->_raw_size);
if (! stash->dwarf_abbrev_buffer)
return NULL;
if (! bfd_get_section_contents (abfd, msec, stash->dwarf_str_buffer,
- (bfd_vma) 0, msec->_raw_size))
+ 0, msec->_raw_size))
return NULL;
}
@@ -398,10 +316,9 @@ read_indirect_string (unit, buf, bytes_read_ptr)
}
static unsigned int
-read_unsigned_leb128 (abfd, buf, bytes_read_ptr)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
- unsigned int *bytes_read_ptr;
+read_unsigned_leb128 (bfd *abfd ATTRIBUTE_UNUSED,
+ char *buf,
+ unsigned int *bytes_read_ptr)
{
unsigned int result;
unsigned int num_read;
@@ -414,7 +331,7 @@ read_unsigned_leb128 (abfd, buf, bytes_read_ptr)
do
{
- byte = bfd_get_8 (abfd, (bfd_byte *) buf);
+ byte = bfd_get_8 (abfd, buf);
buf ++;
num_read ++;
result |= ((byte & 0x7f) << shift);
@@ -428,10 +345,9 @@ read_unsigned_leb128 (abfd, buf, bytes_read_ptr)
}
static int
-read_signed_leb128 (abfd, buf, bytes_read_ptr)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
- unsigned int * bytes_read_ptr;
+read_signed_leb128 (bfd *abfd ATTRIBUTE_UNUSED,
+ char *buf,
+ unsigned int * bytes_read_ptr)
{
int result;
int shift;
@@ -444,7 +360,7 @@ read_signed_leb128 (abfd, buf, bytes_read_ptr)
do
{
- byte = bfd_get_8 (abfd, (bfd_byte *) buf);
+ byte = bfd_get_8 (abfd, buf);
buf ++;
num_read ++;
result |= ((byte & 0x7f) << shift);
@@ -463,18 +379,16 @@ read_signed_leb128 (abfd, buf, bytes_read_ptr)
/* END VERBATIM */
static bfd_vma
-read_address (unit, buf)
- struct comp_unit* unit;
- char *buf;
+read_address (struct comp_unit *unit, char *buf)
{
switch (unit->addr_size)
{
case 8:
- return bfd_get_64 (unit->abfd, (bfd_byte *) buf);
+ return bfd_get_64 (unit->abfd, buf);
case 4:
- return bfd_get_32 (unit->abfd, (bfd_byte *) buf);
+ return bfd_get_32 (unit->abfd, buf);
case 2:
- return bfd_get_16 (unit->abfd, (bfd_byte *) buf);
+ return bfd_get_16 (unit->abfd, buf);
default:
abort ();
}
@@ -483,9 +397,7 @@ read_address (unit, buf)
/* Lookup an abbrev_info structure in the abbrev hash table. */
static struct abbrev_info *
-lookup_abbrev (number,abbrevs)
- unsigned int number;
- struct abbrev_info **abbrevs;
+lookup_abbrev (unsigned int number, struct abbrev_info **abbrevs)
{
unsigned int hash_number;
struct abbrev_info *abbrev;
@@ -510,10 +422,7 @@ lookup_abbrev (number,abbrevs)
in a hash table. */
static struct abbrev_info**
-read_abbrevs (abfd, offset, stash)
- bfd * abfd;
- bfd_vma offset;
- struct dwarf2_debug *stash;
+read_abbrevs (bfd *abfd, bfd_vma offset, struct dwarf2_debug *stash)
{
struct abbrev_info **abbrevs;
char *abbrev_ptr;
@@ -551,7 +460,7 @@ read_abbrevs (abfd, offset, stash)
}
amt = sizeof (struct abbrev_info*) * ABBREV_HASH_SIZE;
- abbrevs = (struct abbrev_info**) bfd_zalloc (abfd, amt);
+ abbrevs = bfd_zalloc (abfd, amt);
abbrev_ptr = stash->dwarf_abbrev_buffer + offset;
abbrev_number = read_unsigned_leb128 (abfd, abbrev_ptr, &bytes_read);
@@ -561,7 +470,7 @@ read_abbrevs (abfd, offset, stash)
while (abbrev_number)
{
amt = sizeof (struct abbrev_info);
- cur_abbrev = (struct abbrev_info *) bfd_zalloc (abfd, amt);
+ cur_abbrev = bfd_zalloc (abfd, amt);
/* Read in abbrev header. */
cur_abbrev->number = abbrev_number;
@@ -583,8 +492,7 @@ read_abbrevs (abfd, offset, stash)
{
amt = cur_abbrev->num_attrs + ATTR_ALLOC_CHUNK;
amt *= sizeof (struct attr_abbrev);
- cur_abbrev->attrs = ((struct attr_abbrev *)
- bfd_realloc (cur_abbrev->attrs, amt));
+ cur_abbrev->attrs = bfd_realloc (cur_abbrev->attrs, amt);
if (! cur_abbrev->attrs)
return 0;
}
@@ -625,11 +533,10 @@ read_abbrevs (abfd, offset, stash)
/* Read an attribute value described by an attribute form. */
static char *
-read_attribute_value (attr, form, unit, info_ptr)
- struct attribute *attr;
- unsigned form;
- struct comp_unit *unit;
- char *info_ptr;
+read_attribute_value (struct attribute *attr,
+ unsigned form,
+ struct comp_unit *unit,
+ char *info_ptr)
{
bfd *abfd = unit->abfd;
unsigned int bytes_read;
@@ -648,7 +555,7 @@ read_attribute_value (attr, form, unit, info_ptr)
break;
case DW_FORM_block2:
amt = sizeof (struct dwarf_block);
- blk = (struct dwarf_block *) bfd_alloc (abfd, amt);
+ blk = bfd_alloc (abfd, amt);
blk->size = read_2_bytes (abfd, info_ptr);
info_ptr += 2;
blk->data = read_n_bytes (abfd, info_ptr, blk->size);
@@ -657,7 +564,7 @@ read_attribute_value (attr, form, unit, info_ptr)
break;
case DW_FORM_block4:
amt = sizeof (struct dwarf_block);
- blk = (struct dwarf_block *) bfd_alloc (abfd, amt);
+ blk = bfd_alloc (abfd, amt);
blk->size = read_4_bytes (abfd, info_ptr);
info_ptr += 4;
blk->data = read_n_bytes (abfd, info_ptr, blk->size);
@@ -686,7 +593,7 @@ read_attribute_value (attr, form, unit, info_ptr)
break;
case DW_FORM_block:
amt = sizeof (struct dwarf_block);
- blk = (struct dwarf_block *) bfd_alloc (abfd, amt);
+ blk = bfd_alloc (abfd, amt);
blk->size = read_unsigned_leb128 (abfd, info_ptr, &bytes_read);
info_ptr += bytes_read;
blk->data = read_n_bytes (abfd, info_ptr, blk->size);
@@ -695,7 +602,7 @@ read_attribute_value (attr, form, unit, info_ptr)
break;
case DW_FORM_block1:
amt = sizeof (struct dwarf_block);
- blk = (struct dwarf_block *) bfd_alloc (abfd, amt);
+ blk = bfd_alloc (abfd, amt);
blk->size = read_1_byte (abfd, info_ptr);
info_ptr += 1;
blk->data = read_n_bytes (abfd, info_ptr, blk->size);
@@ -754,11 +661,10 @@ read_attribute_value (attr, form, unit, info_ptr)
/* Read an attribute described by an abbreviated attribute. */
static char *
-read_attribute (attr, abbrev, unit, info_ptr)
- struct attribute *attr;
- struct attr_abbrev *abbrev;
- struct comp_unit *unit;
- char *info_ptr;
+read_attribute (struct attribute *attr,
+ struct attr_abbrev *abbrev,
+ struct comp_unit *unit,
+ char *info_ptr)
{
attr->name = abbrev->name;
info_ptr = read_attribute_value (attr, abbrev->form, unit, info_ptr);
@@ -814,16 +720,15 @@ struct funcinfo
line_info->prev_line always accesses an equal or smaller VMA. */
static void
-add_line_info (table, address, filename, line, column, end_sequence)
- struct line_info_table* table;
- bfd_vma address;
- char* filename;
- unsigned int line;
- unsigned int column;
- int end_sequence;
+add_line_info (struct line_info_table *table,
+ bfd_vma address,
+ char *filename,
+ unsigned int line,
+ unsigned int column,
+ int end_sequence)
{
bfd_size_type amt = sizeof (struct line_info);
- struct line_info* info = (struct line_info*) bfd_alloc (table->abfd, amt);
+ struct line_info* info = bfd_alloc (table->abfd, amt);
/* Find the correct location for 'info'. Normally we will receive
new line_info data 1) in order and 2) with increasing VMAs.
@@ -912,9 +817,7 @@ add_line_info (table, address, filename, line, column, end_sequence)
responsibility to free it. */
static char *
-concat_filename (table, file)
- struct line_info_table* table;
- unsigned int file;
+concat_filename (struct line_info_table *table, unsigned int file)
{
char* filename;
@@ -951,10 +854,7 @@ concat_filename (table, file)
}
static void
-arange_add (unit, low_pc, high_pc)
- struct comp_unit *unit;
- bfd_vma low_pc;
- bfd_vma high_pc;
+arange_add (struct comp_unit *unit, bfd_vma low_pc, bfd_vma high_pc)
{
struct arange *arange;
@@ -987,8 +887,7 @@ arange_add (unit, low_pc, high_pc)
}
/* Need to allocate a new arange and insert it into the arange list. */
- arange = (struct arange *)
- bfd_zalloc (unit->abfd, (bfd_size_type) sizeof (*arange));
+ arange = bfd_zalloc (unit->abfd, sizeof (*arange));
arange->low = low_pc;
arange->high = high_pc;
@@ -999,9 +898,7 @@ arange_add (unit, low_pc, high_pc)
/* Decode the line number information for UNIT. */
static struct line_info_table*
-decode_line_info (unit, stash)
- struct comp_unit *unit;
- struct dwarf2_debug *stash;
+decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash)
{
bfd *abfd = unit->abfd;
struct line_info_table* table;
@@ -1044,7 +941,7 @@ decode_line_info (unit, stash)
}
amt = sizeof (struct line_info_table);
- table = (struct line_info_table*) bfd_alloc (abfd, amt);
+ table = bfd_alloc (abfd, amt);
table->abfd = abfd;
table->comp_dir = unit->comp_dir;
@@ -1096,7 +993,7 @@ decode_line_info (unit, stash)
lh.opcode_base = read_1_byte (abfd, line_ptr);
line_ptr += 1;
amt = lh.opcode_base * sizeof (unsigned char);
- lh.standard_opcode_lengths = (unsigned char *) bfd_alloc (abfd, amt);
+ lh.standard_opcode_lengths = bfd_alloc (abfd, amt);
lh.standard_opcode_lengths[0] = 1;
@@ -1115,7 +1012,7 @@ decode_line_info (unit, stash)
{
amt = table->num_dirs + DIR_ALLOC_CHUNK;
amt *= sizeof (char *);
- table->dirs = (char **) bfd_realloc (table->dirs, amt);
+ table->dirs = bfd_realloc (table->dirs, amt);
if (! table->dirs)
return 0;
}
@@ -1134,7 +1031,7 @@ decode_line_info (unit, stash)
{
amt = table->num_files + FILE_ALLOC_CHUNK;
amt *= sizeof (struct fileinfo);
- table->files = (struct fileinfo *) bfd_realloc (table->files, amt);
+ table->files = bfd_realloc (table->files, amt);
if (! table->files)
return 0;
}
@@ -1225,8 +1122,7 @@ decode_line_info (unit, stash)
{
amt = table->num_files + FILE_ALLOC_CHUNK;
amt *= sizeof (struct fileinfo);
- table->files =
- (struct fileinfo *) bfd_realloc (table->files, amt);
+ table->files = bfd_realloc (table->files, amt);
if (! table->files)
return 0;
}
@@ -1322,13 +1218,11 @@ decode_line_info (unit, stash)
LINENUMBER_PTR, are pointers to the objects to be filled in. */
static bfd_boolean
-lookup_address_in_line_info_table (table, addr, function, filename_ptr,
- linenumber_ptr)
- struct line_info_table* table;
- bfd_vma addr;
- struct funcinfo *function;
- const char **filename_ptr;
- unsigned int *linenumber_ptr;
+lookup_address_in_line_info_table (struct line_info_table *table,
+ bfd_vma addr,
+ struct funcinfo *function,
+ const char **filename_ptr,
+ unsigned int *linenumber_ptr)
{
/* Note: table->last_line should be a descendingly sorted list. */
struct line_info* next_line = table->last_line;
@@ -1401,12 +1295,10 @@ lookup_address_in_line_info_table (table, addr, function, filename_ptr,
/* If ADDR is within TABLE, set FUNCTIONNAME_PTR, and return TRUE. */
static bfd_boolean
-lookup_address_in_function_table (table, addr, function_ptr,
- functionname_ptr)
- struct funcinfo* table;
- bfd_vma addr;
- struct funcinfo** function_ptr;
- const char **functionname_ptr;
+lookup_address_in_function_table (struct funcinfo *table,
+ bfd_vma addr,
+ struct funcinfo **function_ptr,
+ const char **functionname_ptr)
{
struct funcinfo* each_func;
@@ -1431,8 +1323,7 @@ lookup_address_in_function_table (table, addr, function_ptr,
to the function table. */
static bfd_boolean
-scan_unit_for_functions (unit)
- struct comp_unit *unit;
+scan_unit_for_functions (struct comp_unit *unit)
{
bfd *abfd = unit->abfd;
char *info_ptr = unit->first_child_die_ptr;
@@ -1467,7 +1358,7 @@ scan_unit_for_functions (unit)
if (abbrev->tag == DW_TAG_subprogram)
{
bfd_size_type amt = sizeof (struct funcinfo);
- func = (struct funcinfo *) bfd_zalloc (abfd, amt);
+ func = bfd_zalloc (abfd, amt);
func->prev_func = unit->function_table;
unit->function_table = func;
}
@@ -1538,11 +1429,10 @@ scan_unit_for_functions (unit)
to get to the line number information for the compilation unit. */
static struct comp_unit *
-parse_comp_unit (abfd, stash, unit_length, offset_size)
- bfd* abfd;
- struct dwarf2_debug *stash;
- bfd_vma unit_length;
- unsigned int offset_size;
+parse_comp_unit (bfd *abfd,
+ struct dwarf2_debug *stash,
+ bfd_vma unit_length,
+ unsigned int offset_size)
{
struct comp_unit* unit;
unsigned int version;
@@ -1615,7 +1505,7 @@ parse_comp_unit (abfd, stash, unit_length, offset_size)
}
amt = sizeof (struct comp_unit);
- unit = (struct comp_unit*) bfd_zalloc (abfd, amt);
+ unit = bfd_zalloc (abfd, amt);
unit->abfd = abfd;
unit->addr_size = addr_size;
unit->offset_size = offset_size;
@@ -1655,7 +1545,7 @@ parse_comp_unit (abfd, stash, unit_length, offset_size)
{
/* Irix 6.2 native cc prepends <machine>.: to the compilation
directory, get rid of it. */
- char *cp = (char*) strchr (comp_dir, ':');
+ char *cp = strchr (comp_dir, ':');
if (cp && cp != comp_dir && cp[-1] == '.' && cp[1] == '/')
comp_dir = cp + 1;
@@ -1676,9 +1566,7 @@ parse_comp_unit (abfd, stash, unit_length, offset_size)
/* Return TRUE if UNIT contains the address given by ADDR. */
static bfd_boolean
-comp_unit_contains_address (unit, addr)
- struct comp_unit* unit;
- bfd_vma addr;
+comp_unit_contains_address (struct comp_unit *unit, bfd_vma addr)
{
struct arange *arange;
@@ -1706,14 +1594,12 @@ comp_unit_contains_address (unit, addr)
FALSE otherwise. */
static bfd_boolean
-comp_unit_find_nearest_line (unit, addr, filename_ptr, functionname_ptr,
- linenumber_ptr, stash)
- struct comp_unit* unit;
- bfd_vma addr;
- const char **filename_ptr;
- const char **functionname_ptr;
- unsigned int *linenumber_ptr;
- struct dwarf2_debug *stash;
+comp_unit_find_nearest_line (struct comp_unit *unit,
+ bfd_vma addr,
+ const char **filename_ptr,
+ const char **functionname_ptr,
+ unsigned int *linenumber_ptr,
+ struct dwarf2_debug *stash)
{
bfd_boolean line_p;
bfd_boolean func_p;
@@ -1768,9 +1654,7 @@ comp_unit_find_nearest_line (unit, addr, filename_ptr, functionname_ptr,
#define GNU_LINKONCE_INFO ".gnu.linkonce.wi."
static asection *
-find_debug_info (abfd, after_sec)
- bfd * abfd;
- asection * after_sec;
+find_debug_info (bfd *abfd, asection *after_sec)
{
asection * msec;
@@ -1800,18 +1684,15 @@ find_debug_info (abfd, after_sec)
used. */
bfd_boolean
-_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
- filename_ptr, functionname_ptr,
- linenumber_ptr, addr_size, pinfo)
- bfd *abfd;
- asection *section;
- asymbol **symbols;
- bfd_vma offset;
- const char **filename_ptr;
- const char **functionname_ptr;
- unsigned int *linenumber_ptr;
- unsigned int addr_size;
- PTR *pinfo;
+_bfd_dwarf2_find_nearest_line (bfd *abfd,
+ asection *section,
+ asymbol **symbols,
+ bfd_vma offset,
+ const char **filename_ptr,
+ const char **functionname_ptr,
+ unsigned int *linenumber_ptr,
+ unsigned int addr_size,
+ void **pinfo)
{
/* Read each compilation unit from the section .debug_info, and check
to see if it contains the address we are searching for. If yes,
@@ -1821,7 +1702,7 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
We keep a list of all the previously read compilation units, and
a pointer to the next un-read compilation unit. Check the
previously read units before reading more. */
- struct dwarf2_debug *stash = (struct dwarf2_debug *) *pinfo;
+ struct dwarf2_debug *stash = *pinfo;
/* What address are we looking for? */
bfd_vma addr = offset + section->vma;
@@ -1845,11 +1726,11 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
asection *msec;
bfd_size_type amt = sizeof (struct dwarf2_debug);
- stash = (struct dwarf2_debug*) bfd_zalloc (abfd, amt);
+ stash = bfd_zalloc (abfd, amt);
if (! stash)
return FALSE;
- *pinfo = (PTR) stash;
+ *pinfo = stash;
msec = find_debug_info (abfd, NULL);
if (! msec)
@@ -1866,7 +1747,7 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
for (total_size = 0; msec; msec = find_debug_info (abfd, msec))
total_size += msec->_raw_size;
- stash->info_ptr = (char *) bfd_alloc (abfd, total_size);
+ stash->info_ptr = bfd_alloc (abfd, total_size);
if (stash->info_ptr == NULL)
return FALSE;
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index d42eb27f5a5..a684546eb26 100644
--- a/bfd/elf32-arm.h
+++ b/bfd/elf32-arm.h
@@ -205,8 +205,6 @@ struct elf32_arm_relocs_copied
asection * section;
/* Number of relocs copied in this section. */
bfd_size_type count;
- /* Number of relocs copied in this section. */
- bfd_size_type pc_count;
};
/* Arm ELF linker hash entry. */
@@ -383,7 +381,6 @@ elf32_arm_copy_indirect_symbol (const struct elf_backend_data *bed,
for (q = edir->relocs_copied; q != NULL; q = q->next)
if (q->section == p->section)
{
- q->pc_count += p->pc_count;
q->count += p->count;
*pp = p->next;
break;
@@ -1307,21 +1304,41 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
#ifndef OLD_ARM_ABI
case R_ARM_XPC25:
#endif
+ case R_ARM_PLT32:
/* r_symndx will be zero only for relocs against symbols
from removed linkonce sections, or sections discarded by
a linker script. */
if (r_symndx == 0)
return bfd_reloc_ok;
+ /* Handle relocations which should use the PLT entry. ABS32/REL32
+ will use the symbol's value, which may point to a PLT entry, but we
+ don't need to handle that here. If we created a PLT entry, all
+ branches in this object should go to it. */
+ if ((r_type != R_ARM_ABS32 && r_type != R_ARM_REL32)
+ && h != NULL
+ && h->plt.offset != (bfd_vma) -1)
+ {
+ BFD_ASSERT (splt != NULL);
+ BFD_ASSERT (!SYMBOL_CALLS_LOCAL (info, h));
+
+ value = (splt->output_section->vma
+ + splt->output_offset
+ + h->plt.offset);
+ return _bfd_final_link_relocate (howto, input_bfd, input_section,
+ contents, rel->r_offset, value,
+ (bfd_vma) 0);
+ }
+
/* When generating a shared object, these relocations are copied
into the output file to be resolved at run time. */
- if ((info->shared
- && (input_section->flags & SEC_ALLOC)
- && (h == NULL
- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
- || h->root.type != bfd_link_hash_undefweak)
- && (r_type != R_ARM_PC24
- || !SYMBOL_CALLS_LOCAL (info, h))))
+ if (info->shared
+ && (input_section->flags & SEC_ALLOC)
+ && (h == NULL
+ || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
+ || h->root.type != bfd_link_hash_undefweak)
+ && r_type != R_ARM_PC24
+ && r_type != R_ARM_PLT32)
{
Elf_Internal_Rela outrel;
bfd_byte *loc;
@@ -1364,8 +1381,7 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
memset (&outrel, 0, sizeof outrel);
else if (h != NULL
&& h->dynindx != -1
- && (r_type == R_ARM_PC24
- || !info->shared
+ && (!info->shared
|| !info->symbolic
|| (h->elf_link_hash_flags
& ELF_LINK_HASH_DEF_REGULAR) == 0))
@@ -1397,6 +1413,7 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
case R_ARM_XPC25: /* Arm BLX instruction. */
#endif
case R_ARM_PC24: /* Arm B/BL instruction */
+ case R_ARM_PLT32:
#ifndef OLD_ARM_ABI
if (r_type == R_ARM_XPC25)
{
@@ -1869,37 +1886,6 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
contents, rel->r_offset, value,
(bfd_vma) 0);
- case R_ARM_PLT32:
- /* Relocation is to the entry for this symbol in the
- procedure linkage table. */
-
- /* Resolve a PLT32 reloc against a local symbol directly,
- without using the procedure linkage table. */
- if (h == NULL)
- return _bfd_final_link_relocate (howto, input_bfd, input_section,
- contents, rel->r_offset, value,
- (bfd_vma) 0);
-
- if (h->plt.offset == (bfd_vma) -1
- || globals->splt == NULL)
- /* We didn't make a PLT entry for this symbol. This
- happens when statically linking PIC code, or when
- using -Bsymbolic. */
- return _bfd_final_link_relocate (howto, input_bfd, input_section,
- contents, rel->r_offset, value,
- (bfd_vma) 0);
-
- BFD_ASSERT(splt != NULL);
- if (splt == NULL)
- return bfd_reloc_notsupported;
-
- value = (splt->output_section->vma
- + splt->output_offset
- + h->plt.offset);
- return _bfd_final_link_relocate (howto, input_bfd, input_section,
- contents, rel->r_offset, value,
- (bfd_vma) 0);
-
case R_ARM_SBREL32:
return bfd_reloc_notsupported;
@@ -2808,6 +2794,7 @@ elf32_arm_gc_sweep_hook (abfd, info, sec, relocs)
case R_ARM_ABS32:
case R_ARM_REL32:
case R_ARM_PC24:
+ case R_ARM_PLT32:
r_symndx = ELF32_R_SYM (rel->r_info);
if (r_symndx >= symtab_hdr->sh_info)
{
@@ -2817,31 +2804,24 @@ elf32_arm_gc_sweep_hook (abfd, info, sec, relocs)
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- if (!info->shared && h->plt.refcount > 0)
+ if (h->plt.refcount > 0)
h->plt.refcount -= 1;
- eh = (struct elf32_arm_link_hash_entry *) h;
-
- for (pp = &eh->relocs_copied; (p = *pp) != NULL; pp = &p->next)
- if (p->section == sec)
- {
- if (ELF32_R_TYPE (rel->r_info) == R_ARM_PC24)
- p->pc_count -= 1;
- p->count -= 1;
- if (p->count == 0)
- *pp = p->next;
- break;
- }
- }
- break;
+ if (ELF32_R_TYPE (rel->r_info) == R_ARM_ABS32
+ || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32)
+ {
+ eh = (struct elf32_arm_link_hash_entry *) h;
- case R_ARM_PLT32:
- r_symndx = ELF32_R_SYM (rel->r_info);
- if (r_symndx >= symtab_hdr->sh_info)
- {
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- if (h->plt.refcount > 0)
- h->plt.refcount -= 1;
+ for (pp = &eh->relocs_copied; (p = *pp) != NULL;
+ pp = &p->next)
+ if (p->section == sec)
+ {
+ p->count -= 1;
+ if (p->count == 0)
+ *pp = p->next;
+ break;
+ }
+ }
}
break;
@@ -2902,23 +2882,6 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
switch (ELF32_R_TYPE (rel->r_info))
{
- case R_ARM_PLT32:
- /* This symbol requires a procedure linkage table entry. We
- actually build the entry in adjust_dynamic_symbol,
- because this might be a case of linking PIC code which is
- never referenced by a dynamic object, in which case we
- don't need to generate a procedure linkage table entry
- after all. */
-
- /* If this is a local symbol, we resolve it directly without
- creating a procedure linkage table entry. */
- if (h == NULL)
- continue;
-
- h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT;
- h->plt.refcount++;
- break;
-
case R_ARM_GOT32:
/* This symbol requires a global offset table entry. */
if (h != NULL)
@@ -2961,7 +2924,8 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
case R_ARM_ABS32:
case R_ARM_REL32:
case R_ARM_PC24:
- if (h != NULL && !info->shared)
+ case R_ARM_PLT32:
+ if (h != NULL)
{
/* If this reloc is in a read-only section, we might
need a copy reloc. We can't check reliably at this
@@ -2969,10 +2933,15 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
sections have not yet been mapped to output sections.
Tentatively set the flag for now, and correct in
adjust_dynamic_symbol. */
- h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF;
-
+ if (!info->shared)
+ h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF;
+
/* We may need a .plt entry if the function this reloc
- refers to is in a shared lib. */
+ refers to is in a different object. */
+ if (ELF32_R_TYPE (rel->r_info) == R_ARM_PC24
+ || ELF32_R_TYPE (rel->r_info) == R_ARM_PLT32)
+ h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT;
+
h->plt.refcount += 1;
}
@@ -2990,7 +2959,8 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
relocs_copied field of the hash table entry. */
if (info->shared
&& (sec->flags & SEC_ALLOC) != 0
- && (ELF32_R_TYPE (rel->r_info) != R_ARM_PC24
+ && ((ELF32_R_TYPE (rel->r_info) != R_ARM_PC24
+ && ELF32_R_TYPE (rel->r_info) != R_ARM_PLT32)
|| (h != NULL
&& (! info->symbolic
|| (h->elf_link_hash_flags
@@ -3068,12 +3038,11 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
*head = p;
p->section = sec;
p->count = 0;
- p->pc_count = 0;
}
- p->count += 1;
- if (ELF32_R_TYPE (rel->r_info) == R_ARM_PC24)
- p->pc_count += 1;
+ if (ELF32_R_TYPE (rel->r_info) == R_ARM_ABS32
+ || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32)
+ p->count += 1;
}
break;
@@ -3348,7 +3317,7 @@ allocate_dynrelocs (h, inf)
}
if (info->shared
- || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h))
+ || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, 0, h))
{
asection *s = htab->splt;
@@ -3432,29 +3401,8 @@ allocate_dynrelocs (h, inf)
if (info->shared)
{
- /* The only reloc that uses pc_count is R_ARM_PC24, which will
- appear on a call or on something like ".long foo - .". We
- want calls to protected symbols to resolve directly to the
- function rather than going via the plt. If people want
- function pointer comparisons to work as expected then they
- should avoid writing assembly like ".long foo - .". */
- if (SYMBOL_CALLS_LOCAL (info, h))
- {
- struct elf32_arm_relocs_copied **pp;
-
- for (pp = &eh->relocs_copied; (p = *pp) != NULL; )
- {
- p->count -= p->pc_count;
- p->pc_count = 0;
- if (p->count == 0)
- *pp = p->next;
- else
- pp = &p->next;
- }
- }
-
- /* Also discard relocs on undefined weak syms with non-default
- visibility. */
+ /* Discard relocs on undefined weak syms with non-default
+ visibility. */
if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
&& h->root.type == bfd_link_hash_undefweak)
eh->relocs_copied = NULL;
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index 2c634740668..e2a51f64181 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -1770,26 +1770,27 @@ cris_elf_gc_sweep_hook (abfd, info, sec, relocs)
struct elf_link_hash_entry **sym_hashes;
bfd_signed_vma *local_got_refcounts;
const Elf_Internal_Rela *rel, *relend;
- unsigned long r_symndx;
- struct elf_link_hash_entry *h;
bfd *dynobj;
asection *sgot;
asection *srelgot;
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- sym_hashes = elf_sym_hashes (abfd);
- local_got_refcounts = elf_local_got_refcounts (abfd);
-
dynobj = elf_hash_table (info)->dynobj;
if (dynobj == NULL)
return TRUE;
+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+ sym_hashes = elf_sym_hashes (abfd);
+ local_got_refcounts = elf_local_got_refcounts (abfd);
+
sgot = bfd_get_section_by_name (dynobj, ".got");
srelgot = bfd_get_section_by_name (dynobj, ".rela.got");
relend = relocs + sec->reloc_count;
for (rel = relocs; rel < relend; rel++)
{
+ unsigned long r_symndx;
+ struct elf_link_hash_entry *h;
+
switch (ELF32_R_TYPE (rel->r_info))
{
case R_CRIS_16_GOT:
diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c
index 5157f407f40..016f233545d 100644
--- a/bfd/elf32-frv.c
+++ b/bfd/elf32-frv.c
@@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "libbfd.h"
#include "elf-bfd.h"
#include "elf/frv.h"
+#include "hashtab.h"
/* Forward declarations. */
static bfd_reloc_status_type elf32_frv_relocate_lo16
@@ -236,6 +237,229 @@ static reloc_howto_type elf32_frv_howto_table [] =
0xffff, /* src_mask */
0xffff, /* dst_mask */
FALSE), /* pcrel_offset */
+
+ /* A 12-bit signed operand with the GOT offset for the address of
+ the symbol. */
+ HOWTO (R_FRV_GOT12, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOT12", /* name */
+ FALSE, /* partial_inplace */
+ 0xfff, /* src_mask */
+ 0xfff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The upper 16 bits of the GOT offset for the address of the
+ symbol. */
+ HOWTO (R_FRV_GOTHI, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOTHI", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The lower 16 bits of the GOT offset for the address of the
+ symbol. */
+ HOWTO (R_FRV_GOTLO, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOTLO", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The 32-bit address of the canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* A 12-bit signed operand with the GOT offset for the address of
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOT12, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOT12", /* name */
+ FALSE, /* partial_inplace */
+ 0xfff, /* src_mask */
+ 0xfff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The upper 16 bits of the GOT offset for the address of the
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOTHI, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOTHI", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The lower 16 bits of the GOT offset for the address of the
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOTLO, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOTLO", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The 32-bit address of the canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_VALUE, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 64, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_VALUE", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* A 12-bit signed operand with the GOT offset for the address of
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOTOFF12, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOTOFF12", /* name */
+ FALSE, /* partial_inplace */
+ 0xfff, /* src_mask */
+ 0xfff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The upper 16 bits of the GOT offset for the address of the
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOTOFFHI, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOTOFFHI", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The lower 16 bits of the GOT offset for the address of the
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOTOFFLO, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOTOFFLO", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* A 12-bit signed operand with the GOT offset for the address of
+ the symbol. */
+ HOWTO (R_FRV_GOTOFF12, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOTOFF12", /* name */
+ FALSE, /* partial_inplace */
+ 0xfff, /* src_mask */
+ 0xfff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The upper 16 bits of the GOT offset for the address of the
+ symbol. */
+ HOWTO (R_FRV_GOTOFFHI, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOTOFFHI", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The lower 16 bits of the GOT offset for the address of the
+ symbol. */
+ HOWTO (R_FRV_GOTOFFLO, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOTOFFLO", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
};
/* GNU extension to record C++ vtable hierarchy. */
@@ -269,6 +493,54 @@ static reloc_howto_type elf32_frv_vtentry_howto =
0, /* src_mask */
0, /* dst_mask */
FALSE); /* pcrel_offset */
+
+/* The following 3 relocations are REL. The only difference to the
+ entries in the table above are that partial_inplace is TRUE. */
+static reloc_howto_type elf32_frv_rel_32_howto =
+ HOWTO (R_FRV_32, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_32", /* name */
+ TRUE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE); /* pcrel_offset */
+
+static reloc_howto_type elf32_frv_rel_funcdesc_howto =
+ HOWTO (R_FRV_FUNCDESC, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC", /* name */
+ TRUE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE); /* pcrel_offset */
+
+static reloc_howto_type elf32_frv_rel_funcdesc_value_howto =
+ HOWTO (R_FRV_FUNCDESC_VALUE, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 64, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_VALUE", /* name */
+ TRUE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE); /* pcrel_offset */
+
/* Map BFD reloc types to FRV ELF reloc types. */
#if 0
@@ -291,11 +563,743 @@ static const struct frv_reloc_map frv_reloc_map [] =
{ BFD_RELOC_FRV_GPREL32, R_FRV_GPREL32 },
{ BFD_RELOC_FRV_GPRELHI, R_FRV_GPRELHI },
{ BFD_RELOC_FRV_GPRELLO, R_FRV_GPRELLO },
+ { BFD_RELOC_FRV_GOT12, R_FRV_GOT12 },
+ { BFD_RELOC_FRV_GOTHI, R_FRV_GOTHI },
+ { BFD_RELOC_FRV_GOTLO, R_FRV_GOTLO },
+ { BFD_RELOC_FRV_FUNCDESC, R_FRV_FUNCDESC },
+ { BFD_RELOC_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOT12 },
+ { BFD_RELOC_FRV_FUNCDESC_GOTHI, R_FRV_FUNCDESC_GOTHI },
+ { BFD_RELOC_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_GOTLO },
+ { BFD_RELOC_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_VALUE },
+ { BFD_RELOC_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFF12 },
+ { BFD_RELOC_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFHI },
+ { BFD_RELOC_FRV_FUNCDESC_GOTOFFLO, R_FRV_FUNCDESC_GOTOFFLO },
+ { BFD_RELOC_FRV_GOTOFF12, R_FRV_GOTOFF12 },
+ { BFD_RELOC_FRV_GOTOFFHI, R_FRV_GOTOFFHI },
+ { BFD_RELOC_FRV_GOTOFFLO, R_FRV_GOTOFFLO },
{ BFD_RELOC_VTABLE_INHERIT, R_FRV_GNU_VTINHERIT },
{ BFD_RELOC_VTABLE_ENTRY, R_FRV_GNU_VTENTRY },
};
#endif
+
+/* An extension of the elf hash table data structure, containing some
+ additional FRV-specific data. */
+struct frv_elf_link_hash_table
+{
+ struct elf_link_hash_table elf;
+
+ /* A pointer to the .got section. */
+ asection *sgot;
+ /* A pointer to the .rel.got section. */
+ asection *sgotrel;
+ /* A pointer to the .rofixup section. */
+ asection *sgotfixup;
+ /* A pointer to the .plt section. */
+ asection *splt;
+ /* A pointer to the .rel.plt section. */
+ asection *spltrel;
+ /* GOT base offset. */
+ bfd_vma got0;
+ /* Location of the first non-lazy PLT entry, i.e., the number of
+ bytes taken by lazy PLT entries. */
+ bfd_vma plt0;
+ /* A hash table holding information about which symbols were
+ referenced with which PIC-related relocations. */
+ struct htab *relocs_info;
+};
+
+/* Get the FRV ELF linker hash table from a link_info structure. */
+
+#define frv_hash_table(info) \
+ ((struct frv_elf_link_hash_table *) ((info)->hash))
+
+#define frv_got_section(info) \
+ (frv_hash_table (info)->sgot)
+#define frv_gotrel_section(info) \
+ (frv_hash_table (info)->sgotrel)
+#define frv_gotfixup_section(info) \
+ (frv_hash_table (info)->sgotfixup)
+#define frv_plt_section(info) \
+ (frv_hash_table (info)->splt)
+#define frv_pltrel_section(info) \
+ (frv_hash_table (info)->spltrel)
+#define frv_relocs_info(info) \
+ (frv_hash_table (info)->relocs_info)
+#define frv_got_initial_offset(info) \
+ (frv_hash_table (info)->got0)
+#define frv_plt_initial_offset(info) \
+ (frv_hash_table (info)->plt0)
+
+/* Create an FRV ELF linker hash table. */
+
+static struct bfd_link_hash_table *
+frv_elf_link_hash_table_create (bfd *abfd)
+{
+ struct frv_elf_link_hash_table *ret;
+ bfd_size_type amt = sizeof (struct frv_elf_link_hash_table);
+
+ ret = bfd_zalloc (abfd, amt);
+ if (ret == NULL)
+ return NULL;
+
+ if (! _bfd_elf_link_hash_table_init (&ret->elf, abfd,
+ _bfd_elf_link_hash_newfunc))
+ {
+ free (ret);
+ return NULL;
+ }
+
+ return &ret->elf.root;
+}
+
+/* Decide whether a reference to a symbol can be resolved locally or
+ not. If the symbol is protected, we want the local address, but
+ its function descriptor must be assigned by the dynamic linker. */
+#define FRV_SYM_LOCAL(INFO, H) \
+ (_bfd_elf_symbol_refs_local_p ((H), (INFO), 1) \
+ || ! elf_hash_table (INFO)->dynamic_sections_created \
+ || (H)->root.type == bfd_link_hash_undefweak \
+ || (/* The condition below is an ugly hack to get .scommon data to
+ be regarded as local. For some reason the
+ ELF_LINK_HASH_DEF_REGULAR bit is not set on such common
+ symbols, and the SEC_IS_COMMON bit is not set any longer
+ when we need to perform this test. Hopefully this
+ approximation is good enough. */ \
+ ((H)->root.type == bfd_link_hash_defined \
+ || (H)->root.type == bfd_link_hash_defweak) \
+ && (H)->root.u.def.section->output_section \
+ && ((H)->root.u.def.section->flags & SEC_LINKER_CREATED)))
+#define FRV_FUNCDESC_LOCAL(INFO, H) \
+ ((H)->dynindx == -1 || ! elf_hash_table (INFO)->dynamic_sections_created)
+
+/* This structure collects information on what kind of GOT, PLT or
+ function descriptors are required by relocations that reference a
+ certain symbol. */
+struct frv_pic_relocs_info
+{
+ /* The index of the symbol, as stored in the relocation r_info, if
+ we have a local symbol; -1 otherwise. */
+ long symndx;
+ union
+ {
+ /* The input bfd in which the symbol is defined, if it's a local
+ symbol. */
+ bfd *abfd;
+ /* If symndx == -1, the hash table entry corresponding to a global
+ symbol (even if it turns out to bind locally, in which case it
+ should ideally be replaced with section's symndx + addend). */
+ struct elf_link_hash_entry *h;
+ } d;
+ /* The addend of the relocation that references the symbol. */
+ bfd_vma addend;
+
+ /* The fields above are used to identify an entry. The fields below
+ contain information on how an entry is used and, later on, which
+ locations it was assigned. */
+ /* The following 3 fields record whether the symbol+addend above was
+ ever referenced with a GOT relocation. The 12 suffix indicates a
+ GOT12 relocation; los is used for GOTLO relocations that are not
+ matched by a GOTHI relocation; hilo is used for GOTLO/GOTHI
+ pairs. */
+ unsigned got12:1;
+ unsigned gotlos:1;
+ unsigned gothilo:1;
+ /* Whether a FUNCDESC relocation references symbol+addend. */
+ unsigned fd:1;
+ /* Whether a FUNCDESC_GOT relocation references symbol+addend. */
+ unsigned fdgot12:1;
+ unsigned fdgotlos:1;
+ unsigned fdgothilo:1;
+ /* Whether a FUNCDESC_GOTOFF relocation references symbol+addend. */
+ unsigned fdgoff12:1;
+ unsigned fdgofflos:1;
+ unsigned fdgoffhilo:1;
+ /* Whether symbol+addend is referenced with GOTOFF12, GOTOFFLO or
+ GOTOFFHI relocations. The addend doesn't really matter, since we
+ envision that this will only be used to check whether the symbol
+ is mapped to the same segment as the got. */
+ unsigned gotoff:1;
+ /* Whether symbol+addend is referenced by a LABEL24 relocation. */
+ unsigned call:1;
+ /* Whether symbol+addend is referenced by a 32 or FUNCDESC_VALUE
+ relocation. */
+ unsigned sym:1;
+ /* Whether we need a PLT entry for a symbol. Should be implied by
+ something like:
+ (call && symndx == -1 && ! FRV_SYM_LOCAL (info, d.h)) */
+ unsigned plt:1;
+ /* Whether a function descriptor should be created in this link unit
+ for symbol+addend. Should be implied by something like:
+ (plt || fdgotoff12 || fdgotofflos || fdgotofflohi
+ || ((fd || fdgot12 || fdgotlos || fdgothilo)
+ && (symndx != -1 || FRV_FUNCDESC_LOCAL (info, d.h)))) */
+ unsigned privfd:1;
+ /* Whether a lazy PLT entry is needed for this symbol+addend.
+ Should be implied by something like:
+ (privfd && symndx == -1 && ! FRV_SYM_LOCAL (info, d.h)
+ && ! (info->flags & DF_BIND_NOW)) */
+ unsigned lazyplt:1;
+ /* Whether we've already emitted GOT relocations and PLT entries as
+ needed for this symbol. */
+ unsigned done:1;
+
+ /* The number of R_FRV_32, R_FRV_FUNCDESC and R_FRV_FUNCDESC_VALUE
+ relocations referencing the symbol. */
+ unsigned relocs32, relocsfd, relocsfdv;
+
+ /* The offsets of the GOT entries assigned to symbol+addend, to the
+ function descriptor's address, and to a function descriptor,
+ respectively. Should be zero if unassigned. The offsets are
+ counted from the value that will be assigned to the PIC register,
+ not from the beginning of the .got section. */
+ bfd_signed_vma got_entry, fdgot_entry, fd_entry;
+ /* The offsets of the PLT entries assigned to symbol+addend,
+ non-lazy and lazy, respectively. If unassigned, should be
+ (bfd_vma)-1. */
+ bfd_vma plt_entry, lzplt_entry;
+};
+
+/* Compute a hash with the key fields of an frv_pic_relocs_info entry. */
+static hashval_t
+frv_pic_relocs_info_hash (const void *entry_)
+{
+ const struct frv_pic_relocs_info *entry = entry_;
+
+ return (entry->symndx == -1
+ ? entry->d.h->root.root.hash
+ : entry->symndx + entry->d.abfd->id * 257) + entry->addend;
+}
+
+/* Test whether the key fields of two frv_pic_relocs_info entries are
+ identical. */
+static int
+frv_pic_relocs_info_eq (const void *entry1, const void *entry2)
+{
+ const struct frv_pic_relocs_info *e1 = entry1;
+ const struct frv_pic_relocs_info *e2 = entry2;
+
+ return e1->symndx == e2->symndx && e1->addend == e2->addend
+ && (e1->symndx == -1 ? e1->d.h == e2->d.h : e1->d.abfd == e2->d.abfd);
+}
+
+/* Find or create an entry in a hash table HT that matches the key
+ fields of the given ENTRY. If it's not found, memory for a new
+ entry is allocated in ABFD's obstack. */
+static struct frv_pic_relocs_info *
+frv_pic_relocs_info_find (struct htab *ht,
+ bfd *abfd,
+ const struct frv_pic_relocs_info *entry)
+{
+ struct frv_pic_relocs_info **loc =
+ (struct frv_pic_relocs_info **) htab_find_slot (ht, entry, INSERT);
+
+ if (*loc)
+ return *loc;
+
+ *loc = bfd_zalloc (abfd, sizeof (**loc));
+
+ if (! *loc)
+ return *loc;
+
+ (*loc)->symndx = entry->symndx;
+ (*loc)->d = entry->d;
+ (*loc)->addend = entry->addend;
+ (*loc)->plt_entry = (bfd_vma)-1;
+ (*loc)->lzplt_entry = (bfd_vma)-1;
+
+ return *loc;
+}
+
+/* Obtain the address of the entry in HT associated with H's symbol +
+ addend, creating a new entry if none existed. ABFD is only used
+ for memory allocation purposes. */
+inline static struct frv_pic_relocs_info *
+frv_pic_relocs_info_for_global (struct htab *ht,
+ bfd *abfd,
+ struct elf_link_hash_entry *h,
+ bfd_vma addend)
+{
+ struct frv_pic_relocs_info entry;
+
+ entry.symndx = -1;
+ entry.d.h = h;
+ entry.addend = addend;
+
+ return frv_pic_relocs_info_find (ht, abfd, &entry);
+}
+
+/* Obtain the address of the entry in HT associated with the SYMNDXth
+ local symbol of the input bfd ABFD, plus the addend, creating a new
+ entry if none existed. */
+inline static struct frv_pic_relocs_info *
+frv_pic_relocs_info_for_local (struct htab *ht,
+ bfd *abfd,
+ long symndx,
+ bfd_vma addend)
+{
+ struct frv_pic_relocs_info entry;
+
+ entry.symndx = symndx;
+ entry.d.abfd = abfd;
+ entry.addend = addend;
+
+ return frv_pic_relocs_info_find (ht, abfd, &entry);
+}
+
+/* Every block of 65535 lazy PLT entries shares a single call to the
+ resolver, inserted in the 32768th lazy PLT entry (i.e., entry #
+ 32767, counting from 0). All other lazy PLT entries branch to it
+ in a single instruction. */
+
+#define FRV_LZPLT_BLOCK_SIZE ((bfd_vma) 8 * 65535 + 4)
+#define FRV_LZPLT_RESOLV_LOC (8 * 32767)
+
+/* Add a dynamic relocation to the SRELOC section. */
+
+inline static bfd_vma
+_frv_add_dyn_reloc (bfd *output_bfd, asection *sreloc, bfd_vma offset,
+ int reloc_type, long dynindx, bfd_vma addend)
+{
+ Elf_Internal_Rela outrel;
+ bfd_vma reloc_offset;
+
+ outrel.r_offset = offset;
+ outrel.r_info = ELF32_R_INFO (dynindx, reloc_type);
+ outrel.r_addend = addend;
+
+ reloc_offset = sreloc->reloc_count * sizeof (Elf32_External_Rel);
+ BFD_ASSERT (reloc_offset < sreloc->_raw_size);
+ bfd_elf32_swap_reloc_out (output_bfd, &outrel,
+ sreloc->contents + reloc_offset);
+ sreloc->reloc_count++;
+
+ return reloc_offset;
+}
+
+/* Add a fixup to the ROFIXUP section. */
+
+static bfd_vma
+_frv_add_rofixup (bfd *output_bfd, asection *rofixup, bfd_vma offset)
+{
+ bfd_vma fixup_offset;
+
+ if (rofixup->flags & SEC_EXCLUDE)
+ return -1;
+
+ fixup_offset = rofixup->reloc_count * 4;
+ if (rofixup->contents)
+ {
+ BFD_ASSERT (fixup_offset < rofixup->_raw_size);
+ bfd_put_32 (output_bfd, offset, rofixup->contents + fixup_offset);
+ }
+ rofixup->reloc_count++;
+
+ return fixup_offset;
+}
+
+/* Find the segment number in which OSEC, and output section, is
+ located. */
+
+static unsigned
+_frv_osec_to_segment (bfd *output_bfd, asection *osec)
+{
+ struct elf_segment_map *m;
+ Elf_Internal_Phdr *p;
+
+ /* Find the segment that contains the output_section. */
+ for (m = elf_tdata (output_bfd)->segment_map,
+ p = elf_tdata (output_bfd)->phdr;
+ m != NULL;
+ m = m->next, p++)
+ {
+ int i;
+
+ for (i = m->count - 1; i >= 0; i--)
+ if (m->sections[i] == osec)
+ break;
+
+ if (i >= 0)
+ break;
+ }
+
+ return p - elf_tdata (output_bfd)->phdr;
+}
+
+inline static bfd_boolean
+_frv_osec_readonly_p (bfd *output_bfd, asection *osec)
+{
+ unsigned seg = _frv_osec_to_segment (output_bfd, osec);
+
+ return ! (elf_tdata (output_bfd)->phdr[seg].p_flags & PF_W);
+}
+
+/* Generate relocations for GOT entries, function descriptors, and
+ code for PLT and lazy PLT entries. */
+
+inline static bfd_boolean
+_frv_emit_got_relocs_plt_entries (struct frv_pic_relocs_info *entry,
+ bfd *output_bfd,
+ struct bfd_link_info *info,
+ asection *sec,
+ Elf_Internal_Sym *sym,
+ bfd_vma addend)
+
+{
+ bfd_vma fd_lazy_rel_offset = (bfd_vma)-1;
+ int dynindx = -1;
+
+ if (entry->done)
+ return TRUE;
+ entry->done = 1;
+
+ if (entry->got_entry || entry->fdgot_entry || entry->fd_entry)
+ {
+ /* If the symbol is dynamic, consider it for dynamic
+ relocations, otherwise decay to section + offset. */
+ if (entry->symndx == -1 && entry->d.h->dynindx != -1)
+ dynindx = entry->d.h->dynindx;
+ else
+ {
+ if (sec->output_section
+ && ! bfd_is_abs_section (sec->output_section)
+ && ! bfd_is_und_section (sec->output_section))
+ dynindx = elf_section_data (sec->output_section)->dynindx;
+ else
+ dynindx = 0;
+ }
+ }
+
+ /* Generate relocation for GOT entry pointing to the symbol. */
+ if (entry->got_entry)
+ {
+ int idx = dynindx;
+ bfd_vma ad = addend;
+
+ /* If the symbol is dynamic but binds locally, use
+ section+offset. */
+ if (sec && (entry->symndx != -1 || FRV_SYM_LOCAL (info, entry->d.h)))
+ {
+ if (entry->symndx == -1)
+ ad += entry->d.h->root.u.def.value;
+ else
+ ad += sym->st_value;
+ ad += sec->output_offset;
+ if (sec->output_section && elf_section_data (sec->output_section))
+ idx = elf_section_data (sec->output_section)->dynindx;
+ else
+ idx = 0;
+ }
+
+ /* If we're linking an executable at a fixed address, we can
+ omit the dynamic relocation as long as the symbol is local to
+ this module. */
+ if (info->executable && !info->pie
+ && (entry->symndx != -1 || FRV_SYM_LOCAL (info, entry->d.h)))
+ {
+ if (sec)
+ ad += sec->output_section->vma;
+ if (entry->symndx != -1 ||
+ entry->d.h->root.type != bfd_link_hash_undefweak)
+ _frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
+ frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + entry->got_entry);
+ }
+ else
+ _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ frv_got_section (info),
+ frv_got_initial_offset (info)
+ + entry->got_entry)
+ + frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset,
+ R_FRV_32, idx, ad);
+
+ bfd_put_32 (output_bfd, ad,
+ frv_got_section (info)->contents
+ + frv_got_initial_offset (info)
+ + entry->got_entry);
+ }
+
+ /* Generate relocation for GOT entry pointing to a canonical
+ function descriptor. */
+ if (entry->fdgot_entry)
+ {
+ int reloc, idx;
+ bfd_vma ad;
+
+ /* If the symbol is dynamic and there may be dynamic symbol
+ resolution because we are or are linked with a shared
+ library, emit a FUNCDESC relocation such that the dynamic
+ linker will allocate the function descriptor. */
+ if (entry->symndx == -1 && ! FRV_FUNCDESC_LOCAL (info, entry->d.h))
+ {
+ reloc = R_FRV_FUNCDESC;
+ idx = dynindx;
+ ad = addend;
+ if (ad)
+ return FALSE;
+ }
+ else
+ {
+ /* Otherwise, we know we have a private function descriptor,
+ so reference it directly. */
+ if (elf_hash_table (info)->dynamic_sections_created)
+ BFD_ASSERT (entry->privfd);
+ reloc = R_FRV_32;
+ idx = elf_section_data (frv_got_section (info)->output_section)
+ ->dynindx;
+ ad = frv_got_section (info)->output_offset +
+ frv_got_initial_offset (info) + entry->fd_entry;
+ }
+
+ /* If there is room for dynamic symbol resolution, emit the
+ dynamic relocation. However, if we're linking an executable
+ at a fixed location, we won't have emitted a dynamic symbol
+ entry for the got section, so idx will be zero, which means
+ we can and should compute the address of the private
+ descriptor ourselves. */
+ if (info->executable && !info->pie
+ && (entry->symndx != -1 || FRV_FUNCDESC_LOCAL (info, entry->d.h)))
+ {
+ if (entry->symndx == -1
+ && entry->d.h->root.type == bfd_link_hash_undefweak)
+ ad = 0;
+ else
+ {
+ ad += frv_got_section (info)->output_section->vma;
+ _frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
+ frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + entry->fdgot_entry);
+ }
+ }
+ else
+ _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ frv_got_section (info),
+ frv_got_initial_offset (info)
+ + entry->fdgot_entry)
+ + frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset,
+ reloc, idx, ad);
+
+ bfd_put_32 (output_bfd, ad,
+ frv_got_section (info)->contents
+ + frv_got_initial_offset (info)
+ + entry->fdgot_entry);
+ }
+
+ /* Generate relocation to fill in a private function descriptor in
+ the GOT. */
+ if (entry->fd_entry)
+ {
+ int idx = dynindx;
+ bfd_vma ad = addend;
+ bfd_vma ofst;
+ long lowword, highword;
+
+ /* If the symbol is dynamic but binds locally, use
+ section+offset. */
+ if (sec && (entry->symndx != -1 || FRV_SYM_LOCAL (info, entry->d.h)))
+ {
+ if (entry->symndx == -1)
+ ad += entry->d.h->root.u.def.value;
+ else
+ ad += sym->st_value;
+ ad += sec->output_offset;
+ if (sec->output_section && elf_section_data (sec->output_section))
+ idx = elf_section_data (sec->output_section)->dynindx;
+ else
+ idx = 0;
+ }
+
+ /* If we're linking an executable at a fixed address, we can
+ omit the dynamic relocation as long as the symbol is local to
+ this module. */
+ if (info->executable && !info->pie
+ && (entry->symndx != -1 || FRV_SYM_LOCAL (info, entry->d.h)))
+ {
+ if (sec)
+ ad += sec->output_section->vma;
+ ofst = 0;
+ if (entry->symndx != -1 ||
+ entry->d.h->root.type != bfd_link_hash_undefweak)
+ {
+ _frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
+ frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + entry->fd_entry);
+ _frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
+ frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + entry->fd_entry + 4);
+ }
+ }
+ else
+ {
+ ofst =
+ _frv_add_dyn_reloc (output_bfd,
+ entry->lazyplt ? frv_pltrel_section (info)
+ : frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ frv_got_section (info),
+ frv_got_initial_offset (info)
+ + entry->fd_entry)
+ + frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset,
+ R_FRV_FUNCDESC_VALUE, idx, ad);
+ }
+
+ /* If we've omitted the dynamic relocation, just emit the fixed
+ addresses of the symbol and of the local GOT base offset. */
+ if (info->executable && !info->pie && sec && sec->output_section)
+ {
+ lowword = ad;
+ highword = frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info);
+ }
+ else if (entry->lazyplt)
+ {
+ if (ad)
+ return FALSE;
+
+ fd_lazy_rel_offset = ofst;
+
+ /* A function descriptor used for lazy or local resolving is
+ initialized such that its high word contains the output
+ section index in which the PLT entries are located, and
+ the low word contains the address of the lazy PLT entry
+ entry point, that must be within the memory region
+ assigned to that section. */
+ lowword = entry->lzplt_entry + 4
+ + frv_plt_section (info)->output_offset
+ + frv_plt_section (info)->output_section->vma;
+ highword = _frv_osec_to_segment
+ (output_bfd, frv_plt_section (info)->output_section);
+ }
+ else
+ {
+ /* A function descriptor for a local function gets the index
+ of the section. For a non-local function, it's
+ disregarded. */
+ lowword = ad;
+ if (entry->symndx == -1 && entry->d.h->dynindx != -1
+ && entry->d.h->dynindx == idx)
+ highword = 0;
+ else
+ highword = _frv_osec_to_segment (output_bfd, sec->output_section);
+ }
+
+ bfd_put_32 (output_bfd, lowword,
+ frv_got_section (info)->contents
+ + frv_got_initial_offset (info)
+ + entry->fd_entry);
+ bfd_put_32 (output_bfd, highword,
+ frv_got_section (info)->contents
+ + frv_got_initial_offset (info)
+ + entry->fd_entry + 4);
+ }
+
+ /* Generate code for the PLT entry. */
+ if (entry->plt_entry != (bfd_vma) -1)
+ {
+ bfd_byte *plt_code = frv_plt_section (info)->contents + entry->plt_entry;
+
+ BFD_ASSERT (entry->fd_entry);
+
+ /* Figure out what kind of PLT entry we need, depending on the
+ location of the function descriptor within the GOT. */
+ if (entry->fd_entry >= -(1 << (12 - 1))
+ && entry->fd_entry < (1 << (12 - 1)))
+ {
+ /* lddi @(gr15, fd_entry), gr14 */
+ bfd_put_32 (output_bfd,
+ 0x9cccf000 | (entry->fd_entry & ((1 << 12) - 1)),
+ plt_code);
+ plt_code += 4;
+ }
+ else
+ {
+ if (entry->fd_entry >= -(1 << (16 - 1))
+ && entry->fd_entry < (1 << (16 - 1)))
+ {
+ /* setlos lo(fd_entry), gr14 */
+ bfd_put_32 (output_bfd,
+ 0x9cfc0000
+ | (entry->fd_entry & (((bfd_vma)1 << 16) - 1)),
+ plt_code);
+ plt_code += 4;
+ }
+ else
+ {
+ /* sethi.p hi(fd_entry), gr14
+ setlo lo(fd_entry), gr14 */
+ bfd_put_32 (output_bfd,
+ 0x1cf80000
+ | ((entry->fd_entry >> 16)
+ & (((bfd_vma)1 << 16) - 1)),
+ plt_code);
+ bfd_put_32 (output_bfd,
+ 0x9cf40000
+ | (entry->fd_entry & (((bfd_vma)1 << 16) - 1)),
+ plt_code);
+ plt_code += 8;
+ }
+ /* ldd @(gr14,gr15),gr14 */
+ bfd_put_32 (output_bfd, 0x9c08e14f, plt_code);
+ plt_code += 4;
+ }
+ /* jmpl @(gr14,gr0) */
+ bfd_put_32 (output_bfd, 0x8030e000, plt_code);
+ }
+
+ /* Generate code for the lazy PLT entry. */
+ if (entry->lzplt_entry != (bfd_vma) -1)
+ {
+ bfd_byte *lzplt_code = frv_plt_section (info)->contents
+ + entry->lzplt_entry;
+ bfd_vma resolverStub_addr;
+
+ bfd_put_32 (output_bfd, fd_lazy_rel_offset, lzplt_code);
+ lzplt_code += 4;
+
+ resolverStub_addr = entry->lzplt_entry / FRV_LZPLT_BLOCK_SIZE
+ * FRV_LZPLT_BLOCK_SIZE + FRV_LZPLT_RESOLV_LOC;
+ if (resolverStub_addr >= frv_plt_initial_offset (info))
+ resolverStub_addr = frv_plt_initial_offset (info) - 12;
+
+ if (entry->lzplt_entry == resolverStub_addr)
+ {
+ /* This is a lazy PLT entry that includes a resolver call. */
+ /* ldd @(gr15,gr0), gr4
+ jmpl @(gr4,gr0) */
+ bfd_put_32 (output_bfd, 0x8808f140, lzplt_code);
+ bfd_put_32 (output_bfd, 0x80304000, lzplt_code + 4);
+ }
+ else
+ {
+ /* bra resolverStub */
+ bfd_put_32 (output_bfd,
+ 0xc01a0000
+ | (((resolverStub_addr - entry->lzplt_entry)
+ / 4) & (((bfd_vma)1 << 16) - 1)),
+ lzplt_code);
+ }
+ }
+
+ return TRUE;
+}
+
/* Handle an FRV small data reloc. */
static bfd_reloc_status_type
@@ -555,6 +1559,10 @@ frv_reloc_type_lookup (abfd, code)
return &elf32_frv_howto_table[ (int) R_FRV_NONE];
case BFD_RELOC_32:
+ if (elf_elfheader (abfd)->e_type == ET_EXEC
+ || elf_elfheader (abfd)->e_type == ET_DYN)
+ return &elf32_frv_rel_32_howto;
+ /* Fall through. */
case BFD_RELOC_CTOR:
return &elf32_frv_howto_table[ (int) R_FRV_32];
@@ -585,6 +1593,54 @@ frv_reloc_type_lookup (abfd, code)
case BFD_RELOC_FRV_GPRELLO:
return &elf32_frv_howto_table[ (int) R_FRV_GPRELLO];
+ case BFD_RELOC_FRV_GOT12:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOT12];
+
+ case BFD_RELOC_FRV_GOTHI:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOTHI];
+
+ case BFD_RELOC_FRV_GOTLO:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOTLO];
+
+ case BFD_RELOC_FRV_FUNCDESC:
+ if (elf_elfheader (abfd)->e_type == ET_EXEC
+ || elf_elfheader (abfd)->e_type == ET_DYN)
+ return &elf32_frv_rel_funcdesc_howto;
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOT12:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOT12];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOTHI:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOTHI];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOTLO:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOTLO];
+
+ case BFD_RELOC_FRV_FUNCDESC_VALUE:
+ if (elf_elfheader (abfd)->e_type == ET_EXEC
+ || elf_elfheader (abfd)->e_type == ET_DYN)
+ return &elf32_frv_rel_funcdesc_value_howto;
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_VALUE];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOTOFF12:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOTOFF12];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOTOFFHI:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOTOFFHI];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOTOFFLO:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOTOFFLO];
+
+ case BFD_RELOC_FRV_GOTOFF12:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOTOFF12];
+
+ case BFD_RELOC_FRV_GOTOFFHI:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOTOFFHI];
+
+ case BFD_RELOC_FRV_GOTOFFLO:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOTOFFLO];
+
case BFD_RELOC_VTABLE_INHERIT:
return &elf32_frv_vtinherit_howto;
@@ -621,6 +1677,34 @@ frv_info_to_howto_rela (abfd, cache_ptr, dst)
break;
}
}
+
+/* Set the howto pointer for an FRV ELF REL reloc. */
+static void
+frv_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+ arelent *cache_ptr, Elf_Internal_Rela *dst)
+{
+ unsigned int r_type;
+
+ r_type = ELF32_R_TYPE (dst->r_info);
+ switch (r_type)
+ {
+ case R_FRV_32:
+ cache_ptr->howto = &elf32_frv_rel_32_howto;
+ break;
+
+ case R_FRV_FUNCDESC:
+ cache_ptr->howto = &elf32_frv_rel_funcdesc_howto;
+ break;
+
+ case R_FRV_FUNCDESC_VALUE:
+ cache_ptr->howto = &elf32_frv_rel_funcdesc_value_howto;
+ break;
+
+ default:
+ cache_ptr->howto = NULL;
+ break;
+ }
+}
/* Perform a single relocation. By default we use the standard BFD
routines, but a few relocs, we have to do them ourselves. */
@@ -687,6 +1771,9 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
struct elf_link_hash_entry **sym_hashes;
Elf_Internal_Rela *rel;
Elf_Internal_Rela *relend;
+ unsigned isec_segment, got_segment, plt_segment, gprel_segment,
+ check_segment[2];
+ int silence_segment_error = !(info->shared || info->pie);
if (info->relocatable)
return TRUE;
@@ -695,6 +1782,27 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
sym_hashes = elf_sym_hashes (input_bfd);
relend = relocs + input_section->reloc_count;
+ isec_segment = _frv_osec_to_segment (output_bfd,
+ input_section->output_section);
+ if (frv_got_section (info))
+ got_segment = _frv_osec_to_segment (output_bfd,
+ frv_got_section (info)
+ ->output_section);
+ else
+ got_segment = -1;
+ if (frv_gotfixup_section (info))
+ gprel_segment = _frv_osec_to_segment (output_bfd,
+ frv_gotfixup_section (info)
+ ->output_section);
+ else
+ gprel_segment = -1;
+ if (elf_hash_table (info)->dynamic_sections_created)
+ plt_segment = _frv_osec_to_segment (output_bfd,
+ frv_plt_section (info)
+ ->output_section);
+ else
+ plt_segment = -1;
+
for (rel = relocs; rel < relend; rel ++)
{
reloc_howto_type *howto;
@@ -706,6 +1814,9 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
bfd_reloc_status_type r;
const char * name = NULL;
int r_type;
+ asection *osec;
+ struct frv_pic_relocs_info *picrel;
+ bfd_vma orig_addend = rel->r_addend;
r_type = ELF32_R_TYPE (rel->r_info);
@@ -723,7 +1834,7 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
if (r_symndx < symtab_hdr->sh_info)
{
sym = local_syms + r_symndx;
- sec = local_sections [r_symndx];
+ osec = sec = local_sections [r_symndx];
relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
name = bfd_elf_string_from_elf_section
@@ -740,6 +1851,14 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
name = h->root.root.string;
+ if ((h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak)
+ && ! FRV_SYM_LOCAL (info, h))
+ {
+ sec = NULL;
+ relocation = 0;
+ }
+ else
if (h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
{
@@ -752,6 +1871,11 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
{
relocation = 0;
}
+ else if ( ! info->executable
+ && ! info->symbolic
+ && info->unresolved_syms_in_objects == RM_IGNORE
+ && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
+ relocation = 0;
else
{
if (! ((*info->callbacks->undefined_symbol)
@@ -760,6 +1884,464 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
return FALSE;
relocation = 0;
}
+ osec = sec;
+ }
+
+ switch (r_type)
+ {
+ case R_FRV_LABEL24:
+ case R_FRV_32:
+ case R_FRV_GOT12:
+ case R_FRV_GOTHI:
+ case R_FRV_GOTLO:
+ case R_FRV_FUNCDESC_GOT12:
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTLO:
+ case R_FRV_GOTOFF12:
+ case R_FRV_GOTOFFHI:
+ case R_FRV_GOTOFFLO:
+ case R_FRV_FUNCDESC_GOTOFF12:
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ case R_FRV_FUNCDESC:
+ case R_FRV_FUNCDESC_VALUE:
+ if (h != NULL)
+ picrel = frv_pic_relocs_info_for_global (frv_relocs_info (info),
+ input_bfd, h,
+ orig_addend);
+ else
+ /* In order to find the entry we created before, we must
+ use the original addend, not the one that may have been
+ modified by _bfd_elf_rela_local_sym(). */
+ picrel = frv_pic_relocs_info_for_local (frv_relocs_info (info),
+ input_bfd, r_symndx,
+ orig_addend);
+ if (! picrel)
+ return FALSE;
+
+ if (!_frv_emit_got_relocs_plt_entries (picrel, output_bfd, info,
+ osec, sym, rel->r_addend))
+ {
+ info->callbacks->warning
+ (info, _("Dynamic relocation references symbol with nonzero addend"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+
+ }
+
+ break;
+
+ default:
+ picrel = NULL;
+ if (h && ! FRV_SYM_LOCAL (info, h))
+ {
+ info->callbacks->warning
+ (info, _("relocation references symbol not defined in the module"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ break;
+ }
+
+ switch (r_type)
+ {
+ case R_FRV_LABEL24:
+ check_segment[0] = isec_segment;
+ if (picrel->plt)
+ {
+ relocation = frv_plt_section (info)->output_section->vma
+ + frv_plt_section (info)->output_offset
+ + picrel->plt_entry;
+ check_segment[1] = plt_segment;
+ }
+ /* We don't want to warn on calls to undefined weak symbols,
+ as calls to them must be protected by non-NULL tests
+ anyway, and unprotected calls would invoke undefined
+ behavior. */
+ else if (picrel->symndx == -1
+ && picrel->d.h->root.type == bfd_link_hash_undefweak)
+ check_segment[1] = check_segment[0];
+ else
+ check_segment[1] = sec
+ ? _frv_osec_to_segment (output_bfd, sec->output_section)
+ : (unsigned)-1;
+ break;
+
+ case R_FRV_GOT12:
+ case R_FRV_GOTHI:
+ case R_FRV_GOTLO:
+ relocation = picrel->got_entry;
+ check_segment[0] = check_segment[1] = got_segment;
+ break;
+
+ case R_FRV_FUNCDESC_GOT12:
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTLO:
+ relocation = picrel->fdgot_entry;
+ check_segment[0] = check_segment[1] = got_segment;
+ break;
+
+ case R_FRV_GOTOFFHI:
+ case R_FRV_GOTOFF12:
+ case R_FRV_GOTOFFLO:
+ relocation -= frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info);
+ check_segment[0] = got_segment;
+ check_segment[1] = sec
+ ? _frv_osec_to_segment (output_bfd, sec->output_section)
+ : (unsigned)-1;
+ break;
+
+ case R_FRV_FUNCDESC_GOTOFF12:
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ relocation = picrel->fd_entry;
+ check_segment[0] = check_segment[1] = got_segment;
+ break;
+
+ case R_FRV_FUNCDESC:
+ {
+ int dynindx;
+ bfd_vma addend = rel->r_addend;
+
+ /* If the symbol is dynamic and there may be dynamic
+ symbol resolution because we are or are linked with a
+ shared library, emit a FUNCDESC relocation such that
+ the dynamic linker will allocate the function
+ descriptor. */
+ if (h && ! FRV_FUNCDESC_LOCAL (info, h))
+ {
+ if (addend)
+ {
+ info->callbacks->warning
+ (info, _("R_FRV_FUNCDESC references dynamic symbol with nonzero addend"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ dynindx = h->dynindx;
+ }
+ else
+ {
+ /* Otherwise, we know we have a private function
+ descriptor, so reference it directly. */
+ BFD_ASSERT (picrel->privfd);
+ r_type = R_FRV_32;
+ dynindx = elf_section_data (frv_got_section
+ (info)->output_section)->dynindx;
+ addend = frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + picrel->fd_entry;
+ }
+
+ /* If there is room for dynamic symbol resolution, emit
+ the dynamic relocation. However, if we're linking an
+ executable at a fixed location, we won't have emitted a
+ dynamic symbol entry for the got section, so idx will
+ be zero, which means we can and should compute the
+ address of the private descriptor ourselves. */
+ if (info->executable && !info->pie
+ && (!h || FRV_FUNCDESC_LOCAL (info, h)))
+ {
+ addend += frv_got_section (info)->output_section->vma;
+ if ((bfd_get_section_flags (output_bfd,
+ input_section->output_section)
+ & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
+ {
+ if (_frv_osec_readonly_p (output_bfd,
+ input_section->output_section))
+ {
+ info->callbacks->warning
+ (info,
+ _("cannot emit fixups in read-only section"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ if (! h || h->root.type != bfd_link_hash_undefweak)
+ _frv_add_rofixup (output_bfd,
+ frv_gotfixup_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset);
+ }
+ }
+ else if ((bfd_get_section_flags (output_bfd,
+ input_section->output_section)
+ & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
+ {
+ if (_frv_osec_readonly_p (output_bfd,
+ input_section->output_section))
+ {
+ info->callbacks->warning
+ (info,
+ _("cannot emit dynamic relocations in read-only section"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset,
+ r_type, dynindx, addend);
+ }
+
+ /* We want the addend in-place because dynamic
+ relocations are REL. Setting relocation to it should
+ arrange for it to be installed. */
+ relocation = addend - rel->r_addend;
+ }
+ check_segment[0] = check_segment[1] = got_segment;
+ break;
+
+ case R_FRV_32:
+ case R_FRV_FUNCDESC_VALUE:
+ {
+ int dynindx;
+ bfd_vma addend = rel->r_addend;
+
+ /* If the symbol is dynamic but binds locally, use
+ section+offset. */
+ if (h && ! FRV_SYM_LOCAL (info, h))
+ {
+ if (addend && r_type == R_FRV_FUNCDESC_VALUE)
+ {
+ info->callbacks->warning
+ (info, _("R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ dynindx = h->dynindx;
+ }
+ else
+ {
+ if (h)
+ addend += h->root.u.def.value;
+ else
+ addend += sym->st_value;
+ if (osec)
+ addend += osec->output_offset;
+ if (osec && osec->output_section
+ && ! bfd_is_abs_section (osec->output_section)
+ && ! bfd_is_und_section (osec->output_section))
+ dynindx = elf_section_data (osec->output_section)->dynindx;
+ else
+ dynindx = 0;
+ }
+
+ /* If we're linking an executable at a fixed address, we
+ can omit the dynamic relocation as long as the symbol
+ is defined in the current link unit (which is implied
+ by its output section not being NULL). */
+ if (info->executable && !info->pie
+ && (!h || FRV_SYM_LOCAL (info, h)))
+ {
+ if (osec)
+ addend += osec->output_section->vma;
+ if ((elf_elfheader (input_bfd)->e_flags & EF_FRV_FDPIC)
+ && (bfd_get_section_flags (output_bfd,
+ input_section->output_section)
+ & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
+ {
+ if (_frv_osec_readonly_p (output_bfd,
+ input_section->output_section))
+ {
+ info->callbacks->warning
+ (info,
+ _("cannot emit fixups in read-only section"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ if (!h || h->root.type != bfd_link_hash_undefweak)
+ {
+ _frv_add_rofixup (output_bfd,
+ frv_gotfixup_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset);
+ if (r_type == R_FRV_FUNCDESC_VALUE)
+ _frv_add_rofixup
+ (output_bfd,
+ frv_gotfixup_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset + 4);
+ }
+ }
+ }
+ else
+ {
+ if ((bfd_get_section_flags (output_bfd,
+ input_section->output_section)
+ & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
+ {
+ if (_frv_osec_readonly_p (output_bfd,
+ input_section->output_section))
+ {
+ info->callbacks->warning
+ (info,
+ _("cannot emit dynamic relocations in read-only section"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset,
+ r_type, dynindx, addend);
+ }
+ /* We want the addend in-place because dynamic
+ relocations are REL. Setting relocation to it
+ should arrange for it to be installed. */
+ relocation = addend - rel->r_addend;
+ }
+
+ if (r_type == R_FRV_FUNCDESC_VALUE)
+ {
+ /* If we've omitted the dynamic relocation, just emit
+ the fixed addresses of the symbol and of the local
+ GOT base offset. */
+ if (info->executable && !info->pie
+ && (!h || FRV_SYM_LOCAL (info, h)))
+ bfd_put_32 (output_bfd,
+ frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info),
+ contents + rel->r_offset + 4);
+ else
+ /* A function descriptor used for lazy or local
+ resolving is initialized such that its high word
+ contains the output section index in which the
+ PLT entries are located, and the low word
+ contains the offset of the lazy PLT entry entry
+ point into that section. */
+ bfd_put_32 (output_bfd,
+ h && ! FRV_SYM_LOCAL (info, h)
+ ? 0
+ : _frv_osec_to_segment (output_bfd,
+ sec->output_section),
+ contents + rel->r_offset + 4);
+ }
+ }
+ check_segment[0] = check_segment[1] = got_segment;
+ break;
+
+ case R_FRV_GPREL12:
+ case R_FRV_GPRELU12:
+ case R_FRV_GPREL32:
+ case R_FRV_GPRELHI:
+ case R_FRV_GPRELLO:
+ check_segment[0] = gprel_segment;
+ check_segment[1] = sec
+ ? _frv_osec_to_segment (output_bfd, sec->output_section)
+ : (unsigned)-1;
+ break;
+
+ default:
+ check_segment[0] = isec_segment;
+ check_segment[1] = sec
+ ? _frv_osec_to_segment (output_bfd, sec->output_section)
+ : (unsigned)-1;
+ break;
+ }
+
+ if (check_segment[0] != check_segment[1]
+ && (elf_elfheader (output_bfd)->e_flags & EF_FRV_FDPIC))
+ {
+#if 1
+ /* This helps catch problems in GCC while we can't do more
+ than static linking. The idea is to test whether the
+ input file basename is crt0.o only once. */
+ if (silence_segment_error == 1)
+ silence_segment_error =
+ (strlen (input_bfd->filename) == 6
+ && strcmp (input_bfd->filename, "crt0.o") == 0)
+ || (strlen (input_bfd->filename) > 6
+ && strcmp (input_bfd->filename
+ + strlen (input_bfd->filename) - 7,
+ "/crt0.o") == 0)
+ ? -1 : 0;
+#endif
+ if (!silence_segment_error
+ /* We don't want duplicate errors for undefined
+ symbols. */
+ && !(picrel && picrel->symndx == -1
+ && picrel->d.h->root.type == bfd_link_hash_undefined))
+ info->callbacks->warning
+ (info,
+ (info->shared || info->pie)
+ ? _("relocations between different segments are not supported")
+ : _("warning: relocation references a different segment"),
+ name, input_bfd, input_section, rel->r_offset);
+ if (!silence_segment_error && (info->shared || info->pie))
+ return FALSE;
+ elf_elfheader (output_bfd)->e_flags |= EF_FRV_PIC;
+ }
+
+ switch (r_type)
+ {
+ case R_FRV_GOTOFFHI:
+ /* We need the addend to be applied before we shift the
+ value right. */
+ relocation += rel->r_addend;
+ /* Fall through. */
+ case R_FRV_GOTHI:
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ relocation >>= 16;
+ /* Fall through. */
+
+ case R_FRV_GOTLO:
+ case R_FRV_FUNCDESC_GOTLO:
+ case R_FRV_GOTOFFLO:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ relocation &= 0xffff;
+ break;
+
+ default:
+ break;
+ }
+
+ switch (r_type)
+ {
+ case R_FRV_LABEL24:
+ if (! picrel->plt)
+ break;
+ /* Fall through. */
+
+ /* When referencing a GOT entry, a function descriptor or a
+ PLT, we don't want the addend to apply to the reference,
+ but rather to the referenced symbol. The actual entry
+ will have already been created taking the addend into
+ account, so cancel it out here. */
+ case R_FRV_GOT12:
+ case R_FRV_GOTHI:
+ case R_FRV_GOTLO:
+ case R_FRV_FUNCDESC_GOT12:
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTLO:
+ case R_FRV_FUNCDESC_GOTOFF12:
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ /* Note that we only want GOTOFFHI, not GOTOFFLO or GOTOFF12
+ here, since we do want to apply the addend to the others.
+ Note that we've applied the addend to GOTOFFHI before we
+ shifted it right. */
+ case R_FRV_GOTOFFHI:
+ relocation -= rel->r_addend;
+ break;
+
+ default:
+ break;
}
if (r_type == R_FRV_HI16)
@@ -929,9 +2511,1270 @@ elf32_frv_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
return TRUE;
}
+/* Create a .got section, as well as its additional info field. This
+ is almost entirely copied from
+ elflink.c:_bfd_elf_create_got_section(). */
+
+static bfd_boolean
+_frv_create_got_section (bfd *abfd, struct bfd_link_info *info)
+{
+ flagword flags;
+ asection *s;
+ struct elf_link_hash_entry *h;
+ struct bfd_link_hash_entry *bh;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ int ptralign;
+
+ /* This function may be called more than once. */
+ s = bfd_get_section_by_name (abfd, ".got");
+ if (s != NULL && (s->flags & SEC_LINKER_CREATED) != 0)
+ return TRUE;
+
+ /* Machine specific: although pointers are 32-bits wide, we want the
+ GOT to be aligned to a 64-bit boundary, such that function
+ descriptors in it can be accessed with 64-bit loads and
+ stores. */
+ ptralign = 3;
+
+ flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
+ | SEC_LINKER_CREATED);
+
+ s = bfd_make_section (abfd, ".got");
+ if (s == NULL
+ || !bfd_set_section_flags (abfd, s, flags)
+ || !bfd_set_section_alignment (abfd, s, ptralign))
+ return FALSE;
+
+ if (bed->want_got_plt)
+ {
+ s = bfd_make_section (abfd, ".got.plt");
+ if (s == NULL
+ || !bfd_set_section_flags (abfd, s, flags)
+ || !bfd_set_section_alignment (abfd, s, ptralign))
+ return FALSE;
+ }
+
+ if (bed->want_got_sym)
+ {
+ /* Define the symbol _GLOBAL_OFFSET_TABLE_ at the start of the .got
+ (or .got.plt) section. We don't do this in the linker script
+ because we don't want to define the symbol if we are not creating
+ a global offset table. */
+ bh = NULL;
+ if (!(_bfd_generic_link_add_one_symbol
+ (info, abfd, "_GLOBAL_OFFSET_TABLE_", BSF_GLOBAL, s,
+ bed->got_symbol_offset, (const char *) NULL, FALSE,
+ bed->collect, &bh)))
+ return FALSE;
+ h = (struct elf_link_hash_entry *) bh;
+ h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
+ h->type = STT_OBJECT;
+
+ /* Machine-specific: we want the symbol for executables as
+ well. */
+ if (! _bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+
+ elf_hash_table (info)->hgot = h;
+ }
+
+ /* The first bit of the global offset table is the header. */
+ s->_raw_size += bed->got_header_size + bed->got_symbol_offset;
+
+ /* This is the machine-specific part. Create and initialize section
+ data for the got. */
+ frv_got_section (info) = s;
+ frv_relocs_info (info) = htab_try_create (1, frv_pic_relocs_info_hash,
+ frv_pic_relocs_info_eq,
+ (htab_del) NULL);
+ if (! frv_relocs_info (info))
+ return FALSE;
+
+ s = bfd_make_section (abfd, ".rel.got");
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, (flags | SEC_READONLY))
+ || ! bfd_set_section_alignment (abfd, s, 2))
+ return FALSE;
+
+ frv_gotrel_section (info) = s;
+
+ /* Machine-specific. */
+ s = bfd_make_section (abfd, ".rofixup");
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, (flags | SEC_READONLY))
+ || ! bfd_set_section_alignment (abfd, s, 2))
+ return FALSE;
+
+ frv_gotfixup_section (info) = s;
+
+ /* Define _gp in .rofixup, for FDPIC. If it turns out that
+ we're linking with a different linker script, the linker script
+ will override it. */
+ bh = NULL;
+ if (!(_bfd_generic_link_add_one_symbol
+ (info, abfd, "_gp", BSF_GLOBAL, s, -2048, (const char *) NULL, FALSE,
+ bed->collect, &bh)))
+ return FALSE;
+ h = (struct elf_link_hash_entry *) bh;
+ h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
+ h->type = STT_OBJECT;
+
+ /* Machine-specific: we want the symbol for executables as well. */
+ if (! _bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+
+ return TRUE;
+}
+
+/* Make sure the got and plt sections exist, and that our pointers in
+ the link hash table point to them. */
+
+static bfd_boolean
+elf32_frv_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
+{
+ /* This is mostly copied from
+ elflink.c:_bfd_elf_create_dynamic_sections(). */
+ flagword flags, pltflags;
+ asection *s;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+
+ /* We need to create .plt, .rel[a].plt, .got, .got.plt, .dynbss, and
+ .rel[a].bss sections. */
+
+ flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
+ | SEC_LINKER_CREATED);
+
+ pltflags = flags;
+ pltflags |= SEC_CODE;
+ if (bed->plt_not_loaded)
+ pltflags &= ~ (SEC_CODE | SEC_LOAD | SEC_HAS_CONTENTS);
+ if (bed->plt_readonly)
+ pltflags |= SEC_READONLY;
+
+ s = bfd_make_section (abfd, ".plt");
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, pltflags)
+ || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+ return FALSE;
+ /* FRV-specific: remember it. */
+ frv_plt_section (info) = s;
+
+ if (bed->want_plt_sym)
+ {
+ /* Define the symbol _PROCEDURE_LINKAGE_TABLE_ at the start of the
+ .plt section. */
+ struct elf_link_hash_entry *h;
+ struct bfd_link_hash_entry *bh = NULL;
+
+ if (! (_bfd_generic_link_add_one_symbol
+ (info, abfd, "_PROCEDURE_LINKAGE_TABLE_", BSF_GLOBAL, s, 0, NULL,
+ FALSE, get_elf_backend_data (abfd)->collect, &bh)))
+ return FALSE;
+ h = (struct elf_link_hash_entry *) bh;
+ h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
+ h->type = STT_OBJECT;
+
+ if (! info->executable
+ && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
+
+ /* FRV-specific: we want rel relocations for the plt. */
+ s = bfd_make_section (abfd, ".rel.plt");
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, flags | SEC_READONLY)
+ || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+ return FALSE;
+ /* FRV-specific: remember it. */
+ frv_pltrel_section (info) = s;
+
+ /* FRV-specific: we want to create the GOT in the FRV way. */
+ if (! _frv_create_got_section (abfd, info))
+ return FALSE;
+
+ /* FRV-specific: make sure we created everything we wanted. */
+ BFD_ASSERT (frv_got_section (info) && frv_gotrel_section (info)
+ && frv_gotfixup_section (info)
+ && frv_plt_section (info) && frv_pltrel_section (info));
+
+ if (bed->want_dynbss)
+ {
+ /* The .dynbss section is a place to put symbols which are defined
+ by dynamic objects, are referenced by regular objects, and are
+ not functions. We must allocate space for them in the process
+ image and use a R_*_COPY reloc to tell the dynamic linker to
+ initialize them at run time. The linker script puts the .dynbss
+ section into the .bss section of the final image. */
+ s = bfd_make_section (abfd, ".dynbss");
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, SEC_ALLOC | SEC_LINKER_CREATED))
+ return FALSE;
+
+ /* The .rel[a].bss section holds copy relocs. This section is not
+ normally needed. We need to create it here, though, so that the
+ linker will map it to an output section. We can't just create it
+ only if we need it, because we will not know whether we need it
+ until we have seen all the input files, and the first time the
+ main linker code calls BFD after examining all the input files
+ (size_dynamic_sections) the input sections have already been
+ mapped to the output sections. If the section turns out not to
+ be needed, we can discard it later. We will never need this
+ section when generating a shared object, since they do not use
+ copy relocs. */
+ if (! info->shared)
+ {
+ s = bfd_make_section (abfd,
+ (bed->default_use_rela_p
+ ? ".rela.bss" : ".rel.bss"));
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, flags | SEC_READONLY)
+ || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+/* The name of the dynamic interpreter. This is put in the .interp
+ section. */
+
+#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1"
+
+#define DEFAULT_STACK_SIZE 0x20000
+
+/* This structure is used to collect the number of entries present in
+ each addressable range of the got. */
+struct _frv_dynamic_got_info
+{
+ /* Several bits of information about the current link. */
+ struct bfd_link_info *info;
+ /* Total size needed for GOT entries within the 12-, 16- or 32-bit
+ ranges. */
+ bfd_vma got12, gotlos, gothilo;
+ /* Total size needed for function descriptor entries within the 12-,
+ 16- or 32-bit ranges. */
+ bfd_vma fd12, fdlos, fdhilo;
+ /* Total size needed function descriptor entries referenced in PLT
+ entries, that would be profitable to place in offsets close to
+ the PIC register. */
+ bfd_vma fdplt;
+ /* Total size needed by lazy PLT entries. */
+ bfd_vma lzplt;
+ /* Number of relocations carried over from input object files. */
+ unsigned long relocs;
+ /* Number of fixups introduced by relocations in input object files. */
+ unsigned long fixups;
+};
+
+/* Compute the total GOT size required by each symbol in each range.
+ Symbols may require up to 4 words in the GOT: an entry pointing to
+ the symbol, an entry pointing to its function descriptor, and a
+ private function descriptors taking two words. */
+
+static int
+_frv_count_got_plt_entries (void **entryp, void *dinfo_)
+{
+ struct frv_pic_relocs_info *entry = *entryp;
+ struct _frv_dynamic_got_info *dinfo = dinfo_;
+
+ /* Allocate space for a GOT entry pointing to the symbol. */
+ if (entry->got12)
+ dinfo->got12 += 4;
+ else if (entry->gotlos)
+ dinfo->gotlos += 4;
+ else if (entry->gothilo)
+ dinfo->gothilo += 4;
+ else
+ entry->relocs32--;
+ entry->relocs32++;
+
+ /* Allocate space for a GOT entry pointing to the function
+ descriptor. */
+ if (entry->fdgot12)
+ dinfo->got12 += 4;
+ else if (entry->fdgotlos)
+ dinfo->gotlos += 4;
+ else if (entry->fdgothilo)
+ dinfo->gothilo += 4;
+ else
+ entry->relocsfd--;
+ entry->relocsfd++;
+
+ /* Decide whether we need a PLT entry, a function descriptor in the
+ GOT, and a lazy PLT entry for this symbol. */
+ entry->plt = entry->call
+ && entry->symndx == -1 && ! FRV_SYM_LOCAL (dinfo->info, entry->d.h)
+ && elf_hash_table (dinfo->info)->dynamic_sections_created;
+ entry->privfd = entry->plt
+ || entry->fdgoff12 || entry->fdgofflos || entry->fdgoffhilo
+ || ((entry->fd || entry->fdgot12 || entry->fdgotlos || entry->fdgothilo)
+ && (entry->symndx != -1
+ || FRV_FUNCDESC_LOCAL (dinfo->info, entry->d.h)));
+ entry->lazyplt = entry->privfd
+ && entry->symndx == -1 && ! FRV_SYM_LOCAL (dinfo->info, entry->d.h)
+ && ! (dinfo->info->flags & DF_BIND_NOW)
+ && elf_hash_table (dinfo->info)->dynamic_sections_created;
+
+ /* Allocate space for a function descriptor. */
+ if (entry->fdgoff12)
+ dinfo->fd12 += 8;
+ else if (entry->fdgofflos)
+ dinfo->fdlos += 8;
+ else if (entry->privfd && entry->plt)
+ dinfo->fdplt += 8;
+ else if (entry->privfd)
+ dinfo->fdhilo += 8;
+ else
+ entry->relocsfdv--;
+ entry->relocsfdv++;
+
+ if (entry->lazyplt)
+ dinfo->lzplt += 8;
+
+ if (!dinfo->info->executable || dinfo->info->pie)
+ dinfo->relocs += entry->relocs32 + entry->relocsfd + entry->relocsfdv;
+ else
+ {
+ if (entry->symndx != -1 || FRV_SYM_LOCAL (dinfo->info, entry->d.h))
+ {
+ if (entry->symndx != -1
+ || entry->d.h->root.type != bfd_link_hash_undefweak)
+ dinfo->fixups += entry->relocs32 + 2 * entry->relocsfdv;
+ }
+ else
+ dinfo->relocs += entry->relocs32 + entry->relocsfdv;
+ if (entry->symndx != -1 || FRV_FUNCDESC_LOCAL (dinfo->info, entry->d.h))
+ {
+ if (entry->symndx != -1
+ || entry->d.h->root.type != bfd_link_hash_undefweak)
+ dinfo->fixups += entry->relocsfd;
+ }
+ else
+ dinfo->relocs += entry->relocsfd;
+ }
+
+ return 1;
+}
+
+/* This structure is used to assign offsets to got entries, function
+ descriptors, plt entries and lazy plt entries. */
+
+struct _frv_dynamic_got_plt_info
+{
+ /* Summary information collected with _frv_count_got_plt_entries. */
+ struct _frv_dynamic_got_info g;
+
+ /* For each addressable range, we record a MAX (positive) and MIN
+ (negative) value. CUR is used to assign got entries, and it's
+ incremented from an initial positive value to MAX, then from MIN
+ to FDCUR (unless FDCUR wraps around first). FDCUR is used to
+ assign function descriptors, and it's decreased from an initial
+ non-positive value to MIN, then from MAX down to CUR (unless CUR
+ wraps around first). All of MIN, MAX, CUR and FDCUR always point
+ to even words. ODD, if non-zero, indicates an odd word to be
+ used for the next got entry, otherwise CUR is used and
+ incremented by a pair of words, wrapping around when it reaches
+ MAX. FDCUR is decremented (and wrapped) before the next function
+ descriptor is chosen. FDPLT indicates the number of remaining
+ slots that can be used for function descriptors used only by PLT
+ entries. */
+ struct _frv_dynamic_got_alloc_data
+ {
+ bfd_signed_vma max, cur, odd, fdcur, min;
+ bfd_vma fdplt;
+ } got12, gotlos, gothilo;
+};
+
+/* Determine the positive and negative ranges to be used by each
+ offset range in the GOT. FDCUR and CUR, that must be aligned to a
+ double-word boundary, are the minimum (negative) and maximum
+ (positive) GOT offsets already used by previous ranges, except for
+ an ODD entry that may have been left behind. GOT and FD indicate
+ the size of GOT entries and function descriptors that must be
+ placed within the range from -WRAP to WRAP. If there's room left,
+ up to FDPLT bytes should be reserved for additional function
+ descriptors. */
+
+inline static bfd_signed_vma
+_frv_compute_got_alloc_data (struct _frv_dynamic_got_alloc_data *gad,
+ bfd_signed_vma fdcur,
+ bfd_signed_vma odd,
+ bfd_signed_vma cur,
+ bfd_vma got,
+ bfd_vma fd,
+ bfd_vma fdplt,
+ bfd_vma wrap)
+{
+ bfd_signed_vma wrapmin = -wrap;
+
+ /* Start at the given initial points. */
+ gad->fdcur = fdcur;
+ gad->cur = cur;
+
+ /* If we had an incoming odd word and we have any got entries that
+ are going to use it, consume it, otherwise leave gad->odd at
+ zero. We might force gad->odd to zero and return the incoming
+ odd such that it is used by the next range, but then GOT entries
+ might appear to be out of order and we wouldn't be able to
+ shorten the GOT by one word if it turns out to end with an
+ unpaired GOT entry. */
+ if (odd && got)
+ {
+ gad->odd = odd;
+ got -= 4;
+ odd = 0;
+ }
+ else
+ gad->odd = 0;
+
+ /* If we're left with an unpaired GOT entry, compute its location
+ such that we can return it. Otherwise, if got doesn't require an
+ odd number of words here, either odd was already zero in the
+ block above, or it was set to zero because got was non-zero, or
+ got was already zero. In the latter case, we want the value of
+ odd to carry over to the return statement, so we don't want to
+ reset odd unless the condition below is true. */
+ if (got & 4)
+ {
+ odd = cur + got;
+ got += 4;
+ }
+
+ /* Compute the tentative boundaries of this range. */
+ gad->max = cur + got;
+ gad->min = fdcur - fd;
+ gad->fdplt = 0;
+
+ /* If function descriptors took too much space, wrap some of them
+ around. */
+ if (gad->min < wrapmin)
+ {
+ gad->max += wrapmin - gad->min;
+ gad->min = wrapmin;
+ }
+ /* If there is space left and we have function descriptors
+ referenced in PLT entries that could take advantage of shorter
+ offsets, place them here. */
+ else if (fdplt && gad->min > wrapmin)
+ {
+ bfd_vma fds;
+ if ((bfd_vma) (gad->min - wrapmin) < fdplt)
+ fds = gad->min - wrapmin;
+ else
+ fds = fdplt;
+
+ fdplt -= fds;
+ gad->min -= fds;
+ gad->fdplt += fds;
+ }
+
+ /* If GOT entries took too much space, wrap some of them around.
+ This may well cause gad->min to become lower than wrapmin. This
+ will cause a relocation overflow later on, so we don't have to
+ report it here . */
+ if ((bfd_vma) gad->max > wrap)
+ {
+ gad->min -= gad->max - wrap;
+ gad->max = wrap;
+ }
+ /* If there is more space left, try to place some more function
+ descriptors for PLT entries. */
+ else if (fdplt && (bfd_vma) gad->max < wrap)
+ {
+ bfd_vma fds;
+ if ((bfd_vma) (wrap - gad->max) < fdplt)
+ fds = wrap - gad->max;
+ else
+ fds = fdplt;
+
+ fdplt -= fds;
+ gad->max += fds;
+ gad->fdplt += fds;
+ }
+
+ /* If odd was initially computed as an offset past the wrap point,
+ wrap it around. */
+ if (odd > gad->max)
+ odd = gad->min + odd - gad->max;
+
+ /* _frv_get_got_entry() below will always wrap gad->cur if needed
+ before returning, so do it here too. This guarantees that,
+ should cur and fdcur meet at the wrap point, they'll both be
+ equal to min. */
+ if (gad->cur == gad->max)
+ gad->cur = gad->min;
+
+ return odd;
+}
+
+/* Compute the location of the next GOT entry, given the allocation
+ data for a range. */
+
+inline static bfd_signed_vma
+_frv_get_got_entry (struct _frv_dynamic_got_alloc_data *gad)
+{
+ bfd_signed_vma ret;
+
+ if (gad->odd)
+ {
+ /* If there was an odd word left behind, use it. */
+ ret = gad->odd;
+ gad->odd = 0;
+ }
+ else
+ {
+ /* Otherwise, use the word pointed to by cur, reserve the next
+ as an odd word, and skip to the next pair of words, possibly
+ wrapping around. */
+ ret = gad->cur;
+ gad->odd = gad->cur + 4;
+ gad->cur += 8;
+ if (gad->cur == gad->max)
+ gad->cur = gad->min;
+ }
+
+ return ret;
+}
+
+/* Compute the location of the next function descriptor entry in the
+ GOT, given the allocation data for a range. */
+
+inline static bfd_signed_vma
+_frv_get_fd_entry (struct _frv_dynamic_got_alloc_data *gad)
+{
+ /* If we're at the bottom, wrap around, and only then allocate the
+ next pair of words. */
+ if (gad->fdcur == gad->min)
+ gad->fdcur = gad->max;
+ return gad->fdcur -= 8;
+}
+
+/* Assign GOT offsets for every GOT entry and function descriptor.
+ Doing everything in a single pass is tricky. */
+
+static int
+_frv_assign_got_entries (void **entryp, void *info_)
+{
+ struct frv_pic_relocs_info *entry = *entryp;
+ struct _frv_dynamic_got_plt_info *dinfo = info_;
+
+ if (entry->got12)
+ entry->got_entry = _frv_get_got_entry (&dinfo->got12);
+ else if (entry->gotlos)
+ entry->got_entry = _frv_get_got_entry (&dinfo->gotlos);
+ else if (entry->gothilo)
+ entry->got_entry = _frv_get_got_entry (&dinfo->gothilo);
+
+ if (entry->fdgot12)
+ entry->fdgot_entry = _frv_get_got_entry (&dinfo->got12);
+ else if (entry->fdgotlos)
+ entry->fdgot_entry = _frv_get_got_entry (&dinfo->gotlos);
+ else if (entry->fdgothilo)
+ entry->fdgot_entry = _frv_get_got_entry (&dinfo->gothilo);
+
+ if (entry->fdgoff12)
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->got12);
+ else if (entry->plt && dinfo->got12.fdplt)
+ {
+ dinfo->got12.fdplt -= 8;
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->got12);
+ }
+ else if (entry->fdgofflos)
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gotlos);
+ else if (entry->plt && dinfo->gotlos.fdplt)
+ {
+ dinfo->gotlos.fdplt -= 8;
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gotlos);
+ }
+ else if (entry->plt)
+ {
+ dinfo->gothilo.fdplt -= 8;
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gothilo);
+ }
+ else if (entry->privfd)
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gothilo);
+
+ return 1;
+}
+
+/* Assign GOT offsets to private function descriptors used by PLT
+ entries (or referenced by 32-bit offsets), as well as PLT entries
+ and lazy PLT entries. */
+
+static int
+_frv_assign_plt_entries (void **entryp, void *info_)
+{
+ struct frv_pic_relocs_info *entry = *entryp;
+ struct _frv_dynamic_got_plt_info *dinfo = info_;
+
+ /* If this symbol requires a local function descriptor, allocate
+ one. */
+ if (entry->privfd && entry->fd_entry == 0)
+ {
+ if (dinfo->got12.fdplt)
+ {
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->got12);
+ dinfo->got12.fdplt -= 8;
+ }
+ else if (dinfo->gotlos.fdplt)
+ {
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gotlos);
+ dinfo->gotlos.fdplt -= 8;
+ }
+ else
+ {
+ BFD_ASSERT (dinfo->gothilo.fdplt)
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gothilo);
+ dinfo->gothilo.fdplt -= 8;
+ }
+ }
+
+ if (entry->plt)
+ {
+ int size;
+
+ /* We use the section's raw size to mark the location of the
+ next PLT entry. */
+ entry->plt_entry = frv_plt_section (dinfo->g.info)->_raw_size;
+
+ /* Figure out the length of this PLT entry based on the
+ addressing mode we need to reach the function descriptor. */
+ BFD_ASSERT (entry->fd_entry);
+ if (entry->fd_entry >= -(1 << (12 - 1))
+ && entry->fd_entry < (1 << (12 - 1)))
+ size = 8;
+ else if (entry->fd_entry >= -(1 << (16 - 1))
+ && entry->fd_entry < (1 << (16 - 1)))
+ size = 12;
+ else
+ size = 16;
+
+ frv_plt_section (dinfo->g.info)->_raw_size += size;
+ }
+
+ if (entry->lazyplt)
+ {
+ entry->lzplt_entry = dinfo->g.lzplt;
+ dinfo->g.lzplt += 8;
+ /* If this entry is the one that gets the resolver stub, account
+ for the additional instruction. */
+ if (entry->lzplt_entry % FRV_LZPLT_BLOCK_SIZE == FRV_LZPLT_RESOLV_LOC)
+ dinfo->g.lzplt += 4;
+ }
+
+ return 1;
+}
+
+/* Follow indirect and warning hash entries so that each got entry
+ points to the final symbol definition. P must point to a pointer
+ to the hash table we're traversing. Since this traversal may
+ modify the hash table, we set this pointer to NULL to indicate
+ we've made a potentially-destructive change to the hash table, so
+ the traversal must be restarted. */
+static int
+_frv_resolve_final_relocs_info (void **entryp, void *p)
+{
+ struct frv_pic_relocs_info *entry = *entryp;
+ htab_t *htab = p;
+
+ if (entry->symndx == -1)
+ {
+ struct elf_link_hash_entry *h = entry->d.h;
+
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *)h->root.u.i.link;
+
+ if (entry->d.h == h)
+ return 1;
+
+ entry->d.h = h;
+
+ /* If we can't find this entry with the new bfd hash, re-insert
+ it, and get the traversal restarted. */
+ if (! htab_find (*htab, entry))
+ {
+ htab_clear_slot (*htab, entryp);
+ entryp = htab_find_slot (*htab, entry, INSERT);
+ if (! *entryp)
+ *entryp = entry;
+ /* Abort the traversal, since the whole table may have
+ moved, and leave it up to the parent to restart the
+ process. */
+ *(htab_t *)p = NULL;
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+/* Set the sizes of the dynamic sections. */
+
+static bfd_boolean
+elf32_frv_size_dynamic_sections (bfd *output_bfd,
+ struct bfd_link_info *info)
+{
+ bfd *dynobj;
+ asection *s;
+ struct _frv_dynamic_got_plt_info gpinfo;
+ bfd_signed_vma odd;
+ bfd_vma limit;
+
+ dynobj = elf_hash_table (info)->dynobj;
+ BFD_ASSERT (dynobj != NULL);
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ /* Set the contents of the .interp section to the interpreter. */
+ if (info->executable)
+ {
+ s = bfd_get_section_by_name (dynobj, ".interp");
+ BFD_ASSERT (s != NULL);
+ s->_raw_size = sizeof ELF_DYNAMIC_INTERPRETER;
+ s->contents = (bfd_byte *) ELF_DYNAMIC_INTERPRETER;
+ }
+ }
+
+ memset (&gpinfo, 0, sizeof (gpinfo));
+ gpinfo.g.info = info;
+
+ for (;;)
+ {
+ htab_t relocs = frv_relocs_info (info);
+
+ htab_traverse (relocs, _frv_resolve_final_relocs_info, &relocs);
+
+ if (relocs == frv_relocs_info (info))
+ break;
+ }
+
+ htab_traverse (frv_relocs_info (info), _frv_count_got_plt_entries,
+ &gpinfo.g);
+
+ odd = 12;
+ /* Compute the total size taken by entries in the 12-bit and 16-bit
+ ranges, to tell how many PLT function descriptors we can bring
+ into the 12-bit range without causing the 16-bit range to
+ overflow. */
+ limit = odd + gpinfo.g.got12 + gpinfo.g.gotlos
+ + gpinfo.g.fd12 + gpinfo.g.fdlos;
+ if (limit < (bfd_vma)1 << 16)
+ limit = ((bfd_vma)1 << 16) - limit;
+ else
+ limit = 0;
+ if (gpinfo.g.fdplt < limit)
+ limit = gpinfo.g.fdplt;
+
+ /* Determine the ranges of GOT offsets that we can use for each
+ range of addressing modes. */
+ odd = _frv_compute_got_alloc_data (&gpinfo.got12,
+ 0,
+ odd,
+ 16,
+ gpinfo.g.got12,
+ gpinfo.g.fd12,
+ limit,
+ (bfd_vma)1 << (12-1));
+ odd = _frv_compute_got_alloc_data (&gpinfo.gotlos,
+ gpinfo.got12.min,
+ odd,
+ gpinfo.got12.max,
+ gpinfo.g.gotlos,
+ gpinfo.g.fdlos,
+ gpinfo.g.fdplt - gpinfo.got12.fdplt,
+ (bfd_vma)1 << (16-1));
+ odd = _frv_compute_got_alloc_data (&gpinfo.gothilo,
+ gpinfo.gotlos.min,
+ odd,
+ gpinfo.gotlos.max,
+ gpinfo.g.gothilo,
+ gpinfo.g.fdhilo,
+ gpinfo.g.fdplt - gpinfo.got12.fdplt
+ - gpinfo.gotlos.fdplt,
+ (bfd_vma)1 << (32-1));
+
+ /* Now assign (most) GOT offsets. */
+ htab_traverse (frv_relocs_info (info), _frv_assign_got_entries, &gpinfo);
+
+ frv_got_section (info)->_raw_size = gpinfo.gothilo.max - gpinfo.gothilo.min
+ /* If an odd word is the last word of the GOT, we don't need this
+ word to be part of the GOT. */
+ - (odd + 4 == gpinfo.gothilo.max ? 4 : 0);
+ if (frv_got_section (info)->_raw_size == 0)
+ frv_got_section (info)->flags |= SEC_EXCLUDE;
+ else if (frv_got_section (info)->_raw_size == 12
+ && ! elf_hash_table (info)->dynamic_sections_created)
+ {
+ frv_got_section (info)->flags |= SEC_EXCLUDE;
+ frv_got_section (info)->_raw_size = 0;
+ }
+ else
+ {
+ frv_got_section (info)->contents =
+ (bfd_byte *) bfd_zalloc (dynobj, frv_got_section (info)->_raw_size);
+ if (frv_got_section (info)->contents == NULL)
+ return FALSE;
+ }
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ /* Subtract the number of lzplt entries, since those will generate
+ relocations in the pltrel section. */
+ frv_gotrel_section (info)->_raw_size =
+ (gpinfo.g.relocs - gpinfo.g.lzplt / 8)
+ * get_elf_backend_data (output_bfd)->s->sizeof_rel;
+ else
+ BFD_ASSERT (gpinfo.g.relocs == 0);
+ if (frv_gotrel_section (info)->_raw_size == 0)
+ frv_gotrel_section (info)->flags |= SEC_EXCLUDE;
+ else
+ {
+ frv_gotrel_section (info)->contents =
+ (bfd_byte *) bfd_zalloc (dynobj, frv_gotrel_section (info)->_raw_size);
+ if (frv_gotrel_section (info)->contents == NULL)
+ return FALSE;
+ }
+
+ if (elf_elfheader (output_bfd)->e_flags & EF_FRV_FDPIC)
+ frv_gotfixup_section (info)->_raw_size = (gpinfo.g.fixups + 1) * 4;
+ if (frv_gotfixup_section (info)->_raw_size == 0)
+ frv_gotfixup_section (info)->flags |= SEC_EXCLUDE;
+ else
+ {
+ frv_gotfixup_section (info)->contents =
+ (bfd_byte *) bfd_zalloc (dynobj,
+ frv_gotfixup_section (info)->_raw_size);
+ if (frv_gotfixup_section (info)->contents == NULL)
+ return FALSE;
+ }
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ frv_pltrel_section (info)->_raw_size =
+ gpinfo.g.lzplt / 8 * get_elf_backend_data (output_bfd)->s->sizeof_rel;
+ if (frv_pltrel_section (info)->_raw_size == 0)
+ frv_pltrel_section (info)->flags |= SEC_EXCLUDE;
+ else
+ {
+ frv_pltrel_section (info)->contents =
+ (bfd_byte *) bfd_zalloc (dynobj,
+ frv_pltrel_section (info)->_raw_size);
+ if (frv_pltrel_section (info)->contents == NULL)
+ return FALSE;
+ }
+ }
+
+ /* Add 4 bytes for every block of at most 65535 lazy PLT entries,
+ such that there's room for the additional instruction needed to
+ call the resolver. Since _frv_assign_got_entries didn't account
+ for them, our block size is 4 bytes smaller than the real block
+ size. */
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ frv_plt_section (info)->_raw_size = gpinfo.g.lzplt
+ + ((gpinfo.g.lzplt + (FRV_LZPLT_BLOCK_SIZE - 4) - 8)
+ / (FRV_LZPLT_BLOCK_SIZE - 4) * 4);
+ }
+
+ /* Reset it, such that _frv_assign_plt_entries() can use it to
+ actually assign lazy PLT entries addresses. */
+ gpinfo.g.lzplt = 0;
+
+ /* Save information that we're going to need to generate GOT and PLT
+ entries. */
+ frv_got_initial_offset (info) = -gpinfo.gothilo.min;
+
+ if (get_elf_backend_data (output_bfd)->want_got_sym)
+ elf_hash_table (info)->hgot->root.u.def.value
+ += frv_got_initial_offset (info);
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ frv_plt_initial_offset (info) = frv_plt_section (info)->_raw_size;
+
+ htab_traverse (frv_relocs_info (info), _frv_assign_plt_entries, &gpinfo);
+
+ /* Allocate the PLT section contents only after
+ _frv_assign_plt_entries has a chance to add the size of the
+ non-lazy PLT entries. */
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ if (frv_plt_section (info)->_raw_size == 0)
+ frv_plt_section (info)->flags |= SEC_EXCLUDE;
+ else
+ {
+ frv_plt_section (info)->contents =
+ (bfd_byte *) bfd_zalloc (dynobj, frv_plt_section (info)->_raw_size);
+ if (frv_plt_section (info)->contents == NULL)
+ return FALSE;
+ }
+ }
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ if (frv_got_section (info)->_raw_size)
+ if (! bfd_elf32_add_dynamic_entry (info, DT_PLTGOT, 0))
+ return FALSE;
+
+ if (frv_pltrel_section (info)->_raw_size)
+ if (! bfd_elf32_add_dynamic_entry (info, DT_PLTRELSZ, 0)
+ || ! bfd_elf32_add_dynamic_entry (info, DT_PLTREL, DT_REL)
+ || ! bfd_elf32_add_dynamic_entry (info, DT_JMPREL, 0))
+ return FALSE;
+
+ if (frv_gotrel_section (info)->_raw_size)
+ if (! bfd_elf32_add_dynamic_entry (info, DT_REL, 0)
+ || ! bfd_elf32_add_dynamic_entry (info, DT_RELSZ, 0)
+ || ! bfd_elf32_add_dynamic_entry (info, DT_RELENT,
+ sizeof (Elf32_External_Rel)))
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static bfd_boolean
+elf32_frv_always_size_sections (bfd *output_bfd,
+ struct bfd_link_info *info)
+{
+ if (!info->relocatable
+ && elf_elfheader (output_bfd)->e_flags & EF_FRV_FDPIC)
+ {
+ struct elf_link_hash_entry *h;
+ asection *sec;
+
+ /* Force a PT_GNU_STACK segment to be created. */
+ if (! elf_tdata (output_bfd)->stack_flags)
+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
+
+ /* Define __stacksize if it's not defined yet. */
+ h = elf_link_hash_lookup (elf_hash_table (info), "__stacksize",
+ FALSE, FALSE, FALSE);
+ if (! h || h->root.type != bfd_link_hash_defined
+ || h->type != STT_OBJECT
+ || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))
+ {
+ struct bfd_link_hash_entry *bh;
+
+ if (!(_bfd_generic_link_add_one_symbol
+ (info, output_bfd, "__stacksize",
+ BSF_GLOBAL, bfd_abs_section_ptr, DEFAULT_STACK_SIZE,
+ (const char *) NULL, FALSE,
+ get_elf_backend_data (output_bfd)->collect, &bh)))
+ return FALSE;
+
+ h = (struct elf_link_hash_entry *) bh;
+ h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
+ h->type = STT_OBJECT;
+ }
+
+ /* Create a stack section, and set its alignment. */
+ sec = bfd_make_section (output_bfd, ".stack");
+
+ if (sec == NULL
+ || ! bfd_set_section_alignment (output_bfd, sec, 3))
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static bfd_boolean
+elf32_frv_modify_segment_map (bfd *output_bfd,
+ struct bfd_link_info *info)
+{
+ if (elf_elfheader (output_bfd)->e_flags & EF_FRV_FDPIC)
+ {
+ struct elf_segment_map *m;
+
+ for (m = elf_tdata (output_bfd)->segment_map; m != NULL; m = m->next)
+ if (m->p_type == PT_GNU_STACK)
+ break;
+
+ if (m)
+ {
+ asection *sec = bfd_get_section_by_name (output_bfd, ".stack");
+ struct elf_link_hash_entry *h;
+
+ if (sec)
+ {
+ /* Obtain the pointer to the __stacksize symbol. */
+ h = elf_link_hash_lookup (elf_hash_table (info), "__stacksize",
+ FALSE, FALSE, FALSE);
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *)h->root.u.i.link;
+ BFD_ASSERT (h->root.type == bfd_link_hash_defined);
+
+ /* Set the section size from the symbol value. We
+ intentionally ignore the symbol section. */
+ if (h->root.type == bfd_link_hash_defined)
+ sec->_raw_size = h->root.u.def.value;
+ else
+ sec->_raw_size = DEFAULT_STACK_SIZE;
+
+ /* Add the stack section to the PT_GNU_STACK segment,
+ such that its size and alignment requirements make it
+ to the segment. */
+ m->sections[m->count] = sec;
+ m->count++;
+ }
+ }
+ }
+
+ return TRUE;
+}
+
+/* Fill in code and data in dynamic sections. */
+
+static bfd_boolean
+elf32_frv_finish_dynamic_sections (bfd *output_bfd,
+ struct bfd_link_info *info)
+{
+ bfd *dynobj;
+ asection *sdyn;
+
+ dynobj = elf_hash_table (info)->dynobj;
+
+ if (frv_got_section (info))
+ {
+ BFD_ASSERT (frv_gotrel_section (info)->_raw_size
+ == (frv_gotrel_section (info)->reloc_count
+ * sizeof (Elf32_External_Rel)));
+
+ if (frv_gotfixup_section (info))
+ {
+ if (elf_elfheader (output_bfd)->e_flags & EF_FRV_FDPIC)
+ {
+ struct elf_link_hash_entry *hgot = elf_hash_table (info)->hgot;
+ bfd_vma got_value = hgot->root.u.def.value
+ + hgot->root.u.def.section->output_section->vma
+ + hgot->root.u.def.section->output_offset;
+
+ _frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
+ got_value);
+ }
+
+ if (frv_gotfixup_section (info)->_raw_size
+ != (frv_gotfixup_section (info)->reloc_count * 4))
+ {
+ if (!elf_hash_table (info)->dynamic_sections_created)
+ {
+ info->callbacks->warning
+ (info, "no dynamic sections, missing -melf32frvfd?",
+ ".rofixup", NULL, NULL, 0);
+ return FALSE;
+ }
+ BFD_ASSERT (0);
+ }
+ }
+ }
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ BFD_ASSERT (frv_pltrel_section (info)->_raw_size
+ == (frv_pltrel_section (info)->reloc_count
+ * sizeof (Elf32_External_Rel)));
+ }
+
+ sdyn = bfd_get_section_by_name (dynobj, ".dynamic");
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ Elf32_External_Dyn * dyncon;
+ Elf32_External_Dyn * dynconend;
+
+ BFD_ASSERT (sdyn != NULL);
+
+ dyncon = (Elf32_External_Dyn *) sdyn->contents;
+ dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->_raw_size);
+
+ for (; dyncon < dynconend; dyncon++)
+ {
+ Elf_Internal_Dyn dyn;
+
+ bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
+
+ switch (dyn.d_tag)
+ {
+ default:
+ break;
+
+ case DT_PLTGOT:
+ dyn.d_un.d_ptr = frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info);
+ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
+ break;
+
+ case DT_JMPREL:
+ dyn.d_un.d_ptr = frv_pltrel_section (info)->output_section->vma
+ + frv_pltrel_section (info)->output_offset;
+ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
+ break;
+
+ case DT_PLTRELSZ:
+ if (frv_pltrel_section (info)->_cooked_size != 0)
+ dyn.d_un.d_val = frv_pltrel_section (info)->_cooked_size;
+ else
+ dyn.d_un.d_val = frv_pltrel_section (info)->_raw_size;
+ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
+ break;
+ }
+ }
+ }
+
+ return TRUE;
+}
+
+/* Adjust a symbol defined by a dynamic object and referenced by a
+ regular object. */
+
+static bfd_boolean
+elf32_frv_adjust_dynamic_symbol (struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ struct elf_link_hash_entry *h ATTRIBUTE_UNUSED)
+{
+ bfd * dynobj;
+
+ dynobj = elf_hash_table (info)->dynobj;
+
+ /* Make sure we know what is going on here. */
+ BFD_ASSERT (dynobj != NULL
+ && (h->weakdef != NULL
+ || ((h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_DYNAMIC) != 0
+ && (h->elf_link_hash_flags
+ & ELF_LINK_HASH_REF_REGULAR) != 0
+ && (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_REGULAR) == 0)));
+
+ /* If this is a weak symbol, and there is a real definition, the
+ processor independent code will have arranged for us to see the
+ real definition first, and we can just use the same value. */
+ if (h->weakdef != NULL)
+ {
+ BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined
+ || h->weakdef->root.type == bfd_link_hash_defweak);
+ h->root.u.def.section = h->weakdef->root.u.def.section;
+ h->root.u.def.value = h->weakdef->root.u.def.value;
+ }
+
+ return TRUE;
+}
+
+/* Perform any actions needed for dynamic symbols. */
+
+static bfd_boolean
+elf32_frv_finish_dynamic_symbol (bfd *output_bfd ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ struct elf_link_hash_entry *h ATTRIBUTE_UNUSED,
+ Elf_Internal_Sym *sym ATTRIBUTE_UNUSED)
+{
+ return TRUE;
+}
+
/* Look through the relocs for a section during the first phase.
- Since we don't do .gots or .plts, we just need to consider the
- virtual table relocs for gc. */
+
+ Besides handling virtual table relocs for gc, we have to deal with
+ all sorts of PIC-related relocations. We describe below the
+ general plan on how to handle such relocations, even though we only
+ collect information at this point, storing them in hash tables for
+ perusal of later passes.
+
+ 32 relocations are propagated to the linker output when creating
+ position-independent output. LO16 and HI16 relocations are not
+ supposed to be encountered in this case.
+
+ LABEL16 should always be resolvable by the linker, since it's only
+ used by branches.
+
+ LABEL24, on the other hand, is used by calls. If it turns out that
+ the target of a call is a dynamic symbol, a PLT entry must be
+ created for it, which triggers the creation of a private function
+ descriptor and, unless lazy binding is disabled, a lazy PLT entry.
+
+ GPREL relocations require the referenced symbol to be in the same
+ segment as _gp, but this can only be checked later.
+
+ All GOT, GOTOFF and FUNCDESC relocations require a .got section to
+ exist. LABEL24 might as well, since it may require a PLT entry,
+ that will require a got.
+
+ Non-FUNCDESC GOT relocations require a GOT entry to be created
+ regardless of whether the symbol is dynamic. However, since a
+ global symbol that turns out to not be exported may have the same
+ address of a non-dynamic symbol, we don't assign GOT entries at
+ this point, such that we can share them in this case. A relocation
+ for the GOT entry always has to be created, be it to offset a
+ private symbol by the section load address, be it to get the symbol
+ resolved dynamically.
+
+ FUNCDESC GOT relocations require a GOT entry to be created, and
+ handled as if a FUNCDESC relocation was applied to the GOT entry in
+ an object file.
+
+ FUNCDESC relocations referencing a symbol that turns out to NOT be
+ dynamic cause a private function descriptor to be created. The
+ FUNCDESC relocation then decays to a 32 relocation that points at
+ the private descriptor. If the symbol is dynamic, the FUNCDESC
+ relocation is propagated to the linker output, such that the
+ dynamic linker creates the canonical descriptor, pointing to the
+ dynamically-resolved definition of the function.
+
+ Non-FUNCDESC GOTOFF relocations must always refer to non-dynamic
+ symbols that are assigned to the same segment as the GOT, but we
+ can only check this later, after we know the complete set of
+ symbols defined and/or exported.
+
+ FUNCDESC GOTOFF relocations require a function descriptor to be
+ created and, unless lazy binding is disabled or the symbol is not
+ dynamic, a lazy PLT entry. Since we can't tell at this point
+ whether a symbol is going to be dynamic, we have to decide later
+ whether to create a lazy PLT entry or bind the descriptor directly
+ to the private function.
+
+ FUNCDESC_VALUE relocations are not supposed to be present in object
+ files, but they may very well be simply propagated to the linker
+ output, since they have no side effect.
+
+
+ A function descriptor always requires a FUNCDESC_VALUE relocation.
+ Whether it's in .plt.rel or not depends on whether lazy binding is
+ enabled and on whether the referenced symbol is dynamic.
+
+ The existence of a lazy PLT requires the resolverStub lazy PLT
+ entry to be present.
+
+
+ As for assignment of GOT, PLT and lazy PLT entries, and private
+ descriptors, we might do them all sequentially, but we can do
+ better than that. For example, we can place GOT entries and
+ private function descriptors referenced using 12-bit operands
+ closer to the PIC register value, such that these relocations don't
+ overflow. Those that are only referenced with LO16 relocations
+ could come next, but we may as well place PLT-required function
+ descriptors in the 12-bit range to make them shorter. Symbols
+ referenced with LO16/HI16 may come next, but we may place
+ additional function descriptors in the 16-bit range if we can
+ reliably tell that we've already placed entries that are ever
+ referenced with only LO16. PLT entries are therefore generated as
+ small as possible, while not introducing relocation overflows in
+ GOT or FUNCDESC_GOTOFF relocations. Lazy PLT entries could be
+ generated before or after PLT entries, but not intermingled with
+ them, such that we can have more lazy PLT entries in range for a
+ branch to the resolverStub. The resolverStub should be emitted at
+ the most distant location from the first lazy PLT entry such that
+ it's still in range for a branch, or closer, if there isn't a need
+ for so many lazy PLT entries. Additional lazy PLT entries may be
+ emitted after the resolverStub, as long as branches are still in
+ range. If the branch goes out of range, longer lazy PLT entries
+ are emitted.
+
+ We could further optimize PLT and lazy PLT entries by giving them
+ priority in assignment to closer-to-gr17 locations depending on the
+ number of occurrences of references to them (assuming a function
+ that's called more often is more important for performance, so its
+ PLT entry should be faster), or taking hints from the compiler.
+ Given infinite time and money... :-) */
static bfd_boolean
elf32_frv_check_relocs (abfd, info, sec, relocs)
@@ -944,6 +3787,8 @@ elf32_frv_check_relocs (abfd, info, sec, relocs)
struct elf_link_hash_entry **sym_hashes, **sym_hashes_end;
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
+ bfd *dynobj;
+ struct frv_pic_relocs_info *picrel;
if (info->relocatable)
return TRUE;
@@ -954,6 +3799,7 @@ elf32_frv_check_relocs (abfd, info, sec, relocs)
if (!elf_bad_symtab (abfd))
sym_hashes_end -= symtab_hdr->sh_info;
+ dynobj = elf_hash_table (info)->dynobj;
rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++)
{
@@ -967,7 +3813,114 @@ elf32_frv_check_relocs (abfd, info, sec, relocs)
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
switch (ELF32_R_TYPE (rel->r_info))
+ {
+ case R_FRV_LABEL24:
+ case R_FRV_32:
+ case R_FRV_GOT12:
+ case R_FRV_GOTHI:
+ case R_FRV_GOTLO:
+ case R_FRV_FUNCDESC_GOT12:
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTLO:
+ case R_FRV_GOTOFF12:
+ case R_FRV_GOTOFFHI:
+ case R_FRV_GOTOFFLO:
+ case R_FRV_FUNCDESC_GOTOFF12:
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ case R_FRV_FUNCDESC:
+ case R_FRV_FUNCDESC_VALUE:
+ if (! dynobj)
+ {
+ elf_hash_table (info)->dynobj = dynobj = abfd;
+ if (! _frv_create_got_section (abfd, info))
+ return FALSE;
+ }
+ if (h != NULL)
+ {
+ if (h->dynindx == -1)
+ switch (ELF_ST_VISIBILITY (h->other))
+ {
+ case STV_INTERNAL:
+ case STV_HIDDEN:
+ break;
+ default:
+ bfd_elf32_link_record_dynamic_symbol (info, h);
+ break;
+ }
+ picrel
+ = frv_pic_relocs_info_for_global (frv_relocs_info (info),
+ abfd, h,
+ rel->r_addend);
+ }
+ else
+ picrel = frv_pic_relocs_info_for_local (frv_relocs_info (info),
+ abfd, r_symndx,
+ rel->r_addend);
+ if (! picrel)
+ return FALSE;
+ break;
+
+ default:
+ picrel = NULL;
+ break;
+ }
+
+ switch (ELF32_R_TYPE (rel->r_info))
{
+ case R_FRV_LABEL24:
+ picrel->call = 1;
+ break;
+
+ case R_FRV_FUNCDESC_VALUE:
+ picrel->relocsfdv++;
+ if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
+ picrel->relocs32--;
+ /* Fall through. */
+ case R_FRV_32:
+ picrel->sym = 1;
+ if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
+ picrel->relocs32++;
+ break;
+
+ case R_FRV_GOT12:
+ picrel->got12 = 1;
+ break;
+
+ case R_FRV_GOTHI:
+ case R_FRV_GOTLO:
+ picrel->gothilo = 1;
+ break;
+
+ case R_FRV_FUNCDESC_GOT12:
+ picrel->fdgot12 = 1;
+ break;
+
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTLO:
+ picrel->fdgothilo = 1;
+ break;
+
+ case R_FRV_GOTOFF12:
+ case R_FRV_GOTOFFHI:
+ case R_FRV_GOTOFFLO:
+ picrel->gotoff = 1;
+ break;
+
+ case R_FRV_FUNCDESC_GOTOFF12:
+ picrel->fdgoff12 = 1;
+ break;
+
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ picrel->fdgoffhilo = 1;
+ break;
+
+ case R_FRV_FUNCDESC:
+ picrel->fd = 1;
+ picrel->relocsfd++;
+ break;
+
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_FRV_GNU_VTINHERIT:
@@ -1067,6 +4020,9 @@ frv_elf_merge_private_bfd_data (ibfd, obfd)
new_flags = elf_elfheader (ibfd)->e_flags;
old_flags = elf_elfheader (obfd)->e_flags;
+ if (new_flags & EF_FRV_FDPIC)
+ new_flags &= ~EF_FRV_PIC;
+
#ifdef DEBUG
(*_bfd_error_handler) ("old_flags = 0x%.8lx, new_flags = 0x%.8lx, init = %s, filename = %s",
old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no",
@@ -1369,6 +4325,12 @@ frv_elf_print_private_bfd_data (abfd, ptr)
if (flags & EF_FRV_BIGPIC)
fprintf (file, " -fPIC");
+ if (flags & EF_FRV_LIBPIC)
+ fprintf (file, " -mlibrary-pic");
+
+ if (flags & EF_FRV_FDPIC)
+ fprintf (file, " -mfdpic");
+
if (flags & EF_FRV_NON_PIC_RELOCS)
fprintf (file, " non-pic relocations");
@@ -1387,7 +4349,7 @@ frv_elf_print_private_bfd_data (abfd, ptr)
#define TARGET_BIG_SYM bfd_elf32_frv_vec
#define TARGET_BIG_NAME "elf32-frv"
-#define elf_info_to_howto_rel NULL
+#define elf_info_to_howto_rel frv_info_to_howto_rel
#define elf_info_to_howto frv_info_to_howto_rela
#define elf_backend_relocate_section elf32_frv_relocate_section
#define elf_backend_gc_mark_hook elf32_frv_gc_mark_hook
@@ -1405,4 +4367,33 @@ frv_elf_print_private_bfd_data (abfd, ptr)
#define bfd_elf32_bfd_merge_private_bfd_data frv_elf_merge_private_bfd_data
#define bfd_elf32_bfd_print_private_bfd_data frv_elf_print_private_bfd_data
+#define bfd_elf32_bfd_link_hash_table_create frv_elf_link_hash_table_create
+#define elf_backend_always_size_sections \
+ elf32_frv_always_size_sections
+#define elf_backend_modify_segment_map \
+ elf32_frv_modify_segment_map
+
+#define elf_backend_create_dynamic_sections \
+ elf32_frv_create_dynamic_sections
+#define elf_backend_adjust_dynamic_symbol \
+ elf32_frv_adjust_dynamic_symbol
+#define elf_backend_size_dynamic_sections \
+ elf32_frv_size_dynamic_sections
+#define elf_backend_finish_dynamic_symbol \
+ elf32_frv_finish_dynamic_symbol
+#define elf_backend_finish_dynamic_sections \
+ elf32_frv_finish_dynamic_sections
+
+#define elf_backend_want_got_sym 1
+#define elf_backend_got_header_size 0
+#define elf_backend_want_got_plt 0
+#define elf_backend_plt_readonly 1
+#define elf_backend_want_plt_sym 0
+#define elf_backend_plt_header_size 0
+
+#define elf_backend_may_use_rel_p 1
+#define elf_backend_may_use_rela_p 1
+/* We use REL for dynamic relocations only. */
+#define elf_backend_default_use_rela_p 1
+
#include "elf32-target.h"
diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c
index 18d87d45002..c803af176e9 100644
--- a/bfd/elf32-h8300.c
+++ b/bfd/elf32-h8300.c
@@ -1,5 +1,5 @@
/* BFD back-end for Renesas H8/300 ELF binaries.
- Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2003
+ Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -30,23 +30,23 @@ static void elf32_h8_info_to_howto
(bfd *, arelent *, Elf_Internal_Rela *);
static void elf32_h8_info_to_howto_rel
(bfd *, arelent *, Elf_Internal_Rela *);
-static unsigned long elf32_h8_mach
- (flagword);
-static void elf32_h8_final_write_processing
- (bfd *, bfd_boolean);
-static bfd_boolean elf32_h8_object_p
- (bfd *);
-static bfd_boolean elf32_h8_merge_private_bfd_data
- (bfd *, bfd *);
+static unsigned long elf32_h8_mach (flagword);
+static void elf32_h8_final_write_processing (bfd *, bfd_boolean);
+static bfd_boolean elf32_h8_object_p (bfd *);
+static bfd_boolean elf32_h8_merge_private_bfd_data (bfd *, bfd *);
static bfd_boolean elf32_h8_relax_section
(bfd *, asection *, struct bfd_link_info *, bfd_boolean *);
static bfd_boolean elf32_h8_relax_delete_bytes
(bfd *, asection *, bfd_vma, int);
-static bfd_boolean elf32_h8_symbol_address_p
- (bfd *, asection *, bfd_vma);
+static bfd_boolean elf32_h8_symbol_address_p (bfd *, asection *, bfd_vma);
static bfd_byte *elf32_h8_get_relocated_section_contents
(bfd *, struct bfd_link_info *, struct bfd_link_order *,
bfd_byte *, bfd_boolean, asymbol **);
+static asection *elf32_h8_gc_mark_hook
+ (asection *, struct bfd_link_info *, Elf_Internal_Rela *,
+ struct elf_link_hash_entry *, Elf_Internal_Sym *);
+static bfd_boolean elf32_h8_gc_sweep_hook
+ (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *);
static bfd_reloc_status_type elf32_h8_final_link_relocate
(unsigned long, bfd *, bfd *, asection *,
bfd_byte *, bfd_vma, bfd_vma, bfd_vma,
@@ -640,8 +640,8 @@ elf32_h8_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
&& bfd_get_mach (obfd) < bfd_get_mach (ibfd))
{
if (! bfd_set_arch_mach (obfd, bfd_get_arch (ibfd),
- bfd_get_mach (ibfd)))
- return FALSE;
+ bfd_get_mach (ibfd)))
+ return FALSE;
}
return TRUE;
@@ -1010,6 +1010,7 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
if (value >= 0xffffff00u)
{
unsigned char code;
+ unsigned char temp_code;
/* Note that we've changed the relocs, section contents,
etc. */
@@ -1024,18 +1025,29 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
if (code != 0x6a)
abort ();
- code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
+ temp_code = code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
+ if ((temp_code & 0x10) != 0x10)
+ temp_code &= 0xf0;
- if ((code & 0xf0) == 0x00)
- bfd_put_8 (abfd,
- (code & 0xf) | 0x20,
- contents + irel->r_offset - 2);
- else if ((code & 0xf0) == 0x80)
- bfd_put_8 (abfd,
- (code & 0xf) | 0x30,
- contents + irel->r_offset - 2);
- else
- abort ();
+ switch (temp_code)
+ {
+ case 0x00:
+ bfd_put_8 (abfd, (code & 0xf) | 0x20,
+ contents + irel->r_offset - 2);
+ break;
+ case 0x80:
+ bfd_put_8 (abfd, (code & 0xf) | 0x30,
+ contents + irel->r_offset - 2);
+ break;
+ case 0x18:
+ bfd_put_8 (abfd, 0x7f, contents + irel->r_offset - 2);
+ break;
+ case 0x10:
+ bfd_put_8 (abfd, 0x7e, contents + irel->r_offset - 2);
+ break;
+ default:
+ abort ();
+ }
/* Fix the relocation's type. */
irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
@@ -1066,6 +1078,7 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
if (value >= 0xffffff00u)
{
unsigned char code;
+ unsigned char temp_code;
/* Note that we've changed the relocs, section contents,
etc. */
@@ -1080,9 +1093,12 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
if (code != 0x6a)
abort ();
- code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
+ temp_code = code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
+
+ if ((temp_code & 0x30) != 0x30)
+ temp_code &= 0xf0;
- switch (code & 0xf0)
+ switch (temp_code)
{
case 0x20:
bfd_put_8 (abfd, (code & 0xf) | 0x20,
@@ -1092,8 +1108,14 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
bfd_put_8 (abfd, (code & 0xf) | 0x30,
contents + irel->r_offset - 2);
break;
+ case 0x38:
+ bfd_put_8 (abfd, 0x7f, contents + irel->r_offset - 2);
+ break;
+ case 0x30:
+ bfd_put_8 (abfd, 0x7e, contents + irel->r_offset - 2);
+ break;
default:
- abort ();
+ abort();
}
/* Fix the relocation's type. */
@@ -1113,7 +1135,7 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
}
}
- /* FALLTHRU */
+ /* Fall through. */
/* This is a 24/32bit absolute address in a "mov" insn, which may
become a 16-bit absolute address if it is in the right range. */
@@ -1428,6 +1450,42 @@ elf32_h8_get_relocated_section_contents (bfd *output_bfd,
return NULL;
}
+static asection *
+elf32_h8_gc_mark_hook (asection *sec,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ Elf_Internal_Rela *rel ATTRIBUTE_UNUSED,
+ struct elf_link_hash_entry *h,
+ Elf_Internal_Sym *sym)
+{
+ if (h != NULL)
+ {
+ switch (h->root.type)
+ {
+ case bfd_link_hash_defined:
+ case bfd_link_hash_defweak:
+ return h->root.u.def.section;
+
+ case bfd_link_hash_common:
+ return h->root.u.c.p->section;
+
+ default:
+ break;
+ }
+ }
+ else
+ return bfd_section_from_elf_index (sec->owner, sym->st_shndx);
+ return NULL;
+}
+
+static bfd_boolean
+elf32_h8_gc_sweep_hook (bfd *abfd ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ asection *sec ATTRIBUTE_UNUSED,
+ const Elf_Internal_Rela *relocs ATTRIBUTE_UNUSED)
+{
+ return TRUE;
+}
+
#define TARGET_BIG_SYM bfd_elf32_h8300_vec
#define TARGET_BIG_NAME "elf32-h8300"
@@ -1446,6 +1504,8 @@ elf32_h8_get_relocated_section_contents (bfd *output_bfd,
elf32_h8_object_p
#define bfd_elf32_bfd_merge_private_bfd_data \
elf32_h8_merge_private_bfd_data
+#define elf_backend_gc_mark_hook elf32_h8_gc_mark_hook
+#define elf_backend_gc_sweep_hook elf32_h8_gc_sweep_hook
/* ??? when elf_backend_relocate_section is not defined, elf32-target.h
defaults to using _bfd_generic_link_hash_table_create, but
@@ -1457,6 +1517,7 @@ elf32_h8_get_relocated_section_contents (bfd *output_bfd,
/* Use an H8 specific linker, not the ELF generic linker. */
#define elf_backend_relocate_section elf32_h8_relocate_section
#define elf_backend_rela_normal 1
+#define elf_backend_can_gc_sections 1
/* And relaxing stuff. */
#define bfd_elf32_bfd_relax_section elf32_h8_relax_section
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 876efc6ab0c..0a3d83fb5a8 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -1,5 +1,5 @@
/* Intel 80386/80486-specific support for 32-bit ELF
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -346,29 +346,50 @@ elf_i386_is_local_label_name (bfd *abfd, const char *name)
}
/* Support for core dump NOTE sections. */
+
static bfd_boolean
elf_i386_grok_prstatus (bfd *abfd, Elf_Internal_Note *note)
{
int offset;
size_t raw_size;
- switch (note->descsz)
+ if (note->namesz == 8 && strcmp (note->namedata, "FreeBSD") == 0)
{
- default:
- return FALSE;
+ int pr_version = bfd_get_32 (abfd, note->descdata);
+
+ if (pr_version != 1)
+ return FALSE;
+
+ /* pr_cursig */
+ elf_tdata (abfd)->core_signal = bfd_get_32 (abfd, note->descdata + 20);
+
+ /* pr_pid */
+ elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 24);
+
+ /* pr_reg */
+ offset = 28;
+ raw_size = bfd_get_32 (abfd, note->descdata + 8);
+ }
+ else
+ {
+ switch (note->descsz)
+ {
+ default:
+ return FALSE;
- case 144: /* Linux/i386 */
- /* pr_cursig */
- elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12);
+ case 144: /* Linux/i386 */
+ /* pr_cursig */
+ elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12);
- /* pr_pid */
- elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 24);
+ /* pr_pid */
+ elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 24);
- /* pr_reg */
- offset = 72;
- raw_size = 68;
+ /* pr_reg */
+ offset = 72;
+ raw_size = 68;
- break;
+ break;
+ }
}
/* Make a ".reg/999" section. */
@@ -379,22 +400,36 @@ elf_i386_grok_prstatus (bfd *abfd, Elf_Internal_Note *note)
static bfd_boolean
elf_i386_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
{
- switch (note->descsz)
+ if (note->namesz == 8 && strcmp (note->namedata, "FreeBSD") == 0)
{
- default:
+ int pr_version = bfd_get_32 (abfd, note->descdata);
+
+ if (pr_version != 1)
return FALSE;
- case 124: /* Linux/i386 elf_prpsinfo */
- elf_tdata (abfd)->core_program
- = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16);
- elf_tdata (abfd)->core_command
- = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80);
+ elf_tdata (abfd)->core_program
+ = _bfd_elfcore_strndup (abfd, note->descdata + 8, 17);
+ elf_tdata (abfd)->core_command
+ = _bfd_elfcore_strndup (abfd, note->descdata + 25, 81);
+ }
+ else
+ {
+ switch (note->descsz)
+ {
+ default:
+ return FALSE;
+
+ case 124: /* Linux/i386 elf_prpsinfo. */
+ elf_tdata (abfd)->core_program
+ = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16);
+ elf_tdata (abfd)->core_command
+ = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80);
+ }
}
/* Note that for some reason, a spurious space is tacked
onto the end of the args in some (at least one anyway)
implementations, so strip it off if it exists. */
-
{
char *command = elf_tdata (abfd)->core_command;
int n = strlen (command);
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index 90609c5c08b..1c7fed92baa 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -817,26 +817,27 @@ elf_m68k_gc_sweep_hook (abfd, info, sec, relocs)
struct elf_link_hash_entry **sym_hashes;
bfd_signed_vma *local_got_refcounts;
const Elf_Internal_Rela *rel, *relend;
- unsigned long r_symndx;
- struct elf_link_hash_entry *h;
bfd *dynobj;
asection *sgot;
asection *srelgot;
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- sym_hashes = elf_sym_hashes (abfd);
- local_got_refcounts = elf_local_got_refcounts (abfd);
-
dynobj = elf_hash_table (info)->dynobj;
if (dynobj == NULL)
return TRUE;
+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+ sym_hashes = elf_sym_hashes (abfd);
+ local_got_refcounts = elf_local_got_refcounts (abfd);
+
sgot = bfd_get_section_by_name (dynobj, ".got");
srelgot = bfd_get_section_by_name (dynobj, ".rela.got");
relend = relocs + sec->reloc_count;
for (rel = relocs; rel < relend; rel++)
{
+ unsigned long r_symndx;
+ struct elf_link_hash_entry *h;
+
switch (ELF32_R_TYPE (rel->r_info))
{
case R_68K_GOT8:
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c
index 27b1c4b0b4d..a0480f09700 100644
--- a/bfd/elf32-mips.c
+++ b/bfd/elf32-mips.c
@@ -1513,10 +1513,6 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#define ELF_ARCH bfd_arch_mips
#define ELF_MACHINE_CODE EM_MIPS
-/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
- a value of 0x1000, and we are compatible. */
-#define ELF_MAXPAGESIZE 0x1000
-
#define elf_backend_collect TRUE
#define elf_backend_type_change_ok TRUE
#define elf_backend_can_gc_sections TRUE
@@ -1594,20 +1590,29 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#define TARGET_BIG_SYM bfd_elf32_bigmips_vec
#define TARGET_BIG_NAME "elf32-bigmips"
+/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
+ a value of 0x1000, and we are compatible. */
+#define ELF_MAXPAGESIZE 0x1000
+
#include "elf32-target.h"
/* Support for traditional mips targets. */
-#define INCLUDED_TARGET_FILE /* More a type of flag. */
-
#undef TARGET_LITTLE_SYM
#undef TARGET_LITTLE_NAME
#undef TARGET_BIG_SYM
#undef TARGET_BIG_NAME
+#undef ELF_MAXPAGESIZE
+
#define TARGET_LITTLE_SYM bfd_elf32_tradlittlemips_vec
#define TARGET_LITTLE_NAME "elf32-tradlittlemips"
#define TARGET_BIG_SYM bfd_elf32_tradbigmips_vec
#define TARGET_BIG_NAME "elf32-tradbigmips"
+/* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
+ page sizes of up to that limit, so we need to respect it. */
+#define ELF_MAXPAGESIZE 0x10000
+#define elf32_bed elf32_tradbed
+
/* Include the target file again for this target. */
#include "elf32-target.h"
diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c
index f77f22c7c35..c20e403588d 100644
--- a/bfd/elf32-sparc.c
+++ b/bfd/elf32-sparc.c
@@ -502,6 +502,35 @@ sparc_elf_lox10_reloc (abfd,
return bfd_reloc_ok;
}
+/* Support for core dump NOTE sections. */
+
+static bfd_boolean
+elf32_sparc_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
+{
+ switch (note->descsz)
+ {
+ default:
+ return FALSE;
+
+ case 260: /* Solaris prpsinfo_t. */
+ elf_tdata (abfd)->core_program
+ = _bfd_elfcore_strndup (abfd, note->descdata + 84, 16);
+ elf_tdata (abfd)->core_command
+ = _bfd_elfcore_strndup (abfd, note->descdata + 100, 80);
+ break;
+
+ case 336: /* Solaris psinfo_t. */
+ elf_tdata (abfd)->core_program
+ = _bfd_elfcore_strndup (abfd, note->descdata + 88, 16);
+ elf_tdata (abfd)->core_command
+ = _bfd_elfcore_strndup (abfd, note->descdata + 104, 80);
+ break;
+ }
+
+ return TRUE;
+}
+
+
/* Functions for the SPARC ELF linker. */
/* The name of the dynamic interpreter. This is put in the .interp
@@ -3451,6 +3480,7 @@ elf32_sparc_reloc_type_class (rela)
elf32_sparc_final_write_processing
#define elf_backend_gc_mark_hook elf32_sparc_gc_mark_hook
#define elf_backend_gc_sweep_hook elf32_sparc_gc_sweep_hook
+#define elf_backend_grok_psinfo elf32_sparc_grok_psinfo
#define elf_backend_reloc_type_class elf32_sparc_reloc_type_class
#define elf_backend_can_gc_sections 1
diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c
index c37ca005f01..e085e3509fc 100644
--- a/bfd/elf32-vax.c
+++ b/bfd/elf32-vax.c
@@ -892,20 +892,21 @@ elf_vax_gc_sweep_hook (abfd, info, sec, relocs)
Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel, *relend;
- unsigned long r_symndx;
- struct elf_link_hash_entry *h;
bfd *dynobj;
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- sym_hashes = elf_sym_hashes (abfd);
-
dynobj = elf_hash_table (info)->dynobj;
if (dynobj == NULL)
return TRUE;
+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+ sym_hashes = elf_sym_hashes (abfd);
+
relend = relocs + sec->reloc_count;
for (rel = relocs; rel < relend; rel++)
{
+ unsigned long r_symndx;
+ struct elf_link_hash_entry *h;
+
switch (ELF32_R_TYPE (rel->r_info))
{
case R_VAX_GOT32:
diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c
index ca0ed6ea43a..71c3425eaa8 100644
--- a/bfd/elf64-mips.c
+++ b/bfd/elf64-mips.c
@@ -2676,11 +2676,6 @@ const struct elf_size_info mips_elf64_size_info =
#define ELF_ARCH bfd_arch_mips
#define ELF_MACHINE_CODE EM_MIPS
-/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
- a value of 0x1000, and we are compatible.
- FIXME: How does this affect NewABI? */
-#define ELF_MAXPAGESIZE 0x1000
-
#define elf_backend_collect TRUE
#define elf_backend_type_change_ok TRUE
#define elf_backend_can_gc_sections TRUE
@@ -2791,9 +2786,12 @@ extern bfd_boolean bfd_elf64_archive_write_armap
#define TARGET_BIG_SYM bfd_elf64_bigmips_vec
#define TARGET_BIG_NAME "elf64-bigmips"
-#include "elf64-target.h"
+/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
+ a value of 0x1000, and we are compatible.
+ FIXME: How does this affect NewABI? */
+#define ELF_MAXPAGESIZE 0x1000
-#define INCLUDED_TARGET_FILE /* More a type of flag. */
+#include "elf64-target.h"
/* The SYSV-style 'traditional' (n)64 NewABI. */
#undef TARGET_LITTLE_SYM
@@ -2801,10 +2799,17 @@ extern bfd_boolean bfd_elf64_archive_write_armap
#undef TARGET_BIG_SYM
#undef TARGET_BIG_NAME
+#undef ELF_MAXPAGESIZE
+
#define TARGET_LITTLE_SYM bfd_elf64_tradlittlemips_vec
#define TARGET_LITTLE_NAME "elf64-tradlittlemips"
#define TARGET_BIG_SYM bfd_elf64_tradbigmips_vec
#define TARGET_BIG_NAME "elf64-tradbigmips"
+/* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
+ page sizes of up to that limit, so we need to respect it. */
+#define ELF_MAXPAGESIZE 0x10000
+#define elf64_bed elf64_tradbed
+
/* Include the target file again for this target. */
#include "elf64-target.h"
diff --git a/bfd/elflink.h b/bfd/elflink.h
index f558e1c51ac..c37d7398d01 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -5801,7 +5801,10 @@ elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
|| info->emitrelocations
|| !is_elf_hash_table (info->hash)
|| elf_hash_table (info)->dynamic_sections_created)
- return TRUE;
+ {
+ (*_bfd_error_handler)(_("Warning: gc-sections option ignored"));
+ return TRUE;
+ }
/* Apply transitive closure to the vtable entry usage info. */
elf_link_hash_traverse (elf_hash_table (info),
diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c
index 2bfbf625e54..973edd52daf 100644
--- a/bfd/elfn32-mips.c
+++ b/bfd/elfn32-mips.c
@@ -1873,11 +1873,6 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#define ELF_ARCH bfd_arch_mips
#define ELF_MACHINE_CODE EM_MIPS
-/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
- a value of 0x1000, and we are compatible.
- FIXME: How does this affect NewABI? */
-#define ELF_MAXPAGESIZE 0x1000
-
#define elf_backend_collect TRUE
#define elf_backend_type_change_ok TRUE
#define elf_backend_can_gc_sections TRUE
@@ -1959,20 +1954,30 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#define TARGET_BIG_SYM bfd_elf32_nbigmips_vec
#define TARGET_BIG_NAME "elf32-nbigmips"
+/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
+ a value of 0x1000, and we are compatible.
+ FIXME: How does this affect NewABI? */
+#define ELF_MAXPAGESIZE 0x1000
+
#include "elf32-target.h"
/* Support for traditional mips targets using n32 ABI. */
-#define INCLUDED_TARGET_FILE /* More a type of flag. */
-
#undef TARGET_LITTLE_SYM
#undef TARGET_LITTLE_NAME
#undef TARGET_BIG_SYM
#undef TARGET_BIG_NAME
+#undef ELF_MAXPAGESIZE
+
#define TARGET_LITTLE_SYM bfd_elf32_ntradlittlemips_vec
#define TARGET_LITTLE_NAME "elf32-ntradlittlemips"
#define TARGET_BIG_SYM bfd_elf32_ntradbigmips_vec
#define TARGET_BIG_NAME "elf32-ntradbigmips"
+/* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
+ page sizes of up to that limit, so we need to respect it. */
+#define ELF_MAXPAGESIZE 0x10000
+#define elf32_bed elf32_tradbed
+
/* Include the target file again for this target. */
#include "elf32-target.h"
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c
index aba571a415e..c699922154d 100644
--- a/bfd/elfxx-ia64.c
+++ b/bfd/elfxx-ia64.c
@@ -876,6 +876,8 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
if (is_branch)
{
+ bfd_signed_vma offset;
+
reladdr = (sec->output_section->vma
+ sec->output_offset
+ roff) & (bfd_vma) -4;
@@ -911,6 +913,13 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
/* Resize the current section to make room for the new branch. */
trampoff = (sec->_cooked_size + 15) & (bfd_vma) -16;
+
+ /* If trampoline is out of range, there is nothing we
+ can do. */
+ offset = trampoff - (roff & (bfd_vma) -4);
+ if (offset < -0x1000000 || offset > 0x0FFFFF0)
+ continue;
+
amt = trampoff + size;
contents = (bfd_byte *) bfd_realloc (contents, amt);
if (contents == NULL)
@@ -957,14 +966,18 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
}
else
{
+ /* If trampoline is out of range, there is nothing we
+ can do. */
+ offset = f->trampoff - (roff & (bfd_vma) -4);
+ if (offset < -0x1000000 || offset > 0x0FFFFF0)
+ continue;
+
/* Nop out the reloc, since we're finalizing things here. */
irel->r_info = ELFNN_R_INFO (0, R_IA64_NONE);
}
- /* Fix up the existing branch to hit the trampoline. Hope like
- hell this doesn't overflow too. */
- if (elfNN_ia64_install_value (abfd, contents + roff,
- f->trampoff - (roff & (bfd_vma) -4),
+ /* Fix up the existing branch to hit the trampoline. */
+ if (elfNN_ia64_install_value (abfd, contents + roff, offset,
r_type) != bfd_reloc_ok)
goto error_return;
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index df4c0cf36c5..d6ee8f33b43 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -864,6 +864,20 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_FRV_GPREL32",
"BFD_RELOC_FRV_GPRELHI",
"BFD_RELOC_FRV_GPRELLO",
+ "BFD_RELOC_FRV_GOT12",
+ "BFD_RELOC_FRV_GOTHI",
+ "BFD_RELOC_FRV_GOTLO",
+ "BFD_RELOC_FRV_FUNCDESC",
+ "BFD_RELOC_FRV_FUNCDESC_GOT12",
+ "BFD_RELOC_FRV_FUNCDESC_GOTHI",
+ "BFD_RELOC_FRV_FUNCDESC_GOTLO",
+ "BFD_RELOC_FRV_FUNCDESC_VALUE",
+ "BFD_RELOC_FRV_FUNCDESC_GOTOFF12",
+ "BFD_RELOC_FRV_FUNCDESC_GOTOFFHI",
+ "BFD_RELOC_FRV_FUNCDESC_GOTOFFLO",
+ "BFD_RELOC_FRV_GOTOFF12",
+ "BFD_RELOC_FRV_GOTOFFHI",
+ "BFD_RELOC_FRV_GOTOFFLO",
"BFD_RELOC_MN10300_GOTOFF24",
"BFD_RELOC_MN10300_GOT32",
diff --git a/bfd/reloc.c b/bfd/reloc.c
index abbcfca24b2..d3a6534b7c9 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -2139,6 +2139,34 @@ ENUMX
BFD_RELOC_FRV_GPRELHI
ENUMX
BFD_RELOC_FRV_GPRELLO
+ENUMX
+ BFD_RELOC_FRV_GOT12
+ENUMX
+ BFD_RELOC_FRV_GOTHI
+ENUMX
+ BFD_RELOC_FRV_GOTLO
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOT12
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOTHI
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOTLO
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_VALUE
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOTOFF12
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFHI
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFLO
+ENUMX
+ BFD_RELOC_FRV_GOTOFF12
+ENUMX
+ BFD_RELOC_FRV_GOTOFFHI
+ENUMX
+ BFD_RELOC_FRV_GOTOFFLO
ENUMDOC
Fujitsu Frv Relocations.
COMMENT
diff --git a/bfd/version.h b/bfd/version.h
index 85f8fe6b4cd..0e987151d7d 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,3 +1,3 @@
-#define BFD_VERSION_DATE 20031224
+#define BFD_VERSION_DATE 20040113
#define BFD_VERSION @bfd_version@
#define BFD_VERSION_STRING @bfd_version_string@
diff --git a/config-ml.in b/config-ml.in
index 06752b7a67d..b2e4ea9cf97 100644
--- a/config-ml.in
+++ b/config-ml.in
@@ -553,6 +553,7 @@ multi-do:
LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
LDFLAGS="$(LDFLAGS) $${flags}" \
+ MULTIFLAGS="$${flags}" \
DESTDIR="$(DESTDIR)" \
INSTALL="$(INSTALL)" \
INSTALL_DATA="$(INSTALL_DATA)" \
@@ -765,7 +766,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
cd ${ml_dir}/${ml_libdir}
if [ -f ${ml_newsrcdir}/configure ]; then
- ml_recprog="${ml_newsrcdir}/configure --cache-file=../config.cache"
+ ml_recprog="${ml_newsrcdir}/configure"
fi
# find compiler flag corresponding to ${ml_dir}
diff --git a/configure b/configure
index 0c88cf501a3..88d3753ed65 100755
--- a/configure
+++ b/configure
@@ -1265,7 +1265,7 @@ case "${target}" in
;;
ia64*-**-hpux*)
# No gdb or ld support yet.
- noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
+ noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld"
;;
i[3456789]86-*-coff | i[3456789]86-*-elf)
noconfigdirs="$noconfigdirs ${libgcj}"
@@ -2588,7 +2588,9 @@ case "${cache_file}" in
cache_file_option="--cache-file=../${cache_file}" ;;
esac
-host_configargs="${cache_file_option} --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
+# Host dirs don't like to share a cache file either, horribly enough.
+# This seems to be due to autoconf 2.5x stupidity.
+host_configargs="--cache-file=./config.cache --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
target_configargs=${baseargs}
@@ -2612,8 +2614,17 @@ if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib
target_configargs="--with-newlib ${target_configargs}"
fi
+# Different target subdirs use different values of certain variables
+# (notably CXX). Worse, multilibs use *lots* of different values.
+# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
+# it doesn't automatically accept command-line overrides of them.
+# This means it's not safe for target subdirs to share a cache file,
+# which is disgusting, but there you have it. Hopefully this can be
+# fixed in future. It's still worthwhile to use a cache file for each
+# directory. I think.
+
# Pass the appropriate --host, --build, and --cache-file arguments.
-target_configargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
+target_configargs="--cache-file=./config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
# provide a proper gxx_include_dir.
# Note, if you change the default, make sure to fix both here and in
@@ -2826,7 +2837,7 @@ test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
# Extract the first word of "${ncn_tool_prefix}ar", so it can be a program name with args.
set dummy ${ncn_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2830: checking for $ac_word" >&5
+echo "configure:2841: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2859,7 +2870,7 @@ if test -z "$ac_cv_prog_AR" ; then
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2863: checking for $ac_word" >&5
+echo "configure:2874: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2898,7 +2909,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}as", so it can be a program name with args.
set dummy ${ncn_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2902: checking for $ac_word" >&5
+echo "configure:2913: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2931,7 +2942,7 @@ if test -z "$ac_cv_prog_AS" ; then
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2935: checking for $ac_word" >&5
+echo "configure:2946: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2970,7 +2981,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ncn_tool_prefix}dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2974: checking for $ac_word" >&5
+echo "configure:2985: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3003,7 +3014,7 @@ if test -z "$ac_cv_prog_DLLTOOL" ; then
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3007: checking for $ac_word" >&5
+echo "configure:3018: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3042,7 +3053,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}ld", so it can be a program name with args.
set dummy ${ncn_tool_prefix}ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3046: checking for $ac_word" >&5
+echo "configure:3057: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3075,7 +3086,7 @@ if test -z "$ac_cv_prog_LD" ; then
# Extract the first word of "ld", so it can be a program name with args.
set dummy ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3079: checking for $ac_word" >&5
+echo "configure:3090: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3114,7 +3125,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}nm", so it can be a program name with args.
set dummy ${ncn_tool_prefix}nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3118: checking for $ac_word" >&5
+echo "configure:3129: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3147,7 +3158,7 @@ if test -z "$ac_cv_prog_NM" ; then
# Extract the first word of "nm", so it can be a program name with args.
set dummy nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3151: checking for $ac_word" >&5
+echo "configure:3162: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3186,7 +3197,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ncn_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3190: checking for $ac_word" >&5
+echo "configure:3201: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3219,7 +3230,7 @@ if test -z "$ac_cv_prog_RANLIB" ; then
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3223: checking for $ac_word" >&5
+echo "configure:3234: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3258,7 +3269,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}windres", so it can be a program name with args.
set dummy ${ncn_tool_prefix}windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3262: checking for $ac_word" >&5
+echo "configure:3273: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3291,7 +3302,7 @@ if test -z "$ac_cv_prog_WINDRES" ; then
# Extract the first word of "windres", so it can be a program name with args.
set dummy windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3295: checking for $ac_word" >&5
+echo "configure:3306: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3330,7 +3341,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}objcopy", so it can be a program name with args.
set dummy ${ncn_tool_prefix}objcopy; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3334: checking for $ac_word" >&5
+echo "configure:3345: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3363,7 +3374,7 @@ if test -z "$ac_cv_prog_OBJCOPY" ; then
# Extract the first word of "objcopy", so it can be a program name with args.
set dummy objcopy; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3367: checking for $ac_word" >&5
+echo "configure:3378: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3402,7 +3413,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ncn_tool_prefix}objdump; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3406: checking for $ac_word" >&5
+echo "configure:3417: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3435,7 +3446,7 @@ if test -z "$ac_cv_prog_OBJDUMP" ; then
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3439: checking for $ac_word" >&5
+echo "configure:3450: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3484,7 +3495,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}ar", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3488: checking for $ac_word" >&5
+echo "configure:3499: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3517,7 +3528,7 @@ if test -z "$ac_cv_prog_AR_FOR_TARGET" ; then
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3521: checking for $ac_word" >&5
+echo "configure:3532: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3556,7 +3567,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}as", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3560: checking for $ac_word" >&5
+echo "configure:3571: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3589,7 +3600,7 @@ if test -z "$ac_cv_prog_AS_FOR_TARGET" ; then
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3593: checking for $ac_word" >&5
+echo "configure:3604: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3628,7 +3639,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3632: checking for $ac_word" >&5
+echo "configure:3643: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3661,7 +3672,7 @@ if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" ; then
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3665: checking for $ac_word" >&5
+echo "configure:3676: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3700,7 +3711,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}ld", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3704: checking for $ac_word" >&5
+echo "configure:3715: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3733,7 +3744,7 @@ if test -z "$ac_cv_prog_LD_FOR_TARGET" ; then
# Extract the first word of "ld", so it can be a program name with args.
set dummy ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3737: checking for $ac_word" >&5
+echo "configure:3748: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3772,7 +3783,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}nm", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3776: checking for $ac_word" >&5
+echo "configure:3787: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3805,7 +3816,7 @@ if test -z "$ac_cv_prog_NM_FOR_TARGET" ; then
# Extract the first word of "nm", so it can be a program name with args.
set dummy nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3809: checking for $ac_word" >&5
+echo "configure:3820: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3844,7 +3855,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3848: checking for $ac_word" >&5
+echo "configure:3859: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3877,7 +3888,7 @@ if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" ; then
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3881: checking for $ac_word" >&5
+echo "configure:3892: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3916,7 +3927,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}windres", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3920: checking for $ac_word" >&5
+echo "configure:3931: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3949,7 +3960,7 @@ if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" ; then
# Extract the first word of "windres", so it can be a program name with args.
set dummy windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3953: checking for $ac_word" >&5
+echo "configure:3964: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4016,7 +4027,7 @@ RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:4020: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:4031: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
diff --git a/configure.in b/configure.in
index 256748764fb..b286f1aa7ef 100644
--- a/configure.in
+++ b/configure.in
@@ -504,7 +504,7 @@ case "${target}" in
;;
ia64*-**-hpux*)
# No gdb or ld support yet.
- noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
+ noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld"
;;
i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
noconfigdirs="$noconfigdirs ${libgcj}"
@@ -1826,7 +1826,9 @@ case "${cache_file}" in
cache_file_option="--cache-file=../${cache_file}" ;;
esac
-host_configargs="${cache_file_option} --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
+# Host dirs don't like to share a cache file either, horribly enough.
+# This seems to be due to autoconf 2.5x stupidity.
+host_configargs="--cache-file=./config.cache --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
target_configargs=${baseargs}
@@ -1850,8 +1852,17 @@ if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib
target_configargs="--with-newlib ${target_configargs}"
fi
+# Different target subdirs use different values of certain variables
+# (notably CXX). Worse, multilibs use *lots* of different values.
+# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
+# it doesn't automatically accept command-line overrides of them.
+# This means it's not safe for target subdirs to share a cache file,
+# which is disgusting, but there you have it. Hopefully this can be
+# fixed in future. It's still worthwhile to use a cache file for each
+# directory. I think.
+
# Pass the appropriate --host, --build, and --cache-file arguments.
-target_configargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
+target_configargs="--cache-file=./config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
# provide a proper gxx_include_dir.
# Note, if you change the default, make sure to fix both here and in
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a4e5aaf62ea..c5993ee852f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,15343 +1,663 @@
-2003-12-22 Mark Kettenis <kettenis@gnu.org>
+2004-01-12 Andrew Cagney <cagney@redhat.com>
- * dwarf2-frame.c (dwarf2_frame_cache): Don't skip the return
- address column.
+ * exec.h (exec_ops): Make "extern".
-2003-12-21 Jim Blandy <jimb@redhat.com>
+ * mips-tdep.c (mips_pseudo_register_read): Don't return a value,
+ the function is void.
+ (mips_pseudo_register_write): Ditto.
- * breakpoint.c (bpstat_do_actions): To ensure that
- clear_proceed_status doesn't free the command tree we're
- evaluating out from under us, zero the bpstat's pointer to it, and
- take care of freeing it ourselves.
- * cli/cli-script.c (make_cleanup_free_command_lines): Make this
- function externally visible.
- * cli/cli-script.h (make_cleanup_free_command_lines): New
- declaration.
-
-2003-12-20 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c (x86_64_dwarf_regmap): Map the Return Address to
- RIP.
-
-2003-12-18 Michael Chastain <mec.gnu@mindspring.com>
-
- * hppa-tdep.c (hppa_gdbarch_init): Set long double floating
- point type to floatformat_ia64_quad_big.
-
-2003-12-18 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (skip_prologue_using_sal): New function. Taken verbatim
- from mips-tdep.c.
- (frv_analyze_prologue): Rework to account for intermixed prologue /
- body instructions.
-
-2003-12-18 Michael Chastain <mec.gnu@mindspring.com>
-
- * hppa-tdep.c (hppa_gdbarch_init): Set sizeof(long_double) to 128.
- Document type sizes for hppa*-*-hpux* compilers available to me.
-
-2003-12-18 Michael Chastain <mec.gnu@mindspring.com>
-
- * hppam3-nat.c: Delete obsolete file.
- * hppab-nat.c: Delete obsolete file.
- * Makefile.in: Remove references.
-
-2003-12-17 Jeff Johnston <jjohnstn@redhat.com>
-
- * symtab.c (decode_line_spec): Change call to decode_line_1.
-
-2003-12-17 Jeff Johnston <jjohnstn@redhat.com>
-
- * linespec.h (decode_line_1): Add new not_found_ptr parameter.
- * linespec.c (decode_line_1): Add new parameter. Pass on
- new parameter to decode_variable and symtab_from_filename
- functions.
- (decode_variable): Add new not_found_ptr parameter. Throw exception
- rather than failing if the not_found_ptr is non-null and the
- function is not found.
- (symtab_from_filename): Add new not_found_ptr parametr. Throw
- exception rather than failing if the not_found_ptr is non-null and
- the source file is not found.
- * breakpoint.c: Change all callers of decode_line_1 to add default
- extra parameter for decode_line_1 calls.
- * tracepoint.c: Ditto.
- * cli/cli-cmds.c: Ditto.
-
-2003-12-16 J. Brobecker <brobecker@gnat.com>
-
- * irix5-nat.c: Include mips-tdep.h.
-
-2003-12-16 Mark Kettenis <kettenis@gnu.org>
-
- * solib.h (SOLIB_CREATE_CATCH_LOAD_HOOK)
- (SOLIB_CREATE_CATCH_UNLOAD_HOOK, SOLIB_LOADED_LIBRARY_PATHNAME)
- (SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_HAVE_LOAD_EVENT)
- (SOLIB_HAVE_UNLOAD_EVENT): Remove defines.
-
- * blockframe.c (inside_main_func): Don't treat a zero PC specially.
- Needed to fix PR backtrace/1476.
-
-2003-12-16 David Carlton <carlton@kealia.com>
-
- * cp-support.c (class_name_from_physname): Add DMGL_PARAMS.
- (method_name_from_physname): Ditto.
-
-2003-12-15 Mark Kettenis <kettenis@gnu.org>
-
- * i386-sol2-tdep.c (i386_sol2_gregset_reg_offset): New variable.
- (i386_sol2_init_abi): Initialize TDEP->gregset_reg_offset,
- TDEP->gregset_num_regs, TDEP->sizeof_gregset and
- TDEP->sizeof_fpregset.
- * config/i386/i386sol2.mh (XM_FILE): Set to xm-i386.h.
- (XM_CLIBS): Remove.
- (NATDEPFILES): Remove core-regset.o and corelow.o.
- * config/i386/i386sol2.mt (TDEPFILES): Add corelow.o.
-
-2003-12-14 Mark Kettenis <kettenis@gnu.org>
-
- * proc-api.c (procfs_note): Add format string to fprintf call.
-
- * i386-tdep.c (i386_analyze_frame_setup): Add missing encodings
- for `subl' and `xorl' instructions.
-
-2003-12-13 Jim Blandy <jimb@redhat.com>
-
- * dwarf2read.c (dwarf2_add_member_fn, read_structure_scope):
- Replace uses of DEPRECATED_STREQ and DEPRECATED_STREQN with calls
- to strcmp and strncmp.
-
- * osabi.c (gdbarch_init_osabi): Reformat error message with better
- line breaks.
-
-2003-12-13 Mark Kettenis <kettenis@gnu.org>
-
- * blockframe.c (inside_main_func): Reformat. Introduce new local
- variables to prevent long lines. Update comments to reflect
- reality.
-
-2003-12-12 Kevin Buettner <kevinb@redhat.com>
-
- From David Mosberger <davidm@hpl.hp.com>:
- * libunwind-frame.c (unw_find_dyn_list_p): Replace most arguments
- with a single unw_dyn_info_t pointer.
- (libunwind_find_dyn_list): Likewise.
- * libunwind-frame.h: Likewise.
- * ia64-tdep.c (ia64_find_unwind_table): Switch to using
- UNW_INFO_FORMAT_REMOTE_TABLE so we can avoid having to read in the
- entire unwind-table at once. Support for this table format has
- been added to libunwind v0.95.
- (ia64_find_proc_info_x): Adjust for remote-unwind-table changes.
- (ia64_get_dyn_info_list): Adjust for interface change for
- libunwind_find_dyn_list().
-
-2003-12-12 Jeff Johnston <jjohnstn@redhat.com>
-
- * breakpoint.c (breakpoint_enabled): New function to test whether
- breakpoint is active and enabled.
- (insert_bp_location, insert_breakpoints): Call new function to test
- for enabled breakpoint.
- (remove_breakpoint, breakpoint_here_p, breakpoint_thread_match)
- (bpstat_should_step, bpstat_have_active_hw_watchpoints)
- (disable_breakpoints_in_shlibs, hw_watchpoint_used_count)
- (disable_watchpoints_before_interactive_call_start)
- (breakpoint_re_set_one): Ditto.
- (bpstat_stop_status): Use new function and simplify test.
-
-2003-12-11 Mark Kettenis <kettenis@gnu.org>
-
- * observer.c (observer_test_first_observer)
- (observer_test_second_observer, observer_test_third_observer):
- Don't define as `static'.
- (observer_test_first_notification_function)
- (observer_test_second_notification_function)
- (observer_test_third_notification_function): Likewise.
-
-2003-12-10 Mark Kettenis <kettenis@gnu.org>
-
- * solib.h (SOLIB_UNLOADED_LIBRARY_PATHNAME): Define as "" instead
- of (0).
-
-2003-12-11 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * MAINTAINERS (write after approval): Add myself.
-
-2003-12-11 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * config/h8300/tm-h8300.h (h8300hmode): Remove.
- (h8300hmode): Likewise.
- (h8300smode): Likewise.
- (h8300sxmode): Likewise.
- (h8300_normal_mode): Likewise.
- (GDB_TARGET_IS_H8300): Likewise.
- (NUM_REALREGS): Use TARGET_ARCHITECTURE->mach instead of global.
- * h8300-tdep.c (is_h8300hmode): New function.
- (is_h8300smode): New function.
- (is_h8300sxmode): New function.
- (is_h8300_normal_mode): New function.
- (BINWORD): Use new functions.
- (h8300_examine_prologue): Likewise.
- (h8300_print_register): Likewise.
- (h8300_print_registers_info): Likewise.
- (h8300_register_type): Likewise.
- (h8300_gdbarch_init): Remove use of globals like h8300hmode.
- * remote-e7000.c (e7000_open): Remove use of GDB_TARGET_IS_H8300.
- (e7000_fetch_registers): Use TARGET_ARCHITECTURE->mach instead.
- (e7000_wait): Use TARGET_ARCHITECTURE->mach instead of global.
-
-2003-12-10 J. Brobecker <brobecker@gnat.com>
-
- * frame.c (select_frame): Get the current frame PC using
- get_frame_address_in_block() instead of get_frame_pc().
- * stack.c (get_frame_language): Likewise.
-
-2003-12-08 Kevin Buettner <kevinb@redhat.com>
-
- * remote.c (remote_open_1, remote_cisco_open): Avoid closing
- remote_desc more than once.
-
-2003-12-07 Andrew Cagney <cagney@redhat.com>
-
- * defs.h (DEPRECATED_STREQN, DEPRECATED_STREQ): Simplify by
- directly calling strcmp equivalents. Add disclaimer.
-
-2003-12-06 Andrew Cagney <cagney@redhat.com>
-
- * remote.c (remote_fetch_registers): For short packets, explicitly
- supply a zero value. Use regcache_raw_supply. Fix suggested by
- Jonathan Larmour.
-
-2003-12-05 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-tdep.c (ia64_gdbarch_init): Set up the gdbarch long double
- format to be the i387 extended float format which is used for
- long doubles stored in memory.
-
-2003-12-05 Mark Kettenis <kettenis@gnu.org>
-
- From Ulrich Weigand <weigand@informatik.uni-erlangen.de>:
- * dwarf2-frame.c (dwarf2_frame_cache): Use the untranslated RA
- column instead of translating it.
-
-2003-12-04 Michael Chastain <mec.gnu@mindspring.com>
-
- Partial fix for PR c++/1465.
- Fix for PR c++/1377.
- * cp-support.h (cp_lookup_rtti_type): New function.
- * cp-support.c (cp_lookup_rtti_type): New function.
- * gnu-v2-abi.c: Update copyright years.
- (gnuv2_rtti_type): Call cp_lookup_rtti_type.
- * gnu-v3-abi.c: Update copyright years.
- (gnuv3_rtti_type): Call cp_lookup_rtti_type.
-
-2003-12-04 J. Brobecker <brobecker@gnat.com>
-
- * stabsread.c (read_type): Save a reference to types that are defined
- as cross references to other types.
-
-2003-12-02 Roland McGrath <roland@redhat.com>
-
- * thread-db.c (enable_thread_event): Change return type to
- td_err_e. Return TD_OK or error code.
- (enable_thread_event_reporting): Update callers.
-
-2003-12-03 Ian Lance Taylor <ian@wasabisystems.com>
-
- * NEWS: Mention new C++ demangler code.
-
-2003-12-03 Andrew Cagney <cagney@redhat.com>
-
- * ppc-linux-nat.c (store_register, fetch_register): Convert
- between ptrace and regcache's wordsize.
- (ppc_register_u_addr): Use the ptrace wordsize.
-
-2003-12-02 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (frv_gdbarch_init): Add case for fr550.
-
-2003-12-02 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2read.c (dwarf_info_offset, dwarf_abbrev_offset)
- (dwarf_line_offset, dwarf_pubnames_offset, dwarf_aranges_offset)
- (dwarf_loc_offset, dwarf_macinfo_offset, dwarf_str_offset)
- (dwarf_ranges_offset, dwarf_frame_offset, dwarf_eh_frame_offset):
- Delete.
- (dwarf2_read_section): Remove offset and size arguments. Use
- bfd_get_section_size_before_reloc and sectp->filepos.
- (dwarf2_has_info): Clear section variables instead of offsets.
- (dwarf2_locate_sections): Don't initialize the deleted variables.
- (dwarf2_build_psymtabs): Update calls to dwarf2_read_section.
- (dwarf2_build_psymtabs_easy): Likewise.
- * dwarf2-frame.c (dwarf_frame_offset, dwarf_frame_size)
- (dwarf_eh_frame_offset, dwarf_eh_frame_size): Remove extern
- declarations.
- (dwarf2_read_section): Update prototype.
- (dwarf2_build_frame_info): Update calls to dwarf2_read_section.
- Use bfd_get_section_size_before_reloc instead of global size
- variables.
-
-2003-12-01 Michael Chastain <mec.gnu@mindspring.com>
-
- * dwarfread.c: Update documentation on the state of dwarf-1.
-
-2003-12-01 Andrew Cagney <cagney@redhat.com>
-
- Obsolete old MIPS SVr3 and SVr4 systems.
- * NEWS: Mention obsoleted systems.
- * configure.tgt: Mark mips*-*-sysv4* as obsolete.
- * configure.host: Mark mips-dec-*, mips-little-*, mips-sony-*,
- mips-*-sysv4*, mips-*-sysv*, mips-*-riscos* and mips-*-mach3* as
- obsolete.
- * config/mips/decstation.mh: Mark as obsolete.
- * config/mips/littlemips.mh: Mark as obsolete.
- * config/mips/nm-mips.h: Mark as obsolete.
- * config/mips/xm-mips.h: Mark as obsolete.
- * config/mips/news-mips.mh: Mark as obsolete.
- * config/mips/nm-news-mips.h: Mark as obsolete.
- * config/mips/riscos.mh: Mark as obsolete.
- * config/mips/nm-riscos.h: Mark as obsolete.
- * config/mips/xm-riscos.h: Mark as obsolete.
- * config/mips/mipsv4.mt: Mark as obsolete.
- * config/mips/tm-mipsv4.h: Mark as obsolete.
- * config/mips/xm-mipsv4.h: Mark as obsolete.
-
- Obsolete old m68k systems.
- * configure.host: Mark m68*-sun-*, m68*-sun-sunos4*,
- m68*-sun-sunos3*, m68*-motorola-*, m68*-*-sysv4*, m68*-*-lynxos*,
- m68*-bull*-sysv*, m68*-att-*, m680[01]0-sun-sunos4*, and
- m680[01]0-sun-sunos3* as obsolete.
- * configure.tgt: Mark m68*-*-lynxos*, m68*-*-sunos3*,
- m68*-*-sunos4*, m68*-*-sysv4*, m68000-*-sunos3*, m68000-*-sunos4*,
- m68*-bull-sysv*, m68*-att-*, and m68*-motorola-*, as obsolete.
- * config/m68k/sun3os4.mh: Mark file obsolete.
- * config/m68k/xm-sun3os4.h: Mark file obsolete.
- * config/m68k/sun3os3.mh: Mark file obsolete.
- * config/m68k/nm-sun3.h: Mark file obsolete.
- * config/m68k/xm-sun3.h: Mark file obsolete.
- * config/m68k/sun2os4.mh: Mark file obsolete.
- * config/m68k/sun2os3.mh: Mark file obsolete.
- * config/m68k/nm-sun2.h: Mark file obsolete.
- * config/m68k/xm-sun2.h: Mark file obsolete.
- * config/m68k/m68kv4.mh: Mark file obsolete.
- * config/m68k/nm-sysv4.h: Mark file obsolete.
- * config/m68k/xm-m68kv4.h: Mark file obsolete.
- * config/m68k/m68klynx.mh: Mark file obsolete.
- * config/m68k/nm-m68klynx.h: Mark file obsolete.
- * config/m68k/dpx2.mh: Mark file obsolete.
- * config/m68k/xm-dpx2.h: Mark file obsolete.
- * config/m68k/nm-dpx2.h: Mark file obsolete.
- * config/m68k/delta68.mh: Mark file obsolete.
- * config/m68k/xm-delta68.h: Mark file obsolete.
- * config/m68k/nm-delta68.h: Mark file obsolete.
- * config/m68k/3b1.mh: Mark file obsolete.
- * config/m68k/xm-3b1.h: Mark file obsolete.
- * config/m68k/sun3os4.mt: Mark file obsolete.
- * config/m68k/tm-sun3os4.h: Mark file obsolete.
- * config/m68k/sun3os3.mt: Mark file obsolete.
- * config/m68k/tm-sun3.h: Mark file obsolete.
- * config/m68k/sun2os4.mt: Mark file obsolete.
- * config/m68k/tm-sun2os4.h: Mark file obsolete.
- * config/m68k/sun2os3.mt: Mark file obsolete.
- * config/m68k/tm-sun2.h: Mark file obsolete.
- * config/m68k/m68kv4.mt: Mark file obsolete.
- * config/m68k/tm-m68kv4.h: Mark file obsolete.
- * config/m68k/m68klynx.mt: Mark file obsolete.
- * config/m68k/tm-m68klynx.h: Mark file obsolete.
- * config/m68k/dpx2.mt: Mark file obsolete.
- * config/m68k/tm-dpx2.h: Mark file obsolete.
- * config/m68k/delta68.mt: Mark file obsolete.
- * config/m68k/tm-delta68.h: Mark file obsolete.
- * config/m68k/3b1.mt: Mark file obsolete.
- * config/m68k/tm-3b1.h: Mark file obsolete.
-
-2003-11-29 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c (MAX_CLASSES): Remove macro.
- (x86_64_reg_class): Remove enum.
- (merge_classes, classify_argument, examine_argument): Remove
- functions.
- (INT_REGS, SSE_REGS): Remove macros.
- (x86_64_push_arguments): Remove function.
- (amd64_push_arguments): New function.
- (x86_64_push_dummy_call): Call amd64_push_arguments instead of
- x86_64_push_arguments.
-
-2003-11-28 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c (x86_64_frame_cache): Don't bail out if %rbp is
- zero. Reorganize code a bit.
-
-2003-11-27 Mark Kettenis <kettenis@gnu.org>
-
- * dwarf2-frame.c: Fix another comment.
-
- * x86-64-tdep.c (RET_INT_REGS, RET_SSE_REGS): Remove defines.
- (x86_64_use_struct_convention, x86_64_extract_return_value,
- x86_64_store_return_value): Remove.
- (amd64_reg_class): New enum.
- (amd64_merge_classes, amd64_classify_aggregate, amd64_classify,
- amd64_return_value): New functions.
- (x86_64_init_abi): Don't set extract_return_value,
- store_return_value and use_struct_convention. Set return_value to
- amd64_return_value.
- * i387-tdep.h (i387_return_value): New prototype.
- * i387-tdep.c (i387_return_value): New function.
-
- * dwarf2-frame.c: Fix some comments and whitespace problems.
-
- * i386nbsd-tdep.c: Don't include "gdbtypes.h". Include
- "gdb_assert.h" and "gdb_string.h".
- (i386nbsd_r_reg_offset): Rename from regmap.
- (SIZEOF_STRUCT_REG): Remove.
- (i386nbsd_supply_reg, fetch_core_registers,
- fetch_elfcore_registers, i386nbsd_core_fns, i386nbsd_elfcore_fns):
- Remove.
- (i386nbsd_aout_supply_regset,
- i386nbsd_aout_regset_from_core_section): New functions.
- (i386nbsd_sc_reg_offset): Don't explicitly specify size of array.
- (i386nbsd_init_abi): Initialize TDEP->gregset_reg_offset,
- TDEP->gregset_num_regs amd sizeof_gregset. Use ARRAY_SIZE to
- initialize TDEP->sc_num_regs.
- (i386nbsdaout_init_abi): New function.
- (i386nbsdelf_init_abi): Remove initialization of
- TDEP->num_xmm_regs. Don't set num_regs here.
- (_initialize_i386nbsd_tdep): Don't call add_core_fns. Use
- i386nbsd_aout_init to register NetBSD a.out OS/ABI.
-
- * osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Use
- .note.netbsdcore.procinfo section to recognize NetBSD core files.
-
-2003-11-26 Michael Chastain <mec.gnu@mindspring.com>
-
- * cp-abi.c: Update copyright years.
-
-2003-11-25 Andrew Cagney <cagney@redhat.com>
-
- * thread-db.c (enable_thread_event): New function. Ensure that BP
- is a code address.
- (enable_thread_event_reporting): Use enable_thread_event.
-
-2003-11-25 Michael Snyder <msnyder@redhat.com>
-
- * mips-tdep.c (mips_o64_extract_return_value): Correct for
- NUM_REGS (see changes 2003-06-21).
- (mips_eabi_extract_return_value): Ditto.
-
-2003-11-25 Andrew Cagney <cagney@redhat.com>
-
- * infrun.c: Don't include "exec.h".
- (handle_inferior_event): Pass current_target, instead of exec_ops,
- to SOLIB_ADD. Add comments.
- * Makefile.in (infrun.o): Update dependencies.
-
-2003-11-24 Daniel Jacobowitz <drow@mvista.com>
-
- * NEWS: Mention improved location expression support.
-
-2003-11-23 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (infrun.o): Update dependencies.
- * infrun.c: Include "exec.h".
- (handle_inferior_event): Pass exec_ops to SOLIB_ADD.
-
-2003-11-23 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (frame_unwind_signed_register): Delete function.
- * frame.h (frame_unwind_register_signed): Delete declaration.
- * mips-tdep.c (mips_frame_saved_pc): Use frame_unwind_register_signed.
-
- * arch-utils.h (generic_cannot_extract_struct_value_address):
- Delete declaration.
-
- * defs.h (DEPRECATED_STREQN): Rename STREQN.
- (DEPRECATED_STREQ): Rename STREQ.
- * ada-exp.y, ada-lang.c, ada-lex.l, coffread.c: Update.
- * config/mips/tm-irix5.h, config/mips/tm-irix6.h: Update.
- * config/mips/tm-mipsv4.h, config/sparc/tm-sun4sol2.h: Update.
- * dbxread.c, dwarf2read.c, dwarfread.c, environ.c: Update.
- * eval.c, exec.c, f-lang.c, hppa-tdep.c, hpread.c: Update.
- * jv-exp.y, language.c, m2-exp.y, mcore-rom.c: Update.
- * mdebugread.c, mipsread.c, objc-exp.y, objfiles.c: Update.
- * p-exp.y, p-typeprint.c, p-valprint.c, rs6000-nat.c: Update.
- * source.c, sparc-tdep.c, stack.c, target.c: Update.
-
- * symfile.c (symbol_file_command): Replace STREQ with strcmp.
- * elfread.c (elf_symtab_read): Delete STREQ from comment.
-
-2003-11-22 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (deprecated_frame_xmalloc): Delete function.
- (deprecated_set_frame_extra_info_hack): Delete function.
- (deprecated_set_frame_saved_regs_hack): Delete function.
- * frame.h (deprecated_frame_xmalloc): Delete declaration.
- (deprecated_set_frame_extra_info_hack): Delete declaration.
- (deprecated_set_frame_saved_regs_hack): Delete declaration.
- * mcore-tdep.c (analyze_dummy_frame): Instead of
- deprecated_frame_xmalloc, deprecated_set_frame_saved_regs_hack,
- and deprecated_set_frame_extra_info_hack use
- deprecated_frame_xmalloc_with_cleanup.
- * mn10300-tdep.c (analyze_dummy_frame): Ditto.
- * mips-tdep.c (mips_init_extra_frame_info): Delete call to
- deprecated_set_frame_saved_regs_hack.
-
- * mips-tdep.c (mips_frame_chain): Delete call to
- deprecated_inside_entry_file.
-
- * frame.h (deprecated_set_frame_next_hack): Delete declaration.
- (deprecated_set_frame_prev_hack): Delete declaration.
- * frame.c (deprecated_set_frame_next_hack): Delete function.
- (deprecated_set_frame_prev_hack): Delete function.
- * mcore-tdep.c (analyze_dummy_frame): Delete calls to
- "deprecated_set_frame_next_hack" and
- "deprecated_set_frame_prev_hack".
- * mn10300-tdep.c (analyze_dummy_frame): Ditto.
-
- * mips-tdep.c (mips_register_convertible): Delete function.
- (mips_register_convert_to_virtual): Delete function.
- (mips_register_convert_to_raw): Delete function.
- (mips_gdbarch_init): Do not set "deprecated_register_convertible",
- "deprecated_register_convert_to_virtual", or
- "deprecated_register_convert_to_raw".
- (mips_pseudo_register_write, mips_pseudo_register_read): Handle
- 32/64 cooked to raw register conversions.
-
- * frame.c (deprecated_get_frame_context): Delete function.
- (deprecated_set_frame_context): Delete function.
- (struct frame_info): Delete member "context".
- * frame.h (deprecated_get_frame_context): Delete declaration.
- (deprecated_set_frame_context): Delete declaration.
-
- * procfs.c (procfs_wait): Delete FAULTED_USE_SIGINFO comment.
- * config/sparc/tm-sun4sol2.h (FAULTED_USE_SIGINFO): Delete macro.
- * config/i386/tm-i386sol2.h (FAULTED_USE_SIGINFO): Delete macro.
- * config/alpha/nm-osf2.h (FAULTED_USE_SIGINFO): Delete macro.
-
- * mips-tdep.c (SIGFRAME_REG_SIZE): Delete macro.
- (mips_find_saved_regs): Replace SIGFRAME_REG_SIZE with
- mips_regsize.
- (mips_dump_tdep): Do not print SIGFRAME_REG_SIZE.
- * config/mips/tm-irix6.h (SIGFRAME_REG_SIZE): Delete macro.
- * config/mips/tm-irix5.h: Update copyright.
- (SIGFRAME_REG_SIZE): Delete macro.
-
- * hppa-tdep.c (hppa_value_returned_from_stack): Delete function.
- * config/pa/tm-hppa.h (hppa_value_returned_from_stack): Delete
- declaration.
- (DEPRECATED_VALUE_RETURNED_FROM_STACK): Delete macro.
- * infcall.c (call_function_by_hand): Delete #ifdef
- DEPRECATED_VALUE_RETURNED_FROM_STACK code.
- * infcmd.c (print_return_value): Ditto.
-
- * mips-tdep.c (skip_prologue_using_sal): New function.
- (mips32_skip_prologue, mips16_skip_prologue): Use
- skip_prologue_using_sal to get an upper bound on the search.
-
- * config/powerpc/tm-linux.h (PROLOGUE_FIRSTLINE_OVERLAP): Delete
- #if 0'ed macro.
- * infrun.c (step_into_function): Delete #ifdef
- PROLOGUE_FIRSTLINE_OVERLAP code.
- * symtab.c (find_function_start_sal): Ditto.
-
- * remote-rdp.c: Update copyright.
- (rdp_init): #if 0 references to "target_byte_order".
-
- * mips-tdep.c (mips_o32_store_return_value): Delete function.
- (mips_o32_return_value): Replace mips_o32_xfer_return_value.
- (mips_o32_extract_return_value): Delete function.
- (mips_n32n64_return_value): Replace mips_n32n64_xfer_return_value.
- (mips_n32n64_extract_return_value): Delete function.
- (mips_n32n64_store_return_value): Delete function.
- (mips_gdbarch_init): For o32 and n32n64, set "return_value"
- instead of "store_return_value", "extract_return_value", and
- "use_struct_convention".
- (mips_n32n64_use_struct_convention): Delete function.
-
-2003-11-21 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (frv_frame_this_id): Eliminate call to
- inside_entry_func().
-
-2003-11-20 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c (i386_extract_return_value,
- i386_store_return_value): Add gdbarch argument. Use it instead of
- determining it from REGCACHE. Remove recursive call for
- structures with a single member.
- (i386_use_struct_convention): Remove.
- (i386_reg_struct_return_p): New function.
- (i386_return_value): New function.
- (i386_gdbarch_init): Set return_value, don't set
- extract_return_value, store_return_value and
- use_struct_convention.
- * x86-64-tdep.c (x86_64_init_abi): Set return_value to NULL.
-
-2003-11-20 Jim Blandy <jimb@redhat.com>
-
- * osabi.c (_initialize_gdb_osabi): Don't return before registering
- the 'set osabi' and 'show osabi' commands.
-
-2003-11-19 Mark Kettenis <kettenis@gnu.org>
-
- * frame.c (get_prev_frame): Use result from
- get_frame_address_in_block instead of get_frame_pc as argument to
- inside_main_func. Fixes PR backtrace/1435.
-
-2003-11-19 Andrew Cagney <cagney@redhat.com>
-
- * stack.c (return_command): Handle "void", "legacy" and "unknown
- location" return values separatly.
- * values.c (using_struct_return): Return 0 for a "void" return
- type. Mention "register_value_being_returned".
- (register_value_being_returned): Mention "using_struct_return".
-
-2003-11-19 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2read.c (offreg, basereg, isderef, frame_base_reg)
- (frame_base_offset): Delete.
- (read_func_scope): Delete call to decode_locdesc.
- (decode_locdesc): Update comments. Don't set the removed variables.
- Complain for DW_OP_reg* not at the end. Remove DW_OP_breg* and
- DW_OP_fbreg support.
-
-2003-11-18 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2read.c (optimized_out, islocal): Remove.
- (decode_locdesc): Update comments. Don't set optimized_out
- or islocal.
-
-2003-11-17 Jeff Johnston <jjohnstn@redhat.com>
- David Mosberger <davidm@hpl.hp.com>
-
- * ia64-tdep.c: Include elf.h.
- [HAVE_LIBUNWIND_IA64_H]: Include libunwind-frame.h and
- libunwind-ia64.h.
- (ia64_rse_slot_num, ia64_rse_skip_regs): New for libunwind support.
- (ia64_gdb2uw_regnum, ia64_uw2gdb_regnum): Ditto.
- (ia64_is_fpreg, ia64_access_reg): Ditto.
- (ia64_access_fpreg, ia64_access_mem): Ditto.
- (get_kernel_table): Ditto.
- (ia64_find_unwind_table): Ditto.
- (ia64_find_proc_info_x, ia64_put_unwind_info): Ditto.
- (ia64_get_dyn_info_list, ia64_libunwind_frame_this_id): Ditto.
- (ia64_libunwind_frame_prev_register): Ditto.
- (ia64_libunwind_frame_sniffer): Ditto.
- (ia64_gdbarch_init)[HAVE_LIBUNWIND_IA64_H]: Add libunwind frame
- sniffer. Register libunwind functions needed by generic
- libunwind frame code using libunwind_frame_set_descr().
-
-2003-11-16 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (re_enable_breakpoints_in_shlibs): Only re-enable a
- bp_shlib_disabled breakpoint if there is a shared library mapped
- at its expected address.
-
-2003-11-16 Andrew Cagney <cagney@redhat.com>
-
- * configure.tgt: Delete mips*tx39*-elf*.
- * config/mips/tm-tx39.h: Delete file.
- * config/mips/tx39.mt: Delete file.
- * config/mips/tx39.mt: Delete file.
-
- * mips-tdep.h (deprecated_mips_set_processor_regs_hack): Declare.
- * remote-mips.c (common_open): Instead of
- "mips_read_register_type" and "mips_set_processor_type_command"
- call "deprecated_mips_set_processor_regs_hack".
- * config/mips/tm-mips.h (mips_read_processor_type): Delete
- declaration.
- (mips_set_processor_type_command): Delete declaration.
- * mips-tdep.c (mips_gdbarch_init): Update comment.
- (mips_dump_tdep): Do not print MIPS_REGISTER_NAMES.
- (mips_set_processor_type): Delete function.
- (NUM_MIPS_PROCESSOR_REGS): Define.
- (mips_show_processor_type_command): Delete function.
- (mips_set_processor_type_command): Delete function.
- (tmp_mips_processor_type): Delete.
- (mips_processor_type): Delete.
- (mips_processor_type_table): Delete.
- (mips_r3051_reg_names): Delete.
- (mips_r3081_reg_names): Delete.
- (mips_lsi33k_reg_names): Delete.
- (mips_processor_reg_names): Delete.
- (mips_read_processor_type): Delete function.
- (deprecated_mips_set_processor_regs_hack): New function.
- (struct gdbarch_tdep): Add member "mips_processor_reg_names".
- (mips_register_name): Get the processor names from the tdep.
- (mips_tx39_reg_names): New array.
- (mips_generic_reg_names): Wire to a standard set of names.
- (mips_gdbarch_init): Set "mips_processor_reg_names".
- * config/mips/tm-irix5.h (MIPS_REGISTER_NAMES): Delete macro.
- * config/mips/tm-mips.h (MIPS_REGISTER_NAMES): Delete macro.
- * config/mips/tm-tx39.h (MIPS_REGISTER_NAMES): Delete macro.
-
-2003-11-16 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (struct gdbarch_tdep): Add field "regnum".
- (mips_fpa0_regnum, mips_regnum): New function.
- (mips_gdbarch_init): Fill in the "regnum" fields.
- * mips-tdep.h (struct mips_regnum): Define.
- (mips_regnum): Declare.
- * config/mips/tm-mips.h (BADVADDR_REGNUM): Delete macro.
- (LO_REGNUM, HI_REGNUM, BADVADDR_REGNUM): Ditto.
- (CAUSE_REGNUM, PC_REGNUM, FP0_REGNUM): Ditto.
- (FCRCS_REGNUM, FCRIR_REGNUM, FPA0_REGNUM): Ditto.
- * config/mips/tm-irix6.h (FP0_REGNUM): Delete macro.
- (PC_REGNUM, CAUSE_REGNUM, BADVADDR_REGNUM): Ditto.
- (HI_REGNUM, LO_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): Ditto.
- * config/mips/tm-irix5.h (FP0_REGNUM): Delete macro.
- (PC_REGNUM, CAUSE_REGNUM, BADVADDR_REGNUM): Ditto.
- (HI_REGNUM, LO_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): Ditto.
- * remote-mips.c: Include "mips-tdep.h". Update.
- * mipsnbsd-tdep.c: Update.
- * mipsv4-nat.c: Update.
- * mips-tdep.c: Update.
- * mips-nat.c: Update.
- * mips-linux-tdep.c: Update.
- * mips-linux-nat.c: Update.
- * irix5-nat.c: Update.
- * dve3900-rom.c: Include "mips-tdep.h". Update.
- (ignore_packet): Supress GCC warning.
- * config/mips/nm-riscos.h: Update.
-
-2003-11-16 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c: Replace DEPRECATED_REGISTER_RAW_SIZE with
- register_size.
- (mips_register_raw_size): Delete function.
- (mips_register_type): Handle "mips64_transfers_32bit_regs_p".
- (mips_gdbarch_init): Do not set "deprecated_register_raw_size".
- Check and set "mips64_transfers_32bit_regs_p".
- (struct gdbarch_tdep): Add "mips64_transfers_32bit_regs_p".
- (mips_register_convertible): Check the architecture's
- "mips64_transfers_32bit_regs_p".
- (set_mips64_transfers_32bit_regs): New function.
- (_initialize_mips_tdep): Use "add_setshow_cmd" when adding the
- "set remote-mips64-transfers-32bit-regs" command. Specify
- set_mips64_transfers_32bit_regs as the set function.
- * Makefile.in (dve3900-rom.o, remote-mips.o): Update dependencies.
-
-2003-11-16 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.h (i386_supply_gregset): Provide prototype.
- * i386-tdep.c (i386_supply_gregset): Make public.
-
-2003-11-16 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (mips_register_byte): Delete function.
- (mips_gdbarch_init): Do not set "deprecated_register_byte".
- * config/mips/tm-mips.h (MIPS_REGISTER_BYTE): Delete macro.
- * config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Delete macro.
- * config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Delete macro.
-
-2003-11-16 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c (i386_extract_return_value): Don't use bfd_byte.
-
-2003-11-16 Andrew Cagney <cagney@redhat.com>
-
- * config/mips/linux64.mt: Delete file.
- * config/mips/tm-linux64.h: Delete file.
- * config/mips/tm-mips64.h: Delete file.
- * config/mips/embed64.mt: Delete file.
- * config/djgpp/fnchange.lst: Update.
- * configure.tgt: Delete explicit patterns for mipsisa64*-*-linux*,
- mips64*-*-linux*, mips64*-*-*, and mipsisa64*-*-*.
- * config/mips/tm-irix6.h: Update copyright. Include
- "mips/tm-mips.h" instead of "mips/tm-mips64.h".
- * mips-tdep.c (mips_dump_tdep): Do not print "OP_LDFPR" or
- "OP_LDGPR".
-
-2003-11-15 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (mips_register_type): Simplify. Eliminate reference
- to MIPS_REGISTER_TYPE. Make integer registers signed. Make IRIX
- n32 registers 64 bit.
- (mips_register_raw_size, mips_register_byte): For pseudo
- registers, use the register's pseudo size and not the
- corresponding raw register's size.
- * config/mips/tm-mips64.h (MIPS_REGISTER_TYPE): Delete macro.
- * config/mips/tm-mips.h (MIPS_REGISTER_TYPE): Delete macro.
- * config/mips/tm-irix6.h: Don't #undef MIPS_REGISTER_TYPE.
- * config/mips/tm-irix5.h (MIPS_REGISTER_TYPE): Delete macro.
-
-2003-11-15 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (struct gdbarch_tdep): Delete member
- gdb_target_is_mips64.
- (GDB_TARGET_IS_MIPS64): Delete macro.
- (mips_gdbarch_init): Do not set tdep's gdb_target_is_mips64.
- (mips_dump_tdep): Do not print GDB_TARGET_IS_MIPS64.
- (mips_addr_bits_remove): Simplify.
-
- * mips-tdep.c: Replace DEPRECATED_REGISTER_VIRTUAL_SIZE with
- register_size.
-
- Replace MIPS_REGSIZE with mips_regsize.
- * mips-tdep.c (mips_regsize): New function.
- * mips-tdep.h (mips_regsize): Declare.
- * mipsnbsd-tdep.h (SIZEOF_STRUCT_FPREG): Update.
- (SIZEOF_STRUCT_REG): Update.
- * mipsnbsd-tdep.c (mipsnbsd_supply_reg): Update.
- (mipsnbsd_fill_reg): Update.
- (mipsnbsd_supply_fpreg): Update.
- (mipsnbsd_fill_fpreg): Update.
- (NBSD_MIPS_JB_ELEMENT_SIZE): Update.
- * mips-tdep.c (mips_register_raw_size): Update.
- (mips_register_type): Update.
- (SIGFRAME_BASE): Update.
- (SIGFRAME_PC_OFF): Update.
- (SIGFRAME_REGSAVE_OFF): Update.
- (SIGFRAME_FPREGSAVE_OFF): Update.
- (SIGFRAME_REG_SIZE): Update.
- (mips32_heuristic_proc_desc): Update.
- (print_gp_register_row): Update.
- (mips_dump_tdep): Do not print MIPS_REGSIZE.
- * irix5-nat.c (supply_gregset): Update.
- (fetch_core_registers): Update.
- * config/mips/tm-mips64.h (MIPS_REGSIZE): Delete macro.
- * config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Update.
- * config/mips/tm-mips.h (MIPS_REGSIZE): Delete macro.
- (MIPS_REGISTER_BYTE): Update.
- * config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Update.
-
-2003-11-15 Andrew Cagney <cagney@redhat.com>
-
- * config/sparc/tm-sparc.h (DEPRECATE_USE_REGISTER_NOT_ARG): Rename
- USE_REGISTER_NOT_ARG.
- * stabsread.c (define_symbol): Update.
-
-2003-11-15 Andrew Cagney <cagney@redhat.com>
-
- * bcache.h (deprecated_bcache): Declare.
- (bcache): Make returned buffer constant.
- * bcache.c (deprecated_bcache): New function.
- (bcache_data): New function.
- (bcache): Call bcache data.
- * symfile.c (add_psymbol_to_list): Use deprecated_bcache.
- (add_psymbol_with_dem_name_to_list): Ditto.
-
-2003-11-15 Mark Kettenis <kettenis@gnu.org>
-
- * glibc-tdep.h (struct gdbarch): Declare opaque.
- (glibc_skip_solib_resolver): Adjust prototype.
- * glibc-tdep.c (glibc_skip_solib_resolver): Adjust.
- * arm-linux-tdep.c (arm_linux_skip_solib_resolver): Remove.
- (arm_linux_init_abi): Set skip_solib_resolver.
- * i386-linux-tdep.c (i386_linux_skip_solib_resolver): Remove.
- (i386_linux_init_abi): Set skip_solib_resolver.
- * config/arm/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove.
- (arm_linux_skip_solib_resolver): Remove prototype.
- * config/i386/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove.
- (i386_linux_skip_solib_resolver): Remove prototype.
-
-2003-11-14 Mark Kettenis <kettenis@gnu.org>
-
- * gdbarch.sh (skip_solib_resolver): Change into a multi-arch
- function.
- * gdbarch.c, gdbarch.h: Regenerate.
- * infrun.c (handle_inferior_event): Call
- gdbarch_skip_solib_resolver instead of SKIP_SOLIB_RESOLVER.
- * arch-utils.c (generic_in_solib_call_trampoline): Adjust function
- definition.
- * arch-utils.h (generic_in_solib_call_trampoline): Adjust function
- prototype.
-
-2003-11-14 Jeff Johnston <jjohnstn@redhat.com>
-
- * libunwind-frame.c: New file.
- * libunwind-frame.h: New file.
- * acconfig.h (HAVE_LIBUNWIND): #undef reference added.
- * configure.in: Add --with-libunwind option support. Define
- HAVE_LIBUNWIND if libunwind support selected / defaulted.
- Also check for libunwind.h and libunwind-ia64.h headers.
- * configure: Regenerated.
- * Makefile.in: Add support for libunwind-frame.o.
- * config.in: Regenerated.
-
-2003-11-14 Jeff Johnston <jjohnstn@redhat.com>
-
- * config/ia64/nm-linux.h (NATIVE_XFER_UNWIND_TABLE): New macro to
- set up the ia64 linux native target method for getting the kernel
- unwind table.
- * ia64-linux-nat.c (ia64_linux_xfer_unwind_table): New function.
- * inftarg.c (child_xfer_partial): Enable section of code to
- handle TARGET_OBJECT_UNWIND_TABLE.
- * target.h (target_object): Add new TARGET_OBJECT_UNWIND_TABLE macro.
-
-2003-11-14 Ian Lance Taylor <ian@wasabisystems.com>
-
- * config/arm/nbsd.mt (TM_FILE): Define.
- * config/arm/tm-nbsd.h: New file.
-
-2003-11-14 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (ppc-sysv-tdep.o): Update dependencies.
- * ppc-sysv-tdep.c: Include "objfiles.h".
- (ppc64_sysv_abi_push_dummy_call): Provide the
- the FN's objfile when looking for the descriptor.
-
- * ppc-linux-tdep.c (ppc_linux_init_abi): Set PPC64's
- "name_of_malloc" to ".malloc".
-
-2003-11-13 Mark Kettenis <kettenis@gnu.org>
-
- * config/i386/x86-64linux.mt (TDEPFILES): Add glibc-tdep.o.
-
-2003-11-13 David Carlton <carlton@kealia.com>
-
- * cp-namespace.c (lookup_namespace_scope): Fix typo in comment.
-
-2003-11-13 Andrew Cagney <cagney@redhat.com>
-
- * arch-utils.h (selected_architecture_name): Declare.
- (selected_byte_order): Declare.
- * arch-utils.c (selected_byte_order): New function.
- (selected_architecture_name): New function.
- (target_architecture_auto): Make static.
- (set_architecture_string): Make static.
- (target_byte_order): Make static.
- (target_byte_order_auto): Make static.
- * gdbarch.sh (TARGET_BYTE_ORDER, TARGET_ARCHITECTURE): Delete
- non-multi-arch definition.
- (TARGET_ARCHITECTURE_AUTO, TARGET_BYTE_ORDER_AUTO): Delete.
- (target_byte_order, target_architecture): Delete declaration.
- (target_byte_order_auto, target_architecture_auto): Ditto.
- * gdbarch.h: Re-generate.
- * remote-sim.c (gdbsim_open): Use "selected_architecture_name" and
- "selected_byte_order".
-
-2003-11-13 Andrew Cagney <cagney@redhat.com>
-
- * ppc-linux-tdep.c (ppc_linux_return_value): Fix parameter order.
-
-2003-11-13 Jim Blandy <jimb@redhat.com>
-
- * cp-namespace.c: Doc fix.
-
-2003-11-12 Michael Snyder <msnyder@redhat.com>
-
- * sh64_tdep.c: Regularize some names.
- (sh_sh64_register_name): Rename to sh64_register_name.
- (sh_sh64_breakpoint_from_pc): Rename to sh64_breakpoint_from_pc.
- (sh_sh64_register_byte): Rename to sh64_register_byte.
- (sh_sh64_build_float_register_type):
- Rename to sh64_build_float_register_type.
- (sh_sh64_register_convert_to_virtual):
- Rename to sh64_register_convert_to_virtual.
- (sh_sh64_register_convert_to_raw):
- Rename to sh64_register_convert_to_raw.
-
- * sh64-tdep.c (translate_insn_rn, is_media_pseudo,
- sh64_media_reg_base_num, sh64_compact_reg_base_num,
- sh64_nofp_frame_init_saved_regs, sh64_push_arguments,
- sh64_extract_return_value, sh64_show_media_regs,
- sh64_show_compact_regs, sh_sh64_register_byte, sh64_register_type,
- sh_sh64_register_convert_to_virtual, sh_sh64_register_convert_to_raw,
- sh64_pseudo_register_read, sh64_pseudo_register_write,
- sh64_do_pseudo_register, sh_compact_print_registers_info):
- Delete unused variable 'tdep'.
-
- * sh64-tdep.c: Coding standard and spelling comment fixes.
- (sh64_extract_return_value): Replace deprecated_store_floating
- with store_typed_floating.
- (sh_sh64_register_convert_to_raw): Replace
- deprecated_store_floating with store_typed_floating.
- (sh_sh64_register_virtual_type): Convert to sh64_register_type.
- (sh64_frame_chain, sh64_get_saved_pr, sh64_get_saved_register,
- sh64_nofp_frame_init_saved_regs, sh64_push_arguments,
- sh64_extract_struct_value_address, sh64_pop_frame,
- sh64_extract_return_value, sh64_store_return_value,
- sh_sh64_register_convert_to_virtual, sh64_pseudo_register_read,
- sh_sh64_register_convert_to_raw, sh_pseudo_register_write):
- Replace DEPRECATED_REGISTER_RAW_SIZE with register_size.
- Replace DEPRECATED_REGISTER_VIRTUAL_TYPE with register_type.
- (sh64_gdbarch_init): Don't set deprecated_register_bytes,
- deprecated_register_virtual_type, deprecated_register_raw_size,
- deprecated_max_register_raw_size, or
- deprecated_max_register_virtual_size. Instead, just set
- gdbarch_register_type.
- (sh_sh64_register_raw_size): Delete.
- (sh_sh64_register_virtual_size): Delete.
-
-2003-11-12 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2read.c (struct dwarf2_cu): New type.
-
- (dwarf2_build_psymtabs_hard, psymtab_to_symtab_1): Create a
- dwarf2_cu structure to pass down.
-
- (scan_partial_symbols, add_partial_symbol, add_partial_namespace)
- (add_partial_enumeration, locate_pdi_sibling, process_die)
- (read_file_scope, read_func_scope)
- (read_lexical_block_scope, dwarf2_get_pc_bounds)
- (dwarf2_add_field, dwarf2_attach_fields_to_type)
- (dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type)
- (read_structure_scope, read_enumeration, read_array_type)
- (read_common_block, read_namespace, read_tag_pointer_type)
- (read_tag_ptr_to_member_type, read_tag_reference_type)
- (read_tag_const_type, read_tag_volatile_type, read_tag_string_type)
- (read_subroutine_type, read_typedef, read_base_type, read_comp_unit)
- (read_die_and_children, read_die_and_siblings, dwarf2_read_section)
- (dwarf2_read_abbrevs, dwarf2_lookup_abbrev, read_partial_die)
- (read_full_die. read_attribute_value, read_attribute)
- (read_address, dwarf_decode_line_header, dwarf_decode_lines)
- (var_decode_location, new_symbol, dwarf2_const_value, die_type)
- (die_containing_type, type_at_offset, tag_type_to_type)
- (read_type_die, dwarf_base_type, decode_locdesc, dwarf_decode_macros)
- (dwarf2_symbol_mark_computed): Accept and use a dwarf2_cu object.
-
-2003-11-12 Daniel Jacobowitz <drow@mvista.com>
-
- PR breakpoints/1450
- * breakpoint.c (insert_bp_location): Fix a logic error by returning
- 0 after a catchpoint fails.
-
-2003-11-11 Michael Chastain <mec.gnu@mindspring.com>
-
- * mips-tdep.c (msymbol_size): Delete.
-
-2003-11-07 Michael Chastain <mec@shout.net>
-
- * symtab.h (struct minimal_symbol): Add size.
- * dbxread.c: Use it.
- * elfread.c: (record_minimal_symbol_and_info): Do not use info.
- Rename to record_minimal_symbol.
- (elf_symtab_read): Set MSYMBOL_SIZE explicitly.
- * minsyms.c (prim_record_minimal_symbol_and_info): Initialize MSYMBOL_SIZE.
- (install_minimal_symbols): Ditto.
- * objfiles.c (terminate_minimal_symbol_table): Ditto.
- * arm-tdep.c: Delete unused MSYMBOL_SIZE.
- * m68hc11-tdep.c: Ditto.
- * mips-tdep.c: Ditto.
- * sh64-tdep.c: Ditto.
-
-2003-11-10 Michael Chastain <mec.gnu@mindspring.com>
-
- * MAINTAINERS: Change my e-mail address.
-
-2003-11-10 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (return_value): Replace "inval" and "outval" with
- "readbuf" and "writebuf".
- * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto.
- * d10v-tdep.c (d10v_return_value): Ditto.
- * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto.
- (ppc_sysv_abi_broken_return_value): Ditto.
- (ppc64_sysv_abi_return_value): Ditto.
- * ppc-sysv-tdep.c (do_ppc_sysv_return_value): Ditto.
- (ppc_sysv_abi_return_value): Ditto.
- (ppc_sysv_abi_broken_return_value): Ditto.
- (ppc64_sysv_abi_return_value): Ditto.
- * values.c (register_value_being_returned): Update call.
- * stack.c (return_command): Update call.
- * gdbarch.h, gdbarch.c: Re-generate.
-
- * target.h (struct target_ops): Order xfer buffer parameters "read
- write" not "write read".
- * bfd-target.c (target_bfd_xfer_partial): Update.
- * remote.c (remote_xfer_partial): Update.
- * inftarg.c (child_xfer_partial): Update.
- * target.c (default_xfer_partial): Update.
- (target_read_partial, target_write_partial): Update.
- (debug_to_xfer_partial): Update.
-
- * arch-utils.h, arch-utils.c: Fix typo in comment.
-
- * arch-utils.c (deprecated_select_gdbarch_hack): Delete function.
- (gdbarch_from_bfd): Call gdbarch_find_by_info.
- (set_gdbarch_from_file): Call
- "deprecated_current_gdbarch_select_hack".
-
-2003-11-09 Andrew Cagney <cagney@redhat.com>
-
- * arch-utils.c (gdbarch_update_p): New function.
- * gdbarch.sh (gdbarch_update_p): Delete function.
- (find_arch_by_info, gdbarch_find_by_info): New functions.
- (deprecated_current_gdbarch_select_hack): New function.
- * gdbarch.c: Re-generate.
-
- * gdbarch.sh (clear_gdbarch_swap): Delete function.
- (swapout_gdbarch_swap): Delete function.
- (swapin_gdbarch_swap): Delete function.
- (init_gdbarch_swap): Delete function.
- (initialize_non_multiarch): Delete function.
- (current_gdbarch_swap_in_hack): New function.
- (current_gdbarch_swap_out_hack): New function.
- (current_gdbarch_swap_init_hack): New function.
- * gdbarch.c: Re-generate.
-
- * gdbarch.sh (verify_gdbarch, gdbarch_dump): Rename "gdbarch"
- parameter to "current_gdbarch". Add comment explaining why.
- (TARGET_FLOAT_FORMAT: Pass "current_gdbarch" to default_double_format.
- (TARGET_DOUBLE_FORMAT,TARGET_LONG_DOUBLE_FORMAT): Ditto.
- * gdbarch.c: Re-generate.
-
- * config/s390/s390.mh (XM_FILE, XM_CLIBS): Delete macros.
- * config/s390/nm-linux.h (KERNEL_U_ADDR): Define.
- * config/s390/xm-linux.h: Delete file.
- * config/m88k/xm-delta88v4.h: Delete stray.
-
- * Makefile.in (arch-utils.o): Update dependencies.
- * arch-utils.c: Include "osabi.h".
- (gdbarch_info_fill): New function.
- * arch-utils.h (gdbarch_info_fill): Declare.
- * gdbarch.sh (gdbarch_update_p): Call "gdbarch_info_fill".
- * gdbarch.c: Re-generate.
-
-2003-11-09 Mark Kettenis <kettenis@gnu.org>
- David S. Miller <davem@redhat.com>
-
- * glibc-tdep.c, glibc-tdep.h: New files.
- * config/arm/linux.mt (TDEPFILES): Add glibc-tdep.o
- * config/i386/linux.mt (TDEPFILES): Likewise.
- * i386-linux-tdep.c (glibc-tdep.h): Include.
- (find_minsym_and_objfile, skip_hurd_resolver): Delete.
- (i386_linux_skip_solib_resolver): Call glibc_skip_solib_resolver.
- * arm-linux-tdep.c (glibc-tdep.h): Include.
- (find_minsym_and_objfile, skip_hurd_resolver): Delete.
- (arm_linux_skip_solib_resolver): Call glibc_skip_solib_resolver.
- * Makefile.in (ALLDEPFILES): Add glibc-tdep.c
- (glibc_tdep_h): Define.
- (glibc-tdep.o): Add dependencies.
- (arm-linux-tdep.o): Update dependencies.
- (i386-linux-tdep.o): Likewise.
-
-2003-11-09 Andrew Cagney <cagney@redhat.com>
-
- * config/mips/irix6.mh (NAT_FILE): Set to "nm-irix5.h".
- * config/mips/nm-irix6.h: Delete file.
- * config/mips/nm-linux.h: Update copyright.
- (MIPS_GNULINUX_TARGET): Delete macro.
- * config/mips/irix6.mh (XM_FILE): Set to "xm-irix5.h".
- * config/mips/xm-irix6.h: Delete file.
- * config/mips/linux.mh (XM_FILE): Delete definition.
- * config/mips/xm-linux.h: Delete file.
-
-2003-11-09 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (d10v_return_value): New function.
- (d10v_use_struct_convention): Delete function.
- (d10v_store_return_value): Delete function.
- (d10v_extract_struct_value_address): Delete function.
- (d10v_gdbarch_init): Set "return_value" instead of
- "extract_return_value", "store_return_value",
- "extract_struct_value_address", and "use_struct_convention".
- (RET1_REGNUM): Delete const.
-
-2003-11-09 Mark Kettenis <kettenis@gnu.org>
-
- From David S. Miller <davem@redhat.com>:
- * gdbarch.sh (SKIP_SOLIB_RESOLVER): New method.
- * gdbarch.c, gdbarch.h: Regenerated.
- * arch-utils.c (generic_skip_solib_resolver): New function.
- * arch-utils.h (generic_skip_solib_resolver): New prototype.
- * infrun.c (SKIP_SOLIB_RESOLVER): Don't define.
-
-2003-11-07 Andrew Cagney <cagney@redhat.com>
-
- * top.c (print_gdb_version): Replace STREQ with strcmp.
- * valops.c (value_struct_elt_for_reference): Ditto.
- (value_struct_elt_for_reference): Ditto.
- * symtab.c (gdb_mangle_name): Ditto.
- (find_line_symtab): Ditto.
- * symmisc.c (maintenance_print_symbols): Ditto.
- * symfile.c (symbol_file_command): Ditto.
- * stabsread.c (define_symbol, read_type): Ditto.
- (cleanup_undefined_types, scan_file_globals): Ditto.
- * solib.c (solib_map_sections): Ditto.
- * solib-svr4.c (bfd_lookup_symbol): Ditto.
- * rs6000-tdep.c (skip_prologue): Ditto.
- * p-valprint.c (pascal_value_print): Ditto.
- (pascal_object_is_vtbl_ptr_type): Ditto.
- * objfiles.c (in_plt_section): Ditto.
- * minsyms.c (lookup_minimal_symbol): Ditto.
- (compact_minimal_symbols): Ditto.
- (find_solib_trampoline_target): Ditto.
- * mdebugread.c (parse_type): Ditto.
- * language.c (set_language_command): Ditto.
- (set_type_command, set_range_command): Ditto.
- * f-lang.c (add_common_block): Ditto.
- (add_common_block): Ditto.
- (find_first_common_named): Ditto.
- (patch_all_commons_by_name): Ditto.
- * elfread.c (elf_locate_sections): Ditto.
- (elf_locate_sections): Ditto.
- (elfstab_offset_sections): Ditto.
- * dwarf2read.c (dwarf2_locate_sections): Ditto.
- * dbxread.c (add_old_header_file): Ditto.
- (find_corresponding_bincl_psymtab): Ditto.
- (read_dbx_symtab, process_one_symbol): Ditto.
- * coffread.c (patch_opaque_types): Ditto.
- * cli/cli-decode.c (delete_cmd): Ditto.
- * cli/cli-cmds.c (pwd_command, list_command): Ditto.
- * c-typeprint.c (c_type_print_base): Ditto.
- * breakpoint.c (bpstat_stop_status): Ditto.
- (clear_command, breakpoint_re_set_one): Ditto.
-
-2003-11-07 Andrew Cagney <cagney@redhat.com>
-
- * bcache.h: Update copyright. Add comments on bcache VS hashtab.
- * bcache.c (struct bstring): Make "length" an unsigned short, add
- "half_hash".
- (struct bcache): Add "half_hash_error_count".
- (bcache): Compute and save the "half_hash". Compare the
- "half_hash" before comparing the length. Update
- half_hash_error_count.
-
-2003-11-07 Andrew Cagney <cagney@redhat.com>
-
- * inftarg.c (child_xfer_partial): New function
- (init_child_ops): Set "to_xfer_partial".
-
-2003-11-07 Andrew Cagney <cagney@redhat.com>
-
- * ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux,
- set "return_value" instead of "use_struct_convention".
- (ppc_linux_use_struct_convention): Delete function.
- (ppc_linux_return_value): New function.
- * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): New function.
- (ppc_sysv_abi_broken_return_value): New function.
- (do_ppc_sysv_return_value): Add "gdbarch" parameter.
- (ppc64_sysv_abi_push_dummy_call): Add "gdbarch" parameter, drop
- static.
- (ppc_sysv_abi_extract_return_value): Delete function.
- (ppc_sysv_abi_broken_extract_return_value): Delete function.
- (ppc_sysv_abi_store_return_value): Delete function.
- (ppc_sysv_abi_broken_store_return_value): Delete function.
- (ppc_sysv_abi_use_struct_convention): Delete function.
- (ppc64_sysv_abi_use_struct_convention): Delete function.
- (ppc64_sysv_abi_extract_return_value): Delete function.
- (ppc64_sysv_abi_store_return_value): Delete function.
- * ppcnbsd-tdep.c (ppcnbsd_return_value): New function.
- (ppcnbsd_init_abi): Set "return_value", instead of
- "use_struct_convention", "extract_return_value", and
- "store_return_value".
- (ppcnbsd_use_struct_convention): Delete function.
- * ppc-tdep.h (ppc64_sysv_abi_return_value): Declare.
- (ppc_sysv_abi_return_value): Declare.
- (ppc_sysv_abi_broken_return_value): Declare.
- (ppc_sysv_abi_use_struct_convention): Delete.
- (ppc_sysv_abi_store_return_value): Delete.
- (ppc_sysv_abi_extract_return_value): Delete.
- (ppc_sysv_abi_broken_store_return_value): Delete.
- (ppc_sysv_abi_broken_extract_return_value): Delete.
- (ppc64_sysv_abi_use_struct_convention): Delete.
- (ppc64_sysv_abi_extract_return_value): Delete.
- (ppc64_sysv_abi_store_return_value): Delete.
- * rs6000-tdep.c (rs6000_gdbarch_init): For 32-bit and 64-bit SYSV,
- set "return_value" instead of "extract_return_value",
- "store_return_value", and "use_struct_convention".
-
-2003-11-07 Mark Kettenis <kettenis@gnu.org>
-
- * dwarf2-frame.c (dwarf2_build_frame_info): Wrap comment.
-
- * fbsd-proc.c (read_mapping): Use sscanf and fgets instead of
- fscanf.
-
-2003-11-07 Mark Kettenis <kettenis@gnu.org>
-
- * fbsd-proc.c: Fix formatting.
-
-2003-11-06 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (first_pseudo_regnum, iacc0_regnum, frv_num_pseudo_regs):
- Define.
- (new_variant): Set name for iacc0_regnum.
- (frv_register_name): Accommodate pseudo-registers.
- (frv_register_type): Add case for iacc0_regnum.
- (frv_pseudo_register_read, frv_pseudo_register_write): New functions.
- (frv_gdbarch_init): Set number of pseudo registers. Establish
- pseudo-register read/write methods.
-
-2003-11-06 Andrew Cagney <cagney@redhat.com>
-
- * valops.c (destructor_name_p): Replace STREQN with strncmp.
- * top.c (command_line_input): Ditto.
- * objc-exp.y (yylex): Ditto.
- * minsyms.c (prim_record_minimal_symbol_and_info): Ditto.
- * jv-exp.y (yylex): Ditto.
- * f-exp.y (yylex): Ditto.
- * event-top.c (command_line_handler): Ditto.
- * environ.c (get_in_environ): Ditto.
- (set_in_environ): Ditto.
- * dwarfread.c (handle_producer): Ditto.
- * dbxread.c (process_one_symbol): Ditto.
- * c-typeprint.c (c_type_print_base): Ditto.
- * c-exp.y (yylex): Ditto.
-
-2003-11-06 Andrew Cagney <cagney@redhat.com>
- Jeff Johnston <jjohnstn@redhat.com>
-
- * target.c (add_target): Only set "to_xfer_partial" when NULL.
- (init_dummy_target): Set "to_xfer_partial".
-
-2003-11-06 Andrew Cagney <cagney@redhat.com>
-
- * stack.c (return_command): Warn when STRUCT_CONVENTION, and not
- REGISTER_CONVENTION.
-
-2003-11-06 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (insert_bp_location, allocate_bp_location): Make
- static.
-
-2003-11-06 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (remove_breakpoint): Take an bp_location
- instead of a breakpoint argument. Check the bp_location's type.
- Fix a reversed condition for hardware breakpoints.
-
- (insert_bp_location): Update call to remove_breakpoint.
- (remove_breakpoints): Likewise. Use ALL_BP_LOCATIONS.
- (remove_hw_watchpoints): Likewise.
- (reattach_breakpoints): Likewise.
- (detach_breakpoints): Likewise.
- (delete_breakpoint): Likewise.
-
-2003-11-06 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (mark_breakpoints_out): Use ALL_BP_LOCATIONS.
- (beakpoint_init_inferior): Likewise.
- (breakpoint_here_p): Likewise. Only check addresses for software
- or hardware breakpoints.
- (breakpoint_inserted_here_p): Likewise.
- (breakpoint_thread_match): Likewise. Correct comment.
- (bpstat_have_active_hw_watchpoints): Likewise.
- (check_duplicates): Likewise.
-
-2003-11-06 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoints.c (insert_bp_location): New function, broken out
- from insert_breakpoints. Work on an bp_location instead of a
- breakpoint.
- (insert_breakpoints): Use it.
-
-2003-11-06 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.h (struct bp_location): Add section.
- (struct breakpoint): Remove section.
- * breakpoint.c (insert_breakpoints, remove_breakpoint)
- (breakpoint_here_p, breakpoint_inserted_here_p)
- (breakpoint_thread_match, bpstat_stop_status, print_one_breakpoint)
- (describe_other_breakpoints, check_duplicates, set_raw_breakpoint)
- (clear_command, delete_breakpoint, breakpoint_re_set_one): Access
- section through loc.
-
-2003-11-06 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (read_memory_nobpt): Use ALL_BP_LOCATIONS
- instead of ALL_BREAKPOINTS. Check for software breakpoints only.
-
-2003-11-06 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (allocate_bp_location): Take bpt and bp_type
- arguments. Initialize owner and type for the new breakpoint
- location item.
- (set_raw_breakpoint): Update call to allocate_bp_location.
-
-2003-11-06 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.h (struct bp_location): Add a chain pointer.
- * breakpoint.c (ALL_BP_LOCATIONS, ALL_BP_LOCATIONS_SAFE): New
- macros.
- (bp_location_chain): New variable.
- (allocate_bp_location): New function.
- (set_raw_breakpoint): Use it.
- (delete_breakpoint): Remove ->loc from the bp_location_chain.
-
-2003-11-06 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.h (enum bp_loc_type, struct bp_location): New.
- (struct breakpoint): Remove address, shadow_contents, inserted,
- requested_address, and duplicate. Add a struct bp_location.
- * breakpoint.c (condition_command, read_memory_nobpt)
- (insert_breakpoints, remove_breakpoints, remove_hw_watchpoints)
- (reattach_breakpoints, update_breakpoints_after_exec)
- (detach_breakpoints, remove_breakpoint, mark_breakpoints_out)
- (breakpoint_init_inferior, breakpoint_here_p)
- (breakpoint_inserted_here_p, deprecated_frame_in_dummy)
- (breakpoint_thread_match, bpstat_stop_status)
- (bpstat_have_active_hw_watchpoints, print_one_breakpoint)
- (describe_other_breakpoints, check_duplicates)
- (make_breakpoint_permanent, create_thread_event_breakpoint)
- (disable_breakpoints_in_shlibs, re_enable_berakpoints_in_shlibs)
- (set_longjmp_resume_breakpoint, mention, create_breakpoints)
- (watch_command_1, print_one_exception_catchpoint)
- (clear_command, breakpoint_re_set_one): Adjust member accesses to
- use the breakpoint's ->loc.
- (set_raw_breakpoint): Likewise. Initialize ->loc.
- (delete_breakpoint): Likewise. Free ->loc.
-
-2003-11-05 Andrew Cagney <cagney@redhat.com>
-
- * config/sparc/tm-sparc.h (FRAME_STRUCT_ARGS_ADDRESS): Delete
- macro.
- * config/m68k/tm-sun3.h (SIG_PC_FP_OFFSET): Delete macro.
- * config/i386/tm-cygwin.h
- (LINKER_SYMBOLS_HAVE_WIN32_STDCALL_ARG_SIZES): Delete macro.
- * config/powerpc/tm-linux.h
- (AT_SUBROUTINE_CALL_INSTRUCTION_TARGET): Delete macro.
- (at_subroutine_call_instruction_target): Delete declaration.
- * config/sparc/tm-sp64linux.h (GDB_PTRACE_REGS64): Delete macro.
- * config/m68k/tm-sun3.h (SIG_SP_FP_OFFSET): Delete macro.
- * config/ns32k/tm-ns32k.h (NUM_GENERAL_REGS): Delete macro.
-
- * xcoffread.c (find_linenos): Replace "sec_ptr" and "bfd" with
- "struct bfd_section" and "struct bfd".
- * target.h (struct section_table): Ditto.
- * rs6000-nat.c (xcoff_relocate_core): Ditto.
- * solib-svr4.c (elf_locate_base): Ditto.
- * pa64solib.c (dld_cache_t): Ditto.
- * objfiles.h (struct obj_section): Ditto.
- * objfiles.c (add_to_objfile_sections): Ditto.
- * exec.c (bfdsec_to_vmap): Ditto.
- (add_to_section_table): Ditto.
- (build_section_table): Ditto.
- * corelow.c (get_core_register_section): Ditto.
- * coffread.c (find_linenos): Ditto.
- * elfread.c (elf_interpreter): Delete #if0'd function.
-
- * mips-tdep.c (mips_dump_tdep): Delete code prinint VX_NUM_REGS.
- * config/sparc/tm-vxsparc.h (VX_NUM_REGS): Delete macro.
- * config/mips/tm-vxmips.h (VX_NUM_REGS): Delete macro.
- * config/m68k/tm-vx68.h (VX_NUM_REGS): Delete macro.
-
- * arch-utils.h (generic_cannot_extract_struct_value_address):
- Delete declaration.
- * wince.c (_initialize_wince): Fix multi-line string.
- * ia64-tdep.c (floatformat_valid): Convert to ISO C.
-
-2003-11-05 Elena Zannoni <ezannoni@redhat.com>
-
- * top.c (execute_command): Fix broken logic for command execution
- while inferior is running in async mode.
-
-2003-11-06 Mark Kettenis <kettenis@gnu.org>
-
- * dwarf2-frame.c (execute_cfa_program): Mark register as
- REG_SAVED_REG for DW_CFA_register opcode.
-
-2003-11-05 Mark Kettenis <kettenis@gnu.org>
-
- * amd64fbsd-tdep.c (amd64fbsd_sc_reg_offset): Adjust offset of
- %rsp, %rip and %eflags to match ABI-change.
-
-2003-11-05 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-tdep.c (struct gdbarch_tdep): Remove os_ident field.
- (ia64_gdbarch_init): Don't bother calculating the os.
- Instead use the gdbarch_info struct and look at the osabi field.
- Also use gdbarch_list_lookup_by_info() to look for a
- candidate gdbarch.
-
-2003-11-05 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (frv_register_byte): Delete.
- (frv_extract_return_value, frv_store_return_value)
- (frv_extract_struct_value_address): Don't call frv_register_byte().
- Convert to non-deprecated form.
- (frv_gdbarch_init): Don't call set_gdbarch_deprecated_register_byte().
- Convert calls to set_gdbarch_deprecated_extract_return_value(),
- set_gdbarch_deprecated_store_return_value(), and
- set_gdbarch_deprecated_extract_struct_value_address() into
- non-deprecated forms.
-
-2003-11-05 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (mips_dump_tdep): Do not print
- PRINT_EXTRA_FRAME_INFO.
- * config/sparc/tm-sparc.h (DEPRECATED_PRINT_EXTRA_FRAME_INFO):
- Rename PRINT_EXTRA_FRAME_INFO.
- * mips-tdep.c (mips_print_extra_frame_info): Delete function.
- * config/mips/tm-mips.h (PRINT_EXTRA_FRAME_INFO): Delete macro.
- (mips_print_extra_frame_info): Delete declaration.
- * stack.c (frame_info): Use DEPRECATED_PRINT_EXTRA_FRAME_INFO.
-
-2003-11-05 Elena Zannoni <ezannoni@redhat.com>
-
- * coffread.c (coff_symtab_read): Remove passing of info parameter
- to prim_record_minimal_symbol_and_info.
-
-2003-11-05 Elena Zannoni <ezannoni@redhat.com>
-
- * coffread.c (process_coff_symbol): Delete CXUX_TARGET macro use.
- (decode_base_type): Delete ifdeffed out code.
-
-2003-11-04 Andrew Cagney <cagney@redhat.com>
-
- * symtab.c (find_active_alias): Delete function.
- (lookup_block_symbol): Delete alias code.
- * stabsread.c (resolve_live_range): Delete function.
- (add_live_range): Delete function.
- (resolve_symbol_reference): Delete function.
- (define_symbol): Delete live range and alias code.
- (scan_file_globals): Delete alias code.
- * symtab.h (SYMBOL_RANGES): Delete macro.
- (struct range_list): Delete structure.
- (struct symbol): Delete field "ranges".
- (SYMBOL_ALIASES): Delete macro.
- (struct alias_list): Delete structure.
- (struct symbol): Delete field "aliases".
-
-2003-11-04 Michael Snyder <msnyder@redhat.com>
-
- * MAINTAINERS: Remove myself as owner of breakpoints and
- of sparc/solaris.
-
-2003-11-03 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c (sh_sh4_nofpu_register_name): New function.
- (sh_sh4al_dsp_register_name): Ditto.
- (sh4_nofpu_show_regs): Ditto.
- (sh_gdbarch_init): Add cases for bfd_mach_sh4al_dsp, bfd_mach_sh4a,
- bfd_mach_sh4_nofpu and bfd_mach_sh4a_nofpu.
-
-2003-11-03 Andrew Cagney <cagney@redhat.com>
-
- * bcache.c: Include "gdb_assert.h".
- (struct bcache): Add fields "expand_count" and
- "expand_hash_count".
- (expand_hash_table): Update the expand counts.
- (print_bcache_statistics): Use XCALLOC, not alloca. Print stats
- on object sizes and hashes.
- * Makefile.in (bcache.o): Update dependencies.
-
-2003-11-03 Andrew Cagney <cagney@redhat.com>
-
- * exec.c (xfer_memory): Eliminate xfer_fn.
-
-2003-10-31 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (gdb_assert.h, sim-regno.h, gdb/sim-frv.h)
- (opcodes/frv-desc.h): Include.
- (iacc0h_regnum, iacc0l_regnum): Define.
- (last_spr_regnum, frv_num_regs): Update.
- (new_variant): Don't supply default names for holes in the SPRs.
- Supply names for iacc0h_regnum and iacc0l_regnum.
- (frv_register_type): Use symbolic constants first_fpr_regnum and
- last_fpr_regnum instead of hardcoded constants 64 and 127. Use
- builtin_type_int instead of builtin_type_int32.
- (frv_register_sim_regno): New function.
- (frv_gdbarch_init): Call set_gdbarch_register_sim_regno().
- * Makefile.in (gdb_sim_frv_h): Define.
- (frv-tdep.o): Update dependencies.
-
-2003-10-31 Andrew Cagney <cagney@redhat.com>
-
- * avr-tdep.c (avr_frame_this_id): Do not call
- deprecated_inside_entry_file.
- * m68hc11-tdep.c (m68hc11_frame_this_id): Ditto.
- * m32r-tdep.c (m32r_frame_this_id): Ditto.
- * d10v-tdep.c (d10v_frame_this_id): Ditto.
- * arm-tdep.c (arm_prologue_this_id): Ditto.
- * alpha-tdep.c (alpha_heuristic_frame_this_id): Ditto.
-
-2003-10-31 Jim Blandy <jimb@redhat.com>
-
- * elfread.c (elf_symtab_read): Allocate correct number of tail
- elements to sectinfo structure. (Fix from Woody LaRue.)
-
-2003-10-31 Andrew Cagney <cagney@redhat.com>
-
- * stack.c (return_command): Use get_frame_type, instead of
- CALL_DUMMY_HAS_COMPLETED.
- * inferior.h (CALL_DUMMY_HAS_COMPLETED): Delete definition.
- * config/pa/tm-hppa.h (CALL_DUMMY_HAS_COMPLETED): Delete macro.
-
-2003-10-31 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-linux-tdep.c (x86_64_linux_sc_reg_offset): Don't
- explicitly specify size of array.
- (x86_64_linux_init_abi): Use ARRAY_SIZE to initialize
- TDEP->sc_num_regs.
-
-2003-10-31 Andrew Cagney <cagney@redhat.com>
-
- * s390-tdep.c (s390_cannot_extract_struct_value_address): New
- function.
- (s390_gdbarch_init): Set extract_struct_value_address.
- * arch-utils.c (generic_cannot_extract_struct_value_address):
- Delete function.
- * arch-utils.h (generic_cannot_extract_struct_value_address):
- Delete definition.
-
-2003-10-31 Mark Kettenis <kettenis@gnu.org>
-
- * i386-linux-nat.c (fetch_core_registers): Remove.
- (linux_elf_core_fns): Remove.
- (_initialize_i386_linux_nat): Remove.
-
-2003-10-31 Andrew Cagney <cagney@redhat.com>
-
- * solib-svr4.c: Update copyright. Include "bfd-target.h" and
- "exec.h".
- (exec_entry_point): New function.
- (enable_break): Create a "tmp_bfd_target", use that and
- entry_point_address when computing the relocation offset.
- (svr4_relocate_main_executable): Ditto with exec_bfd and exec_ops.
- * Makefile.in (solib-svr4.o): Update dependencies.
-
-2003-10-31 Andrew Cagney <cagney@redhat.com>
-
- * defs.h (XZALLOC): Define.
- * target.h (struct target_ops): Add "to_data";
- * bfd-target.h, bfd-target.c: New files.
- * Makefile.in (SFILES): Add "bfd-target.c".
- (COMMON_OBS): Add "bfd-target.o".
- (bfd-target.o): Specify dependencies.
- (bfd_target_h): Define.
- * defs.h (XZALLOC): Define.
-
-2003-10-31 Andrew Cagney <cagney@redhat.com>
-
- * rs6000-tdep.c (rs6000_gdbarch_init): For 64-bit ABI, set
- adjust_breakpoint_address.
- * Makefile.in (ppc-sysv-tdep.o): Add $(target_h).
- * ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Declare.
- * ppc-sysv-tdep.c: Include "target.h". Update copyright.
- (ppc64_sysv_abi_adjust_breakpoint_address): New function.
-
-2003-10-31 Andrew Cagney <cagney@redhat.com>
-
- * target.h (struct target_ops): Replace "to_read_partial" and
- "to_write_partial" with "to_xfer_partial". Update comments.
- * target.c (debug_to_write_partial): Delete function.
- (debug_to_xfer_partial): Replace debug_to_read_partial.
- (add_target, update_current_target, setup_target_debug): Set
- "to_xfer_partial" instead of "to_read_partial" and
- "to_write_partial".
- (default_xfer_partial): Replace "default_write_partial".
- (default_read_partial): Delete.
- (target_read_partial, target_write_partial): Call
- "to_xfer_partial".
- * remote.c (init_remote_ops): Set "to_xfer_partial".
- (init_remote_async_ops): Ditto.
- (remote_xfer_partial): Replace "remote_read_partial".
-
-2003-10-31 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c (i386_supply_fpregset): Support floating-point
- registers in `fxsave' format.
- (i386_regset_from_core_section): Deal with ".reg-xfp" sections.
-
-2003-10-30 Mark Kettenis <kettenis@gnu.org>
-
- * i386-linux-tdep.c (i386_linux_gregset_reg_offset): New variable.
- (i386_linux_init_abi): Initialize TDEP->gregset_reg_offset,
- TDEP->gregset_num_regs and tdep->sizeof_gregset.
-
- * i386-linux-tdep.c (i386_linux_sc_reg_offset): Don't explicitly
- specify size of array.
- (i386_linux_init_abi): Remove initialization of
- TDEP->num_xmm_regs. Use I386_LINUX_NUM_REGS for number of
- registers. Use ARRAY_SIZE to initialize TDEP->sc_num_regs.
-
- * config/i386/fbsd64.mt (TDEPFILES): Add corelow.o.
- * config/i386/fbsd64.mh (NATDEPFILES): Remove corelow.o and
- core-regset.o.
-
- * fbsd-proc.c (fbsd_make_corefile_notes): Put a "FreeBSD" label in
- the ELF header.
-
-2003-10-29 Mark Kettenis <kettenis@gnu.org>
-
- * config/i386/fbsd.mt (TDEPFILES): Add corelow.o.
- * config/i386/fbsd.mh (NATDEPFILES): Remove corelow.o and
- core-regset.o.
-
- * fbsd-proc.c (fbsd_make_corefile_notes): Remove unecessary casts.
-
- * corelow.c: Include "arch-utils.h", "regset.h" and
- "gdb_assert.h".
- (core_gdbarch): New variable.
- (sniff_core_bfd): Don't sniff if we have support for register sets
- in CORE_GDBARCH.
- (core_close): Reset CORE_GDBARCH.
- (core_open): Initialize CORE_GDBARCH.
- (get_core_register_section): Use register sets if they are
- supported by CORE_GDBARCH.
- (get_core_registers): Don't print error message if we have support
- for register sets in CORE_GDBARCH.
-
-2003-10-29 Andrew Cagney <cagney@redhat.com>
-
- * ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Instead of the
- default PPC machine, register 32-bit and 64-bit PPC, and rs6k.
-
-2003-10-29 Mark Kettenis <kettenis@gnu.org>
-
- * objfiles.h (clear_objfile_data): New prototype.
- * objfiles.c (clear_objfile_data): New function.
- * symfile.c (reread_symbols): Clear per-objfile data.
-
-2003-10-28 Jeff Johnston <jjohnstn@redhat.com>
-
- * symfile.c (symbol_file_add_with_addrs_or_offsets): Switch to use
- printf_unfiltered instead of printf_filtered for output messages.
- (add_symbol_file_command): Ditto.
- (reread_symbols): Ditto.
- (overlay_auto_command): Ditto.
- (overlay_manual_command): Ditto.
- (overlay_off_command): Ditto.
-
-2003-10-27 Mark Kettenis <kettenis@gnu.org>
-
- * arch-utils.c (deprecated_select_gdbarch_hack): New function.
- (gdbarch_from_bfd): New function.
- (set_gdbarch_from_file): Re-implement using gdbarch_from_bfd and
- deprecated_select_gdbarch_hack.
- * arch-utils.h (gdbarch_from_bfd): New prototype.
-
-2003-10-27 Andrew Cagney <cagney@redhat.com>
-
- * osabi.c (gdbarch_init_osabi): Use info.bfd_arch_info instead of
- arch_info. Use warning instead of fprintf_filtered. Do not use
- deprecated bfd_printable_arch_mach.
-
-2003-10-26 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (frv_register_raw_size, frv_register_virtual_size):
- Delete.
- (frv_register_type): Rename from frv_register_virtual_type. Add
- ``struct gdbarch *'' parameter.
- (frv_gdbarch_init): Delete calls to the following functions:
- set_gdbarch_deprecated_size(),
- set_gdbarch_deprecated_register_bytes(),
- set_gdbarch_deprecated_register_raw_size(),
- set_gdbarch_deprecated_max_register_raw_size(),
- set_gdbarch_deprecated_register_virtual_size(),
- set_gdbarch_deprecated_max_register_virtual_size(),
- set_gdbarch_deprecated_register_virtual_size(),
- set_gdbarch_deprecated_register_virtual_type().
- Add call to function set_gdbarch_register_type().
-
-2003-10-26 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.h (FCS_REGNUM, FCOFF_REGNUM, FDS_REGNUM,
- FDOFF_REGNUM): Remove defines.
- * win32-nat.c (do_child_fetch_inferior_registers): Include
- "i387-tdep.h".
- (do_child_fetch_inferior_registers): Use I387_FISEG_REGNUM and
- I387_FOP_REGNUM instead of FCS_REGNUM and FOP_REGNUM. Define and
- undefine I387_ST0_REGNUM.
-
- * i386-tdep.h (FPU_REG_RAW_SIZE): Remove define.
- * x86-64-tdep.c (x86_64_store_return_value): Use
- I386_MAX_REGISTER_SIZE instead of FPU_REG_RAW_SIZE.
-
- Change register numbers to enumartion values.
- * i386-tdep.h (enum i386_regnum): New.
- (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM,
- I386_EBP_REGNUM, I386_IP_REGNUM, I386_EFLAGS_REGNUM,
- I386_ST0_REGNUM): Remove defines.
- * i386-tdep.c (I386_EBX_REGNUM, I386_ECX_REGNUM, I386_ESI_REGNUM,
- I386_EDI_REGNUM): Remove defines.
-
-2003-10-24 Andrew Cagney <cagney@redhat.com>
-
- * target.c: Include "gdbcore.h".
- (get_target_memory, get_target_memory_unsigned): New functions.
- * target.h (get_target_memory, get_target_memory_unsigned): Declare.
- * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr):
- Use get_target_memory_unsigned.
- * Makefile.in (target.o): Update dependencies.
-
-2003-10-24 Andrew Cagney <cagney@redhat.com>
-
- * osabi.c (gdbarch_init_osabi): Fix typos, and "fortunatly"[sic].
- * PROBLEMS, arch-utils.c, cli-out.c, command.h: Ditto.
- * complaints.c, cris-tdep.c, disasm.c, dwarf2-frame.c: Ditto.
- * frame.c, frame.h, infcall.c, infcmd.c, infrun.c: Ditto.
- * kod.c, mips-tdep.c, regcache.c, regcache.h, remote.c: Ditto.
-
- * osabi.c (gdbarch_init_osabi): Add comment on 32-bit vs 64-bit.
- (can_run_code_for): Use the OO term "singleton".
-
-2003-10-23 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (stack.o): Add $(regcache_h).
- * stack.c: Include "regcache.h"
- (return_command): Rewrite. Use get_frame_id and
- get_selected_frame. Eliminate "deprecated_selected_frame". Warn
- about unhandled return-values.
- * value.h (set_return_value): Delete declaration.
- * values.c (set_return_value): Delete function.
-
-2003-10-23 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-tdep.c: (ia64_frame_cache): Add new prev_cfm field.
- (pseudo_regs): Add comment regarding register stack registers.
- (ia64_alloc_frame_cache): Initialize new prev_cfm field to 0.
- (floatformat_valid): New static routine.
- (floatformat_ia64_ext): Add name field and set up is_valid routine
- to floatformat_valid().
- (examine_prologue): For the previous cfm, use
- frame_unwind_register()
- if the cfm is not stored in a register-stack register. Save the
- previous cfm value in the prev_cfm field. Add debug output.
- (ia64_frame_this_id): Use frame_id_build_special() to also register
- the bsp. Add debug output.
- (ia64_sigtramp_frame_this_id): Ditto.
- (ia64_frame_prev_register): Look at cache saved_regs for a few more
- registers and also add some checks for framelessness before accepting
- current register values for fields such as return address. For cfm,
- use the cached prev_cfm field if available. Add comment to explain
- PSR logic. Add debug output.
- (ia64_sigtramp_frame_init_saved_regs): Save the bsp and sp addresses
- as part of initialization.
- (ia64_sigtramp_frame_cache): Hard-code stack size as it can't be
- calculated. Cache the bsp and cfm values.
- (ia64_sigtramp_frame_prev_register): Add logic to this routine out
- instead of using ia64_frame_prev_register() which doesn't expect most
- registers to be saved. The saved values for bsp and sp
- can be taken from the cache. Add debug output.
- (ia64_push_dummy_call): Use frame_id_build_special() to also register
- the bsp.
-
-2003-10-23 Jim Blandy <jimb@redhat.com>
-
- * osabi.c (gdbarch_init_osabi): A handler is okay if it's for an
- architecture the current arch can run code for --- but not if it's
- a superset.
- (can_run_code_for): New function.
-
-2003-10-22 James E Wilson <wilson@specifixinc.com>
-
- * MAINTAINERS: Move myself from paper trail section back to write
- after approval section.
-
-2003-10-22 Andrew Cagney <cagney@redhat.com>
-
- * exec.h: New file.
- * win32-nat.c: Include "exec.h".
- * solib.c: Include "exec.h".
- * target.h (build_section_table): Delete declaration.
- * somsolib.c: Include "exec.h".
- (exec_ops): Delete extern declaration.
- * rs6000-nat.c: Update copyright. Include "exec.h".
- (exec_ops): Delete extern declaration.
- * pa64solib.c: Update copyright. Include "exec.h".
- (exec_ops): Delete extern declaration.
- * exec.c: Update copyright. Include "exec.h".
- * corelow.c: Update dependencies. Include "exec.h".
- * Makefile.in (exec_h): Define.
- (exec.o, somsolib.o): Update dependencies.
- (pa64solib.o, corelow.o): Update dependencies.
-
-2003-10-22 Andrew Cagney <cagney@redhat.com>
-
- * target.c: Include "gdb_assert.h" (target_read): Call
- "target_read_partial", not "target_write_partial".
- (default_read_partial, default_write_partial): New function.
- (target_read_partial, target_write_partial): Simplify, assume that
- there is always a read/write method.
- (update_current_target, add_target): Always set "to_read_partial"
- and "to_write_partial".
- (target_write, target_read): Fail on a zero byte transfer.
- * Makefile.in (target.o): Update dependencies.
- * target.h: Update copyright date.
- (target_object): Fix typo.
-
-2003-10-22 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (convert_from_func_ptr_addr): Convert to a pure
- multi-arch method, add "targ" parameter.
- (struct target_ops): Declare.
- * gdbarch.h, gdbarch.c: Re-generate.
- * Makefile.in (c-valprint.o): Update dependencies.
- * arch-utils.h: Update copyright.
- (convert_from_func_ptr_addr_identity): Declare.
- * arch-utils.c (convert_from_func_ptr_addr_identity): New function.
- * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update.
- * rs6000-tdep.c (rs6000_convert_from_func_ptr_addr): Upate.
- * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Update.
- * infcall.c (find_function_addr, call_function_by_hand): Update.
- * c-valprint.c: Include "target.h".
- (print_function_pointer_address): Update.
-
-2003-10-22 Andrew Cagney <cagney@redhat.com>
-
- * target.c (target_close): New function.
- (debug_to_close): Use "target_close".
- (push_target): Use "target_close".
- (unpush_target): Use "target_close".
- (pop_target): Use "target_close".
- * target.h (struct target_ops): Add "to_xclose".
- (target_open): Delete macro. Move comment to "to_open".
- (target_close): Replace macro with function that takes a target.
- * top.c (quit_target): Pass "current_target" to "target_close".
-
-2003-10-21 Elena Zannoni <ezannoni@redhat.com>
-
- * minsyms.c (lookup_minimal_symbol_text): Remove unused parameter.
- Remove SOFUN_ADDRESS_MAYBE_MISSING ifdeffed code.
- * symtab.h (lookup_minimal_symbol_text): Update.
- * breakpoint.c (create_overlay_event_breakpoint,
- create_longjmp_breakpoint): Update callers.
- * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Update caller.
- * symtab.c (find_pc_sect_line): Ditto.
-
-2003-10-21 Andrew Cagney <cagney@redhat.com>
-
- * target.c (errno): Delete extern declaration.
-
-2003-10-20 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-tdep.c: Change all occurrences of
- DEPRECATED_REGISTER_RAW_SIZE to use register_size() instead.
- (ia64_frame_prev_register): Minor whitespace change.
-
-2003-10-20 Michael Chastain <mec@shout.net>
-
- * config/djgpp/fnchange.lst: Add lines for:
- sim/testsuite/sim/frv/interrupts/Ipipe-fr400.cgs,
- sim/testsuite/sim/frv/interrupts/Ipipe-fr500.cgs,
- sim/testsuite/sim/frv/interrupts/badalign-fr550.cgs,
- sim/testsuite/sim/frv/interrupts/compound-fr550.cgs,
- sim/testsuite/sim/frv/interrupts/data_store_error-fr550.cgs,
- sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs,
- sim/testsuite/sim/frv/interrupts/insn_access_error-fr550.cgs.
-
-2003-10-20 Andrew Cagney <cagney@redhat.com>
-
- * values.c (register_value_being_returned): Update comments. Use
- "gdbarch_return_value" when available.
- (using_struct_return): Ditto.
- (set_return_value): Ditto. Use "gdbarch_return_value" when
- available.. Print a warning, and not an error, when an unhandled
- return type is encountered.
- * infcmd.c: Include "gdb_assert.h".
- (print_return_value): When gdbarch_return_value_p, and using
- struct return, assume that the value is not available.
- * defs.h (return_value_convention): Define.
- * gdbarch.sh (gdbarch_return_value): New predicate method.
- * gdbarch.h, gdbarch.c: Re-generate
- * ppc-sysv-tdep.c (return_value_convention): Delete definition.
-
-2003-10-20 Andrew Cagney <cagney@redhat.com>
-
- * symtab.c: Replace "struct sec" with "struct bfd_section".
- * objfiles.c, linespec.c, blockframe.c, block.c: Ditto.
-
-2003-10-19 Michael Chastain <mec@shout.net>
-
- * config/djgpp/fnchange.lst: Add lines for:
- gdb/amd64nbsd-nat.c, gdb/amd64nbsd-tdep.c,
- gdb/i386fbsd-nat.c, gdb/i386fbsd-tdep.c,
- gdb/sparc64fbsd-nat.c, gdb/sparc64bsd-tdep.c.
-
-2003-10-19 Mark Kettenis <kettenis@gnu.org>
-
- * amd64fbsd-nat.c (fetch_inferior_registers,
- store_inferior_registers): Remove functions.
- * config/i386/fbsd64.mh (NATDEPFILES): Add amd64bsd-nat.o.
-
-2003-10-18 Mark Kettenis <kettenis@gnu.org>
-
- Add NetBSD/amd64 native configuration:
- * x86-64-tdep.h (amd64nbsd_r_reg_offset): Add extern declarations.
- * amd64nbsd-tdep.c: New file.
- * amd64nbsd-nat.c: New file.
- * amd64bsd-nat.c: New file.
- * config/i386/nbsd64.mh: New file.
- * config/i386/nbsd64.mt: New file.
- * configure.host: Add x86_64-*-netbsd*.
- * configure.tgt: Add x86_64-*-netbsd*.
- * Makefile.in (amd64bsd-nat.o, amd64nbsd-nat.o, amd64nbsd-tdep.o):
- New targets.
- * NEWS (New native configurations): Mention NetBSD/amd64.
-
-2003-10-17 Michael Chastain <mec@shout.net>
-
- * config/djgpp/fnchange.lst: Remove dead lines for:
- bfd/elf32-i386qnx.c, bfd/elf32-ppcqnx.c, bfd/elf32-shqnx.c,
- bfd/elf32-sh-lin.c, bfd/elf32-sh-nbsd.c, bfd/elf32-sh64-nbsd.c,
- bfd/elf64-alpha-fbsd.c, bfd/elf64-sh64-nbsd.c,
- gdb/alphanbsd-nat.c, gdb/config/i386/tm-i386mk.h,
- gdb/config/i386/tm-i386v42mp.h, gdb/config/i386/xm-i386mach.h,
- gdb/config/i386/xm-i386mk.h, gdb/config/i386/xm-i386v32.h,
- gdb/config/m68k/apollo68v.mh, gdb/config/m68k/nm-apollo68v.h,
- gdb/config/m68k/xm-apollo68v.h, gdb/config/m88k/tm-delta88v4.h,
- gdb/config/mips/tm-bigmips64.h, gdb/config/mips/tm-embed64.h,
- gdb/config/mips/tm-embedl.h, gdb/config/mips/tm-embedl64.h,
- gdb/config/mips/tm-vr4300el.h, gdb/config/mips/tm-vr4xxxel.h,
- gdb/config/mips/tm-vr5000el.h, gdb/config/sparc/tm-sparclet.h,
- gdb/config/sparc/tm-sparclite.h,
- gdb/gdbtk/generic/ChangeLog-2001,
- gdb/gdbtk/library/ChangeLog-2001, gdb/remote-adapt.c,
- gdb/remote-eb.c, gdb/remote-mm.c, gdb/remote-nrom.c,
- gdb/remote-udi.c, gdb/remote-vx29k.c, gdb/remote-vx960.c,
- gdb/sparclet-rom.c, gdb/sparclet-stub.c,
- gdb/testsuite/gdb.mi/mi0-var-block.exp,
- gdb/testsuite/gdb.mi/mi0-var-child.exp,
- gdb/testsuite/gdb.mi/mi0-var-cmd.exp,
- gdb/testsuite/gdb.mi/mi0-var-display.exp,
- itcl/iwidgets3.0.0/demos/extfileselectionbox,
- itcl/iwidgets3.0.0/demos/extfileselectiondialog,
- itcl/iwidgets3.0.0/demos/fileselectionbox,
- itcl/iwidgets3.0.0/demos/fileselectiondialog,
- itcl/iwidgets3.0.0/demos/html/buttonbox.n.html,
- itcl/iwidgets3.0.0/demos/html/canvasprintbox.n.html,
- itcl/iwidgets3.0.0/demos/html/canvasprintdialog.n.html,
- itcl/iwidgets3.0.0/demos/html/combobox.n.html,
- itcl/iwidgets3.0.0/demos/html/dialog.n.html,
- itcl/iwidgets3.0.0/demos/html/dialogshell.n.html,
- itcl/iwidgets3.0.0/demos/html/entryfield.n.html,
- itcl/iwidgets3.0.0/demos/html/feedback.n.html,
- itcl/iwidgets3.0.0/demos/html/fileselectionbox.n.html,
- itcl/iwidgets3.0.0/demos/html/fileselectiondialog.n.html,
- itcl/iwidgets3.0.0/demos/html/hyperhelp.n.html,
- itcl/iwidgets3.0.0/demos/html/iwidgets2.2.0UserCmds.html,
- itcl/iwidgets3.0.0/demos/html/labeledwidget.n.html,
- itcl/iwidgets3.0.0/demos/html/menubar.n.html,
- itcl/iwidgets3.0.0/demos/html/messagedialog.n.html,
- itcl/iwidgets3.0.0/demos/html/notebook.n.html,
- itcl/iwidgets3.0.0/demos/html/optionmenu.n.html,
- itcl/iwidgets3.0.0/demos/html/panedwindow.n.html,
- itcl/iwidgets3.0.0/demos/html/promptdialog.n.html,
- itcl/iwidgets3.0.0/demos/html/pushbutton.n.html,
- itcl/iwidgets3.0.0/demos/html/radiobox.n.html,
- itcl/iwidgets3.0.0/demos/html/scrolledcanvas.n.html,
- itcl/iwidgets3.0.0/demos/html/scrolledframe.n.html,
- itcl/iwidgets3.0.0/demos/html/scrolledhtml.n.html,
- itcl/iwidgets3.0.0/demos/html/scrolledlistbox.n.html,
- itcl/iwidgets3.0.0/demos/html/scrolledtext.n.html,
- itcl/iwidgets3.0.0/demos/html/selectionbox.n.html,
- itcl/iwidgets3.0.0/demos/html/selectiondialog.n.html,
- itcl/iwidgets3.0.0/demos/html/shell.n.html,
- itcl/iwidgets3.0.0/demos/html/spindate.n.html,
- itcl/iwidgets3.0.0/demos/html/spinint.n.html,
- itcl/iwidgets3.0.0/demos/html/spinner.n.html,
- itcl/iwidgets3.0.0/demos/html/spintime.n.html,
- itcl/iwidgets3.0.0/demos/html/tabnotebook.n.html,
- itcl/iwidgets3.0.0/demos/html/tabset.n.html,
- itcl/iwidgets3.0.0/demos/html/toolbar.n.html,
- itcl/iwidgets3.0.0/demos/scrolledcanvas,
- itcl/iwidgets3.0.0/demos/scrolledframe,
- itcl/iwidgets3.0.0/demos/scrolledhtml,
- itcl/iwidgets3.0.0/demos/scrolledlistbox,
- itcl/iwidgets3.0.0/demos/scrolledtext,
- itcl/iwidgets3.0.0/demos/selectionbox,
- itcl/iwidgets3.0.0/demos/selectiondialog,
- itcl/iwidgets3.0.0/doc/canvasprintbox.n,
- itcl/iwidgets3.0.0/doc/canvasprintdialog.n,
- itcl/iwidgets3.0.0/doc/extfileselectionbox.n,
- itcl/iwidgets3.0.0/doc/extfileselectiondialog.n,
- itcl/iwidgets3.0.0/doc/fileselectionbox.n,
- itcl/iwidgets3.0.0/doc/fileselectiondialog.n,
- itcl/iwidgets3.0.0/doc/scopedobject.n.backup,
- itcl/iwidgets3.0.0/doc/scrolledcanvas.n,
- itcl/iwidgets3.0.0/doc/scrolledframe.n,
- itcl/iwidgets3.0.0/doc/scrolledhtml.n,
- itcl/iwidgets3.0.0/doc/scrolledlistbox.n,
- itcl/iwidgets3.0.0/doc/scrolledtext.n,
- itcl/iwidgets3.0.0/doc/selectionbox.n,
- itcl/iwidgets3.0.0/doc/selectiondialog.n,
- itcl/iwidgets3.0.0/generic/canvasprintbox.itk,
- itcl/iwidgets3.0.0/generic/canvasprintdialog.itk,
- itcl/iwidgets3.0.0/generic/extfileselectionbox.itk,
- itcl/iwidgets3.0.0/generic/extfileselectiondialog.itk,
- itcl/iwidgets3.0.0/generic/fileselectionbox.itk,
- itcl/iwidgets3.0.0/generic/fileselectiondialog.itk,
- itcl/iwidgets3.0.0/generic/scrolledcanvas.itk,
- itcl/iwidgets3.0.0/generic/scrolledframe.itk,
- itcl/iwidgets3.0.0/generic/scrolledhtml.itk,
- itcl/iwidgets3.0.0/generic/scrolledlistbox.itk,
- itcl/iwidgets3.0.0/generic/scrolledtext.itk,
- itcl/iwidgets3.0.0/generic/scrolledwidget.itk,
- itcl/iwidgets3.0.0/generic/selectionbox.itk,
- itcl/iwidgets3.0.0/generic/selectiondialog.itk,
- itcl/iwidgets3.0.0/tests/canvasprintbox.test,
- itcl/iwidgets3.0.0/tests/canvasprintdialog.test,
- itcl/iwidgets3.0.0/tests/extfileselectionbox.test,
- itcl/iwidgets3.0.0/tests/extfileselectiondialog.test,
- itcl/iwidgets3.0.0/tests/fileselectionbox.test,
- itcl/iwidgets3.0.0/tests/fileselectiondialog.test,
- itcl/iwidgets3.0.0/tests/scrolledcanvas.test,
- itcl/iwidgets3.0.0/tests/scrolledframe.test,
- itcl/iwidgets3.0.0/tests/scrolledhtml.test,
- itcl/iwidgets3.0.0/tests/scrolledlistbox.test,
- itcl/iwidgets3.0.0/tests/scrolledtext.test,
- itcl/iwidgets3.0.0/tests/selectionbox.test,
- itcl/iwidgets3.0.0/tests/selectiondialog.test,
- itcl/iwidgets3.0.0/unix/iwidgets.tcl.in,
- itcl/iwidgets3.0.0/unix/pkgIndex.tcl.in,
- tix/docs/Release-4.1.0.html, tix/docs/Release-4.1.0.txt,
- tix/docs/Release-4.1a2.html, tix/docs/Release-4.1a2.txt,
- tix/docs/Release-4.1a3.html, tix/docs/Release-4.1a3.txt,
- tix/docs/Release-4.1b1.html, tix/docs/Release-4.1b1.txt,
- tix/docs/Release-4.1b2.html, tix/docs/Release-4.1b2.txt,
- tix/tixConfig.sh.in, tix/unix/tk4.2/pkgIndex.tcl.in,
- tix/unix/tk8.0/pkgIndex.tcl.in, tix/unix/tk8.0/pkgIndex.tcl.in,
- tix/unix/tk8.1/pkgIndex.tcl.in, tix/win/tkConsole41.c,
- tix/win/tkConsole42.c, tix/win/tkConsole80a1.c,
- tix/win/tkConsole80b1.c, tix/win/tkConsole81.c, tk/doc/tk4.0.ps,
- tk/mac/tkMacProjects.sit.hqx.
-
-2003-10-17 Andrew Cagney <cagney@redhat.com>
-
- * target.c (target_section_by_addr): New function.
- (do_xfer_memory): Use "target_section_by_addr".
- * target.h (target_section_by_addr): Declare.
-
- * target.h (struct target_ops): Add "to_read_partial" and
- "to_write_partial", delete "to_query".
- (target_read_partial, target_write_partial): Declare.
- (target_read, target_write): Declare.
- (target_query): Delete macro.
- * target.c (target_read_partial): New function.
- (target_write_partial, target_read, target_write): New function.
- (update_current_target): Delete inheritance of "to_query". Add
- comments about "to_read_partial" and "to_write_partial".
- (debug_to_partial_read, debug_to_partial_write): New functions.
- (debug_to_query): Delete function.
- (setup_target_debug): Set "to_read_partial" and "to_write_partial"
- instead of "to_query".
- * remote.c (remote_read_partial): Replace "remote_query".
- (init_remote_ops): Set "to_read_partial" instead of "to_query".
- (init_remote_async_ops): Ditto.
- * kod.c (gdb_kod_query): Make "bufsize" a LONGEST. Use
- "target_read_partial" instead of "target_query".
- * avr-tdep.c (avr_io_reg_read_command): Make "bufsize" a LONGEST.
- Use "target_read_partial" instead of "target_query".
-
-2003-10-17 Jeff Johnston <jjohnstn@redhat.com>
-
- * frame.h (struct frame_id): Add new field: special_addr.
- (frame_id_build_special): New prototype.
- * frame.c (frame_id_build_special): New function.
- (frame_id_build): Change to call frame_id_build_special().
- (frame_id_eq): Change to also test special_addr field.
- (frame_id_inner): Update comment.
-
-2003-10-17 Andrew Cagney <cagney@redhat.com>
-
- * target.c (update_current_target): Perform the target cleanup.
- Put the target stack beneath the squashed "current_target".
- (add_target): Delete disabled call to "cleanup_target".
- (cleanup_target): Delete function.
- (push_target, unpush_target): Do not call "cleanup_target".
-
-2003-10-17 Andrew Cagney <cagney@redhat.com>
-
- * target.c (target_stack): Change to a static target_ops.
- (update_current_target): Walk the "struct target_ops" stack.
- (pop_target, do_xfer_memory, target_info): Ditto.
- (find_target_beneath): Ditto.
- (push_target): Rewrite to use the "struct target_ops" stack.
- (unpush_target): Ditto.
- * target.h (struct target_stack_item): Delete definition.
- (target_stack): Delete declaration.
- (struct target_ops): Add field "beneath".
-
-2003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com>
-
- * gdb/config/h8300/tm-h8300.h (h8300_normal_mode): Add external
- declaration.
- * gdb/h8300-tdep.c (BINWORD): Update BINWORD for h8300_normal_mode
- (h8300_examine_prologue): Use h8300_normal_mode flag
- (h8300_gdbarch_init): Set architecture info for normal mode
-
-2003-10-16 Daniel Jacobowitz <drow@mvista.com>
-
- * remote.c (remote_protocol_vcont): New variable.
- (set_remote_protocol_vcont_packet_cmd): New function.
- (show_remote_protocol_vcont_packet_cmd): New function.
- (init_all_packet_configs): Handle remote_protocol_vcont.
- (remote_vcont_probe): New function.
- (remote_vcont_resume): New function.
- (remote_resume): Use it.
- (remote_async_resume): Call remote_resume.
- (_initialize_remote): Add verbose-resume packet commands.
-
-2003-10-16 Andrew Cagney <cagney@redhat.com>
-
- * infrun.c (handle_inferior_event): Add comment about
- "frame_id_inner" being too weak.
-
-2003-10-16 Elena Zannoni <ezannoni@redhat.com>
-
- * minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove
- second parameter, which is always null. Remove
- SOFUN_ADDRESS_MAYBE_MISSING ifdeffed code.
- * symtab.h (lookup_minimal_symbol_solib_trampoline): Update
- accordingly.
- * somsolib.c (som_solib_create_inferior_hook,
- som_solib_desire_dynamic_linker_symbols): Update callers.
- * hppa-tdep.c (hppa_fix_call_dummy): Ditto.
-
-2003-10-16 Kei Sakamoto <sakamoto.kei@renesas.com>
-
- * remote-m32r-sdi.c : New file, interface to m32r on-chip
- debug interface, SDI (Scalable Debug Interface).
- * NEWS: Mention m32r SDI protocol was supported.
- * Makefile.in (remote-m32r-sdi.o): Add build rule.
- * config/m32r/m32r.mt (TDEPFILES) : Add remote-m32r-sdi.o.
-
-2003-10-15 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-linux-tdep.c: Include gdbcore.h.
- (IA64_LINUX_SIGCONTEXT_OFFSET): Magic constant removed.
- (ia64_linux_sigcontext_register_addr): Find the address of the
- sigcontext area stored in the sigframe instead of using
- a magic offset constant.
-
-2003-10-15 Andrew Cagney <cagney@redhat.com>
-
- * remote.c (remote_search): Delete function.
- * target.h (target_search): Delete disabled macro.
- (struct target_ops): Delete disabled field "to_search".
-
-2003-10-14 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (frv_frame_this_id): Call inside_entry_func()
- instead of deprecated_inside_entry_file().
-
-2003-10-14 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c: Fix copy/paste hangover in comment.
- (sh_push_dummy_call_fpu): Accomodate double passing in little endian
- mode.
- (sh3e_sh4_extract_return_value): Ditto.
-
-2003-10-13 Richard Henderson <rth@redhat.com>
-
- * f-typeprint.c (f_type_print_base): Handle TYPE_CODE_REF.
- * f-valprint.c (f_val_print): Likewise. Tweak TYPE_CODE_PTR to
- match c_val_print a bit closer.
-
-2003-10-13 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (max_instrs_per_bundle, frv_instr_size): New constants.
- (frv_gdbarch_adjust_breakpoint_address): New function.
- (frv_gdbarch_init): Initialize ``gdbarch_adjust_breakpoint_address''
- method.
-
-2003-10-13 Kevin Buettner <kevinb@redhat.com>
-
- * breakpoint.h (struct breakpoint): Add new member
- ``requested_address''.
- * breakpoint.c (breakpoint_adjustment_warning)
- (adjust_breakpoint_address): New static functions.
- (print_it_typical): Issue warning if breakpoint's address is different
- from its requested address.
- (set_raw_breakpoint, set_longjmp_resume_breakpoint, watch_command_1)
- (breakpoint_re_set_one): Set breakpoint's
- ``requested_address'' field. Set ``address'' field to the
- result of calling adjust_breakpoint_address() on the requested
- address.
-
-2003-10-13 Kevin Buettner <kevinb@redhat.com>
-
- * gdbarch.sh (ADJUST_BREAKPOINT_ADDRESS): New method.
- * gdbarch.h, gdbarch.c: Regenerate.
-
-2003-10-11 Mark Kettenis <kettenis@gnu.org>
-
- * i386bsd-tdep.c (i386bsd_init_abi): Use ARRAY_SIZE to initialize
- TDEP->sc_num_regs.
-
- * i386fbsd-tdep.c: New file.
- (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end,
- i386fbsd_sc_reg_offset, i386fbsdaout_init_abi, i386fbsd_init_abi,
- i386fbsd4_sc_reg_offset, i386fbsd4_init_abi): Move here from
- i386bsd-tdep.c.
- (_initialize_i386fbsd_tdep): New function.
- (i386fbsd_r_reg_offset, i386fbsd4_r_reg_offset): New varibles.
- (i386fbsdaout_init_abi): Initialize TDEP->gregset_reg_offset,
- TDEP->gregset_num_regs, TDEP->sizeof_gregset and
- TDEP->sizeof_fpregset. Use ARRAY_SIZE to initialize
- TDEP->sc_num_regs.
- (i386fbsd4_init_abi): Initialize TDEP->gregset_reg_offset,
- TDEP->gregset_num_regs and TDEP->sizeof_gregset. Use ARRAY_SIZE
- to initialize TDEP->sc_num_regs.
- * i386bsd-tdep.c (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end,
- i386fbsd_sc_reg_offset, i386fbsdaout_init_abi, i386fbsd_init_abi,
- i386fbsd4_sc_reg_offset, i386fbsd4_init_abi): Remove.
- (_initialize_i386bsd_tdep): Don't register FreeBSD a.out and
- FreeBSD ELF OS/ABI's here.
- * Makefile.in (ALLDEPFILES): Add i386fbsd-tdep.c.
- (i386fbsd-tdep.o): New target.
- * config/i386/fbsd.mt (TDEPFILES): Add i386fbsd-tdep.o.
- * config/i386/fbsd64.mt (TDEPFILES): Add i386fbsd-tdep.o.
-
- * amd64fbsd-tdep.c (amd64fbsd_r_reg_offset): New variable.
- (amd64fbsd_init_abi): Set TDEP->gregset_reg_offset,
- TDEP->gregset_num_regs and TDEP->sizeof_gregset. Use ARRAY_SIZE
- in initialization of TDEP->sc_num_regs.
-
- * x86-64-tdep.c (x86_64_regset_from_core_section): New function.
- (x86_64_init_abi): Initialize regset_from_core_section if
- appropriate.
-
- * i386-tdep.c (i386_regset_from_core_section): New function.
- (i386_gdbarch_init): Initialize regset_from_core_section if
- appropriate.
- * i386-tdep.h (i386_regset_from_core_section): New declaration.
-
- * i386-tdep.h (struct regset): Declare opaque.
-
- * gdbarch.sh (regset_from_core_section): New method.
- (struct regset): Declare opaque.
- * gdbarch.c, gdbarch.h: Regenerated.
-
-2003-10-11 Alan Modra <amodra@bigpond.net.au>
-
- * hppa-tdep.c (hppa_in_solib_call_trampoline): Don't refer directly to
- _cooked_size and vma; Use bfd_section_size and bfd_get_section_vma.
- Correct test for pc within section.
-
-2003-10-11 Mark Kettenis <kettenis@gnu.org>
-
- * gdbarch.sh: Remove trailing whitepsace from comments.
-
-2003-10-08 Roland McGrath <roland@redhat.com>
-
- * gcore.c (make_mem_sec): Function removed, folded into ...
- (gcore_create_callback): ... here. To omit a section, clear its
- SEC_LOAD bit rather than zeroing its size.
- Omit read-only sections only if they correspond to a known disk file.
- (gcore_copy_callback): Ignore sections without SEC_LOAD flag set.
-
-2003-10-10 Michael Snyder <msnyder@redhat.com>
-
- * d10v-tdep.c: Fix typo in comment.
-
-2003-10-10 Andrew Cagney <cagney@redhat.com>
-
- * rs6000-tdep.c (e500_store_return_value): Delete function.
- (e500_extract_return_value): Delete function.
- (rs6000_gdbarch_init): When SYSV, set "extract_return_value" and
- "restore_return_value" to "ppc_sysv_abi_extract_return_value" and
- "ppc_sysv_abi_restore_return_value" where applicable.
- * ppc-tdep.h: (ppc_sysv_abi_store_return_value): Declare.
- (ppc_sysv_abi_extract_return_value): Declare.
- (ppc_sysv_abi_broken_store_return_value): Declare.
- (ppc_sysv_abi_broken_extract_return_value): Declare.
- (ppc_sysv_abi_broken_use_struct_convention:) Delete declaration.
- * ppc-sysv-tdep.c (return_value_convention): Move definition to
- start of file.
- (do_ppc_sysv_return_value): New function.
- (ppc_sysv_abi_extract_return_value): New function.
- (ppc_sysv_abi_store_return_value): New function.
- (ppc_sysv_abi_broken_extract_return_value): New function.
- (ppc_sysv_abi_broken_store_return_value): New function.
- (ppc_sysv_abi_use_struct_convention): Call
- do_ppc_sysv_return_value.
-
-2003-10-10 J. Brobecker <brobecker@gnat.com>
-
- * blockframe.c (inside_main_func): No longer use symbol_lookup()
- to lookup the main function symbol.
-
-2003-10-10 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c (sh_treat_as_flt_p): New function to recognize float
- types correctly.
- (sh_push_dummy_call_fpu): Fix argument passing rules.
- (sh3e_sh4_extract_return_value): Call sh_treat_as_flt_p to recognize
- float types.
- (sh3e_sh4_store_return_value): Ditto.
-
-2003-10-10 Elena Zannoni <ezannoni@redhat.com>
-
- * sh-tdep.c (sh_use_struct_convention): Clarify one case in
- comment.
-
-2003-10-10 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c (sh_use_struct_convention): Clean up to have a
- more readable code. Accomodate passing of bitfields.
-
-2003-10-10 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (ppc-sysv-tdep.o): Add $(gdb_assert_h).
- * rs6000-tdep.c (rs6000_gdbarch_init): When 64 bit SysV ABI, set
- push_dummy_call to ppc64_sysv_abi_push_dummy_call.
- * ppc-sysv-tdep.c: Include "gdb_assert.h".
- (ppc64_sysv_abi_push_dummy_call): New function.
- (ppc64_sysv_abi_broken_push_dummy_call): New function.
- * ppc-tdep.h (ppc64_sysv_abi_push_dummy_call): Declare.
- (ppc64_sysv_abi_broken_push_dummy_call): Declare.
-
-2003-10-10 Kei Sakamoto <sakamoto.kei@renesas.com>
-
- * NEWS: Replace "Hitachi" and "Mitsubishi" with "Renesas".
- * README: Ditto.
- * d10v-tdep.c: Ditto.
- * h8300-tdep.c: Ditto.
- * remote-e7000.c: Ditto.
- * remote-hms.c: Ditto.
- * ser-e7kpc.c: Ditto.
- * sh-stub.c: Ditto.
- * sh-tdep.c: Ditto.
- * sh-tdep.h: Ditto.
- * sh3-rom.c: Ditto.
- * sh64-tdep.c: Ditto.
- * top.c: Ditto.
- * wince.c: Ditto.
- * config/d10v/d10v.mt: Ditto.
- * config/sh/embed.mt: Ditto.
- * config/sh/linux.mt: Ditto.
- * config/sh/tm-linux.h: Ditto.
- * config/sh/tm-sh.h: Ditto.
- * config/sh/wince.mt: Ditto.
-
-2003-10-09 Andrew Cagney <cagney@redhat.com>
-
- * ppc-tdep.h (struct type): Declare opaque.
- * x86-64-tdep.h (struct regcache): Declare opaque.
- * sh-tdep.c (sh_do_fp_register): Delete "register" attribute, fix
- coding style.
-
-2003-10-09 Andrew Cagney <cagney@redhat.com>
-
- Changes from 2003-09-09 Jimi Xenidis <jimix@watson.ibm.com>:
- * config/rs6000/tm-rs6000.h (SOFTWARE_SINGLE_STEP): Delete macro.
- (SOFTWARE_SINGLE_STEP_P): Ditto.
- * config/powerpc/tm-ppc-eabi.h (SOFTWARE_SINGLE_STEP_P): Ditto.
- * config/powerpc/tm-linux.h (SOFTWARE_SINGLE_STEP): Ditto.
- (SOFTWARE_SINGLE_STEP_P): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): When AIX, set
- software_single_step to rs6000_software_single_step.
-
-2003-10-09 Andrew Cagney <cagney@redhat.com>
-
- * MAINTAINERS: Mark m32r-elf as buildable with -Werror.
-
-2003-10-09 Michael Snyder <msnyder@redhat.com>
-
- * frame.h: Fix typo in comment.
- * dummy-frame.c: Fix typo in comment.
- * d10v-tdep.c: Random whitespace/comment tweaks.
-
-2003-10-09 Elena Zannoni <ezannoni@redhat.com>
-
- * sh-tdep.c (sh_gdbarch_init): Delete setting of push_dummy_code.
- (sh_push_dummy_code): Delete function, it's only used for dummy calls
- on stack.
-
- Based on input by Stephen Clarke (stephen.clarke@superh.com):
- * sh-tdep.c (sh_use_struct_convention): Add comment explaining ABI
- in detail.
-
-2003-10-09 Daniel Jacobowitz <drow@mvista.com>
-
- * remote-mips.c (mips_initialize): Remove unneeded call to
- get_selected_frame. Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
-
-2003-10-09 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2expr.c (execute_stack_op): Don't treat the frame base as
- a memory pointer.
-
-2003-10-08 Jeff Johnston <jjohnstn@redhat.com>
-
- * lin-lwp.c (stop_and_resume_callback): Set the resumed flag
- for any lwp we resume.
- (running_callback): Add lwps that have pending status events
- against them to be considered running.
-
-2003-10-08 Kei Sakamoto <sakamoto.kei@renesas.com>
-
- * m32r-tdep.c : Include "dis-asm.h".
- * Makefile.in (m32r-tdep.o): Update dependencies.
-
-2003-10-06 J. Brobecker <brobecker@gnat.com>
-
- * completer.h (get_gdb_completer_word_break_characters): Delete.
- * completer.c: include language.h.
- (gdb_completer_word_break_characters): Delete.
- (get_gdb_completer_word_break_characters): Delete.
- (location_completer): Use the word break characters of the current
- language.
- (complete_line): Likewise.
- (line_completion_function): Likewise.
- (skip_quoted_chars): Likewise.
- * Makefile.in (completer.o): Add dependency on language.h.
- * top.c (init_main): Set the readline word break characters
- to GDB's default word break characters.
-
-2003-10-06 J. Brobecker <brobecker@gnat.com>
-
- * language.h (language_defn): new field, la_word_break_characters.
- * language.c (unknown_language_defn): Set new field to
- default_word_break_characters.
- (auto_language_defn): Likewise.
- (local_language_defn): Likewise.
- * ada-lang.c (ada_language_defn): Likewise.
- * c-lang.c (c_language_defn): Likewise.
- (cplus_language_defn): Likewise.
- (asm_language_defn): Likewise.
- (minimal_language_defn): Likewise.
- * f-lang.c (f_language_defn): Likewise.
- * jv-lang.c (java_language_defn): Likewise.
- * m2-lang.c (m2_language_defn): Likewise.
- * objc-lang.c (objc_language_defn): Likewise.
- * p-lang.c (pascal_language_defn): Likewise.
- * scm-lang.c (scm_language_defn): Likewise.
-
-2003-10-06 Andrew Cagney <cagney@redhat.com>
-
- * ppc-sysv-tdep.c: Re-indent.
-
-2003-10-06 J. Brobecker <brobecker@gnat.com>
-
- * language.h (default_word_break_characters): Add prototype.
- * language.c (default_word_break_characters): New function.
-
-2003-10-06 Andreas Schwab <schwab@suse.de>
-
- * i386-tdep.c (i386_analyze_frame_setup): Also handle xorl/subl
- with %eax.
-
-2003-10-06 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (ALLDEPFILES): Remove "z8k-tdep.c" and
- "h8500-tdep.c".
- (z8k-tdep.o): Delete custom build rule.
-
-2003-10-06 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in: Update all dependencies.
-
- * MAINTAINERS: Mention that h8500, mn10200, and z8k were deleted.
- No longer list PA as as obsolete candidate. List m32r as
- broken instead of obsolete.
-
- * config/nm-m3.h, config/h8500/h8500.mt: Delete obsolete files.
- * config/h8500/tm-h8500.h, config/i386/nm-ptx4.h: Ditto.
- * config/i386/nm-symmetry.h, config/i386/ptx.mh: Ditto.
- * config/i386/ptx.mt, config/i386/ptx4.mh: Ditto.
- * config/i386/ptx4.mt, config/i386/symmetry.mh: Ditto.
- * config/i386/symmetry.mt, config/i386/tm-ptx.h: Ditto.
- * config/i386/tm-ptx4.h, config/i386/tm-symmetry.h: Ditto.
- * config/i386/xm-ptx.h, config/i386/xm-ptx4.h: Ditto.
- * config/i386/xm-symmetry.h, config/mips/mipsm3.mh: Ditto.
- * config/mips/mipsm3.mt, config/mips/tm-mipsm3.h: Ditto.
- * config/mips/xm-mipsm3.h, config/mn10200/mn10200.mt: Ditto.
- * config/mn10200/tm-mn10200.h, config/pa/hppabsd.mh: Ditto.
- * config/pa/hppabsd.mt, config/pa/hppaosf.mh: Ditto.
- * config/pa/hppaosf.mt, config/pa/hppapro.mt: Ditto.
- * config/pa/nm-hppab.h, config/pa/nm-hppao.h: Ditto.
- * config/pa/tm-hppab.h, config/pa/tm-hppao.h: Ditto.
- * config/pa/tm-pro.h, config/pa/xm-hppab.h: Ditto.
- * config/pa/xm-pa.h, config/sparc/sparclet.mt: Ditto.
- * config/sparc/sparclite.mt, config/sparc/tm-sparclet.h: Ditto.
- * config/sparc/tm-sparclite.h, config/z8k/tm-z8k.h: Ditto.
- * config/z8k/z8k.mt: Ditto.
-
- * NEWS: Mention that z8k-zilog-none, z8ksim, mn10200-*-*,
- h8500hms, hppa*-*-bsd*, hppa*-*-osf*, hppa*-*-pro*,
- mips*-*-mach3*, i[3456]86-sequent-sysv4*, i[3456]86-sequent-sysv*,
- i[3456]86-sequent-bsd*, sparclet-*-*, sparclite-fujitsu-none, and
- sparclite were removed.
- * configure.host, configure.tgt: Remove corresponding tuples.
-
- * breakpoint.c, breakpoint.h: Remove obsolete code.
- * buildsym.c, dbxread.c, gdbtypes.c, mdebugread.c: Ditto.
- * monitor.c, sparc-tdep.c, stabsread.c: Ditto.
- * stabsread.h, xcoffread.c: Ditto.
-
- * z8k-tdep.c, symm-tdep.c, symm-nat.c: Delete obsolete file.
- * sparclet-stub.c, sparclet-rom.c: Delete obsolete file.
- * sparcl-tdep.c, sparcl-stub.c, h8500-tdep.c: Delete obsolete file.
- * m3-nat.c, mipsm3-nat.c, mn10200-tdep.c: Delete obsolete file.
-
-2003-10-06 David Lecomber <dsl@sources.redhat.com>
-
- * f-valprint.c: Reformatting
-
-2003-10-06 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c: Remove duplicate comment.
-
- * x86-64-tdep.c (x86_64_store_return_value): Don't use
- DEPRECATED_REGISTER_RAW_SIZE. Use symbolic names for register
- names for return values. This fixes a bug since we looked at %rbx
- instead of %rdx.
-
-2003-10-05 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c: Include "regset.h".
-
- * i386-tdep.h (struct gdbarch_tdep): Add members gregset,
- gregset_reg_offset, gregset_num_regs, sizeof_gregset, fpregset,
- sizeof_fpregset.
- * i386-tdep.c: Include "regset.h".
- (i386_supply_gregset): New function.
- (i386_supply_fpregset): New function.
- (i386_gdbarch_init): Initialze register set-related members of
- TDEP.
- * x86-64-tdep.c (x86_64_supply_fpregset): New function.
- (x86_64_init_abi): Initialize TDEP->sizeof_fpregset.
-
-2003-10-03 Andrew Cagney <cagney@redhat.com>
-
- * rs6000-tdep.c (rs6000_gdbarch_init): When the 64 bit SysV ABI,
- set extract_return_value, store_return_value and
- use_struct_convention to ppc64_sysv_abi_extract_return_value,
- ppc64_sysv_abi_store_return_value and
- ppc64_sysv_abi_use_struct_convention.
- * ppc-tdep.h (ppc64_sysv_abi_extract_return_value): Declare.
- (ppc64_sysv_abi_store_return_value): Declare.
- (ppc64_sysv_abi_use_struct_convention): Declare.
- * ppc-sysv-tdep.c (enum return_value_convention): Define.
- (ppc64_sysv_abi_extract_return_value): New function.
- (ppc64_sysv_abi_store_return_value): New function.
- (ppc64_sysv_abi_use_struct_convention): New function.
- (ppc64_sysv_abi_return_value): New function.
-
-2003-10-03 Andrew Cagney <cagney@redhat.com>
-
- * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Only
- convert a descriptor to a function when it's in the ".opd"
- section.
-
-2003-10-03 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c (sh_push_dummy_call_fpu): Initialize flt_argreg and
- reg_size to keep GCC silent.
-
-2003-10-03 Corinna Vinschen <vinschen@redhat.com>
-
- * dwarf2-frame.c (struct comp_unit): Add tbase member to store
- base for DW_EH_PE_textrel encodings.
- (read_encoded_value): Add a DW_EH_PE_textrel case.
- (dwarf2_build_frame_info): Set unit.tbase to beginning of text
- section.
-
-2003-10-03 Mark Kettenis <kettenis@gnu.org>
-
- * dwarf2-frame.c (dwarf2_build_frame_info): Fix comment.
-
-2003-10-02 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_REGISTER_RAW_SIZE): Rename
- REGISTER_RAW_SIZE.
- * gdbarch.h, gdbarch.c: Re-generate.
- * aix-thread.c, alpha-tdep.h, arm-tdep.c, core-sol2.c: Update.
- * cris-tdep.c, dve3900-rom.c, findvar.c, frame.c: Update.
- * hppa-tdep.c, hppab-nat.c, hppah-nat.c, hppam3-nat.c: Update.
- * hpux-thread.c, i386gnu-nat.c, ia64-aix-nat.c: Update.
- * ia64-linux-nat.c, ia64-tdep.c, infcmd.c, infptrace.c: Update.
- * infrun.c, irix5-nat.c, lynx-nat.c, mips-linux-tdep.c: Update.
- * mips-nat.c, mips-tdep.c, mipsv4-nat.c, mn10300-tdep.c: Update.
- * monitor.c, ns32k-tdep.c, ppc-linux-nat.c, regcache.c: Update.
- * remote-e7000.c, remote-mips.c, remote-sim.c: Update.
- * remote-vxmips.c, remote-vxsparc.c, remote.c: Update.
- * rom68k-rom.c, rs6000-nat.c, rs6000-tdep.c, s390-tdep.c: Update.
- * sh64-tdep.c, sparc-nat.c, sparc-tdep.c, stack.c: Update.
- * target.c, tracepoint.c, v850-tdep.c, v850ice.c, valops.c: Update.
- * vax-tdep.c, vax-tdep.h, x86-64-tdep.c, xstormy16-tdep.c: Update.
- * config/m68k/tm-delta68.h, config/m68k/tm-vx68.h: Update.
- * config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h: Update.
-
-2003-10-02 Jim Blandy <jimb@redhat.com>
-
- * dwarf2read.c (struct die_info): Doc fix.
-
-2003-10-02 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c: Running thru gdb_indent.sh.
-
-2003-10-02 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c (sh_justify_value_in_reg): New function.
- (sh_stack_allocsize): Ditto.
- (flt_argreg_array): New array used for floating point argument
- passing.
- (sh_init_flt_argreg): New function.
- (sh_next_flt_argreg): Ditto.
- (sh_push_dummy_call_fpu): Simplify. Rename "odd_sized_struct" to
- "pass_on_stack". Use new helper functions. Accomodate Renesas ABI.
- Fix argument passing strategy.
- (sh_push_dummy_call_nofpu): Ditto.
-
-2003-10-01 Andrew Cagney <cagney@redhat.com>
-
- * value.h (register_value_being_returned): Declare. Replace
- "value_being_returned".
- * infcall.c (call_function_by_hand): Use
- register_value_being_returned.
- * infcmd.c (print_return_value): Call
- "register_value_being_returned", handle struct return locally.
- * values.c (register_value_being_returned): New function. Replace
- "value_being_returned".
-
-2003-09-30 Elena Zannoni <ezannoni@redhat.com>
-
- * linux-proc.c (linux_do_registers): New function.
- (linux_make_note_section): Use linux_do_registers in case of
- single threaded inferior programs.
-
-2003-10-01 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): When STRUCT_RETURN, always
- use STRUCT_ADDR. When not using "struct return convention", pass
- "0" to "value_being_returned". Add FIXMEs.
- * infcmd.c (print_return_value): Pass an explicit 0/1 to
- value_being_returned. Add comments.
- * values.c (value_being_returned): Add fixme.
- * hppa-tdep.c (hppa_extract_struct_value_address): Add FIXME.
- (hppa_value_returned_from_stack): Add FIXME.
-
-2003-09-30 David Carlton <carlton@kealia.com>
-
- * dwarf2read.c (struct die_info): Add 'parent' field; replace
- 'has_children' and 'next' by 'child' and 'sibling'.
- (read_comp_unit): Rework algorithm, breaking body into
- read_die_and_children and read_die_and_siblings.
- (read_die_and_children, read_die_and_siblings): New.
- (read_full_die): Add 'has_children' argument; set it instead of
- the die's 'has_children' field. Minor formatting cleanup.
- (free_die_list): Use die->child and die->sibling instead of
- die->next.
- (dump_die_list): Ditto.
- (sibling_die): Use die->sibling.
- (psymtab_to_symtab_1): Use die's 'child' field in place of its
- 'has_children' and 'next' fields.
- (process_die, read_file_scope, read_func_scope)
- (read_lexical_block_scope, read_structure_scope)
- (read_enumeration, read_array_type, read_common_block)
- (read_namespace, read_subroutine_type, dump_die): Ditto.
-
-2003-09-30 Andrew Cagney <cagney@redhat.com>
-
- * rs6000-tdep.c (rs6000_gdbarch_init): Set the PowerOpen red zone
- to 224, not 220.
-
-2003-09-30 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_REGISTER_VIRTUAL_SIZE): Rename
- REGISTER_VIRTUAL_SIZE.
- * gdbarch.h, gdbarch.c: Regenerate.
- * vax-tdep.h, sparc-tdep.c, regcache.h: Update.
- * regcache.c, mn10300-tdep.c, mips-tdep.c: Update.
- * infcmd.c, frame.c, findvar.c, cris-tdep.c: Update.
-
-2003-09-29 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_REGISTER_VIRTUAL_TYPE): Rename
- REGISTER_VIRTUAL_TYPE.
- * gdbarch.h, gdbarch.c: Regenerate.
- * arch-utils.c, hppa-tdep.c, regcache.c, regcache.h: Update.
- * sh64-tdep.c, sparc-tdep.c: Update.
-
- * remote-vxsparc.c (vx_read_register): Replace bzero with memset.
- * remote-vxmips.c (vx_read_register): Ditto.
- * remote-vx68.c (vx_read_register): Ditto.
- * gnu-nat.c (inf_validate_procs): Ditto.
-
-2003-09-29 J. Brobecker <brobecker@gnat.com>
-
- * infcall.c (call_function_by_hand): Fix build failure
- introduced in the previous change to this file.
-
-2003-09-29 Andrew Cagney <cagney@redhat.com>
-
- * NEWS: Mention Objective-C.
-
-2003-09-29 Jerome Guitton <guitton@act-europe.fr>
-
- * arm-tdep.c (arm_make_prologue_cache): Use trad_frame_addr_p to
- test if the register has been saved on the stack.
- (arm_scan_prologue_cache): When analysing the instruction
- "str lr, [sp, #-4]", save the address where lr has been stored.
-
-2003-09-28 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (frame_read_unsigned_register): Delete function.
- * frame.h (frame_read_unsigned_register): Delete declaration.
- * sparc-tdep.c (sparc_init_extra_frame_info): Use
- get_frame_register_unsigned.
- (sparc_frame_saved_pc, sparc_pop_frame): Ditto.
- * m68hc11-tdep.c (m68hc11_print_register): Ditto.
- * d10v-tdep.c (d10v_print_registers_info): Ditto.
-
- * frame.h (frame_read_register): Delete declaration.
- * frame.c (frame_read_register): Delete function.
- * arch-utils.c (legacy_register_to_value): Use get_frame_register.
- * sparc-tdep.c (sparc_fetch_pointer_argument): Ditto.
- * rs6000-tdep.c (rs6000_fetch_pointer_argument): Ditto.
- * mips-tdep.c (mips_register_to_value): Ditto.
- * hppa-tdep.c (hppa_fetch_pointer_argument): Ditto.
- * d10v-tdep.c (d10v_print_registers_info): Ditto.
-
- * frame.c (frame_read_signed_register): Delete function.
- (frame_read_unsigned_register): Update comments.
- * frame.h (frame_read_signed_register): Delete declaration.
- * h8300-tdep.c (h8300_print_register): Use
- get_frame_register_signed.
- * m68hc11-tdep.c (m68hc11_print_register): Ditto.
-
- * config/pa/tm-hppa.h (DEPRECATED_VALUE_RETURNED_FROM_STACK):
- Rename VALUE_RETURNED_FROM_STACK.
- * infcmd.c (print_return_value): Update.
- * infcall.c (call_function_by_hand): Update.
-
-2003-09-28 Mark Kettenis <kettenis@gnu.org>
-
- * i387-tdep.c (i387_supply_fsave, i387_supply_fxsave): Add
- regcache argument and reverse the order of the other two
- arguments. Remove local regcache variable. Determine
- architecture from REGCACHE. Update comments.
- * x86-64-tdep.c (x86_64_supply_fxsave): Add regcache argument and
- reverse the order of the other two arguments. Remove local
- regcache variable. Determine architecture from REGCACHE. Update
- comments.
- * i387-tdep.h (i387_supply_fsave, i387_supply_fxsave): Adjust
- prototypes. Update comments.
- * x86-64-tdep.c (x86_64_supply_fxsave): Adjust prototype. Adjust
- comment.
- * amd64fbsd-nat.c (supply_fpregset, fetch_inferior_registers):
- Update.
- * go32-nat.c (fetch_register, go32_fetch_registers): Update.
- * i386-interix-nat.c (supply_fpregset): Update.
- * i386-linux-nat.c (supply_fpregset, supply_fpxregset): Update.
- * i386-nto-tdep.c (i386nto_supply_fpregset): Update.
- * i386gnu-nat.c (fetch_fpregs, supply_fpregset): Update.
- * i386bsd-nat.c (supply_fpregset, fetch_inferior_registers): Update.
- * i386nbsd-tdep.c (fetch_core_registers, fetch_elfcore_registers):
- Update.
- * i386obsd-tdep.c (fetch_core_registers): Update.
- * i386v4-nat.c (supply_fpregset): Update.
- * x86-64-linux-nat.c (supply_fpregset): Update.
- * x86-64-linux-tdep.c (fetch_core_registers): Update.
-
-2003-09-27 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.h: Put opaque declarations in alphabetical
- order. Remove spurious whitespace.
- (struct gdbarch_tdep): add st0_regnum and mm0_regnum members.
- (i386_sse_regnum_p, i386_mxcsr_regnum_p): Remove prototypes.
- * i386-tdep.c (MM0_REGNUM): Remove define.
- (i386_mmx_regnum_p): Add gdbarch argument.
- (i386_sse_regnum_p, i386_mxcsr_regnum_p): Add gdbarch argument.
- Rewrite using new macro definitions for FPU/SSE registers.
- (i386_fp_regnum_p, i386_fpc_regnum_p): Rewrite using new macro
- definitions from i387-tdep.h.
- (i386_register_name): Update.
- (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): Update to use
- new macro definitions for FPU/SSE registers.
- (i386_extract_return_value): Determine whether floating-point
- registers are present by examining REGCACHE's architecture.
- (i386_store_return_value): Likewise. Use I386_MAX_REGISTER_SIZE
- instead of FPU_REG_RAW_SIZE. Use new macro definitions for
- FPU/SSE registers.
- (i386_register_type): Update.
- (i386_mmx_regnum_to_fp_regnum): Rewrite using new macro
- definitions for FPU registers. Use REGCACHE's architecture to
- determine the appropriate register numbers.
- (i386_pseudo_register_read, i386_pseudo_register_write,
- i386_register_reggroup_p): Update.
- (i386_gdbarch_init): Initialize TDEP->st0_regnum and
- TDEP->mm0_regnum.
- * i387-tdep.h (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM,
- I387_FTAG_REGNUM, I387_FISEG_REGNUM, I387_FIOFF_REGNUM,
- I387_FOSEG_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM,
- I387_XMM0_REGNUM, I387_MXCSR_REGNUM): New defines.
- (i387_supply_fsave, i387_fill_fsave, i387_supply_fxsave,
- i387_fill_fxsave): Change type of fsave/fxsave argument from `char
- *' to `void *'.
- * i387-tdep.c (i387_print_float_info, fsave_offset, FSAVE_ADDR,
- i387_supply_fsave, i387_fill_fsave, fxsave_offset, FXSAVE_ADDR,
- i387_supply_fxsave, i387_fill_fxsave): Update to use new macro
- definitions for FPU/SSE registers.
- (FXSAVE_MXCSR_ADDR): New define.
- * x86-64-tdep.c (x86_64_init_abi): Override TDEP->st0_regnum and
- TDEP->mm0_regnum.
- (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): Remove defines.
- (I387_ST0_REGNUM): Define.
-
- * regcache.h (get_regcache_arch): New prototype.
- * regcache.c (get_regcache_arch): New function.
-
- * x86-64-tdep.c (x86_64_store_return_value): Remove spurious
- whitespace.
-
- * i386-tdep.c (i386_num_register_names, i386_num_mmx_regs):
- Initialize using ARRAY_SIZE.
-
-2003-09-27 Andrew Cagney <cagney@redhat.com>
-
- * arch-utils.c (deprecated_init_frame_pc_default): Rename
- "init_frame_pc_default".
- * arch-utils.h (deprecated_init_frame_pc_default): Update.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sh64-tdep.c (sh64_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * config/pa/tm-hppa.h (DEPRECATED_INIT_FRAME_PC): Update.
-
-2003-09-26 Mark Kettenis <kettenis@gnu.org>
-
- * regset.h: New file.
- * Makefile.in (regset_h): Add.
-
-2003-09-25 Andrew Cagney <cagney@redhat.com>
-
- * frame.h (deprecated_frame_saved_regs): Rename
- get_frame_saved_regs.
- * cris-tdep.c, frame.c, h8300-tdep.c, hppa-tdep.c: Update.
- * mcore-tdep.c, mips-tdep.c, mn10300-tdep.c: Update.
- * ns32k-tdep.c, ppc-linux-tdep.c, rs6000-tdep.c: Update.
- * s390-tdep.c, sh64-tdep.c, stack.c: Update.
- * v850-tdep.c, vax-tdep.c, xstormy16-tdep.c: Update.
-
-2003-09-25 Andrew Cagney <cagney@redhat.com>
-
- * NEWS: Mention the new backtrace mechanism, DWARF 2 CFI, hosted
- file I/O, multi-arch, TLS and NPTL, DWARF 2 Location Expressions,
- and Java.
- * PROBLEMS: Mention that mips*-*-*, powerpc*-*-*, sparc*-*-* and
- arm*-*-* do not use the new frame code.
-
-2003-09-25 David Carlton <carlton@kealia.com>
-
- * c-exp.y: Remove 'register' declarations.
- * f-exp.y, jv-exp.y, m2-exp.y, objc-exp.y, p-exp.y: Ditto.
-
-2003-09-25 David Carlton <carlton@kealia.com>
-
- * c-exp.y: Include cp-support.h. Add qualified_type.
- (yylex): Delete nested type hack; add comments.
- * cp-namespace.c (cp_lookup_nested_type): New function.
- * cp-support.h: Declare cp_lookup_nested_type.
- * eval.c (evaluate_subexp_standard): Call value_aggregate_elt
- instead of value_struct_elt_for_reference.
- * valops.c: Include cp-support.h.
- (value_aggregate_elt): New function.
- (value_namespace_elt): Ditto.
- (value_struct_elt_for_reference): Make static.
- * value.h: Delete declaration of value_struct_elt_for_reference;
- add declaration for value_aggregate_elt.
- * Makefile.in (c-exp.tab.o): Depend on $(cp_support_h).
- (valops.o): Ditto.
-
-2003-09-25 Daniel Jacobowitz <drow@mvista.com>
-
- * stack.c: Include "reggroups.h".
- (frame_info): Only display registers in all_reggroup.
- * Makefile.in (stack.o): Update dependencies.
-
-2003-09-25 Jerome Guitton <guitton@act-europe.fr>
-
- * arm-tdep.c (arm_skip_prologue): Handle "sub ip, sp #n" and
- "add ip, sp #n" in the prologue.
- (arm_scan_prologue): Ditto.
-
-2003-09-25 Jerome Guitton <guitton@act-europe.fr>
-
- * MAINTAINERS (write after approval): Add myself.
-
-2003-09-25 Andreas Schwab <schwab@suse.de>
-
- * m68k-tdep.c: Include "dwarf2-frame.h".
- (m68k_gdbarch_init): Add the DWARF CFI frame unwinder.
- * Makefile.in (m68k-tdep.o): Update dependencies.
-
-2003-09-25 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c (struct frame_extra_info): Remove.
- (struct sh_frame_cache): New structure.
- (GET_SOURCE_REG): New macro extracting source register of an opcode.
- (GET_TARGET_REG): Ditto but target register.
- (GET_PUSHED_REG): Remove.
- (IS_MOV_ARG_TO_REG): New macro.
- (IS_MOV_ARG_TO_IND_R14): New macro.
- (IS_MOV_ARG_TO_IND_R14_WITH_DISP): New macro.
- (IS_MOVW_PCREL_TO_REG): New macro.
- (IS_MOVL_PCREL_TO_REG): New macro.
- (IS_SUB_REG_FROM_SP): New macro.
- (IS_ARG_MOV): Remove.
- (IS_MOV_TO_R14): Remove.
- (IS_RESTORE_FP): New macro.
- (IS_RTS): New macro.
- (IS_LDS): New macro.
- (IS_MOV_FP_SP): New macro.
- (IS_ADD_REG_TO_FP): New macro.
- (IS_ADD_IMM_FP): New macro.
- (sh_skip_prologue_hard_way): Remove.
- (sh_saved_pc_after_call): Remove.
- (sh_frame_chain): Remove.
- (sh_find_callers_reg): Remove.
- (sh_nofp_frame_init_saved_regs): Remove.
- (sh_fp_frame_init_saved_regs): Remove.
- (sh_init_extra_frame_info): Remove.
- (sh_analyze_prologue): New function.
- (sh_skip_prologue): Remove deprecated code. Rely on new function
- sh_analyze_prologue when after_prologue fails.
- (sh_frame_saved_pc): Remove.
- (sh_alloc_frame_cache): New function.
- (sh_frame_cache): Ditto.
- (sh_frame_prev_register): Ditto.
- (sh_frame_this_id): Ditto.
- (sh_frame_unwind): New structure defining the heuristic frame
- sniffer interface.
- (sh_frame_sniffer): New function.
- (sh_unwind_sp): Ditto.
- (sh_unwind_pc): Ditto.
- (sh_unwind_dummy_id): Ditto.
- (sh_frame_base_address): Ditto.
- (sh_frame_base): New structure defining new frame base code.
- (sh_in_function_epilogue_p): New function.
- (sh_gdbarch_init): Restructure and simplify to eliminate deprecated
- code and to call all new code instead. Initialize dwarf2 and
- heuristic frame sniffer.
-
-2003-09-24 Paul N. Hilfinger <hilfingr@nile.gnat.com>
-
- * parser-defs.h (struct exp_descriptor): New definition, containing
- language-specific info for printing, prefixifying, dumping, and
- evaluating expressions.
- (exp_descriptor_standard): Declare new variable.
- (print_subexp): Make global and declare here (from expprint.c).
- (dump_subexp): Ditto.
- (dump_subexp_body_standard): Declare.
- (operator_length_standard): Declare.
- (op_name_standard): Declare.
- (print_subexp): Declare.
- (print_subexp_standard): Declare.
-
- * language.h (struct language_defn): Add la_exp_desc field to hold
- pointer to table for language-specific operators.
- Remove evaluate_exp field, which is now in struct exp_descriptor.
-
- * parse.c (operator_length): Move most code to new
- operator_length_standard function. Use language-specific information.
- (operator_length_standard): New function taking most code from
- operator_length.
- (exp_descriptor_standard): New constant.
-
- * expression.h (enum exp_opcode): Add definitions of OP_EXTENDED0
- and OP_EXTENDED_LAST.
-
- * expprint.c (print_subexp): Use language-specific print_subexp.
- Make global; remove static declaration.
- Move most code to print_subexp_standard.
- (print_subexp_standard): New function, containing code formerly in
- print_subexp.
- (op_name): Add expression to argument signature.
- Use langauge-specific op_name.
- Move most code to op_name_standard.
- (op_name_standard): New function, containing code formerly in op_name.
- (dump_subexp): Use new version of op_name function.
- Use language-specific dump_subexp_body, and move most existing code to
- dump_subexp_body_standard.
- (dump_raw_expression): Use new op_name interface.
- (dump_subexp_body): Move most code to dump_subexp_body_standard.
- (dump_subexp_body_standard): New function, containing code formerly
- in dump_subexp_body.
-
- * language.c (unknown_language): Add default la_exp_desc field and
- remove evaluate_exp field.
- (auto_language): Ditto.
- (local_language): Ditto.
- * f-lang.c (f_language_defn): Ditto.
- * c-lang.c (c_language_defn): Ditto.
- (cplus_language_defn): Ditto.
- (asm_language_defn): Ditto.
- (minimal_language_defn): Ditto.
- * p-lang.c (pascal_language_defn): Ditto.
- * m2-lang.c (m2_language_defn): Ditto.
- * objc-lang.c (objc_language_defn): Ditto.
-
- * jv-lang.c (exp_descriptor_java): New variable, containing
- Java-specific expression evaluator.
- (java_language_defn): Add la_exp_desc field and remove evaluate_exp
- field.
- * scm-lang.c (exp_descriptor_scm): New variable, containing
- Scheme-specific expression evaluator.
- (scm_language_defn): Add la_exp_desc field and remove evaluate_exp
- field.
- * objc-lang.c (print_object_command): Take evaluate_exp from the
- la_exp_desc field.
-
- * Makefile.in (eval.o): Add dependency on parser-defs.h.
-
- * eval.c: Include parser-defs.h for the full declaration of
- la_exp_desc's type.
- (evaluate_subexp): Get evaluate_exp out of la_exp_desc field.
-
-2003-09-23 Paul N. Hilfinger <hilfingr@nile.gnat.com>
-
- * parser-defs.h (operator_length): Declare.
-
- * parse.c (length_of_subexp): Use operator_length to get operator
- lengths and arities for operators.
- Move most code to new operator_length function.
- (operator_length): New function absorbing most code from
- length_of_subexp.
- (prefixify_subexp): Remove large case and use operator_length instead.
- (parse_exp_1): Use renamings:
- dump_prefix_expression => dump_raw_expression and
- dump_postfix_expression => dump_prefix_expression.
-
- * expression.h (dump_prefix_expression): Rename to ...
- (dump_raw_expression): New name.
- (dump_postfix_expression): Rename to ...
- (dump_prefix_expression): New name.
-
- * expprint.c (dump_subexp): Make global. Add comment.
- Move most existing code to dump_subexp_body.
- (dump_subexp_body): New function.
- (dump_prefix_expression): Rename to dump_raw_expression.
- Remove attempt to print the expression via print_expression: it can't
- work before the expression is prefixified.
- (dump_raw_expression): Renamed from dump_prefix_expression.
- (dump_postfix_expression): Rename to dump_prefix_expression, since
- that's what it does.
- Remove 'note' parameter, since this routine must be used on
- prefixified expression.
- (dump_prefix_expression): Renamed from dump_postfix_expression.
-
-2003-09-22 Jim Blandy <jimb@redhat.com>
-
- * dwarf2read.c (read_array_type): When building the type for an
- array of unspecified length, make sure to choose the upper bound
- so that the array's total length comes out to be zero --- that's
- how we represent such arrays.
-
-2003-09-22 Michael Chastain <mec@shout.net>
-
- * MAINTAINERS: Rename gdb.c++ to gdb.cp.
-
-2003-09-22 Jeff Johnston <jjohnstn@redhat.com>
-
- * top.c (quit_force): Fix indirect call to quit_target so
- a struct qt_args pointer is passed.
-
-2003-09-22 Andrew Cagney <cagney@redhat.com>
-
- * arch-utils.h (init_frame_pc_noop): Delete declaration.
- * arch-utils.c (init_frame_pc_noop): Delete function.
- * mn10300-tdep.c (mn10300_gdbarch_init): Do not set
- "init_frame_pc".
- * mips-tdep.c (mips_gdbarch_init): Ditto.
- * i386-interix-tdep.c (i386_interix_init_abi): Ditto.
- * config/sparc/tm-sparc.h (init_frame_pc_noop): Delete
- declaration.
- (DEPRECATED_INIT_FRAME_PC): Delete macro.
- * config/rs6000/tm-rs6000.h (init_frame_pc_noop): Delete
- declaration.
- (DEPRECATED_INIT_FRAME_PC): Delete macro.
-
-2003-09-22 Anthony Green <green@redhat.com>
-
- * monitor.c (monitor_expect): Delete unused conflicting targ_ops
- declaration.
-
-2003-09-20 Andrew Cagney <cagney@redhat.com>
-
- * breakpoint.c: Eliminate ARGSUSED.
- * buildsym.c, cli/cli-cmds.c, cli/cli-script.c: Ditto.
- * coffread.c, corelow.c, dwarf2read.c, event-top.c: Ditto.
- * exec.c, gcore.c, hpux-thread.c, infcmd.c, inflow.c: Ditto.
- * infrun.c, inftarg.c, maint.c, ocd.c, printcmd.c: Ditto.
- * procfs.c, regcache.c, remote-rdi.c, remote-sds.c: Ditto.
- * remote.c, sol-thread.c, source.c, stabsread.c: Ditto.
- * stack.c, symfile.c, target.c, top.c, typeprint.c: Ditto.
- * utils.c, v850ice.c, valprint.c, values.c, win32-nat.c: Ditto.
- * wince.c, remote-vx.c: Ditto.
-
- * cli/cli-script.c: Remove "register" attributes.
- * config/pa/tm-hppa.h: Ditto.
- * cli/cli-decode.c: Ditto.
- * cli/cli-cmds.c: Ditto.
-
-2003-09-19 Andrew Cagney <cagney@redhat.com>
-
- * sparcnbsd-nat.c (getregs_supplies): Rename NPC_REGNUM to
- DEPRECATED_NPC_REGNUM.
- * sparc64nbsd-nat.c (getregs_supplies): Ditto.
-
-2003-09-19 Christopher Faylor <cgf@redhat.com>
-
- * win32-nat.c (mappings): Remove HAVE_SSE conditional.
-
-2003-09-19 Jim Blandy <jimb@redhat.com>
-
- * macrotab.c (macro_include): Use the correct comparison to find
- the appropriate place for this inclusion in the list.
-
-2003-09-19 Andrew Cagney <cagney@redhat.com>
-
- * config/pa/nm-hppah.h (NEED_TEXT_START_END): Delete.
- (DEPRECATED_HPUX_TEXT_END): Define.
- (deprecated_hpux_text_end): Declare.
- (struct target_ops): Declare opaque.
- * hppah-nat.c (text_end): Make static.
- (deprecated_hpux_text_end): New function.
- * exec.c (text_end): Delete global variable.
- (NEED_TEXT_START_END): Do not define.
- (exec_file_attach): Replace code computing "text_end" code with
- call to DEPRECATED_HPUX_TEXT_END.
-
-2003-09-19 Andrew Cagney <cagney@redhat.com>
-
- * utils.c (align_up, align_down): New functions.
- * defs.h (align_up, align_down): Declare.
- * ppc-sysv-tdep.c (align_up, align_down): Delete functions.
- * s390-tdep.c: Replace "round_up" and "round_down" with "align_up"
- and "align_down".
- (round_up, round_down): Delete functions.
- * mips-tdep.c: Replace ROUND_UP and ROUND_DOWN with "align_up" and
- "align_down".
- (ROUND_DOWN, ROUND_UP): Delete macros.
- (mips_dump_tdep): Do not print "ROUND_UP" or "ROUND_DOWN".
- * h8300-tdep.c: Replace "round_up" and "round_down" with
- "align_up" and "align_down".
- (round_up, round_down): Delete macros.
- * frv-tdep.c: Replace ROUND_UP and ROUND_DOWN with "align_up" and
- "align_down".
- (ROUND_UP, ROUND_DOWN): Delete macros.
-
-2003-09-18 J. Brobecker <brobecker@gnat.com>
-
- * hppa-hpux-tdep.c (_initialize_hppa_hpux_tdep): Remove a
- hard-coded constant. Use the proper machine name instead.
-
-2003-09-17 Andrew Cagney <cagney@redhat.com>
-
- * sparc-tdep.c (legacy_register_name): Delete function.
- * mips-tdep.c (mips_dump_tdep): Do not print REGISTER_NAME.
- (mips_gdbarch_init): Refer to MIPS_REGISTER_NAME in comments.
- * infcmd.c (gdb_register_name): Delete variable.
- * gdbarch.sh (SDB_REG_TO_REGNUM): Delete reference to
- REGISTER_NAME and "tm.h".
- * gdbarch.h, gdbarch.c: Regenerate.
- * dpx2-nat.c (regmap): Refer to REGISTER_NAME and not
- REGISTER_NAMES in comments.
- * remote-st.c (get_reg_name), i386b-nat.c (tregmap): Ditto.
- * m68klinux-nat.c (regmap): Ditto.
-
-2003-09-17 Jim Blandy <jimb@redhat.com>
-
- * Makefile.in (dis_asm_h): Note that this #includes "bfd.h".
-
-2003-09-17 Andrew Cagney <cagney@redhat.com>
-
- * ppcnbsd-tdep.c (ppcnbsd_use_struct_convention): New function.
- (ppcnbsd_init_abi): Set "use_struct_convention" to
- "ppcnbsd_use_struct_convention".
-
-2003-09-17 Mark Kettenis <kettenis@gnu.org>
-
- * gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Add comment.
- * gdbarch.h, gdbarch.c: Regenerate.
- (stabs_argument_has_addr): New architecture method.
- * arch-utils.h (default_stabs_argument_has_addr): New prototype.
- * arch-utils.c: Include "buildsym.h".
- (default_stabs_argument_has_addr): New function.
- * stabsread.c (define_symbol): Use stabs_argument_has_addr
- instead of DEPRECATED_REG_STRUCT_HAS_ADDR.
-
-2003-09-17 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_NPC_REGNUM): Deprecate NPC_REGNUM.
- * gdbarch.h, gdbarch.c: Regenerate.
- * core-sol2.c, hppa-tdep.c, lynx-nat.c, procfs.c: Update.
- * regcache.c, remote-vxsparc.c, sparc-linux-nat.c: Update.
- * sparc-nat.c, sparc-tdep.c, sparc64-tdep.c: Update.
- * sparcnbsd-tdep.c: Update.
-
-2003-09-17 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_REGISTER_BYTE): Rename REGISTER_BYTE.
- * gdbarch.h, gdbarch.c: Regenerate.
- * arm-linux-tdep.c, core-sol2.c, cris-tdep.c: Update.
- * d10v-tdep.c, frame.c: Update.
- * hppa-tdep.c, hppab-nat.c, hppah-nat.c, hppam3-nat.c: Update.
- * hpux-thread.c, i386gnu-nat.c, ia64-aix-nat.c: Update.
- * ia64-linux-nat.c, irix5-nat.c, lynx-nat.c, m68knbsd-nat.c: Update.
- * mcore-tdep.c, mips-linux-tdep.c, mips-tdep.c: Update.
- * mipsv4-nat.c, mn10300-tdep.c, ns32k-tdep.c: Update.
- * ns32knbsd-nat.c, ppc-bdm.c, regcache.c, remote-sds.c: Update.
- * remote-vx68.c, remote-vxmips.c, remote-vxsparc.c: Update.
- * remote.c, rs6000-tdep.c, s390-tdep.c, sh64-tdep.c: Update.
- * sparc-nat.c, sparc-tdep.c, sun3-nat.c, v850-tdep.c: Update.
- * v850ice.c, vax-tdep.c, xstormy16-tdep.c: Update.
- * config/m68k/tm-cisco.h, config/m68k/tm-delta68.h: Update.
- * config/pa/nm-hppah.h: Update.
-
-2003-09-16 Andrew Cagney <cagney@redhat.com>
-
- * ppc-linux-tdep.c (ppc_linux_init_abi): Set the 32 bit
- "use_struct_convention" to "ppc_linux_use_struct_convention".
- (ppc_linux_use_struct_convention): New function.
- * rs6000-tdep.c (rs6000_use_struct_convention): New function.
- (rs6000_gdbarch_init): For AIX, set "use_struct_convention" to
- "rs6000_use_struct_convention".
- * ppc-tdep.h (ppc_sysv_abi_broken_use_struct_convention): Delete
- declaration.
- * ppc-sysv-tdep.c (ppc_sysv_abi_broken_use_struct_convention):
- Delete function.
-
-2003-09-16 Andrew Cagney <cagney@redhat.com>
-
- * buildsym.c: Remove more occurances of "register".
- * coffread.c, dbxread.c, dcache.c, dwarf2read.c: Ditto.
- * environ.c, eval.c, f-valprint.c, findvar.c: Ditto.
- * gdbtypes.c, gnu-v2-abi.c, h8300-tdep.c, hppa-tdep.c: Ditto.
- * infcmd.c, mdebugread.c, minsyms.c, mips-tdep.c: Ditto.
- * printcmd.c, remote-vx.c, sh-stub.c, sh-tdep.c: Ditto.
- * sh64-tdep.c, source.c, stabsread.c, stack.c: Ditto.
- * standalone.c, symfile.c, symmisc.c, symtab.c: Ditto.
- * utils.c, valops.c, values.c, xcoffread.c: Ditto.
-
-2003-09-16 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.h (struct gdbarch_tdep): Remove. Change all register
- numbers to enumeration values.
- * sh-tdep.c: Accomodate above change.
- (SH_NUM_REGS): Rename from SH_DEFAULT_NUM_REGS.
- (NUM_PSEUDO_REGS_SH_MEDIA): Remove (sh5 only).
- (NUM_PSEUDO_REGS_SH_COMPACT): Remove (sh5 only).
- (IS_ADD_IMM_SP): Rename from IS_ADD_SP.
- (IS_FPUSH): Rename from IS_FMOV.
- (sh_extract_struct_value_address): Remove useless comment.
- (sh_dsp_register_sim_regno): Use register values from sh-tdep.h
- instead of own local values.
- (sh_dump_tdep): Remove.
- (_initialize_sh_tdep): Accomodate removing sh_dump_tdep.
- * sh3-rom.c (sh3_supply_register): Accomodate sh-tdep.h changes.
-
-2003-09-15 Andrew Cagney <cagney@redhat.com>
-
- * doublest.c (convert_floatformat_to_doublest): No longer need to
- cast "exp_bias" to an int. Reverts 2002-12-04 change.
-
-2003-09-15 Daniel Jacobowitz <drow@mvista.com>
-
- * values.c (unpack_double): Call floatformat_is_valid.
-
-2003-09-15 Mark Kettenis <kettenis@gnu.org>
-
- * amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Change type of
- ps_strings into a long.
-
- * amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Rename from
- _initialize_am64fbsd_nat.
-
-2003-09-15 Kevin Buettner <kevinb@redhat.com>
-
- * dwarf2read.c (dwarf2_get_pc_bounds): Complain if offset
- associated with DW_AT_ranges attribute is out of bounds.
-
-2003-09-15 David Lecomber <dsl@sources.redhat.com>
-
- * f-valprint.c: Apply array element printing limits to multi-dimensional arrays
-
-2003-09-14 Michael Chastain <mec@shout.net>
-
- * config/m68k/nm-apollo68v.h: Delete.
- * config/m68k/xm-apollo68v.h: Delete.
-
-2003-09-14 Andrew Cagney <cagney@redhat.com>
-
- * rs6000-tdep.c (rs6000_push_dummy_call): Fix typos.
- * dcache.c: Update copyrights and descriptions.
- * scm-exp.c, ia64-aix-nat.c, hppam3-nat.c: environ.c: Ditto.
-
-2003-09-14 Andrew Cagney <cagney@redhat.com>
-
- * config/djgpp/fnchange.lst: Rename "amd64fbsd-tdep.c" and
- "amd64fbsd-nat.c" to "a64fb-tdep.c" and "a64fb-nat.c".
-
-2003-09-14 Andrew Cagney <cagney@redhat.com>
-
- * alpha-nat.c: Remove some occurances of "register".
- * alpha-tdep.c, arm-tdep.c, blockframe.c, breakpoint.c: Ditto.
- * buildsym.c, c-typeprint.c, c-valprint.c, coffread.c: Ditto.
- * corefile.c, cp-support.c, cp-valprint.c, cris-tdep.c: Ditto.
- * dbxread.c, dcache.c, dwarf2read.c, elfread.c: Ditto.
- * environ.c, eval.c, event-top.c, f-typeprint.c: Ditto.
- * f-valprint.c, findvar.c, frame.c, gdbtypes.c: Ditto.
- * h8300-tdep.c, hppa-tdep.c, hppab-nat.c, hppah-nat.c: Ditto.
- * hppam3-nat.c, hpread.c, ia64-aix-nat.c, ia64-linux-nat.c: Ditto.
- * infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Ditto.
- * infttrace.c, irix5-nat.c, jv-typeprint.c: Ditto.
- * jv-valprint.c, m68k-tdep.c, m68klinux-nat.c, main.c: Ditto.
- * mdebugread.c, minsyms.c, mips-linux-tdep.c: Ditto.
- * mips-nat.c, mips-tdep.c, mipsread.c, mipsv4-nat.c: Ditto.
- * ns32k-tdep.c, objfiles.c, p-typeprint.c: Ditto.
- * p-valprint.c, ppc-linux-nat.c, printcmd.c: Ditto.
- * remote-mips.c, remote-vx.c, rs6000-nat.c: Ditto.
- * rs6000-tdep.c, scm-exp.c, sh-tdep.c, sh64-tdep.c: Ditto.
- * solib.c, somread.c, source.c, sparc-tdep.c: Ditto.
- * stabsread.c, stack.c, standalone.c, symfile.c: Ditto.
- * symmisc.c, symtab.c, top.c, tracepoint.c: Ditto.
- * typeprint.c, utils.c, valarith.c, valops.c: Ditto.
- * values.c, vax-tdep.c, xcoffread.c: Ditto.
-
-2003-09-13 Andrew Cagney <cagney@redhat.com>
-
- * config/pa/tm-hppa64.h (struct frame_info): Declare opaque.
- * ppc-tdep.h (struct regcache): Declare opaque.
- * objfiles.h (struct objfile_data): Declare opaque.
- * cp-support.h (struct objfile): Declare opaque.
- * linux-nat.h (target_waitstatus): Declare opaque.
-
-2003-09-14 Mark Kettenis <kettenis@gnu.org>
-
- * gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Add comment.
- (stabs_argument_has_addr): New architecture method.
- * arch-utils.h (default_stabs_argument_has_addr): New prototype.
- * arch-utils.c: Include "buildsym.h".
- (default_stabs_argument_has_addr): New function.
- * stabsread.c (define_symbol): Use stabs_argument_has_addr
- instead of DEPRECATED_REG_STRUCT_HAS_ADDR.
-
- * cris-tdep.c (cris_gdbarch_init): Set
- deprecated_reg_struct_has_addr instead of reg_struct_has_addr.
- * hppa-tdep.c (hppa_gdbarch_init): Likewise.
- * mcore-tdep.c (mcore_gdbarch_init): Likewise.
- * mips-tdep.c (mips_gdbarch_init): Likewise.
- * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
- * sparc-tdep.c (sparc_gdbarch_init): Likewise.
-
-2003-09-13 Andrew Cagney <cagney@redhat.com>
-
- * values.c (using_struct_return): Delete "function" and "funcaddr"
- parameters.
- * value.h (using_struct_return): Update declaration.
- * infcmd.c (finish_command_continuation): Update.
- (finish_command): Update.
- * infcall.c (call_function_by_hand): Update.
- * eval.c (evaluate_subexp_standard): Update.
-
-2003-09-13 Christopher Faylor <cgf@redhat.com>
-
- * win32-nat.c: Just rely on CONTEXT_EXTENDED_REGISTER being defined for
- SSE registers since gdb will not operate correctly without this.
- Restore include file ordering munged in previous change.
- * config/i386/tm-cygwin.h: Remove HAVE_SSE_REGS define.
-
-2003-09-13 Mark Kettenis <kettenis@gnu.org>
-
- * gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Renamed from
- REG_STRUCT_HAS_ADDR.
- * gdbarch.c, gdbarch.h: Updated.
- * infcall.c (call_function_by_hand): Update.
- * stabsread.c (define_symbol): Updated.
-
- * Makefile.in (xm-i386-sv32.h, tm-i386gas.h): Remove.
-
-2003-09-12 Christopher Faylor <cgf@redhat.com>
-
- * win32-nat.c: Reorganize so that defines used by target headers are
- actually defined by the system headers.
- * config/i386/tm-cygwin.h: Check for CONTEXT_EXTENDED_REGISTERS rather
- than HAVE_CONTEXT_EXTENDED_REGISTERS, since the latter actually exists.
-
-2003-09-12 Jim Blandy <jimb@redhat.com>
-
- * dbxread.c (read_dbx_symtab): Don't report an internal error if
- the file has no .data, .bss, or .rodata sections. Instead wait
- until we see a variable alleged to live in one of those sections.
-
- * dbxread.c (read_dbx_symtab): If we have no .data section and no
- .bss section, presume that any variables we find live in the
- .rodata section.
-
- * dbxread.c (read_dbx_symtab): Add FIXME about finding section
- offsets for global and static variables.
-
- * dbxread.c (read_dbx_symtab): The N_DATA and N_DATA | N_EXT
- symbol types are, by definition, in the .data section, so it is
- correct to use SECT_OFF_DATA (objfile) here, not data_sect_index.
- If there is no .data section, there should be no N_DATA or N_DATA
- | N_EXT symbols.
-
-2003-09-12 Mark Kettenis <kettenis@gnu.org>
-
- * amd64fbsd-tdep.c: Fix sigtramp recognition.
- (amd64fbsd_sigcontext_addr): Rewrite.
- (amd64fbsd_sigtramp_start, amd64fbsd_sigtramp_end): Initialize
- with correct values.
- (amd64fbsd_sc_reg_offset): Initialize with correct values.
- (amd64fbsd_init_abi): Fix typo.
-
-2003-09-12 Andrew Cagney <cagney@redhat.com>
-
- * ppc-sysv-tdep.c (align_up, align_down): Replace "round2" macro.
- (ppc_sysv_abi_push_dummy_call): Rewrite, use a two pass loop.
-
-2003-09-12 Andrew Cagney <cagney@redhat.com>
-
- * objfiles.h (struct entry_info): Deprecate "entry_file_lowpc" and
- "entry_file_highpc". Update comments.
- * defs.h (deprecated_inside_entry_file): Rename
- "inside_entry_file".
- * blockframe.c (deprecated_inside_entry_file): Rename
- "inside_entry_file".
- * frame.c (get_prev_frame): Update. Use if 0 instead of #if 0.
- * vax-tdep.c (vax_frame_chain): Update.
- * sh64-tdep.c (sh64_frame_chain): Update.
- * sh-tdep.c (sh_frame_chain): Update.
- * rs6000-tdep.c (rs6000_frame_chain): Update.
- * ns32k-tdep.c (ns32k_frame_chain): Update.
- * mips-tdep.c (mips_frame_chain): Update.
- * m68hc11-tdep.c (m68hc11_frame_this_id): Update.
- * m32r-tdep.c (m32r_frame_this_id): Update.
- * i386-interix-tdep.c (i386_interix_frame_chain_valid): Update.
- * frv-tdep.c (frv_frame_this_id): Update.
- * d10v-tdep.c (d10v_frame_this_id): Update.
- * cris-tdep.c (cris_frame_chain): Update.
- * blockframe.c (legacy_frame_chain_valid): Update.
- * avr-tdep.c (avr_frame_this_id): Update.
- * arm-tdep.c (arm_prologue_this_id): Update.
- * alpha-tdep.c (alpha_heuristic_frame_this_id): Update.
- * objfiles.c (objfile_relocate): Update.
- * mipsread.c (mipscoff_symfile_read): Update.
- (mipscoff_symfile_read): Update.
- * mdebugread.c (parse_partial_symbols): Update.
- * dwarfread.c (read_file_scope): Update.
- * dwarf2read.c (read_file_scope): Update.
- * dbxread.c (read_dbx_symtab): Update.
- (read_dbx_symtab): Update.
- * coffread.c (complete_symtab): Update.
-
-2003-09-12 Jeff Johnston <jjohnstn@redhat.com>
-
- * top.c (quit_target): New static helper function.
- (quit_force): Moved code to quit_target(). Call quit_target()
- via catch_errors() to catch errors during quit.
-
-2003-09-11 David Carlton <carlton@kealia.com>
-
- * buildsym.c (finish_block): Use allocate_block to allocate the
- block.
- * mdebugread.c (new_block): Add FIXME.
-
-2003-09-11 David Carlton <carlton@kealia.com>
-
- * gdbtypes.h: Add TYPE_CODE_NAMESPACE.
- * gdbtypes.c (init_type): Handle TYPE_CODE_NAMESPACE.
- (recursive_dump_type): Ditto.
- * printcmd.c (print_formatted): Ditto.
- * typeprint.c (print_type_scalar): Ditto.
- * c-typeprint.c (c_type_print_varspec_prefix): Ditto.
- (c_type_print_varspec_suffix, c_type_print_base): Ditto.
- * cp-support.h: Declare cp_check_possible_namespace_symbols,
- maint_cplus_cmd_list.
- * cp-support.c: Make maint_cplus_cmd_list extern.
- * cp-namespace.c: Include objfiles.h, gdbtypes.h, dictionary.h,
- command.h.
- (lookup_symbol_file): Look in possible namespace blocks when
- appropriate.
- (initialize_namespace_symtab): New.
- (get_possible_namespace_block, free_namespace_block)
- (check_possible_namespace_symbols)
- (check_possible_namespace_symbols_loop)
- (check_one_possible_namespace_symbol)
- (lookup_possible_namespace_symbol, maintenance_cplus_namespace)
- (_initialize_cp_namespace): Ditto.
- * block.h: Declare allocate_block.
- * block.c (allocate_block): New.
- * jv-lang.c (get_java_class_symtab): Allocate blocks via
- allocate_block.
- * symfile.h: Update declaration of add_psymbol_to_list.
- * symfile.c (add_psymbol_to_list): Return the partial symbol in
- question.
- * dwarf2read.c (dwarf2_build_psymtabs_hard): Add argument to
- scan_partial_symbols_call.
- (scan_partial_symbols): Add NAMESPACE argument; update calls to
- helper functions.
- (add_partial_symbol): If necessary, scan mangled names for names
- of namespaces.
- (add_partial_namespace): Add NAMESPACE argument; generate partial
- symbols associated to namespaces.
- (add_partial_enumeration): Add NAMESPACE argument.
- (new_symbol): Allow namespace syms.
- (read_namespace): Generate namespace syms.
- * objfiles.h: Add opaque declaration of struct symtab.
- (struct objfile): Add cp_namespace_symtab member.
- * objfiles.c (allocate_objfile): Set
- objfile->cp_namespace_symtab.
- * Makefile.in (cp-namespace.o): Depend on objfiles_h, gdbtypes_h,
- dictionary_h, command_h.
-
-2003-09-11 Andrew Cagney <cagney@redhat.com>
-
- * rs6000-tdep.c (rs6000_push_dummy_call): Use
- regcache_raw_write_signed to set SP_REGNUM, move the operation to
- near the function's end.
- (rs6000_gdbarch_init): Do not set "deprecated_dummy_write_sp".
- * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Use
- regcache_raw_write_signed to set SP_REGNUM.
-
-2003-09-11 Elena Zannoni <ezannoni@redhat.com>
-
- * symfile.c (symbol_file_add_with_addrs_or_offsets): Make sure
- orig_addrs is set up properly.
-
-2003-09-11 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_STACK_ALIGN): Rename STACK_ALIGN.
- * gdbarch.h, gdbarch.c: Re-generate.
- * infcall.c (call_function_by_hand): Update.
- * hppa-tdep.c (hppa_push_arguments): Update.
- * ada-lang.c (place_on_stack): Update.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Delete comment refering to
- stack_align.
-
-2003-09-11 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2loc.c (dwarf2_loc_desc_needs_frame): Variables in a
- register do need a frame.
-
-2003-09-11 Andrew Cagney <cagney@redhat.com>
-
- Since the IRIX 4 configuration was forcing K&R mode it hasn't been
- buildable since GDB 5.0.
- * NEWS: Mention that IRIX 3 and IRIX 4 support were removed.
- * configure.host: Delete "mips-sgi-irix3*" and "mips-sgi-irix4*".
- * configure.tgt: Delete "mips*-sgi-*" a.k.a. irix3.
- * irix4-nat.c: Delete file.
- * config/mips/irix4.mh: Delete file.
- * config/mips/irix3.mh: Delete file.
- * config/mips/irix3.mt: Delete file.
- * config/mips/tm-irix3.h: Delete file.
- * config/mips/nm-irix3.h: Delete file.
- * config/mips/xm-irix3.h: Delete file.
- * config/mips/nm-irix4.h: Delete file.
- * config/mips/xm-irix4.h: Delete file.
- * config/mips/tm-irix5.h: Inline contents of "tm-irix3.h".
-
-2003-09-10 J. Brobecker <brobecker@gnat.com>
-
- * hppa-tdep.c: Include "dis-asm.h". Fixes a build failure.
- * Makefile.in (hppa-tdep.o): Update dependencies.
-
-2003-09-10 James E Wilson <wilson@specifixinc.com>
-
- * MAINTAINERS: Change my e-mail address. Move to paper trail
- section.
-
-2003-09-10 Kevin Buettner <kevinb@redhat.com>
-
- * MAINTAINERS (frv): New ISA entry.
-
-2003-09-10 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (dis-asm.h): Include.
- * Makefile.in (frv-tdep.o): Update dependencies.
-
-2003-09-09 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-tdep.c (ia64_sigtramp_frame_init_saved_regs):
- Fix typo for high range of floating registers.
-
-2003-09-09 David Carlton <carlton@kealia.com>
-
- * dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and
- highpc initialization here out of scan_partial_symbols.
- (scan_partial_symbols): Restructure into a recursive version,
- calling add_partial_namespace and add_partial_enumeration when
- appropriate.
- (add_partial_namespace): New.
- (add_partial_enumeration, locate_pdi_sibling): Ditto.
+2004-01-12 Andrew Cagney <cagney@redhat.com>
-2003-09-09 Andrew Cagney <cagney@redhat.com>
+ * stack.c (frame_info): Delete DEPRECATED_PRINT_EXTRA_FRAME_INFO
+ call. Never defined.
+ * sparc-tdep.h (struct frame_info): Add opaque declaration.
+ * sparc64-tdep.h (struct gdbarch): Add opaque declaration.
+ (struct sparc_gregset, struct regcache): Ditto.
+ * sparc-nat.c: Update copyright. Specify "GNU/Linux".
- * rs6000-tdep.c (ppc_push_return_address): Delete function.
- (rs6000_push_dummy_call): Set LR to BP_ADDR.
- (rs6000_gdbarch_init): Do not set deprecated_push_return_address.
- * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Ditto.
+2004-01-12 Andrew Cagney <cagney@redhat.com>
- * rs6000-tdep.c (rs6000_fix_call_dummy): Delete function.
- (rs6000_push_dummy_call): Set the "TOC" register.
+ * mi/ChangeLog: Delete file. Renamed to ...
+ * mi/ChangeLog-1999-2003: New file.
+ * tui/ChangeLog: Delete file. Renamed to ...
+ * tui/ChangeLog-1998-2003: New file.
+
+2004-01-11 Mark Kettenis <kettenis@gnu.org>
- * rs6000-tdep.c (rs6000_gdbarch_init): Do not set the deprecated
- methods "max_register_raw_size", "max_register_virtual_size" or
- "register_virtual_size".
-
-2003-09-09 Ian Lance Taylor <ian@wasabisystems.com>
-
- * MAINTAINERS: Update my e-mail address.
-
-2003-09-09 Andrew Cagney <cagney@redhat.com>
-
- * rs6000-tdep.c (rs6000_store_struct_return): Delete function.
- (rs6000_push_dummy_call): Store the struct return address.
- * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Ditto.
-
-2003-09-09 Andrew Cagney <cagney@redhat.com>
-
- * ppc-tdep.h (ppc_sysv_abi_push_dummy_call): Replace
- "ppc_sysv_abi_push_arguments".
- * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Replace
- "ppc_sysv_abi_push_arguments".
- * rs6000-tdep.c (rs6000_gdbarch_init): Set "push_dummy_call"
- instead of "push_arguments".
- (rs6000_push_dummy_call): Replace "rs6000_push_arguments".
-
-2003-09-09 Andrew Cagney <cagney@redhat.com>
-
- * sh64-tdep.c (sh64_push_return_address): Use ENTRY_POINT_ADDRESS
- instead of CALL_DUMMY_ADDRESS.
-
-2003-09-09 Paul N. Hilfinger <hilfingr@gnat.com>
-
- * p-lang.c: Eliminate "register".
- * c-lang.c: Ditto.
- * expprint.c: Ditto.
- * f-lang.c: Ditto.
- * jv-lang.c: Ditto.
- * language.c: Ditto.
- * m2-lang.c: Ditto.
- * parse.c: Ditto.
- * scm-lang.c: Ditto.
- * objc-lang.c: Ditto.
-
-2003-09-09 Nick Clifton <nickc@redhat.com>
-
- * v850-tdep.c (v850_processor_type_table): Add bfd_mach_v850e1.
-
-2003-09-04 Andrew Cagney <cagney@redhat.com>
-
- * avr-tdep.c: Include "dis-asm.h".
- * cris-tdep.c: Include "dis-asm.h".
- (cris_delayed_get_disassembler): Use "struct disassemble_info"
- instead of corresponding typedef.
- * h8300-tdep.c: Include "dis-asm.h".
- * ia64-tdep.c: Include "dis-asm.h".
- * i386-tdep.c: Include "dis-asm.h".
- (i386_print_insn): Use "struct disassemble_info" instead of
- corresponding typedef.
- * m68k-tdep.c: Include "dis-asm.h".
- * mcore-tdep.c: Include "dis-asm.h".
- * mips-tdep.c: Include "dis-asm.h".
- (gdb_print_insn_mips): Make static, use "struct disassemble_info"
- instead of corresponding typedef.
- * ns32k-tdep.c: Include "dis-asm.h".
- * s390-tdep.c: Include "dis-asm.h".
- * sparc-tdep.c: Include "dis-asm.h".
- * vax-tdep.c: Include "dis-asm.h".
- * v850-tdep.c: Include "dis-asm.h".
- * mn10300-tdep.c: Include "dis-asm.h".
- * rs6000-tdep.c: Include "dis-asm.h".
- * xstormy16-tdep.c: Include "dis-asm.h".
- (_initialize_xstormy16_tdep): Delete "extern" declaration of
- print_insn_xstormy16.
- * Makefile.in (v850-tdep.o): Update dependencies.
- (vax-tdep.o, sparc-tdep.o, s390-tdep.o): Ditto.
- (ns32k-tdep.o, mips-tdep.o, mcore-tdep.o): Ditto.
- (m68k-tdep.o, ia64-tdep.o, i386-tdep.o): Ditto.
- (h8300-tdep.o, cris-tdep.o, avr-tdep.o): Ditto.
- (mn10300-tdep.o, xstormy16-tdep.o, disasm.o): Ditto.
- (gdbarch_h): Remove $(dis_asm_h).
- * disasm.c: Include "dis-asm.h".
- (dis_asm_read_memory): Use "struct disassemble_info" instead of
- corresponding typedef.
- (dis_asm_memory_error, dump_insns, do_assembly_only): Ditto.
- (gdb_disassemble_info, gdb_disassembly, gdb_print_insn): Ditto.
- * gdbarch.sh: Do not include "dis-asm.h".
- (struct disassemble_info): Declare opaque.
- (TARGET_PRINT_INSN): Update declaration.
- * gdbarch.h, gdbarch.c: Re-generate.
-
-2003-09-08 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_CALL_DUMMY_ADDRESS): Rename
- CALL_DUMMY_ADDRESS, change to a predicate.
- * gdbarch.h, gdbarch.c: Re-generate.
- * blockframe.c (deprecated_pc_in_call_dummy_at_entry_point):
- Use either DEPRECATED_CALL_DUMMY_ADDRESS or entry_point_address.
- * infcall.c (call_function_by_hand): Ditto.
- * sparc-tdep.c (sparc_push_return_address): Ditto.
- (sparc_gdbarch_init): Set deprecated_call_dummy_address.
- * xstormy16-tdep.c (xstormy16_push_return_address): Replace
- CALL_DUMMY_ADDRESS with entry_point_address.
- * v850-tdep.c (v850_push_return_address): Ditto.
- * s390-tdep.c (s390_push_return_address): Ditto.
- * rs6000-tdep.c (ppc_push_return_address): Ditto.
- * mn10300-tdep.c (mn10300_push_return_address): Ditto.
- * mcore-tdep.c (mcore_push_return_address): Ditto.
- * cris-tdep.c (cris_push_return_address): Ditto.
- * arm-tdep.c (arm_push_return_address): Ditto.
-
-2003-09-08 Andrew Cagney <cagney@redhat.com>
-
- * dwarf2-frame.c (enum dwarf2_reg_rule): New, replace anonymous
- enum. Add REG_UNSPECIFIED, rename REG_UNSAVED to REG_UNDEFINED
- and REG_UNMODIFIED to REG_SAME_VALUE.
- (execute_cfa_program): Update.
- (dwarf2_frame_cache): Update. Initialize table to
- REG_UNSPECIFIED, complain if CFI fails to specify a register's
- location.
- (dwarf2_frame_prev_register): Update. Handle REG_UNSPECIFIED.
-
-2003-09-08 Andrew Cagney <cagney@redhat.com>
-
- * gnu-nat.c: Remove "inline" function attribute.
- * alpha-tdep.c, ppc-linux-tdep.c, macroexp.c: Ditto.
-
-2003-09-08 Kevin Buettner <kevinb@redhat.com>
-
- * config/frv/frv.mt (SIM_OBS, SIM): Enable simulator for FR-V
- target.
-
-2003-09-08 Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (frame-unwind.h, frame-base.h): Include.
- (frame_extra_info): Rename this struct to frv_unwind_cache.
- Delete fields ``fp_to_callers_sp_offset'' and ``lr_saved_on_stack''.
- Add fields ``prev_sp'' and ``base''.
- (frv_frame_chain, frv_frame_saved_pc, frv_frame_init_saved_regs)
- (frv_saved_pc_after_call, frv_init_extra_frame_info)
- (frv_push_return_address, frv_pop_frame, frv_pop_frame_regular):
- Delete.
- (frv_analyze_prologue): Add ``struct frv_unwind_cache *'' argument.
- Revise all callers. Fill in the unwind cache argument and make
- other adjustments to account for new frame mechanisms.
- (frv_frame_unwind_cache, frv_frame_align, frv_unwind_pc)
- (frv_frame_this_id, frv_frame_prev_register, frv_frame_sniffer)
- (frv_frame_base_address, frv_unwind_dummy_id): New functions.
- (frv_frame_unwind, frv_frame_base): New structs.
- (frv_push_arguments): Change name to frv_push_dummy_call(). Add
- additional arguments expected by this method and adjust function
- body accordingly.
- (frv_gdbarch_init): Remove calls to the following functions:
- set_gdbarch_deprecated_init_frame_pc(),
- set_gdbarch_deprecated_saved_pc_after_call(),
- set_gdbarch_deprecated_frame_chain(),
- set_gdbarch_deprecated_frame_saved_pc(),
- set_gdbarch_deprecated_frame_init_saved_regs(),
- set_gdbarch_deprecated_push_arguments(),
- set_gdbarch_deprecated_push_return_address(),
- set_gdbarch_deprecated_pop_frame(),
- set_gdbarch_deprecated_call_dummy_words(),
- set_gdbarch_deprecated_sizeof_call_dummy_words(),
- set_gdbarch_deprecated_init_extra_frame_info(),
- set_gdbarch_deprecated_dummy_write_sp(), and
- set_gdbarch_deprecated_pc_in_call_dummy().
- Add calls to the following functions:
- set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(),
- set_gdbarch_frame_align(), frame_unwind_append_sniffer(), and
- frame_base_set_default().
- * Makefile.in (frv-tdep.o): Update dependencies.
-
-2003-09-09 Mark Kettenis <kettenis@gnu.org>
-
- * dwarf2-frame.c (read_encoded_value): Add support for
- DW_EH_PE_aligned encoding.
-
-2003-09-08 Daniel Jacobowitz <drow@mvista.com>
-
- * infrun.c (normal_stop): Don't print a message if the inferior
- has exited.
-
-2003-09-08 Jim Blandy <jimb@redhat.com>
-
- * Makefile.in (dbxread.o): Note new dependency on $(gdb_assert_h).
- * dbxread.c: #include "gdb_assert.h".
- (read_dbx_symtab): If the objfile has no .data section, use the
- section index for the .bss section instead.
-
-2003-09-08 Daniel Jacobowitz <drow@mvista.com>
-
- * frame.c (deprecated_safe_get_selected_frame): New function.
- * frame.h (deprecated_safe_get_selected_frame): Add prototype.
- * findvar.c (read_var_value): Call it.
-
-2003-09-08 Corinna Vinschen <vinschen@redhat.com>
-
- * Makefile.in (ALLDEPFILES): Add sh64-tdep.c.
- (sh64-tdep.o): Add dependencies.
- * configure.tgt: Add FIXME to sh-*-linux*.
- * sh-tdep.c: Move sh64 support to sh64-tdep.c.
- (sh_gdbarch_init): Always set correct sh_show_regs function
- pointer. Call sh64_gdbarch_init() if machine type is sh5.
- * sh-tdep.h: Move sh64 support to sh64-tdep.c.
- * sh64-tdep.c: New file, containing all sh64 related code from
- sh-tdep.c.
- * config/sh/embed.mt (TDEPFILES): Add sh64-tdep.o.
- * config/sh/linux.mt (TDEPFILES): Ditto.
- * config/sh/nbsd.mt (TDEPFILES): Ditto.
- * config/sh/tm-sh.h: Drop REGISTER_TYPE definition.
- * config/sh/wince.mt (TDEPFILES): Ditto.
-
-2003-09-07 Daniel Jacobowitz <drow@mvista.com>
-
- * lin-lwp.c (detach_callback): Don't call stop_wait_callback.
- (stop_wait_callback): Handle !lp->signalled also.
- (lin_lwp_has_pending, flush_callback): New functions.
- (lin_lwp_wait): Call flush_callback.
- * linux-proc.c (linux_proc_add_line_to_sigset): New function.
- (linux_proc_pending_signals): New function.
- * linux-nat.h (linux_proc_pending_signals): Add prototype.
-
-2003-09-07 Daniel Jacobowitz <drow@mvista.com>
-
- From Nick Kelsey <nickk@ubicom.com>:
- * infrun.c (handle_inferior_event): Check IN_SOLIB_RETURN_TRAMPOLINE
- when the stop PC is at the beginning of a function also.
-
-2003-09-06 Daniel Jacobowitz <drow@mvista.com>
-
- * arm-linux-tdep.c (arm_linux_arm_be_breakpoint): New.
- (arm_linux_init_abi): Use arm_linux_arm_be_breakpoint.
-
-2003-09-06 Mark Kettenis <kettenis@gnu.org>
-
- * sol-thread.c: Include "gdb_string.h".
-
-2003-09-03 Mark Kettenis <m.kettenis@osp.nl>
-
- * gcore.c: Reorder include files in alphabetical order. Include
- "gdb_assert.h". Various coding style fixes.
- (derive_stack_segment, derive_heap_segment): Replace check for
- non-null BOTTOM and TOP with gdb_assert.
- (derive_heap_segment): Replace check for successful creation of
- ZERO with gdb_assert.
- (make_mem_sec): Use bfd_section_lma to set OSEC->lma.
-
-2003-09-04 Andrew Cagney <cagney@redhat.com>
-
- * thread-db.c (verbose_dlsym): New function.
- (thread_db_load): Use verbose_dlsym
- (thread_db_new_objfile): Print that libthread_db was loaded, and
- that thread debugging was enabled.
-
-2003-09-04 Andrew Cagney <cagney@redhat.com>
-
- * configure.tgt: Add "mips64*-*-*" target. Delete
- mips64*el-*-ecoff*, mips64*el-*-elf*, mips*el-*-ecoff*,
- mips*el-*-elf*, mips*-*-lnews*, mips*-*-sysv*, mips*-*-riscos*,
- mips*-*-ecoff*, mips*-*-elf*, mips*-little-*, mips*-big-*,
- mips*-dec-*, mips64*-big-*, mips64*vr*-*-elf*, mips64*-*-ecoff*,
- mips*-sony-*, and mips64*-*-elf* targets.
- * config/mips/embedl.mt: Delete file.
- * config/mips/embedl64.mt: Delete file.
- * config/mips/mips.mt: Delete file.
- * config/mips/mips64.mt: Delete file.
- * config/mips/tm-embed.h: Delete file.
- * config/mips/embed.mt (TM_FILE): Set to "tm-mips.h".
- * config/mips/embed64.mt: Delete out-of-date comment.
-
-2003-09-04 Andrew Cagney <cagney@redhat.com>
-
- * hppa-tdep.c (hppa_gdbarch_init): Set
- "have_nonsteppable_watchpoint".
- * config/pa/nm-hppah.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
- * mips-tdep.c (mips_dump_tdep): Do not print
- HAVE_NONSTEPPABLE_WATCHPOINT.
- (mips_gdbarch_init): Set "have_nonsteppable_watchpoint".
- * config/mips/tm-embed.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
- * config/mips/nm-irix5.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
- * config/mips/nm-irix4.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
-
-2003-09-04 Corinna Vinschen <vinschen@redhat.com>
-
- * breakpoint.c (watchpoint_check): Remove accidentally checked in
- unused code. Add comment.
-
-2003-09-04 Corinna Vinschen <vinschen@redhat.com>
-
- * breakpoint.c (watchpoint_check): Check for pc being in an
- epilogue if watchpoint frame couldn't be found.
-
-2003-09-04 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in: Re-generate all dependencies.
-
-2003-09-03 Andrew Cagney <cagney@redhat.com>
-
- * arch-utils.h (legacy_print_insn): Delete declaration.
- * arch-utils.c (legacy_print_insn): Delete function.
- * disasm.c (deprecated_tm_print_insn_info): Delete.
- (_initialize_disasm): Delete function, contained code initializing
- deprecated_tm_print_insn_info.
- * gdbarch.sh (deprecated_tm_print_insn): Delete.
- (deprecated_tm_print_insn_info): Delete.
- (TARGET_PRINT_INSN): Do not provide a default.
- * gdbarch.h, gdbarch.c: Re-generate.
-
-2003-09-03 Andrew Cagney <cagney@redhat.com>
-
- * disasm.c (fprintf_disasm): New function.
- (gdb_disassemble_info): Call "init_disassemble_info", instead of
- INIT_DISASSEMBLE_INFO_NO_ARCH. Do not initialize "insn_sets",
- reverts 2003-08-14 change.
- (_initialize_disasm): Call "init_disassemble_info", instead of
- INIT_DISASSEMBLE_INFO_NO_ARCH.
-
-2003-09-03 Michael Snyder <msnyder@redhat.com>
-
- * config/djgpp/fnchange.lst: Fix up sim/frv/profile-fr*.[ch].
-
-2003-09-03 Andrew Cagney <cagney@redhat.com>
-
- * config/rs6000/tm-rs6000.h (IBM6000_TARGET): Delete definition.
- * config/rs6000/nm-rs6000.h (DEPRECATED_IBM6000_TARGET): Define.
- * symfile.c (syms_from_objfile): Update.
- (reread_symbols): `Update
- * exec.c (exec_file_attach): Update.
- (exec_file_attach): Update.
- * config/powerpc/tm-nbsd.h: Delete #undef IBM6000_TARGET, revert
- 2003-08-29 change.
- * config/powerpc/tm-linux.h: Delete #undef IBM6000_TARGET.
-
-2003-09-03 Daniel Jacobowitz <drow@mvista.com>
-
- * arm-tdep.c: Include frame-unwind.h, frame-base.h, and
- trad-frame.h.
- (arm_get_cache): Delete macro.
- (struct arm_prologue_cache): Update comments. Make saved_regs into
- a trad_frame_saved_reg pointer. Remove unwound_pc; rename unwound_sp
- to prev_sp.
- (thumb_scan_prologue): Update for cache changes. Don't call
- DEPRECATED_PC_IN_CALL_DUMMY.
- (arm_scan_prologue): Update for cache changes. Take NEXT_FRAME
- argument and use it in desperation search for our prologue. Do not
- search past the specified PC.
- (arm_make_prologue_cache): Simplify.
-
- (arm_prologue_this_id, arm_prologue_prev_register)
- (arm_prologue_unwind, arm_prologue_unwind_sniffer)
- (arm_normal_frame_base, arm_normal_base, arm_make_sigtramp_cache)
- (arm_sigtramp_this_id, arm_sigtramp_prev_register)
- (arm_sigtramp_unwind, arm_sigtramp_unwind_sniffer)
- (arm_unwind_dummy_id, arm_unwind_pc, arm_unwind_sp): New.
-
- (arm_frame_chain_valid, arm_find_callers_reg)
- (arm_frame_saved_pc, arm_read_fp, arm_frame_init_saved_regs)
- (arm_pop_frame): Delete obsolete methods.
- (arm_minimal_frame_chain, arm_minimal_frame_info): Delete.
-
- (arm_gdbarch_init): Update for new frame methods. Register prologue
- and sigtramp unwinders. Set the default frame base method.
-
- * Makefile.in (arm-tdep.o): Update dependencies.
- * varobj.c (find_frame_addr_in_frame_chain): Call
- get_frame_base_address.
- * std-regs.c (value_of_builtin_frame_fp_reg): Likewise.
-
-2003-09-03 Daniel Jacobowitz <drow@mvista.com>
-
- * arm-tdep.c (arm_minimal_frame_chain): Renamed from
- arm_frame_chain. Take NEXT_FRAME and CACHE arguments.
- Use the cache instead of DEPRECATED_FRAME_SAVED_PC.
- (arm_minimal_frame_info): Renamed from arm_init_extra_frame_info.
- Take NEXT_FRAME and CACHE arguments. Call
- FRAMELESS_FUNCTION_INVOCATION instead of checking FROMLEAF argument.
- Set unwound_pc in CACHE instead of modifying the frame argument.
- Don't bother checking the frame type when looking for sigtramp
- frames.
- (arm_make_prologue_cache, arm_frame_chain)
- (arm_init_extra_frame_info): New functions.
-
-2003-09-03 Daniel Jacobowitz <drow@mvista.com>
-
- * arm-tdep.c (arm_get_cache): Define.
- (struct arm_prologue_cache): Renamed from frame_extra_info. Add
- unwound_sp, unwound_pc, and saved_regs.
- (thumb_scan_prologue): Take a cache instead of the frame.
- (arm_scan_prologue): Likewise.
- (arm_frame_chain): Create a temporary cache for arm_scan_prologue
- instead of a temporary frame.
- (arm_init_extra_frame_info): Allocate and use a cache.
- (arm_frame_saved_pc, arm_pop_frame): Use the cache.
-
-2003-09-03 Andrew Cagney <cagney@redhat.com>
-
- * config/arm/wince.mt (TM_CLIBS): Replace WIN32LIBS.
- * config/mips/wince.mt (TM_CLIBS): Ditto.
- * config/sh/wince.mt (TM_CLIBS): Ditto.
- * config/pa/hppa64.mt (TM_CLIBS): Delete.
- * config/sparc/sp64.mt (CC): Delete.
-
-2003-09-03 Andrew Cagney <cagney@redhat.com>
-
- * defs.h: Do not include "arch-utils.h".
- (GDB_MULTI_ARCH): If not defined, set to GDB_MULTI_ARCH_PARTIAL or
- GDB_MULTI_ARCH_PURE.
- * configure.in (GDB_MULTI_ARCH): Do not define.
- * configure, config.in: Regenerate.
- * configure.tgt: Do not set variable "gdb_multi_arch".
- * config/s390/s390x.mt (GDB_MULTI_ARCH): Delete.
- * config/s390/s390.mt (GDB_MULTI_ARCH): Delete.
- * config/i386/x86-64linux.mt (GDB_MULTI_ARCH): Delete.
- * config/v850/v850.mt (TM_FILE): Delete disabled definition.
- * config/m68hc11/m68hc11.mt (TM_FILE): Delete definition.
- * config/vax/tm-vax.h (GDB_MULTI_ARCH): Delete definition.
- * config/sparc/tm-sparc.h (GDB_MULTI_ARCH): Delete definition.
- * config/sparc/tm-sun4sol2.h (GDB_MULTI_ARCH): Delete definition.
- * config/sparc/tm-nbsd.h (GDB_MULTI_ARCH): Delete definition.
- * config/sparc/tm-linux.h (GDB_MULTI_ARCH): Delete definition.
- * config/sparc/tm-sp64.h (GDB_MULTI_ARCH): Delete definition.
- * config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Delete definition.
- * config/ns32k/tm-ns32k.h (GDB_MULTI_ARCH): Delete definition.
- * config/m68k/tm-m68k.h (GDB_MULTI_ARCH): Delete definition.
- * config/i386/tm-i386.h (GDB_MULTI_ARCH): Delete definition.
- * config/h8300/tm-h8300.h (GDB_MULTI_ARCH): Delete definition.
- * config/frv/tm-frv.h (GDB_MULTI_ARCH): Delete definition.
- * config/alpha/tm-alpha.h (GDB_MULTI_ARCH): Delete definition.
-
-2003-08-30 Michael Chastain <mec@shout.net>
-
- * Makefile.in: Remove tm-hp300bsd.h, tm-hp300hpux.h.
- * config/m68k/nm-hp300hpux.h: Delete.
- * config/m68k/tm-hp300hpux.h: Delete.
- * config/m68k/xm-hp300hpux.h: Delete.
- * config/m68k/xm-hp300bsd.h: Delete.
- * config/djgpp/fnchange.lst: Remove nm-hp300hpux.h,
- tm-hp300hpux.h, xm-hp300hpux.h.
- * somsolib.c: Remove comment about hp300 shared libraries.
-
-2003-08-31 Mark Kettenis <kettenis@gnu.org>
-
- * i386-linux-nat.c (ps_get_thread_area): Don't define as extern.
- Only define PTRACE_GET_THREAD_AREA is not already defined.
- Various style fixes in code and comments and some additional
- spelling fixes in comments. Move after functions dealing with
- debug registers.
- * x86-64-linux-nat.c (ps_get_thread_area): Don't define as extern.
- Fix coding-style.
-
- * alphafbsd-tdep.c (alphafbsd_sigcontext_addr): Use
- frame_unwind_register_unsigned instead of
- frame_unwind_unsigned_register.
-
-2003-08-30 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Search for gethostbyname in libnsl.
- * configure: Regenerated.
-
-2003-08-29 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Remove redundant AC_MSG_RESULT in check for
- uintptr_t in stdint.h.
- * configure: Regenerated.
-
- * amd64-nat.h (struct regcache): Add opaque declaration.
-
- * i386-linux-tdep.h (I386_LINUX_NUM_REGS): New define.
- * x86-64-linux-nat.c: Include "i386-linux-tdep.h" and "amd64.h".
- Change "register array" to "register cache" in comments.
- (x86_64_linux_gregset64_reg_offset): New variable.
- (GETREGS_SUPPLIES): Remove macro.
- (supply_gregset): Call amd64_supply_native_gregset instead of
- x86_64_linux_supply_gregset.
- (fill_gregset): Rename `regno' to `regnum'. Call
- amd64_collect_native_gregset instead of x86_64_linux_fill_gregset.
- (store_regs): Rename `regno' to `regnum'.
- (store_fpregs): Rename `regno' to `regnum'.
- (fetch_inferior_registers): Rename `regno' to `regnum'. Use
- amd64_native_gregset_supplies_p instead of GREGSET_SUPPLIES.
- Reorganize function a bit.
- (store_inferior_registers): Rename `regno' to `regnum'. Use
- amd64_native_gregset_supplies_p instead of GREGSET_SUPPLIES.
- Reorganize function a bit.
- (_initialize_x86_64_linux_nat): New function.
- * config/i386/x86-64linux.mh.
-
-2003-08-29 Andrew Cagney <cagney@redhat.com>
-
- * config/mips/tm-embed.h (STOPPED_BY_WATCHPOINT): Delete macro.
- (TARGET_CAN_USE_HARDWARE_WATCHPOINT): Delete macro.
- (target_remove_watchpoint): Delete macro.
- (target_insert_watchpoint): Delete macro.
- (remote_mips_can_use_hardware_watchpoint): Delete declaration.
- (remote_mips_stopped_by_watchpoint): Delete declaration.
- (remote_mips_remove_watchpoint): Delete declaration.
- (remote_mips_set_watchpoint): Delete declaration.
- (TARGET_HAS_HARDWARE_WATCHPOINTS): Delete macro.
- * remote-mips.c (_initialize_remote_mips): Set
- "to_insert_watchpoint", "to_stopped_by_watchpoint",
- "to_can_use_hardware_watchpoint", and "to_remove_watchpoint".
- (mips_insert_watchpoint): Rename remote_mips_set_watchpoint.
- (mips_remove_watchpoint): Rename remote_mips_remove_watchpoint.
- (mips_stopped_by_watchpoint): Rename
- remote_mips_stopped_by_watchpoint.
- (mips_can_hardware_watchpoint): Rename
- remote_mips_can_use_hardware_watchpoint, update function
- signature.
-
-2003-08-29 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-linux-tdep.c (user_to_gdb_regmap): Remove USER_CS and
- USER_DS. We haven't given them a register number yet.
-
- * amd64-nat.h: New file.
- * amd64-nat.c: New file.
- * amd64fbsd-nat.c: Include "amd64-nat.h".
- (REG_ADDR, GETREGS_SUPPLIES): Remove macros.
- (amd64fbsd32_r_reg_offset): New variable.
- (supply_gregset): Simply call amd64_supply_native_gregset.
- (fill_gregset): Rename `regno' to `regnum'. Simply call
- amd64_collect_native_gregset.
- (fill_fpregset): Rename `regno' to `regnum'.
- (fetch_inferior_registers): Rename `regno' to `regnum'. Replace
- usage of GETREGS_SUPPLIES with amd64_native_gregset_supplies_p.
- Use `struct reg' and `struct fpreg' instead of `gregset_t' and
- `fpregset_t'. Call amd64_supply_native_gregset instead of
- supply_gregset. Call x86_64_supply_fxsave instead of
- supply_fpregset.
- (store_inferior_registers): Rename `regno' to `regnum'. Replace
- usage of GETREGS_SUPPLIES with amd64_native_gregset_supplies_p.
- Use `struct reg' and `struct fpreg' instead of `gregset_t' and
- `fpregset_t'. Call amd64_collect_native_gregset instead of
- fill_gregset. Call x86_64_collect_fxsave instead of
- fill_fpregset.
- (_initialize_am64fbsd_nat): Initialize
- amd64_native_gregset32_reg_offset and
- amd64_native_gregset64_reg_offset.
- * config/i386/fbsd64.mh (NATDEPFILES): Add amd64-nat.o.
-
- * regcache.c (regcache_raw_supply): Don't assert that BUF isn't a
- null pointer. Fix typo in comment.
-
- * regcache.c (supply_register): Reimplement to call
- regcache_raw_supply.
- (regcache_collect): Reimplement by calling regcache_raw_collect.
-
-2003-08-28 Mark Kettenis <kettenis@gnu.org>
-
- * regcache.c (register_buffer): Consitify first argument.
- (regcache_raw_supply, regcache_raw_collect): New
+ * sparc64nbsd-tdep.c: Include "regset.h".
+ (sparc64nbsd_sizeof_struct_reg, sparc64nbsd_sizeof_struct_fpreg):
+ Remove variables.
+ (fetch_core_registers): Remove function.
+ (sparc64nbsd_core_fns): Remove variable.
+ (sparc64nbsd_supply_gregset, sparc64nbsd_supply_fpregset): New
functions.
-
-2003-08-28 Daniel Jacobowitz <drow@mvista.com>
-
- * config/powerpc/tm-nbsd.h: Undefine IBM6000_TARGET. Suggested
- by Nathan J. Williams.
-
-2003-08-28 Daniel Jacobowitz <drow@mvista.com>
-
- * lin-lwp.c (wait_lwp): New function, copied from
- stop_wait_callback. Clean up.
- (stop_wait_callback): Use wait_lwp.
-
-2003-08-28 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (gdb_print_insn_mips): Set the disassembler's
- flavour and disassembler options.
- (_initialize_mips_tdep): Do not set deprecated_tm_print_insn.
- (mips_gdbarch_init): Set "print_insn". Delete initialization of
- deprecated_tm_print_insn_info.
-
-2003-08-27 Andrew Cagney <cagney@redhat.com>
-
- * s390-tdep.c (s390_readinstruction): Delete "info" parameter.
- Use target_read_memory.
- (s390_get_frame_info): Update. Do not reference
- deprecated_tm_print_insn_info.
- (s390_check_function_end, s390_is_sigreturn): Ditto.
-
-2003-08-27 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (cris-tdep.o): Update dependencies.
- * cris-tdep.c: Include "gdb_assert.h".
- (cris_gdbarch_init): Set print_insn.
- (_initialize_cris_tdep): Do not set deprecated_tm_print_insn.
- (cris_delayed_get_disassembler): Simplify, directly call the
- disassembler returned by cris_get_disassembler.
- * hppa-tdep.c (hppa_gdbarch_init): Set print_insn.
- (_initialize_hppa_tdep): Do not set deprecated_tm_print_insn.
- * ns32k-tdep.c (ns32k_gdbarch_init): Set print_insn.
- (_initialize_ns32k_tdep): Do not set deprecated_tm_print_insn.
- * mn10300-tdep.c (mn10300_gdbarch_init): Set print_insn.
- (_initialize_mn10300_tdep): Do not set deprecated_tm_print_insn.
- * mcore-tdep.c (mcore_gdbarch_init): Set print_insn.
- (_initialize_mcore_tdep): Do not set deprecated_tm_print_insn.
- * frv-tdep.c (frv_gdbarch_init): Set print_insn.
- (_initialize_frv_tdep): Do not set deprecated_tm_print_insn.
- * sparc-tdep.c (sparc_gdbarch_init): Set print_insn.
- (gdb_print_insn_sparc): Delete function.
- (_initialize_sparc_tdep): Do not set deprecated_tm_print_insn or
- deprecated_tm_print_insn_info.
- * v850-tdep.c (v850_gdbarch_init): Set print_insn.
- (_initialize_v850_tdep): Do not set deprecated_tm_print_insn.
- (v850_gdbarch_init): Do not set deprecated_tm_print_insn_info.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Set print_insn.
- (_initialize_xstormy16_tdep): Do not set deprecated_tm_print_insn.
- * s390-tdep.c (gdb_print_insn_s390): Delete function.
- (_initialize_s390_tdep): Do not set deprecated_tm_print_insn.
- (s390_gdbarch_init): Set print_insn.
-
-2003-08-27 Andrew Cagney <cagney@redhat.com>
-
- * ppc-linux-tdep.c (ppc64_call_dummy_address): Delete function.
- (ppc_linux_init_abi): For PPC64, do not set call_dummy_address.
- * infcall.c (call_function_by_hand): Convert the entry point
- address into a code address.
-
-2003-08-27 Andrew Cagney <cagney@redhat.com>
-
- * dsrec.c: Include "gdb_string.h".
- * Makefile.in (dsrec.o): Update dependencies.
-
-2003-08-27 Michael Chastain <mec@shout.net>
-
- * config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.mi/mi2-var-*.
-
-2003-08-27 Andrew Cagney <cagney@redhat.com>
-
- * alpha-osf1-tdep.c (alpha_call_dummy_address): Delete function.
- (alpha_osf1_init_abi): Do not set call_dummy_address.
-
-2003-08-27 David Carlton <carlton@kealia.com>
-
- From Randolph Chung <tausq@debian.org>:
- * linux-proc.c (linux_info_proc_cmd): rework the code so that it
- compiles with -Wformat-nonliteral -Werror.
-
-2003-08-26 Jim Blandy <jimb@redhat.com>
-
- * solib-svr4.c (bfd_lookup_symbol): New SECT_FLAGS argument.
- (enable_break): Pass SEC_CODE as the SECT_FLAGS argument to
- bfd_lookup_symbol, since we only want symbols in code sections.
- (look_for_base): Pass zero as the SECT_FLAGS argument to
- bfd_lookup_symbol, since we're not concerned about which section
- the symbol is in.
-
-2003-08-26 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-tdep.c (examine_prologue): Only stop at predicated insns if
- we are frameless or the return address register is already known.
-
-2003-08-26 Andrew Cagney <cagney@redhat.com>
-
- * i386-linux-nat.c (ps_get_thread_area): Make "desc" four "int"s
- in size. Add comments.
-
-2003-08-26 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-tdep.c (ia64_convert_from_func_addr): New function.
- (ia64_gdbarch_init): Call set_gdbarch_convert_from_func_addr().
-
-2003-08-26 Jason Merrill <jason@redhat.com>
-
- * dwarf2read.c (dwarf_attr_name): Move DW_AT_MIPS_linkage_name
- case out of #ifdef MIPS block.
-
-2003-08-25 Daniel Jacobowitz <drow@mvista.com>
-
- PR java/1322
- * dwarf2-frame.c (dwarf2_frame_find_fde): Check whether any FDEs are
- available before calling SECT_OFF_TEXT.
- * PROBLEMS: Remove description of java/1322.
-
-2003-08-25 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-tdep.c (pseudo_regs): New enum that lists gr32-gr127, p0-p63,
- bof, and nat0-nat127 as pseudo-registers.
- (ia64_frame_cache): New struct used to cache frame info.
- (ia64_register_reggroup_p): New routine used to override default
- register grouping so registers without names are still saved and
- restored.
- (ia64_dwarf_reg_to_regnum): New routine to map gr32-gr127 to their
- pseudo values.
- (ia64_pseudo_register_read): New routine to read pseudo-registers.
- (ia64_pseudo_register_write): New routine to write pseudo-registers.
- (ia64_alloc_frame_cache): New routine to create a new
- ia64_frame_cache.
- (examine_prologue): Change prototype to add next_frame pointer.
- Assume frameless until otherwise proven. Verify that the cfm for
- current frame matches the cfm that should occur for the prologues
- alloc insn and if equal, mark as not frameless. At end of routine,
- if not frameless, calculate registers for the previous frame and store
- in the cache, if a cache is provided.
- (ia64_skip_prologue): Use new prototype when calling examine_prologue
- and pass 0 for next_frame.
- (ia64_store_return_value): Change to use convert_typed_floating()
- instead of calling ia64_convert_to_raw().
- (ia64_extract_return_value): Change to use convert_typed_floating()
- instead of calling ia64_convert_to_virtual().
- (ia64_frame_cache): New routine to support new frame model.
- (ia64_frame_this_id, ia64_frame_prev_register): Ditto.
- (ia64_frame_sniffer): Ditto.
- (ia64_sigtramp_frame_init_saved_regs): Ditto.
- (ia64_sigtramp_frame_cache, ia64_sigtramp_frame_this_id): Ditto.
- (ia64_sigtramp_frame_prev_register): Ditto.
- (ia64_sigtramp_frame_sniffer): Ditto.
- (ia64_frame_base_address): Ditto.
- (ia64_extract_struct_value_address): Change to issue error message.
- (ia64_frame_align): New routine to align sp.
- (ia64_push_dummy_call): New routine based on ia64_push_arguments().
- (ia64_push_arguments): Removed. Logic moved to
- ia64_push_dummy_call().
- (ia64_push_return_address): Ditto.
- (ia64_unwind_dummy_id): New function.
- (ia64_unwind_pc): Ditto.
- (ia64_convert_register_p): Ditto.
- (ia64_register_to_value): Ditto.
- (ia64_value_to_register): Ditto.
- (ia64_pop_frame, ia64_pop_frame_regular): Removed.
- (ia64_register_byte, ia64_register_raw_size): Ditto.
- (ia64_register_virtual_size, ia64_register_virtual_byte): Ditto.
- (ia64_saved_pc_after_call): Ditto.
- (ia64_frame_chain, ia64_frame_saved_pc): Ditto.
- (ia64_frame_init_saved_regs, ia64_get_saved_register): Ditto.
- (ia64_register_convertible, ia64_register_convert_to_virtual): Ditto.
- (ia64_register_convert_to_raw): Ditto.
- (ia64_store_struct_return, ia64_call_dummy_words): Ditto.
- (ia64_init_extra_frame_info): Ditto.
- (ia64_frame_args_address, ia64_frame_locals_address): Ditto.
- (ia64_gdbarch_init): Remove registering of deprecated functions that
- are no longer used. Add registration of new gdbarch functions.
- Remove registering deprecated_write_sp. Replace
- set_gdbarch_register_virtual_type() with set_gdbarch_register_type().
- Delete set_gdbarch_deprecated_register_convertible(),
- set_gdbarch_deprecated_register_convert_to_virtual(), and
- set_gdbarch_deprecated_register_convert_to_raw() calls. Remove
- set_gdbarch_deprecated_register_size(),
- set_gdbarch_deprecated_register_bytes(),
- set_gdbarch_pcregnum(),
- set_gdbarch_deprecated_register_byte(),
- set_gdbarch_deprecated_register_raw_size(),
- set_gdbarch_deprecated_max_register_raw_size(),
- set_gdbarch_deprecated_register_virtual_size(),
- and set_gdbarch_deprecated_max_register_virtual_size() calls.
- Replace set_gdbarch_deprecated_extract_return_value() with
- set_gdbarch_extract_return_value(). Remove calls to:
- set_gdbarch_deprecated_saved_pc_after_call();
- set_gdbarch_deprecated_frame_chain(),
- set_gdbarch_deprecated_frame_saved_pc(),
- set_gdbarch_deprecated_frame_init_saved_regs(),
- set_gdbarch_deprecated_get_saved_register(),
- set_gdbarch_deprecated_call_dummy_words(),
- set_gdbarch_deprecated_sizeof_call_dummy_words(),
- set_gdbarch_deprecated_init_extra_frame_info(),
- set_gdbarch_deprecated_frame_args_address(),
- set_gdbarch_deprecated_frame_locals_address(),
- and set_gdbarch_deprecated_dummy_write_sp().
- Add set_gdbarch_convert_register_p(),
- set_gdbarch_register_to_value(),
- set_gdbarch_value_to_register(),
- set_gdbarch_push_dummy_call(),
- set_gdbarch_frame_align(),
- set_gdbarch_unwind_dummy_id(),
- set_gdbarch_unwind_pc(),
- frame_unwind_append_sniffer(),
- frame_unwind_append_sniffer(),
- and frame_base_set_default().
-
-2003-08-25 Chris Demetriou <cgd@broadcom.com>
-
- * configure.tgt: Document need for special "mipsisa64" handling.
- (mipsisa64*-*-linux64): Handle as target linux64.
- (mipsisa64*-*-*): Handle as target embed64.
-
-2003-08-18 Michael Chastain <mec@shout.net>
-
- * PROBLEMS: Document pr gdb/1322, the Java anonymous
- objfile bug.
-
-2003-08-24 Mark Kettenis <kettenis@gnu.org>
-
- * i387-tdep.h: Update copyright date.
- (I387_SIZEOF_FSAVE, I387_SIZEOF_FXSAVE): New defines.
-
- * linux-proc.c (linux_proc_xfer_memory): Remove comment about
- CFLAGS games to reflect reality.
-
-2003-08-24 Andrew Cagney <cagney@redhat.com>
-
- * arm-tdep.c (_initialize_arm_tdep): Simplify by assuming
- GDB_MULTI_ARCH is always non-zero.
- * osabi.c (_initialize_gdb_osabi): Ditto.
- (gdbarch_init_osabi): Ditto.
- * sparc-tdep.c: Ditto for #if code.
-
-2003-08-23 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c (x86_64_supply_fxsave): Add `regnum' argument.
- Update comments.
- * x86-64-tdep.h (x86_64_supply_fxsave): Adjust prototype. Update
- comments.
- * x86-64-linux-tdep.c (fetch_core_registers): Adjust call to
- x86_64_supply_fxsave.
- * x86-64-linux-nat.c (supply_fpregset): Adjust call to
- x86_64_supply_fxsave.
- * amd64fbsd-nat.c (supply_fpregset): Adjust call to
- x86_64_supply_fxsave.
-
-2003-08-23 Andreas Jaeger <aj@suse.de>
-
- * x86-64-tdep.c (x86_64_supply_fxsave): Adjust call to
- i387_supply_fxsave.
-
-2003-08-23 Mark Kettenis <kettenis@gnu.org>
-
- * go32-nat.c (fetch_register): Call i387_supply_fsave instead of
- i387_supply_register.
- (go32_fetch_registers): Adjust call to i387_supply_fsave.
- * i386nbsd-tdep.c (fetch_core_registers): Adjust call to
- i387_supply_fsave.
- (fetch_elfcore_registers): Adjust call to i387_supply_fsave and
- i387_supply_fxsave.
- * i386obsd-tdep.c (fetch_core_registers): Adjust call to
- i387_supply_fsave.
- * i386bsd-nat.c (supply_fpregset): Adjust call to
- i387_supply_fsave.
- (fetch_inferior_registers): Remove extraneous whitespace. Adjust
- call to i387_supply_fxsave. Call i387_supply_fsave instead of
- supply_fpregset.
- (store_inferior_registers): Remove extraneous whitespace. Call
- i387_fill_fsave instead of fill_fpregset.
- * i386gnu-nat.c (fetch_fpregs): Adjust call to i387_supply_fsave.
- (supply_fpregset): Likewise.
- * i386v4-nat.c (supply_fpregset): Adjust call to
- i387_supply_fsave.
- * i386-interix-nat.c (supply_fpregset): Adjust call to
- i387_supply_fsave.
- * i386-linux-nat.c (supply_fpregset): Adjust call to
- i387_supply_fsave.
- (supply_fpxregset): Adjust call to i387_adjust_fxsave.
- * i386-nto-tdep.c (i386nto_supply_fpregset): Adjust calls to
- i387supply_fsave and i387_supply_fxsave.
- * i387-tdep.c (i387_supply_fsave): Add `regnum' argument.
- Incorporate code from `i387_supply_register.
- (i387_supply_register): Remove.
- (i387_supply_fxsave): Add `regnum' argument.
- Update comments.
- * i387-tdep.h (i387_supply_fsave, i387_supply_fsxave): Adjust
- prototype.
- (i387_supply_register): remove prototype.
- Update comments.
-
-2003-08-22 Michael Chastain <mec@shout.net>
-
- * config/djgpp/fnchange.lst: Remove gdb/testsuite/gdb.c++/*.
- Add lines for files in gdb/testsuite/gdb.cp/* that are
- still not 8.3 unique.
-
-2003-08-22 Daniel Jacobowitz <drow@mvista.com>
-
- * gnu-v3-abi.c (gnuv3_baseclass_offset): Check whether
- TYPE_VPTR_FIELDNO is valid.
-
-2003-08-19 Mark Kettenis <kettenis@gnu.org>
-
- * utils.c (set_width_command): Remove prototypes.
- (set_screen_size): New prototype.
- (init_page_info): Simplify by fetching the screen size from
- Readline. Call set_screen_size.
- (set_screen_size): New function.
- (set_width): Add missing whitespace in comment.
- (set_width_command): Call set_screen_size.
- (set_height_command): New function.
- (initialize_utils): Fix formatting. Make "set height" command
- call set_height_command. Remove redundant code that turns off
- pagination if output isn't a terminal. Remove redundant call to
- set_width_command.
-
-2003-08-22 Mark Kettenis <kettenis@gnu.org>
-
- * sparc64-tdep.h (sparc64_regnum): Fix comment.
- (sparc64_supply_rwindow, sparc64_fill_rwindow): Remove prototypes.
- (sparc_supply_rwindow, sparc_fill_rwindow): New prototypes.
- * sparc64-tdep.c (sparc64_pseudo_register_read): Add missing
- `case' keyword.
- (sparc64_register_info): Give the reister with number
- SPARC64_STATE_REGNUM a name.
- (sparc64_pseudo_register_write): Add support for %cwp, %pstate,
- %asi and %ccr.
- (sparc64_push_dummy_call): Take BIAS into account when checking
- stcak alignment.
- (sparc_software_single_step): Remove assertions that check whether
- NPC and NNPC were zero.
- (sparc_supply_rwindow): Make public. Merge functionality with
- sparc64_supply_rwindow.
- (sparc_fill_rwindow): Make public. Merge functionality with
- sparc64_fill_rwindow.
- (sparc64_supply_rwindow, sparc64_fill_rwindow): Remove.
- * sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Set
- SPARCBSD_FPREG_SUPPLIES_P to sparc64fbsd_fpreg_supplies_p.
- * sparc64fbsd-tdep.c (sparc64fbsd_supply_reg): Call
- sparc_supply_rwindow instead of sparc64_supply_rwindow.
-
- * reggroups.c: Add whitespace after declarations of local
- variables in functions.
-
-2003-08-21 Michael Chastain <mec@shout.net>
-
- * gdbtypes.h: Change array bound type from an int to enum.
-
-2003-08-21 Andrew Cagney <cagney@redhat.com>
-
- * config/sparc/tm-sp64.h: Delete #if !GDB_MULTI_ARCH and #if 0 code.
- * config/sparc/tm-sparc.h: Ditto.
- * config/arm/tm-arm.h (GDB_MULTI_ARCH): Define GDB_MULTI_ARCH
- unconditionally.
- * config/pa/tm-hppa.h (GDB_MULTI_ARCH): Ditto.
-
-2003-07-13 Mark Kettenis <kettenis@gnu.org>
-
- * objfiles.h (struct objfile): Add memebers `data' and `num_data'.
- (register_objfile_data, set_objfile_data, objfile_data): New
- prototypes.
- * objfiles.c (objfile_alloc_data, objfile_free_data): New
- prototypes.
- (allocate_objfile): Call objfile_alloc_data.
- (free_objfile): Call objfile_free_data.
- (struct objfile_data): New.
- (struct objfile_data_registration): New.
- (struct objfile_data_registry): New.
- (objfile_data_registry): New variable.
- (register_objfile_data): New function.
- (objfile_alloc_data, objfile_free_data): New functions.
- (set_objfile_data, objfile_data): New functions.
- * dwarf2-frame.c (dwarf2_frame_data): New variable.
- (dwarf2_frame_find_fde, add_fde): Use new per-objfile data mechanism.
- (_initialize_dwarf2_frame): New function and prototype.
-
-2003-08-21 Andrew Cagney <cagney@redhat.com>
-
- * sh3-rom.c (sh3_open, sh3e_open): Use gdbarch_update_p to select
- a specific architecture.
- * arch-utils.h (set_architecture_from_arch_mach): Delete
- declaration.
- (target_architecture_hook): Delete declaration.
- * arch-utils.c: Delete non GDB_MULTI_ARCH includes.
- (default_float_format): Assume GDB_MULTI_ARCH.
- (default_double_format): Assume GDB_MULTI_ARCH.
- (set_endian_from_file): Delete function.
- (arch_ok): Delete function.
- (set_arch): Delete function.
- (set_architecture_from_arch_mach): Delete function.
- (set_architecture_from_file): Delete function.
- (set_architecture): Assume GDB_MULTI_ARCH.
- (set_gdbarch_from_file): Assume GDB_MULTI_ARCH.
-
-2003-08-21 Mark Kettenis <kettenis@gnu.org>
-
- Rewrite FreeBSD/sparc64 native configuration.
- * sparcbsd-nat.c, sparcbsd-nat.h: New files.
- * sparc64fbsd-nat.c: New file.
- * sparc64fbsd-tdep.c: New file.
- * sparc64-tdep.c sparc64-tdep.h: New files.
- * Makefile.in (sparcbsd-nat.o, sparc64fbsd-nat.o, sparc64-tdep.o,
- sparc64fbsd-tdep.o): New dependencies.
- (SFILES): Add sparcbsd-nat.c, sparc64fbsd-nat.c, sparc64-tdep.c
- and sparc64fbsd-tdep.c.
- (sparc64_tdep_h, sparcbsd_nat_h): New variables.
- * config/sparc/fbsd.mh: Remove copyright notice.
- (NATDEPFILES): Remove sparc-nat.o, add sparc64fbsd-nat.o and
- sparcbsd-nat.o.
- * config/sparc/fbsd.mt: Remove copyright notice.
- (TDEPFILES): Remove sparc-tdep.o, solib.o solib-svr4.o,
- solib-legacy.o. Add sparc64-tdep.o and sparc64fbsd-tdep.o.
- * config/sparc/nm-fbsd.h: Don't include "elf/common.h".
- (SVR4_SHARED_LIBS, PTRACE_GETREGS, PTRACE_SETREGS,
- PTRACE_GETFPREGS, PTRACE_SETFPREGS, GDB_GREGSET_T, GDB_FPREGSET_T,
- regs, r_g1, r_ps, r_pc, r_npc, r_y, FPU_FSR_TYPE, fp_status, fpu,
- fpu_regs, fp_fr, fpu_fsr, Fpu_fsr): Remove defines.
- * config/sparc/tm-fbsd.h: Don't include "solib.h" and
- "sparc/tm-sp64.h".
- (SVR4_SHARED_LIBS, START_INFERIOR_TRAPS_EXPECTED): Remove defines.
- (GDB_MULTI_ARCH): Define to GDB_MULTI_ARCH_TM.
-
-2003-08-21 Michael Chastain <mec@shout.net>
-
- * symtab.h: Add doco on the space critical structures and
- some measurements of space usage.
-
-2003-08-21 Michael Snyder <msnyder@redhat.com>
-
- * tracepoint.c (trace_dump_command): Trace break address
- is subject to DECR_PC_AFTER_BREAK.
- (set_traceframe_context): Make "trace_line" an int.
- Fixes suggested by Mark Newman <mark.newman@lmco.com>
-
-2003-08-20 Michael Snyder <msnyder@redhat.com>
-
- * sh-tdep.h (struct gdbarch_tdep): New member FLOAT_ARGLAST_REG.
- * sh-tdep.c (sh_gdbarch_init): For sh2e, sh3e, and sh4, set
- FLOAT_ARG0_REGNUM and FLOAT_ARGLAST_REGNUM, to be used for
- argument passing.
- (sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu): New
- functions, replace sh_push_dummy_call.
- (sh_gdbarch_init): Set push_dummy_call to one of new methods.
-
-2003-08-20 Michael Chastain <mec@shout.net>
-
- * gdbtypes.h (struct main_type): Rearrange to save space.
-
-2003-08-20 Michael Snyder <msnyder@redhat.com>
-
- * trad-frame.c: Comment typo fix.
-
-2003-08-20 Michael Snyder <msnyder@redhat.com>
- Kevin Buettner <kevinb@redhat.com>
-
- * frv-tdep.c (gdb_string.h, frame.h, trad-frame.h): Include.
- (frv_frame_init_saved_regs): Add declaration.
- (frame_extra_info): Add new field ``saved_regs''.
- (frv_frame_chain, frv_frame_saved_pc, frv_analyze_prologue)
- (frv_skip_prologue, frv_init_extra_frame_info, frv_pop_frame_regular):
- Update frame related code.
- (frv_extract_struct_value_address): Adjust formatting.
- * Makefile.in (frv-tdep.o): Update dependencies.
- * config/frv/tm-frv.h (target_insert_watchpoint)
- (target_remove_watchpoint, target_insert_hw_breakpoint)
- (target_remove_hw_breakpoint): Delete these macros.
- (remote_insert_watchpoint, remote_remove_watchpoint)
- (remote_insert_hw_watchpoint, remote_remove_hw_watchpoint): Remove
- these declarations.
-
-2003-08-20 Michael Chastain <mec@shout.net>
-
- * defs.h (ENUM_BITFIELD): New macro.
- * symtab.h (ENUM_BITFIELD): Use it.
- (BYTE_BITFIELD): Remove old macro, which was already disabled.
-
-2003-08-19 Shrinivas Atre <shrinivasa@kpitcummins.com>
-
- * MAINTAINERS (write after approval): Add myself.
-
-2003-08-18 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (FRAME_RED_ZONE_SIZE): New architecture method.
- * gdbarch.h, gdbarch.c: Re-generate.
- * infcall.c (call_function_by_hand): Adjust the SP by
- frame_red_zone_size before allocating any stack space.
- * rs6000-tdep.c (rs6000_gdbarch_init): Set "frame_red_zone_size".
- * x86-64-tdep.c (x86_64_frame_align): New function.
- (x86_64_init_abi): Set "frame_red_zone_size" and "frame_align".
-
- * x86-64-tdep.c (x86_64_push_arguments): Revert 2003-08-07 change.
- Remove code adjusting SP so that it skips over the Red Zone.
-
-2003-08-18 Mark Kettenis <kettenis@gnu.org>
-
- * NEWS (New native configurations): Mention FreeBSD/amd64.
-
-2003-08-18 Andrew Cagney <cagney@redhat.com>
-
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Do not set
- "dwarf2_build_frame_info". Append "m68k_frame_sniffer" instead of
- "m68k_frame_p".
- (m68hc11_frame_sniffer): Replace "m68hc11_frame_p".
-
-2003-08-18 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c (x86_64_dwarf_regmap): Remove trailing whitespace.
-
-2003-08-18 Michal Ludvig <mludvig@suse.cz>
-
- * config/i386/nm-x86-64linux.h (LINUX_CHILD_POST_STARTUP_INFERIOR):
- Define.
- * i386-linux-nat.c: Include "linux-nat.h".
- (child_post_startup_inferior): New function.
-
-2003-08-18 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c (i386_analyze_register_saves): Handle register saves
- at the start of a frameless function. This probably fixes PR
- backtrace/1338.
-
-2003-08-17 Michael Chastain <mec@shout.net>
-
- * symfile.c (find_sym_fns): Remove special case for apollo target.
-
-2003-08-17 Daniel Jacobowitz <drow@mvista.com>
-
- * linux-nat.c (PTRACE_O_TRACEVFORKDONE, PTRACE_O_TRACEEXIT): Define.
- (PTRACE_EVENT_VFORKDONE, PTRACE_EVENT_EXIT): Define.
- (linux_parent_pid, linux_supports_tracevforkdone_flag): New variable.
- (linux_test_for_tracefork): Set linux_supports_tracevforkdone_flag.
- (linux_supports_tracevforkdone): New function.
- (linux_enable_event_reporting): Enable TRACEVFORK, TRACEEXEC, and
- TRACEVFORKDONE.
- (child_follow_fork): Handle vfork.
- (linux_handle_extended_wait): Likewise. Also handle exec.
- (child_insert_vfork_catchpoint, child_insert_exec_catchpoint): Enable.
- * NEWS: Mention fork tracing.
-
-2003-08-17 Daniel Jacobowitz <drow@mvista.com>
-
- * lin-lwp.c (child_wait): Call linux_record_stopped_pid.
-
-2003-08-17 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in (i386-linux-nat.o): Update dependencies.
- * config/i386/nm-linux.h (LINUX_CHILD_POST_STARTUP_INFERIOR): Define.
- * config/nm-linux.h (CHILD_POST_STARTUP_INFERIOR, CHILD_POST_ATTACH)
- (CHILD_FOLLOW_FORK, KILL_INFERIOR): Define.
- * i386-linux-nat.c: Include "linux-nat.h".
- (child_post_startup_inferior): New function.
- * i386-nat.c (child_post_startup_inferior): Wrap in #ifdef.
- * infptrace.c (kill_inferior): Wrap in #ifdef.
- * lin-lwp.c (lin_lwp_attach_lwp): Call child_post_attach after
- attaching to each LWP.
- (child_wait, lin_lwp_wait): Call linux_handle_extended_wait.
- (init_lin_lwp_ops): Fill in some more operations.
- * linux-nat.h (linux_enable_event_reporting)
- (linux_handle_extended_wait, linux_child_post_startup_inferior): New
- prototypes.
- * linux-nat.c (linux_enable_event_reporting): New function.
- (child_post_attach, linux_child_post_startup_inferior)
- (child_post_startup_inferior, child_follow_fork)
- (linux_handle_extended_wait, kill_inferior): New functions.
-
-2003-08-16 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Delete all #if not GDB_MULTI_ARCH code.
- * gdbarch.h, gdbarch.c: Re-generate.
-
-2003-08-16 Mark Kettenis <kettenis@gnu.org>
-
- * config/alpha/nm-fbsd.h (SVR4_SHARED_LIBS): Remove define.
-
-2003-08-16 Andrew Cagney <cagney@redhat.com>
-
- * NEWS: Mention that "set prompt-escape-char" was deleted.
- * top.c (get_prompt_1): Delete function.
- (gdb_prompt_escape):
- (init_main): Do not clear "gdb_prompt_escape". Delete "set
- prompt-escape-char" command.
- (MAX_PROMPT_SIZE): Delete macro.
- (get_prompt): Simplify, do not call get_prompt_1.
-
-2003-08-16 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (printcmd.o, valprint.o): Do not try to build with
- -Werror. -Wformat-nonliteral problems.
-
-2003-08-15 J. Brobecker <brobecker@gnat.com>
-
- Further multiarching work mostly for hppa64-*-hpux11:
- * hppa-tdep.h: New file.
- * hppa-tdep.c: #include hppa-tdep.c.
- (hppa32_num_regs): Renamed from hppa_num_regs.
- (hppa64_num_regs): New constant.
- (hppa64_call_dummy_breakpoint_offset): New constant.
- (hppa32_call_dummy_length): New constant.
- (hppa64_call_dummy_length): New constant.
- (hppa32_stack_align): Make name 32bit explicit.
- (hppa32_register_virtual_type): Likewise.
- (hppa32_extract_return_value): Likewise.
- (hppa32_use_struct_convention): Likewise.
- (hppa32_store_return_value): Likewise.
- (hppa64_register_virtual_type): New function.
- (hppa64_extract_return_value): New function.
- (hppa64_use_struct_convention): New function.
- (hppa64_store_return_value): New function.
- (hppa_frame_locals_address): Remove declaration, function does
- not exist anymore.
- (hppa_register_byte): Add support for PA64 ABI.
- (hppa_gdbarch_init): Add support for PA64 ABI.
- * hppa-hpux-tdep.c (hppa32_hpux_frame_saved_pc_in_sigtramp):
- Make name 32bit explicit.
- (hppa32_hpux_frame_base_before_sigtramp): Likewise.
- (hppa32_hpux_frame_find_saved_regs_in_sigtramp): Likewise.
- (hppa64_hpux_frame_saved_pc_in_sigtramp): New function.
- (hppa64_hpux_frame_base_before_sigtramp): New function.
- (hppa64_hpux_frame_find_saved_regs_in_sigtramp): New function.
- * config/pa/tm-hppa64.h: Remove macros that are no longer
- necessary now that the gdbarch vector is properly setup.
- Transform some macros into function calls. Some minor cleanup.
- * config/pa/tm-hppah.h: Update function calls in macros
- following the function renaming in hppa-hpux-tdep.c.
- * Makefile.in (hppa_tdep_h): New variable.
- (hppa-tdep.o): Add dependency over hppa_tdep_h.
-
-2003-08-14 Michael Snyder <msnyder@redhat.com>
-
- * disasm.c (gdb_disassemble_info): Set info->insn_sets to zero.
-
-2003-08-13 J. Brobecker <brobecker@gnat.com>
-
- * hppa-hpux-tdep.c (_initialize_hppa_hpux_tdep): Use the correct
- bfd arch_info when registering the GDB_OSABI_HPUX_ELF initialization
- routine.
-
-2003-08-13 Michael Snyder <msnyder@redhat.com>
-
- * frv-tdep.c (frv_push_arguments): Use deprecated ftype.
- (frv_saved_pc_after_call): Use deprecated ftype.
- (stupid_useless_init_extra_frame_info): Remove orphan prototype.
- (frv_remote_translate_xfer_address): Remove.
- (frv_gdbarch_init): Use generic_remote_translate_xfer_address.
-
-2003-08-13 J. Brobecker <brobecker@gnat.com>
-
- * hppa-tdep.c (hppa_gdbarch_init): Perform the ABI-specific gdbarch
- initialization after the common gdbarch initialization, not before.
-
-2003-08-13 J. Brobecker <brobecker@gnat.com>
-
- * config/pa/tm-hppa64.h (HPUX_1100): Remove, not used.
- (ADDR_BITS_REMOVE): Remove, redundant.
-
-2003-08-13 J. Brobecker <brobecker@gnat.com>
-
- * hppa-tdep.c (hppa_gdbarch_init): Set the addr_bits_remove
- gdbarch method to clear the 2 low bits of text addresses.
-
-2003-08-12 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (dsrec.o): Update dependencies.
- * dsrec.c: Include "gdb_assert.h".
- (make_srec): Use snprintf instead of sprintf, use a literal format
- string.
-
-2003-08-12 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (deprecated_frame_xmalloc): Use XMALLOC, instead of
- FRAME_OBSTACK_ZALLOC.
-
-2003-08-12 Kevin Buettner <kevinb@redhat.com>
-
- * i386-tdep.c (i386_gdbarch_init): Enable default support for
- SSE registers.
-
-2003-08-10 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.h (amd64fbsd_sigtramp_start, amd64fbsd_sigtramp_end,
- amd64fbsd_sc_reg_offset): Add extern declarations.
- * amd64fbsd-nat.c (_initialize_am64fbsd_nat): Remove extern
- declarations.
-
-2003-08-11 Ben Elliston <bje@wasabisystems.com>
-
- * MAINTAINERS (write after approval): Update my mail address.
-
-2003-08-10 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (monitor.o): Do not build monitor.c with -Werror.
-
-2003-08-10 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.h (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end,
- i386obsd_sigtramp_start, i386obsd_sigtramp_end,
- i386fbsd4_sc_reg_offset, i386fbsd_sc_reg_offset,
- i386nbsd_sc_reg_offset, i386obsd_sc_reg_offset,
- i386bsd_sc_reg_offset): Add extern declarations.
- * i386obsd-nat.c: Include "i386-tdep.h"
- (_initialize_i386obsd_nat): Remove extern declarations.
- * i386fbsd-nat.c (_initialize_i386fbsd_nat): Remove extern
- declarations.
- * i386bsd-nat.c (_initialize_i386bsd_nat): Remove extern
- declarations.
-
- * i386-tdep.c (i386_register_to_value): Use get_frame_register
- instead of frame_read_register.
- (i386_fetch_pointer_argument): Use get_frame_register_unsigned
- instead of frame_read_register. Use I386_ESP_REGNUM instead of
- SP_REGNUM.
- (i386_frame_prev_register): Use frame_unwind_register_unsigned
- instead of frame_unwind_unsigned_register. Use
- I386_EFLAGS_REGISTER instead of PS_REGNUM.
- (i386_get_longjmp_target): Use regcache_read_unsigned_register
- instead of read_register. Use builtin_type_void_data_ptr instead
- of builtin_type_void_func_ptr when extracting the address of the
- jmp_buf.
- (i386_extract_return_value, i386_store_return_value,
- i386_pseudo_register_read, i386_pseudo_register_write): Use
- register_size instead REGISTER_RAW_SIZE.
-
-2003-08-10 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): Use xstrprintf instead of
- sprintf. Make "name" constant.
-
-2003-08-10 Mark Kettenis <kettenis@gnu.org>
-
- * i387-tdep.c (i387_register_to_value): Use get_frame_register
- instead of frame_read_register.
- (i387_print_float_info): Use get_frame_register and
- get_frame_register_unsigned instead of frame_register_read.
-
- * i386fbsd-nat.c: Include "i386-tdep.h".
- (child_resume): Make `eflags' an ULONGEST. Use
- regcache_cooked_read_unsigned and regcache_cooked_write_unsigned
- instead of register_read and register_write.
-
- * i386bsd-nat.c (fetch_inferior_registers,
- store_inferior_registers): Don't use && at the end of a line.
- (_initialize_i386bsd_nat): Fix typo.
-
- * frame.c (_initialize_frame): Add missing backslash.
-
- From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de):
- * sol-thread.c (sol_thread_store_registers): Use regcache_collect
- and supply_register instead of manipulating the register buffer
- directly.
-
- From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de):
- * config/i386/nm-i386sol2.h
- (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Define to one.
-
- Based on a patch from Michael Elizabeth Chastain (mec@shout.net):
- * i386-tdep.c (i386_analyze_frame_setup): Recognize more
- instructions that GCC likes to mingle into the prologue. Fixes
- gdb/1253 and gdb/1255.
-
-2003-08-09 Andrew Cagney <cagney@redhat.com>
-
- Fix GDB PR cli/926.
- * cli/cli-decode.c (add_setshow_uinteger_cmd): New function.
- * command.h (add_setshow_uinteger_cmd): Declare.
- * frame.c (set_backtrace_cmd): New function.
- (show_backtrace_cmd): New function.
- * frame.c (_initialize_frame): Replace "set/show
- backtrace-below-main" with "set/show backtrace past-main". Add
- command "set/show backtrace limit".
- (backtrace_past_main): Rename "backtrace_below_main".
- (backtrace_limit): New variable.
- (get_prev_frame): Update. Check the backtrace_limit.
-
-2003-08-09 Andrew Cagney <cagney@redhat.com>
-
- * defs.h (xstrprintf): Declare.
- * utils.c (xstrprintf): New function.
- * breakpoint.c (insert_breakpoints): Replace sprintf and
- non-literal format strings, with xstrprintf and cleanups.
- (delete_breakpoint,breakpoint_re_set): Ditto.
- (commands_command, insert_breakpoints): Ditto.
- (bpstat_stop_status, break_at_finish_at_depth_command_1): Ditto.
- (break_at_finish_command_1): Ditto.
-
-2003-08-09 Andrew Cagney <cagney@redhat.com>
-
- * MAINTAINERS (language support): List Adam Fedor as Objective C
- maintainer.
-
-2003-08-08 J. Brobecker <brobecker@gnat.com>
-
- * NEWS (Multi-arched targets): Document that all hppa-hpux targets
- are now multiarched.
-
-2003-08-08 J. Brobecker <brobecker@gnat.com>
-
- * config/pa/tm-hppa64.h: Remove lots of macros that are no
- longer necessary now that hppa64 is partially multiarch'ed.
-
-2003-08-08 Andrew Cagney <cagney@redhat.com>
-
- * interps.c (interp_set): Check for a NULL "old_interp".
-
-2003-08-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.in (FLAGS_TO_PASS): Add DESTDIR.
- (install-only): Support DESTDIR.
- (uninstall): Likewise.
- (install-gdbtk): Likewise.
-
-2003-08-08 Elena Zannoni <ezannoni@redhat.com>
-
- * symtab.c (lookup_symbol_aux): Make sure that is_a_field_of_this
- contains something meaningful at all times.
-
-Fri Aug 8 00:28:46 UTC 2003 Brendan Conoboy <blc@redhat.com>
-
- * configure.host: Set gdb_host_cpu=arm when host_cpu=xscale.
-
-Fri Aug 8 00:28:38 UTC 2003 Brendan Conoboy <blc@redhat.com>
-
- * MAINTAINERS (write after approval): Added self.
-
-2003-08-07 Andrew Cagney <cagney@redhat.com>
-
- * inferior.h (AT_SYMBOL): Define.
- * blockframe.c (inside_entry_file): Check for AT_SYMBOL.
- * infcall.c (call_function_by_hand): Add code to handle AT_SYMBOL.
- * mips-tdep.c (mips_call_dummy_address): Delete function.
- (mips_gdbarch_init): Set call_dummy_location to AT_SYMBOL, do not
- set call_dummy_address.
-
-2003-08-07 Andrew Cagney <cagney@redhat.com>
-
- * language.c (op_error): Delete function.
- (binop_type_check): Delete function.
- * language.h (type_op_error, range_op_error): Delete macros.
- (op_error): Delete declaration.
-
-2003-08-07 Andrew Cagney <cagney@redhat.com>
-
- * interps.h (INTERP_MI2, INTERP_MI3): Define.
-
-2003-08-07 Michal Ludvig <mludvig@suse.cz>
-
- * x86-64-tdep.c (x86_64_dwarf_regmap): Correct register numbers.
- (x86_64_push_arguments): Skip the red zone.
-
-2003-08-05 Andrew Cagney <cagney@redhat.com>
-
- * reggroups.c (reggroup_next): Check for the final entry.
-
-2003-08-04 Andrew Cagney <cagney@redhat.com>
-
- * monitor.h (monitor_dump_reg_block): Remove ATTR_FORMAT.
- * cli/cli-script.c (define_command): Call query directly, instead
- of passing it a buffer.
- * ocd.c (ocd_error): Pass error a constant format string.
- * remote-mips.c (mips_error): Use fputs_filtered.
-
- * solib-svr4.c (_initialize_svr4_solib): Update
- register_gdbarch_data call.
- * mips-linux-tdep.c (_initialize_mips_linux_tdep): Ditto.
-
- * gdbarch.sh (gdbarch_data_free_ftype): Delete declaration.
- (register_gdbarch_data): Delete "free" parameter. Update
- comments.
- * gdbarch.h, gdbarch.c: Re-generate.
- * reggroups.c (_initialize_reggroup): Update.
- * gnu-v3-abi.c (init_gnuv3_ops): Update.
- * frame-base.c (_initialize_frame_base): Update.
- * frame-unwind.c (_initialize_frame_unwind): Update.
- * user-regs.c (_initialize_user_regs): Update.
- * remote.c (_initialize_remote): Update.
- * regcache.c (_initialize_regcache): Update.
-
- * regcache.c (xfree_regcache_descr): Delete function.
- (_initialize_regcache): Update call to register_gdbarch_data.
- (init_regcache_descr, init_legacy_regcache_descr): Use
- GDBARCH_OBSTACK_XALLOC and GDBARCH_OBSTACK_CALLOC.
-
- * remote.c (free_remote_state): Delete function.
- (_initialize_remote): Update register_gdbarch_data.
- (init_remote_state): Use GDBARCH_OBSTACK_XALLOC and
- GDBARCH_OBSTACK_CALLOC instead of xmalloc / xcalloc.
-
-2003-08-04 Andrew Cagney <cagney@redhat.com>
-
- * reggroups.c (struct reggroup_el): Define.
- (struct reggroups): Delete field "nr_group". Replace array
- "group" with a "first" to "last" linked list.
- (reggroups_init): Update. Allocate using gdbarch's obstack.
- (reggroups_free): Delete function.
- (add_group): Update. Add "el" parameter.
- (reggroup_add): Pass gdbarch obstack allocated space to add_group.
- (default_groups): Update.
- (reggroup_next): Replace reggroups.
- (reggroups_dump): Update.
- (_initialize_reggroup): Pass XMALLOC allocated space to add_group.
- * regcache.c (regcache_dump): Use reggroup_next instead of reggroups.
- * infcmd.c (registers_info): Use reggroup_next instead of reggroups.
-
-2003-08-04 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in (tui-interp.o): Update dependencies.
-
-2003-08-04 David Carlton <carlton@kealia.com>
-
- * charset.c (cached_iconv_convert): Add __FILE__ and __LINE__ args
- to internal_error call.
- * source.c (forward_search_command): Add "%s" format argument.
- (reverse_search_command): Ditto.
- * top.c (quit_confirm): Ditto.
- * cli/cli-setshow.c (do_setshow_command): Ditto.
- * cp-valprint.c (cp_print_class_method): Replace
- {f,}printf_{un,}filtered by {f,}puts_{un,}filtered.
- (cp_print_class_member): Ditto.
- * event-top.c (command_line_handler): Ditto.
- * linux-proc.c (linux_info_proc_cmd): Ditto.
- * p-typeprint.c (pascal_type_print_base): Ditto.
- * p-valprint.c (pascal_object_print_class_method): Ditto.
- (pascal_object_print_class_member): Ditto.
- * printcmd.c (print_scalar_formatted,printf_command): Ditto.
- * remote.c (remote_cisco_section_offsets): Ditto.
- * top.c (command_line_input): Ditto.
- * utils.c (vwarning,error_stream,quit): Ditto.
- * valprint.c (print_floating,print_binary_chars)
- (print_octal_chars,print_decimal_chars,print_hex_chars): Ditto.
-
-2003-08-04 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (frame_func_unwind): Use frame_unwind_address_in_block.
-
-2003-08-02 Andrew Cagney <cagney@redhat.com>
-
- * config/djgpp/fnchange.lst: Fix up testsuite/gdb.c++/annota3.cc,
- gdb/testsuite/gdb.c++/annota3.exp, amd64fbsd-tdep.c and
- amd64fbsd-nat.c.
-
-2003-08-02 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in: Update all dependencies and definitions.
-
-2003-08-02 Adam Fedor <fedor@gnu.org>
-
- * linespec.c (is_objc_method_format): New function
- (decode_line_1, locate_first_half): Use it.
- Fixes PR objc/1298
-
-2003-08-01 Andrew Cagney <cagney@redhat.com>
-
- * NEWS: Mention that m32r is multi-arch.
- From 2003-07-28 Kei Sakamoto <sakamoto.kei@renesas.com>:
- * configure.tgt: Recognize m32r-*-*.
- * config/m32r/tm-m32r.h: Delete file.
- * config/m32r/m32r.mt: New file.
- * m32r-rom.c (m32r_upload_command): Use hostent only when
- gethostname succeeds, in order to avoid a compilation
- warning.
- * m32r-tdep.c (m32r_store_return_value): Add a cast to remove a
- compiler warning.
-
-2003-08-01 Michael Snyder <msnyder@redhat.com>
-
- * sh-tdep.c (sh_frame_align): New gdbarch method.
- (sh_gdbarch_init): Set up frame_align method.
-
-2003-07-31 Michael Snyder <msnyder@redhat.com>
-
- * value.h, values.c, infcall.c, infcmd.c: Revert 07-30 change,
- which is already covered by the new frames infrastructure.
-
-2003-07-31 Andrew Cagney <cagney@redhat.com>
-
- * user-regs.c (struct user_reg): Add "next" link.
- (struct user_regs): Replace "user" with "first" and "last" links.
- (append_user_reg): Add pre-allocated "reg" parameter.
- (builtin_user_regs): Provide initial value for "last".
- (user_reg_add_builtin): XMALLOC memory for append_user_reg.
- (user_regs_init): Allocate memory from the gdbarch obstack.
- (user_reg_add): GDBARCH_OBSTACK_ZALLOC memory for append_user_reg.
- (user_reg_map_name_to_regnum): Rewrite to search the user_reg
- linked list.
- (usernum_to_user_reg): New function.
- (user_reg_map_regnum_to_name): Use usernum_to_user_reg.
- (value_of_user_reg): Use usernum_to_user_reg.
- (user_regs_free): Delete function.
- (_initialize_user_regs): Update register_gdbarch_data call.
-
-2003-07-31 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2read.c (new_symbol): Use var_decode_location for parameters.
-
-2003-07-30 Michael Snyder <msnyder@redhat.com>
-
- * value.h (value_being_returned): Add a struct_addr argument.
- * infcall.c (call_function_by_hand): Pass struct_addr to
- value_being_returned.
- * infcmd.c (print_return_value): Pass zero as struct_addr.
- * values.c (value_being_returned): If struct_addr is passed,
- use it instead of trying to recover it from the inferior.
-
-2003-07-30 Kevin Buettner <kevinb@redhat.com>
-
- * mn10300-tdep.c (analyze_dummy_frame): Pass ``pc'' so that
- the prologue analyzer won't need to attempt to extract the pc
- value from the woefully incomplete dummy frame.
- (mn10300_analyze_prologue): Avoid calls to get_frame_pc() when
- possible. Disable code which modifies the frame.
-
-2003-07-28 Andrew Cagney <cagney@redhat.com>
-
- * annotate.c (annotate_breakpoints_headers): Restrict annotation
- to level 2.
- (annotate_breakpoints_table, annotate_record): Ditto.
- (annotate_breakpoints_table_end, annotate_field_begin): Ditto.
- (annotate_field_name_end, annotate_field_value): Ditto.
- (annotate_field_end, annotate_frame_source_begin): Ditto.
- (annotate_frame_source_file, annotate_frame_source_file_end): Ditto.
- (annotate_frame_source_line, annotate_frame_source_end): Ditto.
- (annotate_frame_begin, annotate_frame_function_name): Ditto.
- (annotate_frame_address_end, annotate_frame_address): Ditto.
- (annotate_frame_args, annotate_frame_end): Ditto.
- (annotate_frame_where, annotate_arg_begin): Ditto.
- (annotate_arg_name_end, annotate_arg_value): Ditto.
- (annotate_arg_end, annotate_signal_handler_caller): Ditto.
- (annotate_function_call, annotate_signal_name): Ditto.
- (annotate_signal_string, annotate_signal_name_end): Ditto.
- (annotate_signal_string_end, annotate_value_history_begin): Ditto.
- (annotate_value_begin, annotate_value_history_value): Ditto.
- (annotate_value_history_end, annotate_value_end): Ditto.
- (annotate_display_begin, annotate_display_number_end): Ditto.
- (annotate_display_format, annotate_display_expression): Ditto.
- (annotate_display_expression_end, annotate_display_value): Ditto.
- (annotate_display_end, annotate_array_section_begin): Ditto.
- (annotate_elt_rep, annotate_elt_rep_end): Ditto.
- (annotate_elt, annotate_array_section_end): Ditto.
-
-2003-07-28 Andrew Cagney <cagney@redhat.com>
-
- * regcache.c (struct regcache_descr): Update comments on
- nr_raw_registers.
- (init_legacy_regcache_descr): Don't set nr_raw_registers or
- sizeof_raw_register_valid_p.
- (init_regcache_descr): Set nr_raw_registers and
- sizeof_raw_register_valid_p before calling
- init_legacy_regcache_descr.
-
-2003-07-28 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (print_gp_register_row): Print the GPR's register
- MOD NUM_REGS.
-
-2003-07-28 Daniel Jacobowitz <drow@mvista.com>
-
- * thread.c (info_threads_command): Use get_selected_frame ().
- Check that there is at least one non-sentinel frame.
-
-2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-tdep.c (struct frame_extra_info): Remove.
- (m68hc11_pop_frame): Remove.
- (m68hc11_frame_saved_pc): Remove.
- (m68hc11_frame_chain): Remove.
- (m68hc11_frame_init_saved_regs): Remove.
- (m68hc11_init_extra_frame_info): Remove.
- (m68hc11_store_struct_return): Remove.
- (m68hc11_saved_pc_after_call): Remove.
-
-2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-tdep.c (struct m68hc11_unwind_cache): New struct to hold
- frame unwind information.
- (m68hc11_scan_prologue): New function from m68hc11_guess_from_prologue
- and adapted for frame unwinding.
- (m68hc11_skip_prologue): Update to scan prologue in temporary object.
- (m68hc11_unwind_pc): New function.
- (m68hc11_frame_unwind_cache): New function to analyze frames.
- (m68hc11_frame_this_id): New function to create new frame struct.
- (m68hc11_frame_prev_register): New function to unwind a register from
- the frame.
- (m68hc11_frame_unwind): Default 68hc11/68hc12 unwinder.
- (m68hc11_frame_p): New function for the above.
- (m68hc11_frame_base_address): New function to return fp of frame.
- (m68hc11_frame_args_address): Update for frame.
- (m68hc11_frame_base): Default 68hc11/68hc12 frame.
- (m68hc11_unwind_sp): New function.
- (m68hc11_unwind_dummy_id): New function.
- (m68hc11_gdbarch_init): Install the above frames; remove deprecated
- calls.
-
-2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-tdep.c (m68hc11_analyze_instruction): Don't advance the pc.
- (m68hc11_guess_from_prologue): Advance the pc and frame size only
- when we are beyond the current pc.
-
-2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-tdep.c (m68hc11_push_dummy_call): New function adapted
- from m68hc11_push_arguments.
- (m68hc11_push_arguments): Remove.
- (m68hc11_push_return_address): Remove.
- (m68hc11_gdbarch_init): Install the above; remove above deprecated
- handlers; remove deprecated_extra_stack_alignment_needed.
-
-2003-07-27 Andrew Cagney <cagney@redhat.com>
-
- * config/pa/tm-hppa.h (init_frame_pc_default): Declare.
- * infcall.c (legacy_push_dummy_code) [GDB_TARGET_IS_HPPA]: Update
- REAL_PC and not the pointer.
- * hppa-hpux-tdep.c: Include frame.h
-
-2003-07-27 Andrew Cagney <cagney@redhat.com>
-
- * config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Set to
- GDB_MULTI_ACH_PARTIAL.
-
-2003-07-27 Andrew Cagney <cagney@redhat.com>
-
- Patch from 2003-07-22 Kei Sakamoto <sakamoto.kei@renesas.com>:
- * m32r-tdep.c (m32r_memory_insert_breakpoint): Fix code style -
- operator at start and not end of line.
- (decode_prologue): Ditto.
- (m32r_frame_unwind_cache, m32r_unwind_sp, m32r_unwind_pc): Use
- frame_unwind_register_unsigned instead of
- frame_unwind_unsigned_register.
- (m32r_read_pc): Use regcache_cooked_read_unsigned instead of
- read_register.
- (m32r_push_dummy_call): Use register_size instead of
- REGISTER_RAW_SIZE.
- (m32r_frame_sniffer): Replace m32r_frame_p.
- (m32r_gdbarch_init): Call frame_unwind_append_sniffer.
- * m32r-rom.c (report_transfer_performance): Delete extern
- declaration.
- (m32r_load, m32r_upload_command): Use print_transfer_performance
- instead of report_transfer_performance.
- (_initialize_m32r_rom): Use add_setshow_cmd instead of add_set_cmd
- / add_show_from_set.
-
-2003-07-26 Andrew Cagney <cagney@redhat.com>
-
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Set non-deprecated
- store_return_value and extract_struct_value_address.
-
-2003-07-26 Daniel Jacobowitz <drow@mvista.com>
-
- PR c++/1267
- * minsyms.c (lookup_minimal_symbol_by_pc_section): If SECTION is
- NULL, default to the section containing PC.
-
-2003-07-24 Stephane Carrez <stcarrez@nerim.fr>
-
- * NEWS: Mention "regs" deprecated for m68hc11 too.
-
- * m68hc11-tdep.c (_initialize_m68hc11_tdep): Deprecate "regs" command.
- (m68hc11_print_register): New function to print out one register.
- (m68hc11_print_registers_info): New function to print registers.
- (show_regs): Deprecate and use the above.
- (m68hc11_gdbarch_init): Install the print_registers_info.
-
-2003-07-24 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Verify
- that we have a SIGTRAP before returning non-zero.
-
-2003-07-23 Michal Ludvig <mludvig@suse.cz>
- Elena Zannoni <ezannoni@redhat.com>
-
- * linespec.c (decode_line_2): Avoid crash if
- find_function_start_sal() returns empty record.
-
-2003-07-23 Andreas Schwab <schwab@suse.de>
-
- * ia64-tdep.c (ia64_print_insn): New function.
- (ia64_gdbarch_init): Set print_insn to it.
- (_initialize_ia64_tdep): Don't set deprecated_tm_print_insn and
- deprecated_tm_print_insn_info.
-
-2003-07-22 Michael Snyder <msnyder@redhat.com>
-
- * h8300-tdep.c (h8300_extract_return_value): Teach it how to
- handle 8-bit returns (long long).
- (h8300h_extract_return_value): Ditto.
- (h8300_gdbarch_init): Long long is 8 bytes, char is unsigned.
-
-2003-07-22 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.c Include "gdb_obstack.h".
- (struct gdbarch): Add an "obstack".
- (alloc_gdbarch_data): Allocate the gdbarch data using
- GDBARCH_OBSTACK_CALLOC.
- (free_gdbarch_data): Delete function.
- (gdbarch_obstack_zalloc): New function.
- (gdbarch_free): Free the obstack, do not call free_gdbarch_data.
- Assert that the architecture is not initialized.
- (gdbarch_alloc): Allocate an obstack, allocate the architecture
- vector from the obstack.
- (alloc_gdbarch_data, init_gdbarch_swap): Allocate memory using the
- architecture obstack.
- (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Define.
- (set_gdbarch_data): Assert that the data is not initialized.
- (struct gdbarch_data): Delete member "free".
- (register_gdbarch_data): Do not initialize "free".
- * gdbarch.h, gdbarch.c: Re-generate.
-
-2003-07-22 Andrew Cagney <cagney@redhat.com>
-
- * configure.in (build_warnings): Add -Wformat-nonliteral.
- * configure: Re-generate.
-
-2003-07-22 Elena Zannoni <ezannoni@redhat.com>
-
- * dwarf2loc.c (locexpr_describe_location): Fix typos.
-
-2003-07-22 Elena Zannoni <ezannoni@redhat.com>
-
- * findvar.c (read_var_value): Remove case for thread local storage
- variables. It is now entirely handled by the dwarf2 location
- expression code.
- * printcmd.c (address_info): Ditto.
- * symtab.h (address_class): Remove LOC_THREAD_LOCAL_STATIC
- enumeration value.
- (struct symbol): Remove objfile field, which was used by
- LOC_THREAD_LOCAL_STATIC only.
- * dwarf2read.c (decode_locdesc): Remove is_thread_local variable.
- * dwarf2loc.h (struct dwarf2_loclist_baton): Add comment about
- usage of objfile pointer.
- * dwarf2loc.c (locexpr_describe_location): Add case to handle
- thread local variables.
- Add include of objfiles.h.
- * dwarf2expr.c (execute_stack_op): Add comments about thread local
- storage variables.
- * Makefile.in (dwarf2loc.o): Update dependencies.
-
-2003-07-22 Andrew Cagney <cagney@redhat.com>
-
- * config/pa/tm-hppa64.h (FRAME_SAVED_PC_IN_SIGTRAMP): Use
- get_frame_base.
- (FRAME_BASE_BEFORE_SIGTRAMP): Ditto.
- (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): Ditto.
- (struct value): Add opaque declaration.
- (DEPRECATED_FRAME_ARGS_ADDRESS): Delete.
-
-2003-07-21 Andrew Cagney <cagney@redhat.com>
-
- From 2003-07-04 Kei Sakamoto <sakamoto.kei@renesas.com>:
- * m32r-tdep.c, m32r-stub.c, m32r-tdep.c: Rewrite.
-
-2003-07-20 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-tdep.c (m68hc11_pseudo_register_read): Use
- regcache_cooked_read_unsigned instead of read_register.
- (m68hc11_saved_pc_after_call): Likewise.
- (m68hc11_pseudo_register_write): Use regcache_cooked_write_unsigned
- instead of write_register.
- (m68hc11_register_type): New function.
- (m68hc11_register_virtual_type): Remove.
- (m68hc11_store_return_value): Convert to use the regcache.
- (m68hc11_extract_struct_value_address): Likewise.
- (m68hc11_gdbarch_init): Remove deprecated ops for register to use
- m68hc11_register_type; undeprecate store_return_value and
- extract_struct_value_address.
-
-2003-07-20 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-tdep.c (m68hc11_extract_return_value): Use regcache_raw_read
- and translate to use regcache.
- (m68hc11_gdbarch_init): Undeprecate extract_return_value.
-
-2003-07-18 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DWARF2_BUILD_FRAME_INFO): Delete method.
- * gdbarch.h, gdbarch.c: Re-generate.
- * i386-tdep.c (i386_gdbarch_init): Do not set
- DWARF2_BUILD_FRAME_INFO.
- * elfread.c (elf_symfile_read): Call dwarf2_build_frame_info
- unconditionally.
- * alpha-tdep.c (alpha_dwarf2_init_abi): Do not set
- DWARF2_BUILD_FRAME_INFO.
-
-2003-07-18 Andrew Cagney <cagney@redhat.com>
-
- From 2003-07-04 Kei Sakamoto <sakamoto.kei@renesas.com>:
- * disasm.c (gdb_disassemble_info): Initilize di.arch.
-
-2003-07-18 Andrew Cagney <cagney@redhat.com>
-
- * dwarf2-frame.c (dwarf2_frame_sniffer): Use
- frame_unwind_address_in_block, instead of frame_pc_unwind.
- (dwarf2_frame_cache): Ditto.
-
-2003-07-18 Andrew Cagney <cagney@redhat.com>
-
- * user-regs.h (struct gdbarch): Declare opaque.
- * ui-out.h (struct ui_file): Declare opaque.
- * dwarf2-frame.h (struct frame_info): Declare opaque.
-
-2003-07-18 Kris Warkentin <kewarken@qnx.com>
-
- * nto-procfs.c: Clean ARI hits. Change #include <..> to
- #include "...".
- (procfs_meminfo): Change strerror to safe_strerror.
- (procfs_can_run): Remove K&R badness.
-
-2003-07-17 Michael Snyder <msnyder@redhat.com>
-
- * remote-sim.c: Comment typo fix.
-
-2003-07-17 Andrew Cagney <cagney@redhat.com>
-
- * defs.h (GDB_MULTI_ARCH): Delete conditional define. Handled by
- configure.
- * sparc-tdep.c (sparc_intreg_size): Make non-static.
- * config/sparc/tm-sparc.h (GDB_MULTI_ARCH): Define to
- GDB_MULTI_ARCH_PARTIAL.
-
-2003-07-17 Elena Zannoni <ezannoni@redhat.com>
-
- * Makefile.in (x86-64-linux-nat.o): Update dependencies.
- * x86-64-linux-nat.c (ps_get_thread_area): New function. Add
- include of asm/prctl.h, asm/ptrace.h, and gdb_proc_service.h.
-
-2003-07-16 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_skip_prologue): Return PC unchanged if no prologue
- found.
- (avr_frame_unwind_cache): Don't unwind FP for main.
- Update a comment.
- Save the computed prev_sp.
- (avr_saved_regs_unwinder): Remove function.
- (avr_frame_prev_register): Use PC unwind logic from
- avr_saved_regs_unwinder(), otherwise use trad_frame_prev_register().
-
-2003-07-16 Andrew Cagney <cagney@redhat.com>
-
- * frame-base.h (frame_base_p_ftype): Delete definition.
- (frame_base_append_predicate): Delete declaration.
- * frame-unwind.h (frame_unwind_p_ftype): Delete definition.
- (frame_unwind_append_predicate): Delete declaration.
- * frame-unwind.c (struct frame_unwind_table): Delete field "p".
- (append_predicate): Delete parameter "p".
- (frame_unwind_append_predicate): Delete function.
- (frame_unwind_append_sniffer): Update call to append_predicate.
- (frame_unwind_free): Delete function.
- (_initialize_frame_unwind): Pass NULL as "free" to
- register_gdbarch_data.
- (frame_unwind_init): Append the dummy_frame_sniffer.
- (frame_unwind_find_by_frame): Simplify.
- * frame-base.c (struct frame_base_table): Delete field "p".
- (append_predicate): Delete parameter "p".
- (frame_base_append_predicate): Delete function.
- (frame_base_append_sniffer): Update call to append_predicate.
- (frame_base_free): Delete function.
- (frame_base_find_by_frame): Simplify.
- (_initialize_frame_base): Pass NULL as "free" to
- register_gdbarch_data.
- * x86-64-tdep.c (x86_64_frame_sniffer): Replace "x86_64_frame_p".
- (x86_64_sigtramp_frame_sniffer): Replace
- "x86_64_sigtramp_frame_p".
- (x86_64_init_abi): Set the frame unwind sniffers.
- * m68k-tdep.c (m68k_frame_sniffer): Replace "m68k_frame_p".
- (m68k_sigtramp_frame_sniffer): Replace "m68k_sigtramp_frame_p"
- (m68k_gdbarch_init): Set the frame unwind sniffers.
- * i386-tdep.c (i386_sigtramp_frame_sniffer): Replace
- "i386_sigtramp_frame_p".
- (i386_frame_sniffer): Replace "i386_frame_p".
- (i386_gdbarch_init): Set the frame unwind sniffers.
- * avr-tdep.c (avr_frame_sniffer): Replace "avr_frame_sniffer".
- (avr_gdbarch_init): Set the frame unwind sniffers.
- * alpha-tdep.c (alpha_sigtramp_frame_sniffer): Replace
- "alpha_sigtramp_frame_p"
- (alpha_heuristic_frame_sniffer): Replace
- "alpha_heuristic_frame_p".
- (alpha_gdbarch_init): Set the frame unwind sniffers.
- (alpha_dwarf2_init_abi): Ditto.
- * alpha-mdebug-tdep.c (alpha_mdebug_frame_sniffer): Replace
- "alpha_debug_frame_p".
- (alpha_mdebug_frame_base_sniffer): Replace
- "alpha_mdebug_frame_base_p".
- (alpha_mdebug_init_abi): Set the frame unwind sniffers.
- * d10v-tdep.c (d10v_frame_sniffer): Replace "d10v_frame_p".
- (d10v_gdbarch_init): Set the frame unwind sniffer.
- * dwarf2-frame.c (dwarf2_frame_sniffer): Replace "dwarf2_frame_p".
- (dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p".
- * dwarf2-frame.h (dwarf2_frame_sniffer): Replace "dwarf2_frame_p".
- (dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p".
- * dummy-frame.c (dummy_frame_sniffer): Replace "dummy_frame_p".
- * dummy-frame.h (dummy_frame_sniffer): Replace "dummy_frame_p".
-
-2003-07-16 Michael Snyder <msnyder@redhat.com>
-
- * sh-tdep.c (sh_gdbarch_init): Fetch_registers for the sh3-dsp
- should go thru sh_dsp_register_sim_regno, else the dsp regs
- will not get the right values.
-
-2003-07-16 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c (sh_sh4_register_convert_to_virtual): Substitute call to
- deprecated_store_floating by call to store_typed_floating.
- (sh_sh4_register_convert_to_raw): Substitute call to
- deprecated_extract_floating by call to extract_typed_floating.
-
-2003-07-16 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c (sh_gdbarch_init): Set double to 4 byte on sh2e and sh3e.
-
-2003-07-16 Corinna Vinschen <vinschen@redhat.com>
-
- * sh-tdep.c: Substitute calls to REGISTER_RAW_SIZE by calls to
- register_size and calls to REGISTER_VIRTUAL_TYPE by calls to
- gdbarch_register_type in 32 bit code throughout. Avoid current_gdbarch
- as possible.
- (do_pseudo_register): Remove.
- (sh_push_dummy_code): New function.
- (sh64_store_struct_return): Rename from sh_store_struct_return.
- Only called for sh64 now.
- (sh_extract_struct_value_address): Regcache'ify.
- (sh_push_dummy_call): Rename from sh_push_arguments. Regcache'ify
- and accomodate new tasks.
- (sh64_push_return_address): Rename from sh_push_return_address.
- Only called for sh64 now.
- (sh_default_extract_return_value): Rename from sh_extract_return_value.
- Regcache'ify.
- (sh3e_sh4_extract_return_value): Regcache'ify.
- (sh_default_store_return_value): Ditto.
- (sh3e_sh4_store_return_value): Ditto.
- (sh_default_register_byte): Remove.
- (sh_sh4_register_byte): Remove.
- (sh_default_register_raw_size): Remove.
- (sh_sh4_register_raw_size): Remove.
- (sh_register_virtual_size): Remove.
- (sh_sh3e_register_virtual_type): Remove.
- (sh_sh3e_register_type): New function.
- (sh_sh4_register_virtual_type): Remove.
- (sh_sh4_register_type): New function.
- (sh_default_register_virtual_type): Remove.
- (sh_default_register_type): New function.
- (do_fv_register_info): Add parameters to accomodate call from
- sh_print_registers_info.
- (do_dr_register_info): Ditto.
- (sh_print_pseudo_register): Rename from sh_do_pseudo_register.
- Add parameters to accomodate call from sh_print_registers_info.
- (sh_do_fp_register): Ditto.
- (sh64_do_pseudo_register): Call do_dr_register_info,
- do_fv_register_info and sh_do_fp_register with default parameters.
- (sh_do_register): Add parameters to accomodate call from
- sh_print_registers_info.
- (sh_print_register): Ditto.
- (sh_print_registers_info): Rename from sh_do_registers_info.
- Add parameters to be used as gdbarch_print_registers_info
- implementation. Accomodate removed do_pseudo_register function
- pointer.
- (sh_compact_do_registers_info): Accomodate removed do_pseudo_register
- function pointer. Call sh_print_register with default parameters.
- (sh64_do_registers_info): Call sh_print_registers_info instead of
- sh_do_registers_info.
- (sh_gdbarch_init): Rearrange to cleanup and to allow easier
- detection of deprecated vs. non-deprecated functionality.
- Rename sh_call_dummy_words to sh64_call_dummy_words. Remove
- function pointer assignments by direct function calls.
-
-2003-07-15 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_frame_id): Use frame_unwind_find_by_frame.
- (frame_register_unwind, create_new_frame): Ditto.
- (legacy_get_prev_frame, get_frame_type): Ditto.
- (get_frame_base_address): Use frame_base_find_by_frame.
- (get_frame_locals_address): Use frame_base_find_by_frame.
- (get_frame_args_address): Use frame_base_find_by_frame.
- * frame-base.h (frame_base_sniffer_ftype): Declare.
- (frame_base_append_sniffer): Declare.
- (frame_base_find_by_frame): Replace frame_base_find_by_pc.
- * frame-base.c (append_predicate): Add a "sniffer" parameter.
- (frame_base_append_sniffer): New function.
- (frame_base_append_predicate): Add a NULL sniffer.
- (frame_base_find_by_frame): Replace "frame_base_find_by_pc".
- (struct frame_base_table): Add "sniffer".
- (frame_base_free): Free the "sniffer" table.
- * frame-unwind.h (frame_unwind_sniffer_ftype): Define.
- (frame_unwind_append_sniffer): Declare.
- (frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.
- * frame-unwind.c (frame_unwind_free): Free the "sniffer" table.
- (struct frame_unwind_table): Add "sniffer", delete "middle".
- (append_predicate): Add "sniffer" parameter, append the sniffer.
- (frame_unwind_init): Update append_predicate call.
- (frame_unwind_append_sniffer): New function.
- (frame_unwind_append_predicate): Update append_predicate call.
- (frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.
-
-2003-07-15 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_prev_frame): Move disabled inside_entry_func to
- before code inhibiting repeated unwind attempts. Add to
- commentary on that test's problems.
- * blockframe.c (inside_main_func): Look for "main" in the minimal
- symbol table.
- * d10v-tdep.c (d10v_frame_this_id): Delete check that frames are
- identical.
-
-2003-07-15 Andrew Cagney <cagney@redhat.com>
-
- * complaints.c (struct explanation): Define.
- (struct complaints): Change type of "explanation" to "struct
- explanation".
- (symfile_explanations): Convert to a "struct explanation" table.
- (vcomplaint): Update.
-
-2003-07-15 Michal Ludvig <mludvig@suse.cz>
-
- * x86-64-linux-nat.c (regmap): Removed.
- (supply_gregset, fill_gregset): Call
- x86_64_linux_(fill,supply)_gregset functions.
- * x86-64-linux-tdep.c (USER_*): New defines.
- (user_to_gdb_regmap, x86_64_core_fns): New structure.
- (x86_64_linux_supply_gregset, x86_64_linux_fill_gregset):
- New functions.
- (fetch_core_registers): Ditto.
- (_initialize_x86_64_linux_tdep): Call add_core_fns().
- * x86-64-linux-tdep.h: New file.
- * config/i386/x86-64linux.mh (NATDEPFILES): Remove corelow.o
- and core-regset.o.
- * config/i386/x86-64linux.mt (TDEPFILES): Add corelow.o.
-
-2003-07-13 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c (x86_64_store_return_value): Use
- regcache_cooked_write_part instead of regcache_cooked_write.
-
- * configure.host: Add x86_64-*-freebsd*.
- * configure.tgt: Add x86_64-*-freebsd*.
- * Makefile.in (amd64fbsd-nat.o, amd64fbsd-tdep.o): New targets.
- * amd64fbsd-nat.c: New file.
- * amd64fbsd-tdep.c: New file.
- * config/i386/nm-fbsd64.h: New file.
- * config/i386/fbsd64.mh: New file.
- * config/i386/fbsd64.mt: New file.
-
-2003-07-11 Mark Kettenis <kettenis@gnu.org>
-
- * alpha-tdep.h (struct gdbarch_tdep): Add members `sc_pc_offset',
- `sc_regs_offset' and `sc_fpregs_offset'.
- * alpha-tdep.c (SIGFRAME_PC_OFF, SIGFRAME_REGSAVE_OFF,
- SIGFRAME_FPREGSAVE_OFF): Remove defines.
- (alpha_sigtramp_register_address): Rewrite to use new members of
- `struct gdbarch_tdep'.
- (alpha_gdbarch_init): Initialize new members of struct
- gdbarch_tdep'.
- * alphafbsd-tdep.c (alphafbsd_use_struct_convention): Use
- ALPHA_REGISTER_SIZE instead of DEPRECATED_REGISTER_SIZE.
- (alphafbsd_sigtramp_start, alphafbsd_sigtramp_end): Nre variables.
- (alphafbsd_pc_in_sigtramp): Implement.
- (alphafbsd_sigtramp_offset): New function.
- (alphafbsd_sigcontext_addr): New function.
- (alphafbsd_init_abi): Initialize signal trampoline related members
- of `struct gdbarch_tdep'.
- (_initialize_alphafbsd_tdep): Add prototype.
-
-2003-07-11 Theodore A. Roth <troth@openavr.org>
-
- * Makefile.in (install-only): Quote sed expression when generating
- transformed_name.
-
-2003-07-11 Richard Henderson <rth@redhat.com>
-
- * Makefile.in (dwarf2-frame.o): Add complaints_h.
- * dwarf2-frame.c: Include complaints.h.
- (decode_frame_entry_1): Rename from decode_frame_entry; tidy
- variable initialization; return NULL on error.
- (decode_frame_entry): New.
-
-2003-07-11 Andrew Cagney <cagney@redhat.com>
-
- * frame.h (frame_address_in_block): Delete declaration.
- * blockframe.c (frame_address_in_block): Delete function.
- (get_frame_block): Use get_frame_address_in_block.
- (block_innermost_frame): Ditto.
- * stack.c (print_frame, backtrace_command_1): Ditto.
-
- * frame.h (get_frame_address_in_block): Declare.
- (frame_unwind_address_in_block): Declare.
- * frame.c (frame_unwind_address_in_block): New function.
- (get_frame_address_in_block): New function.
-
-2003-07-10 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Simplify predicate methods. Remove need to provide
- pre-default. Note: re-generate has no effect.
-
-2003-07-10 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: When a variable, but not a function, compare against
- 0. Fix problem in previous patch.
- * gdbarch.c: Re-generate.
-
-2003-07-10 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Use gdb_assert instead of internal_error. Compare
- functions against NULL, not 0.
- * gdbarch.c: Re-generate.
-
-2003-07-10 Fred Fish <fnf@ninemoons.com>
-
- * coff-solib.h (SOLIB_LOADED_LIBRARY_PATHNAME): Default to a
- null string instead of a null pointer.
- * solib.h (SOLIB_LOADED_LIBRARY_PATHNAME): Ditto.
-
-2003-07-09 Michael Snyder <msnyder@redhat.com>
-
- * sh-tdep.c (sh_dsp_register_sim_regno): Off-by-one error.
-
-2003-07-09 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.h (X86_64_RAX_REGNUM, X86_64_RDX_REGNUM,
- X86_64_RDI_REGNUM, X86_64_RBP_REGNUM, X86_64_RSP_REGNUM,
- X86_64_RIP_REGNUM, X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM,
- X86_64_XMM0_REGNUM, X86_64_XMM1_REGNUM): Moved here ...
- * x86-64-tdep.c: ... from here.
-
-2003-07-09 Andreas Schwab <schwab@suse.de>
-
- * m68k-tdep.h (enum struct_return): Define.
- (struct gdbarch_tdep): Add struct_return.
- * m68k-tdep.c (m68k_push_dummy_call): Non-scalars bigger than 4
- bytes are padded to the right, not to the left. Pass struct value
- address in register %a1, not on stack.
- (m68k_use_struct_convention): New function.
- (m68k_gdbarch_init): Set use_struct_convention. Initialize
- struct_return in tdep to pcc_struct_return.
- * m68klinux-tdep.c (m68k_linux_init_abi): Set struct_return to
- reg_struct_return.
-
-2003-07-09 Joel Brobecker <brobecker@gnat.com>
-
- * somread.c (som_symfile_offsets): Fix compilation error.
-
-2003-07-09 Andrew Cagney <cagney@redhat.com>
-
- * regcache.c (register_size): Only check REGISTER_RAW_SIZE once.
- Add comments about the checks.
-
-2003-07-08 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in: Make dependency section headers consistent.
- (config_h): Move to $BUILD headers section.
- (exc_request_U_h, exc_request_S_h, msg_reply_S_h): Ditto.
- (msg_U_h, notify_S_h, process_reply_S_h): Ditto.
- (ada-exp.tab.c): Move to YACC/LEX section.
- (ada-lex.c, c-exp.tab.c, f-exp.tab.c): Ditto.
- (jv-exp.tab.c, m2-exp.tab.c, objc-exp.tab.c, p-exp.tab.c): Ditto.
-
-2003-07-08 Kris Warkentin <kewarken@qnx.com>
-
- * nto-procfs.c: Cleaned up a bunch of ARI hits.
- Include "gdb_dirent.h" instead of <dirent.h>, replace all instances
- of strerror with safe_strerror, use ISO C function definitions,
- and replace instances of sprintf with snprintf.
-
-2003-07-07 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_prev_frame): Enable check for identical frames.
- Update comments. Update error messages.
-
-2003-07-07 Joel Brobecker <brobecker@gnat.com>
-
- * hpread.c (hpread_psymtab_to_symtab_1): Fix compilation failure.
-
-2003-07-07 Joel Brobecker <brobecker@gnat.com>
-
- * xcoffread.c (xcoff_psymtab_to_symtab_1): Remove call to
- sort_symtab_syms, no longer necessary.
-
-2003-07-07 Joel Brobecker <brobecker@gnat.com>
-
- * config/mips/tm-irix6.h (MIPS_REGISTER_TYPE): Add comment.
-
-2003-07-07 Joel Brobecker <brobecker@gnat.com>
-
- * mips-tdep.c (mips_register_raw_size): Fix compilation failure.
- (mips_register_byte): Likewise.
-
-2003-07-07 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in (sparc_tdep_h): New.
- (sparc-linux-nat.o, sparc-nat.o, sparc-tdep.o, sparc64nbsd-nat.o)
- (sparcnbsd-nat.o, sparcnbsd-tdep.o): Depend on $(sparc_tdep_h).
- * sparc-linux-nat.c: Include "sparc-tdep.h".
- * sparc-nat.c: Likewise.
- * sparc-tdep.c: Likewise.
- * sparc64nbsd-nat.c: Likewise.
- * sparcnbsd-nat.c: Likewise.
- * sparcnbsd-tdep.c: Likewise.
- * sparc-tdep.h: New file.
- * config/sparc/tm-sparc.h: Remove prototypes for sparc_y_regnum
- and sparc_npc_regnum.
-
-2003-07-07 Daniel Jacobowitz <drow@mvista.com>
-
- * mips-linux-nat.c (mips_linux_cannot_fetch_register)
- (mips_linux_cannot_store_register): List supported instead of
- unsupported registers.
-
-2003-07-07 Daniel Jacobowitz <drow@mvista.com>
-
- * disasm.c (dump_insns): Separate instructions from addresses.
-
-2003-07-07 Andreas Schwab <schwab@suse.de>
-
- * Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
- dependencies.
- * m68k-tdep.c (NUM_FREGS): Delete.
- (SIG_PC_FP_OFFSET): Delete.
- (TARGET_M68K): Delete.
- (P_MOVEAL_SP_FP, P_ADDAW_SP, P_ADDAL_SP, P_SUBQW_SP,
- P_SUBQL_SP, P_LEA_SP_SP, P_LEA_PC_A5, P_FMOVEMX_SP,
- P_MOVEL_SP, P_MOVEML_SP): Define.
- (P_MOVL_SP_FP, P_MOVL, P_JSR, P_BSR, P_LEAL, P_MOVML, P_FMOVM,
- P_TRAP): Delete.
- (m68k_register_raw_size): Delete.
- (m68k_register_virtual_size): Delete.
- (m68k_register_type): Renamed from m68k_register_virtual_type and
- add gdbarch argument.
- (m68k_store_struct_return): Delete.
- (m68k_deprecated_extract_return_value): Delete.
- (m68k_deprecated_extract_struct_value_address): Delete.
- (m68k_frame_chain): Delete.
- (m68k_frame_saved_pc): Delete.
- (m68k_fix_call_dummy): Delete.
- (m68k_push_dummy_frame): Delete.
- (m68k_pop_frame): Delete.
- (m68k_extract_return_value): New function.
- (m68k_store_return_value): Rewrite using regcache.
- (m68k_extract_struct_value_address): Rewrite using regcache.
- (m68k_push_dummy_call): New function.
- (struct m68k_frame_cache): Define.
- (m68k_alloc_frame_cache): New function.
- (m68k_analyze_frame_setup): New function.
- (m68k_analyze_register_saves): New function.
- (m68k_analyze_prologue): New function.
- (m68k_skip_prologue): Rewrite using above functions.
- (m68k_unwind_pc): New function.
- (m68k_frame_cache): New function.
- (m68k_frame_this_id): New function.
- (m68k_frame_prev_register): New function.
- (m68k_frame_unwind): New variable.
- (m68k_frame_p): New function.
- (m68k_sigtramp_frame_cache): New function.
- (m68k_sigtramp_frame_this_id): New function.
- (m68k_sigtramp_frame_prev_register): New function.
- (m68k_sigtramp_frame_unwind): New variable.
- (m68k_sigtramp_frame_p): New function.
- (m68k_frame_base_address): New function.
- (m68k_frame_base): New function.
- (m68k_unwind_dummy_id): New function.
- (fill_gregset): Use regcache_collect.
- (fill_fpregset): Likewise.
- (m68k_saved_pc_after_call): Only define if SYSCALL_TRAP is
- defined.
- (m68k_gdbarch_init): Don't define call_dummy_words. Don't set
- deprecated_init_frame_pc, deprecated_store_struct_return,
- deprecated_extract_return_value, deprecated_store_return_value,
- deprecated_frame_chain, deprecated_frame_saved_pc,
- deprecated_frame_init_saved_regs, deprecated_register_raw_size,
- deprecated_register_virtual_size,
- deprecated_max_register_raw_size,
- deprecated_max_register_virtual_size,
- deprecated_register_virtual_type, deprecated_register_size,
- deprecated_register_byte, deprecated_register_bytes,
- deprecated_fp_regnum, deprecated_use_generic_dummy_frames,
- call_dummy_location, deprecated_call_dummy_breakpoint_offset,
- deprecated_pc_in_call_dummy, deprecated_call_dummy_length,
- deprecated_call_dummy_start_offset, deprecated_call_dummy_words,
- deprecated_sizeof_call_dummy_words, deprecated_fix_call_dummy,
- deprecated_push_dummy_frame, deprecated_pop_frame,
- deprecated_dummy_write_sp. Set deprecated_saved_pc_after_call
- only if SYSCALL_TRAP is defined. Set extract_return_value,
- store_return_value, extract_struct_value_address, register_type,
- push_dummy_call, unwind_dummy_id, unwind_pc. Add two frame unwind
- predicates.
- * m68k-tdep.h (M68K_D1_REGNUM, M68K_NUM_REGS,
- M68K_MAX_REGISTER_SIZE): Define.
- (struct m68k_sigtramp_info): Define.
- (struct gdbarch_tdep): Add get_sigtramp_info.
- * m68klinux-nat.c (fetch_register): Use register_size instead of
- REGISTER_RAW_SIZE. Don't put assignment in if.
- (store_register): Likewise.
- (fetch_inferior_registers): Likewise.
- (store_inferior_registers): Likewise.
- * m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Delete.
- (m68k_linux_frame_saved_pc): Delete.
- (m68k_linux_sigcontext_reg_offset,
- m68k_linux_ucontext_reg_offset): Define.
- (m68k_linux_get_sigtramp_info): New function.
- (m68k_linux_extract_return_value): Rewrite using regcache.
- (m68k_linux_store_return_value): Likewise.
- (m68k_linux_extract_struct_value_address): Likewise.
- (m68k_linux_init_abi): Set get_sigtramp_info in tdep structure.
- Don't set deprecated_frame_saved_pc,
- deprecated_extract_return_value, deprecated_store_return_value,
- deprecated_extract_struct_value_address. Set
- extract_return_value, store_return_value,
- extract_struct_value_address.
-
-2003-07-07 Andrew Cagney <cagney@redhat.com>
-
- * expprint.c: Include "user-regs.h" instead of "frame.h".
- (print_subexp): Use user_reg_map_regnum_to_name, instead of
- frame_map_regnum_to_name.
- * frame.c: Include "user-regs.h" instead of "builtin-regs.h".
- (frame_map_name_to_regnum): Simplify, call
- user_reg_map_name_to_regnum.
- (frame_map_regnum_to_name): Simplify, call
- user_reg_map_regnum_to_name.
- (frame_register_unwind): Update.
- * std-regs.c: Include "user-regs.h" instead of "builtin-regs.h".
- (_initialize_frame_reg): Call user_reg_add_builtin.
- * findvar.c: Include "user-regs.h" instead of "builtin-regs.h".
- (value_of_register): Use value_of_user_reg.
- * eval.c (evaluate_subexp_standard): Update.
- * parse.c (write_dollar_variable): Update.
- * d10v-tdep.c (d10v_print_registers_info): Update.
- * infcmd.c (registers_info): Update.
- * Makefile.in (SFILES): Delete "builtin-regs.c", add "user-regs.c".
- (builtin_regs_h): Delete macro.
- (user_regs_h): Define.
- (COMMON_OBS): Delete "builtin-regs.o", add "user-regs.o".
- (builtin-regs.o): Delete target.
- (user-regs.o): Specify dependencies.
- (expprint.o): Update dependencies.
- (findvar.o): Update dependencies.
- (frame.o): Update dependencies.
- (std-regs.o): Update dependencies.
-
-2003-07-06 Christopher Faylor <cgf@redhat.com>
-
- * win32-nat.c (solib_symbols_add): Use one variable for all section
- address stuff. Pass variable rather than address of variable to
- safe_symbol_file_add.
-
-2003-07-06 Andreas Schwab <schwab@suse.de>
-
- * m68klinux-nat.c (fill_fpregset): Fix use of loop index.
-
-2003-07-04 Joel Brobecker <brobecker@gnat.com>
-
- * rs6000-nat.c (vmap_symtab): Fix compilation error.
-
-2003-07-04 Kris Warkentin <kewarken@qnx.com>
-
- * config/i386/nto.mh: Set XM_FILE to xm-i386.h
-
-2003-07-04 Kris Warkentin <kewarken@qnx.com>
-
- * nto-procfs.c: New file. Native procfs support for QNX Neutrino.
- * config/i386/nto.mh: New file.
- * config/i386/nm-nto.h: New file.
- * configure.host: Add i[3456]86-*-nto*.
-
-2003-07-03 Joel Brobecker <brobecker@gnat.com>
-
- * remote-vx.c (vx_add_symbols): Fix compilation error.
-
-2003-07-03 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (REGISTER_NAME): Do not supply a default.
- * gdbarch.h, gdbarch.c: Re-generate.
- * config/sparc/tm-sparc.h (REGISTER_NAME): Define.
- (legacy_register_name): Declare.
- * config/sparc/tm-sp64.h (legacy_register_name): Declare.
- (REGISTER_NAME): Define.
- * sparc-tdep.c (legacy_register_name): New function.
- * config/pa/tm-hppa64.h (REGISTER_NAMES): Delete macro.
- (REGISTER_NAME): Define.
- (hppa64_register_name): Declare.
- * config/pa/tm-hppa.h (REGISTER_NAMES): Delete macro.
- * hppa-tdep.c (hppa_gdbarch_init): Set hppa_register_name.
- (hppa64_register_name): New function.
- (hppa_register_name): New function.
- * arch-utils.c (legacy_register_name): Delete.
- * arch-utils.h (legacy_register_name): Delete.
-
-2003-07-03 Daniel Jacobowitz <drow@mvista.com>
-
- * cli/cli-interp.c (cli_interpreter_resume): Update the
- cli_uiout's stream to gdb_stdout.
-
-2003-07-03 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE): Add
- predicate.
- * gdbarch.h, gdbarch.c: Re-generate.
- * regcache.c (init_regcache_descr): Use legacy code when either
- REGISTER_BYTE or REGISTER_RAW_SIZE is set.
-
-2003-07-02 Daniel Jacobowitz <drow@mvista.com>
-
- * NEWS: Move "set logging" entry into GDB 6.0 section.
-
-2003-07-02 Jim Blandy <jimb@redhat.com>
-
- * s390-tdep.c (struct frame_extra_info): new member:
- 'stack_bought_valid'.
- (s390_get_frame_info): Set fextra_info->stack_bought_valid if we
- initialize fextra_info->stack_bought.
- (s390_frameless_function_invocation): Don't trust the value of
- fextra_info_ptr->stack_bought unless
- fextra_info->stack_bought_valid is set.
-
- New S390 prologue analyzer.
- * s390-tdep.c (struct prologue_value, enum pv_boolean): New types.
- (pv_set_to_unknown, pv_set_to_constant, pv_set_to_register,
- pv_constant_last, pv_add, pv_add_constant, pv_subtract,
- pv_logical_and, pv_is_identical, pv_is_register, pv_is_array_ref,
- compute_x_addr, s390_on_stack, s390_store,
- s390_get_signal_frame_info): New functions.
- (S390_NUM_SPILL_SLOTS): New macro.
- (s390_get_frame_info): Rewritten.
- (is_arg_reg): Deleted.
-
- Break out the decoding of S/390 instructions into separate
- functions, to make it more legible, and easier to check
- against the spec.
- * s390-tdep.c (is_ri, is_ril, is_rr, is_rre, is_rs, is_rse,
- is_rx, is_rxe): New functions.
- (op1_aghi, op2_aghi, op1_ahi, op2_ahi, op_ar, op_basr, op1_bras,
- op2_bras, op_l, op_la, op1_larl, op2_larl, op_lgr, op1_lghi,
- op2_lghi, op1_lhi, op2_lhi, op_lr, op_nr, op_ngr, op_s, op_st,
- op_std, op1_stg, op2_stg, op_stm, op1_stmg, op2_stmg, op_svc): New
- enums for opcode values. (Is this an improvement?)
-
-2003-07-02 Andrew Cagney <cagney@redhat.com>
-
- * i386-tdep.c: Revert change committed as part of trad-frame code
- below.
-
-2003-07-02 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (insert_catchpoint): Make static.
-
-2003-07-02 Andreas Schwab <schwab@suse.de>
-
- * ia64-tdep.c (ia64_push_dummy_call): Define as combination of
- former ia64_push_arguments and ia64_push_return_address, and use
- regcache functions instead of read/write_register.
- (ia64_gdbarch_init): Set push_dummy_call instead of
- deprecated_push_arguments and deprecated_push_return_address.
-
-2003-07-01 Andreas Jaeger <aj@suse.de>
-
- * x86-64-tdep.c (x86_64_push_arguments): Align stack to 16-byte
- before the call.
- Set %rax only to number of SSE registers used.
-
-2003-07-01 Andrew Cagney <cagney@redhat.com>
-
- * trad-frame.h: Update comments, a -1 .addr is reserved.
- (trad_frame_value_p, trad_frame_addr_p): Declare.
- (trad_frame_reg_p): Declare.
- (trad_frame_set_value): Rename trad_frame_register_value.
- (trad_frame_set_unknown): Declare.
- * trad-frame.c (trad_frame_realreg_p): New function.
- (trad_frame_addr_p, trad_frame_value_p): New function.
- (trad_frame_set_unknown): New function.
- (trad_frame_alloc_saved_regs): Initialize .addr to -1, not zero.
- (trad_frame_prev_register): Use trad_frame_realreg_p,
- trad_frame_addr_p and trad_frame_value_p.
- (trad_frame_set_value): Rename trad_frame_register_value.
- * d10v-tdep.c (d10v_frame_unwind_cache): Use trad_frame_addr_p
- and trad_frame_set_value.
-
-2003-06-30 Jim Blandy <jimb@redhat.com>
-
- Patch from IBM (authors unspecified, probably Ulrich Weigand and
- Gerhard Tonn) for argument passing on the S/390 and S/390x:
- * s390-tdep.c (S390_STACK_FRAME_OVERHEAD): This is always space
- for 16 registers, and then 32 more bytes.
- (S390_STACK_PARAMETER_ALIGNMENT, S390_NUM_FP_PARAMETER_REGISTERS):
- New macros.
- (is_double_arg): The s390x doesn't handle DOUBLE_ARGS specially.
- Move up in the file, since it's now used by is_simple_arg.
- (is_simple_arg): Don't assume registers are four bytes long.
- Exclude all double arguments. Extended floats are not simple
- args.
- (is_power_of_two): New function.
- (pass_by_copy_ref): Call is_power_of_two, and check that the
- length fits in a register, rather than listing all the acceptable
- sizes. Extended floats are not passed by reference.
- (s390_push_arguments): Don't assume registers are four bytes long.
- Reserve an argument register to point to the buffer for structures
- returned by value. Use S390_NUM_FP_PARAMETER_REGISTERS and
- S390_STACK_FRAME_OVERHEAD.
-
-2003-06-30 Andreas Schwab <schwab@suse.de>
-
- * utils.c (internal_vproblem): Use xvasprintf, not xasprintf, to
- format error message.
-
-2003-06-30 Joel Brobecker <brobecker@gnat.com>
-
- * sparc-tdep.c (stop_after_trap): Remove declaration, not used.
-
-2003-06-30 David Carlton <carlton@kealia.com>
-
- Band-aid for PR c++/1245.
- * Makefile.in (cp-support.o): Depend on complaints_h.
- * cp-support.c: Include complaints.h. Add declaration for
- find_last_component.
- (cp_find_first_component): Separate code into
- cp_find_first_component_aux.
- (cp_find_first_component_aux): Call demangled_name_complaint.
- (demangled_name_complaint): New.
-
-2003-06-30 Andrew Cagney <cagney@redhat.com>
-
- * remote.c (remote_write_bytes): Explicitly compute and then use
- the payload size. Update comments to reflect. Fixes problem of
- GDB not sending small packets as found by Fred Fish.
-
-2003-06-30 Andrew Cagney <cagney@redhat.com>
-
- * remote.c (remote_async_wait): Fix -Wformat problem.
-
-2003-06-29 Andrew Cagney <cagney@redhat.com>
-
- * remote.c (remote_wait): Call error, and not warning, when the
- packet is corrupt.
- (remote_async_wait): Ditto.
-
-2003-06-29 Daniel Jacobowitz <drow@mvista.com>
-
- * sparc-tdep.c (sparc_y_regnum): Make external again.
-
-2003-06-29 Daniel Jacobowitz <drow@mvista.com>
-
- * cli/cli-logging.c (pop_output_files): Add void to function
- definition.
-
-2003-06-29 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (frame_register_unwind): Use unsigned char when dumping
- the buffer contents.
-
-2003-06-28 Daniel Jacobowitz <drow@mvista.com>
-
- * cli/cli-logging.c: New file.
- * cli-out.c (struct ui_out_data): Add original_stream.
- (cli_redirect): New function.
- (cli_ui_out_impl): Add cli_redirect.
- (cli_out_new): Initialize original_stream.
- * ui-out.c (default_ui_out_impl): Add NULL for redirect member.
- (uo_redirect, ui_out_redirect): New.
- * ui-out.h (struct ui_out_impl): Add redirect member.
- (redirect_ftype): New.
- (ui_out_redirect): Add prototype.
- * Makefile.in: Add rules for cli-logging.c.
- * NEWS: Mention "set logging".
-
-2003-06-27 Elena Zannoni <ezannoni@redhat.com>
-
- * config/powerpc/ppc64-linux.mh (NATDEPFILES): Add linux-nat.o.
-
-2003-06-27 Andrew Cagney <cagney@redhat.com>
-
- * m68hc11-tdep.c (m68hc11_call_dummy_address): Delete function.
- (m68hc11_gdbarch_init): Do not set call_dummy_address.
- * avr-tdep.c (avr_call_dummy_address): Delete function.
- (avr_gdbarch_init): Do not set call_dummy_address.
-
-2003-06-27 Elena Zannoni <ezannoni@redhat.com>
-
- * symfile.c (syms_from_objfile): Move variables to inner block.
- Move the checks for the non-mainline case a bit earlier to avoid
- doing some useless computations.
-
-2003-06-27 Elena Zannoni <ezannoni@redhat.com>
-
- * dwarfread.c (decode_modified_type): Gag new compiler warning.
-
-2003-06-26 Elena Zannoni <ezannoni@redhat.com>
-
- * dwarf2read.c (dwarf2_locate_sections): Ignore empty .eh_frame
- sections.
-
-2003-06-26 Michael Chastain <mec@shout.net>
-
- * config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.c++/pr-1210.cc,
- gdb/testsuite/gdb.c++/pr-1210.exp.
-
-2003-06-26 Andrew Cagney <cagney@redhat.com>
-
- * config/djgpp/fnchange.lst: Fix 8.3 problem with sim/ppc's
- altivec_expression.h and altivec_registers.h.
-
-2003-06-26 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (gdb_print_insn_mips): Only explicitly set
- info->mach when MIPS16. Patch suggested by Fred Fish.
-
-2003-06-26 Andrew Cagney <cagney@redhat.com>
-
- * utils.c (internal_vproblem): Print the problem to a reason
- buffer and then pass to query. Make the msg variable more local.
-
-2003-06-26 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (FRAME_ARGS_ADDRESS): Add predicate. Deprecate.
- (FRAME_LOCALS_ADDRESS): Add predicate. Deprecate.
- * gdbarch.h, gdbarch.c: Re-generate.
- * frame-base.c (default_frame_args_address): Update. Use
- default_frame_base_address when DEPRECATED_FRAME_ARGS_ADDRESS is
- not available.
- (default_frame_locals_address): Ditto for
- DEPRECATED_FRAME_LOCALS_ADDRESS.
- * vax-tdep.c (vax_sigtramp_saved_pc): Update.
- (vax_frame_num_args): Update.
- (vax_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * symtab.h (address_class): Update comments.
- * ns32k-tdep.c (ns32k_sigtramp_saved_pc): Update.
- * config/sparc/tm-sparc.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update.
- (DEPRECATED_FRAME_LOCALS_ADDRESS): Update.
- * config/pa/tm-hppa64.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update.
- (DEPRECATED_FRAME_LOCALS_ADDRESS): Update.
- (DEPRECATED_FRAME_LOCALS_ADDRESS): Update.
- * config/m68k/tm-delta68.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update.
- * alpha-mdebug-tdep.c: Update.
- * ada-lang.c (add_symbols_from_enclosing_procs): Update.
-
-2003-06-26 Andreas Jaeger <aj@suse.de>
-
- * x86-64-tdep.c (x86_64_push_arguments): Always set %rax to number
- of SSE registers so that varargs functions work. Rework handling
- of passing arguments on the stack.
- (x86_64_store_return_value): Return double and float values in SSE
- register.
-
-2003-06-24 Michael Chastain <mec@shout.net>
-
- * PROBLEMS: Document pr gdb/1091 and pr gdb/1193,
- the "constructor breakpoints ignored" bug.
-
-2003-06-25 David Carlton <carlton@kealia.com>
-
- * MAINTAINERS: Update e-mail address.
-
-2003-06-24 Jim Blandy <jimb@redhat.com>
-
- * ppc-linux-tdep.c: More "Linux" -> "GNU/Linux".
-
- * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): New
+ (sparc64nbsd_init_abi): Initialize TDEP->gregset,
+ TDEP->sizeof_gregset, TDEP->fpregset and TDEP->sizeof_gregset.
+ (_initialize_sparc64nbsd_tdep): Remove call to add_core_fns.
+
+ * sparc-tdep.c (sparc32_extract_struct_value_address): Rename from
+ sparc_extract_struct_value_address.
+ (sparc32_gdbarch_init): Set extract_struct_value_address.
+ * sparc64-tdep.c (sparc64_extract_struct_value_address): New
function.
- (ppc_linux_init_abi): Register it as the
- CONVERT_FROM_FUNC_PTR_ADDR method under the PPC64 Linux ABI.
-
- * ppc-linux-tdep.c (ppc64_call_dummy_address): New function.
- (ppc_linux_init_abi): Set it as the gdbarch's call_dummy_address
- method.
-
- * ppc-linux-tdep.c (ppc64_desc_entry_point): New function.
- (ppc64_standard_linkage_target): Use it.
-
-2003-06-23 Andrew Cagney <cagney@redhat.com>
-
- * rs6000-tdep.c (rs6000_register_virtual_type): Add explict cases
- for 0 "int0" and 4 "int32" sized registers.
- * gdbtypes.c (builtin_type_int0): Define.
- (build_gdbtypes): Initialize builtin_type_int0.
- * gdbtypes.h (builtin_type_int0): Declare.
-
-2003-06-23 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Clear gdb_arch_char_signed
- as characters are unsigned.
-
-2003-06-22 Daniel Jacobowitz <drow@mvista.com>
-
- PR gdb/1179
- * dwarfread.c (struct_type): Skip static fields without crashing.
-
-2003-06-22 Andrew Cagney <cagney@redhat.com>
-
- GDB 6.0 branch created.
- * README: Update.
- * PROBLEMS: Update. Empty.
- * NEWS: Update.
-
-2003-06-22 Daniel Jacobowitz <drow@mvista.com>
-
- * symfile.c (add_symbol_file_command): Use parse_and_eval_address.
- Suggested by Nick Hibma <n_hibma@webweaving.org>.
-
-2003-06-22 Andrew Cagney <cagney@redhat.com>
-
- * osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Handle
- GNU_ABI_TAG_FREEBSD and GNU_ABI_TAG_NETBSD. Suggested by Momchil
- Velikov.
-
-2003-06-22 Daniel Jacobowitz <drow@mvista.com>
-
- * cli/cli-cmds.c (shell_escape): Silence warnings from old
- compilers.
-
-2003-06-21 Daniel Jacobowitz <drow@mvista.com>
-
- * c-valprint.c (c_value_print): Add VALUE_OFFSET to the address
- argument of val_print.
- * cp-valprint.c (cp_print_value): Don't add the offset parameter
- to the address argument of baseclass_offset or target_read_memory.
- Do add it to the argument of cp_print_value_fields.
-
-2003-06-21 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c: Include "reggroups.h" and "sim-regno.h".
- (mips_register_name): Return names for NUM_REGS..2*NUM_REGS
- instead of 0..NUM_REGS.
- (mips_register_reggroup_p): New function.
- (mips_pseudo_register_write): New function.
- (mips_pseudo_register_read): New function.
- (mips_register_raw_size): For NUM_REGS..2*NUM_REGS return the size
- based on the register's type.
- (read_next_frame_reg): Simplify. Assert that REGNO is a pseudo /
- cooked.
- (mips_get_saved_register): Simplify. Assert that REGNO is a
- pseudo / cooked.
- (mips_register_byte): New function. Use MIPS_REGISTER_BYTE.
- (mips_register_type): Replace mips_register_virtual_type. Map
- NUM_REGS..2*NUM_REGS onto 0..NUM_REGS. Use MIPS_REGISTER_TYPE
- when available.
- (read_next_frame_reg): Simplify, but handle SP_REGNUM. Assert
- that the register is cooked / virtual.
- (mips_frame_saved_pc): Fetch the cooked PC, and not the raw PC.
- Only get the extra info when needed.
- (set_reg_offset): Save the offset in NUM_REGS..2*NUM_REGS as well.
- (mips32_heuristic_proc_desc): Fetch the cooked register.
- (heuristic_proc_desc, mips_pop_frame, get_frame_pointer): Ditto.
- (mips_init_extra_frame_info, get_frame_pointer): Ditto.
- (mips_print_register): Use gdbarch_register_type, instead of
- REGISTER_VIRTUAL_TYPE.
- (print_gp_register_row): Use gdbarch_register_type, instead of
- REGISTER_VIRTUAL_TYPE. Allow for a pseudo / cooked REGNUM.
- (mips_print_registers_info): Assert REGNO is pseodo / cooked.
- Print the pseudo / cooked registers.
- (mips_print_registers_info): Assert REGNO is pseodo / cooked.
- Print the pseudo / cooked registers.
- (mips_xfer_register): Use regcache_cooked_read_part. Assert that
- REG_NUM is pseudo / cooked.
- (mips_o32_xfer_return_value): Xfer the pseudo / cooked register.
- (mips_n32n64_xfer_return_value): Ditto.
- (mips_stab_reg_to_regnum): Map onto NUM_REGS..2*NUM_REGS.
- (mips_dwarf_dwarf2_ecoff_reg_to_regnum): Ditto.
- (mips_register_sim_regno): New function.
- (mips_gdbarch_init): Set deprecated_register_byte,
- register_group_p, pseudo_register_write, pseudo_register_read,
- register_sim_regno, and num_pseudo_regs. Set register_type,
- instead of register_virtual_type.
- * Makefile.in (mips-tdep.o): Update dependencies.
- * config/mips/tm-mips64.h (MIPS_REGISTER_TYPE): Rename
- REGISTER_VIRTUAL_TYPE.
- * config/mips/tm-mips.h (MIPS_REGISTER_TYPE): Ditto.
- * config/mips/tm-irix5.h (MIPS_REGISTER_TYPE): Ditto.
- * config/mips/tm-mips.h (MIPS_REGISTER_BYTE): Rename REGISTER_BYTE.
- * config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Ditto.
- * config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Ditto.
-
-2003-06-21 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in (cli-cmds.o): Depend on $(gdb_vfork_h)
- * cli/cli-cmds.c: Include "gdb_vfork.h".
- (shell_escape): Use vfork.
-
-2003-06-21 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (mips_find_saved_regs): Rewrite mdebug code handling
- 32 bit floating-point register saves.
-
- * frame.h (deprecated_unwind_get_saved_register): Delete.
- * frame.c (deprecated_unwind_get_saved_register): Delete function.
- * mips-tdep.c (mips_get_saved_register): Use frame_register_unwind
- and deprecated_get_next_frame_hack instead of
- deprecated_unwind_get_saved_register.
-
- * mips-tdep.c (mips_dump_tdep): Do not print
- REGISTER_CONVERT_FROM_TYPE or REGISTER_CONVERT_TO_TYPE.
-
- * frame.c (get_frame_register): New function.
- (frame_unwind_register_signed): New function.
- (get_frame_register_signed): New function.
- (frame_unwind_register_unsigned): New function.
- (get_frame_register_unsigned): New function.
- * frame.h: Add comments on naming schema.
- (get_frame_register, frame_unwind_register_signed): Declare.
- (get_frame_register_signed, get_frame_register_signed): Declare.
- (frame_unwind_register_unsigned): Declare.
- (get_frame_register_unsigned): Declare.
-
-2003-06-20 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_bfd_vma_bit.
-
-2003-06-20 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_read_pc): Use regcache instead of read_register.
- (avr_read_sp): Ditto.
-
-2003-06-20 Daniel Jacobowitz <drow@mvista.com>
-
- * config/arm/linux.mt: Remove code protected by GDBSERVER define.
- * config/arm/nm-linux.h: Likewise.
- * config/arm/tm-linux.h: Likewise.
- * config/ia64/nm-linux.h: Likewise.
- * config/ia64/tm-ia64.h: Likewise.
- * config/s390/tm-linux.h: Likewise.
- * config/s390/tm-s390.h: Likewise.
- * s390-nat.c: Likewise.
- * s390-tdep.c: Likewise.
-
- * config/i386/linux.mt: Don't set GDBSERVER_DEPFILES.
- * config/ia64/linux.mt: Likewise.
- * config/m68k/linux.mh: Likewise.
- * config/mips/linux.mt: Likewise.
- * config/powerpc/linux.mh: Likewise.
- * config/sh/linux.mt: Likewise.
-
-2003-06-19 Kris Warkentin <kewarken@qnx.com>
-
- * solib.c (solib_open): Change tests for whether to search
- LD_LIBRARY_PATH and PATH to better deal with remotes. Update
- comments.
-
-2003-06-19 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_frame_address): Delete function.
- (avr_gdbarch_init): Don't call set_gdbarch_frame_args_address,
- set_gdbarch_frame_args_address.
-
-2003-06-19 Andrew Cagney <cagney@redhat.com>
-
- * config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE): Delete.
- (REGISTER_CONVERT_FROM_TYPE): Delete.
- (mips_register_convert_to_type): Delete declaration.
- (mips_register_convert_from_type): Delete declaration.
- * linux-nat.h (struct target_ops): Declare opaque. s/Linux/Linux
- kernel/.
-
-2003-06-19 Michael Snyder <msnyder@redhat.com>
-
- * linux-nat.h: New file.
- * linux-nat.c: Include linux-nat.h.
- * lin-lwp.c: Include linux-nat.h.
- Move struct lwp_info def to linux-nat.h.
- * linux-proc.c: Include linux-nat.h.
- (linux_make_note_section): Iterate over lwps instead of threads.
- (linux_do_thread_registers): Use lwp instead of merged pid.
- * config/nm-linux.h: Move miscelaneous def'ns to linux-nat.h.
- * Makefile.in (lin-lwp.o, linux-proc.o, linux-nat.o):
- Add dependency on linux_nat_h.
-
-2003-06-19 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_extract_return_value): Delete debugging fprintf.
-
-2003-06-19 Daniel Jacobowitz <drow@mvista.com>
-
- * varobj.c (get_type, get_target_type): Use check_typedef.
-
-2003-06-19 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (insert_catchpoint): Call internal_error.
-
-2003-06-19 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_push_dummy_code): Delete function.
- (avr_gdbarch_init): Don't call set_gdbarch_push_dummy_code.
-
-2003-06-19 Daniel Jacobowitz <drow@mvista.com>
-
- * arch-utils.c (default_prepare_to_proceed): Remove.
- (generic_prepare_to_proceed): Remove.
- * arch-utils.h (default_prepare_to_proceed): Remove prototype.
- (generic_prepare_to_proceed): Remove prototype.
- * gdbarch.sh (PREPARE_TO_PROCEED): Remove.
- * gdbarch.c: Regenerate.
- * gdbarch.h: Regenerate.
- * hppa-tdep.c (hppa_prepare_to_proceed): Remove dangling prototype.
- * hppah-nat.c (hppa_switched_threads): Remove.
- * infrun.c (prepare_to_proceed): New static function, copied from
- generic_prepare_to_proceed. Remove select_it argument.
- (proceed): Call prepare_to_proceed.
- * infttrace.c (old_gdb_pid, reported_pid, reported_bpt): Remove
- variables.
- (ptrace_wait): Don't set the removed variables.
- (hppa_switched_threads): Remove.
- * lin-lwp.c (lin_lwp_prepare_to_proceed): Remove.
- * config/nm-linux.h (PREPARE_TO_PROCEED): Don't define.
- (lin_lwp_prepare_to_proceed): Remove prototype.
- * config/i386/nm-x86-64linux.h (PREPARE_TO_PROCEED): Don't undefine.
- * config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Don't define.
-
-2003-06-18 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c: Include frame.h, frame-unwind.h, frame-base.h, and
- trad-frame.h.
- (AVR_MAX_PROLOGUE_SIZE): Increase from 56 to 64.
- (AVR_ARG1_REGNUM, AVR_ARGN_REGNUM): Define.
- (AVR_RET1_REGNUM, AVR_RETN_REGNUM): Define.
- (AVR_PROLOGUE_*): Enumerate prologue types.
- (struct frame_extra_info): Remove.
- (struct avr_unwind_cache): Define.
- (avr_write_sp): Delete function.
- (avr_read_fp): Ditto.
- (avr_init_extra_frame_info): Ditto.
- (avr_pop_frame): Ditto.
- (avr_frame_saved_pc): Ditto.
- (avr_saved_pc_after_call): Ditto.
- (avr_push_return_address): Ditto.
- (avr_frame_chain): Ditto.
- (avr_store_struct_return): Ditto.
- (avr_push_arguments): Ditto.
- (avr_scan_prologue): Update comments. Changed to set up the info for
- cache unwinding. Now returns end of prologue PC.
- (avr_skip_prologue): Better handling of functions lacking a prologue
- by using avr_scan_prologue.
- (avr_scan_arg_moves): New function.
- (avr_saved_regs_unwinder): Ditto.
- (avr_frame_unwind_cache): Ditto.
- (avr_unwind_pc): Ditto.
- (avr_frame_this_id): Ditto.
- (avr_frame_prev_register): Ditto.
- (avr_frame_p): Ditto.
- (avr_frame_base_address ): Ditto.
- (avr_unwind_dummy_id): Ditto.
- (avr_push_dummy_code): Ditto.
- (push_stack_item): Ditto.
- (pop_stack_item): Ditto.
- (avr_push_dummy_call): Ditto.
- (struct stack_item): Define.
- (avr_frame_unwind): Declare structure.
- (avr_frame_base): Ditto.
- (avr_gdbarch_init): Remove calls to
- set_gdbarch_deprecated_init_frame_pc,
- set_gdbarch_deprecated_target_read_fp,
- set_gdbarch_deprecated_dummy_write_sp,
- set_gdbarch_deprecated_fp_regnum,
- set_gdbarch_deprecated_push_arguments,
- set_gdbarch_deprecated_push_return_address,
- set_gdbarch_deprecated_pop_frame,
- set_gdbarch_deprecated_store_struct_return,
- set_gdbarch_deprecated_frame_init_saved_regs,
- set_gdbarch_deprecated_init_extra_frame_info,
- set_gdbarch_deprecated_frame_chain,
- set_gdbarch_deprecated_frame_saved_pc,
- set_gdbarch_deprecated_saved_pc_after_call.
- Add calls to set_gdbarch_push_dummy_call,
- set_gdbarch_push_dummy_code,
- frame_unwind_append_predicate,
- frame_base_set_default,
- set_gdbarch_unwind_dummy_id,
- set_gdbarch_unwind_pc.
- Wrap a long line.
-
-2003-06-18 Corinna Vinschen <vinschen@redhat.com>
-
- * h8300-tdep.c (h8300s_register_name): Enable MACH and MACL
- registers for H8/300S.
- (h8300_print_registers_info): Ditto.
- (h8300_gdbarch_init): Accommodate register count for H8/300S.
-
-2003-06-18 Daniel Jacobowitz <drow@mvista.com>
-
- * config/nm-linux.h (linux_record_stopped_pid): New prototype.
- * lin-lwp.c (child_wait): Call linux_record_stopped_pid.
- (lin_lwp_wait): Likewise. Update comments.
- * linux-nat.c (struct simple_pid_list, add_to_pid_list)
- (pull_pid_from_list, linux_record_stopped_pid): New.
-
-2003-06-17 Stephane Carrez <stcarrez@nerim.fr>
-
- * ada-lang.c (scan_discrim_bound): Name first argument.
- (ada_add_block_symbols): Remove BLOCK_SYM to use local variable
- declared by ALL_BLOCK_SYMBOLS.
-
-2003-06-17 Stephane Carrez <stcarrez@nerim.fr>
-
- * ada-tasks.c (find_function_in_inferior): Don't declare it.
- ("regcache.h"): Include it.
- * ada-lex.l (block_lookup): Replace VAR_NAMESPACE with VAR_DOMAIN.
-
-2003-06-17 Daniel Jacobowitz <drow@mvista.com>
-
- * NEWS: Mention gdbserver detach change and "disconnect" command.
- * infcmd.c (disconnect_command): New function.
- (_initialize_infcmd): Add ``disconnect'' command.
- * remote.c (remote_async_detach): Delete.
- (remote_detach): Merge remote_async_detach.
- (remote_disconnect): New.
- (init_remote_ops): Set to_disconnect.
- (init_remote_cisco_ops): Likewise.
- (init_remote_async_ops): Likewise. Use remote_detach.
- * target.c (cleanup_target): Default to_disconnect.
- (update_current_target): Inherit to_disconnect.
- (target_disconnect, debug_to_disconnect): New functions.
- (setup_target_debug): Set to_disconnect.
- * target.h (struct target_ops): Add to_disconnect.
- (target_disconnect): Add prototype.
-
-2003-06-17 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (insert_catchpoint): New function.
- (insert_breakpoints): Use catch_exceptions to call
- insert_catchpoint. Disable catchpoints if they fail to insert.
-
-2003-06-17 Daniel Jacobowitz <drow@mvista.com>
-
- * symfile.c (reread_symbols): Clear sym_private.
-
-2003-06-17 Andrew Cagney <cagney@redhat.com>
-
- * trad-frame.h (struct frame_info): Add opaque declaration.
- * remote-fileio.h (struct cmd_list_element): Add opaque
- declaration.
- * h8300-tdep.c (h8300s_register_name): Avoid C++ // style
- comments.
-
-2003-06-17 Daniel Jacobowitz <drow@mvista.com>
-
- * remote.c (remote_prepare_to_store): Replace call to
- deprecated_read_register_bytes with multiple regcache_raw_read
- calls.
-
-2003-06-17 Kris Warkentin <kewarken@qnx.com>
-
- * nto-tdep.c (nto_map_arch_to_cputype): Recognize "powerpc".
- (nto_find_and_open_solib): Likewise.
- (nto_init_solib_absolute_prefix): Likewise.
- (_initialize_nto_tdep): Fix indentation.
-
-2003-06-17 Kris Warkentin <kewarken@qnx.com>
-
- * i386-nto-tdep.c (i386nto_sigcontext_addr): Make sp a CORE_ADDR.
-
-2003-06-17 Kris Warkentin <kewarken@qnx.com>
-
- * i386-nto-tdep.c (i386nto_sigcontext_addr): Declare sp before using.
-
-2003-06-17 Jim Blandy <jimb@redhat.com>
-
- * ppc-linux-tdep.c: "Linux" -> "GNU/Linux"
-
-2003-06-16 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_extract_return_value): New function.
- (avr_gdbarch_init): Set extract_return_value method.
-
-2003-06-16 Andrew Cagney <cagney@redhat.com>
-
- * frame.h (deprecated_get_next_frame_hack): Declare.
- * frame.c (legacy_saved_regs_prev_register): Only require
- DEPRECATED_FRAME_INIT_SAVED_REGS when it is needed. Assert that
- there are always saved regs.
- (deprecated_generic_get_saved_register): Do not require
- DEPRECATED_FRAME_INIT_SAVED_REGS.
- (legacy_get_prev_frame): Do not require DEPRECATED_FRAME_CHAIN,
- use frame ID unwind instead.
- (deprecated_get_next_frame_hack): New function.
-
-2003-06-16 Corinna Vinschen <vinschen@redhat.com>
-
- * h8300-tdep.c (h8300_push_arguments): Remove. Substitute by...
- (h8300_push_dummy_call): ...this function. Some minor optimization.
- (h8300_push_return_address): Remove.
- (h8300_gdbarch_init): Remove calls to
- set_gdbarch_deprecated_dummy_write_sp,
- set_gdbarch_deprecated_push_arguments and
- set_gdbarch_deprecated_push_return_address.
- Add call to set_gdbarch_push_dummy_call.
-
-2003-06-16 Corinna Vinschen <vinschen@redhat.com>
-
- * h8300-tdep.c (E_PSEUDO_CCR_REGNUM): New define.
- (E_PSEUDO_EXR_REGNUM): Ditto.
- (h8300_is_argument_spill): Check for instructions moving argument
- registers into safe registers.
- (h8300_skip_prologue): Check for stm instruction to push registers
- used for register variables onto stack.
- (gdb_print_insn_h8300): Remove.
- (h8300_examine_prologue): Add a comment.
- (h8300_register_name): Take pseudo registers into account.
- (h8300s_register_name): Ditto.
- (h8300sx_register_name): Ditto.
- (h8300_print_register): Ditto.
- (h8300_print_registers_info): Define "nice" printing order.
- (h8300_saved_pc_after_call): Take pseudo registers into account.
- (h8300_register_type): Ditto. Return type used for remote connection
- when requesting real CCR or EXR register, return actual type when
- requesting pseudo CCR or EXR.
- (h8300_pseudo_register_read): New function.
- (h8300_pseudo_register_write): Ditto.
- (h8300_dbg_reg_to_regnum): Ditto.
- (h8300s_dbg_reg_to_regnum): Ditto.
- (h8300_gdbarch_init): Call set_gdbarch_num_pseudo_regs,
- set_gdbarch_ecoff_reg_to_regnum, set_gdbarch_dwarf_reg_to_regnum,
- set_gdbarch_dwarf2_reg_to_regnum, set_gdbarch_stab_reg_to_regnum and
- set_gdbarch_print_insn architecture dependent.
- Call set_gdbarch_pseudo_register_read and
- set_gdbarch_pseudo_register_write.
- (_initialize_h8300_tdep): Remove assignment to deprecated_tm_print_insn.
-
-2003-06-16 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (SAVE_DUMMY_FRAME_TOS): Deprecate.
- * gdbarch.h, gdbarch.c: Re-generate.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * infcall.c (call_function_by_hand): Update.
- * ia64-tdep.c (ia64_push_arguments): Update comment.
- * frame.c (legacy_get_prev_frame): Do not assume
- SAVE_DUMMY_FRAME_TOS_P.
- * dummy-frame.c (find_dummy_frame): Update comment.
-
-2003-06-16 Andrew Cagney <cagney@redhat.com>
-
- * regcache.c (do_cooked_read): Do not use register_valid_p.
-
-2003-06-15 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_register_type): Remove a blank line.
- (avr_scan_prologue): Correct some comments.
-
-2003-06-15 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_scan_prologue): Update comment describing the various
- prologue types.
- Properly scan prologues generated by gcc with the -mcall-prologues
- option.
- Add code to scan -mcall-prologues for mega devices.
-
-2003-06-15 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_register_byte): Delete function.
- (avr_register_raw_size): Delete function.
- (avr_register_virtual_size): Delete function.
- (avr_register_virtual_type): Delete function.
- (avr_register_type): New function.
- (avr_address_to_pointer): Remove unused code.
- (avr_read_fp): Need to read FP as two separate bytes due to change to
- avr_register_type() usage.
- (avr_gdbarch_init): Don't set deprecated_register_size.
- Don't set deprecated_register_bytes.
- Don't set deprecated_register_byte.
- Don't set deprecated_register_raw_size.
- Don't set deprecated_max_register_raw_size.
- Don't set deprecated_register_virtual_size.
- Don't set deprecated_max_register_virtual_size.
- Don't set deprecated_register_virtual_type.
- Set register_type method.
-
-2003-06-15 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in (linux-nat.o): Add rule.
- * linux-nat.c: New file.
- * config/nm-linux.h (CHILD_INSERT_FORK_CATCHPOINT): Define.
- (CHILD_INSERT_VFORK_CATCHPOINT): Define.
- (CHILD_INSERT_EXEC_CATCHPOINT): Define.
- * config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-nat.o.
- * config/arm/linux.mh (NATDEPFILES): Likewise.
- * config/i386/linux.mh (NATDEPFILES): Likewise.
- * config/i386/x86-64linux.mh (NATDEPFILES): Likewise.
- * config/ia64/linux.mh (NATDEPFILES): Likewise.
- * config/m68k/linux.mh (NATDEPFILES): Likewise.
- * config/mips/linux.mh (NATDEPFILES): Likewise.
- * config/powerpc/linux.mh (NATDEPFILES): Likewise.
- * config/s390/s390.mh (NATDEPFILES): Likewise.
- * config/sparc/linux.mh (NATDEPFILES): Likewise.
-
-2003-06-15 Mark Kettenis <kettenis@gnu.org>
-
- * i387-tdep.c: Reorder includes, fix some whitespace issues and
- replace out-of-date comment.
-
-2003-06-15 Andrew Cagney <cagney@redhat.com>
-
- * rdi-share/host.h (Fail): Change to a varargs function.
- * remote-rdi.c (Fail): Update.
-
-2003-06-15 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c (i386_next_regnum): Fix bounds checking.
- (i386_convert_register_p, i386_register_to_value,
- i386_register_from_value): Handle types longer than 8 bytes.
-
-2003-06-15 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c (i386_register_to_value, i386_value_to_register):
- Move floating-point code to new function in i387-tdep.c.
- * i387-tdep.c (i387_register_to_value, i387_value_to_register):
- New functions containing code moved here from i386-tdep.c.
- * i387-tdep.h: Add opaque declaration for `struct type'.
- (i387_register_to_value, i387_value_to_register): New prototypes.
- * x86-64-tdep.c (x86_64_convert_register_p): New function.
- (x86_64_init_abi): Set convert_register_p, register_to_value and
- value_to_register here.
-
-2003-06-14 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (mips_register_to_value): Make static.
- (mips_value_to_register): Make static.
- * i386-tdep.c (i386_fetch_pointer_argument): Make static.
- * ia64-tdep.c (ia64_register_raw_size): Make static.
- (ia64_register_virtual_size): Make static.
- (ia64_register_byte): Make static.
- * i387-tdep.c: Include "i387-tdep.h".
- (print_387_control_word): Delete function.
- (print_387_status_word): Delete function.
- (print_387_status_bits): Delete function.
- (print_387_control_bits): Delete function.
- * Makefile.in (i387-tdep.o): Update dependencies.
- * rdi-share/host.h (Fail): Declare.
- * remote-rdi.c (Fail): Update to match declaration.
-
-2003-06-14 Andrew Cagney <cagney@redhat.com>
-
- * config/mips/embedl64.mt (TDEPFILES): Delete "remote-array.o".
- * config/mips/embedl.mt (TDEPFILES): Delete "remote-array.o".
- * config/mips/embed64.mt (TDEPFILES): Delete "remote-array.o".
- * config/djgpp/fnchange.lst: Delete "remote-array.c".
- * README: Delete reference to remote-array.
- * Makefile.in (ALLDEPFILES): Remove "remote-array.c".
- (remote-array.o): Delete target.
- * config/mips/embed.mt (TDEPFILES): Delete "remote-array.o".
- * remote-array.c: Delete file.
-
-2003-06-14 Andrew Cagney <cagney@redhat.com>
- Mark Kettenis <kettenis@gnu.org>
-
- * gdbarch.sh (CONVERT_REGISTER_P): Add "type" parameter.
- (REGISTER_TO_VALUE, VALUE_TO_REGISTER): Replace raw buffer
- parameter with "frame".
- * gdbarch.h, gdbarch.c: Re-generate.
- * frame.h (put_frame_register): Declare.
- * frame.c (put_frame_register): New function.
- * arch-utils.c (legacy_convert_register_p): Add "type" parameter.
- (legacy_register_to_value): Rewrite, use "frame" to get the
- register value.
- (legacy_value_to_register): Rewrite, use "frame" to find the
- register's location before storing.
- * arch-utils.h (legacy_convert_register_p): Update.
- (legacy_register_to_value, legacy_value_to_register): Update.
- * findvar.c (value_from_register): Rewrite, eliminate use of
- REGISTER_CONVERT_TO_TYPE, pass "type" to CONVERT_REGISTER_P, pass
- "frame" to REGISTER_TO_VALUE.
- * valops.c (value_assign): Move the CONVERT_REGISTER code to the
- lval_reg_frame_relative + lval_register branch of the switch. Do
- not use REGISTER_CONVERT_FROM_TYPE. Use put_frame_register.
- * i386-tdep.c (I386_EBX_REGNUM, I386_ECX_REGNUM, I386_ESI_REGNUM,
- I386_EDI_REGNUM): New defines.
- (i386_next_regnum, i386_convert_register_p,
- i386_register_to_value, i386_value_to_register): New functions.
- (i386_register_convertible, i386_register_convert_to_virtual,
- i386_convert_to_raw): Remove functions.
- (i386_gdbarch_init): Set convert_register_p, register_to_value and
- value_to_register instead of register_convertible,
- register_convert_to_virtual and register_convert_to_raw.
- * mips-tdep.c (mips_convert_register_p): New function.
- (mips_value_to_register): Replace mips_register_convert_from_type.
- (mips_register_to_value): Replace mips_register_convert_to_type.
- (mips_gdbarch_init): Set conver_register_p, value_to_register and
- register_to_value.
- * alpha-tdep.c (alpha_convert_register_p): Update.
- (alpha_value_to_register): Update, store the register.
- (alpha_register_to_value): Update, fetch the register.
-
-2003-06-14 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_remote_translate_xfer_address): Delete function.
- (avr_gdbarch_init): Remove avr_call_dummy_words variable.
- Don't set deprecated_call_dummy_words.
- Remove commented out set_gdbarch_believe_pcc_promotion() call.
- Don't set remote_translate_xfer_address.
- (avr_io_reg_read_command): Remove commented out debug printf.
- Wrap a long line.
-
-2003-06-14 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_scan_prologue): Fix to avoid a buffer over run which
- causes gdb to seg fault.
-
-2003-06-14 Daniel Jacobowitz <drow@mvista.com>
-
- * sparc-nat.c (fetch_inferior_registers): Correct
- a reference to "registers".
-
-2003-06-14 Jeroen Dekkers <jeroen@dekkers.cx>
-
- * Makefile.in (exc_request_U_h): Define
- (exc_request_S_h): Likewise.
- (msg_reply_S_h): Likewise.
- (msg_U_h): Likewise.
- (notify_S_h): Likewise.
- (process_reply_S_h): Likewise.
- (gnu-nat.o): Depend on gdb_obstack_h
- * gnu-nat.c: Include "gdb_obstack.h".
-
-2003-06-13 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Document what PUSH_DUMMY_CALL replaces.
- * gdbarch.h, gdbarch.c: Re-generate.
-
-2003-06-13 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Document what UNWIND_DUMMY_ID replaces. Clarify
- when deprecated REGISTER macros can be deleted.
- * gdbarch.h, gdbarch.c: Re-generate.
-
-2003-06-13 Jim Blandy <jimb@redhat.com>
-
- * solib-svr4.c (solib_break_names): Recognize the 64-bit PowerPC
- Linux entry point symbols for _dl_debug_state, too.
-
-2003-06-13 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): When UNWIND_DUMMY_ID is
- available, do not use the FP register, and always save the TOS.
- * dummy-frame.c (dummy_frame_this_id): Do not assert
- SAVE_DUMMY_FRAME_TOS.
- * i386-tdep.c (i386_save_dummy_frame_tos): Delete function.
- (i386_gdbarch_init): Do not set save_dummy_frame_tos.
- (i386_push_dummy_call): Add 8 to the returned SP.
- * frame.c (legacy_frame_p): Do not require SAVE_DUMMY_FRAME_TOS.
- * d10v-tdep.c (d10v_unwind_dummy_id): Use d10v_unwind_sp.
- (d10v_gdbarch_init): Do not set save_dummy_frame_tos.
- * x86-64-tdep.c (x86_64_save_dummy_frame_tos): Delete function.
- (x86_64_push_dummy_call): Return "sp + 16".
- (x86_64_init_abi): Do not set save_dummy_frame_tos.
- * alpha-tdep.c (alpha_gdbarch_init): Do not set
- save_dummy_frame_tos.
-
-2003-06-13 Jim Blandy <jimb@redhat.com>
-
- * frv-tdep.c (frv_use_struct_convention): Delete static
- declaration for function deleted in my change of 2003-06-12.
-
-2003-06-13 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_address_to_pointer): Shift code addrs right 1 bit.
- (avr_pointer_to_address): Shift code addrs left 1 bit.
- (avr_convert_from_func_ptr_addr): Delete function since operation is
- better handled by avr_address_to_pointer and avr_pointer_to_address.
- (avr_gdbarch_init): Don't set convert_from_func_ptr_add method.
-
-2003-06-13 Mark Kettenis <kettenis@gnu.org>
-
- From Kelley Cook <kelleycook@wideopenwest.com>:
- * configure.host: Accept i[34567]86 variants.
- * configure.tgt: Likewise.
- * nlm/configure.in: Likewise.
- * nlm/configure: Regenerated.
-
-2003-06-13 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-tdep.c (solib-svr4.h): Dont' include it.
- (arm_linux_svr4_fetch_link_map_offsets): Move to ...
- * arm-linux-tdep.c: ... here. Make static.
- (arm_linux_init_abi): Register it.
- (solib-svr4.h): Include it.
- * Makefile.in: Update dependencies.
- * config/arm/tm-linux.h (SVR4_FETCH_LINK_MAP_OFFSETS): Delete.
- (arm_linux_svr4_fetch_link_map_offsets): Delete declaration.
-
-2003-06-13 Corinna Vinschen <vinschen@redhat.com>
-
- * h8300-tdep.c: Add definitions E_RET0_REGNUM and E_RET1_REGNUM to
- indicate registers used for return values.
- (struct frame_extra_info): Drop args_pointer and locals_pointer.
- (h8300_examine_prologue): Remove initializing dropped frame_extra_info
- members.
- (h8300_init_extra_frame_info): Ditto.
- (h8300_frame_locals_address): Removed.
- (h8300_frame_args_address): Removed.
- (h8300_extract_return_value): Use new regcache structure. Only care
- for 16 bit CPUs.
- (h8300h_extract_return_value): Same function for 32 bit CPUs.
- (h8300_store_return_value): Use new regcache structure. Only care
- for 16 bit CPUs.
- (h8300h_store_return_value): Same function for 32 bit CPUs.
- (h8300_store_struct_return): Removed.
- (h8300_extract_struct_value_address): Use new regcache structure.
- (h8300h_extract_struct_value_address): Removed.
- (h8300_push_dummy_code): New function.
- (h8300_gdbarch_init): Slightly rearranged to stress deprecated calls.
- Remove call_dummy_words. Call set_gdbarch_extract_return_value and
- set_gdbarch_store_return_value architecture dependent.
- Call set_gdbarch_push_dummy_code and
- set_gdbarch_extract_struct_value_address.
- Remove calls to set_gdbarch_frame_args_address,
- set_gdbarch_frame_locals_address,
- set_gdbarch_deprecated_store_struct_return,
- set_gdbarch_deprecated_extract_return_value,
- set_gdbarch_deprecated_extract_struct_value_address,
- set_gdbarch_deprecated_call_dummy_words and
- set_gdbarch_deprecated_sizeof_call_dummy_words.
-
-2003-06-13 Corinna Vinschen <vinschen@redhat.com>
-
- * h8300-tdep.c (h8300_register_byte): Remove.
- (h8300h_register_byte): Remove.
- (h8300_register_virtual_type): Remove. Substitute by...
- (h8300_register_type): New function.
- (h8300_extract_struct_value_address): Drop usage of h8300_register_byte.
- (h8300h_extract_struct_value_address): Ditto.
- (h8300_gdbarch_init): Drop calls to
- set_gdbarch_deprecated_register_byte and
- set_gdbarch_deprecated_register_virtual_type.
- Add call to set_gdbarch_register_type.
-
-2003-06-13 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Update comments on registers.
- (deprecated_register_byte): Rename register_byte.
- (deprecated_register_raw_size): Rename register_raw_size.
- (deprecated_register_virtual_size): Rename register_virtual_size.
- (deprecated_register_virtual_type): Rename register_virtual_type.
- * gdbarch.h, gdbarch.c: Re-generate.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ns32k-tdep.c: Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
-
-2003-06-13 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (mips_gdbarch_init): Replace remaining instances of
- mips_o32_use_struct_convention with always_use_struct_convention.
-
-2003-06-12 David Carlton <carlton@kealia.com>
-
- * cp-namespace.c (cp_set_block_scope): Comment out
- processing_has_namespace_info branch.
-
-2003-06-12 Jim Blandy <jimb@redhat.com>
-
- Recognize and skip 64-bit PowerPC Linux linkage functions.
- * ppc-linux-tdep.c (insn_d, insn_ds, insn_xfx, read_insn, struct
- insn_pattern, insns_match_pattern, d_field, ds_field): New
- functions, macros, and types for working with PPC instructions.
- (ppc64_standard_linkage, PPC64_STANDARD_LINKAGE_LEN,
- ppc64_in_solib_call_trampoline, ppc64_standard_linkage_target,
- ppc64_skip_trampoline_code): New functions, variables, and macros
- for recognizing and skipping linkage functions.
- (ppc_linux_init_abi): Use ppc64_in_solib_call_trampoline and
- ppc64_skip_trampoline_code for the 64-bit PowerPC Linux ABI.
-
- * ppc-linux-nat.c (ppc_register_u_addr): Correctly compute u-area
- register offsets for both the 32- and 64-bit interfaces.
-
- Actually finish the job started by my change of 2003-05-29.
- * config/powerpc/tm-linux.h (SKIP_TRAMPOLINE_CODE): Remove the
- other #definition of this.
- (ppc_linux_skip_trampoline_code): Remove declaration.
- * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Make this
- static.
- (ppc_linux_init_abi): Register it as the skip_trampoline_code
- method for GDBARCH.
-
- * config/powerpc/nm-ppc64-linux.h (PTRACE_XFER_TYPE): This is
- 'long' on ppc64-*-linux*.
-
- * ppc-linux-nat.c (ppc_register_u_addr, fill_gregset): If PT_MQ
- isn't #defined, assume the register doesn't exist: act as if
- tdep->ppc_mq_regnum were -1.
-
- * configure.host, configure.tgt: Add entries for
- powerpc64-*-linux, selecting powerpc/ppc64-linux.mh and
- powerpc/linux.mt.
- * config/powerpc/ppc64-linux.mh, config/powerpc/nm-ppc64-linux.mh:
- New files.
-
- * arch-utils.c (always_use_struct_convention): New function.
- * arch-utils.h (always_use_struct_convention): New prototype.
- * alpha-tdep.c (alpha_use_struct_convention): Delete.
- (alpha_gdbarch_init): Register always_use_struct_convention,
- instead of alpha_use_struct_convention.
- * cris-tdep.c (cris_use_struct_convention): Delete.
- (cris_gdbarch_init): Register always_use_struct_convention,
- instead of cris_use_struct_convention.
- * frv-tdep.c (frv_use_struct_convention): Delete.
- (frv_gdbarch_init): Register always_use_struct_convention,
- instead of frv_use_struct_convention.
- * h8300-tdep.c (h8300_use_struct_convention): Delete.
- (h8300_gdbarch_init): Register always_use_struct_convention,
- instead of h8300_use_struct_convention.
- * mips-tdep.c (mips_o32_use_struct_convention): Delete.
- (mips_o32_gdbarch_init): Register always_use_struct_convention,
- instead of mips_o32_use_struct_convention.
+ (sparc64_init_abi): Set extract_struct_value_address. Don't set
+ return_value_on_stack.
-2003-06-12 Andrew Cagney <cagney@redhat.com>
+ * NEWS: Mention that %cs and %ss have been added to the AMD64
+ configurations
- * wince.c: Include "mips-tdep.h".
- * mips-tdep.h (mips_next_pc): Declare.
- * mcore-tdep.c: Make more local functions static.
- * Makefile.in (wince.o): Update dependencies.
+ * frame.c: Update copyright year.
+ (get_prev_frame): Improve comment.
-2003-06-12 David Carlton <carlton@kealia.com>
-
- * symtab.c (lookup_symbol_aux_minsyms): Replace
- DEPRECATED_SYMBOL_NAME by SYMBOL_LINKAGE_NAME.
- (find_pc_sect_line, search_symbols, rbreak_command): Ditto.
- (COMPLETION_LIST_ADD_SYMBOL): Rewrite in terms of
- SYMBOL_NATURAL_NAME.
-
-2003-06-12 Andreas Schwab <schwab@suse.de>
-
- * Makefile.in (tuiDisassem.o): Update dependencies.
-
-2003-06-12 David Carlton <carlton@bactrian.org>
-
- * symtab.h: Delete declaration of make_symbol_overload_list.
- Add declaration of lookup_partial_symbol.
- * symtab.c (remove_params): Move to cp-support.c.
- (overload_list_add_symbol, make_symbol_overload_list)
- (sym_return_val_size, sym_return_val_index): Ditto.
- (lookup_partial_symbol): Make extern.
- * cp-support.h: Add declaration of make_symbol_overload_list.
- * cp-support.c: Include dictionary.h, objfiles.h, frame.h,
- symtab.h, and block.h.
- (remove_params): Move here from symtab.c.
- (overload_list_add_symbol, make_symbol_overload_list)
- (sym_return_val_size, sym_return_val_index): Ditto.
- * valops.c: Include cp-support.h.
- * Makefile.in (cp-support.o): Depend on dictionary_h, objfiles_h,
- frame_h, and block_h.
- (valops.o): Depend on cp_support_h.
-
-2003-06-12 Corinna Vinschen <vinschen@redhat.com>
-
- * h8300-tdep.c: Add H8SX registers. Drop E_NUM_REGS entirely,
- substitute by NUM_REGS throughout.
- (h8300_register_name): Only care for H8/300 and H8/300H registers.
- (h8300s_register_name): New function for H8S registers.
- (h8300sx_register_name): Ditto for H8SX registers.
- (h8300_print_register): Revise register printing, avoid depending
- on 32 bit long.
- (h8300_register_byte): Only care for H8/300 registers.
- (h8300h_register_byte): New function for any other architecture.
- (h8300_register_raw_size): Remove.
- (h8300_register_virtual_type): Revise to return actually useful
- type.
- (h8300_extract_struct_value_address): Only care for H8/300 registers.
- (h8300h_extract_struct_value_address): New function for any other
- architecture.
- (h8300_gdbarch_init): Add h8300sxn. Call set_gdbarch_num_regs,
- set_gdbarch_register_name, set_gdbarch_register_byte,
- set_gdbarch_ptr_bit and set_gdbarch_addr_bit architecture dependent.
- Remove calls to set_gdbarch_deprecated_register_size,
- set_gdbarch_deprecated_register_bytes, set_gdbarch_register_raw_size,
- set_gdbarch_deprecated_max_register_raw_size,
- set_gdbarch_register_virtual_size and
- set_gdbarch_deprecated_max_register_virtual_size entirely.
- Call set_gdbarch_long_long_bit, set_gdbarch_double_bit and
- set_gdbarch_long_double_bit.
-
-2003-06-11 Jeff Johnston <jjohnstn@redhat.com>
-
- * doublest.c (convert_doublest_to_floatformat): When dealing
- with the implied integer bit, only alter mant_bits if we are
- processing a full 32 bits of mantissa.
-
-2003-06-11 David Carlton <carlton@bactrian.org>
-
- * dictionary.h: New.
- * dictionary.c: New.
- * block.h: Add opaque declaration for struct dictionary.
- (struct block): Add 'dict' member; delete 'hashtable', 'nsyms',
- 'sym' members.
- (BLOCK_DICT): New macro.
- Delete macros BLOCK_HASHTABLE, BLOCK_NSYMS, BLOCK_SYM,
- BLOCK_BUCKETS, BLOCK_BUCKET, BLOCK_HASHTABLE_SIZE,
- BLOCK_SHOULD_SORT.
- (ALL_BLOCK_SYMBOLS): Update definition.
- * Makefile.in (SFILES): Add dictionary.c.
- (dictionary_h): New.
- (COMMON_OBS): Add dictionary.o.
- (dictionary.o): New.
- (ada-lang.o): Depend on dictionary_h.
- (buildsym.o, coffread.o, jv-lang.o, mdebugread.o, objfiles.o)
- (stack.o, symmisc.o, symtab.o, tracepoint.o, valops.o)
- (mi-cmd-stack.o): Ditto.
- (gdbtk-cmds.o): Update dependencies.
- (gdbtk-stack.o): Ditto.
- * ada-lang.c: Include dictionary.h.
- (symtab_for_sym): Update uses of ALL_BLOCK_SYMBOLS.
- (fill_in_ada_prototype, debug_print_block): Ditto.
- (ada_add_block_symbols): Update uses of ALL_BLOCK_SYMBOLS; replace
- explicit iteration by use of ALL_BLOCK_SYMBOLS. Delete variable
- 'is_sorted'.
- * mdebugread.c: Include dictionary.h.
- (struct parse_stack): Delete 'maxsyms' member.
- (parse_symbol): Update calls to new_block. Delete calls to
- shrink_block. Use dictionary methods.
- (psymtab_to_symtab_1): Delete calls to sort_symtab_syms.
- Update calls to new_symtab. Don't maintain maxsyms data.
- (mylookup_symbol): Update use of ALL_BLOCK_SYMBOLS.
- (add_symbol): Just call dict_add_symbol.
- (new_symtab): Delete 'maxsyms' argument.
- (new_symtab): Update calls to new_block.
- (new_block): Delete 'maxsyms' argument; add 'function' argument.
- (shrink_block): Delete function.
- (fixup_sigtramp): Update call to new_block. Add symbol via
- dict_add_symbol.
- * jv-lang.c: Include dictionary.h.
- (get_java_class_symtab): Set the BLOCK_DICT of the blocks
- appropriately. Set class_symtab->free_func. Make sure the
- blockvector is big enough to hold two blocks.
- (add_class_symtab_symbol): Use dictionary methods.
- (free_class_block): New function.
- (type_from_class): Replace explicit iteration by
- ALL_BLOCK_SYMBOLS.
- * symtab.h (struct symtab): Replace 'free_ptr' method by
- 'free_func'.
- * dwarf2read.c (psymtab_to_symtab_1): Delete call to
- sort_symtab_syms.
- * dwarfread.c (psymtab_to_symtab_1): Delete call to
- sort_symtab_syms.
- * coffread.c (coff_symfile_read): Delete call to sort_symtab_syms.
- Include dictionary.h.
- (patch_opaque_types): Update use of ALL_BLOCK_SYMBOLS.
- * dbxread.c (dbx_psymtab_to_symtab_1): Delete call to
- sort_symtab_syms.
- * objfiles.c: Include dictionary.h.
- (objfile_relocate): Update use of ALL_BLOCK_SYMBOLS.
- * buildsym.c: Include dictionary.h.
- (finish_block): Use dictionary methods.
- (end_symtab): Set free_func to NULL, not free_ptr.
- * tracepoint.c: Include dictionary.h.
- (add_local_symbols): Update use of ALL_BLOCK_SYMBOLS.
- (scope_info): Ditto.
- * stack.c: Include dictionary.h.
- (print_block_frame_locals): Update use of ALL_BLOCK_SYMBOLS.
- (print_block_frame_labels, print_frame_arg_vars)
- (print_frame_args): Ditto.
- * symmisc.c (free_symtab_block): Use dictionary methods.
- (dump_symtab): Ditto.
- (free_symtab): Replace use of 'free_ptr' by 'free_func'.
- Include dictionary.h.
- * symfile.h: Delete declarations of sort_block_syms,
- sort_symtab_syms.
- * symfile.c (sort_block_syms): Delete.
- (sort_symtab_syms): Delete.
- * symtab.c: Include dictionary.h.
- (lookup_block_symbol): Use dictionary iterators.
- (find_pc_sect_symtab): Update use of ALL_BLOCK_SYMBOLS.
- (search_symbols, make_symbol_completion_list): Ditto.
- (make_symbol_overload_list): Ditto.
- * valops.c (value_of_local): Use dict_empty.
- Include dictionary.h.
-
-2003-06-11 J. Brobecker <brobecker@gnat.com>
-
- * win32-nat.c (solib_symbols_add): Fix a small compilation error.
-
-2003-06-11 David Carlton <carlton@bactrian.org>
-
- * block.h (BLOCK_SHOULD_SORT): Delete.
- * symtab.c (lookup_block_symbol): Don't worry about sorted linear
- blocks.
- * ada-lang.c (ada_add_block_symbols): Ditto.
- * symfile.c (sort_block_syms): Delete.
- (sort_symtab_syms): Ditto.
- * symfile.h: Delete sort_symtabs_syms and sort_block_syms
- declarations.
- * coffread.c (coff_symfile_read): Don't call sort_symtab_syms.
- * dbxread.c (dbx_psymtab_to_symtab_1): Ditto.
- * dwarf2read.c (psymtab_to_symtab_1): Ditto.
- * dwarfread.c (psymtab_to_symtab_1): Ditto.
- * hpread.c (hpread_psymtab_to_symtab_1): Ditto.
- * mdebugread.c (psymtab_to_symtab_1): Ditto.
- * xcoffread.c (xcoff_psymtab_to_symtab_1): Ditto.
-
-2003-06-11 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-tdep.c (ia64_gdbarch_init): Set number of long double
- bits to 128.
-
-2003-06-11 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_REGISTER_CONVERTIBLE): Deprecate
- REGISTER_CONVERTIBLE.
- (DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL): Same.
- (DEPRECATED_REGISTER_CONVERT_TO_RAW): Same, make "from" constant.
- * gdbarch.h, gdbarch.c: Re-generate.
- * arch-utils.h (deprecated_register_convertible_not): Rename
- generic_register_convertible_not.
- * arch-utils.c (deprecated_register_convertible_not): Rename
- generic_register_convertible.
- (legacy_convert_register_p, legacy_register_to_value): Update.
- * sh-tdep.c (sh64_push_arguments): Update.
- * m68klinux-tdep.c (m68k_linux_extract_return_value): Update.
- * config/m68k/tm-delta68.h (DEPRECATED_EXTRACT_RETURN_VALUE): Update.
- * m68klinux-tdep.c (m68k_linux_store_return_value): Update.
- * config/m68k/tm-delta68.h (DEPRECATED_STORE_RETURN_VALUE): Update.
- * arch-utils.c (legacy_value_to_register): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- (rs6000_register_convert_to_raw): Make parameter "from" const.
- * mips-tdep.c (mips_gdbarch_init): Update.
- (mips_register_convert_to_raw): Make parameter"virt_buf" const.
- * infcmd.c (default_print_registers_info): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- (ia64_register_convert_to_raw): Make parameter "from" const.
- * i386-tdep.c (i386_gdbarch_init): Update.
- (i386_register_convert_to_raw): Update.
-
-2003-06-11 Andrew Cagney <cagney@redhat.com>
-
- * remote-fileio.c: Include "remote-fileio.h".
- * Makefile.in (remote-fileio.o): Update dependencies.
- (remote_fileio_h): Fix typo.
-
-2003-06-11 Andrew Cagney <cagney@redhat.com>
-
- * xstormy16-tdep.c (xstormy16_push_return_address): Make static.
- (xstormy16_save_dummy_frame_tos): Make static.
- (_initialize_xstormy16_tdep): Add declaration.
- * vax-tdep.c (_initialize_vax_tdep): Add declaration.
- * v850-tdep.c: Make local functions static.
- (_initialize_v850_tdep): Add declaration.
- * sparc-tdep.c: Make local functions static.
- (_initialize_sparc_tdep): Add declaration.
- * sh-tdep.c: Make local functions static.
- (_initialize_sh_tdep): Add declaration.
- * sh3-rom.c (_initialize_sh3_rom): Add declaration.
- * s390-tdep.c: Make local functions static.
- (_initialize_s390_tdep): Add declaration.
- * dbxread.c (find_stab_function_addr): Make static.
- * ppc-bdm.c (_initialize_bdm_ppc): Add declaration.
- * ocd.c (_initialize_remote_ocd): Add declaration.
- * dink32-rom.c (_initialize_dink32_rom): Add declaration.
- * ppcbug-rom.c (_initialize_ppcbug_rom): Add declaration.
- * ns32k-tdep.c (_initialize_ns32k_tdep): Add declaration.
- * ns32knbsd-tdep.c (_initialize_ns32knbsd_tdep): Add declaration.
- * mips-tdep.c (_initialize_mips_tdep): Add declaration.
- * remote-array.c (_initialize_array): Add declaration.
- (_initialize_remote_monitors): Add declaration.
- * remote-mips.c: Make local functions static.
- (_initialize_remote_mips): Add declaration.
- * mcore-tdep.c: Make all local functions static.
- (_initialize_mcore_tdep): Add declaration.
- * dbug-rom.c (_initialize_dbug_rom): Add declaration.
- * abug-rom.c (_initialize_abug_rom): Add declaration.
- * rom68k-rom.c (_initialize_rom68k): Add declaration.
- * cpu32bug-rom.c (_initialize_cpu32bug_rom): Add declaration.
- * m68k-tdep.c (_initialize_m68k_tdep): Add declaration.
- * remote-est.c (_initialize_est): Add declaration.
- * m68hc11-tdep.c (_initialize_m68hc11_tdep): Add declaration.
- (m68hc11_call_dummy_address): Make static.
- * ia64-tdep.c: Make local functions static.
- (_initialize_ia64_tdep): Add declaration.
- * solib-legacy.c (_initialize_svr4_lm): Add declaration.
- * monitor.c (monitor_wait_filter): Make static.
- (_initialize_remote_monitors): Add declaration.
- * remote-hms.c (_initialize_remote_hms): Add declaration.
- * remote-e7000.c (fetch_regs_from_dump): Make static.
- (expect_n): Make static.
- (_initialize_remote_e7000): Add declaration.
- * ser-e7kpc.c: Always include "defs.h".
- (_initialize_ser_e7000pc): Add declaration.
- * h8300-tdep.c (_initialize_h8300_tdep): Add declaration.
- * cris-tdep.c: Make all but one function static.
- (_initialize_cris_tdep): Add declaration.
- * solib-svr4.c (_initialize_svr4_solib): Add declaration.
- * solib.c (update_solib_list): Make static.
- (_initialize_solib): Add declaration.
- * avr-tdep.c (avr_breakpoint_from_pc): Make static.
- (_initialize_avr_tdep): Add declaration.
- * remote-rdi.c (voiddummy): Make static.
- (_initialize_remote_rdi): Add declaration.
- * arm-tdep.c (_initialize_arm_tdep): Add declaration.
- * remote-rdp.c (send_rdp): Make static.
- (_initialize_remote_rdp): Add declaration.
- * alpha-tdep.c (_initialize_alpha_tdep): Add declaration.
-
-2003-06-11 Corinna Vinschen <vinschen@redhat.com>
-
- * remote-fileio.c: Make ari happy.
-
-2003-06-10 J. Brobecker <brobecker@gnat.com>
-
- * rs6000-nat.c (child_xfer_memory): Compute the right address when
- fetching the trailing bytes of the buffer we are about to write.
-
-2003-06-10 Andrew Cagney <cagney@redhat.com>
-
- * remote-fileio.h (REMOTE_FILEIO_H): Replace FILEIO_H.
- * Makefile.in (remote-fileio.o): Update dependencies.
- * remote-fileio.c: Include "gdb_wait.h" and "gdb_stat.h". Do not
- include <setjmp.h>, or <sys/types.h> conditional on USG.
- (remote_fio_jmp_buf): Delete global variable.
-
-2003-06-10 Corinna Vinschen <vinschen@redhat.com>
- Martin M. Hunt <hunt@redhat.com>
-
- * Makefile.in (REMOTE_OBS): Add remote-fileio.o
- (SFILES): Add remote-fileio.c.
- Add dependencies for building remote-fileio.o. Add remote-fileio.h to
- dependencies for building remote.o.
- * remote-fileio.c: New file implementing the remote File-I/O protocol.
- * remote-fileio.h: New header file defining remote File-I/O interface.
- * remote.c (remote_write_bytes, remote_read_bytes): Remove
- static storage class.
- (remote_wait, remote_async_wait): Call remote_fileio_request() on
- 'F' packet.
- (_initialize_remote): Call initialize_remote_fileio().
- * remote.h: Declare remote_write_bytes() and remote_read_bytes().
- * defs.h: Declare gdb_stdin, gdb_stdtargerr and gdb_stdtargin.
- * main.c: New ui_file gdb_stdin, gdb_stdtargerr and gdb_stdtargin.
- (captured_main): Initialize new ui_files.
- * ui-file.c: Add read and fgets input functions.
- (ui_file_new): set ui_file_fputs and ui_file_read to null functions.
- (null_file_read): New function.
- (ui_file_read): New function.
- (set_ui_file_read): New function.
- (stdio_file_read): New function.
- * ui-file.h: New type ui_file_read_ftype.
- (set_ui_file_read): Declare.
- (ui_file_read): Declare.
-
-2003-06-09 Andrew Cagney <cagney@redhat.com>
-
- * frame.h (deprecated_unwind_get_saved_register): Rename
- generic_unwind_get_saved_register, update comments.
- * mips-tdep.c (mips_get_saved_register): Update.
- * frame.c (deprecated_unwind_get_saved_register): Update.
-
-2003-06-09 Andrew Cagney <cagney@redhat.com>
-
- * vax-tdep.c (vax_frame_locals_address): Delete function.
- (vax_gdbarch_init): Do not set frame_locals_address.
- * m68hc11-tdep.c (m68hc11_frame_locals_address): Delete function.
- (m68hc11_gdbarch_init): Do not set frame_locals_address.
- * s390-tdep.c (s390_frame_args_address): Delete function.
- (s390_gdbarch_init): Do not set frame_args_address or
- frame_locals_address.
- * ns32k-tdep.c (ns32k_frame_locals_address): Delete.
- (ns32k_gdbarch_init): Do not set frame_locals_address.
- * hppa-tdep.c (hppa_frame_args_address): Delete function.
- (hppa_frame_locals_address): Delete function.
- (hppa_gdbarch_init): Do not set frame_args_address, or
- frame_locals_address.
- * arm-tdep.c (arm_frame_args_address): Delete.
- (arm_frame_locals_address): Delete.
- (arm_gdbarch_init): Do not set frame_args_address, or
- frame_locals_address.
-
-2003-06-09 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (FRAME_NUM_ARGS): Change to function with predicate.
- * gdbarch.h, gdbarch.c: Re-generate.
- * arch-utils.h (frame_num_args_unknown): Delete both declarations.
- * arch-utils.c (frame_num_args_unknown): Delete function.
- * stack.c (print_args_stub): Use FRAME_NUM_ARGS_P.
- (frame_info): Use FRAME_NUM_ARGS_P.
- * arm-tdep.c (arm_frame_num_args): Delete function.
- (arm_gdbarch_init): Do not set frame_num_args.
- * config/pa/tm-hppa64.h (FRAME_NUM_ARGS): Delete.
- * hppa-tdep.c (hppa_frame_num_args): Delete function.
- (hppa_gdbarch_init): Do not set frame_num_args.
- * config/sparc/tm-sparc.h (FRAME_NUM_ARGS): Delete.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
- frame_num_args to default frame_num_args_unknown.
- * v850-tdep.c (v850_gdbarch_init): Ditto.
- * sparc-tdep.c (sparc_gdbarch_init): Ditto.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * mips-tdep.c (mips_gdbarch_init): Ditto.
- * mcore-tdep.c (mcore_gdbarch_init): Ditto.
- * m68k-tdep.c (m68k_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * i386-tdep.c (i386_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * d10v-tdep.c (d10v_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * avr-tdep.c (avr_gdbarch_init): Ditto.
- * alpha-tdep.c (alpha_gdbarch_init): Ditto.
-
-2003-06-09 Andrew Cagney <cagney@redhat.com>
-
- * printcmd.c (print_frame_nameless_args): Moved to "stack.c".
- (print_frame_args): Moved to "stack.c".
- * stack.c: Include "gdb_assert.h".
- (print_frame_nameless_args): Moved from "printcmd.c", made static.
- (print_frame_args): Moved from "printcmd.c".
- * frame.h (print_frame_args): Delete declaration.
- * Makefile.in (stack.o): Update dependencies.
-
-2003-06-08 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_prev_frame): Remove reference to
- frame_args_address_correct in comments.
- * frame-base.c (default_frame_args_address): Delete code
- conditional on FRAME_ARGS_ADDRESS_CORRECT.
- * vax-tdep.c (vax_frame_args_address_correct): Delete.
- (vax_frame_args_address): Merge in vax_frame_args_address_correct.
- * config/vax/tm-vax.h (FRAME_ARGS_ADDRESS_CORRECT): Delete
- (vax_frame_args_address_correct): Delete declaration.
-
-2003-06-08 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (UNWIND_SP): Add.
- * gdbarch.h, gdbarch.c: Re-generate.
- * frame.c (frame_sp_unwind): New function.
- (get_frame_sp): New function.
- * frame.h (get_frame_sp, frame_sp_unwind): Declare.
- * regcache.c (read_sp): Rewrite, try each of TARGET_READ_SP,
- gdbarch_unwind_sp and SP_REGNUM when looking for the SP register
- value.
- * d10v-tdep.c (d10v_unwind_sp): Replace d10v_read_sp.
- (d10v_gdbarch_init): Set unwind_sp instead of read_sp.
-
-2003-06-08 Andrew Cagney <cagney@redhat.com>
-
- Deprecate BIG_REMOTE_BREAKPOINT, LITTLE_REMOTE_BREAKPOINT and
- REMOTE_BREAKPOINT.
- * remote.c: Update.
- * config/sh/tm-sh.h (DEPRECATED_BIG_REMOTE_BREAKPOINT): Update.
- (DEPRECATED_LITTLE_REMOTE_BREAKPOINT): Update.
- * config/m68k/tm-sun3.h: Update.
- * config/m68k/tm-m68klynx.h: Update.
- * config/h8300/tm-h8300.h (DEPRECATED_REMOTE_BREAKPOINT): Update.
-
- * trad-frame.h (struct trad_frame_saved_reg): Rename "struct
- trad_frame". Update comments.
- * d10v-tdep.c (struct d10v_unwind_cache): Update.
- * trad-frame.c (trad_frame_alloc_saved_regs): Update.
- (trad_frame_register_value, trad_frame_prev_register): Update.
-
-2003-06-08 Andrew Cagney <cagney@redhat.com>
-
- * acinclude.m4 (gcc_AC_CHECK_DECL, (gcc_AC_CHECK_DECL): Stolen
- from GCC's acinclude.m4.
- * configure.in: Check for getopt's delcaration.
- * aclocal.m4, config.in, configure: Re-generate.
- * main.c (error_init): Delete declaration.
- * defs.h (error_init): Declare.
- * rs6000-tdep.c (rs6000_fetch_pointer_argument): Make static.
- (rs6000_convert_from_func_ptr_addr): Make static.
- (_initialize_rs6000_tdep): Add declaration.
- * cli/cli-cmds.c (dont_repeat): Delete declaration.
- (show_commands, set_verbose, show_history): Delete declaration.
- * top.h (set_verbose): Add declaration.
- (show_history, set_history, show_commands): Add declaration.
- (do_restore_instream_cleanup): Add declaration.
- * objc-lang.c (specialcmp): Make static.
- (print_object_command): Make static.
- (find_objc_msgsend): Make static.
- (find_objc_msgcall_submethod_helper): Make static.
- (find_objc_msgcall_submethod): Make static.
- (_initialize_objc_language): Add declaration.
- (find_implementation_from_class): Make static.
- (find_implementation): Make static.
- * objc-exp.y (yylex): Delete lookup_struct_typedef declaration.
- * objc-lang.h (lookup_struct_typedef): Add declaration.
- * cli/cli-interp.c (_initialize_cli_interp): Add declaration.
- * cli/cli-script.c (clear_hook_in_cleanup): Make static.
- (do_restore_user_call_depth): Make static.
- (do_restore_instream_cleanup): Delete declaration.
- (dont_repeat): Delete declaration.
- * cli/cli-decode.c (add_abbrev_cmd): Delete function.
- * cli/cli-dump.c (_initialize_cli_dump): Add declaration.
- * reggroups.c (_initialize_reggroup): Add declaration.
- * cp-support.c (_initialize_cp_support): Add declaration.
- * cp-abi.c (_initialize_cp_abi): Add declaration.
- * hpacc-abi.c (_initialize_hpacc_abi): Add declaration.
- * gnu-v3-abi.c (gnuv3_baseclass_offset): Make static.
- (_initialize_gnu_v3_abi): Add declaration.
- * gnu-v2-abi.c (gnuv2_value_rtti_type): Make static.
- (_initialize_gnu_v2_abi): Add declaration.
- * frame-base.c (_initialize_frame_base): Add declaration.
- * doublest.c (floatformat_from_length): Make static.
- * frame-unwind.c (_initialize_frame_unwind): Add declaration.
- * frame.c (create_sentinel_frame): Make static.
- (_initialize_frame): Add declaration.
- * top.c (do_catch_errors): Make static.
- (gdb_rl_operate_and_get_next_completion): Make static.
- * typeprint.c: Include "typeprint.h".
- * sentinel-frame.c (sentinel_frame_prev_register): Make static.
- (sentinel_frame_this_id): Make static.
- * p-valprint.c (_initialize_pascal_valprint): Add declaration.
- * ui-out.c (make_cleanup_ui_out_begin_end): Delete function.
- * dwarf2-frame.c (dwarf2_frame_cache): Make static.
- * p-exp.y (push_current_type, pop_current_type): ISO C declaration.
- * dwarf2expr.h (dwarf_expr_context): ISO C declaration.
- * maint.c (maintenance_print_architecture): Make static.
- * signals/signals.c (_initialize_signals): Add declaration.
- * std-regs.c (_initialize_frame_reg): Add declaration.
- * jv-exp.y (push_variable): ISO C definition.
- (push_qualified_expression_name): Ditto.
- * memattr.c (_initialize_mem): Add declaration.
- * remote.c (remote_check_watch_resources): Make static.
- (remote_stopped_by_watchpoint): Make static.
- (remote_stopped_data_address): Make static.
- * d10v-tdep.c (nr_dmap_regs): Make static.
- (a0_regnum): Make static.
- (d10v_frame_unwind_cache): Make static.
- (d10v_frame_p): Make static.
- * osabi.c (show_osabi): Make static.
- (_initialize_gdb_osabi): Add extern declaration.
- * gdbtypes.c (make_qualified_type): Make static.
- (safe_parse_type): Make static.
- * macrocmd.c (_initialize_macrocmd): Add extern declaration.
- * macrotab.c (macro_bcache_free): Make static.
- * interps.c (interp_set_quiet): Make static.
- (interpreter_exec_cmd): Make static.
- * stack.h (select_frame_command): New file.
- * stack.c: Include "stack.h".
- (select_frame_command_wrapper): Delete function.
- (select_frame_command): Make global.
- * infcall.c: Include "infcall.h".
- * linespec.c: Include "linespec.h".
- * symfile.c (sections_overlap): Make static.
- * cp-support.h (cp_initialize_namespace): ISO C declaration.
- * charset.c (_initialize_charset): Add missing prototype.
- * regcache.c (init_legacy_regcache_descr): Make static.
- (do_regcache_xfree): Make static.
- (regcache_xfer_part): Make static.
- (_initialize_regcache): Add missing prototype.
- * breakpoint.c (parse_breakpoint_sals): Make static.
- (breakpoint_sals_to_pc): Make static.
- * interps.h (clear_interpreter_hooks): ISO C declaration.
- * Makefile.in (stack_h): Define.
- (stack.o, typeprint.o, mi-main.o): Update dependencies.
- (mi-cmd-stack.o, infcall.o, linespec.o): Update dependencies.
-
-2003-06-08 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (d10v-tdep.o): Update dependencies.
- (SFILES): Add trad-frame.c.
- (trad_frame_h): Define.
- (COMMON_OBS): Add trad-frame.o.
- (trad-frame.o): Specify dependencies.
- * d10v-tdep.c: Include "trad-frame.h".
- (saved_regs_unwinder): Delete function.
- (d10v_frame_prev_register): Use trad_frame_prev_register.
- (struct d10v_unwind_cache): Change type of "saved_regs" to "struct
- trad_frame", delete "regs" and "prev_sp".
- (prologue_find_regs): Use trad-frame.
- * trad-frame.h, trad-frame.c: New files.
-
-2003-06-08 Mark Kettenis <kettenis@gnu.org>
-
- * dwarf2cfi.c, dwarf2cfi.h: Remove.
-
-2003-06-07 Adam Fedor <fedor@gnu.org>
-
- * gdb/objc-lang.c (FETCH_ARGUMENT): Remove macro.
- (OBJC_FETCH_POINTER_ARGUMENT): Shorthand macro for
- using FETCH_POINTER_ARGUMENT with Objective-C method arguments.
- (find_implementation, resolve_msgsend, resolve_msgsend_stret,
- resolve_msgsend_super, resolve_msgsend_super_stret):
- Use it.
-
-2003-06-07 Andrew Cagney <cagney@redhat.com>
-
- * symfile.h: Re-indent, clean up comments.
-
-2003-06-07 Andrew Cagney <cagney@redhat.com>
-
- * inferior.h (deprecated_write_sp): Replace
- generic_target_write_sp.
- * regcache.c (deprecated_write_sp): Replace
- generic_target_write_sp.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * config/pa/tm-hppa.h (DEPRECATED_DUMMY_WRITE_SP): Update.
-
-2003-06-07 Andrew Cagney <cagney@redhat.com>
-
- * dwarf2-frame.c (dwarf2_frame_cache): Add comments on PC_REGNUM.
- Assert that PC_REGNUM is valid.
- (dwarf2_frame_prev_register): Add comments on SP_REGNUM.
-
-2003-06-07 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (TARGET_READ_SP): Add predicate, delete default.
- * gdbarch.h, gdbarch.c: Regenerate.
- * mn10300-tdep.c: Include "gdb_assert.h".
- (mn10300_read_fp): New function.
- (mn10300_gdbarch_init): Set deprecated_target_read_fp to
- mn10300_read_fp. Do not set read_sp to generic_target_read_sp.
- * ia64-tdep.c: Include "gdb_assert.h".
- (ia64_read_fp): New function.
- (ia64_gdbarch_init): Set deprecated_target_read_fp to
- ia64_read_sp. Do not set read_sp to generic_target_read_sp.
- * regcache.c (generic_target_read_sp): Delete function.
- (read_sp): Try TARGET_READ_SP and SP_REGNUM for the SP register.
- * inferior.h (generic_target_read_sp): Delete declaration.
- * frv-tdep.c (frv_gdbarch_init): Do not set read_sp to
- generic_target_read_sp.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * sparc-tdep.c (sparc_gdbarch_init): Ditto
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * Makefile.in (mn10300-tdep.o, ia64-tdep.o): Update dependencies.
-
-2003-06-07 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Comment each field of startup_gdbarch.
- * gdbarch.h, gdbarch.c: Re-generate.
-
-2003-06-07 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (TARGET_READ_PC): Add predicate, remove default.
- * gdbarch.h, gdbarch.c: Re-generate.
- * regcache.c: Update comments on read_pc et.al.
- (generic_target_read_pc): Delete function.
- (read_pc_pid): Try TARGET_READ_PC and PC_REGNUM for a PC register.
- * inferior.h (generic_target_read_pc): Delete declaration.
- * frv-tdep.c (frv_gdbarch_init): Do not set read_pc to
- generic_target_read_pc.
- * sparc-tdep.c (sparc_gdbarch_init): Ditto.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
-
-2003-06-07 Andrew Cagney <cagney@redhat.com>
-
- * elfread.c (elf_symtab_read): Replace "special_local_sym_p" and
- "index" with "special_local_sect". Use strcmp instead of STREQ.
- Append period to coments.
-
-2003-06-06 Mark Mitchell <mark@codesourcery.com>
-
- * elfread.c (elf_symtab_read): Avoid use of SECT_OFF_MAX.
- (elfstab_offset_sections): Likewise.
- * gdb-stabs.h (stab_section_info): Likewise.
- * i386-interix-tdep.c (pei_adjust_objfile_offsets): Likewise.
- * objfiles.c (objfile_relocate): Likewise.
- * pa64solib.c (pa64_solib_add_solib_objfile): Likewise.
- * remote.c (get_offsets): Likewise.
- (remote_cisco_objfile_relocate): Likewise.
- * somread.c (som_symfile_offsets): Likewise.
- * symfile.c (alloc_section_addr_info): New function.
- (build_section_addr_info_from_section_tab): Use it.
- (free_section_addr_info): Adjust.
- (default_symfile_offsets): Avoid use of SECT_OFF_MAX.
- (syms_from_objfile): Allocate local_addr dynamically.
- (symbol_file_add_with_addrs_or_offsets): Allocate orig_addrs
- dynamically.
- (add_symbol_file_command): Allocate sect_opts dynamically.
- (reread_symbols): Avoid use of SECT_OFF_MAX.
- * symfile.h (section_addr_info): Do not use MAX_SECTIONS.
- (alloc_section_addr_info): Declare it.
- * symtab.h (SIZEOF_SECTION_OFFSETS): Remove.
- * win32-nat.c (solib_symbols_add): Allocate section_addrs
- dynamically.
- * xcoffread.c (xcoff_symfile_offsets): Avoid use of SECT_OFF_MAX.
-
-2003-06-06 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (struct d10v_unwind_cache): Delete "return_pc".
- (d10v_frame_unwind_cache): Do not set "return_pc".
-
-2003-06-06 Michael Snyder <msnyder@redhat.com>
-
- * h8300-tdep.c: Make tidy (long lines).
-
-2003-06-06 Michal Ludvig <mludvig@suse.cz>
-
- * x86-64-tdep.c (x86_64_fill_fxsave): Pass correct regnums
- to regcache_collect().
-
-2003-06-05 J. Brobecker <brobecker@gnat.com>
-
- * hppa-hpux-tdep.c (hppa_hpux_init_abi): New function, setting
- pc_in_sigtramp multiarch method.
- (hppa_hpux_som_init_abi): Use it.
- (hppa_hpux_elf_init_abi): Likewise.
- * config/pa/tm-hppah.h (PC_IN_SIGTRAMP): Remove, now that this
- macro has been multiarched.
- * config/pa/tm-hppa64.h (PC_IN_SIGTRAMP): Temporarily set this
- macro here, as hppa64 isn't multiarched yet.
-
-2003-06-05 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (value_h): Add $(frame_h).
- * value.h: Include "frame.h".
- (struct value): Replace "frame_addr" with "frame_id".
- (VALUE_FRAME_ID): Replace VALUE_FRAME.
- * values.c (allocate_value): Use VALUE_FRAME_ID.
- (value_copy): Use VALUE_FRAME_ID.
- * findvar.c (value_from_register): Use VALUE_FRAME_ID.
- * valops.c (value_assign): Update. Use frame_find_by_id.
-
-2003-06-05 Michal Ludvig <mludvig@suse.cz>
-
- * x86-64-tdep.c (x86_64_push_arguments): Don't clear offset
- in each pass.
-
-2003-06-05 Jeff Johnston <jjohnstn@redhat.com>
-
- * thread-db.c (check_event): For create/death event breakpoints,
- loop through all messages to ensure that we read the message
- corresponding to the breakpoint we are at.
-
-2003-06-04 Michael Snyder <msnyder@redhat.com>
-
- * h8300-tdep.c (h8300_gdbarch_init): Add h8300hn, h8300sn.
-
-2003-06-04 Mark Kettenis <kettenis@gnu.org>
-
- * dwarf2-frame.c (struct comp_unit): Add member `dbase'.
- (read_encoded_value): Handle DW_EH_PE_datarel encoding.
- (dwarf2_build_frame_info): Set base for DW_EH_PE_datarel encodings
- when handling .eh_frame sections.
-
-2003-06-04 J. Brobecker <brobecker@gnat.com>
-
- * config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Use the generic
- prepare_to_proceed procedure instead of the hppa-specific one.
- * hppa-tdep.c (hppa_prepare_to_proceed): Remove, no longer used.
-
-2003-06-04 Jeff Johnston <jjohnstn@redhat.com>
-
- * acconfig.h: Add HAVE_TKILL_SYSCALL definition check.
- * config.in: Regenerated.
- * configure.in: Add test for syscall function and check for
- __NR_tkill macro in <syscall.h> to set HAVE_TKILL_SYSCALL.
- * configure: Regenerated.
- * lin-lwp.c [HAVE_TKILL_SYSCALL]: Include <unistd.h> and
- <sys/syscall.h>.
- (kill_lwp): New function that uses tkill syscall or
- uses kill, depending on whether threading model is nptl or not.
- All callers of kill() changed to use kill_lwp().
- (lin_lwp_wait): Make special check when WIFEXITED occurs to
- see if all threads have already exited in the nptl model.
- (stop_and_resume_callback): New callback function used by the
- lin_lwp_wait thread exit handling code.
- (stop_wait_callback): Check for threads already having exited and
- delete such threads fromt the lwp list when discovered.
- (stop_callback): Don't assert retcode of kill call.
-
- Roland McGrath <roland@redhat.com>
- * i386-linux-nat.c (ps_get_thread_area): New function needed by
- nptl libthread_db.
-
-2003-06-03 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_next_pc): Use alpha_read_insn.
- (alpha_sigtramp_frame_this_id): Use get_frame_memory.
- (alpha_sigtramp_frame_prev_register): Likewise.
- (alpha_heuristic_frame_prev_register): Likewise.
- * alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Likewise.
-
- * alpha-mdebug-tdep.c (alpha_mdebug_after_prologue): Use
- alpha-specific register id names.
- (alpha_mdebug_frame_unwind_cache): Likewise.
- (alpha_mdebug_frame_prev_register): Likewise.
-
-2003-06-03 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_dwarf2_init_abi): New.
- * alpha-tdep.h (alpha_dwarf2_init_abi): Declare it.
- * alpha-linux-tdep.c (alpha_linux_init_abi): Use it.
- * alphafbsd-tdep.c (alphafbsd_init_abi): Register dwarf2 and mdebug
- unwind routines.
- * alphanbsd-tdep.c (alphanbsd_init_abi): Likewise.
- * config/alpha/fbsd.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
- * config/alpha/nbsd.mt (TDEPFILES): Likewise.
-
- * alpha-linux-tdep.c: Remove unnecessary includes.
- * Makefile.in (alpha-linux-tdep.o): Update.
-
-2003-06-03 Richard Henderson <rth@redhat.com>
-
- * alphabsd-tdep.c (alphabsd_supply_fpreg): Fix typo last change.
- (alphabsd_fill_fpreg): Likewise.
-
-2003-06-03 J. Brobecker <brobecker@gnat.com>
-
- * alphanbsd-tdep.c (alphanbsd_sigcontext_addr): Replace
- references to struct frame_info fields by calls to the equivalent
- accessors. Necessary now that frame_info is opaque.
-
-2003-06-03 J. Brobecker <brobecker@gnat.com>
-
- * alphanbsd-tdep.c (alphanbsd_skip_sigtramp_frame): Delete.
- (alphanbsd_init_abi): Do not set skip_sigtramp_frame in tdep
- structure, field no longer exists.
-
-2003-06-03 J. Brobecker <brobecker@gnat.com>
-
- * config/alpha/alpha-osf1.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
- * alpha-osf1-tdep.c (alpha_osf1_init_abi): Enable the mdebug module.
-
-2003-06-03 J. Brobecker <brobecker@gnat.com>
-
- * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Replace
- references to struct frame_info fields by calls to the equivalent
- accessors. Necessary now that frame_info is opaque.
-
-2003-06-03 J. Brobecker <brobecker@gnat.com>
-
- * alpha-osf1-tdep.c (alpha_osf1_skip_sigtramp_frame): Delete.
- (alpha_osf1_init_abi): Do not set skip_sigtramp_frame in tdep
- structure, field no longer exists.
-
-2003-06-03 Theodore A. Roth <troth@openavr.org>
-
- * remote.c (init_remote_state): Compute sizeof_g_packet by
- accumulation of the size of all registers instead of blindly using
- DEPRECATED_REGISTER_BYTES.
-
-2003-06-03 Michael Snyder <msnyder@redhat.com>
-
- * config/h8300/tm-h8300.h (h8300sxmode): Declare.
- * h8300-tdep.c (h8300_gdbarch_init): Set machine mode
- for h8300sx.
-
-2003-06-03 J. Brobecker <brobecker@gnat.com>
-
- * alpha-osf1-tdep.c (objfiles.h): #include, needed for symfile_objfile.
- * Makefile.in (alpha-osf1-tdep.o): Update dependencies.
-
-2003-06-03 Andrew Cagney <cagney@redhat.com>
-
- * sparc-tdep.c (sparc_convert_to_virtual): Delete function.
- (sparc_convert_to_raw): Delete function.
- (sparc_gdbarch_init): Do not set register_convert_to_raw or
- register_convert_to_virtual.
-
-2003-06-03 Jeff Johnston <jjohnstn@redhat.com>
-
- * thread-db.c (thread_db_mourn_inferior): Unpush thread target
- layer if not dealing with a statically-linked threaded program.
-
-2003-06-03 Kris Warkentin <kewarken@qnx.com>
-
- * solib.c (solib_open): Update comment to reflect actual search order.
-
-2003-06-03 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_frame_memory_signed): New function.
- (get_frame_memory, get_frame_memory_unsigned): New function.
- (get_frame_arch): New function.
- * frame.h (get_frame_signed_memory, get_frame_arch): Declare.
- (get_frame_memory, get_frame_unsigned_memory): Declare.
- * d10v-tdep.c (d10v_frame_unwind_cache): Use
- get_frame_memory_unsigned and get_frame_arch.
- (d10v_frame_unwind_cache, saved_regs_unwinder): Ditto.
-
-2003-06-03 Raoul Gough <RaoulGough@yahoo.co.uk>
-
- * MAINTAINERS (write after approval): Add myself.
-
-2003-06-03 Jim Blandy <jimb@redhat.com>
-
- * s390-nat.c (supply_gregset, fill_gregset): On the s390x, the
- elements of gregset_t are 64 bits each, but access registers
- are still 32 bits, so they're packed two per gregset_t
- element. Unpack/pack them properly.
-
-2003-06-02 David Carlton <carlton@bactrian.org>
-
- * linespec.c (find_methods): Break out code into
- add_matching_methods and add_constructors.
- (add_matching_methods): New.
- (add_constructors): Ditto.
-
-2003-06-02 Andrew Cagney <cagney@redhat.com>
-
- * sparc-tdep.c (sparc_print_registers): Delete call to
- REGISTER_CONVERTIBLE.
- (sparc_gdbarch_init): Do not set register_convertible.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
-
-2003-06-02 Elena Zannoni <ezannoni@redhat.com>
-
- * target.h (TARGET_SYMFILE_POSTREAD): Delete unused macro.
- * symfile.c (reread_symbols): Delete call to TARGET_SYMFILE_POSTREAD.
- (syms_from_objfile): Ditto.
-
-2003-06-03 Andreas Schwab <schwab@suse.de>
-
- * m68k-tdep.c (m68k_gdbarch_init): Use set_gdbarch_print_insn ...
- (_initialize_m68k_tdep): ... instead of deprecated_tm_print_insn.
-
-2003-06-02 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_register_reggroup_p): Zero is only
- a member of all_reggroup.
-
-2003-06-02 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_register_type): Change from _virtual_type.
- (alpha_convert_flt_dbl, alpha_convert_dbl_flt): Remove.
- (alpha_lds, alpha_sts): New.
- (alpha_convert_register_p): Change from _register_convertible.
- (alpha_register_to_value): Change from _convert_to_virtual;
- restructure and fail for type sizes other than 4 or 8.
- (alpha_value_to_register): Similarly.
- (alpha_extract_return_value): Use alpha_sts.
- (alpha_store_return_value): Use alpha_lds.
- (alpha_gdbarch_init): Update hooks.
-
-2003-06-02 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_register_virtual_type): Use alpha-specific
- regnum identifiers.
- (alpha_sigtramp_register_address): Likewise.
-
-2003-06-02 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_supply_int_regs, alpha_fill_int_regs): New.
- (alpha_supply_fp_regs, alpha_fill_fp_regs): New.
- * alpha-tdep.h: Declare them.
-
- * alpha-nat.c (fetch_osf_core_registers): Constify core_reg_mapping.
- Remove zerobuf. Don't error on UNIQUE.
- (fetch_elf_core_registers): Use alpha_supply_{int,fp}_regs.
- (ALPHA_REGSET_UNIQUE): Provide default.
- (supply_gregset): Use alpha_supply_int_regs.
- (fill_gregset): Use alpha_fill_int_regs.
- (supply_fpregset): Use alpha_supply_fp_regs.
- (fill_fpregset): Use alpha_fill_fp_regs.
- * alphabsd-tdep.c (NUM_GREGS, NUM_FPREGS): Remove.
- (alphabsd_supply_reg): Use alpha_supply_int_regs.
- (alphabsd_fill_reg): Use alpha_fill_int_regs.
- (alphabsd_supply_fpreg): Use alpha_supply_fp_regs.
- (alphabsd_fill_fpreg): Use alpha_fill_fp_regs.
- * config/alpha/nm-linux.h (ALPHA_REGSET_UNIQUE): New.
-
-2003-06-02 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_store_return_value): Avoid switch fallthru.
-
- * alpha-tdep.c (alpha_extract_return_value): Use internal_error.
- (alpha_store_return_value): Likewise.
-
-2003-06-02 David Carlton <carlton@math.stanford.edu>
-
- * block.c (contained_in): Add 'const' to arguments.
- (block_function): Ditto.
- * block.h: Update declarations for block_function and
- contained_in.
-
-2003-06-02 David Carlton <carlton@math.stanford.edu>
-
- * objc-lang.c (find_imps): Delete unneeded variable 'sym_symtab'.
- * c-valprint.c (c_val_print): Delete unneeded variable 's'.
- * p-valprint.c (pascal_val_print): Ditto.
- * ada-lang.c (standard_lookup): Delete unneded variable 'symtab'.
-
-2003-06-02 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_push_dummy_call): Use
- builtin_type_ieee_double_little instead of builtin_type_double.
-
- * alpha-tdep.c (alpha_push_dummy_call): Handle ABI mandated
- sign-extension of 32-bit values.
- (alpha_store_return_value): Similarly.
-
- * alpha-tdep.c (alpha_push_dummy_call): Handle COMPLEX types.
- (alpha_extract_return_value): Likewise.
- (alpha_store_return_value): Likewise.
-
- * alpha-tdep.c (alpha_extract_return_value): Handle IEEE Quad floats.
- (alpha_store_return_value): Error on IEEE Quad floats.
-
- * alpha-tdep.c (alpha_extract_return_value): Convert to regcache.
- (alpha_extract_struct_value_address): Likewise.
- (alpha_store_return_value): Likewise.
- (alpha_store_struct_return): Remove.
- (alpha_gdbarch_init): Update hook registration to match.
-
- * alpha-tdep.c (alpha_register_convert_to_virtual): Tidy use of
- deprecated interfaces; use ALPHA_REGISTER_SIZE instead of gdbarch
- macros where appropriate.
- (alpha_register_convert_to_raw): Similarly. Use unpack_long.
- (alpha_convert_flt_dbl, alpha_convert_dbl_flt): New.
-
- * alpha-tdep.c (alpha_register_virtual_type): Use void_data_ptr
- for SP, GP; void_func_ptr for PC; non-language-specific types
- for all others.
- * alpha-tdep.h (ALPHA_GP_REGNUM): New.
-
-2003-06-02 Richard Henderson <rth@redhat.com>
-
- * top.h (lim_at_start): Declare.
- * main.c (captured_main): Set it.
- * top.c (lim_at_start): Define.
- (command_loop): Use it instead of &environ.
- * event-top.c (command_handler): Likewise.
-
-2003-06-01 Jason Thorpe <thorpej@wasabisystems.com>
-
- * mipsnbsd-tdep.c: Update copyright years.
- (fetch_core_registers): Correct arguments to mipsnbsd_supply_fpreg.
-
-2003-06-01 Richard Henderson <rth@redhat.com>
-
- * Makefile.in (ALLDEPFILES): Add alpha-mdebug-tdep.c.
- (alpha-linux-tdep.o): Update dependencies.
- (alpha-nat.o, alpha-tdep.o, alpha-mdebug-tdep.o): Likewise.
- * alpha-mdebug-tdep.c: Remove unneeded includes.
-
-2003-06-01 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_register_reggroup_p): New.
- (alpha_gdbarch_init): Register it.
-
-2003-06-02 Andrew Cagney <cagney@redhat.com>
-
- * dwarfread.c: Eliminate "register"
- (decode_die_type): Eliminate assignment within "if".
- (struct_type, decode_array_element_type): Ditto.
- (dwarf_read_array_type, read_tag_pointer_type): Ditto.
- (read_subroutine_type, enum_type, add_enum_psymbol): Ditto.
- (decode_modified_type, completedieinfo): Ditto.
- * block.c: Eliminate "register".
- (blockvector_for_pc_sect): Eliminate assignment within "if".
- * cp-support.h (struct symbol): Opaque declaration.
- * breakpoint.c (handle_gnu_v3_exceptions): Use xfree, not free.
-
-2003-06-01 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_gdbarch_init): Use set_gdbarch_print_insn ...
- (_initialize_alpha_tdep): ... not deprecated_tm_print_insn.
-
-2003-06-01 Adam Fedor <fedor@gnu.org>
-
- * gdbarch.sh (function_list): Add FETCH_POINTER_ARGUMENT.
- * gdbarch.[ch]: Regenerate.
- * hppa-tdep.c (hppa_fetch_pointer_argument): New function.
- (hppa_gdbarch_init): Set it in the gdbarch vector.
- * i386-tdep.c (i386_fetch_pointer_argument): New
- (i386_gdbarch_init): Set it into gdbarch.
- * rs6000-tdep.c (rs6000_fetch_pointer_argument): New.
- (rs6000_gdbarch_init): Set it in gdbarch.
- * sparc-tdep.c (sparc_fetch_pointer_argument): New
- (sparc_gdbarch_init): Set it in gdbarch.
-
-2003-06-01 Andrew Cagney <cagney@redhat.com>
-
- * defs.h (extract_address): Delete declaration.
- * findvar.c (extract_address): Delete function.
- * xstormy16-tdep.c (xstormy16_extract_return_value): Replace
- extract_address with the inline equivalent,
- extract_unsigned_integer.
- (xstormy16_extract_struct_value_address): Ditto.
- (xstormy16_pointer_to_address): Ditto.
- * vax-tdep.c (vax_extract_struct_value_address): Ditto.
- * v850-tdep.c (v850_push_arguments): Ditto.
- (v850_extract_return_value): Ditto.
- (v850_extract_struct_value_address): Ditto.
- * sparcnbsd-tdep.c (sparcnbsd_get_longjmp_target_32): Ditto.
- (sparcnbsd_get_longjmp_target_64): Ditto.
- * sparc-tdep.c (sparc_frame_saved_pc): Ditto.
- (get_longjmp_target): Ditto.
- * sh-tdep.c (sh_extract_struct_value_address): Ditto.
- (sh64_extract_struct_value_address): Ditto.
- (sh_push_arguments): Ditto.
- (sh64_push_arguments): Ditto.
- * remote-vxsparc.c (vx_read_register): Ditto.
- * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Ditto.
- * ns32k-tdep.c (ns32k_extract_struct_value_address): Ditto.
- * mn10300-tdep.c (mn10300_extract_struct_value_address): Ditto.
- * mipsv4-nat.c (get_longjmp_target): Ditto.
- * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Ditto.
- * mips-nat.c (get_longjmp_target): Ditto.
- * mips-linux-tdep.c (mips_linux_get_longjmp_target): Ditto.
- * mcore-tdep.c (mcore_extract_struct_value_address): Ditto.
- * m68k-tdep.c (m68k_get_longjmp_target): Ditto.
- * m68hc11-tdep.c (m68hc11_extract_struct_value_address): Ditto.
- * irix5-nat.c (get_longjmp_target): Ditto.
- * irix4-nat.c (get_longjmp_target): Ditto.
- * ia64-tdep.c (generic_elf_find_global_pointer): Ditto.
- (ia64_push_arguments): Ditto.
- * hpux-thread.c (hpux_thread_store_registers): Ditto.
- * h8300-tdep.c (h8300_push_arguments): Ditto.
- (h8300_store_return_value): Ditto.
- (h8300_extract_struct_value_address): Ditto.
- * frv-tdep.c (frv_extract_struct_value_address): Ditto.
- (frv_push_arguments): Ditto.
- * avr-tdep.c (avr_pointer_to_address): Ditto.
- (avr_push_arguments): Ditto.
- * arm-tdep.c (arm_push_dummy_call): Ditto.
- (arm_get_longjmp_target): Ditto.
- * arm-linux-tdep.c (arm_linux_push_arguments): Ditto.
- * alpha-tdep.c (alpha_extract_struct_value_address): Ditto.
- (alpha_get_longjmp_target): Ditto.
-
- * solib-irix.c (extract_mips_address): Inline extract_address,
- replacing it with extract_signed_integer.
- * solib-svr4.c (SOLIB_EXTRACT_ADDRESS): Ditto.
- (LM_NAME, IGNORE_FIRST_LINK_MAP_ENTRY): Ditto.
- (first_link_map_member, open_symbol_file_object): Ditto.
- (svr4_fetch_objfile_link_map, svr4_fetch_objfile_link_map): Ditto.
- * solib-sunos.c (SOLIB_EXTRACT_ADDRESS): Ditto.
- (LM_NEXT, LM_NAME): Ditto.
-
-2003-06-01 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.h (ALPHA_FP_REGNUM): Remove.
- * alpha-tdep.c (alpha_register_name): Remove vfp entry.
- (alpha_cannot_fetch_register): Remove ALPHA_FP_REGNUM.
- (alpha_cannot_store_register): Likewise.
- * alphabsd-nat.c (fetch_inferior_registers): Don't set FP_REGNUM.
- * alpha-nat.c (supply_gregset): Likewise.
- * alphanbsd-tdep.c (fetch_core_registers): Likewise.
-
-2003-06-01 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): Update comment on
- DEPRECATED_DUMMY_WRITE_SP.
-
- * mips-tdep.c (mips_gdbarch_init): Do not set
- deprecated_dummy_write_sp.
- (mips_eabi_push_dummy_call): Set the SP register.
- (mips_o64_push_dummy_call): Set the SP register.
- (mips_o32_push_dummy_call): Set the SP register.
- (mips_n32n64_push_dummy_call): Set the SP register.
-
-2003-06-01 Richard Henderson <rth@redhat.com>
-
- * alpha-nat.c (fetch_osf_core_registers): Use ALPHA_REGISTER_SIZE
- instead of ALPHA_MAX_REGISTER_RAW_SIZE.
- (supply_gregset): Likewise.
- * alpha-tdep.c (alpha_store_return_value): Likewise.
- (alpha_get_longjmp_target): Likewise.
- (alpha_register_name): Constify array.
- (alpha_gdbarch_init): Remove deprecated_fp_regnum,
- deprecated_register_size, deprecated_register_bytes,
- deprecated_max_register_raw_size, deprecated_max_register_virtual_size.
- * alpha-tdep.h (ALPHA_MAX_REGISTER_RAW_SIZE): Remove.
- (ALPHA_MAX_REGISTER_VIRTUAL_SIZE): Remove.
-
-2003-06-01 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_push_dummy_call): Store sp. Tidy copies
- from arg_reg_buffer to regcache to avoid double conversion.
-
-2003-06-01 Mark Kettenis <kettenis@gnu.org>
-
- * i386-linux-nat.c (child_resume): Use I386_ESP_REGNUM instead of
- SP_REGNUM.
- * i386-linux-tdep.c (i386_linux_sigcontext_addr): Likewise.
- * i386bsd-tdep.c (i386bsd_sigcontext_addr): Likewise.
-
-2003-06-01 Richard Henderson <rth@redhat.com>
-
- * dwarf2-frame.c (struct dwarf2_cie): Add saw_z_augmentation.
- (decode_frame_entry): Set it. Skip FDE augmentation.
-
-2003-06-01 Richard Henderson <rth@redhat.com>
-
- * dwarf2-frame.c (dwarf2_frame_cache): Handle retaddr_column
- not overlapping PC_REGNUM.
-
-2003-06-01 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_push_dummy_call): Transmography from
- alpha_push_arguments. Don't dump argument register data to
- the target stack. Fix float and 128-bit long double semantics.
- Store $t12 and $ra as specified by the ABI. Use regcache everywhere.
- (alpha_fix_call_dummy): Remove.
- (alpha_call_dummy_words): Remove.
- (alpha_gdbarch_init): Kill deprecated call hooks; add push_dummy_call.
-
-2003-06-01 Richard Henderson <rth@redhat.com>
-
- * alpha-linux-tdep.c (alpha_linux_init_abi): Install dwarf2 unwinder.
-
-2003-06-01 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (is_mips16_addr): New function.
- (make_mips16_addr, unmake_mips16_addr): New functions.
- (pc_is_mips16, mips_fetch_instruction): Use.
- (gdb_print_insn_mips, mips_breakpoint_from_pc): Use.
- (gdb_print_insn_mips): Eliminate TM_PRINT_INSN_MACH.
- (mips_dump_tdep): Delete print of TM_PRINT_INSN_MACH,
- UNMAKE_MIPS16_ADDR, MAKE_MIPS16_ADDR, IS_MIPS16_ADDR and
- TARGET_MIPS.
- * config/mips/tm-mips.h: Update copyright.
- (TARGET_MIPS, TM_PRINT_INSN_MACH): Delete.
- (DEPRECATED_REGISTER_SIZE, DEPRECATED_REGISTER_BYTES): Delete.
- (IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR): Delete.
- * config/mips/tm-irix6.h (DEPRECATED_REGISTER_BYTES): Delete.
- (TM_PRINT_INSN_MACH): Delete.
- * config/mips/tm-irix5.h (DEPRECATED_REGISTER_BYTES): Delete.
-
- * configure.tgt: Replace mips64*vr4xxx*el-*-elf*,
- mips64*vr4xxx*-*-elf*, mips64*vr4300*el-*-elf*,
- mips64*vr4300*-*-elf*, mips64*vr4100*el-*-elf*,
- mips64*vr4100*-*-elf*, mips64*vr5000*el-*-elf*, and
- mips64*vr5000*-*-elf* with mips64 mips64*vr*-*-elf*. Delete
- mips*tx39*el*-elf*. Map mips*-sony-* and mips64*-big-* onto
- mips64. Map mips*-dec-*, mips*-big-*, mips*-little-*,
- mips*-*-riscos* and mips*-*-sysv* onto mips.
- * config/mips/mips64.mt: New file.
- * config/mips/mips.mt: New file.
- * config/mips/littlemips.mt: Delete file.
- * config/mips/decstation.mt: Delete file.
- * config/mips/vr4300el.mt: Delete file.
- * config/mips/vr5000el.mt: Delete file.
- * config/mips/vr5000.mt: Delete file.
- * config/mips/vr4100.mt: Delete file.
- * config/mips/vr4xxxel.mt: Delete file.
- * config/mips/vr4300.mt: Delete file.
- * config/mips/vr4xxx.mt: Delete file.
- * config/mips/bigmips.mt: Delete file.
- * config/mips/bigmips64.mt: Delete file.
- * config/mips/tx39l.mt (TM_FILE): Set to "tm-tx39.h".
- * config/mips/embedl64.mt (TM_FILE): Set to "tm-mips64.h".
- * config/mips/embed64.mt (TM_FILE): Set to "tm-mips64.h"
- * config/mips/embedl.mt (TM_FILE): Set to "tm-mips.h".
- * config/mips/tm-tx39.h: Include "tm-mips.h" instead of
- "tm-bigmips.h".
- * config/mips/tm-irix3.h: Ditto.
- * config/mips/tm-mipsv4.h: Ditto.
- * config/mips/tm-embed.h: Ditto.
- * config/mips/tm-irix6.h: Include "tm-mips64.h" instead of
- "tm-bigmips64.h".
- * config/mips/tm-vr5000el.h: Delete file.
- * config/mips/tm-tx39l.h: Delete file.
- * config/mips/tm-vr4300el.h: Delete file.
- * config/mips/tm-vr4xxxel.h: Delete file.
- * config/mips/tm-vr4300.h: Delete file.
- * config/mips/tm-vr4100.h: Delete file.
- * config/mips/tm-vr4xxx.h: Delete file.
- * config/mips/tm-vr5000.h: Delete file.
- * config/mips/tm-embedl64.h: Delete file.
- * config/mips/tm-embedl.h: Delete file.
- * config/mips/tm-embed64.h: Delete file.
- * config/mips/tm-bigmips64.h: Delete file.
- * config/mips/tm-bigmips.h: Delete file.
-
-2003-06-01 Mark Kettenis <kettenis@gnu.org>
-
- Fix gdb/1216.
- * shnbsd-nat.c: Include "sh-tdep.h".
-
- From Richard Henderson <rth@redhat.com>:
- * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Fix ptr arithmetic.
-
-2003-05-31 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (set_reg_offset): Add saved_regs parameter. Add
- forward declaration.
- (mips16_heuristic_proc_desc): Pass temp_saved_regs.
- (mips16_heuristic_proc_desc): Pass temp_saved_regs.
- (mips_find_saved_regs): Use set_reg_offset.
- (mips_frame_init_saved_regs): Delete function.
- (mips_pop_frame): Call mips_find_saved_regs instead of
- DEPRECATED_FRAME_INIT_SAVED_REGS.
-
-2003-05-31 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (mips_gdbarch_init): Do not set
- deprecated_max_register_raw_size, register_virtual_size, and
- deprecated_max_register_virtual_size.
-
-2003-05-31 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c: Include "dwarf2-frame.h".
- (i386_gdbarch_init): Hook in the DWARF CFI frame unwinder.
- * Makefile.in (i386-tdep.o): Update dependencies.
-
- * dwarf2-frame.c, dwarf2-frame.h: New files.
- * Makefile.in (SFILES): Add dwarf2-frame.c.
- (dwarf2_frame_h): Define.
- (COMMON_OBS): Add dwarf2-frame.o.
- (dwarf2-frame.o): Add dependencies.
-
-2003-05-31 Andreas Jaeger <aj@suse.de>
-
- * x86-64-linux-nat.c: Fix comment.
-
-2003-05-31 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c (x86_64_push_dummy_call): Adjust for changed
- function signature.
-
- * i386-tdep.c (i386_sigtramp_frame_p): Only handle frames if we
- have a sigcontext_addr handler.
- * x86-64-tdep.c (x86_64_sigtramp_frame_p): Assert that we have a
- sigcontext_addr handler.
-
-2003-05-31 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (print_gp_register_row): Replace do_gp_register_row.
- (print_fp_register_row): Replace do_fp_register_row.
- (mips_print_fp_register): Add "file" and "frame" parameters.
- (mips_print_register): Add "file" and "frame" parameters.
- (mips_print_registers_info): Replace mips_do_registers_info.
- (mips_gdbarch_init): Set print_registers_info instead of
- deprecated_do_registers_info.
- (mips_read_fp_register_single): Add "frame" parameter.
- (mips_read_fp_register_double): Add "frame" parameter.
-
-2003-05-31 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c (i386_register_name): Check for MMX registers first.
- Fixes a bug where GDB would print the wrong register names for
- targets without SSE.
-
- * x86-64-tdep.c (X86_64_NUM_SAVED_REGS): Set to X86_64_NUM_GREGS.
- (x86_64_sigtramp_frame_cache): Use `sc_reg_offset' to find saved
- registers.
-
- * x86-64-linux-tdep.c (x86_64_linux_sc_reg_offset): New variable.
- (x86_64_linux_init_abi): Initialize TDEP->sc_reg_offset and
- TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
- TDEP->sc_sp_offset.
-
- From Michal Ludvig <mludvig@suse.cz>:
- * i386-tdep.h (struct gdbarch_tdep): Add members `sc_reg_offset'
- and `sc_num_regs'.
- (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM,
- I386_EBP_REGNUM, I386_EIP_REGNUM, I386_EFLAGS_REGNUM,
- I386_ST0_REGNUM): Move here from...
- * i386-tdep.c: ... here.
- (I386_NUM_SAVED_REGS): Define to I386_NUM_REGS.
- (i386_sigtramp_frame_cache): Use `sc_reg_offset' to find saved
- registers if possible.
- (i386_gdbarch_init): Initialize TDEP->sc_reg_offset.
- * i386bsd-tdep.c (i386bsd_sc_pc_offset, i386bsd_sc_sp_offset):
- Remove variables.
- (i386bsd_sc_reg_offset): New variable.
- (i386bsd_init_abi): Initialize TDEP->sc_reg_offset and
- TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
- TDEP->sc_sp_offset.
- (i386fbsd_sc_reg_offset): New variable.
- (i386fbsdaout_init_abi): Initialize TDEP->sc_reg_offset and
- TDEP->sc_num_regs.
- (i386fbsd4_sc_pc_offset, i386fbsd4_sc_sp_offset): Remove
- variables.
- (i386fbsd4_sc_reg_offset): New variable.
- (i3864bsd4_init_abi): Initialize TDEP->sc_reg_offset and
- TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
- TDEP->sc_sp_offset.
- * i386-linux-tdep.c (i386_linux_sc_reg_offset): New variable.
- (i386_linux_init_abi): Set TDEP->sc_reg_offset and TDEP->sc_num_regs.
- * i386nbsd-tdep.c (i386nbsd_sc_pc_offset, i386nbsd_sc_sp_offset):
- Remove variables.
- (i386nbsd_sc_reg_offset): New variable.
- (i386nbsd_init_abi): Initialize TDEP->sc_reg_offset and
- TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
- TDEP->sc_sp_offset.
- * i386obsd-tdep.c (i386obsd_sc_pc_offset, i386obsd_sc_sp_offset):
- Remove variables.
- (i386obsd_sc_reg_offset): New variable.
- (i386obsd_init_abi): Initialize TDEP->sc_reg_offset and
- TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
- TDEP->sc_sp_offset.
- * i386bsd-nat.c (_initialize_i386bsd_nat): Adjust for changes in
- i386bsd-tdep.c, i386nbsd-tdep.c and i386obsd-tdep.c. Add check
- for frame pointer offset in `struct sigcontext'.
-
-2003-05-31 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (mips_gdbarch_init): Do not set the deprecated
- architecture methods call_dummy_words, sizeof_call_dummy_words,
- push_return_address, store_struct_return, and fix_call_dummy. Set
- push_dummy_call instead of deprecated_push_arguments.
- (mips_store_struct_return): Delete function.
- (mips_fix_call_dummy): Delete function.
- (mips_push_return_address): Delete function.
- (mips_eabi_push_dummy_call): Replace mips_eabi_push_arguments, set
- RA_REGNUM and T9_REGNUM.
- (mips_n32n64_push_dummy_call): Ditto for
- mips_n32n64_push_arguments.
- (mips_o32_push_dummy_call): Ditto for mips_o32_push_arguments.
- (mips_o64_push_dummy_call): Ditto for mips_o64_push_arguments.
-
-2003-05-31 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (PUSH_DUMMY_CALL): Add "func_addr" parameter. Rename
- "dummy_addr" to "bp_addr".
- * infcall.c (call_function_by_hand): Pass "funaddr" to
- gdbarch_push_dummy_call.
- * gdbarch.h, gdbarch.c: Re-generate.
- * i386-tdep.c (i386_push_dummy_call): Update.
- * arm-tdep.c (arm_push_dummy_call): Update.
- * d10v-tdep.c (d10v_push_dummy_call): Update.
-
-2003-05-31 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.h (x86_64_num_regs, x86_64_num_gregs): Remove
- variable declarations.
- (x86_64_register_number, x86_64_register_name): Remove prototypes.
- (x86_64_linux_frame_saved_pc, x86_64_linux+saved_pc_after_call,
- x86_64_linux_in_sigtramp, x86_64_linux_frame_chain,
- x86_64_init_frame_pc, x86_64_init_frame_pc,
- x86_64_function_has_prologue): Remove prototypes.
- (X86_64_NUM_GREGS): New define.
- (x86_64_supply_fxsave, x86_64_fill_fxsave): New prototypes.
- * x86-64-tdep.c: Don't include "dwarf2cfi.h". Include
- "dummy_frame.h", "frame.h", "frame-base.h", "frame-unwind.h".
- (RAX_REGNUM, RDX_REGNUM, RDI_REGNUM, EFLAGS_REGNUM, ST0_REGNUM,
- XMM1_REGNUM): Remove defines.
- (X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, X86_64_RDI_REGNUM,
- X86_64_RBP_REGNUM, X86_64_RSP_REGNUM, X86_64_RIP_REGNUM,
- X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM, X86_64_XMM0_REGNUM,
- X86_64_XMM1_REGNUM): New defines.
- (struct x86_64_register_info): Renamed from `struct
- register_info'. Remove `size' member.
- (x86_64_register_info_table): Remove variable.
- (x86_64_register_info): New variable.
- (X86_64_NUM_REGS): New define.
- (X86_64_NUM_GREGS): Remove define.
- (x86_64_num_regs, x86_64_num_gregs): Remove variables.
- (x86_64_dwarf2gdb_regno_map, x86_64_dwarf2gdb_regno_map_length):
+ * sparc64fbsd-tdep.c: Include "regset.h".
+ (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg):
Remove variables.
- (x86_54_dwarf2_reg_to_regnum): Remove function.
- (x86_64_dwarf_regmap, x86_64_dwarf_regmap_len): New variables.
- (x86_64_dwarf_reg_to_regnum): New function.
- (x86_64_register_name): Rewrite.
- (x86_64_register_raw_size): Remove function.
- (x86_64_register_byte_table): Remove variable.
- (x86_64_register_byte): Remove function.
- (x86_64_register_virtual_type): Remove function.
- (x86_64_register_type): New function.
- (x86_64_register_convertible, x86_64_register_convert_to_virtual,
- x86_64_register_convert_to_raw): Remove functions.
- (x86_64_push_return_address, x86_64_pop_frame): Remove functon.
- (x86_64_use_struct_convention): Make static. Adjust for renamed
- defines.
- (x86_64_frame_init_saved_regs): Remove function.
- (x86_64_push_arguments): Make static. Change to accept a regcache
- as argument.
- (x86_64_store_return_value, x86_64_extract_return_value): Make
- static. Rewrite based on i386 counterparts.
- (x86_64_push_dummy_call): New function.
- (X86_64_NUM_SAVED_REGS): New define.
- (x86_64_register_number): Remove function.
- (x86_64_store_struct_return): Remove function.
- (x86_64_frameless_function_invocation,
- x86_64_function_has_prologue): Remove functions.
- (PROLOG_BUFSIZE): Remove define.
- (struct x86_64_frame_cache): New structure.
- (x86_64_alloc_frame_cache, x86_64_analyze_prologue,
- x86_64_frame_cache, x86_64_frame_this_id,
- x86_64_frame_prev_register, x86_64_frame_p,
- x86_64_sigtramp_frame_cache, x86_64_sigtramp_frame_this_id,
- x86_64_sigtramp_frame_prev_register, x86_sigtramp_frame_p): New
- functions.
- (x86_64_frame_unwind, x86_64_sigtramp_frame_unwind): New
- variables.
- (x86_64_skip_prologue): Rewrite in terms of
- x86_64_analyze_prologue.
- (x86_64_frame_base_address): New function.
- (x86_64_frame_base): New variable.
- (x86_64_save_dummy_frame_tos, x86_64_unwind_dummy_id): Rewrite.
- (x86_64_init_abi): Set register_type and push_dummy_call. Don't
- set deprecated_fp_regnum, deprecated_register_size,
- deprecated_register_bytes, register_raw_size, register_byte,
- register_virtual_type, register_convertiable,
- register_convert_to_virtual, convert_to_raw,
- deprecated_get_saved_register, deprecated_target_read_fp,
- deprecated_push_arguments, deprecated_push_return_address,
- deprecated_pop_frame, deprecated_store_struct_return,
- deprecated_frame_init_saved_regs, deprecated_frame_chain,
- frameless_function_invocation, deprecated_frame_saved_pc,
- deprecated_saved_pc_after_call, frame_num_args, pc_in_sigtramp,
- dwarf2_build_frame_info, deprecated_init_extra_frame_info,
- deprecated_init_frame_pc and virtual_frame_pointer. Call
- frame_unwind_append_predicate to register x86_64_sigtramp_frame_p
- and x86_64_frame_p. Call frame_base_set_default to register
- x86_64_frame_base.
- (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): New defines.
- (x86_64_supply_fxsave, x86_64_fill_fxsave): New functions.
- (_initialize_x86_64_tdep): Remove function.
- * x86-64-linux-tdep.c: Don't include "dwarf2cfi.h".
- (LINUX_SIGINFO_SIZE, LINUX_UCONTEXT_SIGCONTEXT_OFFSET,
- LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_FP_OFFSET): Don't
- define.
- (X86_64_LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Define.
- (x86_64_linux_sigcontext_addr): Rewrite.
- (x86_64_linux_sigtramp_saved_pc, x86_64_linux_saved_pc_after_call,
- x86_64_linux_frame_saved_pc): Remove functions.
- (x86_64_linux_pc_in_sigtramp): Renamed from
- x86_64_linux_in_sigtramp. Try harder to recognize a signal
- trampoline.
- (x86_64_linux_frame_chain, x86_64_init_frame_pc):
- Remove_functions.
- (x86_64_linux_init_abi): Set pc_in_sigtramp. Initialize
- TDEP->sigcontext_addr, TDEP->sc_pc_offset and TDEP->sc_sp_offset.
- * x86-64-linux-nat.c: Sync with i386-linux-tdep.c.
- (x86_64_regmap): Rename to regmap.
- (GETREGS_SUPPLIES): Use X86_64_NUM_GREGS instead of
- x86_64_num_gregs.
- (supply_gregset, fill_gregset): Likewise. Use regmap instead of
- x86_64_regmap.
- (x86_64_fxsave_offset): Remove function.
- (supply_fpregset): Simply call x86_64_supply_fxsave.
- (fill_fpregset): Simply call x86_64_fill_fxsave.
- (fetch_inferior_registers, store_inferior_registers): Avoid
- asignment in if-statement.
- (LINUX_SYSCALL_LEN, LINUX_SYSCALL_REGNUM, SYS_Sigreturn,
- SYS_rt_sigreturn, LINUX_SIGCONTEXT_EFLAGS_OFFSET,
- LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Remove defines.
(fetch_core_registers): Remove function.
- (linux_elf_core_fns): Remove.
- (offsetoff): Don't define.
- (_initialize_x86_64_linux_nat, kernel_u_size): Remove functions.
- * config/i386/x86-64linux.mt (TDEPFILES): Add i386-linux-tdep.o.
- * config/i386/x86-64linux.mh (NATDEPFILES): Remove core-aout.o,
- add core-regset.o.
- * config/i386/nm-x86-64linux.h: Use NM_X86_64_LINUX_H for
- protection against multiple includes instead of NM_X86_64_h. Add
- various comments. Include "config/nm-linux.h". Don't include
- <signal.h>.
- (REGISTER_U_ADDR, KERNEL_U_SIZE, U_REGS_OFFSET, KERN_U_ADDR,
- GET_THREAD_SIGNALS): Remove defines.
- (x86_64_register_u_addr, kernel_u_size,
- lin_thread_get_thread_signals): Remove prototypes.
- (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define to `long'.
- [HAVE_LINK_H]: Don't include "solib.h".
- [HAVE_LINK_H] (SVR4_SHARED_LIBS): Remove define.
- * config/i386/tm-x86-64linux.h: Fix comments.
- * Makefile.in (x86-64-linux-nat.o, x86_64-linux-tdep.o,
- x86-64-tdep.o): Update dependencies.
-
-2003-05-30 Andrew Cagney <cagney@redhat.com>
-
- * config/sparc/tm-sparc.h (sparc_extract_struct_value_address):
- Change parameter type to a "struct regcache *".
-
- * gdbarch.sh: Regardless of the multi-arch level, always define
- the macro when not already defined.
- * gdbarch.h, gdbarch.c: Re-generate.
-
-2003-05-30 Richard Henderson <rth@redhat.com>
-
- * alpha-mdebug-tdep.c (alpha_mdebug_frame_p): Reject prologues.
- (alpha_mdebug_frame_unwind_cache): Don't call the heuristic unwinder.
- (alpha_mdebug_frame_this_id): Likewise.
- (alpha_mdebug_frame_prev_register): Likewise.
- (alpha_mdebug_frame_base_address): Likewise.
- (alpha_mdebug_frame_locals_address): Likewise.
- (alpha_mdebug_frame_args_address): Likewise.
- (struct alpha_mdebug_unwind_cache): Remove in_prologue_cache.
- * alpha-tdep.c (alpha_heuristic_proc_start): Use get_pc_function_start.
- (alpha_heuristic_frame_unwind_cache): Make static; add missing
- loop increment.
- (alpha_heuristic_frame_this_id): Make static.
- (alpha_heuristic_frame_prev_register): Likewise.
- (alpha_heuristic_frame_base_address): Likewise.
- * alpha-tdep.h: Update.
-
-2003-05-30 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.h (i386bsd_sigcontext_addr): Remove prototype.
- (I386_SIZEOF_GREGS, I386_SIZEOF_FREGS, I386_SIZEOF_XREGS): Remove
- defenitions.
- (IS_FP_REGNUM, IS_SSE_REGNUM): Remove definitions.
- * i386-tdep.c: Mark functions that are 64-bit safe as such.
- (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM,
- I386_EBP_REGNUM, I386_EIP_REGNUM, I386_EFLAGS_REGNUM,
- I386_ST0_REGNUM): New defines.
- (CODESTREAM_BUFSIZ, codestream_tell, codestream_peek,
- codestream_get): Remove define.
- (codestream_next_addr, condestream_addr, condestream_buf,
- codestream_off, codestream_cnt): Remove variables.
- (codestream_fill, codestream_seek, codestream_read): Remove
- functions.
- (i386_follow_jump): Rewrite to avoid usage of removed codestream
- functionality.
- (i386_get_frame_setup, i386_frameless_signal_p, i386_frame_chain,
- i386_sigtramp_saved_pc, i386_sigtramp_saved_sp,
- i386_frame_saved_pc, i386_saved_pc_after_call,
- i386_frame_num_args, i386_frame_init_saved_regs,
- i386_push_return_address, i386_do_pop_frame, i386_pop_frame,
- i386_push_arguments): Remove functions.
- (i386_skip_prologue): Rewrite to avoid usage of removed codestream
- functionality. Use i386_analyze_prologue instead of
- i386_get_frame_setup.
- (I386_NUM_SAVED_REGS): New define.
- (struct i386_frame_cache): New structure.
- (i386_alloc_frame_cache, i386_analyze_struct_return,
- i386_skip_probe, i386_analyze_frame_setup,
- i386_analyze_register_saves, i386_analyze_prologue,
- i386_unwind_pc, i386_frame_cache, i386_frame_this_id,
- i386_frame_prev_register, i386_sigtramp_frame_cache,
- i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register,
- i386_frame_p, i386_sigtramp_frame_p, i386_frame_base_address,
- i386_unwind_dummy_id, i386_save_dummy_tos, i386_push_dummy_call):
- New functions.
- (i386_frame_unwind, i386_sigtramp_frame_unwind, i386_frame_base):
- New variables.
- (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): Define in terms of
- I386_EAX_REGNUM and I386_EDX_REGNUM.
- (i386_extract_return_value, i386_store_return_value): Use
- I386_ST0_REGNUM where appropriate.
- (i386_extract_struct_value_address): Rewrite to use extract_address.
- (i386_svr4_pc_in_sigtramp): Add comment.
- (i386_svr4_sigcontext_addr): Rewrite.
- (i386_svr4_init_abi): Adjust TDEP->sc_pc_offset and
- TDEP->sc_sp_offset.
- (i386_gdbarch_init): Don't set deprecated_init_frame_pc. Set
- sp_regnum, fp_regnum, pc_regnum, ps_regnum and fp0_regnum in terms
- of new defines. Set push_dummy_call, don't set
- deprecated_push_arguments, deprecated_push_return_address,
- deprecated_pop_frame. Don't set parm_boundary. Don't set
- deprecated_frame_chain, deprecated_frame_saved_pc,
- deprecated_saved_pc_after_call. Set unwind_dummy_id,
- save_dummy_frame_tos, unwind_pc. Call
- frame_unwind_append_predicate and frame_base_set_default. Don't
- set deprecated_dummy_write_pc. Don't set deprecated_fp_regnum.
- Don't set frameless_function_invocation. Don't set
- deprecated_register_bytes, deprecated_register_size,
- deprecated_call_dummy_words and deprecated_sizeof_call_dummy.
- * i386-linux-tdep.c: Fix formatting in some comments.
- (LINUX_SIGTRAMP_INSN0, LINUX_SIGTRAMP_OFFSET0,
- LINUX_SIGTRAMP_INSN1, LINUX_SIGTRAMP_OFFSET1,
- LINUX_SIGTRAMP_INSN2, LINUX_SIGTRAMP_OFFSET2,
- LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0,
- LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1): Drop
- redundant parentheses.
- (I386_LINUX_UCONTEXT_SIGCONTEXT_OFFSET): New define.
- (i386_linux_sigcontext_addr): Use it. Rewrite.
- (find_minsym_and_objfile): Change name of second argument.
- (skip_gnu_resolver): Renamed from skip_hurd_resolver. All callers
- changed. Use frame_pc_unwind instead of
- DEPRECATED_SAVED_PC_AFTER_CALL.
- (i386_linux_init_abi): Don't set deprecated_register_bytes.
- * i386bsd-tdep.c (i386bsd_sigcontext_addr): Rewrite.
- * i386-nto-tdep.c (i386nto_sigcontext_addr): Adapt for new frame
- unwinder.
- * i386-cygwin-tdep.c: Don't include "gdbcore.h", "frame.h" and
- "dummy-frame.h".
- (i386_cygwin_frame_chain_valid, i386_cygwin_frame_chain): Removed.
- (_initialize_i386_cygwin_tdep): New prototype.
- (i386_cygwin_init_abi): Don't set deprecated_frame_chain and
- deprecated_frame_chain_valid.
- * i386-sol2-tdep.c (i386_sol2_init_abi): Don't set
- TDEP->sigcontext_addr, TDEP->sc_pc_offset and TDEP->sc_sp_offset.
- Rely on the SVR4 defaults.
- * config/i386/i386sol2.mt (TDEPFILES): Remove i386bsd-tdep.o.
- * Makefile.in (i386-tdep.o, i386-cygwin-tdep.o): Update dependencies.
-
-2003-05-30 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): Always call
- DEPRECATED_FIX_CALL_DUMMY, even for AT_ENTRY_POINT case.
-
-2003-05-30 Richard Henderson <rth@redhat.com>
-
- * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Fix loop
- increment.
-
-2003-05-29 Jim Blandy <jimb@redhat.com>
-
- Use gdbarch methods for solib stuff on PowerPC Linux.
- * config/powerpc/tm-linux.h (IN_SOLIB_CALL_TRAMPOLINE,
- SKIP_TRAMPOLINE_CODE): #undef these, so the gdbarch methods will
- show through.
- * ppc-linux-tdep.c (ppc_linux_init_abi): Register
- IN_SOLIB_CALL_TRAMPOLINE and SKIP_TRAMPOLINE_CODE methods here,
- giving the same effect as the #definitions above.
-
-2003-05-29 Adam Fedor <fedor@gnu.org>
-
- * objc-lang.c (CONVERT_FUNCPTR): Remove macro
- (find_implementation_from_class): Replace it with the standard
- case i.e. do nothing.
-
-2003-05-29 Richard Henderson <rth@redhat.com>
-
- * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): New.
- (alpha_linux_sigtramp_offset): Use it. Make static.
- (alpha_linux_sigcontext_addr): Handle __NR_rt_sigreturn;
- update for new frame model.
- * alpha-mdebug-tdep.c: New file.
- * alpha-osf1-tdep.c (alpha_call_dummy_address): Move from alpha-tdep.c.
- (alpha_osf1_init_abi): Install it.
- * alpha-tdep.c (PROC_*): Move to alpha-mdebug-tdep.c.
- (linked_proc_desc_table): Remove.
- (alpha_frame_past_sigtramp_frame): Remove.
- (alpha_dynamic_sigtramp_offset): Remove.
- (ALPHA_PROC_SIGTRAMP_MAGIC): Remove.
- (alpha_proc_desc_is_dyn_sigtramp): Remove.
- (alpha_set_proc_desc_is_dyn_sigtramp): Remove.
- (push_sigtramp_desc): Remove.
- (alpha_cannot_fetch_register): Use ALPHA_FP_REGNUM.
- (alpha_cannot_store_register): Likewise.
- (alpha_sigcontext_addr): Remove.
- (alpha_find_saved_regs): Remove.
- (alpha_frame_init_saved_regs): Remove.
- (alpha_init_frame_pc_first): Remove.
- (read_next_frame_reg): Remove.
- (alpha_frame_saved_pc): Remove.
- (alpha_saved_pc_after_call): Remove.
- (temp_proc_desc, temp_saved_regs): Remove.
- (alpha_about_to_return): Remove.
- (cached_proc_desc): Remove.
- (alpha_frame_chain): Remove.
- (alpha_print_extra_frame_info): Remove.
- (alpha_init_extra_frame_info): Remove.
- (alpha_frame_locals_address): Remove.
- (alpha_frame_args_address): Remove.
- (alpha_push_arguments): Use ALPHA_REGISTER_BYTES not sizeof CORE_ADDR.
- (alpha_push_dummy_frame): Remove.
- (alpha_pop_frame): Remove.
- (alpha_after_prologue): Rename from after_prologue; remove mdebug bits.
- (alpha_read_insn): New.
- (alpha_skip_prologue): Merge alpha_skip_prologue_internal; adjust
- for different insn encodings.
- (alpha_in_lenient_prologue): Remove.
- (struct alpha_sigtramp_unwind_cache): New.
- (alpha_sigtramp_frame_unwind_cache): New.
- (alpha_sigtramp_register_address): New.
- (alpha_sigtramp_frame_this_id): New.
- (alpha_sigtramp_frame_prev_register): New.
- (alpha_sigtramp_frame_unwind): New.
- (alpha_sigtramp_frame_p): New.
- (struct alpha_heuristic_unwind_cache): New.
- (alpha_heuristic_proc_start): Rename from heuristic_proc_start;
- don't count nop insns that occur between functions.
- (alpha_heuristic_frame_unwind_cache): New; incorporate much of
- heuristic_proc_desc, but without the mdebug wrapping.
- (alpha_heuristic_frame_this_id): New.
- (alpha_heuristic_frame_prev_register): New.
- (alpha_heuristic_frame_unwind): New.
- (alpha_heuristic_frame_p): New.
- (alpha_heuristic_frame_base_address): New.
- (alpha_heuristic_frame_base): New.
- (alpha_unwind_dummy_id): New.
- (alpha_unwind_pc): New.
- (alpha_gdbarch_init): Don't set skip_sigtramp_frame. Kill use of
- frame related deprecated initializations; install replacements.
- (alpha_dump_tdep): Remove.
- * alpha-tdep.h (struct gdbarch_tdep): Remove skip_sigtramp_frame.
- (alpha_read_insn, alpha_after_prologue,
- alpha_heuristic_frame_unwind_cache, alpha_heuristic_frame_this_id,
- alpha_heuristic_frame_prev_register,
- alpha_heuristic_frame_base_address, alpha_mdebug_init_abi): Declare.
- * config/alpha/alpha-linux.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
- * config/alpha/tm-alpha.h (PRINT_EXTRA_FRAME_INFO): Remove.
- * config/alpha/tm-alphalinux.h (SIGTRAMP_START, SIGTRAMP_END): Remove.
-
-2003-05-29 Andrew Cagney <cagney@redhat.com>
-
- * gdb_assert.h (gdb_assert_fail): Provide different definitions
- dependant on the availability of ASSERT_FUNCTION.
- (ASSERT_FUNCTION): Do not define when there is no function name.
-
-2003-05-29 Kevin Buettner <kevinb@redhat.com>
-
- From Jimi X <jimix@watson.ibm.com>:
- * rs6000-tdep.c (skip_prologue): Improve support for 64-bit code.
-
-2003-05-28 Jim Blandy <jimb@redhat.com>
-
- * ppc-linux-nat.c (store_altivec_registers): Don't cast fourth
- argument to ptrace to int; the system headers should give it the
- right type, and pointers don't fit in ints on powerpc64-*-*.
-
-2003-05-28 H.J. Lu <hongjiu.lu@intel.com>
-
- * dwarf2read.c (process_die): Handle DW_TAG_try_block and
- DW_TAG_catch_block.
-
-2003-05-26 Elena Zannoni <ezannoni@redhat.com>
-
- * stabsread.c (dbx_lookup_type): Make static.
- (read_type): Ditto.
- (add_undefined_type): Ditto.
- * stabsread.h (dbx_lookup_type, read_type, add_undefined_type): Do
- not export.
-
-2003-05-26 Elena Zannoni <ezannoni@redhat.com>
-
- * hpread.c (hpread_has_name): Make static.
- (hpread_psymtab_to_symtab): Ditto.
- (file_exists): Ditto.
- (hpread_call_pxdb): Ditto.
- (hpread_pxdb_needed): Ditto.
- (hpread_quick_traverse): Ditto.
- (hpread_get_header): Ditto.
- (hpread_get_lntt): Ditto.
- (hpread_get_slt): Ditto.
- (class_of): Ditto.
-
-2003-05-25 Andreas Schwab <schwab@suse.de>
-
- * m68k-tdep.c (m68k_gdbarch_init): Set parm_boundary instead of
- stack_align and deprecated_extra_stack_alignment_needed.
- (m68k_stack_align): Delete.
-
- * m68k-tdep.c (m68k_register_raw_size): Remove cast.
- (m68k_register_virtual_size): Likewise.
- (altos_skip_prologue): Remove obsolete function.
- (isi_frame_num_args): Likewise.
- (news_frame_num_args): Likewise.
- (m68k_fix_call_dummy): Make static.
- (m68k_push_dummy_frame): Likewise.
- (m68k_pop_frame): Likewise.
- (m68k_skip_prologue): Likewise.
- (m68k_frame_init_saved_regs): Likewise.
- (m68k_saved_pc_after_call): Likewise.
- (m68k_get_longjmp_target): Make multi-arch.
- (m68k_gdbarch_init): Allocate and initialize gdbarch_tdep
- structure. Register m68k_get_longjmp_target if enabled.
- * m68k-tdep.h (struct gdbarch_tdep): Define.
- * config/m68k/tm-m68k.h: Don't include "regcache.h".
-
- * Makefile.in (config.status): Also depend on configure.tgt
- and configure.host.
- (m68klinux-tdep.o): Update dependencies.
- * configure.tgt (m68*-*-linux*): Set gdb_multi_arch to 1.
- * m68klinux-tdep.c (M68K_LINUX_JB_ELEMENT_SIZE): Define.
- (M68K_LINUX_JB_PC): Define.
- (m68k_linux_pc_in_sigtramp): Renamed from m68k_linux_in_sigtramp
- and take additional parameter.
- (m68k_linux_sigtramp_saved_pc): Update.
- (m68k_linux_init_abi): Set jb_pc and jb_elt_size. Register
- m68k_linux_pc_in_sigtramp, in_plt_section,
- find_solib_trampoline_target.
- * config/m68k/tm-linux.h: Don't include any tm headers.
- (START_INFERIOR_TRAPS_EXPECTED): Remove definition.
- (JB_ELEMENT_SIZE): Likewise.
- (JB_PC): Likewise.
- (GET_LONGJMP_TARGET): Likewise.
- (IN_SIGTRAMP): Likewise.
- (SVR4_SHARED_LIBS): Define this and include "solib.h".
-
-2003-05-25 Mark Kettenis <kettenis@gnu.org>
-
- * sparc-tdep.c (sparc32_do_push_arguments): New function.
- (sparc32_push_arguments): Re-implement by calling
- sparc32_do_push_arguments.
-
-2003-05-25 Mark Kettenis <kettenis@gnu.org>
-
- * sparc-tdep.c (SPARC_F0_REGNUM, SPARC_F1_REGNUM, SPARC_O0_REGNUM,
- SPARC_O1_REGNUM): New defines.
- (sparc32_extract_return_value): Rewrite to operate on a regcache.
- (sparc32_store_return_value): New function.
- (sparc_extract_struct_value_address): Rewrite to operate on a
- regcache.
- (sparc_gdbarch_init): Don't set
- deprecated_extract_struct_value_address. Set
- extract_struct_value_address instead. Don't set
- deprecated_extract_return_value and deprecated_store_return_value
- for 32-bit targets. Set extract_return_value and
- store_return_value instead.
- * config/sparc/tm-sparc.h (DEPRECATED_STORE_RETURN_VALUE,
- DEPRECATED_EXTRACT_RETURN_VALUE,
- DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Don't define these.
- (STORE_RETURN_VALUE, EXTRACT_RETURN_VALUE,
- EXTRACT_STRUCT_VALUE_ADDRESS): Define these instead.
- (sparc_store_return_value): Remove prototype.
- (sparc32_store_return_value): New prototype.
- (sparc32_extract_return_value, sparc_extract_struct_value_address):
- Adjust prototypes.
-
-2003-05-24 Mark Kettenis <kettenis@gnu.org>
-
- * sparcnbsd-tdep.c: Include "gdb_string.h".
-
-2003-05-23 Andrew Cagney <cagney@redhat.com>
-
- * p-valprint.c (pascal_val_print): Replace extract_address with
- the inline equivalent extract_unsigned_integer.
- * jv-valprint.c (java_value_print): Ditto.
- * ada-valprint.c (ada_val_print_1): Ditto.
- * ada-lang.h (EXTRACT_ADDRESS): Ditto.
-
-2003-05-23 Theodore A. Roth <troth@openavr.org>
-
- * blockframe.c (frameless_look_for_prologue): Remove unused
- after_prologue variable.
-
-2003-05-23 Mark Kettenis <kettenis@gnu.org>
-
- * blockframe.c (get_pc_function_start): Rewrite to avoid
- asignments in if-statements.
-
-2003-05-23 Raoul Gough <RaoulGough@yahoo.co.uk>
-
- Committed by Elena Zannoni <ezannoni@redhat.com>.
- * coffread.c(coff_symtab_read): Do relocate static symbols from PE
- files, don't relocate absolute symbols (and do use mst_abs).
-
-2003-05-23 Andrew Cagney <cagney@redhat.com>
-
- * objc-lang.c: Include "gdb_assert.h".
- (objc_op_print_tab): Use OP_NULL and PREC_NULL instead of 0.
- (CHECK, CHECK_FATAL, __CHECK_FUNCTION): Delete macros.
- (gdb_check, gdb_check_fatal): Delete functions.
- (read_objc_methlist_method): Replace CHECK and CHECK_FATAL with
- gdb_assert.
- (parse_selector, parse_method, find_methods, find_imps): Ditto.
- * Makefile.in (objc-lang.o): Update dependencies.
-
-2003-05-22 Ian Lance Taylor <ian@airs.com>
-
- * disasm.c (gdb_disassemble_info): Initialize disassemble_info
- with fprintf_filtered, not fprintf_unfiltered.
-
-2003-05-22 Andrew Cagney <cagney@redhat.com>
-
- * stack.c (frame_info): Inline extract_address, replacing it with
- extract_unsigned_integer.
- * findvar.c (unsigned_pointer_to_address): Ditto.
- * dwarf2loc.c (dwarf_expr_read_reg): Ditto.
- * dwarf2expr.c (dwarf2_read_address): Ditto.
- * frame.c (frame_pc_unwind): Update comment.
- * dummy-frame.c (deprecated_read_register_dummy): Update comment.
-
-2003-05-22 Jeff Johnston <jjohnstn@redhat.com>
-
- * infptrace.c (detach): Call print_sys_errmsg rather than
- perror_with_name to issue warning message when errno is non-zero
- after calling ptrace detach.
-
-2003-05-21 J. Brobecker <brobecker@gnat.com>
-
- * config/pa/tm-hppa.h: Delete some unused macros. Move some
- macro definitions from here...
- * hppa-tdep.c: ...to there.
-
-2003-05-20 Kevin Buettner <kevinb@redhat.com>
-
- * mips-nat.c (REGISTER_PTRACE_ADDR): Convert macro to function
- register_ptrace_addr(). Fix all callers.
-
-2003-05-21 Andreas Schwab <schwab@suse.de>
-
- * Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
- dependencies.
- * m68k-tdep.c (m68k_gdbarch_init): Call gdbarch_init_osabi at the
- end.
- * m68klinux-tdep.c (m68k_linux_init_abi): New function.
- (_initialize_m68k_linux_tdep): New function.
- (m68k_linux_frame_saved_pc): Make static.
- (m68k_linux_extract_return_value): Likewise.
- (m68k_linux_store_return_value): Likewise.
- (m68k_linux_extract_struct_value_address): Likewise.
- * config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE):
- Remove.
- (DEPRECATED_STORE_RETURN_VALUE): Remove.
- (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
- (DEPRECATED_FRAME_SAVED_PC): Remove.
-
-2003-05-20 Kris Warkentin <kewarken@qnx.com>
-
- * nto-tdep.c (fetch_core_registers): Match gdb's idea of
- regset numbering rather than our own.
-
-2003-05-19 David Carlton <carlton@bactrian.org>
-
- * config/djgpp/fnchange.lst: Add testsuite/gdb.c++/rtti*.
-
-2003-05-19 David Carlton <carlton@bactrian.org>
-
- Partial fix for PR c++/827.
- * cp-support.h: Include symtab.h.
- Declare cp_lookup_symbol_nonlocal, cp_lookup_symbol_namespace.
- * cp-namespace.c: Update contributors.
- (cp_lookup_symbol_nonlocal): New.
- (lookup_namespace_scope, cp_lookup_symbol_namespace)
- (lookup_symbol_file): Ditto.
- * c-lang.c (cplus_language_defn): Use cp_lookup_symbol_nonlocal.
- * block.h: Declare block_scope, block_using, block_global_block.
- * block.c (block_scope): New.
- (block_using, block_global_block): Ditto.
- * Makefile.in (cp_support_h): Depend on symtab_h.
- * config/djgpp/fnchange.lst: Add testsuite/gdb.c++/namespace1.cc.
-
-2003-05-19 David Carlton <carlton@bactrian.org>
-
- * language.h (struct language_defn): Add 'la_value_of_this'
- and 'la_lookup_symbol_nonlocal' members.
- * symtab.h: Declare basic_lookup_symbol_nonlocal,
- lookup_symbol_static, lookup_symbol_global,
- lookup_symbol_aux_block.
- * symtab.c (lookup_symbol_aux): Call language hooks to determine
- if we should search fields of this and how to do static/global
- lookup.
- (lookup_symbol_aux_block): Make extern.
- (basic_lookup_symbol_nonlocal): New.
- (lookup_symbol_static, lookup_symbol_global): Ditto.
- * ada-lang.c (ada_language_defn): Set 'la_value_of_this' and
- 'la_lookup_symbol_nonlocal' members.
- * c-lang.c (c_language_defn, cplus_language_defn)
- (asm_language_defn, minimal_language_defn): Ditto.
- * jv-lang.c (java_language_defn): Ditto.
- * language.c (unknown_language_defn, auto_language_defn)
- (local_language_defn): Ditto.
- * m2-lang.c (m2_language_defn): Ditto.
- * objc-lang.c (objc_language_defn): Ditto.
- * scm-lang.c (scm_language_defn): Ditto.
- * f-lang.c (f_language_defn): Ditto, and include value.h as well.
- * p-lang.c (pascal_language_defn): Ditto for both.
- * Makefile.in (f-lang.o): Depend on value_h.
- (p-lang.o): Ditto.
-
-2003-05-19 David Carlton <carlton@bactrian.org>
-
- * block.h: Declare block_static_block.
- * block.c (block_static_block): New.
- * symtab.c (lookup_symbol_aux): Remove 'static_block' argument to
- lookup_symbol_aux_local, calling block_static_block instead.
- (lookup_symbol_aux_local): Delete 'static_block' argument.
-
-2003-05-19 David Carlton <carlton@bactrian.org>
-
- * symtab.c (lookup_symbol_aux): Delete #if 0 hunk.
-
-2003-05-19 Michal Ludvig <mludvig@suse.cz>
-
- * x86-64-tdep.c (x86_64_dwarf2gdb_regno_map): Fix
- register numbers mapping.
-
-2003-05-18 Adam Fedor <fedor@gnu.org>
-
- * symtab.c (completion_list_objc_symbol): New function.
- (make_symbol_completion_list): Use it to add ObjC symbols
- when looking though the list.
- (language_search_unquoted_string): New function.
- (make_file_symbol_completion_list): Use it.
-
-2003-05-18 Andreas Schwab <schwab@suse.de>
-
- * Makefile (m68klinux-nat.o, m68klinux-tdep.o): Update
- dependencies.
- * config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE): Define
- as m68k_linux_extract_return_value.
- (DEPRECATED_STORE_RETURN_VALUE): Define as
- m68k_linux_store_return_value.
- (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Define as
- m68k_linux_extract_struct_value_address.
- * m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Use
- get_next_frame, get_frame_base, get_frame_pc.
- (m68k_linux_frame_saved_pc): Use get_frame_base.
- (m68k_linux_extract_return_value): New function.
- (m68k_linux_store_return_value): New function.
- (m68k_linux_extract_struct_value_address): New function.
- * config/m68k/tm-m68k.h: Declare m68k_get_longjmp_target.
-
- * c-exp.y (typebase): Remove duplicate occurence of
- `SIGNED_KEYWORD LONG LONG'. Use builtin_type_long_long instead
- of lookup_signed_typename.
-
-2003-05-18 Mark Kettenis <kettenis@gnu.org>
-
- * dwarf2loc.c (find_location_expression): Change type of second
- argument to `size_t *'.
- (loclist_read_variable, loclist_tracepoint_var_ref): Use size_t
- for size variable.
-
-2003-05-18 David Carlton <carlton@bactrian.org>
-
- * symtab.c (lookup_symbol_aux): Rename 'mangled_name' argument to
- 'linkage_name'. Add comment.
- (lookup_symbol_aux_local): Rename 'mangled_name' argument to
- 'linkage_name'.
- (lookup_symbol_aux_block, lookup_symbol_aux_symtabs)
- (lookup_symbol_aux_psymtabs, lookup_symbol_aux_minsyms)
- (lookup_block_symbol): Ditto.
-
-2003-05-16 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_REGISTER_BYTES): Rename REGISTER_BYTES.
- * gdbarch.h, gdbarch.c: Re-generate.
- * arm-linux-tdep.c (arm_linux_extract_return_value): Delete reference.
- * TODO (REGISTER_BYTES): Delete reference.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init_32082): Update.
- (ns32k_gdbarch_init_32382): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * i386-linux-tdep.c (i386_linux_init_abi): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * sparc-tdep.c (sparc_pop_frame): Update.
- * rs6000-tdep.c (rs6000_pop_frame): Update.
- * remote.c (init_remote_state): Update.
- (remote_prepare_to_store): Update.
- * remote-vx.c (vx_prepare_to_store): Update.
- * remote-sds.c (sds_fetch_registers): Update.
- (sds_prepare_to_store): Update.
- * remote-array.c: Update.
- * regcache.c (init_legacy_regcache_descr): Update.
- (init_regcache_descr): Update.
- * mips-tdep.c (mips_eabi_extract_return_value): Update.
- (mips_o64_extract_return_value): Update.
- * irix5-nat.c (fetch_core_registers): Update.
- * irix4-nat.c (fetch_core_registers): Update.
- * i386-tdep.h: Update.
- * hppa-tdep.c (pa_do_registers_info): Update.
- (pa_do_strcat_registers_info): Update.
- * cris-tdep.c (cris_register_bytes_ok): Update.
- * config/nm-gnu.h (CHILD_PREPARE_TO_STORE): Update.
- * config/sparc/tm-sparc.h (DEPRECATED_REGISTER_BYTES): Update.
- * config/sparc/nm-sun4sol2.h (CHILD_PREPARE_TO_STORE): Update.
- * config/sparc/nm-sun4os4.h (CHILD_PREPARE_TO_STORE): Update.
- * config/sparc/nm-nbsd.h (CHILD_PREPARE_TO_STORE): Update.
- * config/sparc/tm-sp64.h (DEPRECATED_REGISTER_BYTES): Update.
- * config/s390/tm-s390.h (DEPRECATED_REGISTER_BYTES): Update.
- * config/pa/tm-hppa64.h (DEPRECATED_REGISTER_BYTES): Update.
- * config/mips/tm-mips.h (DEPRECATED_REGISTER_BYTES): Update.
- * config/mips/tm-irix6.h (DEPRECATED_REGISTER_BYTES): Update.
- * config/mips/tm-irix5.h (DEPRECATED_REGISTER_BYTES): Update.
- * config/m68k/tm-sun3.h (DEPRECATED_REGISTER_BYTES): Update.
- (REGISTER_BYTES_OK): Update.
- * config/m68k/nm-sun3.h (CHILD_PREPARE_TO_STORE): Update.
- * config/ia64/tm-ia64.h (DEPRECATED_REGISTER_BYTES): Update.
-
-2003-05-16 Ian Lance Taylor <ian@airs.com>
-
- * vax-tdep.c (INVALID_FLOAT, MAXLEN, NOPCODES): Don't define.
- (vax_print_insn, print_insn_arg): Remove static functions.
- (vax_gdbarch_init): Call set_gdbarch_print_insn with
- print_insn_vax from opcodes library.
- (_initialize_vax_tdep): Don't set deprecated_tm_print_insn.
-
-2003-05-15 Andrew Cagney <cagney@redhat.com>
-
- * arch-utils.h (legacy_breakpoint_from_pc): Delete declaration.
- * target.h (memory_breakpoint_from_pc): Delete declaration.
- * mem-break.c (memory_breakpoint_from_pc): Delete function.
- * arch-utils.c (legacy_breakpoint_from_pc): Delete function.
- * monitor.c (monitor_insert_breakpoint): Use
- gdbarch_breakpoint_from_pc instead of memory_breakpoint_from_pc.
- * gdbarch.sh (BREAKPOINT_FROM_PC): Do not provide a default.
- * gdbarch.h, gdbarch.c: Re-generate.
- * sparc-tdep.c (sparc_breakpoint_from_pc): New function.
- (sparc_gdbarch_init): Set breakpoint_from_pc to
- sparc_breakpoint_from_pc.
- * config/sparc/tm-sparc.h (BREAKPOINT): Delete macro.
- (BREAKPOINT_FROM_PC): Define.
- (sparc_breakpoint_from_pc): Declare.
- * hppa-tdep.c (hppa_breakpoint_from_pc): New function.
- * config/pa/tm-hppa.h (hppa_breakpoint_from_pc): Declare.
- (BREAKPOINT_FROM_PC): Define.
- (BREAKPOINT): Delete macro.
- * target.h: Update comment.
- * s390-tdep.c (s390_gdbarch_init): Update comments.
- * remote.c: Update comments.
- * remote-mips.c: Update comments.
- * proc-api.c (write_with_trace): Do not check for a breakpoint.
- * mem-break.c: Update comment.
- * ia64-tdep.c (IA64_BREAKPOINT): Rename BREAKPOINT.
- (ia64_memory_insert_breakpoint): Update.
- * config/sparc/tm-sparc.h: Update comment.
- * config/pa/tm-hppa64.h: Update comment.
- * rs6000-tdep.c (BIG_BREAKPOINT, LITTLE_BREAKPOINT): Delete macro.
- (rs6000_breakpoint_from_pc): Update.
- * mips-tdep.c (BIG_BREAKPOINT, LITTLE_BREAKPOINT): Delete macro.
- (PMON_BIG_BREAKPOINT, PMON_LITTLE_BREAKPOINT): Delete macro.
- (IDT_LITTLE_BREAKPOINT, IDT_LITTLE_BREAKPOINT): Delete macro.
- (MIPS16_LITTLE_BREAKPOINT, MIPS16_BIG_BREAKPOINT): Delete macro.
- (mips_breakpoint_from_pc): Update.
- (mips_dump_tdep): Update.
-
- * symtab.h (DEPRECATED_SYMBOL_MATCHES_NAME): Delete macro.
- * minsyms.c (lookup_minimal_symbol): Inline
- DEPRECATED_SYMBOL_MATCHES_NAME. Replace STREQ with strcmp.
-
- * c-lang.c (c_printstr): Delete "extern inspect_it" declaration.
- * p-valprint.c (pascal_object_print_value_fields): Ditto.
- * p-lang.c (pascal_printstr): Ditto.
- * objc-lang.c (objc_printstr): Ditto.
- * m2-lang.c (m2_printstr): Ditto.
- * jv-valprint.c (java_print_value_fields): Ditto.
- * f-lang.c (f_printstr): Ditto.
- * cp-valprint.c (cp_print_value_fields): Ditto. Include "valprint.h".
- * ada-valprint.c (inspect_it, repeat_count_threshold): Ditto, and
- for repeat_count_threshold.
- * Makefile.in (cp-valprint.o): Update dependencies.
-
-2003-05-15 Jeff Johnston <jjohnstn@redhat.com>
-
- * ia64-tdep.c: Increase max_skip_non_prologue_insns to 40.
- (examine_prologue): Support looking through leaf functions, knowing
- they start with mov r2,r12. Support skipping over indirect stores
- of the input registers. Upon hitting a non-nop branch instruction
- or predicated instruction, bail out by setting lim_pc to the current
- pc value in the loop. At the end, if the lim_pc value is still
- beyond our calculated value and we have trust_limit set,
- use the lim_pc value.
-
-2003-05-15 Andrew Cagney <cagney@redhat.com>
-
- * dummy-frame.h (deprecated_find_dummy_frame_regcache): Rename
- generic_find_dummy_frame.
- * dummy-frame.c (deprecated_find_dummy_frame_regcache): Update.
- (deprecated_generic_find_dummy_frame): Update.
- (deprecated_read_register_dummy): Update.
- * frame.c (deprecated_generic_get_saved_register): Update.
-
-2003-05-15 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_breakpoint_from_pc): New function.
- (avr_gdbarch_init): Set breakpoint_from_pc method.
-
-2003-05-15 Andrew Cagney <cagney@redhat.com>
-
- * regcache.c (build_regcache): Set deprecated_register_valid
- directly.
- (deprecated_grub_regcache_for_register_valid): Delete function.
- * regcache.h (deprecated_grub_regcache_for_register_valid): Delete
- declaration.
-
-2003-05-15 David Carlton <carlton@bactrian.org>
-
- Committed by Elena Zannoni <ezannoni@redhat.com>
- * symtab.c (lookup_symbol_aux): Delete calls to
- lookup_symbol_aux_minsyms.
- (lookup_symbol_aux_minsyms): Comment out function and
- prototype. Delete lookup by mangled name.
-
-2003-05-14 Kevin Buettner <kevinb@redhat.com>
-
- * dwarf2expr.c (new_dwarf_expr_context): Set ``stack_len'' to
- correctly indicate an empty stack and ``stack_allocated'' to the
- indicate the number of elements initially allocated.
- (dwarf_expr_grow_stack): Simplify method for computing new
- stack size. Don't loop infinitely if ``stack_len'' is zero.
- (execute_stack_op): Move ``ctx->in_reg'' initialization
- out of loop. Allow DW_OP_reg0 ... DW_OP_reg31 and DW_OP_regx to
- be used in conjuction with DW_OP_piece. Revise error message
- accordingly.
-
-2003-05-14 Theodore A. Roth <troth@openavr.org>
-
- * MAINTAINERS: Update my email address.
- * avr-tdep.c: Ditto.
-
-2003-05-14 Elena Zannoni <ezannoni@redhat.com>
-
- * symtab.h (enum domain_enum): Rename from namespace_enum.
- (UNDEF_DOMAIN, VAR_DOMAIN, STRUCT_DOMAIN, LABEL_DOMAIN,
- VARIABLES_DOMAIN, FUNCTIONS_DOMAIN, TYPES_DOMAIN, METHODS_DOMAIN):
- Rename from UNDEF_NAMESPACE, VAR_NAMESPACE, STRUCT_NAMESPACE,
- LABEL_NAMESPACE, VARIABLES_NAMESPACE, FUNCTIONS_NAMESPACE,
- TYPES_NAMESPACE, METHODS_NAMESPACE.
- (SYMBOL_NAMESPACE): Rename to SYMBOL_DOMAIN.
- (struct symbol, struct partial_symbol): Rename field
- 'namespace_enum namespace' to 'domain_enum domain'.
- (PSYMBOL_NAMESPACE): Rename to PSYMBOL_DOMAIN.
- Delete old define kludge for namespace.
-
- * ada-exp.y, ada-lang.c, ada-lang.h, alpha-tdep.c, arm-tdep.c,
- blockframe.c, c-exp.y, c-valprint.c, coffread.c, dbxread.c,
- dwarf2read.c, dwarfread.c, f-exp.y, gdbtypes.c, gdbtypes.h,
- gnu-v3-abi.c, hppa-tdep.c, hpread.c, jv-exp.y, jv-lang.c,
- language.c, linespec.c, m2-exp.y, m3-nat.c, mdebugread.c,
- mips-tdep.c, nlmread.c, objc-exp.y, objc-lang.c, objfiles.c,
- p-exp.y, p-valprint.c, parse.c, printcmd.c, scm-lang.c, source.c,
- stabsread.c, stack.c, symfile.c, symfile.h, symmisc.c, symtab.c,
- valops.c, values.c, xcoffread.c, xstormy16-tdep.c: Replace all
- occurrences of the above.
-
-2003-05-14 Ian Lance Taylor <ian@airs.com>
-
- * Makefile.in (install-only): Use $(SHELL) when running
- mkinstalldirs.
-
-2003-05-13 Ian Lance Taylor <ian@airs.com>
-
- * MAINTAINERS (write after approval): Add myself.
-
- * ser-pipe.c (_initialize_ser_pipe): Correct call to memset--swap
- second and third arguments.
- * ser-tcp.c (_initialize_ser_tcp): Likewise.
- * ser-unix.c (_initialize_ser_hardwire): Likewise.
-
-2003-05-13 Andrew Cagney <cagney@redhat.com>
-
- * defs.h (store_address): Delete declaration.
- findvar.c (store_address): Delete function.
- * arm-tdep.c (arm_push_dummy_call): Replace store_address with
- store_unsigned_integer.
- * xstormy16-tdep.c (xstormy16_address_to_pointer): Ditto.
- * v850-tdep.c (v850_push_arguments): Ditto.
- * sparc-tdep.c (sparc_get_saved_register): Ditto.
- * sh-tdep.c (sh64_get_saved_register): Ditto.
- * rs6000-tdep.c (rs6000_push_arguments): Ditto.
- * ppc-sysv-tdep.c (ppc_sysv_abi_push_arguments): Ditto.
- * mips-tdep.c (mips_eabi_push_arguments): Ditto.
- (mips_get_saved_register): Ditto.
- * ia64-tdep.c (ia64_get_saved_register): Ditto.
- (find_func_descr, ia64_push_arguments): Ditto.
- * i386-tdep.c (i386_push_arguments): Ditto.
- * hpux-thread.c (hpux_thread_fetch_registers): Ditto.
- * frv-tdep.c (frv_push_arguments): Ditto.
- * frame.c (legacy_saved_regs_prev_register): Ditto.
- (deprecated_generic_get_saved_register): Ditto.
- * findvar.c (unsigned_address_to_pointer): Ditto.
- * dwarf2read.c (dwarf2_const_value): Ditto.
- * arm-linux-tdep.c (arm_linux_push_arguments): Ditto.
- * alpha-tdep.c (alpha_push_arguments): Ditto.
-
-2003-05-12 J. Brobecker <brobecker@gnat.com>
-
- * NEWS: Mention that the hppa-hpux port has been partially
- multiarched (32bit ABIT only, so far).
-
-2003-05-11 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (mi-symbol-cmds.o): Rename mi-cmd-symbol.
- * config/djgpp/fnchange.lst: Rename include/xtensa-isa-internal.h,
- include/xtensa-isa.h, sim/testsuite/sim/arm/misaligned1.ms,
- sim/testsuite/sim/arm/misaligned2.ms, and
- sim/testsuite/sim/arm/misaligned3.ms.
- * disasm.h (struct ui_file): Add opaque struct declaration.
- * config/pa/tm-hppa64.h (struct type, struct frame_info): Ditto.
- * frame.h (struct ui_file): Ditto.
-
-2003-05-11 Mark Kettenis <kettenis@gnu.org>
-
- * value.h: Pretty print.
-
-2003-05-10 Mark Kettenis <kettenis@gnu.org>
-
- * config/i386/tm-linux.h (I386_GNULINUX_TARGET): Remove define.
-
-2003-05-08 Andrew Cagney <cagney@redhat.com>
-
- * regcache.h (max_register_size): Delete declaration.
- * regcache.c (max_register_size): Delete function.
- (struct regcache_descr): Delete field "max_register_size".
- (init_regcache_descr, init_legacy_regcache_descr): Assert that all
- registers fit in MAX_REGISTER_SIZE.
- (regcache_save): Replace max_register_size with MAX_REGISTER_SIZE.
- (regcache_restore, regcache_xfer_part, regcache_dump): Ditto.
- * thread-db.c: Replace max_register_size with MAX_REGISTER_SIZE.
- * sh-tdep.c, rom68k-rom.c, remote-sim.c, remote-mips.c: Ditto.
- * remote-e7000.c, monitor.c, mipsv4-nat.c, mips-nat.c: Ditto.
- * m68klinux-nat.c, lynx-nat.c, irix4-nat.c: Ditto.
- * hpux-thread.c, hppah-nat.c, hppab-nat.c, hppa-tdep.c: Ditto.
- * dve3900-rom.c, hppa-tdep.c: Ditto.
-
-2003-05-08 David Carlton <carlton@math.stanford.edu>
-
- * valops.c (push_word): Fix typo.
-
-2003-05-08 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Delete references to MAX_REGISTER_RAW_SIZE.
- * gdbarch.h: Re-generate.
- * defs.h (MAX_REGISTER_RAW_SIZE): Delete macro.
- (legacy_max_register_raw_size): Delete declaration.
- * regcache.c (legacy_max_register_raw_size): Delete function.
- * valops.c: Replace MAX_REGISTER_RAW_SIZE with MAX_REGISTER_SIZE.
- * target.c, stack.c, sparc-tdep.c, sh-tdep.c: Ditto.
- * rs6000-tdep.c, rs6000-nat.c, remote.c, remote-sim.c: Ditto.
- * remote-rdp.c, remote-array.c, regcache.c: Ditto.
- * ppc-linux-nat.c, monitor.c, mn10300-tdep.c: Ditto.
- * mips-tdep.c, mips-linux-tdep.c, m68klinux-nat.c: Ditto.
- * infptrace.c, ia64-tdep.c, i386-tdep.c, frame.c: Ditto.
- * findvar.c, dwarf2cfi.c: Ditto.
-
-2003-05-08 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (read_signed_register): New function, moved to here
- from "regcache.c".
- (read_signed_register_pid): Ditto.
- * regcache.c (read_signed_register_pid): Delete function, moved to
- "mips-tdep.c".
- (read_signed_register): Ditto.
- * regcache.h (read_signed_register): Delete declaration.
- (read_signed_register_pid): Delete declaration.
-
-2003-05-08 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Add comments on MAX_REGISTER_SIZE.
- * gdbarch.h: Re-generate.
- * defs.h (MAX_REGISTER_VIRTUAL_SIZE): Delete macro.
- (legacy_max_register_virtual_size): Delete declaration.
- * infcmd.c (default_print_registers_info): Use MAX_REGISTER_SIZE.
- * d10v-tdep.c (d10v_print_registers_info): Ditto.
- * tracepoint.c (memrange_sortmerge): Ditto.
- * sparc-tdep.c (sparc_print_registers): Ditto.
- * regcache.c (legacy_max_register_virtual_size): Delete function.
-
-2002-05-08 J. Brobecker <brobecker@gnat.com>
-
- * fork-child.c (escape_bang_in_quoted_argument): New function.
- (fork_inferior): Escape '!' characters in quoted arguments
- only when needed.
-
-2003-05-08 J. Brobecker <brobecker@gnat.com>
-
- * dwarf2read.c (set_cu_language): Set the language to "minimal" if
- the language of the CU is not currently supported by GDB.
-
-2003-05-08 J. Brobecker <brobecker@gnat.com>
-
- * defs.h (language): Add language_minimal enum value.
- * c-lang.c (minimal_language_defn): New language definition.
- (_initialize_c_language): Add the new minimal language to the list
- of languages known to GDB.
-
-2003-05-08 Kevin Buettner <kevinb@redhat.com>
-
- * frame.c (get_frame_type): Don't attempt to lazily initialize
- frame's unwinder for legacy frames.
-
-2003-05-07 Andrew Cagney <cagney@redhat.com>
-
- * ia64-tdep.c (ia64_remote_translate_xfer_address): Add "gdbarch"
- and "regcache" parameters.
- * avr-tdep.c (avr_remote_translate_xfer_address): Ditto.
-
-2003-05-07 Jeff Johnston <jjohnstn@redhat.com>
-
- * dwarf2read.c (dwarf_decode_lines): Only use output of
- check_cu_functions() when calling record_line(). Do not update
- the current address.
-
-2003-05-07 Andrew Cagney <cagney@redhat.com>
-
- * fork-child.c (startup_inferior): Delete #ifdef STARTUP_INFERIOR
- code.
-
-2003-05-07 Jim Blandy <jimb@redhat.com>
-
- Rename commands 'maint list symtabs' and 'maint list psymtabs' to
- 'maint info symtabs' and 'maint info psymtabs'.
- * symmisc.c (maintenance_info_symtabs, maintenance_info_psymtabs):
- Renamed from maintenance_list_symtabs and maintenance_list_psymtabs.
- * symtab.h (maintenance_info_symtabs, maintenance_info_psymtabs):
- Declarations updated.
- * maint.c (maintenance_list_command): Delete.
- (_initialize_maint_cmds): Update calls to add_cmd.
- * gdbcmd.h (maintenancelistlist): Delete declaration.
- * cli/cli-cmds.c (maintenancelistlist): Delete.
- (init_cmd_lists): Don't initialize it.
- * cli/cli-cmds.h (maintenancelistlist): Delete declaration.
-
-2003-05-07 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (remote_d10v_translate_xfer_address): Add
- "regcache".
- (d10v_print_registers_info): Update.
- (d10v_dmap_register, d10v_imap_register): Delete functions.
- (struct gdbarch_tdep): Add "regcache" parameter to "dmap_register"
- and "imap_register".
- (d10v_ts2_dmap_register, d10v_ts2_imap_register): Add "regcache".
- (d10v_ts3_dmap_register, d10v_ts3_imap_register): Add "regcache".
- * arch-utils.c (generic_remote_translate_xfer_address): Add
- "regcache" and "gdbarch" parameters.
- * gdbarch.sh (REMOTE_TRANSLATE_XFER_ADDRESS): Add "regcache"
- parameter. Change class to multi-arch.
- * gdbarch.h, gdbarch.c: Re-generate.
- * remote.c (remote_xfer_memory): Use
- gdbarch_remote_translate_xfer_address.
-
-2003-05-07 Jeff Johnston <jjohnstn@redhat.com>
-
- * infrun.c (prev_pc): Move declaration ahead of proceed().
- (proceed): Refresh prev_pc value before resuming.
- (stop_stepping): Remove code to refresh prev_pc.
-
-2003-05-06 Kris Warkentin <kewarken@qnx.com>
-
- * nto-tdep.c: Removed stray comment.
-
-2003-05-06 Kris Warkentin <kewarken@qnx.com>
-
- * i386-nto-tdep.c: Fix old K&R function definitions.
- * nto-tdep.c: Likewise and change stat.h include to gdb_stat.h.
- Also change add_show_from_set() call to add_setshow_cmd().
- * nto-tdep.h: Remove PARAMS and grep ^func ARI hits.
-
-2003-05-05 Andrew Cagney <cagney@redhat.com>
-
- * dummy-frame.c: Include "command.h" and "gdbcmd.h".
- (fprint_dummy_frames): New function.
- (maintenance_print_dummy_frames): New function.
- (_initialize_dummy_frame): Add command "maint print dummy-frames".
- * frame.c (fprint_frame_id): Make global.
- * frame.h (fprint_frame_id): Declare.
- * Makefile.in (dummy-frame.o): Update dependencies.
-
-2003-05-05 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_REGISTER_SIZE): Rename REGISTER_SIZE.
- (DEPRECATED_SIZEOF_CALL_DUMMY_WORDS): Rename
- SIZEOF_CALL_DUMMY_WORDS.
- (DEPRECATED_CALL_DUMMY_WORDS): Rename CALL_DUMMY_WORDS.
- (DEPRECATED_FIX_CALL_DUMMY): Rename FIX_CALL_DUMMY.
- (DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET): Rename
- CALL_DUMMY_BREAKPOINT_OFFSET.
- (DEPRECATED_CALL_DUMMY_START_OFFSET): Rename
- CALL_DUMMY_START_OFFSET.
- (DEPRECATED_CALL_DUMMY_LENGTH): Rename CALL_DUMMY_LENGTH.
- * gdbarch.h, gdbarch.c: Re-generate.
- * alpha-tdep.c, alphafbsd-tdep.c, arm-linux-tdep.c: Update.
- * arm-tdep.c, avr-tdep.c, breakpoint.c, cris-tdep.c: Update.
- * dummy-frame.c, dummy-frame.h, frv-tdep.c, gdbarch.c: Update.
- * gdbarch.h, gdbarch.sh, h8300-tdep.c, hppa-tdep.c: Update.
- * i386-tdep.c, ia64-tdep.c, infcall.c, inferior.h: Update.
- * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c: Update.
- * mips-tdep.c, mn10300-tdep.c, ns32k-tdep.c: Update.
- * rs6000-tdep.c, s390-tdep.c, sh-tdep.c, sol-thread.c: Update.
- * sparc-tdep.c, target.c, v850-tdep.c, valops.c: Update.
- * vax-tdep.c, x86-64-tdep.c, xstormy16-tdep.c: Update.
- * config/ia64/tm-ia64.h, config/m68k/tm-vx68.h: Update.
- * config/mips/tm-mips.h, config/pa/nm-hppah.h: Update.
- * config/pa/tm-hppa.h, config/pa/tm-hppa64.h: Update.
- * config/s390/tm-s390.h, config/sparc/tm-sp64.h: Update.
- * config/sparc/tm-sparc.h: Update.
-
-2003-05-05 Kris Warkentin <kewarken@qnx.com>
-
- * configure.tgt: Add i[3456]86-*-nto*.
- * i386-nto-tdep.c: New file. i386 specific support for QNX Neutrino.
- * nto-tdep.c: New file. Neutrino target support routines.
- * nto-tdep.h: New file. Neutrino target header.
- * config/tm-qnxnto.h: New file.
- * config/i386/i386nto.mt: New file.
- * config/i386/tm-i386nto.h: New file.
-
-2003-05-04 Andrew Cagney <cagney@redhat.com>
-
- * gdbthread.h (save_infrun_state): Drop prev_func_name parameter.
- (load_infrun_state): Ditto.
- (struct thread_info): Drop "prev_func_name" field.
- * thread.c (load_infrun_state): Update.
- (save_infrun_state): Update.
- * infrun.c (prev_func_name): Delete variable.
- (init_wait_for_inferior): Do not clear prev_func_name.
- (stop_stepping, keep_going, context_switch): Do not swap
- prev_func_name.
- (handle_inferior_event, check_sigtramp2): Use pc_in_sigtramp
- instead of PC_IN_SIGTRAMP.
-
-2003-05-04 Andrew Cagney <cagney@redhat.com>
-
- * sentinel-frame.c (sentinel_frame_prev_register): Replace
- REGISTER_BYTE with register_offset_hack.
- * regcache.c (init_regcache_descr): When REGISTER_BYTE_P, check
- that REGISTER_BYTE is consistent with the regcache.
- * gdbarch.sh (REGISTER_BYTE): Add a predicate.
- * gdbarch.h, gdbarch.c: Regenerate.
-
-2003-05-04 Mark Kettenis <kettenis@gnu.org>
-
- * i387-tdep.c (fxsave_offset): Add entries for %xmm8-%xmm15.
- (FXSAVE_ADDR, i387_supply_fxsave): Add support for %xmm8-%xmm15.
-
- * i386-linux-nat.c (supply_gregset): Remove unnecessary casts.
-
-2003-05-03 J. Brobecker <brobecker@gnat.com>
-
- From Thierry Schneider <tpschneider1@yahoo.com>
- * Makfile.in (SUBDIR_MI_OBS): Add dependency on mi-cmd-symbol.o.
- (SUBDIR_MI_SRCS): Add mi-cmd-symbol.c.
- (mi-cmd-symbol.o): Add rule.
-
-2003-05-03 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (PUSH_DUMMY_CODE): New architecture method, add
- comments noteing that it replaces the old FIX_CALL_DUMMY code.
- * gdbarch.h, gdbarch.c: Re-generate.
- * d10v-tdep.c (d10v_push_dummy_code): New function.
- (d10v_gdbarch_init): Set push_dummy_code.
- * infcall.c (legacy_push_dummy_code): New function.
- (generic_push_dummy_code): New function.
- (push_dummy_code): New function.
- (call_function_by_hand): Call push_dummy_code. Pass bp_addr,
- instead of dummy_addr, to push_dummy_call. Move call to
- generic_save_call_dummy_addr to outside of CALL_DUMMY_LOCATION
- switch.
- * sparc-tdep.c (sparc_gdbarch_init): Mention push_dummy_code.
-
-2003-05-03 Andrew Cagney <cagney@redhat.com>
-
- * disasm.h (print_insn): Declare.
- * disasm.c (init_gdb_disassemble_info): New function.
- (gdb_disassembly): Call init_gdb_disassemble_info.
- (gdb_print_insn): New function.
- * v850-tdep.c (v850_scan_prologue): Call gdb_print_insn, instead
- of TARGET_PRINT_INSN. Send debug info to "gdb_stdlog".
- * mcore-tdep.c: Include "disasm.h"
- (mcore_dump_insn): Call gdb_print_insn, instead of TARGET_PRINT_INSN.
- * d10v-tdep.c: Include "disasm.h".
- (display_trace): Call gdb_print_insn, instead of print_insn.
- (print_insn): Delete function.
- * printcmd.c: Include "disasm.h".
- (print_insn): Delete function.
- (print_formatted): Call gdb_print_insn, instead of print_insn.
- * Makefile.in (printcmd.o): Update dependencies.
- (mcore-tdep.o, d10v-tdep.o): Ditto.
-
-2003-05-02 Andrew Cagney <cagney@redhat.com>
-
- * std-regs.c (value_of_builtin_frame_pc_reg): Delete #ifdef
- PC_REGNUM, re-indent.
- * stack.c (frame_info): Use "pc" for the name of get_frame_pc when
- PC_REGNUM isn't set.
-
- * gdbarch.sh (REGISTER_SIZE, REGISTER_BYTES): Make optional.
- * gdbarch.h, gdbarch.c: Re-generate.
- * d10v-tdep.c (d10v_gdbarch_init): Do not set register_size,
- register_virtual_size, pc_regnum, or register_bytes.
- (D10V_PC_REGNUM): Rename _PC_REGNUM.
- (d10v_register_type): Use D10V_PC_REGNUM.
- (d10v_print_registers_info, d10v_read_pc): Ditto.
- (d10v_write_pc, d10v_eva_prepare_to_trace): Ditto.
- (d10v_unwind_pc, d10v_frame_prev_register): Ditto.
-
-2003-05-02 David Carlton <carlton@bactrian.org>
-
- * objfiles.c (allocate_objfile): For anonymous objfiles, allocate
- the name with mstrsave.
-
-2003-05-02 Elena Zannoni <ezannoni@redhat.com>
-
- * charset.c (GDB_DEFAULT_TARGET_CHARSET,
- GDB_DEFAULT_HOST_CHARSET): Move to earlier in the file.
- (host_charset_name, target_charset_name): New vars for use by
- set/show commands.
- (host_charset_enum, target_charset_enum): New enums for set/show
- commands.
- (set_charset_sfunc, set_host_charset_sfunc,
- set_target_charset_sfunc): New functions.
- (set_host_charset, set_target_charset): Make static.
- (list_charsets, set_host_charset_command,
- set_target_charset_command): Delete functions.
- (show_charset_command): Rewrite as....
- (show_charset): Hook this up with the set/show command mechanism.
- (_initialize_charset): Change names of charsets to match the
- set/show enums. Use host_charset_name and target_charset_name.
- Use set/show mechanism for charset, host-charset, target-charset
- commands. Do not make 'show host-charset' and 'show
- target-charset' be aliases of 'show charset'.
-
- * charset.h (set_host_charset, set_target_charset): Don't export,
- they are not used outside the file.
-
-2003-05-01 Andrew Cagney <cagney@redhat.com>
-
- * disasm.c (gdb_disassemble_from_exec): Delete global variable.
- (gdb_disassembly): Make "di" non static, always initialize and
- cleanup. Always use dis_asm_read_memory.
- (gdb_dis_asm_read_memory): Delete function.
-
-2003-05-01 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (d10v_frame_align): Replace d10v_stack_align.
- (d10v_gdbarch_init): Set frame_align instead of stack_align.
-
-2003-04-30 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (deprecated_tm_print_insn_info): Rename
- "tm_print_insn_info".
- (TARGET_PRINT_INSN_INFO): Delete macro.
- (dis_asm_read_memory): Delete function declaration.
- (dis_asm_memory_error, dis_asm_print_address): Ditto.
- (tm_print_insn_info): Delete variable definition.
- (_initialize_gdbarch): Do not initialize "tm_print_insn_info".
- * gdbarch.h, gdbarch.c: Re-generate.
- * d10v-tdep.c (display_trace): Replace "tm_print_insn_info" with
- "deprecated_tm_print_insn_info".
- * mcore-tdep.c (mcore_dump_insn): Ditto.
- * mips-tdep.c (mips_gdbarch_init): Ditto.
- * sparc-tdep.c (_initialize_sparc_tdep): Ditto.
- * v850-tdep.c (v850_scan_prologue, v850_gdbarch_init): Ditto.
- * ia64-tdep.c (_initialize_ia64_tdep): Ditto.
- * printcmd.c (print_insn): Use "deprecated_tm_print_insn_info"
- instead of TARGET_PRINT_INSN_INFO, add comment.
- * s390-tdep.c (s390_get_frame_info): Instead of
- "dis_asm_read_memory", use "deprecated_tm_print_insn_info".
- (s390_check_function_end, s390_is_sigreturn): Ditto.
- * corefile.c (dis_asm_read_memory): Move to "disasm.c".
- (dis_asm_memory_error, dis_asm_print_address): Ditto.
- * disasm.c: Include "gdbcore.h".
- (_initialize_disasm): New function, initialize
- "deprecated_tm_print_insn_info".
- (deprecated_tm_print_insn_info): New variable.
- (dis_asm_read_memory): Moved from "corefile.c", made static.
- (dis_asm_print_address, dis_asm_memory_error): Ditto.
- * Makefile.in (disasm.o): Update dependencies.
-
-2003-04-30 Andrew Cagney <cagney@redhat.com>
-
- * sparc-tdep.c (SPARC_HAS_FPU): When multi-arch, define as 1.
-
-2003-04-29 Adam Fedor <fedor@gnu.org>
-
- * eval.c (evaluate_subexp_standard): Handle ObjC ops.
- * infcall.c (find_function_addr): Make non-static.
- * infcall.h (find_function_addr): Declare.
- * Makefile.in (eval.o): Update dependencies.
-
-2003-04-28 Adam Fedor <fedor@gnu.org>
-
- * symtab.c (symbol_find_demangled_name): Check for and demangle
- ObjC symbols.
- (symbol_init_demangled_name): Init for language_objc as well.
-
-2003-04-28 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_TARGET_READ_FP): Replace TARGET_READ_FP.
- (DEPRECATED_FP_REGNUM): Replace FP_REGNUM.
- * gdbarch.h, gdbarch.c: Re-generate.
- * infcall.c (call_function_by_hand): Use DEPRECATED_FP_REGNUM,
- DEPRECATED_TARGET_READ_FP, or "sp" to create the dummy frame ID.
- * inferior.h (deprecated_read_fp): Rename read_fp.
- (generic_target_read_fp): Delete declaration.
- * regcache.c (generic_target_read_fp): Delete function.
- (deprecated_read_fp): Replace read_fp, use
- DEPRECATED_TARGET_READ_FP or DEPRECATED_FP_REGNUM.
- * d10v-tdep.c (d10v_read_fp): Delete function.
- (d10v_gdbarch_init): Do not set deprecated_read_fp.
-
- * sparc-tdep.c (sparc_gdbarch_init): Do not set
- deprecated_target_read_fp to generic_target_read_fp.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
-
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Set
- deprecated_fp_regnum.
- * x86-64-tdep.c (x86_64_init_abi): Ditto.
- * vax-tdep.c (vax_gdbarch_init): Ditto.
- * v850-tdep.c (v850_gdbarch_init): Ditto.
- * sparc-tdep.c (sparc_gdbarch_init): Ditto.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * mcore-tdep.c (mcore_gdbarch_init): Ditto.
- * m68k-tdep.c (m68k_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * i386-tdep.c (i386_gdbarch_init): Ditto.
- * hppa-tdep.c (hppa_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * avr-tdep.c (avr_gdbarch_init): Ditto.
- * arm-tdep.c (arm_gdbarch_init): Ditto.
- * alpha-tdep.c (alpha_gdbarch_init): Ditto.
-
- * x86-64-tdep.c (x86_64_init_abi): Set deprecated_target_read_fp.
- * v850-tdep.c (v850_gdbarch_init): Ditto.
- * sparc-tdep.c (sparc_gdbarch_init): Ditto.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * mips-tdep.c (mips_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * hppa-tdep.c (hppa_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * avr-tdep.c (avr_gdbarch_init): Ditto.
- * arm-tdep.c (arm_gdbarch_init): Ditto.
-
- * vax-tdep.c (vax_frame_init_saved_regs): Replace FP_REGNUM with
- DEPRECATED_FP_REGNUM.
- (vax_push_dummy_frame, vax_pop_frame): Ditto.
- * std-regs.c (value_of_builtin_frame_fp_reg): Ditto.
- * sparc-tdep.c (sparc_init_extra_frame_info): Ditto.
- (sparc_push_dummy_frame, sparc64_read_fp): Ditto.
- (sparc32_register_virtual_type): Ditto.
- * sh-tdep.c (sh64_frame_chain): Ditto.
- (sh64_get_saved_register, sh64_pop_frame): Ditto.
- (sh_nofp_frame_init_saved_regs): Ditto.
- (sh64_nofp_frame_init_saved_regs): Ditto.
- (sh_fp_frame_init_saved_regs): Ditto.
- * remote-mips.c (mips_wait, mips_fetch_registers): Ditto.
- * remote-e7000.c (fetch_regs_from_dump): Ditto.
- * procfs.c (procfs_fetch_registers): Ditto.
- (procfs_store_registers): Ditto.
- * ns32knbsd-nat.c (fetch_inferior_registers): Ditto.
- (store_inferior_registers, fetch_core_registers): Ditto.
- (fetch_kcore_registers, clear_regs): Ditto.
- * ns32k-tdep.c (ns32k_frame_init_saved_regs): Ditto.
- (ns32k_push_dummy_frame, ns32k_pop_frame): Ditto.
- * nlm/i386.h (DEPRECATED_FP_REGNUM): Ditto.
- * nlm/i386.c (do_status): Ditto.
- * mipsv4-nat.c (supply_gregset): Ditto.
- * mips-tdep.c: Ditto for comments.
- * mips-nat.c (fetch_inferior_registers): Ditto.
- (store_inferior_registers, fetch_core_registers): Ditto.
- * m68k-tdep.c (m68k_push_dummy_frame): Ditto.
- (m68k_pop_frame, m68k_frame_init_saved_regs): Ditto.
- * i386-tdep.c (i386_frame_init_saved_regs): Ditto.
- (i386_do_pop_frame, i386_register_type): Ditto.
- * hppa-tdep.c (hppa_frame_chain): Ditto.
- (hppa_push_dummy_frame, find_dummy_frame_regs): Ditto.
- (hppa_pop_frame, hppa_read_fp): Ditto.
- (skip_prologue_hard_way, hppa_frame_find_saved_regs): Ditto.
- * cris-tdep.c (cris_examine, cris_pop_frame): Ditto.
- * config/vax/nm-vax.h (REGISTER_U_ADDR): Ditto.
- * config/sparc/tm-sparc.h (DEPRECATED_FP_REGNUM): Ditto.
- * config/sparc/tm-sp64.h (DEPRECATED_FP_REGNUM): Ditto.
- * config/s390/tm-s390.h (DEPRECATED_FP_REGNUM): Ditto.
- * config/pa/tm-hppa64.h (DEPRECATED_FP_REGNUM): Ditto.
- * config/ia64/tm-ia64.h (DEPRECATED_FP_REGNUM): Ditto.
- * blockframe.c: Ditto for comments.
- * arch-utils.h: Ditto for comments.
- * arch-utils.c (legacy_virtual_frame_pointer): Ditto.
- * alphanbsd-tdep.c (fetch_core_registers): Ditto.
- * alphabsd-nat.c (fetch_inferior_registers): Ditto.
- * alpha-tdep.h: Ditto for comments.
- * alpha-tdep.c (alpha_cannot_fetch_register): Ditto.
- (alpha_cannot_store_register): Ditto.
- (alpha_push_dummy_frame): Ditto.
- * alpha-nat.c (supply_gregset): Ditto.
-
- * config/sparc/tm-sp64.h (DEPRECATED_TARGET_READ_FP): Update.
- * config/pa/tm-hppa64.h (DEPRECATED_TARGET_READ_FP): Update.
- * config/sparc/tm-sparc.h: Update comment.
-
- * hppa-tdep.c (hppa_init_extra_frame_info): Use
- deprecated_read_fp instead of TARGET_READ_FP.
- (hppa_init_extra_frame_info, hppa_frame_chain): Ditto.
- (hppa_push_dummy_frame, hppa_read_fp): Ditto.
- * sparc-tdep.c (sparc_init_extra_frame_info): Use
- deprecated_read_fp instead of read_fp.
- * s390-tdep.c (s390_push_arguments): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * frame.h: Ditto in comments.
- * frame.c (legacy_get_prev_frame): Ditto.
- * dummy-frame.c (dummy_frame_this_id): Ditto.
- * arm-tdep.c (arm_init_extra_frame_info): Ditto.
-
-2003-04-28 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (deprecated_tm_print_insn): Rename tm_print_insn.
- * gdbarch.h, gdbarch.c: Re-generate.
- * xstormy16-tdep.c (_initialize_xstormy16_tdep): Update.
- * vax-tdep.c (_initialize_vax_tdep): Update.
- * v850-tdep.c (_initialize_v850_tdep): Update.
- * sparc-tdep.c (_initialize_sparc_tdep): Update.
- * s390-tdep.c (_initialize_s390_tdep): Update.
- * ns32k-tdep.c (_initialize_ns32k_tdep): Update.
- * mn10300-tdep.c (_initialize_mn10300_tdep): Update.
- * mips-tdep.c (_initialize_mips_tdep): Update.
- * mcore-tdep.c (_initialize_mcore_tdep): Update.
- * m68k-tdep.c (_initialize_m68k_tdep): Update.
- * ia64-tdep.c (_initialize_ia64_tdep): Update.
- * hppa-tdep.c (_initialize_hppa_tdep): Update.
- * h8300-tdep.c (_initialize_h8300_tdep): Update.
- * frv-tdep.c (_initialize_frv_tdep): Update.
- * cris-tdep.c (cris_delayed_get_disassembler): Update.
- (_initialize_cris_tdep): Update.
- * arch-utils.c (legacy_print_insn): Update.
- * alpha-tdep.c (_initialize_alpha_tdep): Update.
-
-2003-04-26 Adam Fedor <fedor@gnu.org>
-
- * linespec.c (decode_objc): New function to decode ObjC calls
- (decode_line_1): Check for ObjC calls (using decode_objc)
- * Makefile (linespec.o): Update dependencies.
-
-2003-04-26 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.h (struct breakpoint_ops): New.
- (struct breakpoint): Add ops member.
-
- * breakpoint.c (print_bp_stop_message, print_one_breakpoint)
- (mention): Use new breakpoint ops member.
- (set_raw_breakpoint): Initialize ops field to NULL.
- (print_exception_catchpoint, print_one_exception_catchpoint)
- (print_mention_exception_catchpoint, handle_gnu_v3_exceptions): New.
- (gnu_v3_exception_catchpoint_ops): New.
- (catch_exception_command_1): Call handle_gnu_v3_exceptions.
-
-2003-04-25 Adam Fedor <fedor@gnu.org>
-
- * Makefile.in (COMMON_OBS): Add objc-lang.o
-
-2003-04-25 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (print_insn): Delete function.
- (display_trace): Use TARGET_PRINT_INSN.
- (_initialize_d10v_tdep): Do not set tm_print_insn.
- (d10v_gdbarch_init): Set print_insn.
-
-2003-04-25 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (d10v_extract_return_value): Delete call to printf.
- (_initialize_d10v_tdep): Use add_setshow_boolean_cmd.
- (d10v_frame_unwind_cache): Use FRAME_OBSTACK_CALLOC.
- (NR_DMAP_REGS, A0_REGNUM): Delete, replaced by ...
- (nr_dmap_regs, a0_regnum): ... new functions.
- (d10v_print_registers_info): Use a0_regnum, use register_size.
- (d10v_register_byte): Delete function.
- (d10v_register_raw_size): Delete function.
- (d10v_register_type): Use a0_regnum.
- (d10v_print_registers_info): Use a0_regnum.
- (D10V_SP_REGNUM): Rename _SP_REGNUM, replace it and SP_REGNUM.
- (d10v_gdbarch_init): Do not set register_byte or
- register_raw_size, use D10V_SP_REGNUM to set sp_regnum.
- (d10v_pointer_to_address): Use extract_unsigned_integer instead of
- extract_address.
- (trace_command): Use XCALLOC.
- (print_insn): Delete reference to tm_print_insn.
- (saved_regs_unwinder): Use store_unsigned_integer instead of
- store_address.
- * frame.h (FRAME_OBSTACK_CALLOC): Define
-
-2003-04-25 David Carlton <carlton@bactrian.org>
-
- * config/djgpp/fnchange.lst: Add testsuite/gdb.c++/maint.exp.
-
-2003-04-24 Adam Fedor <fedor@gnu.org>
-
- * objc-lang.c: Include "valprint.h"
- * Makefile.in (objc-lang.o): Update dependencies.
-
-2003-04-24 Adam Fedor <fedor@gnu.org>
-
- * objc-lang.c (FETCH_ARGUMENT, CONVERT_FUNCPTR): Remove
- architecture dependant compilation and mark as unimplemented
- (until they get put in the gdbarch vector).
-
-2003-04-23 David Carlton <carlton@bactrian.org>
-
- * cp-support.c (cp_find_first_component): Accept 'operator' in
- more locations.
-
-2003-04-23 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): Eliminate redundant
- indentation. Move "saved_async" and "old_cleanups" to where they
- are needed.
-
-2003-04-23 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): Eliminate the variables "rc"
- and "buffer". Move the "name" code to where it is needed.
-
-2003-04-23 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): Move variables "start_sp",
- "dummy", "sizeof_dummy1" and "dummy1" and corresponding dummy call
- code to ON_STACK switch branch.
-
-2003-04-23 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): Make declaration of "i",
- "sal", "bpt" and "old_sp" more local to their use. Delete #if
- lint.
-
-2003-04-23 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): Delete variable
- "n_method_args". Localize "param_type"'s declaration to the loop
- that it is used. Reinstate code assigning to said variable -
- deleted on 2002-06-14. Rationalize calls to value_args_coerce.
- Rationalize code using "param_type".
-
-2003-04-22 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c (call_function_by_hand): Use new variable "bp_addr" to
- compute the breakpoint address. Only call FIX_CALL_DUMMY when
- ON_STACK. Eliminate the variable "addr". Do not pass "real_pc"
- to DEPRECATED_PUSH_RETURN_ADDRESS.
-
-2003-04-22 Kevin Buettner <kevinb@redhat.com>
-
- * dwarf2loc.c (dwarf2_evaluate_loc_desc): Invoke DWARF2_REG_TO_REGNUM
- on the DWARF2 register number prior to fetching a register.
-
-2003-04-22 J. Brobecker <brobecker@gnat.com>
-
- * config/pa/tm-hppa.h (SOFT_FLOAT): Delete this macro.
- Update all the tests using SOFT_FLOAT considering the fact that
- this macro was always set to 0.
- * config/pa/tm-hppa64.h: Update all the tests using SOFT_FLOAT
- considering the fact that this macro was always set to 0.
- * hppa-tdep.h (hppa_store_return_value): Likewise.
- (hppa_extract_return_value): Likewise.
-
-2003-04-22 J. Brobecker <brobecker@gnat.com>
-
- * config/pa/tm-hppa.h: Remove obsolete code, was used by
- the hppa-pro target only.
-
-2003-04-21 J. Brobecker <brobecker@gnat.com>
-
- Ongoing multi-arch conversion effort for HP/UX:
- * config/pa/tm-hppa.h: Move all macro that are no longer
- defined now that GDB_MULTI_ARCH is now set to 1 from here...
- * config/pa/tm-hppa64.h: ... to here (hppa64 is not multiarch'ed yet).
-
-2003-04-21 J. Brobecker <brobecker@gnat.com>
-
- * config/pa/tm-hppa.h: Obsolete a section that was only used
- for hppa-pro.
-
-2003-04-21 J. Brobecker <brobecker@gnat.com>
-
- Ongoing multi-arch conversion for HP/UX.
- * config/pa/tm-hppa.h (GDB_MULTI_ARCH): Set to 1. Do not define
- if already defined (allows hppa64 to stay non-multiarched for now).
- * config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Define.
-
-2003-04-21 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (frame_id_eq): Fail when the code_addr's do not match.
-
-2003-04-21 Andrew Cagney <cagney@redhat.com>
-
- * i386-tdep.c (i386_gdbarch_init): Replace "mmx_num_regs" with
- "i386_num_mmx_regs".
-
-2003-04-21 Andrew Cagney <cagney@redhat.com>
-
- * infcall.c: New file.
- * infcall.h: New file.
- * valarith.c: Include "infcall.h".
- * scm-lang.c, objc-lang.cm, hppa-tdep.c, gcore.c: Ditto.
- * eval.c, ada-valprint.c, ada-lang.c: Ditto.
- * Makefile.in (valarith.o, scm-lang.o): Update dependencies.
- (objc-lang.o, hppa-tdep.o, gcore.o): Update dependencies.
- (eval.o, ada-valprint.o, ada-lang.o): Update dependencies.
- (SFILES): Add "infcall.c"
- (COMMON_OBS): Add "infcall.o".
- (infcall.o): Specify dependencies.
- * value.h (call_function_by_hand): Delete declaration.
- * inferior.h (run_stack_dummy): Delete declaration.
- * infcmd.c (breakpoint_auto_delete_contents): Move to "infcall.c".
- (run_stack_dummy): Move to "infcall.c", merged into
- call_function_by_hand.
- * valops.c (call_function_by_hand): Moved to "infcall.c".
- (find_function_addr, value_arg_coerce): Ditto.
- (unwindonsignal_p, coerce_float_to_double): Ditto.
- (_initialize_valops): Move "set/show coerce-float-to-double", and
- "set/show unwindonsignal" commands to "infcall.c".
- * v850-tdep.c, target.h: Update comments.
- * sparc-tdep.c (sparc_fix_call_dummy): Update comments.
- * sh-tdep.c (sh_init_extra_frame_info): Update comments.
- (sh64_init_extra_frame_info): Update comments.
- * mn10300-tdep.c: Update comments.
- * mcore-tdep.c (mcore_init_extra_frame_info): Update comments.
- * config/sparc/tm-sparc.h: Update comments.
- * breakpoint.h: Update comments.
- * avr-tdep.c (avr_init_extra_frame_info): Update comments.
- * arm-tdep.c: Update comment.
-
-2003-04-19 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c (i386_num_register_names): New variable.
- (i386_num_mmx_regs): Renamed from mmx_num_regs.
- (MM0_REGNUM): Remove redundant parentheses in define.
- (i386_mmx_regnum_p): Use i386_mmx_regnum instead of mmx_num_regs.
- (i386_fp_regnum_p, i386_fpc_regnum_p, i386_sse_regnum_p,
- i386_mxcsr_regnum_p): Remove redundant parentheses.
- (i386_register_name): Use i386_num_register_names.
-
- * i386-tdep.c (i386_extract_return_value,
- i386_store_return_value): Correct check for availability of
- floating-point registers.
-
- * i386-tdep.c (i386_frame_num_args): Remove function.
- (i386_gdbarch_init): Set frame_num_args to frame_num_args_unknown.
-
- * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Renamed from
- mmx_regnum_to_fp_regnum. Adjust all callers.
-
- * i386-tdep.c (i386_get_longjmp_target): Use
- TYPE_LENGTH(builtin_type_void_func_ptr) instead of TARGET_PTR_BIT
- and TARGET_CHAR_BIT. Use extract_typed_address instead of
- extract_address.
-
-2003-04-19 Mark Kettenis <kettenis@gnu.org>
-
- * core-regset.c: Update comments to reflect reality. Re-order
- includes.
- (fetch_core_registers): Use switch instead of if. Remove
- redundant prototype.
-
-2003-04-18 Jim Blandy <jimb@redhat.com>
-
- * s390-tdep.c (s390_frame_align): New function.
- (s390_gdbarch_init): Register it with the gdbarch object.
-
-2003-04-17 Richard Henderson <rth@redhat.com>
-
- * remote.c (minitelnet): Don't redeclare escape_count, echo_check.
-
-2003-04-17 Michael Snyder <msnyder@redhat.com>
- Karen Bennet <bennet@redhat.com>
-
- Committed by Elena Zannoni <ezannoni@redhat.com>
- * gdb_gcore.sh: New script to create a core dump of a process.
-
-2003-04-17 Elena Zannoni <ezannoni@redhat.com>
-
- * values.c (value_being_returned): Don't fetch the return
- value if the return type is void.
-
-2003-04-17 Jeff Johnston <jjohnstn@redhat.com>
-
- * thread-db.c: Reindented.
-
-2003-04-17 Jeff Johnston <jjohnstn@redhat.com>
-
- * gdb_indent.sh: Recognize td_thrhandle_t, td_event_msg_t,
- td_thr_events_t, td_notify_t, td_thr_iter_f, and td_thrinfo_t
- as types.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2003-04-16 Kevin Buettner <kevinb@redhat.com>
-
- * rs6000-tdep.c (rs6000_gdbarch_init): For the SysV ABI, set
- the size of ``long double'' to 16, instead of 8.
-
-2003-04-16 Mark Kettenis <kettenis@gnu.org>
-
- * i386-linux-nat.c: Add some whitespace to make things more
- readable.
- (fetch_register, store_register, fetch_inferior_registers,
- store_inferior_registers): Get rid of assignment in if-statement.
- (store_register): Fix typo in error message.
-
-2003-04-16 Andrew Cagney <cagney@redhat.com>
-
- * utils.c (xmmalloc): Always allocate something, matches
- libiberty/xmalloc's semantics.
- (xmrealloc, xmcalloc): Ditto.
-
-2003-04-16 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_prev_frame): Do not initialize "unwind" or "type",
- update comments.
- (get_frame_type): Initialize unwind and type when needed.
- (get_frame_id, frame_register_unwind): Ditto.
-
-2003-04-16 Andrew Cagney <cagney@redhat.com>
-
- * NEWS: Mention that sparclet-*-* and sparclite-*-* have been made
- obsolete.
- * sparc-tdep.c: Obsolete SPARCLET and SPARCLITE code.
- * sparcl-stub.c: Obsolete file.
- * config/sparc/tm-sparclet.h: Obsolete file.
- * sparclet-stub.c: Obsolete file.
- * sparclet-rom.c: Obsolete file.
- * sparcl-tdep.c: Obsolete file.
- * config/sparc/tm-sparclite.h: Obsolete file.
- * config/sparc/sparclite.mt: Obsolete file.
- * config/sparc/sparclet.mt: Obsolete file.
- * configure.tgt: Make sparclet-*-*, sparclite-*-*, and
- sparc86x-*-* obsolete.
-
-2003-04-15 David Carlton <carlton@math.stanford.edu>
-
- * Makefile.in (SFILES): Add cp-namespace.c.
- (COMMON_OBS): Add cp-namespace.o.
- (block.o): Depend on gdb_obstack_h and cp_support_h.
- (buildsym.o): Depend on cp_support_h.
- (cp-namespace.o): New.
- (cp-support.o): Depend on gdb_string_h, demangle_h, gdb_assert_h,
- gdb_obstack_h, symtab_h, symfile_h, and gdbcmd_h.
- (dwarf2read.o): Depend on cp_support_h.
- * jv-lang.c (get_java_class_symtab): Set BLOCK_NAMESPACE.
- * dwarf2read.c (process_die): Set processing_has_namespace_info,
- processing_current_namespace.
- (read_namespace): Update processing_current_namespace; check for
- anonymous namespaces.
- (dwarf2_name): New function.
- (dwarf2_extension): Ditto.
- * cp-support.h: Update copyright, contributors.
- Add inclusion guards.
- Add opaque declaration for structs obstack, block, symbol.
- (struct using_direct): New struct.
- Add declarations for cp_find_first_component,
- cp_entire_prefix_len, processing_has_namespace_info,
- processing_current_namespace, cp_is_anonymous,
- cp_add_using_directive, cp_initialize_namespace,
- cp_finalize_namespace, cp_set_block_scope,
- cp_scan_for_anonymous_namespaces.
- * cp-namespace.c: New file.
- * cp-support.c: Update copyright.
- Include ctype.h, gdb_assert.h, gdbcmd.h.
- New variable maint_cplus_cmd_list.
- (cp_find_first_component): New function.
- (cp_entire_prefix_len, maint_cplus_command)
- (first_component_command, _initialize_cp_support): Ditto.
- * buildsym.c: Include cp-support.h.
- New variable using_list.
- (add_symbol_to_list): Check for anonymous namespaces.
- (finish_block): Set block's scope.
- (start_symtab): Initialize C++ namespace support.
- (end_symtab): Finalize C++ namespace support.
- * block.h: Add opaque declarations for structs
- block_namespace_info, using_direct, and obstack.
- Add declarations for block_set_scope and block_set_using.
- (struct block): Add 'language_specific' member.
- (BLOCK_NAMESPACE): New macro.
- * block.c: Include gdb_obstack.h and cp-support.h.
- (struct block_namespace_info): New struct.
- (block_set_scope): New function.
- (block_set_using, block_initialize_namespace): Ditto.
-
-2003-04-14 Kevin Buettner <kevinb@redhat.com>
-
- * solib-svr4.c (svr4_have_link_map_offsets): New function.
- (locate_base): Return early if there aren't any link map offsets.
- (svr4_solib_create_inferior_hook): Warn if shared library support
- is unavailable.
-
-2003-04-14 David Carlton <carlton@math.stanford.edu>
-
- * symtab.c (symbol_set_names): Add prefix when storing Java names
- in hash table. Fix for PR java/1039.
-
-2003-04-14 David Carlton <carlton@math.stanford.edu>
-
- * symtab.c (symbol_set_names): Rename 'name' arg to
- 'linkage_name', and 'tmpname' variable to 'linkage_name_copy'.
- * symtab.h: Change 'name' argument in declaration of
- symbol_set_names to 'linkage_name'.
- (SYMBOL_SET_NAMES): Change 'name' argument to 'linkage_name'.
-
-2003-04-14 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (mips_read_sp): Do not apply ADDR_BITS_REMOVE,
- return the fully sign-extended register value.
- (get_frame_pointer): Ditto.
- (mips_pop_frame): Initialize "proc_desc" after checking for a
- dummy frame.
-
-2003-04-14 Andrew Cagney <cagney@redhat.com>
-
- * mips-tdep.c (mips_push_dummy_frame): Delete function.
- (MASK, PUSH_FP_REGNUM, GEN_REG_SAVE_MASK): Delete macros.
- (FLOAT_REG_SAVE_MASK, FLOAT_SINGLE_REG_SAVE_MASK): Delete macro.
- (mips_push_register): Delete function.
- (mips_dump_tdep): Delete references to GEN_REG_SAVE_MASK and
- PUSH_FP_REGNUM.
-
-2003-04-14 Jim Blandy <jimb@redhat.com>
-
- * symmisc.c: #include "gdb_regex.h".
- (maintenance_list_symtabs, maintenance_list_psymtabs): New
+ (sparc64fbsd_core_fns): Remove variable.
+ (sparc64fbsd_supply_gregset, sparc64fbsd_supply_fpregset): New
functions.
- * maint.c (maintenance_list_command): New function.
- (_initialize_maint_cmds): Register the above as commands.
- * symtab.h (maintenance_list_symtabs,
- maintenance_list_psymtabs): New declarations.
- * cli/cli-cmds.c (maintenancelistlist): New variable.
- (init_cmd_lists): Initialize it.
- * cli/cli-cmds.h (maintenancelistlist): New declaration.
- * gdbcmd.h (maintenancelistlist): New declaration.
- * Makefile.in (symmisc.o): Update dependencies.
-
-2003-04-14 Elena Zannoni <ezannoni@redhat.com>
-
- * s390-nat.c: Include asm/types.h for addr_t.
-
-2003-04-14 Corinna Vinschen <vinschen@redhat.com>
-
- * cp-valprint.c (cp_print_class_method): Call unpack_pointer() with
- actually incoming type.
-
-2003-04-13 Andrew Cagney <cagney@redhat.com>
-
- * ppc-linux-tdep.c: Use get_frame_base, get_frame_pc,
- get_next_frame and get_frame_saved_regs.
-
-2003-04-13 Andrew Cagney <cagney@redhat.com>
-
- * reggroups.c (default_register_reggroup_p): Use NUM_REGS instead
- of gdbarch_num_regs.
-
-2003-04-13 Andrew Cagney <cagney@redhat.com>
-
- * frame.h: Mention what replaced what in "struct frame_info".
- * hppa-hpux-tdep.c: Use get_frame_base, get_frame_pc and
- deprecated_update_frame_base_hack and
- deprecated_update_frame_pc_hack.
- * hppa-tdep.c: Ditto.
-
-2003-04-13 Daniel Jacobowitz <drow@mvista.com>
+ (sparc64fbsd_init_abi): Initialize TDEP->gregset,
+ TDEP->sizeof_gregset, TDEP->fpregset and TDEP->sizeof_gregset.
+ (_initialize_sparc64fbsd_tdep): Remove call to add_core_fns.
- * dwarf2expr.h (struct dwarf_expr_context): Remove extra arguments
- to read_reg and update its comment. Remove regnum member.
- * dwarf2expr.c (execute_stack_op): Remove memaddr and expr_lval.
- Don't call read_reg when setting in_reg. Call read_reg to get
- the frame base if it's in a register. Return the register number
- on the stack instead of in the context. Remove extra arguments
- to read_reg.
- * dwarf2loc.c (dwarf_expr_read_reg): Remove extra arguments.
- (dwarf2_evaluate_loc_desc): Call value_from_register. Expect
- the register number on the expression stack.
- (needs_frame_read_reg): Remove extra arguments.
-
-2003-04-13 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2expr.c (dwarf2_read_address): Renamed from read_address;
- made non-static.
- (execute_stack_op): All callers updated.
- * dwarf2expr.h: Add prototype for dwarf2_read_address.
- * dwarf2loc.c (find_location_expression): New function.
- (dwarf_expr_frame_base): Call it.
- (dwarf2_evaluate_loc_desc): Handle 0-length location expressions.
- (dwarf2_tracepoint_var_ref): New function, broken out from
- locexpr_tracepoint_var_ref.
- (locexpr_tracepoint_var_ref): Call dwarf2_tracepoint_var_ref.
- Make static.
- (loclist_read_variable, loclist_read_needs_frame): New functions.
- (loclist_describe_location, loclist_tracepoint_var_ref): New
+ * sparcnbsd-tdep.c: Include "regset.h".
+ (fetch_core_registers): Remove function.
+ (sparcnbsd_core_fns, sparcnbsd_elfcore_fns): Remove varaibles.
+ (sparc32nbsd_supply_gregset, sparc32nbsd_supply_fpregset): New
functions.
- (dwarf2_loclist_funcs): New struct location_funcs.
- * dwarf2loc.h (struct dwarf2_loclist_baton): New type.
- (struct dwarf2_locexpr_baton): Add comments.
- (dwarf2_loclist_funcs): New extern.
- * dwarf2read.c (struct comp_unit_head): Remove DIE member, add
- base_address and base_known.
- (dwarf_loc_buffer): New variable.
- (struct dwarf2_pinfo): Add dwarf_loc_buffer and dwarf_loc_size.
- (DWARF_LOC_BUFFER, DWARF_LOC_SIZE): New macros.
- (dwarf2_has_info): Initialize dwarf_loc_offset.
- (dwarf2_build_psymtabs): Read in .debug_loc.
- (dwarf2_build_psymtabs_hard): Use DWARF_LOC_BUFFER and
- DWARF_LOC_SIZE.
- (psymtab_to_symtab_1): Likewise. Move base address calculation
- here, from...
- (dwarf2_get_pc_bounds): ... here. Use the base address from
- cu_header.
- (dwarf2_symbol_mark_computed): Handle location lists.
-
-2003-04-13 Daniel Jacobowitz <drow@mvista.com>
-
- * minsyms.c (install_minimal_symbols): Only switch to gnu-v3 mode
- if the linkage name demangled successfully.
-
-2003-04-13 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c (att_flavour, intel_flavour, valid_flavours,
- disassmbly_flavour): Removed.
-
- * x86-64-tdep.c (gdb_print_insn_x86_64): Removed.
-
-2003-04-13 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c (x86_64_breakpoint_from_pc): Removed.
-
-2003-04-12 Andrew Cagney <cagney@redhat.com>
-
- * frame.h (struct frame_info): Move definition from here ...
- * frame.c (struct frame_info): ... to here.
-
-2003-04-12 Andrew Cagney <cagney@redhat.com>
-
- * gdbthread.h (save_infrun_state): Delete parameter
- "prev_func_start".
- (struct thread_info): Delete field "prev_func_start".
- (load_infrun_state): Ditto.
- * thread.c (load_infrun_state, save_infrun_state): Update.
- * infrun.c (prev_func_start): Delete variable.
- (context_switch, init_wait_for_inferior): Update.
- (stop_stepping, keep_going): Update.
-
-2003-04-12 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Add missing opaque declarations.
- * gdbarch.h: Regnerate.
- * symtab.h: Add missing opaque declarations.
- * value.h, target.h, symfile.h, stabsread.h: Ditto.
- * x86-64-tdep.h, xmodem.h, monitor.h, typeprint.h: Ditto.
- * srec.h, solib-svr4.h, source.h, inferior.h: Ditto.
- * ser-unix.h, serial.h, remote-utils.h, gdbcore.h: Ditto.
- * ppc-tdep.h, ocd.h, mips-tdep.h, gdbtypes.h: Ditto.
- * buildsym.h, builtin-regs.h, linespec.h, language.h: Ditto.
- * i387-tdep.h, gdbthread.h, event-top.h, gdb.h: Ditto.
- * dwarf2cfi.h, doublest.h, disasm.h, cp-abi.h: Ditto.
- * cli-out.h, c-lang.h, ax-gdb.h, arch-utils.h: Ditto.
- * ada-lang.h, config/nm-lynx.h, config/nm-linux.h: Ditto.
- * config/sparc/tm-sp64.h, config/rs6000/tm-rs6000.h: Ditto.
- * config/pa/tm-hppah.h, config/m68k/tm-delta68.h: Ditto.
- * cli/cli-setshow.h, cli/cli-script.h: Ditto.
-
-2003-04-11 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_frame_id): Return this frame's "id".
- (legacy_get_prev_frame): Set prev's frame ID code_addr to the
- function start.
- (legacy_saved_regs_this_id): Replace function body with
- internal-error.
- (deprecated_frame_xmalloc): Mark the frame ID as valid, use
- FRAME_OBSTACK_ZALLOC.
- (create_new_frame): Mark the frame ID as valid.
-
-2003-04-11 Alexandre Oliva <aoliva@redhat.com>
-
- * Makefile.in (libbfd_h): Added missing setting.
- * mips-tdep.c (mips_gdbarch_init): Set disassembler_options
- according to the selected ABI.
-
-2003-04-11 Jeff Johnston <jjohnstn@redhat.com>
-
- * gdb_indent.sh: Recognize pid_t and sigset_t as types.
-
-2003-04-11 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_SAVED_PC_AFTER_CALL): Deprecate
- SAVED_PC_AFTER_CALL.
- * gdbarch.h, gdbarch.c: Regenerate.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- (ia64_saved_pc_after_call): Update declaration.
- * i386ly-tdep.c (i386lynx_init_abi): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
- * ns32knbsd-nat.c (frame_num_args): Update.
- * ns32k-tdep.c (umax_frame_num_args): Update.
- * mips-tdep.c (mips_init_frame_pc_first): Update.
- * infrun.c (step_over_function): Update.
- * i386-linux-tdep.c (skip_hurd_resolver): Update.
- * i386-interix-tdep.c (i386_interix_back_one_frame): Update.
- * config/sparc/tm-sparc.h (DEPRECATED_SAVED_PC_AFTER_CALL): Update.
- (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
- * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
- * config/pa/tm-hppa.h (DEPRECATED_SAVED_PC_AFTER_CALL): Update.
- * arm-linux-tdep.c (skip_hurd_resolver): Update.
- * arch-utils.c (init_frame_pc_default): Update.
- * alpha-tdep.c (alpha_init_frame_pc_first): Update.
- * x86-64-tdep.h (x86_64_linux_saved_pc_after_call): Update
- declaration.
-
-2003-04-11 Andrew Cagney <cagney@redhat.com>
-
- * i387-tdep.c: Update copyright.
- (i387_to_double): Delete function.
- (double_to_i387): Delete function.
-
-2003-04-10 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (d10v_frame_this_id): Set the code addr to the
- frame's function's address. Simplify.
- (d10v_frame_unwind_cache): Check that the frame's function is
- non-zero.
-
-2003-04-10 Jim Blandy <jimb@redhat.com>
-
- * s390-tdep.c (s390_gdbarch_init): Put back accidentally deleted
- call to set_gdbarch_deprecated_push_arguments.
-
-2003-04-10 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (fprint_frame_id): New function.
- (fprint_frame_type, fprint_frame): New function.
- (frame_pc_unwind, frame_func_unwind): Add/update trace code.
- (create_sentinel_frame, get_frame_id): Ditto.
- (frame_id_p, frame_id_eq): Ditto.
- (frame_id_inner, create_new_frame): Ditto.
- (legacy_get_prev_frame, get_prev_frame): Ditto.
- (deprecated_update_frame_pc_hack): Ditto.
- (frame_register_unwind): Ditto.
- (deprecated_update_frame_base_hack): Ditto.
-
-2003-04-10 Corinna Vinschen <vinschen@redhat.com>
-
- * i386-cygwin-tdep.c (i386_cygwin_frame_chain): New function.
- (i386_cygwin_init_abi): Set i386_cygwin_frame_chain as new
- frame_chain function.
- * Makefile.in: Add dependencies due to above change.
-
-2003-04-10 Corinna Vinschen <vinschen@redhat.com>
-
- * blockframe.c (legacy_frame_chain_valid): Move call to
- DEPRECATED_FRAME_CHAIN_VALID before calls to inside_entry_func and
- inside_entry_file.
-
-2003-04-09 Andrew Cagney <cagney@redhat.com>
-
- * frame.h (struct frame_id): Replace "pc" and "base" with
- "stack_addr" and "code_addr". Update comments.
- (frame_id_build): Update parameter names and comment.
- (struct frame_info): Replace "id_p" and "id" with "this_id".
- * dummy-frame.c (dummy_frame_this_id): Update.
- * breakpoint.c (print_one_breakpoint): Update.
- * frame.c (get_frame_id): Update.
- (get_frame_base, frame_id_build): Update.
- (create_sentinel_frame, legacy_get_prev_frame): Update.
- (deprecated_update_frame_base_hack): Update.
- (frame_id_p, frame_id_eq): Rework, return 0 when an invalid ID.
- (frame_id_inner): Ditto.
-
-2003-04-09 Andrew Cagney <cagney@redhat.com>
-
- * defs.h (gdb_print_host_address): Make "addr" parameter a
- pointer constant.
- * utils.c (gdb_print_host_address): Update.
-
-2003-04-09 Kevin Buettner <kevinb@redhat.com>
-
- * rs6000-tdep.c (frame_get_saved_regs): Don't assume that the
- register number for R0 is 0.
-
-2003-04-09 J. Brobecker <brobecker@gnat.com>
-
- * frame.h (struct gdbarch): Add opaque structure definition
- to avoid a compilation warning on LynxOS 4.0.
-
-2003-04-09 Andrew Cagney <cagney@redhat.com>
-
- * frame.h (struct frame_info): Delete field "pc". Replace
- "pc_unwind_cache" and "pc_unwind_cache_p" with "prev_pc"
- structure.
- * frame.c (frame_pc_unwind): Update.
- (create_sentinel_frame): Do not set "pc".
- (get_prev_frame): Do not set "pc". Use frame_pc_unwind.
- (get_frame_pc): Call frame_pc_unwind.
- (deprecated_update_frame_pc_hack): Update.
- (create_new_frame): Use "pc" not "->pc".
-
-2003-04-09 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_frame_id): Eliminate code updating "frame".
- (legacy_get_prev_frame): Ditto.
- (get_frame_base): Return id.base directly.
- (deprecated_update_frame_base_hack): Update "id.base".
- * frame.h (struct frame_info): Delete field "frame".
-
-2003-04-09 Andrew Cagney <cagney@redhat.com>
-
- * NEWS: Mention that the "Sequent family" is obsolete.
- * configure.tgt: Obsolete i[3456]86-sequent-bsd*,
- i[3456]86-sequent-sysv4*, and i[3456]86-sequent-sysv*.
- * configure.host: Obsolete i[3456]86-sequent-bsd*,
- i[3456]86-sequent-sysv4*, and i[3456]86-sequent-sysv*.
- * config/i386/tm-ptx4.h: Obsolete file.
- * config/i386/tm-ptx.h: Obsolete file.
- * symm-tdep.c: Obsolete file.
- * config/i386/symmetry.mt: Obsolete file.
- * config/i386/tm-symmetry.h: Obsolete file.
- * symm-nat.c: Obsolete file.
- * config/i386/nm-symmetry.h: Obsolete file.
- * config/i386/xm-symmetry.h: Obsolete file.
- * config/i386/symmetry.mh: Obsolete file.
- * config/i386/nm-ptx4.h: Obsolete file.
- * config/i386/ptx4.mh: Obsolete file.
- * config/i386/ptx.mt: Obsolete file.
- * config/i386/ptx.mh: Obsolete file.
- * config/i386/xm-ptx4.h: Obsolete file.
- * config/i386/xm-ptx.h: Obsolete file.
-
-2003-04-09 Andrew Cagney <cagney@redhat.com>
-
- Obsolete mips*-*-mach3*.
- * NEWS: Mention that mips*-*-mach3* is obsolete.
- * m3-nat.c: Obsolete file.
- * config/nm-m3.h: Obsolete file.
- * config/mips/tm-mipsm3.h: Obsolete file.
- * config/mips/mipsm3.mt: Obsolete file.
- * config/mips/mipsm3.mh: Obsolete file.
- * config/mips/xm-mipsm3.h: Obsolete file.
- * mipsm3-nat.c: Obsolete file.
- * configure.host: Obsolete mips-dec-mach3*.
- * configure.tgt: Obsolete mips*-*-mach3*.
-
-2003-04-09 Andrew Cagney <cagney@redhat.com>
-
- * doublest.h: Update copyright.
- (deprecated_store_floating, deprecated_extract_floating): Rename
- store_floating and extract_floating. Update comments.
- * doublest.c: Update copyright.
- (extract_floating_by_length): Replace extract_floating.
- (store_floating_by_length): Replace store_floating.
- (deprecated_extract_floating): New function.
- (deprecated_store_floating): New function.
- (extract_typed_floating): Call extract_floating_by_length.
- (store_typed_floating): Call store_floating_by_length.
- * x86-64-tdep.c (x86_64_store_return_value): Update.
- * sh-tdep.c (sh3e_sh4_extract_return_value): Update.
- (sh64_extract_return_value): Update.
- (sh_sh4_register_convert_to_virtual): Update.
- (sh_sh64_register_convert_to_virtual): Update.
- (sh_sh4_register_convert_to_raw): Update.
- (sh_sh64_register_convert_to_raw): Update.
- * rs6000-tdep.c (rs6000_register_convert_to_virtual): Update.
- (rs6000_register_convert_to_raw): Update.
- * ia64-tdep.c (ia64_register_convert_to_virtual): Update.
- (ia64_register_convert_to_raw): Update.
- * config/i386/tm-symmetry.h (REGISTER_CONVERT_TO_RAW): Update.
- (REGISTER_CONVERT_TO_VIRTUAL): Update.
- * arm-linux-tdep.c (arm_linux_push_arguments): Update.
- * alpha-tdep.c (alpha_register_convert_to_virtual): Update.
- (alpha_register_convert_to_raw): Update.
-
-2003-04-08 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (SAVED_PC_AFTER_CALL): Add a predicate.
- * gdbarch.h, gdbarch.c: Re-generate.
- * d10v-tdep.c (d10v_saved_pc_after_call): Delete function.
- (d10v_gdbarch_init): Do not set saved_pc_after_call.
- * infrun.c (step_over_function): Call SAVED_PC_AFTER_CALL_P
- conditionally, use frame_pc_unwind as an alternative. Add
- comments.
- * arch-utils.c (init_frame_pc_default): Only call
- SAVED_PC_AFTER_CALL when available.
-
-2003-04-08 Elena Zannoni <ezannoni@redhat.com>
-
- * infrun.c (stop_soon): Rename from stop_soon_quietly.
- (struct inferior_status): Rename stop_soon_quietly field to stop_soon.
- (clear_proceed_status): Rename stop_soon_quietly to stop_soon.
- (start_remote): Ditto.
- (handle_inferior_event): Ditto.
- (save_inferior_status): Ditto.
- (restore_inferior_status): Ditto.
- * infcmd.c (attach_command): Ditto.
- * fork-child.c (startup_inferior): Ditto.
- * inferior.h (stop_soon): Rename from stop_soon_quietly.
- * alpha-tdep.c (heuristic_proc_start): Ditto.
- * mips-tdep.c (heuristic_proc_start): Ditto.
- * solib-svr4.c (svr4_solib_create_inferior_hook): Ditto.
- * solib-sunos.c (sunos_solib_create_inferior_hook): Ditto.
- * solib-osf.c (osf_solib_create_inferior_hook): Ditto.
- * solib-irix.c (irix_solib_create_inferior_hook): Ditto.
- * remote-vx.c (vx_create_inferior): Ditto.
-
-2003-04-08 Elena Zannoni <ezannoni@redhat.com>
-
- * infrun.c (stop_soon_quietly): Make it an enum, to better
- override the default behavior of handle_inferior_event.
- (clear_proceed_status): Update uses of stop_soon_quietly to
- reflect that it is now an enum.
- (start_remote): Ditto.
- (handle_inferior_event): Change logic a bit if stop_soon_quietly
- is set to handle the new GNU/Linux kernel behavior for
- attach/sigstop. Update uses of stop_soon_quietly.
- * inferior.h (enum stop_kind): New enum.
- * infcmd.c (attach_command): Use STOP_QUIETLY_NO_SIGSTOP.
- Reset normal handle_inferior_event behavior, afterwards.
- * fork-child.c (startup_inferior): Update.
- * alpha-tdep.c (heuristic_proc_start): Update.
- * solib-svr4.c (svr4_solib_create_inferior_hook): Update.
- * solib-sunos.c (sunos_solib_create_inferior_hook): Update.
- * solib-osf.c (osf_solib_create_inferior_hook): Update.
- * solib-irix.c (irix_solib_create_inferior_hook): Update.
- * remote-vx.c (vx_create_inferior): Update.
- * mips-tdep.c (heuristic_proc_start): Update.
-
-2003-04-07 Elena Zannoni <ezannoni@redhat.com>
-
- * disasm.c (dump_insns): Move variables inside loop, or they will
- be freed more than once, causing wild memory corruptions.
- (gdb_disassembly): Look for the substring "-thread",
- instead of "-threads" in the target name, to make sure to find
- the 'multi-thread' target. Also, make sure we do the right thing
- with the "core" target.
-
-2003-04-07 Kevin Buettner <kevinb@redhat.com>
-
- * mips-tdep.c (mips_print_fp_register): New function, created from
- do_fp_register_row(). Registers are now (also) printed as hex.
- Only one register is printed per row.
- (mips_print_register, do_fp_register_row): Print floating point
- registers with mips_print_fp_register().
-
-2003-04-06 Andrew Cagney <cagney@redhat.com>
-
- * valprint.h (inspect_it): Add extern declaration.
- * objc-lang.c (value_nsstring): Avoid assignment inside of "if".
- (selectors_info, classes_info): Ditto.
- (find_objc_msgcall): Fix indentation.
- (objc_printstr): Delete extern declarations.
-
- * arm-tdep.c (arm_frameless_function_invocation): Fix typo.
-
-2003-04-06 Andrew Cagney <cagney@redhat.com>
-
- * frame.h (legacy_frame_chain_valid): Rename frame_chain_valid.
- Update comment.
- * frame.c (legacy_saved_regs_this_id): Update.
- (legacy_get_prev_frame): Update.
- * xstormy16-tdep.c: Update comment.
- * sparc-tdep.c (sparc_frame_chain): Update comment.
- * blockframe.c (legacy_frame_chain_valid): Update.
-
-2003-04-06 Andrew Cagney <cagney@redhat.com>
-
- * valprint.c (val_print_type_code_int): Delete #ifdef
- PRINT_TYPELESS_INTEGER code.
-
- * gdbarch.sh (DEPRECATED_USE_GENERIC_DUMMY_FRAMES)
- (CALL_DUMMY_LOCATION, DEPRECATED_PC_IN_CALL_DUMMY): Allow partial
- multi-arch definition.
- * gdbarch.h: Re-generate.
-
-2003-04-05 Andrew Cagney <cagney@redhat.com>
-
- Eliminate FRAME_FIND_SAVED_REGS.
- * config/pa/tm-hppah.h (hppa_hpux_frame_find_saved_regs_in_sigtramp):
- Change FSR parameter to a pointer.
- * config/pa/tm-hppa64.h (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP):
- Assume FSR parameter is a pointer.
- * hppa-hpux-tdep.c (hppa_hpux_frame_find_saved_regs_in_sigtramp):
- Make fsr a pointer.
- * hppa-tdep.c (hppa_frame_find_saved_regs): New function.
- (hppa_frame_saved_pc): Call hppa_frame_init_saved_regs. Make
- saved_regs a pointer.
- (hppa_frame_saved_pc): Ditto.
- (find_dummy_frame_regs): Make frame_saved_regs a pointer
- (hppa_pop_frame): Call hppa_frame_init_saved_regs. Make fsr a
- pointer.
- (restore_pc_queue): Make fsr a pointer.
- (hppa_frame_find_saved_regs): Make frame_saved_regs a pointer.
- (hppa_frame_chain): Make saved_regs a pointer, call
- hppa_frame_init_saved_regs.
- * sparc-tdep.c: Include "gdb_assert.h".
- (sparc_frame_find_saved_regs): Replace internal_error with
- gdb_assert.
- * remote-vxsparc.c (vx_read_register): Delete reference to
- FRAME_FIND_SAVED_REGS.
- * gdbarch.sh: Delete check for FRAME_FIND_SAVED_REGS.
- * gdbarch.h: Regenerate.
- * frame.h (DEPRECATED_FRAME_INIT_SAVED_REGS): Delete macro.
- (deprecated_get_frame_saved_regs): Delete declaration.
- (struct frame_saved_regs): Delete definition.
- * frame.c (deprecated_get_frame_saved_regs): Delete function.
- * config/pa/tm-hppa.h (hppa_frame_init_saved_regs): Declare.
- (hppa_frame_find_saved_regs): Delete declaration.
- (FRAME_FIND_SAVED_REGS): Delete macro.
- (DEPRECATED_FRAME_INIT_SAVED_REGS): Define.
- * config/i386/tm-ptx.h (FRAME_FIND_SAVED_REGS): Delete
- FRAME_FIND_SAVED_REGS in comment.
-
-2003-04-05 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (frame_func_unwind, get_frame_func): New functions.
- * frame.h (get_frame_func, frame_func_unwind): Declare.
- (struct frame_info): Add field "prev_func" for caching the
- previous frame's function address.
- * arm-tdep.c (arm_frameless_function_invocation): Combine
- get_pc_function_start and get_frame_pc into get_frame_func.
- * sh-tdep.c (sh_nofp_frame_init_saved_regs): Ditto.
- (sh64_nofp_frame_init_saved_regs): Ditto.
- * s390-tdep.c (s390_function_start): Ditto.
- * rs6000-tdep.c (rs6000_pop_frame): Ditto.
- (rs6000_frameless_function_invocation): Ditto.
- (rs6000_frame_saved_pc): Ditto.
- * m68k-tdep.c (m68k_frame_init_saved_regs): Ditto.
- * ia64-tdep.c (ia64_frame_init_saved_regs): Ditto.
- * i386-tdep.c (i386_frameless_signal_p): Ditto.
- (i386_frame_init_saved_regs): Ditto.
- * hppa-tdep.c (hppa_frame_find_saved_regs): Ditto.
- * d10v-tdep.c (d10v_frame_unwind_cache): Combine
- get_pc_function_start and frame_pc_unwind into frame_func_unwind.
- * cris-tdep.c (cris_frame_init_saved_regs): Ditto.
- * blockframe.c (frameless_look_for_prologue): Ditto.
-
-2003-04-05 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (legacy_get_prev_frame): Link prev to next at the
- function start. Update comments.
-
-2003-04-05 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_frame_id): Update comment.
- (legacy_get_prev_frame): Update comment.
- * gdbarch.sh: Delete check for EXTRA_FRAME_INFO.
- * gdbarch.h: Regenerate.
- * config/sparc/tm-sparc.h (EXTRA_FRAME_INFO): Delete.
- * frame.h: Delete #ifdef EXTRA_FRAME_INFO code.
-
-2003-04-05 Andrew Cagney <cagney@redhat.com>
-
- * stack.c (print_frame_info): Use get_frame_pc.
-
-2003-04-04 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_prev_frame): Do not call frame_type_from_pc. Set
- the frame's type from the unwinder.
- (get_frame_type): Map UNKNOWN_FRAME onto NORMAL_FRAME.
- (create_new_frame, legacy_get_prev_frame): When the unwinder's
- type isn't UNKNOWN_FRAME, initalize "type" from the unwinder.
- (get_frame_base_address): Use get_frame_type.
- (get_frame_locals_address, get_frame_args_address): Ditto.
- (legacy_saved_regs_unwinder): Set the type to UNKNOWN_TYPE.
- * frame.h (enum frame_type): Add UNKNOWN_FRAME.
- (struct frame_info): Add comment explaining why the frame contains
- a "type" field.
- * dummy-frame.c (dummy_frame_unwind): Set the type to DUMMY_FRAME.
- * d10v-tdep.c (d10v_frame_unwind): Set the type to NORMAL_FRAME.
- * sentinel-frame.c (sentinel_frame_unwinder): Set the type to
- NORMAL_FRAME.
- * frame-unwind.h: Include "frame.h".
- (struct frame_unwind): Add "type" field.
- * Makefile.in (frame_unwind_h): Add $(frame_h).
-
-2003-04-04 Andrew Cagney <cagney@redhat.com>
-
- * x86-64-tdep.c (x86_64_unwind_dummy_id): Use frame_id_build.
- * dummy-frame.c (dummy_frame_this_id): Use frame_id_build.
- * d10v-tdep.c (d10v_frame_this_id): Use get_frame_pc and
- get_frame_base.
- (d10v_unwind_dummy_id): Use frame_id_build.
- * frame.c (find_frame_sal): Use get_frame_pc.
- (create_new_frame): Use deprecated_update_frame_pc_hack and
- deprecated_update_frame_base_hack.
- (create_sentinel_frame): Add comment about ->pc going away.
- (get_prev_frame): Add comment about ->pc going away.
- (legacy_get_prev_frame): Use get_frame_base, get_frame_pc,
- frame_id_build, deprecated_update_frame_pc_hack and
- deprecated_update_frame_base_hack.
- (select_frame): Use get_frame_pc.
- (legacy_saved_regs_this_id): Use frame_id_build.
-
-2003-04-04 Elena Zannoni <ezannoni@redhat.com>
-
- * x86-64-tdep.c (x86_64_push_arguments): Handle correctly the
- signed integer case.
- (classify_argument): Handle enumerations and references.
-
-2003-04-04 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (create_sentinel_frame): Initialize the sentinel frame's
- ID to NULL.
-
-2003-04-01 Adam Fedor <fedor@gnu.org>
-
- * gdb/objc-lang.c (selectors_info): Replace calls to
- SYMBOL_DEMANGLED_NAME and DEPRECATED_SYMBOL_NAME with
- SYMBOL_NATURAL_NAME.
- (classes_info, find_methods): Likewise.
-
-2003-04-03 Kevin Buettner <kevinb@redhat.com>
-
- * rs6000-tdep.c (rs6000_gdbarch_init): For xcoff executables, set
- ``mach'' to the value determined by bfd_default_set_arch_mach().
-
-2003-04-02 Bob Rossi <bob_rossi@cox.net>
-
- * Makefile.in (SUBDIR_MI_OBS): Add "mi-cmd-file.o".
- (SUBDIR_MI_SRCS): Add "mi-cmd-file.c".
- (mi-cmd-file.o): Update dependencies.
-
-2003-04-01 Kevin Buettner <kevinb@redhat.com>
-
- * mips-tdep.c (mips_dwarf_dwarf2_ecoff_reg_to_regnum)
- (mips_stab_reg_to_regnum): Add mappings for HI_REGNUM and LO_REGNUM.
-
-2003-04-01 Adam Fedor <fedor@gnu.org>
-
- * Makefile.in (c_lang.o, jv_lang.o, language.o): Add $(demangle_h).
- * language.h (struct language_defn): Add la_demangle.
- (language_demangle): Declare.
- * language.c (language_demangle): New function.
- (unk_lang_demangle): Likewise.
- (unknown_language_defn, auto_language_defn, local_language_defn):
- Add ukn_lang_demangle.
- * ada-lang.c (ada_language_defn): Add NULL for la_demangle element.
- * f-lang.c, m2-lang.c, p-lang.c, scm-lang.c: Likewise.
- * c-lang.c (c_language_defn, asm_language_defn): Likewise.
- (cplus_language_defn): Add cplus_demangle for la_demangle element.
- * jv-lang.c (java_demangle): New function
- (java_language_defn): Use it for la_demangle element.
- * objc-lang.c (objc_demangle): Add options argument
- (objc_language_defn): Use objc_demangle for la_demangle element.
- * maint.c (maintenance_demangle): Replace switch with
- call to language_demangle.
- * utils.c (fprintf_symbol_filtered): Likewise.
-
-2003-04-01 Andrew Cagney <cagney@redhat.com>
-
- * printcmd.c (print_frame_nameless_args): Delete #ifdef
- NAMELESS_ARG_VALUE, PRINT_NAMELESS_INTEGER and
- PRINT_TYPELESS_INTEGER.
- * config/sparc/tm-sp64.h (DEPRECATED_PUSH_RETURN_ADDRESS): Rename
- PUSH_RETURN_ADDRESS.
-
-2003-04-01 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (d10v-tdep.o): Update dependencies.
- * d10v-tdep.c: Include "frame-base.h".
- (d10v_frame_unwind): Make constant.
- (d10v_frame_base_address): New function.
- (d10v_frame_base): New variable.
- (d10v_gdbarch_init): Set frame_base default.
- (struct d10v_unwind_cache): Add the field "prev_sp". Update
- comment for base.
- (d10v_frame_unwind_cache): Set and use "prev_sp".
- (d10v_frame_this_id): Use the previous frame's inner most stack
- address and this frame's func address for the frame ID. Use
- frame_id_build. Don't analyze beyond the current instruction.
-
-2003-04-01 Andrew Cagney <cagney@redhat.com>
-
- * frame.h (get_frame_locals_address, get_frame_args_address):
- Refer to the base address, instead of the address of the first
- local or parameter.
+ (sparc32nbsd_init_abi): Initialize TDEP->gregset and
+ TDEP->fpregset.
+ (_initialize_sparcnbsd_tdep): Remove calls to add_core_fns.
+
+ * sparc-tdep.h (struct regset): Provide opaque declaration.
+ (struct gdbarch_tdep): Add gregset, sizeof_gregset,
+ fpregset and sizeof_fpregset members.
+ * sparc-tdep.c (struct regset): Provide opaque declaration.
+ (sparc_regset_from_core_section): New function.
+ (sparc32_gdbarch_init): Initialize TDEP->gregset,
+ TDEP->sizeof_gregset, TDEP->fpregset and TDEP->sizeof_fpregset.
+ Set regset_from_core_section when appropriate.
+
+2004-01-10 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (amd64_non_pod_p): New function.
+ (amd64_classify_aggregate): Return class memory for non-POD
+ C++ structure types.
+
+ * x86-64-tdep.c (amd64_push_arguments): Add struct_return
+ argument. Use it to reserve a register if necessary.
+ (amd64_push_dummy_call): Pass STRUCT_RETURN in call to
+ amd64_push_arguments.
+
+ * x86-64-tdep.c (amd64_classify_aggregate): Ignore static fields.
+
+ * x86-64-tdep.c (amd64_register_info): Add %cs and %ss. Adjust
+ register numbers in comments.
+ * x86-64-tdep.h: Update copyright year.
+ (X86_64_ST0_REGNUM, X86_64_XMM0_REGNUM, X86_64_XMM1_REGNUM):
+ Adjust for addition of %cs and %ss.
+ * amd64fbsd-nat.c: Update copyright year.
+ (reg_offset): Add register offsets for %cs and %ss.
+ * amd64fbsd-tdep.c: Update copyright year.
+ (amd64fbsd_r_reg_offset): Add register offsets for %cs and %ss.
+ (amd64fbsd_sc_reg_offset): Likewise.
+ * x86-64-linux-nat.c: Update copyright year.
+ (x86_64_linux_gregset64_reg_offset): Add register offsets for %cs
+ and %ss.
+ * amd64nbsd-nat.c: Update copyright year.
+ (amd64nbsd32_r_reg_offset): Add register offsets for %cs and %ss.
+ * amd64nbsd-tdep.c: Update copyright year.
+ (amd64nbsd_r_reg_offset): Add register offsets for %cs and %ss.
+ * x86-64-linux-tdep.c: Update copyright year.
+ (user_to_gdb_regmap): Add mapping for %cs and %ss.
+ (x86_64_linux_sc_reg_offset): Adjust for addition of %cs and %ss.
+ * regformats/reg-x86-64.dat: Add %cs and %ss.
+
+ * blockframe.c (inside_entry_func): Reformat. Introduce new local
+ variables to prevent long lines. Update comments to reflect
+ reality.
-2003-04-01 Andrew Cagney <cagney@redhat.com>
+2004-01-09 David Carlton <carlton@kealia.com>
- Add frame debug info addresses:
- * frame-base.c: New file.
- * frame-base.h: New file.
- * frame.h (struct frame_base): Add opaque declaration.
- (get_frame_base): Update comment.
- (get_frame_base_address): Declare.
- (get_frame_locals_address): Declare.
- (get_frame_args_address): Declare.
- (struct frame_info): Add "base" and "base_cache". Update
- comments on the unwinder.
- * frame.c: Include "frame-base.h".
- (get_frame_locals_address): New function.
- (get_frame_base_address): New function.
- (get_frame_args_address): New function.
- * findvar.c (read_var_value): Use get_frame_locals_address and
- get_frame_args_address.
- * stack.c (frame_info): Use get_frame_locals_address and
- get_frame_args_address.
- (FRAME_ARGS_ADDRESS_CORRECT): Delete conditionally defined macro,
- moved to "frame-base.c".
- * printcmd.c (print_frame_nameless_args): Ditto.
- * symtab.h (address_class): Update comments.
- * dwarf2loc.c (dwarf_expr_frame_base): Add note about
- get_frame_base_address.
- * dwarf2expr.c (execute_stack_op): Ditto.
- * Makefile.in (frame_base_h): Define.
- (frame.o): Update dependencies.
- (frame-base.o): Add dependencies.
- (SFILES): Add frame-base.c.
- (COMMON_OBS): Add frame-base.o.
+ Checked in by Elena Zannoni <ezannoni@redhat.com>.
+ * dwarf2read.c (read_namespace): Pull out name-generating code
+ into namespace_name. Rename previous_namespace to previous_prefix
+ and processing_current_namespace to processing_current_prefix..
+ (namespace_name): New function.
+ (add_partial_symbol): Substitute uses of pdi->name with
+ actual_name.
+ * cp-support.h: Rename processing_current_namespace to
+ processing_current_prefix.
+ Update copyright year.
+ * cp-namespace.c: Rename processing_current_namespace to
+ processing_current_prefix.
+ Update copyright year.
+
+2004-01-09 Andrew Cagney <cagney@redhat.com>
-2003-04-01 Andrew Cagney <cagney@redhat.com>
+ * jv-valprint.c, ser-unix.c: Add missing copyright years.
- * gdbarch.sh (CALL_DUMMY_START_OFFSET): Default to zero.
- CALL_DUMMY_LENGTH): Ditto.
- * gdbarch.c: Re-generate.
- * inferior.h (CALL_DUMMY_START_OFFSET): Delete macro.
- (CALL_DUMMY_LENGTH): Delete macro.
- * alpha-tdep.c (alpha_gdbarch_init): Do not set above when zero.
- * arm-tdep.c (arm_gdbarch_init): Ditto.
- * avr-tdep.c (avr_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * d10v-tdep.c (d10v_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * hppa-tdep.c (hppa_gdbarch_init): Ditto.
- * i386-tdep.c (i386_gdbarch_init): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * mcore-tdep.c (mcore_gdbarch_init): Ditto.
- * mips-tdep.c (mips_gdbarch_init): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * sparc-tdep.c (sparc_gdbarch_init): Ditto.
- * v850-tdep.c (v850_gdbarch_init): Ditto.
- * vax-tdep.c (vax_gdbarch_init): Ditto.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
+2004-01-09 Mark Kettenis <kettenis@gnu.org>
-2003-04-01 Corinna Vinschen <vinschen@redhat.com>
+ * dbxread.c (read_dbx_symtab): Ignore N_PATCH stabs instead of
+ complaining.
+ (process_one_symbol): Deal with N_PATCH stabs.
- * frame.c (get_prev_frame): Disable call to inside_entry_file().
+2004-01-09 Elena Zannoni <ezannoni@redhat.com>
-2003-04-01 Andrew Cagney <cagney@redhat.com>
+ * dwarf2read.c (read_array_type): Discard FORTRAN_HACK macro and
+ ifdeffed code.
+ Update copyright year.
- * gdbarch.sh (CALL_DUMMY_BREAKPOINT_OFFSET): Default to zero.
- (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
- * gdbarch.h, gdbarch.c: Re-generate.
- * config/sparc/tm-sp64.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
- (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
- * config/pa/tm-hppa64.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
- * inferior.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
- (CALL_DUMMY_BREAKPOINT_OFFSET): Delete.
- * infcmd.c (run_stack_dummy): Simplify assuming
- CALL_DUMMY_BREAKPOINT_OFFSET_P.
- * infrun.c (handle_inferior_event): Ditto.
- * alpha-tdep.c (alpha_gdbarch_init): Do not set
- call_dummy_breakpoint_offset or call_dummy_breakpoint_offset_p.
- * arm-tdep.c (arm_gdbarch_init): Ditto.
- * avr-tdep.c (avr_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * d10v-tdep.c (d10v_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * i386-tdep.c (i386_gdbarch_init): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * m68k-tdep.c (m68k_gdbarch_init): Ditto.
- * mcore-tdep.c (mcore_gdbarch_init): Ditto.
- * mips-tdep.c (mips_gdbarch_init): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * sparc-tdep.c (sparc_gdbarch_init): Ditto.
- * v850-tdep.c (v850_gdbarch_init): Ditto.
- * vax-tdep.c (vax_gdbarch_init): Ditto.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
+2004-01-08 Michael Chastain <mec.gnu@mindspring.com>
-2003-04-01 Daniel Jacobowitz <drow@mvista.com>
+ * config/pa/tm-hppa.h: Update extern declarations for
+ hppa32_hpux_frame_saved_pc_in_sigtramp,
+ hppa32_hpux_frame_base_before_sigtramp, and
+ hppa32_hpux_frame_find_saved_regs_in_sigtramp.
- * symfile.c (symfile_relocate_debug_section): Update call to
- bfd_simple_get_relocated_section_contents.
+2004-01-08 Michael Chastain <mec.gnu@mindspring.com>
-2003-03-31 Andrew Cagney <cagney@redhat.com>
+ * config/pa/tm-hppah.h: Update copyright years.
- * gdbarch.sh (FIX_CALL_DUMMY): Change to function with predicate.
- * gdbarch.h, gdbarch.c: Regenerate.
- * inferior.h (FIX_CALL_DUMMY): Delete macro.
- * valops.c (hand_function_call): Only call FIX_CALL_DUMMY when
- available.
- * frame.h (generic_fix_call_dummy): Delete declaration.
- * dummy-frame.h: Update comment.
- * dummy-frame.c (generic_fix_call_dummy): Delete function.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
- fix_call_dummy.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * mcore-tdep.c (mcore_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * i386-tdep.c (i386_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * d10v-tdep.c (d10v_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * avr-tdep.c (avr_gdbarch_init): Ditto.
- * arm-tdep.c (arm_gdbarch_init): Ditto.
+2004-01-08 Andrew Cagney <cagney@redhat.com>
-2003-03-31 J. Brobecker <brobecker@gnat.com>
+ * mips-tdep.c (mips_n32n64_reg_struct_has_addr): Delete function.
+ (mips_o32_reg_struct_has_addr): Delete function.
+ (mips_gdbarch_init): Update.
+ (mips_extract_struct_value_address): Delete function.
- * config/pa/tm-hppa64.h (FRAME_ARGS_ADDRESS): Delete macro, not useful.
- (INIT_FRAME_AP): Likewise.
- (EXTRA_FRAME_INFO): Likewise.
+2004-01-08 David Mosberger <davidm@hpl.hp.com>
-2003-03-31 Andrew Cagney <cagney@redhat.com>
+ * ia64-linux-tdep.c: Update GATE_AREA_END value to reflect
+ reality.
- * gdbarch.sh: Include "symfile.h".
- (CALL_DUMMY_ADDRESS): Default to entry_point_address.
- * gdbarch.h, gdbarch.c: Re-generate.
- * inferior.h (CALL_DUMMY_ADDRESS): Delete macro.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
- call_dummy_address, the default is at entry_point_address.
- * v850-tdep.c (v850_gdbarch_init): Ditto.
- * sparc-tdep.c (sparc_gdbarch_init): Ditto.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * mcore-tdep.c (mcore_gdbarch_init): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * i386-tdep.c (i386_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * d10v-tdep.c (d10v_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * arm-tdep.c (arm_gdbarch_init): Ditto.
+2004-01-07 Andrew Cagney <cagney@redhat.com>
-2003-03-31 Andrew Cagney <cagney@redhat.com>
+ * mips-tdep.c (mips_gdbarch_init): Set elf_flags to the previous
+ architecture's elf flags (when available).
- * gdbarch.sh (CALL_DUMMY_P): Delete.
- * gdbarch.h, gdbarch.c: Re-generate.
- * inferior.h (CALL_DUMMY_P): Delete macro.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * d10v-tdep.c (d10v_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * breakpoint.c (deprecated_frame_in_dummy): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * dummy-frame.c (dummy_frame_this_id): Update comments.
- * rs6000-tdep.c (rs6000_extract_struct_value_address): Ditto.
- * frame.c (legacy_get_prev_frame): Ditto.
- * valops.c (call_function_by_hand): Delete function.
- (hand_function_call): Rename to call_function_by_hand
+ * mips-tdep.c (mips_gdbarch_init): Move code determining the MIPS
+ FPU to the start, check the MIPS FPU when looking for an old
+ architecture.
+ (set_mipsfpu_single_command): Update the architecture.
+ (set_mipsfpu_double_command, set_mipsfpu_none_command): Ditto.
-2003-03-30 Andrew Cagney <cagney@redhat.com>
+ * mips-tdep.c (MIPS_DEFAULT_MASK_ADDRESS_P): Delete macro.
+ (mips_mask_address_p): Add "tdep" parameter.
+ (show_mask_address, mips_addr_bits_remove): Update.
+ (mips_dump_tdep): Update.
+ (MIPS_DEFAULT_STACK_ARGSIZE): Delete macro.
+ (MIPS_STACK_ARGSIZE): Delete macro.
+ (mips_stack_argsize, mips_eabi_push_dummy_call): Update.
+ (mips_n32n64_push_dummy_call, mips_o32_push_dummy_call): Update.
+ (mips_o64_push_dummy_call, mips_o32_return_value): Update.
+ (mips_dump_tdep): Update.
+ (MIPS_SAVED_REGSIZE): Delete macro.
+ (MIPS_DEFAULT_SAVED_REGSIZE): Delete macro.
+ (mips_saved_regsize, mips_eabi_use_struct_convention): Update.
+ (mips_eabi_reg_struct_has_addr, mips_find_saved_regs): Update.
+ (mips_frame_saved_pc, mips16_heuristic_proc_desc): Update.
+ (mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call): Update.
+ (mips_o32_push_dummy_call, mips_o64_push_dummy_call): Update.
+ (mips_pop_frame, return_value_location): Update.
+ (mips_n32n64_return_value, mips_dump_tdep): Update.
- 2002-11-10 Klee Dienes <kdienes@apple.com>
- * value.h (struct value): Update comment.
+ * mips-tdep.c (mips_gdbarch_init): Clean up code selecting the
+ MIPS ABI.
-2003-03-30 Andrew Cagney <cagney@redhat.com>
+ * mips-tdep.c: Update copyright.
+ (mips_gdbarch_init): Merge two code blocks handling the register
+ name and number layout.
- * d10v-tdep.c: Replace _FP_REGNUM and FP_REGNUM with
- D10V_FP_REGNUM.
- (d10v_gdbarch_init): Do not set fp_regnum.
+2004-01-02 Pawel Ostrowski <pasza@zodiac.mimuw.edu.pl>
- * frame.c (get_frame_base): Force ID initialization.
- (get_prev_frame): Move computation of the frame ID from here ...
- (get_frame_id): ... to here.
- (legacy_get_prev_frame): Mark the frame ID as valid.
- * frame.h (struct frame_info): Add field "id_p".
+ * tracepoint.c (validate_actionline): Fix segv at EOF
-2003-03-30 Mark Kettenis <kettenis@gnu.org>
+2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
- * i386-tdep.c (i386_store_struct_return): Removed.
- (i386_gdbarch_init): Don't set deprecated_store_struct_return.
+ * hpread.c (hpread_read_struct_type): Call SET_FIELD_PHYSNAME
+ properly for static fields.
-2003-03-30 Andrew Cagney <cagney@redhat.com>
+2004-01-06 Jeff Johnston <jjohnstn@redhat.com>
+ Jason Molenda <jmolenda@apple.com>
- * gdbarch.sh (DEPRECATED_DUMMY_WRITE_SP): Replace TARGET_WRITE_SP.
- * gdbarch.h, gdbarch.c: Regenerate.
- * v850-tdep.c (v850_gdbarch_init): Set deprecated_dummy_write_sp.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
- * mcore-tdep.c (mcore_gdbarch_init): Ditto.
- * m68k-tdep.c (m68k_gdbarch_init): Ditto.
- * i386-tdep.c (i386_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * vax-tdep.c (vax_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * alpha-tdep.c (alpha_gdbarch_init): Ditto.
- * sparc-tdep.c (sparc_push_dummy_frame, sparc_pop_frame): Update.
- * config/sparc/tm-sp64.h (DEPRECATED_DUMMY_WRITE_SP): Update.
- * config/pa/tm-hppa.h (DEPRECATED_DUMMY_WRITE_SP): Define.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * valops.c (hand_function_call): Replace TARGET_WRITE_SP with
- DEPRECATED_DUMMY_WRITE_SP. Call when the method is available,
- instead of when push_dummy_call is not available.
+ * disasm.c: Update copyright to include 2004.
+ (do_mixed_source_and_assembly): For uiout asm list
+ and tuple cleanups, initialize to null_cleanup instead of
+ NULL and do so prior to loop. Only reset when we close off
+ the tuple/list. Move check for whether to close off the
+ asm tuple/list to after dump_insns call where it will be run
+ on each loop iteration.
-2003-03-30 Andrew Cagney <cagney@redhat.com>
+2004-01-05 Andrew Cagney <cagney@redhat.com>
- * infttrace.c: Include "gdbthread.h".
- (parent_attach_all): Fix function signature.
- (call_ptrace): Update call.
- * Makefile.in (infttrace.o): Update dependencies.
+ * ser-unix.c (ser_unix_async): Fix tipo, "NOTHING_SECHEDULED"
+ should be a switch case and not a label.
+ * mips-tdep.c (mips32_next_pc): Delete unused labels
+ "greater_equal_branch" and "less_zero_branch".
+ * jv-valprint.c (java_print_value_fields): Delete unused label
+ "flush_it".
-2003-03-30 Andrew Cagney <cagney@redhat.com>
+ * target.c (unpush_target): Only close a target that is in the
+ target stack.
- * gdbarch.sh (DEPRECATED_PUSH_RETURN_ADDRESS): Replace
- PUSH_RETURN_ADDRESS.
- * gdbarch.h, gdbarch.c: Regenerate.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * valops.c (hand_function_call): Update.
+2004-01-05 Mark Kettenis <kettenis@gnu.org>
-2003-03-29 Andrew Cagney <cagney@redhat.com>
+ * sparc-tdep.c (sparc_extract_struct_value_address): Get the
+ address from [sp + 64] instead of %o2.
- * d10v-tdep.c (d10v_gdbarch_init): Do not set call_dummy_words or
- sizeof_call_dummy_words.
- * gdbarch.sh (CALL_DUMMY_WORDS, SIZEOF_CALL_DUMMY_WORDS): Always
- define.
- * gdbarch.h: Regenerate.
+ * frame.c (get_prev_frame): Don't try to unwind the PC. This
+ fixes PR backtrace/1476.
-2003-03-29 Andrew Cagney <cagney@redhat.com>
+2004-01-05 Andrew Cagney <cagney@redhat.com>
- * infttrace.h: New file.
- * hpread.c: Include "gdb_assert.h" and "somsolib.h".
- (hpread_get_textlow): Detect an uninitialized dn_bufp.
- (hpread_read_doc_function_type): Detect an initialized type1.
- (hpread_quick_traverse): Initialize mod_name_string.
- * somsolib.h: Add #ifdef SOMSOLIB_H wrapper.
- (som_solib_get_solib_by_pc): Declare.
- (so_lib_thread_start_addr): Declare.
- (no_shared_libraries): Declare.
- * somread.c (init_import_symbols): Make static. Add forward
+ * libunwind-frame.h (struct frame_id): Add opaque declaration,
+ move to start of file.
+ * i386-tdep.h (struct regcache): Add opaque declaration.
+ * config/ia64/nm-linux.h (struct target_ops): Add opaque
declaration.
- * config/pa/nm-hppah.h: Include "infttrace.h" for
- parent_attach_all.
- (hppa_insert_hw_watchpoint): Declare.
- (hppa_can_use_hw_watchpoint, hppa_remove_hw_watchpoint): Declare.
- * hppah-nat.c: Include "gdb_string.h".
- (parent_attach_all): Delete extern declaration, moved to
- "infttrace.h".
- (hppa_can_use_hw_watchpoint): Change type of "type" parameter to
- int.
- (hppa_remove_hw_watchpoint, hppa_insert_hw_watchpoint): Ditto.
- * Makefile.in (infttrace_h): Define.
- (hpread.o): Update dependencies.
- (hppah-nat.o, hppa-hpux-tdep.o, hppa-tdep.o): Ditto.
- * hppa-hpux-tdep.c: Include "gdb_string.h".
- * hppa-tdep.c (hppa_frame_saved_pc): Initialize "old_pc".
- * infrun.c (handle_inferior_event): Always initialize
- stepped_after_stopped_by_watchpoint. Add default and remove
- fallthrough in switch statement.
- * infttrace.c (hppa_can_use_hw_watchpoint): Change type of "type"
- parameter to int.
- (hppa_remove_hw_watchpoint): Ditto.
-
-2003-03-29 Andrew Cagney <cagney@redhat.com>
-
- * ns32k-tdep.c (ns32k_gdbarch_init): Set the call dummy breakpoint
- offset.
-
-2003-03-29 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-tdep.c (arm_push_arguments): Delete.
- (struct stack_item): New type.
- (push_stack_item, pop_stack_item, arm_push_dummy_call): New functions.
- (arm_store_struct_return): Delte.
- (arm_gdbarch_init): Register arm_push_dummy_call. Don't register
- arm_push_arguments or arm_store_struct_return.
-
-2003-03-28 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (d10v-tdep.o): Update dependencies.
- * remote.h (target_resume_hook, target_wait_loop_hook): Declare.
- * d10v-tdep.c: Include "remote.h".
- (target_resume_hook): Delete extern declaration.
- (target_wait_loop_hook): Ditto.
- (tdisassemble_command): Eliminate assignment in "if" conditional.
- (d10v_ts2_register_sim_regno): Eliminate call to
- legacy_register_sim_regno.
- (d10v_ts3_register_sim_regno): Ditto.
-
-2003-03-28 Jeff Johnston <jjohnstn@redhat.com>
-
- * thread.c: Reindented.
- * lin-lwp.c: Ditto.
- * linux-proc.c: Ditto.
-
-2003-03-28 Bob Rossi <bob_rossi@cox.net>
-
- * MAINTAINERS (write after approval): Add myself.
-
-2003-03-27 Theodore A. Roth <troth@openavr.org>
-
- * objc-exp.y: Add missing semi-colons.
-
-2003-03-27 Andrew Cagney <cagney@redhat.com>
-
- * regcache.c (write_sp): Delete function and references.
- * inferior.h (write_sp): Delete declaration.
- * valops.c (hand_function_call): Replace write_sp with
- TARGET_WRITE_SP.
- * sparc-tdep.c (sparc_push_dummy_frame): Ditto.
- (sparc_pop_frame): Ditto.
-
-2003-03-27 Andrew Cagney <cagney@redhat.com>
-
- * NEWS: Mention removal of support for hppa*-*-bsd* and
- hppa*-*-osf* natives, and hppa*-*-pro* target.
- * config/pa/xm-hppah.h: Do not include "pa/xm-pa.h".
- * config/pa/xm-pa.h: Obsolete file.
- * config/pa/xm-hppab.h: Obsolete file.
- * config/pa/nm-hppab.h: Obsolete file.
- * config/pa/tm-hppab.h: Obsolete file.
- * config/pa/tm-hppao.h: Obsolete file.
- * config/pa/nm-hppao.h: Obsolete file.
- * config/pa/tm-pro.h: Obsolete file.
- * config/pa/hppaosf.mt: Obsolete file.
- * config/pa/hppaosf.mh: Obsolete file.
- * config/pa/hppapro.mt: Obsolete file.
- * config/pa/hppabsd.mt: Obsolete file.
- * config/pa/hppabsd.mh: Obsolete file.
- * configure.host: Disable hppa*-*-bsd* and hppa*-*-osf*.
- * configure.tgt: Disable hppa*-*-bsd*, hppa*-*-pro* and
- hppa*-*-osf*.
-
-2003-03-27 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (d10v_gdbarch_init): Set push_dummy_call instead of
- push_arguments. Don't set push_return_address or write_sp.
- (d10v_push_dummy_call): Replace d10v_push_arguments.
- (d10v_push_return_address, d10v_write_sp): Delete function,
- handled by push_dummy_call.
+ * ia64-tdep.c (ia64_find_proc_info_x): Do not use __FUNCTION__.
+ (ia64_gdbarch_init): Use "GNU/Linux" in comment.
+ * win32-nat.c (fake_create_process): Use ISO C style definition.
+ * stabsread.c (define_symbol): Delete #ifndef
+ DEPRECATED_USE_REGISTER_NOT_ARG wrapper around
+ stabs_argument_has_addr call, macro never defined.
-2003-03-26 Andrew Cagney <cagney@redhat.com>
+2004-01-04 Michael Chastain <mec.gnu@mindspring.com>
- * gdbarch.sh (DEPRECATED_PUSH_ARGUMENTS): Rename PUSH_ARGUMENTS.
- (push_dummy_call): New pure multi-arch replacement with gdbarch,
- regcache and dummy_addr parameters.
- * gdbarch.h, gdbarch.c: Re-generate.
- * valops.c (hand_function_call): Use gdbarch_push_dummy_call when
- available; assume it will handle stack alignment and return
- address issues. Fall back to DEPRECATED_PUSH_ARGUMENTS and
- legacy_push_arguments.
- (legacy_push_arguments): Rename default_push_arguments.
- * value.h (legacy_push_arguments): Rename default_push_arguments.
- * i386-tdep.c (i386_push_arguments): Call legacy_push_arguments.
- * config/sparc/tm-sparc.h (DEPRECATED_PUSH_ARGUMENTS): Update.
- * config/sparc/tm-sp64.h (DEPRECATED_PUSH_ARGUMENTS): Update.
- * config/pa/tm-hppa.h (DEPRECATED_PUSH_ARGUMENTS): Update.
- * config/i386/tm-symmetry.h: Update.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * d10v-tdep.c (d10v_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * arm-linux-tdep.c (arm_linux_init_abi): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
-
-2003-03-26 Daniel Jacobowitz <drow@mvista.com>
-
- * signals/signals.c (do_target_signal_to_host): Correct realtime
- signal range test.
-
-2003-03-26 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (handle_gnu_4_16_catch_command, get_catch_sals)
- (struct sal_chain, map_catch_names): Remove.
- (catch_exception_command_1): Don't call
- handle_gnu_4_16_catch_command.
-
-2003-03-26 Daniel Jacobowitz <drow@mvista.com>
-
- From Mark Dettinger <dettinge@de.ibm.com>:
- * dwarf2cfi.c (read_2u): Increment pointer by two.
-
-2003-03-26 Daniel Jacobowitz <drow@mvista.com>
-
- * signals/signals.c: Fix typos in last change.
-
-2003-03-26 Daniel Jacobowitz <drow@mvista.com>
-
- * signals/signals.c (REALTIME_LO, REALTIME_HI): Define if
- not already defined. Use __SIGRTMIN if available.
- (target_signal_from_host): Remove SIGRTMIN block.
- (do_target_signal_to_host): Remove SIGRTMIN block; check that
- the signal is within the realtime range.
-
-2003-03-25 Adam Fedor <fedor@gnu.org>
-
- * Makefile.in (infrun.o): Add $(language_h)
- * infrun.c (handle_inferior_event): Use skip_language_trampoline
- for language specific trampolines.
- * language.h (struct language_defn): Add skip_trampoline.
- (skip_language_trampoline): Declare.
- * language.c (unk_lang_trampoline, skip_language_trampoline):
- New functions.
- (unknown_language_defn, auto_language_defn, local_language_defn):
- Add ukn_lang_trampoline.
- * ada-lang.c (ada_language_defn): Add NULL for language
- specific skip_trampoline.
- * c-lang.c, f-lang.c, jv-lang.c, m2-lang.c, p-lang.c,
- scm-lang.c: Likewise.
- * objc-lang.c (objc_skip_trampoline): New function.
- (objc_language_defn): Add objc_skip_trampoline.
-
-2003-03-25 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_prev_frame): Delay validating a frame's ID -
- non-NULL, didn't go backwards - until an attempt to unwind it to
- the previous frame.
-
-2003-03-25 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED): Replace
- EXTRA_STACK_ALIGNMENT_NEEDED. Default to 0 not 1.
- * gdbarch.h, gdbarch.c: Re-generate.
- * config/sparc/tm-sparc.h
- (DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED): Define.
- * sparc-tdep.c (sparc_gdbarch_init): Set
- deprecated_extra_stack_alignment_needed.
- * config/pa/tm-hppa.h (EXTRA_STACK_ALIGNMENT_NEEDED): Delete.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not clear
- extra_stack_alignment_needed.
- * v850-tdep.c (v850_gdbarch_init): Ditto.
- * hppa-tdep.c (hppa_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * d10v-tdep.c (d10v_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * m68k-tdep.c (m68k_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
-
-2003-03-25 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_STORE_STRUCT_RETURN): Replace
- STORE_STRUCT_RETURN.
- * gdbarch.h, gdbarch.c: Regenerate.
- * d10v-tdep.c (d10v_store_struct_return): Delete function.
- (d10v_push_arguments): Set the struct return register.
- (d10v_gdbarch_init): Update.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
-
-2003-03-25 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (CALL_DUMMY_STACK_ADJUST_P): Delete.
- (DEPRECATED_CALL_DUMMY_STACK_ADJUST): Replace
- CALL_DUMMY_STACK_ADJUST with a predicate variable.
- * gdbarch.h, gdbarch.c: Regenerate.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
- call_dummy_stack_adjust_p.
- * vax-tdep.c (vax_gdbarch_init): Ditto.
- * v850-tdep.c (v850_gdbarch_init): Ditto.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * mips-tdep.c (mips_gdbarch_init): Ditto.
- * mcore-tdep.c (mcore_gdbarch_init): Ditto.
- * m68k-tdep.c (m68k_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * i386-tdep.c (i386_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * d10v-tdep.c (d10v_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * avr-tdep.c (avr_gdbarch_init): Ditto.
- * arm-tdep.c (arm_gdbarch_init): Ditto.
- * alpha-tdep.c (alpha_gdbarch_init): Ditto.
- * config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update.
- * config/sparc/tm-sparc.h (CALL_DUMMY_STACK_ADJUST): Update.
- * config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update. Do not set
- call_dummy_stack_adjust_p.
- * inferior.h (CALL_DUMMY_STACK_ADJUST_P): Delete macro.
- (CALL_DUMMY_STACK_ADJUST): Delete macro.
- * sparc-tdep.c (sparc32_push_arguments): Update.
- * valops.c (hand_function_call): Update.
-
-2003-03-25 Corinna Vinschen <vinschen@redhat.com>
-
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Add call to
- set_gdbarch_char_signed.
-
-2003-03-25 Richard Earnshaw <rearnsha@arm.com>
-
- PR cli/548
- * arm-tdep.c (_initialize_arm_tdep): Command is "set arm disassembler".
-
-2003-03-25 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-tdep.c (arm_gdbarch_init): Register the disassembler function.
- (_initialize_arm_tdep): Don't set tm_print_insn.
-
-2003-03-24 Adam Fedor <fedor@gnu.org>
-
- * Makefile.in (YYOBJ): Add objc-exp.tab.o
- * objc-lang.h: Add multiple inclusion protection.
- (start_msglist, add_msglist, end_msglist): Additional declarations.
-
-2003-03-24 Richard Earnshaw <rearnsha@arm.com>
-
- * armnbsd-tdep.c (arm_netbsd_aout_init_abi): ARM_FLOAT_SOFT enum
- value was renamed to ARM_FLOAT_SOFT_FPA.
-
-2003-03-23 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_FRAME_CHAIN): Replace FRAME_CHAIN.
- (DEPRECATED_FRAME_CHAIN_VALID): Replace FRAME_CHAIN_VALID.
- * gdbarch.h, gdbarch.c: Regenerate.
- * valops.c (hand_function_call): Update.
- * objfiles.h (DEPRECATED_FRAME_CHAIN_VALID): Update.
- * frame.c (legacy_saved_regs_this_id): Update.
- (legacy_get_prev_frame, get_prev_frame, legacy_frame_p): Update.
- * dummy-frame.h: Update.
- * config/sparc/tm-sparc.h (DEPRECATED_FRAME_CHAIN): Update.
- * config/pa/tm-hppa.h (DEPRECATED_FRAME_CHAIN_VALID): Update.
- * config/m68k/tm-vx68.h (DEPRECATED_FRAME_CHAIN): Update.
- * config/m68k/tm-os68k.h (DEPRECATED_FRAME_CHAIN): Update.
- * config/m68k/tm-sun3.h: Update.
- * blockframe.c (inside_main_func, frame_chain_valid): Update.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_frame_chain, sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_frame_saved_pc): Update.
- (rs6000_gdbarch_init, rs6000_frame_saved_pc): Update.
- (frame_get_saved_regs): Update.
- * ppc-linux-tdep.c (ppc_linux_init_abi): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_frame_num_args, i386_gdbarch_init): Update.
- * i386-interix-tdep.c (i386_interix_init_abi): Update.
- (i386_interix_back_one_frame): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- (hppa_init_extra_frame_info): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
-
-2003-03-22 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-tdep.h (arm_float_model): Add AUTO and LAST values.
- (arm_get_fp_model): Declare.
- * arm-tdep.c (fp_model_strings): New string array.
- (arm_fp_model, current_fp_model): New variables.
- (arm_get_fp_model): New function.
- (arm_set_fp): New function.
- (set_fp_model_sfunc): New function.
- (show_fp_model): New function.
- (_initialize_arm_tdep): Add new command to set/show the FPU.
- (arm_extract_return_value): Use arm_get_fp_model.
- (arm_store_return_value): Likewise.
- (arm_gdbarch_init): Default fpa model is softfpa. Call arm_set_fp
- to initialize the floating-point data types.
- * arm-linux-tdep.c (arm_linux_init_abi): The default floating point
- model is FPA.
-
-2003-03-22 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-tdep.c (show_arm_command): Don't print out help. Instead, show
- the current setting of each value.
- (_initialize_arm_tdep): Delete variable new_cmd and add new vars
- new_set and new_show. Use add_setshow_cmd_full and
- add_setshow_boolean_cmd as appropriate. Deprecate "set/show apcs32"
- commands and add new version as subcommands of "set/show arm".
-
-2003-03-22 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-tdep.c (setarmcmdlist, showarmcmdlist): New command lists.
- (set_arm_command, show_arm_command): New functions.
- (_initialize_arm_tdep): Add them.
- (num_disassembly_options): Renamed from num_flavor_options.
- (valid_disassembly_styles): Renamed from valid_flavors.
- (disassembly_style): Renamed from disassembly_flavor.
- (set_disassembly_style_sfunc): Renamed from
- set_disassembly_flavor_sfunc.
- (set_disassembly_style): Renamed from set_disassembly_flavor.
- (arm_othernames): Updated.
- (_initialize_arm_tdep): Deprecate "set/show disassembly-flavor"
- command. Add "set/show arm disassembly" commands. Deprecate
- "othernames" command.
-
-2003-03-22 Richard Earnshaw <rearnsha@arm.com>
-
- * Makefile.in (elf_reloc_macros_h, elf_arm_h): Define.
- (arm-tdep.o): Depend on elf_arm_h.
-
-2003-03-22 Richard Earnshaw <rearnsha@arm.com>
-
- * Makefile.in (coff_internal_h): Define.
- (arm-tdep.o): Update dependencies.
-
-2003-03-22 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-tdep.c (prologue_cache): Delete.
- (check_prologue_cache, save_prologue_cache): Delete.
- (arm_scan_prologue): Don't check or update the prologue_cache.
- (arm_gdb_arch_init): Don't initialize it.
- (_initialize_arm_tdep): Likewise.
-
-2003-03-21 Stephane Carrez <stcarrez@nerim.fr>
-
- * MAINTAINERS (tui): Maintainer of tui code.
-
-2003-03-21 Corinna Vinschen <vinschen@redhat.com>
-
- * Makefile.in (ALLDEPFILES): Add i386-cygwin-tdep.c.
- (i386-cygwin-tdep.o): Add dependencies.
- * defs.h (enum gdb_osabi): Add GDB_OSABI_CYGWIN.
- * i386-cygwin-tdep.c: New file.
- * osabi.c (gdb_osabi_name): Add string for GDB_OSABI_CYGWIN.
- * config/i386/cygwin.mt (TDEPFILES): Add i386-cygwin-tdep.o.
-
-2003-03-20 Andrew Cagney <cagney@redhat.com>
-
- * infrun.c (DYNAMIC_TRAMPOLINE_NEXTPC): Delete macro.
- (handle_inferior_event): Remove code calling
- DYNAMIC_TRAMPOLINE_NEXTPC.
-
- * Makefile.in (init.c): Don't add $(srcdir) prefix when a file
- already has a full path.
-
- * main.c (gdb_main): Return 1.
- (captured_main): Call error to report an invalid interpreter.
-
- * Makefile.in (alpha-osf1-tdep.o): Update dependencies.
- * alpha-osf1-tdep.c: Include "gdb_string.h".
-
-2003-03-19 J. Brobecker <brobecker@gnat.com>
-
- Continuing work to convert the hppa targets to multiarch partial.
-
- * hppa-tdep.c (hppa_gdbarch_init): Set the push_dummy_frame gdbarch
- method, now that hppa_push_dummy_frame has a conformant prototype.
- * config/pa/tm-hppa.h (DEPRECATED_PUSH_DUMMY_FRAME): Wrap macro
- inside "#if !GDB_MULTI_ARCH ... #endif" conditional, in preparation
- for the switch to multiarch partial.
-
-2003-03-19 Kevin Buettner <kevinb@redhat.com>
-
- * mdebugread.c (parse_symbol): For stEnd, we're done counting
- when iss is issNull.
-
-2003-03-18 Kevin Buettner <kevinb@redhat.com>
-
- * mips-tdep.c (mips_register_name): Fix fencepost error involving
- NUM_REGS bounds check.
-
-2003-03-18 Kevin Buettner <kevinb@redhat.com>
-
- * Makefile.in (mips-tdep.o): Add dependency on $(gdb_assert_h).
- * mips-tdep.c (gdb_assert.h): Include.
- (mips_generic_reg_names, mips_processor_reg_names): Make static.
- (mips_register_name): Handle integer registers explicitly. Add
- bounds checking.
- (mips_r3041_reg_names, mips_r3051_reg_names, mips_r3081_reg_names)
- (mips_lsi33k_reg_names): Don't list integer registers; they're
- handled by mips_register_name() now.
- * config/mips/tm-irix3.h (MIPS_REGISTER_NAMES): Likewise.
- * config/mips/tm-irix6.h (MIPS_REGISTER_NAMES): Likewise.
- * config/mips/tm-mips.h (MIPS_REGISTER_NAMES): Likewise.
- * config/mips/tm-tx39.h (MIPS_REGISTER_NAMES): Likewise.
- * config/mips/tm-tx39l.h (MIPS_REGISTER_NAMES): Likewise.
-
-2003-03-18 Andrew Cagney <cagney@redhat.com>
-
- * printcmd.c (print_scalar_formatted): Change VALADDR parameter to
- a void pointer.
- * gdbtypes.h (print_scalar_formatted): Update declaration.
- * expression.h (enum exp_opcode): Remove non-ISO C trailing comma.
-
-2003-03-18 J. Brobecker <brobecker@gnat.com>
-
- * infrun.c (observer.h): Add #include.
- (normal_stop): Add call to observer_notify_normal_stop.
- * Makefile.in (infrun.o): Add dependency on observer.h.
-
-2003-03-18 J. Brobecker <brobecker@gnat.com>
-
- Continuing work to convert the hppa targets to multiarch partial.
- * hppa-tdep.c (hppa_push_dummy_frame): Remove unused function
- parameter. Reformat comment.
- * config/pa/tm-hppa.h (hppa_push_dummy_frame): Update profile.
- (DEPRECATED_PUSH_DUMMY_FRAME): Update call to hppa_push_dummy_frame()
- to match new profile.
-
-2003-03-18 J. Brobecker <brobecker@gnat.com>
-
- * hppa-tdep.c (hppa_push_dummy_frame): Remove hack which does not
- appear to be working in any case.
-
-2003-03-18 J. Brobecker <brobecker@gnat.com>
-
- * observer.c (observer_test_first_observer): New static variable.
- (observer_test_second_observer): Likewise.
- (observer_test_third_observer): Likewise.
- (observer_test_first_notification_function): New static function.
- (observer_test_second_notification_function): Likewise.
- (observer_test_third_notification_function): Likewise.
-
-2003-03-17 J. Brobecker <brobecker@gnat.com>
-
- * hppa-tdep.c (gdb_assert.h): Add missing #include.
- * somsolib.c (gdb_assert.h): Likewise.
- * Makefile.in (hppa-tdep.o): Add dependency on gdb_assert.h.
- (somsolib.o): Likewise.
-
-2003-03-17 Andrew Cagney <cagney@redhat.com>
-
- * disasm.c (gdb_disassembly): Set di.mach using the architecture's
- BFD. Simplify setting of di.endian.
-
-2003-03-17 Andrew Cagney <cagney@redhat.com>
-
- * rs6000-tdep.c (ppc_floating_point_unit_p): New function.
- * ppc-tdep.h (ppc_floating_point_unit_p): Declare.
-
- From Elena Zannoni <ezannoni@redhat.com>
- * ppc-sysv-tdep.c (ppc_sysv_abi_push_arguments): Handle e500
- vector and floating-point parameters.
- (ppc_sysv_abi_use_struct_convention): Handle e500 struct return
- convention.
- (ppc_sysv_abi_broken_use_struct_convention): Ditto.
-
-2003-03-17 Fernando Nasser <fnasser@redhat.com>
-
- * MAINTAINERS: Remove my name from several maintainership roles.
-
-2003-03-17 Andrew Cagney <cagney@redhat.com>
-
- Fix frame off-by-one bug.
- * frame-unwind.h (frame_this_id_ftype): Replace
- frame_unwind_id_ftype.
- (frame_prev_register_ftype): Replace frame_unwind_reg_ftype.
- (struct frame_unwind): Replace "id" with "this_id". Replace "reg"
- with "prev_register".
- * frame-unwind.c (frame_unwind_find_by_pc): Return
- legacy_saved_regs_unwind instead of trad_frame_unwind. Update
- comment.
- * dummy-frame.c (cached_find_dummy_frame): Delete function.
- (dummy_frame_this_id): Replace dummy_frame_id_unwind.
- (dummy_frame_prev_register): Replace dummy_frame_register_unwind.
- (dummy_frame_unwind): Update.
- * sentinel-frame.c (sentinel_frame_prev_register): Replace
- sentinel_frame_register_unwind.
- (sentinel_frame_this_id): Replace sentinel_frame_id_unwind.
- (sentinel_frame_unwinder): Update.
- * frame.h (legacy_saved_regs_unwind): Replace trad_frame_unwind.
- (struct frame_info): Rename "unwind_cache" to "prologue_cache".
- * frame.c (create_sentinel_frame): Update. Initialize
- "prologue_cache" instead of "unwind_cache".
- (frame_register_unwind): Call this frame's prev_register with the
- next frame and this frame's prologue cache.
- (get_prev_frame): Simplify. Always call prev frame's this_id with
- this frame and prev frame's prologue cache. Document that this
- call is shifted one to the left when compared to the
- frame_register_unwind call.
- (legacy_saved_regs_prev_register): Replace
- frame_saved_regs_register_unwind.
- (legacy_saved_regs_this_id): Replace frame_saved_regs_id_unwind.
- (legacy_saved_regs_unwinder): Replace trad_frame_unwinder.
- (legacy_saved_regs_unwind): Replace trad_frame_unwind.
- * d10v-tdep.c (d10v_frame_this_id): Replace d10v_frame_id_unwind.
- (d10v_frame_unwind): Update.
- (d10v_frame_prev_register): Replace d10v_frame_register_unwind.
- (d10v_frame_unwind_cache): Replace this "fi" with "next_frame".
- (saved_regs_unwinder): Replace this "frame" with "next_frame", and
- "saved_regs" with "this_saved_regs".
-
-2003-03-16 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (frame_pop): Don't call target_store_registers. Fix
- problem reported by Mark Kettenis.
-
-2003-03-16 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c (i386_register_type): Renamed from
- i386_register_virtual_type. Adjust function signature.
- (i386_gdbarch_init): Set register_type instead of
- deprecated_max_register_raw_size,
- deprecated_max_register_virtual_size and register_virtual_type.
-
-2003-03-14 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_prev_frame): When a legacy frame, always call
- legacy_get_prev_frame. Simplify unwind code using assumption that
- the unwinder is new.
- (legacy_get_prev_frame): Handle legacy sentinel frame unwind here.
- (legacy_frame_p): When no gdbarch_unwind_dummy_id, or
- SAVED_DUMMY_FRAME_TOS, assume a legacy frame.
-
-2003-03-14 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_saved_register): Delete function.
- * frame.h (get_saved_register): Delete declaration.
- * xstormy16-tdep.c: Update comment.
- * regcache.h: Update comments.
- * sparc-tdep.c (sparc_init_extra_frame_info): Instead of
- get_saved_register and extract_address, use
- frame_read_unsigned_register.
- (sparc_frame_saved_pc): Ditto.
- (sparc_get_saved_register): Instead of get_saved_register, use
- frame_register.
- (sparc_pop_frame): Ditto.
- * findvar.c: Update comments.
- (value_of_register): Call frame_register instead of
- get_saved_register.
- (value_from_register): Ditto.
- * config/sparc/tm-sparc.h: Update comment.
- * breakpoint.c: Update comment.
-
-2003-03-14 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_GET_SAVED_REGISTER): Replace
- GET_SAVED_REGISTER.
- * gdbarch.h, gdbarch.c: Re-generate.
- * frame.h: Update comments.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * frame.c (frame_register): Update.
- (get_saved_register): Update.
- * config/sparc/tm-sparc.h (DEPRECATED_GET_SAVED_REGISTER): Update.
-
-2003-03-13 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_POP_FRAME): Replace POP_FRAME.
- * gdbarch.h, gdbarch.c: Regenerate.
- * valops.c (hand_function_call): Update comment.
- * stack.c (return_command): Update comment.
- * config/sparc/tm-sparc.h (DEPRECATED_POP_FRAME): Update.
- * config/pa/tm-hppa.h (DEPRECATED_POP_FRAME): Update.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
-
-2003-03-13 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (legacy_frame_p): New function.
- (get_prev_frame): Use legacy_frame_p.
- * frame.h (legacy_frame_p): Declare.
-
-2003-03-13 D. Venkatasubramanian <dvenkat@noida.hcltech.com>
-
- * MAINTAINERS (write after approval): Alphabetically
- listing corrected.
+ * op50-rom.c: Delete.
+ * w89k-rom.c: Delete.
+ * Makefile.in: Remove references.
-2003-03-13 D. Venkatasubramanian <dvenkat@noida.hcltech.com>
+2004-01-04 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c: Update copyright year.
+ (struct amd64_register_info): Rename from x86_64_register_info.
+ (amd64_register_info): Rename from x86_64_register_info.
+ (AMD64_NUM_REGS): Rename from X86_64_NUM_REGS.
+ (amd64_register_name): Rename from x86_64_register_name.
+ (amd64_register_type): Rename from x86_64_register_type.
+ (amd64_dwarf_regmap): Rename from x86_64_dwarf_regmap.
+ (amd64_dwarf_regmap_len): Rename from x86_64_dwarf_regmap_len.
+ (amd64_dwarf_reg_to_regnum): Rename from
+ x86_64_dwarf_reg_to_regnum.
+ (amd64_convert_register_p): Rename from x86_64_convert_register_p.
+ (amd64_push_dummy_call): Rename from x86_64_push_dummy_call.
+ (AMD64_NUM_SAVED_REGS): Rename from X86_64_NUM_SAVED_REGS.
+ (struct amd64_frame_cache): Renamed from x86_64_frame_cache.
+ (amd64_alloc_frame_cache): Renamed from x86_64_alloc_frame_cache.
+ (amd64_analyze_prologue): Rename from x86_64_analyze_prologue.
+ (amd64_skip_prologue): Rename from x86_64_skip_prologue.
+ (amd64_frame_cache): Rename from x86_64_frame_cache.
+ (amd64_frame_this_id): Rename from x86_64_frame_this_id.
+ (amd64_frame_prev_register): Rename from
+ x86_64_frame_prev_register.
+ (amd64_frame_unwind): Rename from x86_64_frame_unwind.
+ (amd64_frame_sniffer): Rename from x86_64_frame_sniffer.
+ (amd64_sigtramp_frame_cache): Rename from
+ x86_64_sigtramp_frame_cache.
+ (amd64_sigtramp_frame_prev_register): Rename from
+ x86_64_sigtramp_frame_prev_register.
+ (amd64_sigtramp_frame_unwind): Rename from
+ x86_64_sigtramp_frame_unwind.
+ (amd64_sigtramp_frame_sniffer): Rename from
+ x86_64_sigtramp_frame_sniffer.
+ (amd64_frame_base_address): Rename from x86_64_frame_base_address.
+ (amd64_frame_base): Rename from x86_64_frame_base.
+ (amd64_unwind_dummy_id): Rename from x86_64_unwind_dummy_id.
+ (amd64_frame_align): Rename from x86_64_frame_align.
+ (amd64_supply_fpregset): Rename from x86_64_supply_fpregset.
+ (amd64_regset_from_core_section): Rename from
+ x86_64_regset_from_core_section.
+ (x86_64_init_abi): Update comments.
+
+2004-01-04 Nick Roberts <nick@nick.uklinux.net>
* MAINTAINERS (write after approval): Add myself.
-2003-03-12 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_prev_frame): Rename the frame parameter to
- "this_frame".
- (get_next_frame, legacy_get_prev_frame): Ditto.
-
-2003-03-12 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_current_frame): Check target_has_registers before
- checking target_has_stack.
- * eval.c (evaluate_subexp_standard): Use get_selected_frame,
- instead of deprecated_selected_frame.
- * findvar.c (value_of_register): Pass "frame", not
- deprecated_selected_frame, to value_of_builtin_reg.
-
-2003-03-12 Andrew Cagney <cagney@redhat.com>
-
- * regcache.c (regcache_cooked_write_signed): New function.
- (regcache_cooked_write_unsigned): New function.
- (regcache_cooked_read_unsigned): Fix regnum in range assertion.
- (regcache_cooked_read_signed): Fix regnum in range assertion.
- * regcache.h (regcache_cooked_write_signed): Declare.
- (regcache_cooked_write_unsigned): Declare.
-
-2003-03-12 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC.
- * gdbarch.h, gdbarch.c: Re-generate.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.h: Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ppc-linux-tdep.c (ppc_linux_init_abi): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * i386-interix-tdep.c (i386_interix_init_abi): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
- * sh-tdep.c (sh_init_extra_frame_info): Update.
- (sh64_init_extra_frame_info): Update.
- * ns32knbsd-nat.c (frame_num_args): Update.
- * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update.
- * xstormy16-tdep.c (xstormy16_pop_frame): Update.
- (xstormy16_frame_chain_valid): Update.
- * vax-tdep.c (vax_saved_pc_after_call): Update.
- * v850-tdep.c (v850_frame_chain): Update.
- (v850_pop_frame): Update.
- (v850_init_extra_frame_info): Update.
- * sparc-tdep.c (setup_arbitrary_frame): Update.
- * ns32k-tdep.c (umax_frame_num_args): Update.
- * s390-tdep.c (s390_pop_frame_regular): Update.
- * mn10300-tdep.c (mn10300_frame_chain): Update.
- (mn10300_pop_frame_regular): Update.
- (mn10300_init_extra_frame_info): Update.
- * mips-tdep.c (mips_init_frame_pc_first): Update.
- (mips_frame_chain): Update.
- (mips_pop_frame): Update.
- * mcore-tdep.c (mcore_frame_chain): Update.
- (mcore_pop_frame): Update.
- (mcore_init_extra_frame_info): Update.
- * arch-utils.c (init_frame_pc_default): Update.
- * m68k-tdep.c (isi_frame_num_args): Update.
- (delta68_frame_num_args): Update.
- (news_frame_num_args): Update.
- * ia64-tdep.c (ia64_pop_frame_regular): Update.
- * alpha-tdep.c (alpha_init_frame_pc_first): Update.
- (alpha_frame_chain): Update.
- (alpha_pop_frame): Update.
- * hppa-tdep.c (hppa_saved_pc_after_call): Update.
- (hppa_init_extra_frame_info): Update.
- (hppa_frame_chain): Update.
- (hppa_frame_chain_valid): Update.
- * cris-tdep.c (cris_init_extra_frame_info): Update.
- * avr-tdep.c (avr_init_extra_frame_info): Update.
- * arm-tdep.c (arm_frame_chain_valid): Update.
- (arm_init_extra_frame_info): Update.
- (arm_pop_frame): Update.
- * frame.c (frame_pc_unwind): Update.
- * config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update.
- (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
- * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
- * config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update.
- * config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update.
- * config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update.
-
-2003-03-12 Andrew Cagney <cagney@redhat.com>
-
- Eliminate the need for POP_FRAME.
- * frame.c (do_frame_unwind_register): New function.
- (frame_pop): When no POP_FRAME, pop the frame using register
- unwind and a scratch regcache.
- (frame_saved_regs_pop): Delete function.
- (trad_frame_unwinder): Update.
- * d10v-tdep.c (d10v_frame_pop): Delete function.
- (d10v_frame_unwind): Update.
- * sentinel-frame.c (sentinel_frame_pop): Delete function.
- (sentinel_frame_unwinder): Update.
- * dummy-frame.c (dummy_frame_pop): Delete function.
- (dummy_frame_unwind): Update.
- * frame-unwind.h (frame_unwind_pop_ftype): Delete definition.
- (struct frame_unwind): Update.
-
-2003-03-11 Kevin Buettner <kevinb@redhat.com>
-
- * mips-tdep.c (mips_ecoff_reg_to_regnum): Rename to
- mips_dwarf_dwarf2_ecoff_reg_to_regnum().
- (mips_dwarf_dwarf2_ecoff_reg_to_regnum, mips_stab_reg_to_regnum):
- Do range checks on register number obtained from debugging info.
- (mips_gdbarch_init): Call set_gdbarch_dwarf_reg_to_regnum() and
- set_gdbarch_dwarf2_reg_to_regnum(). Adjust call of
- set_gdbarch_ecoff_reg_to_regnum() to account for new name of
- mapping function.
- (do_fp_register_row): Fix typo which caused double type to be
- used when attempting to unpack a float.
-
-2003-03-11 J. Brobecker <brobecker@gnat.com>
-
- * breakpoint.c (bpstat_stop_status): Fix a small memory leak.
-
-2003-03-11 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (deprecated_update_frame_pc_hack): Don't assume a next
- frame. Problem found by Corinna Vinschen.
-
-2003-03-11 Pierre Muller <muller@ics.u-strasbg.fr>
-
- * doublest.c (floatformat_from_length): Accept also
- the real size of 'long double' type.
-
-2003-03-10 Daniel Jacobowitz <drow@mvista.com>
-
- From Klee Dienes <kdienes@apple.com>:
- * breakpoint.c (bpstat_copy): Copy the command lines as well
- as the old value, to match what is freed in bpstat_clear.
-
-2003-03-10 David Carlton <carlton@math.stanford.edu>
-
- * minsyms.c (add_minsym_to_hash_table): Replace
- DEPRECATED_SYMBOL_NAME by SYMBOL_LINKAGE_NAME.
- (compare_minimal_symbols, compact_minimal_symbols)
- (install_minimal_symbols, find_solib_trampoline_target): Ditto.
- (lookup_minimal_symbol_text): Use strcmp on linkage names instead
- of DEPRECATED_SYMBOL_MATCHES_NAME.
- (lookup_minimal_symbol_solib_trampoline): Ditto.
-
-2003-03-10 Andrew Cagney <cagney@redhat.com>
-
- * regcache.h (regcache_cooked_read_ftype): Define.
- (regcache_save, regcache_restore): Add a cooked_read parameter.
- * regcache.c (regcache_save, regcache_restore): Update.
- (do_cooked_read): New function.
- (regcache_cpy): Pass do_cooked_read to regcache_save and
- regcache_restore.
-
-2003-03-10 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC.
- * gdbarch.h, gdbarch.c: Re-generate.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.h: Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ppc-linux-tdep.c (ppc_linux_init_abi): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * i386-interix-tdep.c (i386_interix_init_abi): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
- * sh-tdep.c (sh_init_extra_frame_info): Update.
- (sh64_init_extra_frame_info): Update.
- * ns32knbsd-nat.c (frame_num_args): Update.
- * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update.
- * xstormy16-tdep.c (xstormy16_pop_frame): Update.
- (xstormy16_frame_chain_valid): Update.
- * vax-tdep.c (vax_saved_pc_after_call): Update.
- * v850-tdep.c (v850_frame_chain): Update.
- (v850_pop_frame): Update.
- (v850_init_extra_frame_info): Update.
- * sparc-tdep.c (setup_arbitrary_frame): Update.
- * ns32k-tdep.c (umax_frame_num_args): Update.
- * s390-tdep.c (s390_pop_frame_regular): Update.
- * mn10300-tdep.c (mn10300_frame_chain): Update.
- (mn10300_pop_frame_regular): Update.
- (mn10300_init_extra_frame_info): Update.
- * mips-tdep.c (mips_init_frame_pc_first): Update.
- (mips_frame_chain): Update.
- (mips_pop_frame): Update.
- * mcore-tdep.c (mcore_frame_chain): Update.
- (mcore_pop_frame): Update.
- (mcore_init_extra_frame_info): Update.
- * arch-utils.c (init_frame_pc_default): Update.
- * m68k-tdep.c (isi_frame_num_args): Update.
- (delta68_frame_num_args): Update.
- (news_frame_num_args): Update.
- * ia64-tdep.c (ia64_pop_frame_regular): Update.
- * alpha-tdep.c (alpha_init_frame_pc_first): Update.
- (alpha_frame_chain): Update.
- (alpha_pop_frame): Update.
- * hppa-tdep.c (hppa_saved_pc_after_call): Update.
- (hppa_init_extra_frame_info): Update.
- (hppa_frame_chain): Update.
- (hppa_frame_chain_valid): Update.
- * cris-tdep.c (cris_init_extra_frame_info): Update.
- * avr-tdep.c (avr_init_extra_frame_info): Update.
- * arm-tdep.c (arm_frame_chain_valid): Update.
- (arm_init_extra_frame_info): Update.
- (arm_pop_frame): Update.
- * frame.c (frame_pc_unwind): Update.
- * config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update.
- (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
- * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
- * config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update.
- * config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update.
- * config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update.
-
-2003-03-10 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (gdbarch_unwind_pc): New method.
- * gdbarch.h, gdbarch.c: Regenerate.
- * frame.c (frame_pc_unwind): Rewrite. Prefer gdbarch_unwind_pc,
- but use read_pc and FRAME_SAVED_PC as fall backs.
- (frame_saved_regs_pc_unwind): Delete function.
- (trad_frame_unwinder): Update.
- * frame-unwind.h (frame_unwind_pc_ftype): Delete declaration.
- (struct frame_unwind): Update.
- * dummy-frame.c (dummy_frame_pc_unwind): Delete function.
- (dummy_frame_unwind): Update.
- * sentinel-frame.c (sentinel_frame_pc_unwind): Delete function.
- (sentinel_frame_unwinder): Update.
- * d10v-tdep.c (d10v_frame_pc_unwind): Delete function.
- (d10v_frame_unwind): Update.
- (d10v_unwind_pc): New function.
- (d10v_gdbarch_init): Set unwind_pc.
-
-2003-03-10 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.h: Re-generate.
-
- * d10v-tdep.c (d10v_frame_register_unwind): Correctly unwind the
- PC.
- (d10v_frame_pop): Unwind the PC, and not the LR, when restoring
- the PC register.
-
-2003-03-08 Mark Kettenis <kettenis@gnu.org>
-
- * gdbarch.sh (save_dummy_frame_tos): Add comment.
-
-2003-03-08 Andrew Cagney <cagney@redhat.com>
-
- * cli-out.c: Update copyright.
- (cli_out_data): Define typedef. Use instead of ui_out_data.
-
-2003-03-08 Andrew Cagney <cagney@redhat.com>
-
- * valarith.c (value_subscripted_rvalue): Copy the array's REGNO to
- the result.
-
-2003-03-07 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh: Don't generate two macro definitions when an
- undefined macro taking no arguments.
- * gdbarch.h: Regenerate.
-
-2002-03-07 Michal Ludvig <mludvig@suse.cz>
-
- * x86-64-tdep.c (x86_64_save_dummy_frame_tos)
- (x86_64_unwind_dummy_id): New functions.
- (x86_64_init_abi): Register these two new functions.
-
-2003-03-07 Michal Ludvig <mludvig@suse.cz>
-
- * x86-64-tdep.c (x86_64_function_has_prologue): New function.
- (x86_64_skip_prologue): Move prologue detection to
- separate function.
- * x86-64-tdep.h (x86_64_function_has_prologue): New prototype.
-
-2003-03-05 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (d10v_unwind_dummy_id): New function.
- (d10v_gdbarch_init): Set unwind_dummy_id and save_dummy_frame_tos.
- * frame.c (get_prev_frame): Restructure the frame ID unwind code
- to use unwind_dummy_id when a dummy frame.
- * gdbarch.sh (unwind_dummy_id): New multi-arch method with
- predicate.
- * gdbarch.h, gdbarch.c: Regneerate.
-
-2003-03-05 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (struct d10v_unwind_cache): Add field "base".
- (d10v_frame_unwind_cache): Rewrite code computing the base and SP.
- Do not use d10v_read_sp or d10v_read_fp when obtaining register
- values.
-
-2003-03-05 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (struct frame_extra_info): Delete unused structure.
- (struct d10v_unwind_cache): Delete field "frameless". Replace
- "next_addr" with "sp_offset". Add "r11_offset".
- (d10v_frame_unwind_cache): Update.
- (prologue_find_regs): Update. When "mv r11, sp", save the
- "sp_offset" in "r11_offset". Recognize "st rn, @r11", note that
- RN was saved in r11_offset.
-
-2003-03-05 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (deprecated_update_frame_pc_hack): Also update the the
- cached PC value in the next frame.
-
-2003-03-05 Andrew Cagney <cagney@redhat.com>
-
- * frame.h (struct frame_info): Replace "id_unwind_cache_p" and
- "id_unwind_cache" with "id".
- (frame_id_unwind): Delete declaration.
- * frame.c (frame_id_unwind): Delete function.
- (get_prev_frame): Call the frame id unwind method directly. Store
- the returned next frame's ID value in NEXT_FRAME. Note that there
- is a problem with the wrong unwind ID being called with the wrong
- unwind cache.
-
-2003-03-05 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in (FLAGS_TO_PASS): Add LDFLAGS.
-
-2003-03-05 James Ingham <jingham@apple.com>
- Daniel Jacobowitz <drow@mvista.com>
-
- * cp-abi.c: Include "command.h", "gdbcmd.h", and "ui-out.h".
- (auto_cp_abi): New variable.
- (current_cp_abi, num_cp_abis): Make static.
- (CP_ABI_MAX): Define.
- (cp_abis): Turn into an array.
- (value_virtual_fn_field): Fix formatting.
- (switch_to_cp_abi, register_cp_abi): Update. register_cp_abi now
- takes a pointer.
- (set_cp_abi_as_auto_default, set_cp_abi_cmd, show_cp_abi_cmd)
- (list_cp_abis, _initialize_cp_abi): New functions.
- * cp-abi.h: Add prototype for set_cp_abi_as_auto_default. Remove
- declarations for cp_abis, num_cp_abis, current_cp_abi, and
- switch_to_cp_abi. Update prototype for register_cp_abi.
- * Makefile.in (cp-abi.o): Update dependencies.
- * minsyms.c (install_minimal_symbols): Call set_cp_abi_as_auto_default
- instead of switch_to_cp_abi.
- * gnu-v2-abi.c (_initialize_gnu_v2_abi): Likewise. Update call to
- register_cp_abi.
- * gnu-v3-abi.c (_initialize_gnu_v3_abi): Update call to
- register_cp_abi.
- * hpacc-abi.c (_initialize_hpacc_abi): Likewise.
-
-2003-03-05 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2expr.c (new_dwarf_expr_context): Add (void) to definition.
- * dwarf2loc.c: Include "regcache.h".
- (dwarf_expr_read_reg): Rename regnum argument to dwarf_regnum. Use
- register_size.
- * Makefile.in (dwarf2loc.o): Update dependencies.
-
-2003-03-04 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_io_reg_read_command): Fix to handle case when the
- number of io registers reported by remote target is not a multiple of
- step.
-
-2003-03-04 David Carlton <carlton@math.stanford.edu>
-
- * symtab.c (lookup_partial_symbol): Add linkage_name argument.
- (lookup_symbol_aux_psymtabs): Update call to
- lookup_partial_symbol.
- (lookup_transparent_type, find_main_psymtab)
- (make_symbol_overload_list): Ditto.
-
-2003-03-04 Kazu Hirata <kazu@cs.umass.edu>
-
- * MAINTAINERS (Write after approval): Update my email address.
-
-2003-03-03 Andrew Cagney <cagney@redhat.com>
-
- Make MAX_REGISTER_RAW_SIZE and MAX_REGISTER_VIRTUAL_SIZE optional.
- * gdbarch.sh (DEPRECATED_MAX_REGISTER_RAW_SIZE): Variable with
- predicate. Replace MAX_REGISTER_RAW_SIZE.
- (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto for
- MAX_REGISTER_VIRTUAL_SIZE.
- * regcache.c (legacy_max_register_raw_size): New function.
- (legacy_max_register_virtual_size): New function.
- * defs.h (MAX_REGISTER_VIRTUAL_SIZE): Define.
- (MAX_REGISTER_RAW_SIZE): Define.
- (legacy_max_register_raw_size): Declare.
- (legacy_max_register_virtual_size): Declare.
- * config/sparc/tm-sparc.h (DEPRECATED_MAX_REGISTER_RAW_SIZE)
- (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Update.
- * config/sparc/tm-sp64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE)
- (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto.
- * config/pa/tm-hppa.h (DEPRECATED_MAX_REGISTER_RAW_SIZE)
- (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto.
- * config/pa/tm-hppa64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto.
- * config/ia64/tm-ia64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto.
- * config/i386/tm-ptx.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * h8300-tdep.c (h8300_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * cris-tdep.c (cris_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
- * d10v-tdep.c (d10v_gdbarch_init): Do not set
- max_register_raw_size or max_register_virtual_size.
-
-2003-03-03 David Carlton <carlton@math.stanford.edu>
-
- * symtab.h (DEPRECATED_SYMBOL_MATCHES_NAME): Rename from
- SYMBOL_MATCHES_NAME, add comment.
- (SYMBOL_MATCHES_NATURAL_NAME): New.
- * minsyms.c (lookup_minimal_symbol_solib_trampoline): Replace
- SYMBOL_MATCHES_NAME with DEPRECATED_SYMBOL_MATCHES_NAME.
- (lookup_minimal_symbol, lookup_minimal_symbol_text): Ditto.
- * symtab.c (lookup_partial_symbol): Use
- SYMBOL_MATCHES_NATURAL_NAME, not SYMBOL_MATCHES_NAME. Delete
- unhelpful comment.
- (lookup_block_symbol): Use SYMBOL_MATCHES_NATURAL_NAME, not
- SYMBOL_MATCHES_NAME.
- Fix for PR c++/33.
-
-2003-03-03 David Carlton <carlton@math.stanford.edu>
-
- * symtab.h (SYMBOL_MATCHES_REGEXP): Delete.
- * symtab.c (search_symbols): Replace uses of SYMBOL_MATCHES_REGEXP
- by regexp matching against SYMBOL_NATURAL_NAME.
-
-2003-03-03 David Carlton <carlton@math.stanford.edu>
-
- * linespec.c (find_method): Extract code into collect_methods.
- (collect_methods): New.
-
-2003-03-02 Mark Kettenis <kettenis@gnu.org>
-
- * i386bsd-tdep.c (i386bsd_sigcontext_addr): Use get_next_frame and
- get_frame_base.
-
- * i386-tdep.c (i386_pe_skip_trampoline_code): Replace usage of
- DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME.
-
-2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
-
- * arch-utils.c (generic_register_byte): Fix to use the loop index
- and not regnum when summing the size of all registers up to regnum.
-
-2003-03-01 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_FRAME_INIT_SAVED_REGS): Rename
- FRAME_INIT_SAVED_REGS.
- * gdbarch.h, gdbarch.c: Regenerate.
- * stack.c (frame_info): Update.
- * sh-tdep.c (sh_find_callers_reg, sh64_get_saved_pr): Update.
- (sh_init_extra_frame_info, sh64_init_extra_frame_info): Update.
- (sh64_get_saved_register, sh_pop_frame, sh64_pop_frame): Update.
- * ns32k-tdep.c (ns32k_pop_frame): Update.
- * mips-tdep.c (mips_pop_frame): Update.
- * m68hc11-tdep.c (m68hc11_pop_frame): Update.
- * ia64-tdep.c (ia64_frame_chain): Update.
- (ia64_frame_saved_pc, ia64_get_saved_register): Update.
- (ia64_frameless_function_invocation): Update.
- (ia64_init_extra_frame_info): Update.
- (ia64_pop_frame_regular): Update.
- * frame.h (struct frame_info): Update comment.
- (DEPRECATED_FRAME_INIT_SAVED_REGS): Rename macro.
- * frame.c (frame_saved_regs_register_unwind): Update.
- (frame_saved_regs_register_unwind): Update.
- (deprecated_generic_get_saved_register): Update.
- * cris-tdep.c: Update comment.
- * config/sparc/tm-sparc.h (DEPRECATED_FRAME_INIT_SAVED_REGS):
- Rename macro.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
- * x86-64-tdep.c (x86_64_init_abi): Update.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * v850-tdep.c (v850_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * sh-tdep.c (sh_gdbarch_init): Update.
- * s390-tdep.c (s390_gdbarch_init): Update.
- * rs6000-tdep.c (rs6000_gdbarch_init): Update.
- * ppc-linux-tdep.c (ppc_linux_init_abi): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * mn10300-tdep.c (mn10300_gdbarch_init): Update.
- * mips-tdep.c (mips_gdbarch_init): Update.
- * mcore-tdep.c (mcore_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
- * ia64-tdep.c (ia64_gdbarch_init): Update.
- * i386-tdep.c (i386_gdbarch_init): Update.
- * frv-tdep.c (frv_gdbarch_init): Update.
- * avr-tdep.c (avr_gdbarch_init): Update.
- * arm-tdep.c (arm_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
-
-2003-03-01 Andrew Cagney <cagney@redhat.com>
-
- * main.c (captured_main): Add OPT_WINDOWS and OPT_NOWINDOWS to
- option enum and switch. When no windows, set the interpreter to
- INTERP_CONSOLE.
-
-2003-03-01 Andrew Cagney <cagney@redhat.com>
-
- * main.c (captured_main): Replace magic option characters with an
- enum.
-
-2003-03-01 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename
- INIT_EXTRA_FRAME_INFO.
- * gdbarch.h, gdbarch.c: Regenerate.
- * arm-tdep.c: Update comments.
- * sh-tdep.c, mcore-tdep.c, m68hc11-tdep.c: Ditto.
- * i386-interix-tdep.c, hppa-tdep.c, h8300-tdep.c: Ditto.
- * frame.h, avr-tdep.c: Ditto.
- * frame.c (get_prev_frame): DEPRECATED_INIT_EXTRA_FRAME_INFO.
- (create_new_frame, legacy_get_prev_frame): Ditto.
- * config/sparc/tm-sparc.h (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename.
- * config/pa/tm-hppa.h (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Initialize
- deprecated_init_extra_frame_info instead of init_extra_frame_info.
- * x86-64-tdep.c (x86_64_init_abi): Ditto.
- * v850-tdep.c (v850_gdbarch_init): Ditto.
- * sparc-tdep.c (sparc_gdbarch_init): Ditto.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * ppc-linux-tdep.c (ppc_linux_init_abi): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * mips-tdep.c (mips_gdbarch_init): Ditto.
- * mcore-tdep.c (mcore_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * i386-interix-tdep.c (i386_interix_init_abi): Ditto.
- * hppa-tdep.c (hppa_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * avr-tdep.c (avr_gdbarch_init): Ditto.
- * arm-tdep.c (arm_gdbarch_init): Ditto.
- * alpha-tdep.c (alpha_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
-
-2003-03-01 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (register_type): New function with predicate.
- (REGISTER_VIRTUAL_TYPE): Change to function with predicate.
- * gdbarch.h, gdbarch.c: Re-generate.
- * arch-utils.c (generic_register_byte): Use generic_register_size.
- (generic_register_size): When available, use
- gdbarch_register_type.
- * regcache.c (init_regcache_descr): When available, initialize the
- register type array using gdbarch_register_type. If the
- architecture supplies gdbarch_register_type, do not use the legacy
- regcache layout.
- * d10v-tdep.c (d10v_register_type): Replace
- d10v_register_virtual_type.
- (d10v_gdbarch_init): Set register_type instead of
- register_virtual_type.
-
-2003-03-01 Andrew Cagney <cagney@redhat.com>
-
- * Makefile.in (ax-gdb.o): Update dependencies.
- * ax-gdb.c: Include "regcache.h".
- (gen_expr): Use register_type instead of REGISTER_VIRTUAL_TYPE.
- * findvar.c (value_of_register): Ditto.
- * infcmd.c (default_print_registers_info): Ditto.
-
-2003-03-01 Mark Kettenis <kettenis@gnu.org>
-
- * i386-linux-tdep.c (find_minsym_and_objfile): Replace usage of
- DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME.
-
-2003-03-01 Mark Kettenis <kettenis@gnu.org>
-
- * i386-linux-tdep.c (find_minsym_and_objfile): Use strcmp instead
- of STREQ.
-
-2003-02-28 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in (dwarf2loc.o): Update dependencies.
- * ax-gdb.c (gen_var_ref): Handle LOC_COMPUTED and LOC_COMPUTED_ARG.
- * dwarf2expr.c (read_uleb128, read_sleb128): Make non-static.
- * dwarf2expr.h (read_uleb128, read_sleb128): Add prototypes.
- * dwarf2loc.c: Include "ax.h" and "ax-gdb.h".
- (locexpr_tracepoint_var_ref): New function.
- (dwarf2_locexpr_funcs): Add locexpr_tracepoint_var_ref.
-
-2003-02-28 Andrew Cagney <cagney@redhat.com>
-
- * regcache.c (register_size): New function.
- * regcache.h (register_size): Declare
- * d10v-tdep.c: Use register_size instead of REGISTER_RAW_SIZE, use
- max_register_size instead of MAX_REGISTER_RAW_SIZE.
-
-2003-02-28 David Carlton <carlton@math.stanford.edu>
-
- * linespec.c (decode_compound): Extract code into find_method.
- (find_method): New.
-
-2003-02-28 J. Brobecker <brobecker@gnat.com>
-
- * Makefile.in: Add rules to build and link in observer.o.
-
-2003-02-27 J. Brobecker <brobecker@gnat.com>
-
- * observer.c: Minor comments edits.
-
-2003-02-27 J. Brobecker <brobecker@gnat.com>
-
- * observer.h, observer.c: New file.
-
-2003-02-27 Andrew Cagney <cagney@redhat.com>
-
- * arm-tdep.c (gdb_print_insn_arm): Rename _bfd to just bfd.
-
-2003-02-27 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-tdep.c (M6811_OP_LDX_EXT, M6811_OP_STS_EXT): New defines.
- (M6812_OP_STS_EXT): Likewise.
- (m6811_prologue): Use the above to recognize prologue.
- (m6812_prologue): Likewise.
-
-2003-02-27 David Carlton <carlton@math.stanford.edu>
-
- * symfile.c (compare_symbols): Use SYMBOL_NATURAL_NAME, not
- SYMBOL_PRINT_NAME.
- (compare_psymbols): Ditto.
- * symtab.c (lookup_partial_symbol, lookup_block_symbol): Ditto.
-
-2003-02-27 Michael Snyder <msnyder@redhat.com>
-
- * f-lang.c (build_fortran_types): New function.
- (_initialize_f_language): Gdbarch-register built-in fortran types.
- * doublest.c (extract_floating): Fix warning text.
-
-2003-02-27 Andrew Cagney <cagney@redhat.com>
-
- * gdbarch.sh (DEPRECATED_PUSH_DUMMY_FRAME): Procedure with
- predicate. Replaces PUSH_DUMMY_FRAME.
- * gdbarch.h, gdbarch.c: Regnerate.
- * valops.c (hand_function_call): Update. Call
- generic_push_dummy_frame directly.
- * vax-tdep.c (vax_gdbarch_init): Update.
- * sparc-tdep.c (sparc_gdbarch_init): Update.
- * ns32k-tdep.c (ns32k_gdbarch_init): Update.
- * m68k-tdep.c (m68k_gdbarch_init): Update.
- * hppa-tdep.c (hppa_gdbarch_init): Update.
- * alpha-tdep.c (alpha_gdbarch_init): Update.
- * config/sparc/tm-sparc.h (DEPRECATED_PUSH_DUMMY_FRAME): Update.
- * config/pa/tm-hppa.h (DEPRECATED_PUSH_DUMMY_FRAME): Update.
- * inferior.h (PUSH_DUMMY_FRAME): Delete definition.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Don't set
- push_dummy_frame to generic_push_dummy_frame.
- * v850-tdep.c (v850_gdbarch_init): Ditto.
- * sh-tdep.c (sh_gdbarch_init): Ditto.
- * s390-tdep.c (s390_gdbarch_init): Ditto.
- * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
- * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
- * mips-tdep.c (mips_gdbarch_init): Ditto.
- * mcore-tdep.c (mcore_gdbarch_init): Ditto.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
- * ia64-tdep.c (ia64_gdbarch_init): Ditto.
- * i386-tdep.c (i386_gdbarch_init): Ditto.
- * h8300-tdep.c (h8300_gdbarch_init): Ditto.
- * frv-tdep.c (frv_gdbarch_init): Ditto.
- * d10v-tdep.c (d10v_gdbarch_init): Ditto.
- * cris-tdep.c (cris_gdbarch_init): Ditto.
- * avr-tdep.c (avr_gdbarch_init): Ditto.
- * arm-tdep.c (arm_gdbarch_init): Ditto.
-
-2003-02-26 Kevin Buettner <kevinb@redhat.com>
-
- * mips-tdep.c (show_mips_abi): New function.
- (_initialize_mips_tdep): Use show_mips_abi() to implement the
- command ``show mips abi''.
-
-2003-02-26 Jeff Johnston <jjohnstn@redhat.com>
-
- From Elena Zannoni <ezannoni@redhat.com>
- * dbxread.c (process_one_symbol): Only record line 0 if one or
- more sline entries have been seen for the function.
-
-2003-02-26 Michael Chastain <mec@shout.net>
-
- * configure: Regenerate with autoconf 000227.
-
-2003-02-26 Michael Chastain <mec@shout.net>
-
- Close PR build/660.
- * PROBLEMS (i[3456]86-*-linux*): Note explicit error message
- for old libc5/glibc.
- * gdb_thread_db.h: Die if not HAVE_UINTPTR_T.
-
-2003-02-26 Kris Warkentin <kewarken@qnx.com>
-
- * defs.h (gdb_osabi): Add GDB_OSABI_QNXNTO.
- * osabi.c (gdb_osabi_names): Add "QNX Neutrino".
-
-2003-02-26 Michael Chastain <mec@shout.net>
-
- * configure.in: New variable HAVE_UINTPTR_T.
- * configure, config.in: Regenerated.
-
-2003-02-26 Daniel Jacobowitz <drow@mvista.com>
-
- Fix PR build/1097.
- * utils.c (gdb_realpath): Move closing brace outwards one #endif.
-
-2003-02-25 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (get_prev_frame): Add comment on check for
- inside_entry_func. Only check for inside_entry_file when not a
- dummy and not a sentinel. Check that the new frame is not inner
- to the old frame.
-
-2003-02-25 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (frame_debug): New variable.
- (_initialize_frame): Add "set/show debug frame" command.
- (get_prev_frame): When frame_debug, print reason why unwind
- failed.
-
-2003-02-25 Michael Chastain <mec@shout.net>
-
- * PROBLEMS (i[3456]86-*-linux*): Require glibc 2.1.3 or later
- to avoid uintptr_t definition problems.
-
-2003-02-25 David Carlton <carlton@math.stanford.edu>
-
- * symtab.h (SYMBOL_NATURAL_NAME): New macro.
- (SYMBOL_LINKAGE_NAME): Ditto.
- (SYMBOL_PRINT_NAME): Use SYMBOL_NATURAL_NAME and
- SYMBOL_LINKAGE_NAME.
- (struct general_symbol_info): Expand comment.
- (DEPRECATED_SYMBOL_NAME): Rename from SYMBOL_NAME.
- (SYMBOL_MATCHES_NAME): Use DEPRECATED_SYMBOL_NAME.
- (SYMBOL_MATCHES_REGEXP): Ditto.
- * symtab.c (symbol_natural_name): New function.
- * objfiles.h: Replace all uses of SYMBOL_NAME by
- DEPRECATED_SYMBOL_NAME.
- * xcoffread.c, valops.c, typeprint.c, tracepoint.c: Ditto.
- * symtab.c, symmisc.c, symfile.c, stack.c, stabsread.c: Ditto.
- * somsolib.c, sol-thread.c, rs6000-tdep.c, p-valprint.c: Ditto.
- * printcmd.c, objfiles.c, objc-lang.c, mipsread.c: Ditto.
- * minsyms.c, mdebugread.c, linespec.c, jv-lang.c: Ditto.
- * i386-tdep.c, i386-linux-tdep.c, hpread.c, hppa-tdep.c: Ditto.
- * gnu-v2-abi.c, f-valprint.c, findvar.c, expprint.c: Ditto.
- * dwarfread.c, dwarf2read.c, dbxread.c, c-valprint.c: Ditto.
- * cp-valprint.c, coffread.c, buildsym.c, breakpoint.c: Ditto.
- * blockframe.c, ax-gdb.c, arm-linux-tdep.c, ada-lang.c: Ditto.
- * ada-exp.y: Ditto.
- * ada-exp.y: Update copyright.
- * sol-thread.c, mipsread.c, jv-lang.c, f-valprint.c: Ditto.
- * cp-valprint.c: Ditto.
-
-2003-02-25 Jeff Johnston <jjohnstn@redhat.com>
-
- * infptrace.c (detach): Do not flag error if ptrace detach fails
- and errno is set to ESRCH.
-
-2003-02-24 Andrew Cagney <cagney@redhat.com>
-
- * infptrace.c (udot_info): Change type of udot_off to long. Use
- paddr when printing udot_off's value.
-
-2003-02-24 David Carlton <carlton@math.stanford.edu>
-
- * symtab.c (make_symbol_overload_list): Only read in partial
- symtabs containing a matching partial symbol.
-
-2003-02-24 David Carlton <carlton@math.stanford.edu>
-
- * symtab.c (lookup_partial_symbol): Use strcmp_iw_ordered to
- do the comparison, not strcmp.
- * symfile.c (compare_psymbols): Ditto.
- * defs.h: Declare strcmp_iw_ordered.
- * utils.c (strcmp_iw_ordered): New function.
-
-2003-02-24 Jim Blandy <jimb@redhat.com>
-
- * MAINTAINERS (GNU/Linux/x86, linespec, breakpoints, Scheme
- support, shared libs): Remove my name from here, to better reflect
- reality.
-
-2003-02-24 Kris Warkentin <kewarken@qnx.com>
-
- * target.h: (HAVE_CONTINUABLE_WATCHPOINT): Define.
- (target_ops): Add to_have_continuable_watchpoint.
- * target.c (update_current_target): Add INHERIT line for
- to_have_continuable_watchpoint.
- * infrun.c: Remove HAVE_CONTINUABLE_WATCHPOINT defines.
- * config/i386/nm-i386.h, config/i386/nm-i386sco5.h,
- config/i386/nm-i386sol2.h, config/s390/nm-linux.h,
- config/sparc/nm-sun4sol2.h: HAVE_CONTINUABLE_WATCHPOINT defined as 1.
-
-2003-02-24 Elena Zannoni <ezannoni@redhat.com>
-
- * MAINTAINERS (Core): Drop main.c and top.c. Clarify event loop
- maintainership.
-
-2003-02-24 Kris Warkentin <kewarken@qnx.com>
-
- * solib.c (solib_open): Call target defined search function after
- failing with solib-search-path.
- * solist.h (target_so_ops): Add find_and_open_solib function hook and
- create define TARGET_SO_FIND_AND_OPEN_SOLIB.
-
-2003-02-24 Kris Warkentin <kewarken@qnx.com>
-
- * MAINTAINERS: Add myself to Write After section.
-
-2003-02-23 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-tdep.c (m68hc11_gdbarch_init): long double is 64-bit wide.
-
-2003-02-22 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-tdep.c (m68hc11_init_reggroups): New function.
- (m68hc11_add_reggroups): New function.
- (m68hc11_register_reggroup_p): New to register hard/soft reggroups.
- (m68hc11_gdbarch_init): Install the reggroups.
- (_initialize_m68hc11_tdep): Initialize them.
-
-2003-02-21 James E Wilson <wilson@tuliptree.org>
-
- * MAINTAINERS: Update my email address.
-
-2003-02-21 David Carlton <carlton@math.stanford.edu>
-
- * arm-tdep.c (arm_gdbarch_init): Add break after default label.
-
-2003-02-21 Daniel Jacobowitz <drow@mvista.com>
-
- Based on a patch from Daniel Berlin (dberlin@dberlin.org).
- * symtab.h: Add opaque declarations of struct axs_value and
- struct agent_expr.
- (enum address_class): Add LOC_COMPUTED and LOC_COMPUTED_ARG.
- (struct location_funcs): New type.
- (struct symbol): Add "loc" to aux_value.
- (SYMBOL_LOCATION_BATON, SYMBOL_LOCATION_FUNCS): New macros.
- * dwarf2read.c: Include "dwarf2expr.h".
- (dwarf2_symbol_mark_computed): New function.
- (read_func_scope): Use it.
- (var_decode_location): New function.
- (new_symbol): Use it.
- * dwarf2expr.c, dwarf2expr.h, dwarf2loc.c, dwarf2loc.h: New files.
-
- * Makefile.in (SFILES): Add dwarf2loc.c and dwarf2expr.c.
- (dwarf2expr_h, dwarf2loc_h): New variables.
- (COMMON_OBS): Add dwarf2expr.o and dwarf2loc.o.
- (dwarf2expr.o, dwarf2loc.o): New rules.
- (dwarf2read.o): Add $(dwarf2expr_h) and $(dwarf2loc_h).
- * buildsym.c (finish_block): Handle LOC_COMPUTED and
- LOC_COMPUTED_ARG.
- * findvar.c (symbol_read_needs_frame, read_var_value): Likewise.
- * m2-exp.y (yylex): Likewise.
- * printcmd.c (address_info, print_frame_args): Likewise.
- * stack.c (print_block_frame_locals, print_frame_arg_vars): Likewise.
- * symmisc.c (print_symbol, print_partial_symbols): Likewise.
- * ada-lang.c (ada_resolve_subexp, symtab_for_sym)
- (ada_add_block_symbols, fill_in_ada_prototype): Likewise.
- * symtab.c (lookup_block_symbol): Likewise.
-
-2003-02-20 Adam Fedor <fedor@gnu.org>
-
- * symtab.h: Remove objc_specific struct
- (SYMBOL_OBJC_DEMANGLED_NAME): Remove.
- * symtab.c (symbol_init_language_specific, symbol_demangled_name):
- Have language_objc use cplus_specific struct.
-
-2003-02-20 Tom Tromey <tromey@redhat.com>
-
- * jv-valprint.c (java_value_print): Look at TYPE_TAG_NAME, not
- TYPE_NAME, when printing a String value. PR java/1075.
-
-2003-02-20 Adam Fedor <fedor@gnu.org>
-
- * objc-lang.h (find_methods): Remove declaration.
- * objc-lang.c (find_methods): Make static.
-
-2003-02-20 Christopher Faylor <cgf@redhat.com>
-
- * win32-nat.c (get_image_name): Check return value from
- ReadProcessMemory.
- (child_xfer_memory): Ditto.
-
-2003-02-20 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (TARGET_SYSTEM_ROOT): Set default to
- ${exec_prefix}/${target_alias}/sys-root. Match explicit
- '${exec_prefix}' (in addition to the expansion thereof) as
- relocatable.
- * configure: Rebuilt.
-
-2003-02-20 David Carlton <carlton@math.stanford.edu>
-
- * symtab.c (search_symbols): Revert the search_symbols part of my
- 2002-12-23 patch. Add comment.
-
-2002-02-20 Daniel Jacobowitz <drow@mvista.com>
-
- * coffread.c (coff_symfile_read): Clean up minimal symbols earlier.
- * dbxread.c (elfstab_build_psymtabs): Don't call
- install_minimal_symbols.
- (stabsect_build_psymtabs): Likewise.
- * elfread.c (elf_symfile_read): Call install_minimal_symbols
- earlier.
- * somread.c (som_symfile_read): Call install_minimal_symbols
- and do_cleanups earlier.
- * nlmread.c (nlm_symfile_read): Likewise.
- * mdebugread.c (elfmdebug_build_psymtabs): Call
- install_minimal_symbols and make appropriate cleanups.
-
-2003-02-20 Kevin Buettner <kevinb@redhat.com>
-
- * solib.c (reload_shared_libraries): New function.
- (_initialize_solib): Add callbacks for ``set solib-search-path''
- and ``set solib-absolute-prefix''.
-
-2003-02-20 David Carlton <carlton@math.stanford.edu>
-
- * symtab.h (SYMBOL_PRINT_NAME): Rename from SYMBOL_SOURCE_NAME;
- expand comment.
- * ada-lang.c (user_select_syms, ada_finish_decode_line_1): Replace
- SYMBOL_PRINT_NAME with SYMBOL_SOURCE_NAME.
- * ada-typeprint.c (ada_typedef_print): Ditto.
- * ax-gdb.c (gen_var_ref): Ditto.
- * breakpoint.c (print_one_breakpoint): Ditto.
- * buildsym.c (finish_block): Ditto.
- * c-valprint.c (c_val_print): Ditto.
- * expprint.c (print_subexp): Ditto.
- * findvar.c (locate_var_value): Ditto.
- * infcmd.c (jump_command): Ditto.
- * linespec.c (decode_line_2, decode_compound): Ditto.
- * maint.c (maintenance_translate_address): Ditto.
- * objc-lang.c (compare_selectors, compare_classes): Ditto.
- * printcmd.c (build_address_symbolic, sym_info, print_frame_args):
- Ditto.
- * p-valprint.c (pascal_val_print): Ditto.
- * stabsread.c (define_symbol): Ditto.
- * stack.c (print_frame, frame_info, print_block_frame_locals)
- (print_frame_arg_vars, return_command): Ditto.
- * symfile.c (compare_symbols, compare_psymbols): Ditto.
- * symmisc.c (print_symbol): Ditto.
- * symtab.c (lookup_partial_symbol, lookup_block_symbol)
- (compare_search_syms, print_symbol_info, print_msymbol_info)
- (rbreak_command): Ditto.
- * tracepoint.c (tracepoints_info): Ditto.
- * typeprint.c (typedef_print): Ditto.
- * valops.c (value_of_variable, hand_function_call): Ditto.
- * cli/cli-cmds.c (edit_command, list_command): Ditto.
- * ada-typeprint.c: Update Copyright.
- * infcmd.c, objc-lang.c, p-valprint.c, symmisc.c: Ditto.
- * tracepoint.c, cli/cli-cmds.c: Ditto.
-
-2003-02-20 Kevin Buettner <kevinb@redhat.com>
-
- * frame.c (generic_unwind_get_saved_register): Make non-static.
- * frame.h (generic_unwind_get_saved_register): Declare.
- * mips-tdep.c (read_next_frame_reg): Fetch register from
- current regcache when frame is NULL.
- (mips_init_extra_frame_info): Pass NULL explicitly for parameter
- that must be NULL.
- (mips_get_saved_register): Call generic_unwind_get_saved_register()
- instead of frame_register_unwind().
-
-2003-02-20 Andrew Cagney <ac131313@redhat.com>
-
- * remote-sim.c (gdbsim_insert_breakpoint)
- (gdbsim_remove_breakpoint): Delete #ifdef SIM_HAS_BREAKPOINTS
- code.
-
-2003-02-20 Andrew Cagney <ac131313@redhat.com>
-
- * remote.c (_initialize_remote): Add commands "set/show remote
- hardware-watchpoint-limit" and "set/show remote
- hardware-breakpoint-limit".
- (remote_hw_watchpoint_limit): Initialize to -1.
- (remote_hw_breakpoint_limit): Ditto.
- (remote_check_watch_resources): Treat a limit of -1 as unlimited.
-
-2003-02-19 Raoul Gough <RaoulGough@yahoo.co.uk>
-
- * coff-pe-read.c: New file - support reading of minimal symbols from a
- portable executable using the export table.
- * coff-pe-read.h: New file.
- * coffread.c: Include coff-pe-read.h.
- (coff_symtab_read): Call read_pe_exported_syms iff no recognized
- debugging symbols found.
- * Makefile.in (SFILES): Add coff-pe-read.o.
- (coff_pe_read_h): Define.
- (COMMON_OBS): Add coff-pe-read.o.
- (coffread.o): Add coff_pe_read_h dependency.
- (coff-pe-read.o): New target.
-
-2003-02-19 David Carlton <carlton@math.stanford.edu>
-
- * Makefile.in (SFILES): Add block.c.
- (block_h): New.
- (COMMON_OBS): Add block.o.
- (block.o): New.
- (x86-64-tdep.o): Add $(block_h).
- (values.o, valops.o, tracepoint.o, symtab.o, symmisc.o, symfile.o)
- (stack.o, printcmd.o, p-exp.tab.o, parse.o, objfiles.o)
- (objc-exp.tab.o, objc-lang.o, nlmread.o, mips-tdep.o, mdebugread.o)
- (m2-exp.tab.o, linespec.o, jv-lang.o, jv-exp.tab.o, infcmd.o)
- (f-valprint.o, findvar.o, f-exp.tab.o, expprint.o, coffread.o)
- (c-exp.tab.o, buildsym.o, breakpoint.o, blockframe.o, ax-gdb.o)
- (alpha-tdep.o, ada-lang.o, ada-exp.tab.o, mi-cmd-stack.o): Ditto.
- * value.h: Add opaque declaration for struct block.
- * parser-defs.h, objc-lang.h, buildsym.h, breakpoint.h: Ditto.
- * ada-lang.h: Ditto.
- * x86-64-tdep.c: #include "block.h"
- * values.c, valops.c, tracepoint.c, symtab.c, symmisc.c: Ditto.
- * symfile.c, stack.c, printcmd.c, p-exp.y, parse.c: Ditto.
- * objfiles.c, objc-exp.y, objc-lang.c, nlmread.c: Ditto.
- * mips-tdep.c, mdebugread.c, m2-exp.y, linespec.c: Ditto.
- * jv-lang.c, jv-exp.y, infcmd.c, f-valprint.c: Ditto.
- * findvar.c, f-exp.y, expprint.c, coffread.c, c-exp.y: Ditto.
- * buildsym.c, breakpoint.c, blockframe.c, ax-gdb.c: Ditto.
- * alpha-tdep.c, ada-lang.c, ada-exp.y: Ditto.
- * blockframe.c (blockvector_for_pc_sect): Move to "block.c".
- (blockvector_for_pc, block_for_pc_sect, block_for_pc): Ditto.
- * symtab.c (block_function): Ditto.
- (contained_in): Ditto.
- * frame.h: Move block_for_pc and block_for_pc_sect declarations to
- block.h. Add opaque declaration for struct block.
- * symtab.h: Move block_function and contained_in declarations to
- block.h. Add opaque declarations for struct block, struct
- blockvector.
- (struct block): Move to block.h.
- (struct blockvector): Ditto.
- (BLOCK_START, BLOCK_END, BLOCK_FUNCTION, BLOCK_SUPERBLOCK)
- (BLOCK_GCC_COMPILED, BLOCK_HASHTABLE, BLOCK_NSYMS, BLOCK_SYM)
- (BLOCK_BUCKETS, BLOCK_BUCKET, BLOCK_HASHTABLE_SIZE)
- (ALL_BLOCK_SYMBOLS, BLOCK_SHOULD_SORT, BLOCKVECTOR_NBLOCKS)
- (BLOCKVECTOR_BLOCK, GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK):
- Ditto.
- * block.c: New file.
- * block.h: New file.
-
-2003-02-19 Theodore A. Roth <troth@openavr.org>
-
- * avr-tdep.c (avr_extract_return_value): Remove function.
- (avr_store_return_value): Remove function.
- (avr_extract_struct_value_address): Remove function.
- (avr_gdbarch_init): Remove set_gdbarch_deprecated_*() calls.
-
-2003-02-19 Andrew Cagney <ac131313@redhat.com>
-
- * rs6000-tdep.c: Include "gdb_assert.h".
- (registers_e500): Add "acc" and "spefscr".
- (PPC_GPRS_PSEUDO_REGS): Remove trailing comma.
- (rs6000_gdbarch_init): Update initialization of ppc_gp0_regnum,
- ppc_gplast_regnum, sp_regnum and fp_regnum. Check that gp0_regnum
- really is "r0".
- (registers_e500): Mark the "acc" as a 64 bit (from Jim Willson).
-
-2003-02-18 Keith Seitz <keiths@redhat.com>
-
- * Makefile.in: Add gdbtk-interps.c.
-
-2003-02-18 Kevin Buettner <kevinb@redhat.com>
-
- * sparc-tdep.c (sparc_frame_chain): Adjust return value.
- * config/sparc/tm-sparc.h (init_frame_pc_noop): Declare.
-
-2003-02-18 Andrew Cagney <cagney@redhat.com>
-
- * symtab.h (struct objfile): Add opaque declaration.
-
-2003-02-18 Elena Zannoni <ezannoni@redhat.com>
-
- From Jim Ingham <jingham@apple.com>:
- * dbxread.c (process_one_symbol): Use last_function_start rather
- than function_start_offset to find the real beginning of the
- current function. The latter is just the text section offset on
- some systems, the former is always the real function start.
-
-2003-02-17 Andrew Cagney <cagney@redhat.com>
-
- * configure.in: Revert ${target} != ${host}.
-
-2003-02-17 Andrew Cagney <ac131313@redhat.com>
-
- * configure.in (Makefile): Use the test ${target} != ${host},
- instead of the absence of the "nm.h" file, to determine of the
- configuration non-native.
- * configure: Regenerate.
-
-2003-02-14 Elena Zannoni <ezannoni@redhat.com>
-
- From Brian Ford <ford@vss.fsi.com>
-
- * cli/cli-decode.c (lookup_cmd_composition) [TUI]: Properly
- conditionalize tui_active test.
- (lookup_cmd_1): Ditto.
-
-2003-02-14 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Add check for _etext.
- * maint.c (maintenance_set_profile_cmd): Use etext if _etext isn't
- available.
- * config.in, configure: regenerated.
-
-2003-02-14 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2read.c (dwarf2_get_pc_bounds): Offset addresses by base.
-
-2003-02-14 Andrew Cagney <ac131313@redhat.com>
-
- * main.c (tui_version): Delete variable.
- (captured_main): When --tui, set interpreter_p to "tui" instead of
- enabling tui_version.
- * printcmd.c (display_command) [TUI]: Test tui_active instead of
- tui_version.
- * cli/cli-decode.c (lookup_cmd_composition): Ditto.
- * cli/cli-cmds.c (disassemble_command): Ditto.
- * defs.h (tui_version): Delete declaration.
- * Makefile.in (SUBDIR_TUI_SRCS): Add "tui/tui-interp.c".
- (tui-interp.o): Add rules.
- (SUBDIR_TUI_OBS): Add "tui-interp.o".
-
-2003-02-14 Christopher Faylor <cgf@redhat.com>
-
- * win32-nat.c (register_loaded_dll): Correctly set address range for
- just-loaded dll.
-
-2003-02-12 Jason Molenda (jmolenda@apple.com)
-
- * symmisc.c (print_objfile_statistics): Include information about
- the number of psymtabs and symtabs in each object file.
-
-2003-02-13 Keith R Seitz <keiths@redhat.com>
-
- * main.h (struct captured_main_args): Add interpreter_p.
- * main.c (captured_main): Initialize interpreter_p from context.
- * gdb.c (main): Set interpreter_p argument.
- * Makefile.in (gdb.o): Add dependency for interps.h.
-
-2003-02-12 Andrew Cagney <ac131313@redhat.com>
-
- * event-top.c (cli_command_loop): Delete declaration.
- (_initialize_event_loop): Delete function setting event_loop_hook.
- * event-top.h (cli_command_loop): Declare. Update copyright.
- (EVENT_TOP_H): Define. Wrap header in #ifdef EVENT_TOP_H.
- * interps.c (current_interp_command_loop): When event_loop_p, call
- cli_command_loop.
-
-2003-02-12 Andrew Cagney <ac131313@redhat.com>
-
- * interps.h (interp_command_loop_ftype): Change return type to
- void.
-
-2003-02-12 Michal Ludvig <mludvig@suse.cz>
-
- * x86-64-tdep.c (x86_64_extract_return_value)
- (x86_64_store_return_value): Use regcache instead of regbuf.
- (x86_64_gdbarch_init): Change related set_gdbarch_* functions.
- * x86-64-linux-nat.c (fill_gregset): Use regcache.
-
-2003-02-11 Andrew Cagney <ac131313@redhat.com>
-
- * acinclude.m4 (no_tcl): SUBST TCL_CC_SEARCH_FLAGS.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * Makefile.in (TCL): Use TCL_CC_SEARCH_FLAGS instead of
- TCL_LD_SEARCH_FLAGS.
-
-2003-02-10 Michal Ludvig <mludvig@suse.cz>
-
- * dwarf2cfi.c: Reindented.
-
-2003-02-09 Andrew Cagney <ac131313@redhat.com>
-
- * interps.c (clear_interpreter_hooks): Convert function definition
- to ISO C.
-
-2003-02-07 David Carlton <carlton@math.stanford.edu>
-
- * gdb_mbuild.sh: Delete extra shift after parsing '-f'.
-
-2003-02-07 Kevin Buettner <kevinb@redhat.com>
-
- * gdbtypes.h (struct main_type): Move ``length'' field from here...
- (struct type): ...to here.
- (TYPE_LENGTH): Adjust to reflect different location of ``length''
- field.
- * gdbtypes.c (make_qualified_type): Set length on newly created type.
- (replace_type): Set length on all type variants for a given type.
-
-2003-02-07 Andrew Cagney <ac131313@redhat.com>
-
- * sol-thread.c, hpux-thread.c: Include "gdb_stat.h" instead of
- <sys/stat.h>.
- * Makefile.in (sol-thread.o, hpux-thread.o): Update dependencies.
-
-2003-02-06 Andrew Cagney <ac131313@redhat.com>
-
- * Makefile.in (symm-nat.o): Update dependencies.
- (sparc-nat.o, procfs.o, proc-api.o, ppc-linux-nat.o): Ditto.
- (lynx-nat.o, ia64-linux-nat.): Ditto.
- * symm-nat.c, sparc-nat.c, procfs.c, proc-api.c: Include
- "gdb_wait.h" instead of <wait.h> or <sys/wait.h>.
- * ppc-linux-nat.c, lynx-nat.c, ia64-linux-nat.c: Ditto.
-
- * Makefile.in (inflow_h): Define.
- (procfs.o, inflow.o, procfs.o): Update dependencies.
- * inftarg.c (child_stop): Delete extern declaration of
- inferior_process_group. Include "inflow.h".
- * procfs.c (procfs_stop): Ditto. Include "inflow.h".
- * inflow.c (PROCESS_GROUP_TYPE): Move definitions from here ...
- * inflow.h (PROCESS_GROUP_TYPE): ... to here. New file.
- (our_process_group, inferior_process_group): Extern declarations.
-
- * procfs.c: Include "gdb_assert.h".
-
- * linux-proc.c: Include "gdb_stat.h" instead of <sys/stat.h>.
- * cp-valprint.c (cp_print_value_fields): Eliminate STREQN.
- * jv-typeprint.c (java_type_print_base): Ditto.
- * typeprint.c (typedef_print): Eliminate STREQ.
- * cli/cli-script.c (define_command, define_command): Ditto.
- * main.c (captured_main): Ditto.
- * values.c (lookup_internalvar): Ditto.
- * utils.c (safe_strerror, parse_escape): Eliminate assignment
- within `if' conditional.
- * linespec.c (decode_line_2): Ditto.
- * cli/cli-dump.c (bfd_openr_with_cleanup): Ditto.
- (bfd_openw_with_cleanup): Ditto.
-
-2003-02-07 Mark Kettenis <kettenis@gnu.org>
-
- * x86-64-tdep.c (x86_64_init_abi): Set extract_return_value to
- legacy_extract_return_value and store_return_value to
- legacy_return_value.
-
-2003-02-06 Raoul Gough <RaoulGough@yahoo.co.uk>
-
- * win32-nat.c (get_relocated_section_addrs): New function. Find
- section load addresses for symbol handling in relocated DLLs.
- (solib_symbols_add): Open a bfd and call get_relocated_section_addrs.
-
-2003-02-05 Fred Fish <fnf@intrinsity.com>
+2004-01-04 Mark Kettenis <kettenis@gnu.org>
- * remote-e7000.c (e7000_drain_command): Fix precedence problem with
- '=' and '!='.
- * rdi-share/ardi.c (wait_for_debug_message): Fix precedence problem
- with '&' and '=='.
- (angel_RDI_info): Ditto.
- * infttrace.c (threads_continue_all_but_one): Fix precedence problem
- with '&' and '!='.
- (threads_continue_all_with_signals): Ditto.
+ * sparc64-tdep.c (sparc64_store_arguments): Fix handling of
+ `float' arguments.
-2003-02-05 Jim Ingham <jingham@apple.com>
- Keith Seitz <keiths@redhat.com>
- Elena Zannoni <ezannoni@redhat.com>
- Andrew Cagney <ac131313@redhat.com>
+2004-01-04 Mark Kettenis <kettenis@gnu.org>
- * Makefile.in (SUBDIR_CLI_OBS): Add "cli-interp.o".
- (SUBDIR_CLI_SRCS): Add "cli/cli-interp.c".
- (SUBDIR_MI_OBS): Add "mi-interp.o".
- (SUBDIR_MI_SRCS): Add "mi/mi-interp.c".
- (SFILES): Add "interps.c".
- (COMMON_OBS): Add "interps.o".
- (interps_h, mi_main_h): Define.
- (interps.o, cli-interp.o, mi-interp.o): Add dependencies.
- (mi-main.o, main.o, event-top.o): Update dependencies.
- * cli/cli-interp.c: New file.
- * interps.h, interps.c: New files.
- * top.c: (gdb_init): Don't install the default interpreter, handed
- by captured_main.
- * main.c: Include "interps.h".
- (interpreter_p): Note that it should malloc'ed.
- (captured_command_loop): Call current_interp_command_loop.
- (captured_main): Initialize interpreter_p to INTERP_CONSOLE. Use
- xfree and xstrdup when updating interpreter_p. Install the
- default interpreter. Add hack to stop mi1's copyright notice
- being encoded.
- * event-top.h (gdb_setup_readline): Declare.
- (gdb_disable_readline): Declare.
- * event-top.c: Include "interps.h".
- (display_gdb_prompt): Call current_interp_display_prompt_p.
- (gdb_setup_readline): Initialize gdb_stdout, gdb_stderr,
- gdb_stdlog, and gdb_stdtarg.
- (_initialize_event_loop): Don't call gdb_setup_readline.
- * cli-out.c (cli_out_set_stream): New function.
- * cli-out.h (cli_out_set_stream): Declare.
+ * sparc64-tdep.c (sparc64_store_floating_fields): Update comment
+ such that it mentions a specific version of GCC that exhibits this
+ bug.
-2003-02-06 Mark Kettenis <kettenis@gnu.org>
+2004-01-03 Mark Kettenis <kettenis@gnu.org>
- * configure.tgt (i[3456]86-*-sysv4.2*, i[3456]86-*-sysv4*,
- i[3456]86-*-sysv5*, i[3456]86-*-sco3.2v5*): Remove. These are all
- handled fine by i[3456]86-*sco* and i[3456]86-sysv*.
- * config/i386/i386sco5.mt, config/i386/i386v4.mt,
- config/i386/i386v42mp.mt: Removed.
+ * sparc64-tdep.c (sparc64_store_floating_fields): If TYPE is a
+ structure that has a single `float' member, store it in %f1 in
+ addition to %f0.
-2003-02-05 Mark Kettenis <kettenis@gnu.org>
+ * sparc-sol2-nat.c: Add missing '\'.
- * configure.tgt (*-*-solaris*): Set gdb_osabi to
- GDB_OSABI_SOLARIS.
+ * sparc-tdep.c (sparc32_return_value): New function.
+ (sparc32_use_struct_convention, sparc32_return_value_on_stack):
+ Remove functions.
+ (sparc32_gdbarch_init): Set return_value, don't set
+ extract_return_value, store_return_value, use_struct_convention
+ and return_value_on_stack.
-2003-02-05 Michael Chastain <mec@shout.net>
+ * sparc-sol2-nat.c: Add missing ')'.
- * PROBLEMS (i[3456]86-*-linux*): Warn about binutils
- 2.12.1 and earlier versions.
+2004-01-03 J. Brobecker <brobecker@gnat.com>
-2003-02-05 Andrew Cagney <ac131313@redhat.com>
+ * infrun.c (handle_step_into_function): New function.
+ (handle_inferior_event): Extract out some code into the new
+ function above.
- Remove orphaned hosts, targets and files.
- * config/i386/gdbserve.mt, config/m68k/nm-apollo68b.h: Delete.
- * config/m68k/nm-hp300bsd.h, config/m68k/tm-apollo68b.h: Delete.
- * config/m68k/tm-es1800.h, config/m68k/tm-hp300bsd.h: Delete.
- * config/m68k/tm-mac.h, config/m68k/xm-apollo68b.h: Delete.
- * config/pa/hpux1020.mt, config/pa/hpux11.mt: Delete.
- * config/pa/hpux11w.mt, config/powerpc/gdbserve.mt: Delete.
- * config/powerpc/ppcle-eabi.mt, config/powerpc/ppcle-sim.mt: Delete.
- * config/powerpc/tm-ppc-sim.h, config/sparc/sp64sim.mt: Delete.
- * config/sparc/tm-sp64sim.h: Delete.
- * configure.host: Delete strongarm-*-*, xscale-*-*, and arm*-*-*
- hosts.
- * configure.tgt: Delete i[3456]86-*-sco3.2v4*, and
- mips*-dec-mach3* targets.
+2004-01-03 J. Brobecker <brobecker@gnat.com>
-2003-02-04 Michael Chastain <mec@shout.net>
+ * infrun.c (handle_inferior_event): Move the declaration of
+ real_stop_pc inside the if blocks where it is used.
- * NEWS: Fix typo: sepcifying -> specifying.
+2004-01-03 Mark Kettenis <kettenis@gnu.org>
-2003-02-04 Michael Chastain <mec@shout.net>
-
- * dwarfread.c: Add documentation on the state of dwarf-1,
- looking towards obsoletion.
-
-2003-02-03 Michael Chastain <mec@shout.net>
-
- * config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.c++/pr-1023.cc,
- gdb/testsuite/gdb.c++/pr-1023.exp.
-
-2003-02-04 Andrew Cagney <ac131313@redhat.com>
-
- * values.c: Delete code conditional on IS_TRAPPED_INTERNALVAR.
- * TODO: Delete reference to IS_TRAPPED_INTERNALVAR.
-
- * utils.c (init_page_info): Delete reference to MPW in comments.
- * main.c (captured_main): Delete #ifdef MPW.
-
-2003-02-04 Andrew Cagney <ac131313@redhat.com>
-
- * NEWS: Note that the m32r-*-elf* is obsolete.
- * monitor.c (monitor_expect): Obsolete reference to m32r.
- * configure.tgt: Mark m32r-*-elf* as obsolete.
- * MAINTAINERS: Mark m32k as obsolete.
- * m32r-rom.c: Obsolete file.
- * config/m32r/m32r.mt: Obsolete file.
- * config/m32r/tm-m32r.h: Obsolete file.
- * m32r-stub.c: Obsolete file.
- * m32r-tdep.c: Obsolete file.
-
-2003-02-04 Andrew Cagney <ac131313@redhat.com>
-
- * NEWS: Mention that the z8k-zilog-none is obsolete.
- * MAINTAINERS: Mark z8k as obsolete.
- * configure.tgt: Obsolete the z8k-*-coff* target.
- * config/z8k/z8k.mt: Obsolete file.
- * config/z8k/tm-z8k.h: Obsolete file.
- * z8k-tdep.c: Obsolete file.
-
-2003-02-04 Andrew Cagney <ac131313@redhat.com>
-
- * NEWS: Mention that the mn10200-elf is obsolete.
- * configure.tgt: Obsolete mn10200-*-* target.
- * breakpoint.c (update_breakpoints_after_exec): Update comment to
- mention that the mn10200 is obsolete.
- * breakpoint.h: Ditto.
- * MAINTAINERS: Mark the mn10200-elf as obsolete.
- * config/mn10200/mn10200.mt: Obsolete file.
- * config/mn10200/tm-mn10200.h: Obsolete file.
- * mn10200-tdep.c: Obsolete file.
-
-2003-02-04 Andrew Cagney <ac131313@redhat.com>
-
- * MAINTAINERS: Mark h8500 as obsolete.
- * configure.tgt (h8500-*-*): Mark h8500 code as obsolete.
- * findvar.c (value_from_register): Ditto.
- * h8500-tdep.c: Mark file as obsolete.
- * config/h8500/h8500.mt: Ditto.
- * config/h8500/tm-h8500.h: Ditto.
- * NEWS: Mention that h8500 is obsolete.
-
-2003-02-04 David Carlton <carlton@math.stanford.edu>
-
- * objfiles.c (allocate_objfile): Always set name. Add comment at
- start of function.
- * jv-lang.c (get_dynamics_objfile): Add comment.
-
-2003-02-04 David Carlton <carlton@math.stanford.edu>
-
- * symtab.h (SYMBOL_LINKAGE_NAME): Delete.
- * printcmd.c (build_address_symbolic): Replace uses of
- SYMBOL_LINKAGE_NAME by equivalent uses of SYMBOL_SOURCE_NAME,
- SYMBOL_NAME, and asm_demangle.
- Update copyright.
-
-2003-02-04 David Carlton <carlton@math.stanford.edu>
-
- * linespec.c (decode_compound): Extract code into
- lookup_prefix_sym.
- (lookup_prefix_sym): New function.
-
-2003-02-04 David Carlton <carlton@math.stanford.edu>
-
- * gdbtypes.h: Delete INTEGER_COERCION_BADNESS,
- FLOAT_COERCION_BADNESS.
- * gdbtypes.c (rank_one_type): Replace all uses of
- INTEGER_COERCION_BADNESS by INTEGER_CONVERSION_BADNESS.
-
-2003-02-04 Jim Blandy <jimb@redhat.com>
-
- * dwarf2read.c (dwarf2_locate_sections): When we find a macro info
- section, let dwarf_macinfo_section point to it, not
- dwarf_loc_section.
-
-2003-02-04 Daniel Jacobowitz <drow@mvista.com>
-
- Pointed out by Anton Blanchard <anton@samba.org>.
- * ppc-linux-tdep.c (insn_is_sigreturn): New function.
- (ppc_linux_at_sigtramp_return_path): Use it.
-
-2003-02-04 Daniel Jacobowitz <drow@mvista.com>
-
- * defs.h (streq): Add prototype.
- * utils.c (streq): New function.
-
- * dwarf2read.c (new_symbol): Use SYMBOL_SET_NAMES instead of
- SYMBOL_NAME and SYMBOL_INIT_DEMANGLED_NAME.
- * mdebugread.c (new_symbol): Likewise.
- * stabsread.c (define_symbol): Likewise.
- * coffread.c (process_coff_symbol): Likewise.
- * dwarfread.c (new_symbol): Likewise.
-
- * minsyms.c (prim_record_minimal_symbol_and_info): Use
- SYMBOL_SET_NAMES instead of setting SYMBOL_NAME. Set the language
- here.
- (install_minimal_symbols): Don't set SYMBOL_LANGUAGE or call
- SYMBOL_INIT_DEMANGLED_NAME.
- * objfiles.c: Include "hashtab.h".
- (allocate_objfile): Call htab_set_functions_ex for the
- demangled_names_hash.
- (free_objfile): Call htab_delete for the demangled_names_hash.
- * objfiles.h (struct htab): Add declaration.
- (struct objfile): Add demangled_names_hash.
- * symfile.c: Include "hashtab.h".
- (reread_symbols): Call htab_delete for the demangled_names_hash.
- (add_psymbol_to_list): Use SYMBOL_SET_NAMES instead of putting
- SYMBOL_NAME in the bcache.
- * symtab.c: Include "hashtab.h". Update comments.
- (create_demangled_names_hash, symbol_set_names): New functions.
- (symbol_find_demangled_name): New function, broken out from
- symbol_init_demangled_names.
- (symbol_init_demangled_names): Use it.
- * symtab.h (SYMBOL_INIT_DEMANGLED_NAME): Add missing parentheses.
- (SYMBOL_SET_NAMES): New macro.
- (symbol_set_names): Add prototype.
-
-2003-02-03 Jim Blandy <jimb@redhat.com>
-
- Use a single, consistent representation for an empty minimal
- symbol table in an objfile.
- * objfiles.c (terminate_minimal_symbol_table): New function.
- (allocate_objfile): Call it.
- * objfiles.h (terminate_minimal_symbol_table): New declaration.
- (ALL_MSYMBOLS): No need to test whether (objfile)->msymbols is
- non-NULL.
- * minsyms.c (lookup_minimal_symbol_by_pc_section): To see whether
- objfile has minimal symbols, compare minimal_symbol_count to zero,
- instead of comparing msymbols with NULL.
- * objfiles.c (have_minimal_symbols): Same.
- * solib-sunos.c (solib_add_common_symbols): Call
- terminate_minimal_symbol_table.
- * symfile.c (reread_symbols): Same.
-
-2003-02-03 Kevin Buettner <kevinb@redhat.com>
-
- * s390-tdep.c (s390_address_class_type_flags)
- (s390_address_class_type_flags_to_name)
- (s390_address_class_name_to_type_flags): New functions.
- (s390_gdbarch_init): Define ADDRESS_CLASS_TYPE_FLAGS_TO_NAME,
- ADDRESS_CLASS_NAME_TO_TYPE_FLAGS, and ADDRESS_CLASS_TYPE_FLAGS.
-
-2003-02-03 Michael Snyder <msnyder@redhat.com>
-
- * arm-tdep.c: Fix spell-o in comment.
-
-2003-02-03 Michal Ludvig <mludvig@suse.cz>
-
- * dwarf2cfi.c (pointer_encoding): Added new parameter.
- * dwarf2cfi.c, dwarf2read.c: Changed all warnings and
- error messages to contain BFD filename.
-
-2003-02-02 Elena Zannoni <ezannoni@redhat.com>
-
- Fix PR gdb/742 gdb/743 gdb/877
- * disasm.c (dump_insns): Use make_cleanup_ui_out_tuple_begin_end.
- (do_mixed_source_and_assembly): Use
- make_cleanup_ui_out_tuple_begin_end and
- make_cleanup_ui_out_tuple_begin_end.
- (do_mixed_source_and_assembly): Ditto.
- * thread.c (do_captured_list_thread_ids): Ditto.
- * ui-out.h (ui_out_table_begin, ui_out_list_begin,
- ui_out_tuple_begin, ui_out_table_end, ui_out_list_end,
- ui_out_tuple_end): Delete prototypes.
- * ui-out.c (ui_out_list_begin, ui_out_tuple_begin,
- ui_out_list_end, ui_out_tuple_end): Delete.
-
- From Kevin Buettner <kevinb@redhat.com>:
- * ui-out.h (make_cleanup_ui_out_table_begin_end): New function.
- * ui-out.c (make_cleanup_ui_out_table_begin_end)
- (do_cleanup_table_end): New functions.
- * breakpoint.c (print_it_typical, print_one_breakpoint, mention):
- Use cleanups to invoke_ui_out_tuple_end().
- (breakpoint_1): Use cleanup to invoke ui_out_table_end().
- * cli/cli-setshow.c (cmd_show_list): Use
- make_cleanup_ui_out_tuple_begin_end.
-
-2003-02-02 Andrew Cagney <ac131313@redhat.com>
-
- * frame.c (frame_unwind_register): New function.
- (frame_unwind_unsigned_register): Use.
- (frame_unwind_signed_register): Use.
- (frame_read_register): New function.
- * frame.h (frame_unwind_register): Declare.
- (frame_read_register): Declare.
-
- * d10v-tdep.c (d10v_frame_pop): Rewrite. Use regcache_cooked_write
- and frame_unwind_register instead of read_memory, write_register
- and deprecated_write_register_bytes.
-
-2003-02-02 Andrew Cagney <ac131313@redhat.com>
-
- * frame.h: Note that namelen can be negative.
- * frame.c (frame_map_name_to_regnum): When LEN is negative, use
- NAME's length.
-
- * NEWS: Mention that the d10v's `regs' command is deprecated.
- * d10v-tdep.c (d10v_gdbarch_init): Set print_registers_info.
- (d10v_print_registers_info): New function.
- (show_regs): Call d10v_print_registers_info.
- (_initialize_d10v_tdep): Mark "show regs" command as deprecated.
-
-2003-02-02 Mark Kettenis <kettenis@gnu.org>
-
- * stack.c (print_frame_info): Restore call to annotate_frame_begin
- lost in the previous patch.
-
-2003-02-01 Andrew Cagney <ac131313@redhat.com>
-
- From 2002-11-09 Jason Molenda (jason-cl@molenda.com)
- * stack.c (print_frame_info_base): Output complete FRAME tuple
- for synthesized frames.
-
-2003-02-02 Andrew Cagney <ac131313@redhat.com>
-
- * mips-nat.c (zerobuf): Delete.
- (fetch_inferior_registers): Alloc local zerobuf.
- (fetch_core_registers): Alloc local zerobuf.
- * d10v-tdep.c (show_regs): Don't allocate a dynamic array using
- MAX_REGISTER_RAW_SIZE or MAX_REGISTER_VIRTUAL_SIZE.
- * thread-db.c (thread_db_store_registers): Ditto.
- * sh-tdep.c (sh_do_register): Ditto.
- * rom68k-rom.c (rom68k_supply_one_register): Ditto.
- * remote-sim.c (gdbsim_store_register): Ditto.
- * remote-mips.c (mips_wait, mips_fetch_registers): Ditto.
- * remote-e7000.c (fetch_regs_from_dump): Ditto.
- * monitor.c (monitor_supply_register): Ditto.
- * mipsv4-nat.c (supply_gregset, supply_fpregset): Ditto.
- * mips-nat.c (fetch_inferior_registers): Ditto.
- * m68klinux-nat.c (fetch_register): Ditto.
- * lynx-nat.c (fetch_inferior_registers): Ditto.
- (fetch_inferior_registers): Ditto.
- * irix4-nat.c (supply_gregset, supply_fpregset): Ditto.
- * hpux-thread.c (hpux_thread_fetch_registers): Ditto.
- (hpux_thread_store_registers): Ditto.
- * hppah-nat.c (fetch_register): Ditto.
- * hppab-nat.c (fetch_register): Ditto.
- * hppa-tdep.c (pa_register_look_aside): Ditto.
- (pa_print_fp_reg, pa_strcat_fp_reg): Ditto.
- * dve3900-rom.c (fetch_bitmapped_register): Ditto.
-
-2003-02-01 Andrew Cagney <ac131313@redhat.com>
-
- * gdbarch.sh: Explictly specify all method levels. When a
- variable with an empty level, provide a non-multi-arch default.
- (BELIEVE_PCC_PROMOTION_TYPE): Set level to empty.
- * gdbarch.h: Re-generate.
- * stabsread.c (BELIEVE_PCC_PROMOTION_TYPE): Delete. Always defined.
- * config/m68k/tm-sun3.h (BELIEVE_PCC_PROMOTION_TYPE): Define as 1
-
-2003-02-01 Andrew Cagney <ac131313@redhat.com>
-
- * defs.h (host_pointer_to_address): Delete declaration.
- (address_to_host_pointer): Delete declaration.
- * utils.c (host_pointer_to_address): Delete function.
- (address_to_host_pointer): Delete function.
- * procfs.c (procfs_address_to_host_pointer): New function.
- * procfs.c (proc_set_watchpoint): Use.
- (procfs_can_use_hw_breakpoint): Update comments.
- * somsolib.c (hpux_address_to_host_pointer_hack): New function.
- (som_solib_add): Use.
- * hppa-tdep.c (hppa_pointer_to_address_hack): New function.
- * hppa-tdep.c (unwind_command): Use.
-
-2003-02-01 Andrew Cagney <ac131313@redhat.com>
-
- * gdb_dirent.h: Mark up valid uses of <dirent.h>, d_namelen and
- strlen d_name.
-
- * main.c (captured_main): Delete #ifdef ADDITIONAL_OPTIONS,
- ADDITIONAL_OPTION_CASES, and ADDITIONAL_OPTION_HANDLER code.
- (print_gdb_help): Delete #ifdef ADDITIONAL_OPTION_HELP code.
- * stabsread.c (DBX_PARM_SYMBOL_CLASS): Delete macro.
- (define_symbol): Update.
- * symfile.c (generic_load): Remove references to nindy.
- * symtab.c: Remove references to nindy.
-
-2003-02-01 Andrew Cagney <ac131313@redhat.com>
-
- * infcmd.c (print_float_info): Delete code conditional on
- FLOAT_INFO.
- * config/nm-lynx.h: Delete #undef FLOAT_INFO. Update copyright.
- * config/m68k/nm-apollo68b.h: Ditto.
- * config/i386/tm-ptx.h (FLOAT_INFO): Delete. Update copyright.
- * config/ns32k/nm-nbsd.h (FLOAT_INFO): Ditto.
- * config/i386/tm-symmetry.h (FLOAT_INFO): Ditto.
-
-2003-02-01 Mark Kettenis <kettenis@gnu.org>
-
- * config/i386/tm-i386os9k.h: Removed.
-
- * configure.host (i[3456]86-*-isc*): Set gdb_host to i386v.
- Remove i[3456]86-*-sysv3.2* and i[3456]86-*-sysv32* entries since
- they're identical to i[3456]86-*-sysv* now.
- * config/i386/i386v32.mh: Removed.
- * config/i386/xm-i386v32.h: Removed.
- * config/i386/xm-i386sco.h (U_FPSTATE): Remove macro.
-
- * config/i386/i386mk.mt, config/i386/i386mk.mh: Removed.
-
- * config/i386/i386dgux.mh: Removed.
- * configure.host (i[3456]86-*-dgux): Set gdb_host to i386v4.
-
- * configure.in: Fix typo.
- * configure: Regenerated.
-
-2003-01-31 David Carlton <carlton@math.stanford.edu>
-
- * dwarf2read.c (dwarf2_locate_sections): Set
- dwarf_ranges_section.
-
-2003-01-31 Andrew Cagney <ac131313@redhat.com>
-
- * objc-exp.y, c-exp.y, f-exp.y: Remove PTR casts.
- * utils.c: Update comments documenting legitimate uses of PTR.
-
- * utils.c: Re-indent.
-
- * config/djgpp/fnchange.lst: Delete nindy files.
- * nindy-share/ttyflush.c, nindy-share/stop.h: Delete files.
- * nindy-share/nindy.c, nindy-share/env.h: Delete files.
- * nindy-share/coff.h, nindy-share/block_io.h: Delete files.
- * nindy-share/b.out.h, nindy-share/VERSION: Delete files.
- * nindy-share/README, nindy-share/Onindy.c: Delete files.
- * nindy-tdep.c, nindy-share/Makefile: Delete files.
- * Makefile.in (init.c): Remove nindy references.
- (saber_gdb): Delete rule.
- (ALLDEPFILES): Delete hp300ux-nat.c, nindy-tdep.c,
- nindy-share/Onindy.c, nindy-share/nindy.c, nindy-share/ttyflush.c,
- and a68v-nat.c.
- (hp300ux-nat.o, a68v-nat.o, ptx4-nat.o): Delete rules.
- (Onindy.o, nindy.o, ttyflush.o, nindy-tdep.o): Delete rules.
- (HFILES_NO_SRCDIR): Delete nindy-share/b.out.h,
- nindy-share/block_io.h, nindy-share/coff.h, nindy-share/env.h, and
- nindy-share/stop.h.
- * hp300ux-nat.c, a68v-nat.c, ptx4-nat.c: Delete files.
- * saber.suppress: Delete file.
-
-2003-01-31 Daniel Jacobowitz <drow@mvista.com>
-
- * dbxread.c (stabs_data): New static variable.
- (fill_symbuf): Support an in-memory buffer for stabs data.
- (stabs_seek): New function.
- (dbx_psymtab_to_symtab): Relocate the stabs data if necessary.
- (read_ofile_symtab): Use stabs_seek.
- (elfstab_build_psymtabs): Take an asection* instead of
- an offset and size. Relocate the stabs data if necessary.
- Save the section* for dbx_psymtab_to_symtab.
- * dwarf2read.c: Add section variables for each debug section.
- (dwarf2_locate_sections): Fill them in.
- (dwarf2_read_section): Take an asection* argument.
- Relocate the section contents if necessary.
- (dwarf2_build_psymtabs, dwarf2_build_psymtabs_easy): Update callers.
- * dwarf2cfi.c (parse_frame_info): Take a section argument and pass
- it to dwarf2_read_section.
- (dwarf2_build_frame_info): Update callers.
- * elfread.c (elf_symfile_read): Update call to
- elfstab_build_psymtabs.
- * gdb-stabs.h (struct dbx_symfile_info): Add stab_section.
- (DBX_STAB_SECTION): New macro.
- * stabsread.h (elfstab_build_psymtabs): Update prototype.
- * symfile.c (symfile_dummy_outputs): New function.
- (symfile_relocate_debug_section): New function.
- * symfile.h (symfile_relocate_debug_section): Add prototype.
-
-2003-01-31 Richard Henderson <rth@redhat.com>
-
- * alpha-nat.c (REGISTER_PTRACE_ADDR): Merge into ...
- (register_addr): ... here. Support ALPHA_UNIQUE_REGNUM.
- (fetch_elf_core_registers): Support ALPHA_UNIQUE_REGNUM.
- * alpha-tdep.c (alpha_register_name): Add "unique".
- * alpha-tdep.h (ALPHA_NUM_REGS): Increment.
- (ALPHA_UNIQUE_REGNUM): New.
- * config/alpha/nm-linux.h (ALPHA_UNIQUE_PTRACE_ADDR): New.
-
-2003-01-31 Andrew Cagney <ac131313@redhat.com>
-
- * README: Remove reference to Ericsson 1800 monitor.
- * Makefile.in (remote-es.o): Delete rule.
- (ALLDEPFILES): Delete remote-es.c.
- * remote-es.c: Delete file.
- * config/m68k/es1800.mt: Delete file.
- * config/djgpp/fnchange.lst: Update.
- * configure.tgt: Delete m68*-ericsson-* target.
-
-2003-01-31 Adam Fedor <fedor@gnu.org>
-
- * infrun.c (handle_inferior_event): Rename 'tmp' to real_stop_pc.
- Remove duplicate/shadowing variable of same name.
-
-2003-01-30 Jim Blandy <jimb@redhat.com>
-
- * symfile.c (find_separate_debug_file): Assert that the objfile's
- directory name we compute ends with a slash, and then assume that
- that's so everywhere we use it.
-
-2003-01-30 Daniel Jacobowitz <drow@mvista.com>
-
- * valops.c (value_assign): Flush frame cache after stores to memory
- also.
-
-2003-01-30 Andrew Cagney <ac131313@redhat.com>
-
- * Makefile.in (mon960-rom.o): Delete rule.
- * mon960-rom.c: Delete file.
-
-2003-01-30 Andrew Cagney <ac131313@redhat.com>
-
- * d10v-tdep.c: Include "frame-unwind.h".
- (d10v_gdbarch_init): Append d10v_frame_p to the unwind predicate
- list.
- (next_addr, uses_frame): Delete.
- (struct d10v_unwind_cache): Define.
- (prologue_find_regs): Add struct d10v_unwind_cache info parameter.
- Use info instead of next_addr and uses_frame globals.
- (d10v_frame_init_saved_regs): Delete function.
- (d10v_init_extra_frame_info): Delete function.
- (d10v_gdbarch_init): Do not initialize init_extra_frame_info,
- frame_init_saved_regs or pop_frame, frame_chain, frame_chain_valid,
- init_frame_pc or frame_saved_pc.
- (d10v_pop_frame): Delete function.
- (do_d10v_pop_frame): Delete function.
- (d10v_frame_chain): Delete function.
- (d10v_frame_chain_valid): Delete function.
- (d10v_frame_pc_unwind): New function.
- (d10v_frame_id_unwind): New function.
- (saved_regs_unwinder): New function.
- (d10v_frame_register_unwind): New function.
- (d10v_frame_pop): New function.
- (d10v_frame_unwind): New variable.
- (d10v_frame_p): New function.
- (d10v_frame_saved_pc): Delete function.
- * Makefile.in (d10v-tdep.o): Update dependencies.
-
-2003-01-30 J. Brobecker <brobecker@gnat.com>
-
- * config/pa/tm-hppa64.h (CALL_DUMMY_LOCATION): Remove #undef
- causing some regressions due to a change in the default value
- for this macro.
-
-2003-01-29 Richard Henderson <rth@redhat.com>
- Elena Zannoni <ezannoni@redhat.com>
- Daniel Jacobowitz <drow@mvista.com>
-
- Fix PR gdb/961.
- * dwarf2read.c (dwarf_ranges_offset, dwarf_ranges_size): New
- variables.
- (RANGES_SECTION): New.
- (dwarf_ranges_buffer): New variable.
- (struct comp_unit_head): Add member "die".
- (struct dwarf2_pinfo): Add dwarf_ranges_buffer, dwarf_ranges_size.
- (DWARF_RANGES_BUFFER, DWARF_RANGES_SIZE): New.
- (dwarf2_has_info): Init dwarf_ranges_offset and dwarf_ranges_size.
- (dwarf2_locate_sections): Likewise.
- (dwarf2_build_psymtabs): Read .debug_ranges.
- (dwarf2_build_psymtabs_hard): Swap dwarf_ranges out.
- (psymtab_to_symtab_1): Swap dwarf_ranges in. Set cu_header.die.
- (dwarf2_get_pc_bounds): New cu_header argument; adjust all callers.
- Look for DW_AT_ranges and return the bounding box.
-
-2003-01-29 Brian Ford <ford@vss.fsi.com>
-
- * win32-nat.c (cygwin_pid): Removed as unused.
- (child_attach): Try fall back to Cygwin pid.
-
-2003-01-29 Jim Blandy <jimb@redhat.com>
-
- * objfiles.h (struct objfile): Doc fix.
-
-2003-01-29 Andrew Cagney <ac131313@redhat.com>
-
- * frame.c (frame_saved_regs_id_unwind): Assert FRAME_CHAIN_P.
- (legacy_get_prev_frame): Assert FRAME_CHAIN_P.
- (get_prev_frame): When FRAME_CHAIN_P, call legacy_get_prev_frame.
- (frame_saved_regs_pc_unwind): Assert FRAME_SAVED_PC_P.
- * gdbarch.sh (FRAME_CHAIN): Change to a function with predicate.
- (FRAME_SAVED_PC): Change to a function with predicate.
- * gdbarch.h, gdbarch.c: Re-generate.
-
-2003-01-28 Andrew Cagney <ac131313@redhat.com>
-
- * hppah-nat.c (child_pid_to_exec_file): Don't use boolean.
-
- * complaints.c (complain): Delete function.
- * complaints.h (struct deprecated_complaint): Delete definition.
- (complain): Delete declaration.
-
-2003-01-28 Kevin Buettner <kevinb@redhat.com>
-
- * mips-tdep.c (mips_init_extra_frame_info): Return early for
- dummy frames.
-
-2003-01-27 Andrew Cagney <ac131313@redhat.com>
-
- * sentinel-frame.h, sentinel-frame.c: New files.
- * Makefile.in (frame.o): Update dependencies.
- (SFILES): Add sentinel-frame.c.
- (sentinel_frame_h): Define.
- (COMMON_OBS): Add sentinel-frame.o.
- (sentinel-frame.o): Specify dependencies.
- * frame.c: Include "sentinel-frame.h".
- (frame_register_unwind): Rewrite assuming that there is always a a
- ->next frame.
- (frame_register, generic_unwind_get_saved_register): Ditto.
- (frame_read_unsigned_register, frame_read_signed_register): Ditto.
- (create_sentinel_frame, unwind_to_current_frame): New functions.
- (get_current_frame): Rewrite using create_sentinel_frame and
- unwind_to_current_frame. When possible, always create a frame.
- (create_new_frame): Set next to the sentinel frame.
- (get_next_frame): Rewrite. Don't go below the level 0 frame.
- (deprecated_update_frame_pc_hack): Update the next frame's PC and
- ID cache when necessary.
- (frame_saved_regs_id_unwind): Use frame_relative_level.
- (deprecated_generic_get_saved_register): Use frame_relative_level,
- get_frame_saved_regs, get_frame_pc, get_frame_base and
- get_next_frame.
- (frame_saved_regs_register_unwind): Use get_frame_saved_regs and
- frame_register.
-
-2003-01-27 Daniel Jacobowitz <drow@mvista.com>
-
- * gdb_indent.sh: Add -T bfd and -T asection to the indent arguments.
-
-2003-01-27 Daniel Jacobowitz <drow@mvista.com>
-
- * maint.c [! (HAVE_MONSTARTUP && HAVE__MCLEANUP)]
- (maintenance_set_profile_cmd): Use error () instead of warning ().
-
-2003-01-27 Daniel Jacobowitz <drow@mvista.com>
-
- * configure.in: Check that -pg works if using --enable-profiling.
- Check for monstartup and _mcleanup regardless of --enable-profiling.
- * maint.c: Check for monstartup and _mcleanup before using them.
- * config.in: Regenerated.
- * configure: Regenerated.
-
-2003-01-24 Nick Clifton <nickc@redhat.com>
-
- * Add sh2e support:
-
- 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
-
- * gdb/sh-tdep.c (sh_sh2e_register_name): New.
- (sh2e_show_regs): New.
- (sh_gdbarch_init): Handle bfd_mach_sh2e.
- * config/sh/tm-sh.h: Added sh2e to comments.
-
-2003-01-23 Jim Blandy <jimb@redhat.com>
-
- * symfile.c (syms_from_objfile): Don't print the "(no debugging
- symbols found)" message here; we haven't checked for a separate
- debug info file yet, so we don't know yet.
- (symbol_file_add_with_addrs_or_offsets): Print it here, after
- we've looked everywhere. Also, there's no need to print a special
- message when we're loading the separate debug info file: the one
- symbol_file_add prints is fine.
-
-2003-01-23 Alexander Larsson <alexl@redhat.com>
- Jim Blandy <jimb@redhat.com>
-
- Add support for executables whose debug info has been separated
- out into a separate file, leaving only a link behind.
- * objfiles.h (struct objfile): New fields: separate_debug_objfile
- and separate_debug_objfile_backlink.
- (put_objfile_before): New declaration.
- * symfile.c: #include "filenames.h".
- (symbol_file_add_with_addrs_or_offsets): If this objfile has its
- debug info in a separate file, read that, too. Save the addrs
- argument, so we can use it again to read the separated debug info;
- syms_from_objfile modifies the table we pass it.
- (reread_symbols): After re-reading an objfile, call
- reread_separate_symbols to refresh its separate debug info
- objfile, if it has one.
- (reread_separate_symbols, find_separate_debug_file,
- get_debug_link_info, separate_debug_file_exists): New functions.
- (debug_file_directory): New global var.
- (_initialize_symfile): Initialize debug_file_directory, and
- provide the new `set debug-file-directory' command to let the user
- change it.
- * objfiles.c (free_objfile): If this objfile has its debug info in
- a separate objfile, free that one too. If this is itself a
- separate debug info objfile, clear our parent's backlink.
- (put_objfile_before): New function.
- * utils.c (gnu_debuglink_crc32): New function.
- * defs.h (gnu_debuglink_crc32): New declaration.
- * Makefile.in (symfile.o): Note dependency on "filenames.h".
- * configure.in: Handle --with-separate-debug-dir config option.
- * acinclude.m4 (AC_DEFINE_DIR): New macro.
- * acconfig.h (DEBUGDIR): New macro.
- * configure, aclocal.m4, config.in: Regenerated.
-
-2003-01-22 Jim Blandy <jimb@redhat.com>
-
- * symfile.c (symbol_file_add_with_addrs_or_offsets): New function,
- like the old symbol_file_add, but taking new arguments: you can
- now pass in either a `struct section_addr_info' list to say where
- each section is loaded, or a `struct section_offsets' table. Pass
- these new arguments through to syms_from_objfile as appropriate.
- (symbol_file_add): Just call symbol_file_add_with_addrs_or_offsets,
- with the appropriate quiescent values for the new arguments.
-
- * symfile.c: #include "gdb_assert.h".
- (syms_from_objfile): Add the ability to pass in a section offset
- table directly, as an alternative to the section_addr_info table.
- Document arguments better.
- (symbol_file_add): Pass extra arguments to syms_from_objfile.
- * symfile.h (syms_from_objfile): Update declaration.
- * rs6000-nat.c (objfile_symbol_add): Pass new arguments to
- syms_from_objfile.
- * Makefile.in (symfile.o): List dependency on $(gdb_assert_h).
-
-2003-01-22 Daniel Jacobowitz <drow@mvista.com>
-
- Original patch by Tom Tromey <tromey@cygnus.com> and
- Jason Molenda <jmolenda@apple.com>.
- * Makefile.in (PROFILE_CFLAGS): Substitute from configure.
- (INTERNAL_LDFLAGS): Don't include PROFILE_CFLAGS.
- * NEWS: Mention profiling.
- * configure.in (--enable-gdbtk): Fix typo.
- (--enable-profiling): New. Set PROFILE_CFLAGS.
- * maint.c (maintenance_set_profile_cmd): Remove NOTYET.
- Fill in function.
- (profiling_state): New variable.
- (mcleanup_wrapper): New function.
- (_initialize_maint): Remove NOTYET, fix call to
- add_setshow_boolean_cmd for "maint set profile".
- * configure: Regenerated.
-
-2003-01-21 Martin M. Hunt <hunt@redhat.com>
-
- * Makefile.in (install-gdbtk): Install PNG images too.
-
-2003-01-21 Andrew Cagney <ac131313@redhat.com>
-
- * exec.c (text_start): Delete global variable.
- (exec_file_attach): Make text_start local to the function.
- * inferior.h (BEFORE_TEXT_END, AFTER_TEXT_END): Delete macros.
- * valops.c (hand_function_call): Delete code that handles
- BEFORE_TEXT_END and AFTER_TEXT_END.
- * gdbarch.sh (CALL_DUMMY_LENGTH): Test call_dummy_length instead
- of CALL_DUMMY_LOCATION.
- * gdbarch.c: Regenerate.
- * inferior.h (deprecated_pc_in_call_dummy_before_text_end)
- (deprecated_pc_in_call_dummy_after_text_end): Delete declaration.
- * blockframe.c (deprecated_pc_in_call_dummy_before_text_end)
- (deprecated_pc_in_call_dummy_after_text_end): Delete functions.
- (text_end): Delete extern declaration.
-
-2003-01-21 Andrew Cagney <ac131313@redhat.com>
-
- * frame.h (FRAME_OBSTACK_ZALLOC): Define.
- * blockframe.c (backtrace_below_main): Move to "frame.c".
- (frame_chain_valid): Delete check for backtrace_below_main.
- (_initialize_blockframe): Delete initialization, move ``set
- backtrace-below-main'' command to "frame.c".
- (do_flush_frames_sfunc): Delete function.
- * frame.c: Include "command.h" and "gdbcmd.h".
- (frame_type_from_pc): New function.
- (create_new_frame): Use frame_type_from_pc.
- (legacy_get_prev_frame): New function.
- (get_prev_frame): Rewrite. When an old style frame, call
- legacy_get_prev_frame. Otherwize, unwind the PC first.
- (_initialize_frame): Add ``set backtrace-below-main'' command.
- * Makefile.in (frame.o): Update dependencies.
-
-2003-01-19 Andrew Cagney <ac131313@redhat.com>
-
- * config/pa/tm-hppa.h (DEPRECATED_DO_REGISTERS_INFO): Rename
- DEPRECATED_REGISTERS_INFO.
-
-2003-01-19 Andrew Cagney <ac131313@redhat.com>
-
- * MAINTAINERS: Replace `Blanket Write Privs' with `Global
- Maintainers'. Update `Various Maintainers'.
-
-2003-01-19 Andrew Cagney <ac131313@redhat.com>
-
- * frame.c (frame_saved_regs_pop): Assert POP_FRAME_P.
- * gdbarch.sh (POP_FRAME): Change to function with predicate.
- Suppress actual parameters when `-'.
- * gdbarch.h, gdbarch.c: Regenerate.
-
-2003-01-19 Andrew Cagney <ac131313@redhat.com>
-
- * d10v-tdep.c (d10v_frame_saved_pc, d10v_frame_chain): Restore
- code handling dummy frames.
-
-2003-01-19 Andrew Cagney <ac131313@redhat.com>
-
- * frame-unwind.h (frame_unwind_pop_ftype): Declare.
- (struct frame_unwind): Add field pop.
- * frame.h (frame_pop): Declare.
- * frame.c (frame_saved_regs_pop): New function.
- (trad_frame_unwinder): Add frame_saved_regs_pop.
- (frame_pop): New function.
- * dummy-frame.c (dummy_frame_pop): New function.
- (discard_innermost_dummy): New function.
- (generic_pop_dummy_frame): Use discard_innermost_dummy.
- (dummy_frame_unwind): Add dummy_frame_pop.
- * infrun.c (normal_stop): Call frame_pop instead of POP_FRAME.
- * valops.c (hand_function_call): Ditto.
- * stack.c (return_command): Ditto.
-
-2003-01-18 Andrew Cagney <ac131313@redhat.com>
-
- * cris-tdep.c: Fix function declaration indentation.
- * dwarfread.c, gdbcore.h, gdbtypes.h, i386v-nat.c: Ditto.
- * mips-tdep.c, monitor.h, parse.c, proc-utils.h: Ditto.
- * rs6000-nat.c, ser-go32.c, somread.c, stabsread.c: Ditto.
- * symfile.h, symtab.h, target.c, target.h, value.h: Ditto.
- * xcoffread.c, config/pa/tm-hppa.h: Ditto.
- * config/sparc/tm-sp64.h, config/sparc/tm-sparc.h: Ditto.
-
-2003-01-18 Michael Chastain <mec@shout.net>
-
- * README (Unpacking and Installation -- quick overview):
- Warn against ".../gdb-5.3/gdb/configure".
-
-2003-01-18 Andrew Cagney <ac131313@redhat.com>
-
- * dummy-frame.h (dummy_frame_id_unwind): Delete declaration.
- (dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto.
- (struct frame_unwind): Declare opaque.
- (dummy_frame_p): Declare function.
- * dummy-frame.c (dummy_frame_id_unwind): Make static.
- (dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto.
- * dummy-frame.c: Include "frame-unwind.h".
- (dummy_frame_p): New function.
- (dummy_frame_unwind): New variable.
- * frame.c: Include "frame-unwind.h".
- (frame_pc_unwind, frame_id_unwind, frame_register_unwind): Update
- to use the new unwind field.
- (set_unwind_by_pc): Delete function.
- (create_new_frame, get_prev_frame): Set unwind field using
- frame_unwind_find_by_pc.
- (trad_frame_unwind, trad_frame_unwinder): New variables.
- * frame.h (trad_frame_unwind): Declare variable.
- (frame_id_unwind_ftype): Delete declaration.
- (frame_pc_unwind_ftype, frame_register_unwind_ftype): Ditto.
- (struct frame_unwind): Declare opaque.
- (struct frame_info): Replace the fields id_unwind, pc_unwind and
- register_unwind with a single unwind pointer.
- * frame-unwind.h, frame-unwind.c: New files.
- * Makefile.in (SFILES): Add frame-unwind.c.
- (frame_unwind_h): Define.
- (COMMON_OBS): Add frame-unwind.o.
- (frame-unwind.o): Specify dependencies.
- (frame.o, dummy-frame.o): Update dependencies.
-
-2003-01-18 Andrew Cagney <ac131313@redhat.com>
-
- * ada-valprint.c: Eliminate PTR.
- * breakpoint.c, corelow.c, cris-tdep.c, dbxread.c: Ditto.
- * defs.h, dve3900-rom.c, dwarf2read.c, dwarfread.c: Ditto.
- * exec.c, hppa-tdep.c, hpread.c, infcmd.c, mdebugread.c: Ditto.
- * objfiles.c, objfiles.h, ocd.c, remote-es.c: Ditto.
- * remote-mips.c, remote-sds.c, remote-vx.c: Ditto.
- * solib-svr4.c, solib.c, stack.c, symfile.c, symfile.h: Ditto.
- * symmisc.c, v850ice.c, xcoffread.c, cli/cli-script.c: Ditto.
-
-2003-01-17 Andrew Cagney <ac131313@redhat.com>
-
- * main.c (captured_main): Don't use PTR.
- * cp-valprint.c (cp_print_class_method): Replace STREQ with strcmp.
- * gdbtypes.c (lookup_primitive_typename): Ditto.
- (lookup_struct_elt_type): Ditto.
- * f-valprint.c (info_common_command): Ditto.
- (list_all_visible_commons): Ditto.
- * jv-typeprint.c (java_type_print_base): Ditto.
-
- * config/djgpp/fnchange.lst: Rename mi1-var-block.exp,
- mi1-var-child.exp, mi1-var-cmd.exp and mi1-var-display.exp.
- Rename opcodes/iq2000-desc.c and opcodes/iq2000-dis.c. Rename
- i386-interix-nat.c and i386-interix-tdep.c. Rename
- m68klinux-nat.c and m68klinux-tdep.c. Rename
- config/mips/tm-linux.h and config/mips/tm-linux64.h. Rename
- bfd/po/.cvsignore and opcodes/po/.cvsignore. Rename
- gdb/objc-exp.tab.c and gdb/ada-exp.tab.c
- * main.c (captured_main): Use xfree, not free.
-
-2003-01-16 Andrew Cagney <ac131313@redhat.com>
-
- * frame.h (frame_id_unwind_ftype): Change type so that the frame's
- ID back using a parameter.
- * frame.c (frame_id_unwind): Update call.
- (frame_saved_regs_id_unwind): Update.
- * dummy-frame.c (dummy_frame_id_unwind): Update function.
- * dummy-frame.h (struct frame_id): Add opaque declaration.
- (dummy_frame_id_unwind): Update declaration.
-
-2003-01-15 Andrew Cagney <ac131313@redhat.com>
-
- * sparc-tdep.c: Delete reference to PRINT_REGISTER_HOOK.
-
-2003-01-15 Stephen P. Smith <ischis2@cox.net>
-
- * MAINTAINERS (Stephen P. Smith): Updated email address.
-
-2003-01-14 Elena Zannoni <ezannoni@redhat.com>
-
- Fix PR gdb/898
- * breakpoint.c (until_break_command): Add new argument. Use it to
- decide whether to stop only at the current frame or not.
- * breakpoint.h (until_break_command): Update prototype.
- * infcmd.c (until_command): Add new argument to until_break_command
- call.
- (advance_command): New function.
- (_initialize_infcmd): Update help string for 'until' command.
- Add new 'advance' command.
-
-2003-01-14 David Carlton <carlton@math.stanford.edu>
-
- * linespec.c (decode_line_1): Normalize comments.
- (set_flags): Ditto.
- (locate_first_half): Ditto.
- (decode_compound): Ditto.
- (symtab_from_filename): Ditto.
- (decode_all_digits): Ditto.
- (decode_dollar): Ditto.
- (find_methods): Ditto.
- (find_toplevel_char): Ditto.
-
-2003-01-13 Andrew Cagney <ac131313@redhat.com>
-
- * ax-gdb.c, c-valprint.c, charset.c, corefile.c: Update copyright.
- * demangle.c, disasm.c, dwarf2cfi.c, dwarfread.c: Update copyright.
- * elfread.c, eval.c, expprint.c, expression.h: Update copyright.
- * f-typeprint.c, findvar.c, gcore.c, gdb_mbuild.sh: Update copyright.
- * gdbtypes.h, gnu-v2-abi.c, inferior.h, inftarg.c: Update copyright.
- * language.c, language.h, m32r-tdep.c: Update copyright.
- * mn10200-tdep.c, scm-lang.c, scm-lang.h: Update copyright.
- * somsolib.c, somsolib.h, symfile.c, symtab.h: Update copyright.
- * thread-db.c, typeprint.c, utils.c, valarith.c: Update copyright.
- * values.c, win32-nat.c, x86-64-linux-nat.c: Update copyright.
- * x86-64-linux-tdep.c, z8k-tdep.c: Update copyright.
- * cli/cli-decode.h, config/h8500/tm-h8500.h: Update copyright.
-
-2003-01-13 Elena Zannoni <ezannoni@redhat.com>
+ * sparc64-tdep.c (sparc64_16_byte_align_p)
+ (sparc64_store_floating_fields, sparc64_store_floating_fields):
+ Use check_typedef to get subtypes of structures and unions.
+ (sparc64_store_return_value): Fix calculation of the appropriate
+ offset into VALBUF when storing a structure or union.
+ (sparc64_return_value): New function.
+ (sparc64_use_struct_convention): Remove function.
+ (sparc64_init_abi): Set return_value, don't set
+ extract_return_value, store_return_value and
+ use_struct_convention.
- * stabsread.h (process_later, resolve_cfront_continuation):
- Obsolete.
- Update copyright years.
- * buildsym.c (start_subfile): Obsolete comment pertinent to Cfront.
- Update copyright year.
- * dbxread.c(struct cont_elem): Obsolete.
- (process_later, process_now): Obsolete functions.
- (read_dbx_symtab, read_ofile_symtab): Obsolete cfront support.
- Update copyright year.
- * gdbtypes.c (INIT_EXTRA, ADD_EXTRA): Obsolete macros.
- (add_name, add_mangled_type, cfront_mangle_name): Obsolete functions.
- * mdebugread.c (parse_type): Obsolete comment pertinent to Cfront.
- (parse_partial_symbols): Obsolete cfront support.
- * stabsread.c
- (CFRONT_VISIBILITY_PRIVATE,CFRONT_VISIBILITY_PUBLIC): Obsolete
+2004-01-03 Eli Zaretskii <eliz@elta.co.il>
+
+ * config/djgpp/fnchange.lst: Add lines for COPYING.LIBGLOSS,
+ bfd/doc/ChangeLog-9103, bfd/elf32-m68hc1x.c,
+ gdb/config/alpha/xm-alphaosf.h,
+ gdb/config/powerpc/tm-ppcle-eabi.h,
+ gdb/config/rs6000/tm-rs6000-aix4.h, gdb/gdbtk/ChangeLog-2001,
+ gdb/gdbtk/ChangeLog-2002, gdb/gdbtk/ChangeLog-2003,
+ gdb/gdbtk/plugins/intel-pentium/intel-pentium.tcl.in,
+ gdb/gdbtk/plugins/rhabout/rhabout.tcl.in, gdb/i386-linux-nat.c,
+ gdb/ia64-aix-nat.c, gdb/ia64-aix-tdep.c, gdb/ia64-linux-nat.c,
+ gdb/ia64-linux-nat.c, gdb/ppc-linux-tdep.c, gdb/ppc-linux-nat.c,
+ gdb/sparc64nbsd-nat.c, gdb/sparc64nbsd-tdep.c,
+ gdb/sparc64-linux-nat.c, gdb/sparc64-linux-tdep.c,
+ gdb/sparc64-nat.c, gdb/sparc64-tdep.c, gdb/sparc64-sol2-tdep.c,
+ gdb/sparc-sol2-nat.c, gdb/sparc-sol2-tdep.c,
+ gdb/testsuite/gdb.gdbtk/, gdb/testsuite/gdb.mi/mi-var-child.exp,
+ nclude/ChangeLog-9103, include/coff/ChangeLog-9103,
+ include/elf/ChangeLog-9103, include/opcode/ChangeLog-9103,
+ opcodes/ChangeLog-0001, opcodes/ChangeLog-0203,
+ opcodes/openrisc-dis.c, opcodes/openrisc-desc.h,
+ sim/frv/profile-fr550.c, sim/frv/profile-fr550.h,
+ sim/sh64/sem-compact-switch.c, sim/sh64/sem-media-switch.c,
+ sim/testsuite/sim/sh64/compact/ldsl-mach.cgs,
+ sim/testsuite/sim/sh64/compact/ldsl-macl.cgs,
+ sim/testsuite/sim/sh64/compact/stsl-mach.cgs, and
+ sim/testsuite/sim/sh64/compact/stsl-macl.cgs.
+ Remove lines for .cvsignore files.
+
+2004-01-03 J. Brobecker <brobecker@gnat.com>
+
+ * infrun.c: Back out the previous change.
+
+2004-01-03 Mark Kettenis <kettenis@gnu.org>
+
+ * NEWS: Mention revised SPARC target. Add sparc-*-lynxos* and
+ sparc-*-sunos4* to the list of REMOVED configurations.
+
+ * configure.tgt: Add back sparc-*-vxworks*.
+ * remote-vxsparc.c: Remove all includes except for "defs.h",
+ "regcache.h", "vx-share/ptrace.h" and "vx-share/regPacket.h".
+ Include "sparc-tdep.h".
+ (SPARC_R_G1): New define.
+ (vxsparc_gregset): New variable.
+ (ext_format_sparc): Remove extern declaration.
+ (vx_read_register): Rewrite to use sparc32_supply_gregset and
+ sparc32_supply_fpregset.
+ (vx_write_register): Rewrite to use sparc32_collect_gregset,
+ sparc_collect_rwindow and sparc32_collect_fpregset.
+ * config/sparc/tm-vxworks.h: New file, based on recently removed
+ tm-vxsparc.h.
+ * config/sparc/vxworks.mt: New file, based on recently removed
+ vxworks.mt.
+
+2004-01-03 J. Brobecker <brobecker@gnat.com>
+
+ * infrun.c (handle_step_into_function): New function.
+ (handle_inferior_event): Extract out some code into the new
+ function above.
+
+2004-01-02 Mark Kettenis <kettenis@gnu.org>
+
+ * Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and
+ sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c,
+ sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c,
+ sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c,
+ sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c,
+ sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c.
+ (sparc_nat_h): New variable.
+ (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables.
+ (tm-sun4os4.h): Remove dependency.
+ (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies.
+ (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o,
+ sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o,
+ sparc-tdep.o): Update dependencies.
+ (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o,
+ sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o,
+ sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New
+ dependencies.
+ * configure.host: Remove existing sparc-*-lynxos*,
+ sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*,
+ ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*,
+ sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*,
+ sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2*
+ triplets.
+ * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*,
+ sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*,
+ sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*,
+ sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add
+ new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*,
+ sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*,
+ sparc64-*-solaris2* and sparc64-*-* triplets.
+ * sparc64-tdep.c: Update copyright year. Include "inferior.h",
+ "symtab.h" and "objfiles.h".
+ (BIAS): Remove define.
+ (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22)
+ (X_DISP19): Remove macros.
+ (sparc_fetch_instruction): Remove function.
+ (struct gdbarch_tdep): Remove definition.
+ (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE.
+ (sparc_breakpoint_from_pc): Remove function.
+ (struct sparc64_frame_cache): Remove definition.
+ (sparc64_alloc_frame_cache, sparc64_analyze_prologue,
+ sparc64_unwind_pc): Remove functions.
+ (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of
+ `struct sparc64_frame_cache. Call sparc_analyze_prologue instead
+ of sparc64_analyze_prologue. Mark constant as ULL instead of UL.
+ (sparc64_frame_cache): Change return type to `struct
+ sparc_frame_cache *'. Simply call sparc_frame_cache.
+ (sparc64_frame_this_id, sparc64_frame_prev_register,
+ sparc64_frame_base_address): Use `struct sparc_frame_cache'
+ instead of `struct sparc64_frame_cache.
+ (sparc_unwind_dummy_id, sparc_extract_struct_value_address,
+ sparc_analyze_control_transfer, sparc_software_single_step,
+ sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow,
+ _initialize_sparc64_tdep): Remove functions.
+ (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros.
+ (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New
macros.
- (get_substring, get_cfront_method_physname, msg_unknown_complaint,
- read_cfront_baseclasses, read_cfront_member_functions,
- resolve_cfront_continuation,read_cfront_static_fields,
- copy_cfront_struct_fields): Obsolete functions.
- (define_symbol, read_one_struct_field): Obsolete cfront support.
- * xcoffread.c (scan_xcoff_symtab): Obsolete CFront support.
- Update Copyright year.
-
-2003-01-13 Elena Zannoni <ezannoni@redhat.com>
-
- * stack.c (print_frame_info, print_stack_frame_base_stub,
- print_stack_frame_base, show_and_print_stack_frame_stub,
- show_and_print_stack_frame, print_only_stack_frame_stub,
- print_only_stack_frame): Delete functions.
- (print_stack_frame_stub): Call print_frame_info instead of
- print_frame_info_base.
- (print_frame_info_base): Rename to print_frame_info.
- (backtrace_command_1): Call print_frame_info, instead of
- print_frame_info_base.
- (current_frame_command): Call print_stack_frame, instead of
- print_only_stack_frame.
- (frame_command): Call print_stack_frame, instead of
- show_and_print_stack_frame.
- (up_command): Ditto.
- (down_command): Ditto.
- * frame.h (print_only_stack_frame): Delete prototype.
- * infrun.c (normal_stop): Call print_stack_frame, instead of
- show_and_print_stack_frame.
- * thread.c (info_threads_command): Call print_stack_frame, instead
- of print_only_stack_frame.
-
-2003-01-13 Andrew Cagney <ac131313@redhat.com>
-
- * README (Graphical interface to GDB): Update URL. Point at
- gdb/links/.
-
- * gdb_indent.sh: Update to version 2.2.9. Warn when not exact
- version match.
-
-2003-01-13 Daniel Jacobowitz <drow@mvista.com>
-
- * symtab.c (find_pc_sect_line): Don't consider end-of-function
- lines.
-
-2003-01-13 Daniel Jacobowitz <drow@mvista.com>
-
- * thread-db.c (attach_thread): Prototype.
- (struct private_thread_info): Remove lwpid. Add thread handle (th),
- thread information (ti), and valid flags (th_valid, ti_valid).
- (attach_thread): Move target_pid_to_str call to after the thread
- is added to GDB's list. Initialize the cache.
- (thread_get_info_callback, thread_db_map_id2thr)
- (thread_db_get_info): New functions.
- (thread_from_lwp, lwp_from_thread, thread_db_fetch_registers)
- (thread_db_store_registers, thread_db_thread_alive)
- (thread_db_get_thread_local_address): Use them.
- (thread_db_pid_to_str): Likewise. Return "Missing" instead
- of calling error() for threads in unknown state.
-
- (clear_lwpid_callback): New function.
- (thread_db_resume): Use it to clear the cache.
-
-2003-01-13 Daniel Jacobowitz <drow@mvista.com>
-
- * lin-lwp.c (struct private_thread_info, find_lwp_callback): Remove.
- (resume_callback): Remove dead code.
-
-2003-01-13 Andrew Cagney <ac131313@redhat.com>
-
- * gdbarch.sh (FRAME_INIT_SAVED_REGS): Change to function with
- predicate.
- * gdbarch.h, gdbarch.c: Regenerate.
- * stack.c (frame_info): Only initialize the saved registers when
- FRAME_INIT_SAVED_REGS_P.
- * frame.c (frame_saved_regs_register_unwind): Assert
- FRAME_INIT_SAVED_REGS_P.
- (deprecated_generic_get_saved_register): Ditto.
-
-2003-01-13 Daniel Jacobowitz <drow@mvista.com>
-
- * source.c (openp): Squelch warning about "filename".
-
-2003-01-13 Daniel Jacobowitz <drow@mvista.com>
-
- * source.c (openp): If the file does not exist don't necessarily
- search the path.
-
-2003-01-13 Daniel Jacobowitz <drow@mvista.com>
-
- Fix PR gdb/872.
- * gdbtypes.c (init_type): Mark "char" as TYPE_FLAG_NOSIGN.
- (integer_types_same_name_p): New function.
- (rank_one_type): Use it.
- * stabsread.c (read_range_type): Mark "char" as TYPE_FLAG_NOSIGN.
-
-2003-01-13 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in (TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE): New
+ (sparc64_supply_gregset, sparc64_collect_gregset,
+ sparc64_supply_fpregset, sparc64_collect_fpregset): New functions.
+ (sparc64_init_abi): New function.
+ * sparc64-tdep.h: Update copyright year. Fix typo in multiple
+ inclusion guard. Include "sparc-tdep.h".
+ (BIAS): Define.
+ (r_tstate_offset, r_fprs_offset): New defines.
+ (enum sparc_regnum): Remove defenition.
+ (enum sparc64_regnum): Reformat.
+ (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes.
+ (sparc64_init_abi, sparc64_supply_gregset,
+ sparc64_collect_gregset, sparc64_supply_fpregset,
+ sparc64_collect_fpregset): New prototypes.
+ (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset):
+ Add extern declarations.
+ (sparc64_sol2_init_abi): New prototype.
+ (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg)
+ (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove
+ prototypes.
+ * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include
+ "sparnbsd-nat.h".
+ (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove
+ functions.
+ (_initialize_sparc64fbsd_nat): Remove initialization of
+ sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg,
+ sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p,
+ sparcbsd_fpreg_supplies_p. Initialize sparc_gregset.
+ * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h",
+ "frame-unwind.h", "trad-frame.h" and "gdb_assert.h".
+ (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset)
+ (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset)
+ (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset)
+ (sparc64fbsd_r_y_offset): Remove variables.
+ (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg):
+ Make static and const.
+ (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg)
+ (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove
+ functions.
+ (sparc64fbsd_gregset): New variable.
+ (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg
+ and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset
+ and sparc64_supply_fpregset.
+ (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache)
+ (sparc64fbsd_sigtramp_frame_this_id)
+ (sparc64fbsd_sigtramp_frame_prev_register): New functions.
+ (sparc64fbsd_sigtramp_frame_unwind): New variable.
+ (sparc64fbsd_sigtramp_frame_sniffer): New function.
+ (sparc64fbsd_init_abi): Set pc_in_sigtramp, append
+ sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi.
+ * sparcnbsd-tdep.c: Update copyright year. Include
+ "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h",
+ "trad-frame.h" and "gdb_assert.h", don't include "target.h",
+ "value.h" and "sparcnbsd-tdep.h".
+ (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC)
+ (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT)
+ (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC)
+ (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove
+ defines.
+ (sparcnbsd_gregset): New variable.
+ (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64)
+ (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64)
+ (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64)
+ (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions.
+ (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New
variables.
- (main.o): Custom rule which uses $(TARGET_SYSTEM_ROOT_DEFINE).
- * configure.in: Add --with-sysroot.
- * configure: Regenerated.
- * main.c (gdb_sysroot): New variable.
- (captured_main): Initialize gdb_sysroot.
- * defs.h (gdb_sysroot): New extern declaration.
- * solib.c (_initialize_solib): Initialize solib_absolute_prefix.
-
-2003-01-12 Michael Chastain <mec@shout.net>
-
- * config/djgpp/fnchange.lst: add gdb/ChangeLog-2002.
-
-2003-01-12 Michael Chastain <mec@shout.net>
-
- * top.c (print_gdb_version): Bump copyright year to 2003.
-
-2003-01-12 David Carlton <carlton@bactrian.org>
-
- * linespec.c (symtab_from_filename): Rename variable 's' to
- 'file_symtab'.
-
-2003-01-12 Andrew Cagney <ac131313@redhat.com>
-
- * d10v-tdep.c (d10v_init_extra_frame_info): Remove checks for a
- dummy frame.
- (d10v_frame_saved_pc, d10v_frame_chain): Ditto.
-
-2003-01-12 Andrew Cagney <ac131313@redhat.com>
-
- * d10v-tdep.c: Include "gdb_assert.h".
- (d10v_store_return_value): Rewrite to match current interface.
- (d10v_extract_struct_value_address): Ditto.
- (d10v_extract_return_value): Ditto.
- (d10v_gdbarch_init): Set store_restore_value,
- extract_struct_value_address and extract_return_value.
-
-2003-01-12 J. Brobecker <brobecker@gnat.com>
-
- * hpread.c (set_namestring): New procedure replacing the
- SET_NAMESTRING macro.
- (hpread_build_psymtabs): Replace calls to SET_NAMESTRING
- by calls to set_namestring.
-
-2003-01-11 J. Brobecker <brobecker@gnat.com>
-
- * hpread.c (SET_NAMESTRING): Remove an incorrect cast to fix
- a compilation warning.
- (hpread_process_one_debug_symbol): Likewise.
-
-2003-01-10 David Carlton <carlton@math.stanford.edu>
-
- * linespec.c (decode_line_1): Rename variable 's' to
- 'file_symtab'.
- (decode_all_digits): Rename argument 's' to 'file_symtab'.
- (decode_dollar): Ditto.
- (decode_variable): Ditto.
- (symbol_found): Ditto.
-
-2003-01-09 Michael Chastain <mec@shout.net>
-
- * config/djgpp/fnchange.lst: update file list for testsuite/gdb.c++.
-
-2003-01-07 Corinna Vinschen <vinschen@redhat.com>
-
- * win32-nat.c (set_process_privilege): New function.
- (child_attach): Call set_process_privilege() to enable the
- SE_DEBUG_NAME user privilege if available in process token.
-
-2003-01-10 J. Brobecker <brobecker@gnat.com>
-
- * hpread.c (hpread_process_one_debug_symbol): Fix a small
- compilation error in the previous revision.
-
-2003-01-09 David Carlton <carlton@math.stanford.edu>
-
- * linespec.c: Update copyright.
-
-2003-01-09 Daniel Jacobowitz <drow@mvista.com>
-
- * lin-lwp.c (child_wait): Ignore exit statuses for processes other
- than inferior_ptid.
- (lin_lwp_wait): Ignore exit statuses for unknown LWPs.
-
-2003-01-09 Andrew Cagney <ac131313@redhat.com>
-
- * frame.h (frame_obstack_zalloc): Replace frame_obstack_alloc.
- Update comments.
- * frame.c (frame_obstack_zalloc): Replace frame_obstack_alloc.
- (frame_saved_regs_zalloc): Update.
- (frame_saved_regs_register_unwind): Update.
- (create_new_frame): Update.
- (get_prev_frame): Update.
- (frame_extra_info_zalloc): Update.
- (deprecated_get_frame_saved_regs): Update.
- * dwarf2cfi.c (cfi_init_extra_frame_info): Update.
- * cris-tdep.c: Update comment.
-
- * somsolib.h: Fix function indentation.
- * disasm.c, buildsym.c, buildsym.h: Eliminate PTR.
- * gnu-v2-abi.c, f-typeprint.c, x86-64-linux-tdep.c: Eliminate STREQ.
- * demangle.c, ax-gdb.c, c-valprint.c: Eliminate STREQ.
- * alpha-osf1-tdep.c, corefile.c: Eliminate STREQ.
- * somsolib.c, inftarg.c: Remove assignment in if conditional.
-
- * infrun.c (follow_fork): Use ISO C definition.
- * expprint.c (print_subexp): Use xfree instead of free.
- * charset.c: Include "gdb_string.h" instead of <string.h>.
- (register_iconv_charsets): Use ISO C definition.
- (host_charset, target_charset): Ditto.
- * Makefile.in (charset.o): Update dependencies.
- (mi-cmd-env.o): Update dependencies.
-
-2003-01-08 Andrew Cagney <cagney@redhat.com>
-
- * alpha-linux-tdep.c (alpha_linux_sigcontext_addr): Use
- get_frame_base.
-
-2003-01-08 Andrew Cagney <ac131313@redhat.com>
-
- * gdb_mbuild.sh: Add --keep option. When specified, keep the
- build directories. Save edited gdb output in Mbuild.log. If a
- build fails, remove any final GDB executable.
-
-2003-01-08 Andrew Cagney <ac131313@redhat.com>
-
- * gdb_mbuild.sh: Edit the output of `maint print architecture'
- replacing hex constants with function names and stripping leading
- file name directory prefixes.
-
-2003-01-08 Andrew Cagney <cagney@redhat.com>
-
- * gcore.c, i386-linux-tdep.c: Use get_frame_pc, get_next_frame and
- get_frame_base.
-
-2003-01-08 David Carlton <carlton@math.stanford.edu>
-
- * linespec.c (decode_line_1): Move code into decode_variable.
- (decode_variable): New function.
-
-2003-01-08 Andrew Cagney <ac131313@redhat.com>
-
- * mn10300-tdep.c (analyze_dummy_frame): Fix typo.
-
-2003-01-08 Andrew Cagney <cagney@redhat.com>
-
- * cris-tdep.c (cris_frame_init_saved_regs): Use
- get_frame_saved_regs and SIZEOF_FRAME_SAVED_REGS when copying a
- saved_regs buffer.
- * sh-tdep.c (sh_nofp_frame_init_saved_regs): Ditto.
- (sh64_nofp_frame_init_saved_regs): Ditto.
- (sh_fp_frame_init_saved_regs): Ditto.
- * arm-tdep.c: Use deprecated_set_frame_saved_regs_hack.
- * mips-tdep.c (mips_init_extra_frame_info): Ditto.
- * mcore-tdep.c (analyze_dummy_frame): Ditto.
- * mn10300-tdep.c (analyze_dummy_frame): Ditto.
-
-2003-01-08 Daniel Jacobowitz <drow@mvista.com>
-
- * minsyms.c (lookup_minimal_symbol): Update comment.
- (lookup_minimal_symbol_text): Update comment. Use the hash table.
- (lookup_minimal_symbol_solib_trampoline): Likewise.
-
-2003-01-08 Andrew Cagney <cagney@redhat.com>
-
- * d10v-tdep.c (d10v_init_extra_frame_info): Use
- frame_relative_level.
-
- * alpha-tdep.c: Use get_frame_extra_info.
- * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
- * h8300-tdep.c, ia64-tdep.c, m68hc11-tdep.c, mcore-tdep.c: Ditto.
- * mips-tdep.c, mn10300-tdep.c, s390-tdep.c, sh-tdep.c: Ditto.
- * sparc-tdep.c, xstormy16-tdep.c: Ditto.
-
- * alpha-tdep.c: Use get_next_frame.
- * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
- * dwarf2cfi.c, h8300-tdep.c, i386-tdep.c, ia64-tdep.c: Ditto.
- * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c: Ditto.
- * mips-tdep.c, mn10200-tdep.c, mn10300-tdep.c: Ditto.
- * ns32k-tdep.c, s390-tdep.c, sh-tdep.c, sparc-tdep.c: Ditto.
- * v850-tdep.c, vax-tdep.c, x86-64-linux-tdep.c: Ditto.
- * xstormy16-tdep.c: Ditto.
-
-2003-01-07 Andrew Cagney <cagney@redhat.com>
-
- * alpha-tdep.c: Use get_frame_base.
- * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
- * h8300-tdep.c, i386-tdep.c, ia64-tdep.c, m68hc11-tdep.c: Ditto.
- * m68k-tdep.c, mcore-tdep.c, mips-tdep.c, mn10200-tdep.c: Ditto.
- * mn10300-tdep.c, ns32k-tdep.c, s390-tdep.c, sh-tdep.c: Ditto.
- * sparc-tdep.c, v850-tdep.c, vax-tdep.c: Ditto.
- * x86-64-linux-tdep.c, xstormy16-tdep.c: Ditto.
- * config/h8500/tm-h8500.h, config/mn10200/tm-mn10200.h: Ditto.
- * config/sparc/tm-sparc.h: Ditto.
-
-2003-01-07 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (deprecated_get_frame_context): New function.
- (deprecated_set_frame_context): New function.
- * frame.h (deprecated_get_frame_context): Declare.
- (deprecated_set_frame_context): Declare.
- * dwarf2cfi.c (UNWIND_CONTEXT): Use deprecated_get_frame_context.
- (cfi_init_extra_frame_info): Use deprecated_set_frame_context.
-
-2003-01-07 Andrew Cagney <cagney@redhat.com>
-
- * frame.c (deprecated_set_frame_next_hack): New function.
- (deprecated_set_frame_prev_hack): New function.
- * frame.h (deprecated_set_frame_next_hack): Declare.
- (deprecated_set_frame_prev_hack): Declare.
- * mcore-tdep.c (analyze_dummy_frame): Use
- deprecated_set_frame_next_hack and deprecated_set_frame_prev_hack.
- * mn10300-tdep.c (analyze_dummy_frame): Ditto.
-
-2003-01-07 David Carlton <carlton@math.stanford.edu>
-
- * linespec.c (decode_line_1): Move code into decode_dollar.
- (decode_dollar): New function.
-
-2003-01-07 Andrew Cagney <cagney@redhat.com>
-
- * arm-tdep.c (arm_init_extra_frame_info): Use
- deprecated_update_frame_base_hack.
- * xstormy16-tdep.c (xstormy16_scan_prologue): Ditto.
- * mn10300-tdep.c (analyze_dummy_frame): Ditto.
- (fix_frame_pointer): Ditto.
- (mn10300_analyze_prologue): Ditto.
-
-2003-01-07 Andrew Cagney <cagney@redhat.com>
-
- * xstormy16-tdep.c (xstormy16_init_extra_frame_info): Allocate
- extra_info using frame_extra_info_zalloc.
- * sparc-tdep.c (sparc_init_extra_frame_info): Ditto.
- * sh-tdep.c (sh_init_extra_frame_info): Ditto.
- (sh64_init_extra_frame_info): Ditto.
- * mn10300-tdep.c (mn10300_init_extra_frame_info): Ditto.
- * s390-tdep.c (s390_init_extra_frame_info): Ditto.
- * mips-tdep.c (mips_init_extra_frame_info): Ditto.
- * mcore-tdep.c (mcore_init_extra_frame_info): Ditto.
- * frv-tdep.c (frv_init_extra_frame_info): Ditto.
- * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Ditto.
- * ia64-tdep.c (ia64_init_extra_frame_info): Ditto.
- * h8300-tdep.c (h8300_init_extra_frame_info): Ditto.
- * d10v-tdep.c (d10v_init_extra_frame_info): Ditto.
- * cris-tdep.c (cris_init_extra_frame_info): Ditto.
- * arm-tdep.c (arm_init_extra_frame_info): Ditto.
- * alpha-tdep.c (alpha_init_extra_frame_info): Ditto.
-
- * mn10300-tdep.c (analyze_dummy_frame): Use
- deprecated_set_frame_extra_info_hack.
- * mcore-tdep.c (analyze_dummy_frame): Ditto.
-
-2003-01-07 J. Brobecker <brobecker@gnat.com>
-
- * mdebugread.c (parse_symbol): Skip stProc entries which storage
- class is not scText. These do not define "real" procedures.
- (parse_partial_symbols): Likewise.
-
-2003-01-06 Michael Snyder <msnyder@redhat.com>
-
- * lin-lwp.c: Added or elaborated on "debug lin-lwp" info.
-
-2003-01-06 Andrew Cagney <ac131313@redhat.com>
-
- * frame.h (deprecated_frame_xmalloc_with_cleanup): Declare.
- * frame.c (deprecated_frame_xmalloc_with_cleanup): New function.
- * arm-tdep.c (arm_frame_chain): Allocate caller_fi using
- deprecated_frame_xmalloc_with_cleanup.
- * m32r-tdep.c (m32r_virtual_frame_pointer): Allocate `fi' using
- deprecated_frame_xmalloc.
- * mcore-tdep.c (analyze_dummy_frame): Ditto for dummy.
- * mn10200-tdep.c (mn10200_frame_chain): Ditto for dummy_frame.
-
-2003-01-06 Andrew Cagney <cagney@redhat.com>
-
- * x86-64-linux-tdep.c: Include "osabi.h".
- * Makefile.in (x86-64-linux-tdep.o): Update dependencies.
-
- * sparc-tdep.c (sparc_dump_tdep): Fix typo, match -> mach.
-
-2003-01-06 Andrew Cagney <cagney@redhat.com>
-
- * MAINTAINERS (Target Instruction Set Architectures): Update
- arm-elf. Can be built with -Werror, has been multiarched.
-
- * value.h (unpack_long): Make buffer parameter constant.
- (unpack_double, unpack_pointer, unpack_field_as_long): Ditto.
- * scm-lang.h (scm_parse): Ditto.
- * defs.h (extract_typed_address, extract_address): Ditto.
- (extract_long_unsigned_integer): Ditto.
- * inferior.h (unsigned_pointer_to_address): Ditto.
- (signed_pointer_to_address): Ditto.
- * gdbarch.sh (POINTER_TO_ADDRESS): Ditto.
- * gdbarch.h, gdbarch.c: Regenerate.
- * findvar.c (extract_long_unsigned_integer): Update.
- (extract_address): Update.
- (extract_typed_address): Update.
- (unsigned_pointer_to_address): Update.
- * values.c (unpack_long): Update.
- (unpack_double): Update.
- (unpack_pointer): Update.
- (unpack_field_as_long): Update.
- * d10v-tdep.c (d10v_pointer_to_address): Update.
- * avr-tdep.c (avr_pointer_to_address): Update.
- * scm-lang.c (scm_unpack): Update.
- * findvar.c (signed_pointer_to_address): Update.
-
-2003-01-06 Michal Ludvig <mludvig@suse.cz>
-
- * x86-64-linux-nat.c (i386_sse_regnum_p): Deleted. Not needed anymore
- since it is in i386-tdep.c.
-
-2003-01-06 J. Brobecker <brobecker@gnat.com>
-
- * alpha-tdep.c (alpha_gdbarch_init): Fix a small compilation
- failure introduced in the previous change.
-
-2003-01-05 Michael Chastain <mec@shout.net>
-
- * README: Remove references to deleted remote-*.c files:
- remote-adapt.c, remote-eb.c, remote-mm.c, remote-nindy.c,
- remote-nrom.c, remote-os9k.c, remote-udi.c.
-
-2003-01-05 Mark Kettenis <kettenis@gnu.org>
-
- * i386-tdep.c (i386_get_longjmp_target): Make usable on x86-64.
- * x86-64-tdep.c (x86_64_init_abi): Remove FIXME about
- i386_get_longjmp_target.
-
-2003-01-05 Andrew Cagney <ac131313@redhat.com>
-
- * arm-tdep.c (prologue_cache): Change to a pointer.
- (_initialize_arm_tdep): Allocate prologue_cache.
- (check_prologue_cache): Update.
- (save_prologue_cache): Update.
- (arm_gdbarch_init): Update.
-
-2003-01-04 Daniel Jacobowitz <drow@mvista.com>
-
- * stabsread.c (update_method_name_from_physname): Call complaint()
- instead of error.
-
-2003-01-04 Daniel Jacobowitz <drow@mvista.com>
-
- * arm-tdep.c (arm_frame_chain_valid): Remove unnecessary test.
- * d10v-tdep.c (d10v_frame_chain_valid): Remove unnecessary tests.
- * hppa-tdep.c (hppa_frame_chain_valid): Remove unnecessary test.
-
- * blockframe.c: Include "gdbcmd.h" and "command.h".
- (backtrace_below_main): New variable.
- (file_frame_chain_valid, func_frame_chain_valid)
- (nonnull_frame_chain_valid, generic_file_frame_chain_valid)
- (generic_func_frame_chain_valid): Remove functions.
- (frame_chain_valid, do_flush_frames_sfunc): New functions.
- (_initialize_blockframe): New function.
- * Makefile.in (blockframe.o): Update dependencies.
- * frame.c (frame_saved_regs_id_unwind, get_prev_frame): Remove FIXME
- comment. Call frame_chain_valid ().
- * frame.h: Remove old prototypes. Add prototype for
- frame_chain_valid and update comments to match.
- * gdbarch.sh: Change FRAME_CHAIN_VALID into a predicated function.
- Remove old comment.
- * gdbarch.h: Regenerated.
- * gdbarch.c: Regenerated.
-
- * alpha-tdep.c (alpha_gdbarch_init): Don't call
- set_gdbarch_frame_chain_valid.
- * avr-tdep.c (avr_gdbarch_init): Likewise.
- * cris-tdep.c (cris_gdbarch_init): Likewise.
- * frv-tdep.c (frv_gdbarch_init): Likewise.
- * h8300-tdep.c (h8300_gdbarch_init): Likewise.
- * i386-tdep.c (i386_svr4_init_abi): Likewise.
- (i386_nw_init_abi): Likewise.
- (i386_gdbarch_init): Likewise.
- * ia64-tdep.c (ia64_gdbarch_init): Likewise.
- * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
- * m68k-tdep.c (m68k_gdbarch_init): Likewise.
- * mcore-tdep.c (mcore_gdbarch_init): Likewise.
- * mips-tdep.c (mips_gdbarch_init): Likewise.
- * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
- * ns32k-tdep.c (ns32k_gdbarch_init): Likewise.
- * ppcnbsd-tdep.c (ppcnbsd_init_abi): Likewise.
- * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
- * s390-tdep.c (s390_gdbarch_init): Likewise.
- * sh-tdep.c (sh_gdbarch_init): Likewise.
- * sparc-tdep.c (sparc_gdbarch_init): Likewise.
- * v850-tdep.c (v850_gdbarch_init): Likewise.
- * vax-tdep.c (vax_gdbarch_init): Likewise.
- * x86-64-tdep.c (x86_64_init_abi): Likewise.
-
- * config/m32r/tm-m32r.h (FRAME_CHAIN_VALID): Don't define.
- * config/m68k/tm-apollo68b.h (FRAME_CHAIN_VALID): Likewise.
- * config/m68k/tm-m68kv4.h (FRAME_CHAIN_VALID): Likewise.
- * config/m68k/tm-monitor.h (FRAME_CHAIN_VALID): Likewise.
- * config/m68k/tm-os68k.h (FRAME_CHAIN_VALID): Likewise.
- * config/m68k/tm-vx68.h (FRAME_CHAIN_VALID): Likewise.
- * config/mn10200/tm-mn10200.h (FRAME_CHAIN_VALID): Likewise.
- * config/sparc/tm-sparclite.h (FRAME_CHAIN_VALID): Likewise.
-
-2002-01-04 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in (acconfig_h): Remove incorrect macro.
- (config_h): Define.
- (osabi.o): Update dependencies.
- * configure.tgt: Set gdb_osabi based on target triplet.
- * configure.in: Define GDB_OSABI_DEFAULT based on gdb_osabi.
- * configure: Regenerated.
- * config.in: Regenerated.
- * osabi.c: Include "arch-utils.h", "gdbcmd.h", and "command.h".
- (GDB_OSABI_DEFAULT): Define if not already defined.
- (user_osabi_state, user_selected_osabi, gdb_osabi_available_names)
- (set_osabi_string): New variables.
- (gdbarch_register_osabi): Add new OS ABI to
- gdb_osabi_available_names.
- (gdbarch_lookup_osabi): Honor specified and default OS ABIs.
- (set_osabi, show_osabi): New functions.
- (_initialize_gdb_osabi): Add "set osabi" and "show osabi" commands.
-
-2003-01-04 Daniel Jacobowitz <drow@mvista.com>
-
- * arch-utils.c (gdbarch_info_init): Set osabi to
- GDB_OSABI_UNINITIALIZED.
- * gdbarch.sh: Add osabi to struct gdbarch and to struct
- gdbarch_info. Include "osabi.h" in gdbarch.c. Check osabi
- in gdbarch_list_lookup_by_info and in gdbarch_update_p.
- * gdbarch.c: Regenerated.
- * gdbarch.h: Regenerated.
- * osabi.c (gdbarch_lookup_osabi): Return GDB_OSABI_UNINITIALIZED if
- there's no BFD.
- (gdbarch_init_osabi): Remove osabi argument; use info.osabi.
- * osabi.h (enum gdb_osabi): Move to defs.h.
- (gdbarch_init_osabi): Update prototype.
- * defs.h (enum gdb_osabi): Moved here.
- * Makefile.in: Update dependencies.
-
- * alpha-tdep.h: Don't include "osabi.h".
- (struct gdbarch_tdep): Remove osabi member.
- * alpha-tdep.c: Include "osabi.h".
- (alpha_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
- iterate over arches. Update call to gdbarch_init_osabi.
- (alpha_dump_tdep): Don't dump osabi.
- * alpha-linux-tdep.c: Include "osabi.h".
- * alpha-osf1-tdep.c: Include "osabi.h".
- * alphafbsd-tdep.c: Include "osabi.h".
- * alphanbsd-tdep.c: Include "osabi.h".
-
- * arm-tdep.h: Don't include "osabi.h".
- (struct gdbarch_tdep): Remove osabi member.
- * arm-tdep.c: Include "osabi.h".
- (arm_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
- iterate over arches. Update call to gdbarch_init_osabi.
- (arm_dump_tdep): Don't dump osabi.
- * arm-linux-tdep.c: Include "osabi.h".
- * armnbsd-tdep.c: Include "osabi.h".
-
- * hppa-tdep.c (hppa_gdbarch_init): Don't call gdbarch_lookup_osabi.
- Update call to gdbarch_init_osabi.
-
- * i386-tdep.h: Don't include "osabi.h".
- (struct gdbarch_tdep): Remove osabi member.
- * i386-tdep.c: Include "osabi.h".
- (i386_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
- iterate over arches. Update call to gdbarch_init_osabi.
- (i386_dump_tdep): Don't dump osabi.
- * i386-linux-tdep.c: Include "osabi.h".
- * i386-sol2-tdep.c: Include "osabi.h".
- * i386bsd-tdep.c: Include "osabi.h".
- * i386gnu-tdep.c: Include "osabi.h".
- * i386ly-tdep.c: Include "osabi.h".
- * i386nbsd-tdep.c: Include "osabi.h".
- * i386obsd-tdep.c: Include "osabi.h".
-
- * mips-tdep.c (struct gdbarch_tdep): Remove osabi member.
- (mips_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
- check osabi when iterating over arches. Update call to
- gdbarch_init_osabi.
- (mips_dump_tdep): Don't dump osabi.
-
- * ns32k-tdep.h: Don't include "osabi.h".
- (struct gdbarch_tdep): Remove.
- * ns32k-tdep.c (ns32k_gdbarch_init): Don't call
- gdbarch_lookup_osabi. Don't iterate over arches. Don't
- allocate tdep. Update call to gdbarch_init_osabi.
- (ns32k_dump_tdep): Remove.
- (_initialize_ns32k_tdep): Update call to gdbarch_register.
- * ns32knbsd-tdep.c: Include "osabi.h".
-
- * ppc-tdep.h: Don't include "osabi.h".
- (struct gdbarch_tdep): Remove osabi member.
- * rs6000-tdep.c: Include "osabi.h".
- (rs6000_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't check
- osabi when iterating over arches. Update call to
- gdbarch_init_osabi.
- (rs6000_dump_tdep): Don't dump osabi.
- * ppc-linux-tdep.c: Include "osabi.h".
- * ppcnbsd-tdep.c: Include "osabi.h".
-
- * sh-tdep.h: Don't include "osabi.h".
- (struct gdbarch_tdep): Remove osabi member.
- * sh-tdep.c: Include "osabi.h".
- (sh_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
- iterate over arches. Update call to gdbarch_init_osabi.
- (sh_dump_tdep): Don't dump osabi.
- * shnbsd-tdep.c: Include "osabi.h".
-
- * sparc-tdep.c: Include "osabi.h".
- (sparc_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
- iterate over arches. Update call to gdbarch_init_osabi.
- (sparc_dump_tdep): Don't dump osabi. Do dump the rest of the
- tdep structure.
-
- * vax-tdep.h: Don't include "osabi.h".
- (struct gdbarch_tdep): Remove.
- * vax-tdep.c: Include "osabi.h".
- (vax_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
- iterate over arches. Don't allocate tdep. Update call
- to gdbarch_init_osabi.
- (vax_dump_tdep): Remove.
- (_initialize_vax_tdep): Update call to gdbarch_register.
-
-2003-01-04 Daniel Jacobowitz <drow@mvista.com>
-
- * breakpoint.c (insert_breakpoints): Skip disabled breakpoints
- entirely.
- (breakpoint_re_set_one): Don't fetch the value for a disabled
- watchpoint.
-
-2003-01-04 Daniel Jacobowitz <drow@mvista.com>
-
- * buildsym.h (processing_hp_compilation): Remove obsolete variable.
- * gdbarch.sh Remove include of "value.h" in gdbarch.h.
- (COERCE_FLOAT_TO_DOUBLE): Remove.
- * gdbarch.c: Regenerate.
- * gdbarch.h: Regenerate.
- * Makefile.in: Remove value_h from gdbarch_h.
- * valops.c (coerce_float_to_double): New variable.
- (default_coerce_float_to_double): Remove.
- (standard_coerce_float_to_double): Remove.
- (value_arg_coerce): Use coerce_float_to_double.
- (_initialize_valops): Add "set coerce-float-to-double".
- * value.h (default_coerce_float_to_double): Remove prototype.
- (standard_coerce_float_to_double): Remove prototype.
-
- * hpread.c (hpread_process_one_debug_symbol): Mark C++ functions as
- prototyped.
- * mdebugread.c (parse_symbol): Likewise.
- * stabsread.c (define_symbol): Mark all functions as prototyped.
-
- * hppa-tdep.c (hppa_coerce_float_to_double): Remove.
- * alpha-tdep.c (alpha_gdbarch_init): Remove call to
- set_gdbarch_coerce_float_to_double.
- * arm-tdep.c (arm_gdbarch_init): Likewise.
- * frv-tdep.c (frv_gdbarch_init): Likewise.
- * h8300-tdep.c (h8300_gdbarch_init): Likewise (commented out).
- * i386-sol2-tdep.c (i386_sol2_init_abi): Likewise.
- * mips-tdep.c (mips_gdbarch_init): Likewise.
- (mips_coerce_float_to_double): Remove.
- * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
- (rs6000_coerce_float_to_double): Remove.
- * s390-tdep.c (s390_gdbarch_init): Likewise.
- * sh-tdep.c (sh_gdbarch_init): Likewise.
- (sh_coerce_float_to_double): Remove.
- * sparc-tdep.c (sparc_gdbarch_init): Likewise.
- (sparc_coerce_float_to_double): Remove.
- * v850-tdep.c (v850_gdbarch_init): Likewise.
- * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
- * config/m32r/tm-m32r.h (COERCE_FLOAT_TO_DOUBLE): Remove.
- * config/pa/tm-hppa.h: (COERCE_FLOAT_TO_DOUBLE): Remove.
- (hppa_coerce_float_to_double): Remove prototype.
- * config/sparc/tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Remove.
-
-2003-01-04 Daniel Jacobowitz <drow@mvista.com>
-
- * regformats/reg-m68k.dat: Remove fpcode and fpflags.
-
-2003-01-04 Daniel Jacobowitz <drow@mvista.com>
-
- Suggested by Stewart Brown <sb24@avaya.com>:
- * c-typeprint.c (c_type_print_varspec_prefix): Pass value of show
- in recursive calls. Handle TYPE_CODE_TYPEDEF.
- (c_type_print_varspec_suffix): Likewise.
-
-2003-01-04 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Don't set and AC_SUBST SUBDIRS.
- * configure: Regenerated.
-
- * configure.in: Remove code dealing with shared libraries.
- * Makefile.in: Remove HLDFLAGS and HLDENV.
- * configure: Regenerated.
-
-2003-01-04 Andrew Cagney <ac131313@redhat.com>
-
- * frame.c (deprecated_frame_xmalloc): New function.
- (deprecated_set_frame_saved_regs_hack): New function.
- (deprecated_set_frame_extra_info_hack): New function.
- * frame.h (deprecated_frame_xmalloc): Declare.
- (deprecated_set_frame_saved_regs_hack): Declare.
- (deprecated_set_frame_extra_info_hack): Declare.
-
-2003-01-04 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Move code that provides the --enable-gdbtk option
- right after the code that handles the --enable-tui option, and
- polish it somewhat.
- * configure: Regenerated.
-
- * configure.in: Call AC_GNU_SOURCE. Check for pread64 using
- AC_CHECK_FUNCS and remove the old check for pread64.
- * acinclude.m4 (AC_GNU_SOURCE): New macro.
- * acconfig.h (_GNU_SOURCE): Add.
- (HAVE_PREAD64): Remove.
- * configure, aclocal.m4, config.in: Regenerated.
-
-2003-01-03 Andrew Cagney <ac131313@redhat.com>
-
- * alpha-tdep.c: Use get_frame_saved_regs.
- * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
- * h8300-tdep.c, i386-tdep.c, ia64-tdep.c, m68hc11-tdep.c: Ditto.
- * m68k-tdep.c, mcore-tdep.c, mips-tdep.c, mn10300-tdep.c: Ditto.
- * ns32k-tdep.c, s390-tdep.c, sh-tdep.c, v850-tdep.c: Ditto.
- * vax-tdep.c, xstormy16-tdep.c: Ditto.
-
-2003-01-03 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Remove all use of the SUBDIRS variable; add
- directories using the AC_CONFIG_SUBDIRS macro instead. Polish
- code providing the --enable-multi-ice option, and move it right in
- front of the code that checks whether gdbserver is supported.
- Polish that too.
- * configure: Regenerated.
- * Makefile.in (SUBDIRS): Substitute @subdirs@ instead of
- @SUBDIRS@.
-
-2003-01-03 Andrew Cagney <cagney@redhat.com>
-
- * alpha-tdep.c: Use deprecated_update_frame_base_hack.
- * avr-tdep.c, cris-tdep.c: Ditto.
- * mcore-tdep.c, mips-tdep.c, mn10200-tdep.c: Ditto.
- * sh-tdep.c, sparc-tdep.c, v850-tdep.c: Ditto.
-
-2003-01-03 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Remove --enable-netrom option.
- * configure: Regenerated.
-
-2003-01-03 Mark Kettenis <kettenis@gnu.org>
-
- * cli/cli-decode.h: Don't include "gdb_regex.h"; provide a forward
- declaration for `struct re_pattern_buffer' instead.
- * Makefile.in (cli_decode_h): Remove $(gdb_regex_h).
-
-2003-01-03 J. Brobecker <brobecker@gnat.com>
-
- * mdebugread.c (parse_symbol): Count until the stEnd matching
- the structure name.
-
-2003-01-02 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Remove --with-cpu option.
- subscripts. Remove evil changequotes here.
- * acconfig.h (TARGET_CPU_DEFAULT): Remove.
- * config.in, configure: Regenerated.
-
- * acconfig.h (DEFAULT_BFD_ARCH, DEFAULT_BFD_VEC): Remove.
- * configure.in: Cleanup section that sources GDB and BFD configure
- subscripts. Remove evil changequotes here.
- * config.in, configure: Regenerated.
-
-2003-01-02 Andrew Cagney <ac131313@redhat.com>
-
- * arm-tdep.c: Use get_frame_pc and deprecated_update_frame_pc_hack
- frame accessor methods.
- * alpha-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
- * dwarf2cfi.c, h8300-tdep.c, i386-tdep.c, ia64-tdep.c: Ditto.
- * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c, mips-tdep.c: Ditto.
- * mn10200-tdep.c, mn10300-tdep.c, ns32k-tdep.c: Ditto.
- * s390-tdep.c, sh-tdep.c, sparc-tdep.c, v850-tdep.c: Ditto.
- * vax-tdep.c, x86-64-linux-tdep.c, xstormy16-tdep.c: Ditto.
- * z8k-tdep.c: Ditto.
-
-2003-01-02 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Remove UI_OUT configuration code.
- * ada-lang.c: Update assuming UI_OUT is always true.
- * Makefile.in (UIOUT_CFLAGS): Remove.
- * configure: Regenerated.
- * TODO: Remove blurb about elimination of -DUI_OUT.
-
- * configure.in: Move code that provides the --enable-gdbcli,
- --enable-gdbmi options right before the code that handles the
- --enable-tui option. Polish a bit.
- * configure: Regenerated.
-
- * configure.in: Rewrite check for GNU regex and the
- --without-included regex option, and move it into the "Checks for
- library functions" section. This makes us use the system regex
- again by default on systems with version 2 of the GNU C library.
- This was apparently broken.
- * gdb_regex.h [!USE_INCLUDED_REGEX] (_REGEX_RE_COMP): Define.
- * acconfig.h (USE_INCLUDED_REGEX): Remove.
- * config.in, configure: Regenerated.
-
- * configure.in: Move code that provides the --enable-tui option
- before the "Checks for libraries" section. Polish the code
- somewhat and set need_curses to yes if we build the TUI. Rewrite
- code that looks for a library providing termcap functionality to
- match more closely what's done in the Readline library, and move
- it into to the "Checks for libraries" section.
- * configure: Regenerated.
- * Makefile.in (TERMCAP): Remove variable.
- * config/i386/go32.mh (TERMCAP): Remove variable.
-
-2003-01-02 Andrew Cagney <ac131313@redhat.com>
-
- * MAINTAINERS: Mention gdb_mbuild.sh.
- * gdb_mbuild.sh: Rewrite.
-
-2003-01-02 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Fix typo in last change.
- * config.in, configure: Regenerated.
-
-2003-01-02 Andrew Cagney <ac131313@redhat.com>
-
- * valarith.c (value_binop): Delete obsolete code and comments.
- * configure.host: Ditto.
- * buildsym.h (make_blockvector): Ditto.
- * buildsym.c (make_blockvector): Ditto.
- * defs.h (enum language): Ditto.
- (chill_demangle): Ditto.
- * elfread.c (elf_symtab_read): Ditto.
- * dwarfread.c (CHILL_PRODUCER): Ditto.
- (set_cu_language): Ditto.
- (handle_producer): Ditto.
- * expprint.c (print_subexp): Ditto.
- * gdbtypes.c (chill_varying_type): Ditto.
- * gdbtypes.h (builtin_type_chill_bool): Ditto.
- (builtin_type_chill_char, builtin_type_chill_long): Ditto.
- (builtin_type_chill_ulong, builtin_type_chill_real): Ditto.
- (chill_varying_type): Ditto.
- * language.h (_LANG_chill): Ditto.
- * language.c (binop_result_type, integral_type): Ditto.
- (character_type, string_type, structured_type): Ditto.
- (lang_bool_type, binop_type_check): Ditto.
- * stabsread.h (os9k_stabs): Ditto.
- * stabsread.c (os9k_type_vector, dbx_lookup_type): Ditto.
- (define_symbol, read_type, read_struct_fields): Ditto.
- (read_array_type, read_enum_type, read_huge_number): Ditto.
- (read_range_type, start_stabs): Ditto.
- * symfile.c (init_filename_language_table): Ditto.
- (add_psymbol_with_dem_name_to_list): Ditto.
- * symtab.c (symbol_init_language_specific): Ditto.
- (symbol_init_demangled_name, symbol_demangled_name): Ditto.
- * symtab.h (struct general_symbol_info): Ditto.
- (SYMBOL_CHILL_DEMANGLED_NAME): Ditto.
- * typeprint.c (typedef_print): Ditto.
- * utils.c (fprintf_symbol_filtered): Ditto.
- * valops.c (value_cast, search_struct_field, value_slice): Delete
- obsolete code.
- (varying_to_slice): Delete function.
- * value.h (COERCE_VARYING_ARRAY): Delete obsolete macro contents.
- (varying_to_slice): Delete declaration.
- * MAINTAINERS: Update.
-
-2003-01-02 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Reorganize "Checks for library functions section"
- a bit. Remove check for `btowc' and `isascii' functions.
- * configure: Regenerated.
-
- * acconfig.h (_MSE_INT_H): Remove.
- * configure.in: Create "Checks for header files" section, and move
- appropriate tests there. Don't check for objlist.h, wchar.h,
- wctype.h and asm/debugreg.h. Rewrite Solaris 2.[78] <curses.h>
- misdetection fix. Also add "Checks for types", "Checks for
- compiler characteristics" and "Checks for library functions"
- sections.
- * config.in, configure: Regenerated.
-
- * configure.in: Create "Checks for programs" section, and move
- appropriate tests there.
-
-2003-01-01 Mark Kettenis <kettenis@gnu.org>
-
- * configure.in: Create "Checks for libraries" section, and move
- appropriate tests there. Cleanup check for wctype in libw. Use
- AC_SEARCH_LIBS to see whether we need libsocket.
- * configure: Regenerated.
+ (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache)
+ (sparc32nbsd_sigcontext_frame_this_id)
+ (sparc32nbsd_sigcontext_frame_prev_register): New functions.
+ (sparc32nbsd_sigcontext_frame_unwind): New variable.
+ (sparc32nbsd_sigtramp_frame_sniffer): New function.
+ (sparcnbsd_get_longjmp_target_32,
+ sparcnbsd_get_longjmp_target_64): Remove functions.
+ (sparcnbsd_aout_in_solib_call_trampoline): Rewrite.
+ (sparcnbsd_init_abi_common, sparcnbsd_init_aout,
+ sparcnbsd_init_elf): Remove.
+ (sparcnbsd_init_abi, sparcnbsd_aout_init_abi)
+ (sparcnbsd_elf_init_abi): New functions.
+ (_initialize_sparcnbsd_tdep): New prototype.
+ (_initialize_sparnbsd_tdep): Update.
+ * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and
+ corelow.o. Add sparc64-nat.o and sparc-nat.o.
+ * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o.
+ * config/sparc/linux.mh: Update comment.
+ (XM_FILE, HOST_IPC): Remove variables.
+ (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove
+ sparc-linux-nat.o.
+ * config/sparc/linux.mt: Update comment.
+ (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o.
+ * config/sparc/nbsd.mt: Reformat.
+ * config/sparc/nbsd64.mh: Update comment.
+ (NATDEPFILES): Add sparc-nat.o.
+ * config/sparc/nbsd64.mt: Update comment.
+ (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o.
+ (TM_FILE): Set to tm-nbsd.h.
+ * config/sparc/nbsdelf.mh: Update comment.
+ (NATDEPFILES): Add sparc-nat.o.
+ (XM_FILE): Delete.
+ * config/sparc/nbsdaout.mh: Update comment.
+ (NATDEPFILES): Add sparc-nat.o
+ (XM_FILE): Delete.
+ * config/sparc/nm-linux.h: Update copyright year. Don't include
+ "config/nm-svr4.h" and "solib.h". Add protection against multiple
+ inclusion.
+ (KERNEL_U_SIZE): Remove define.
+ (kernel_u_size): Remove prototype.
+ (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define.
+ * config/sparc/nm-nbsd.h: Update copyright. Don't include
+ "regcache.h".
+ (CHILD_PREPARE_TO_STORE): Remove define.
+ * config/sparc/nm-nbsdaout.h: Tweak some comments.
+ * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c,
+ sparcnbsd-nat.c: Rewrite files.
+ * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files.
+ * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h,
+ sparcnbsd-tdep.h: Remove files.
+ * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h,
+ config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt,
+ config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt,
+ config/sparc/sparc-em.mt, config/sparc/sparclynx.mh,
+ config/sparc/sparclynx.mt, config/sparc/sun4os4.mh,
+ config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh,
+ config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h,
+ config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h,
+ config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h,
+ config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h,
+ config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt,
+ config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files.
+ * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c,
+ sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c,
+ sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files.
+ * config/sparc/linux64.mh, config/sparc/linux64.mt,
+ config/sparc/nm-sol2.h, config/sparc/sol2-64.mt,
+ config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt,
+ config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
+
+2004-01-02 Andrew Cagney <cagney@redhat.com>
+
+ From 2003-12-18 Kazuhiro Inaoka:
+ * configure.host: Add m32r-linux target.
+
+2004-01-02 Michael Chastain <mec.gnu@mindspring.com>
+
+ * top.c (print_gdb_version): Update year to 2004.
+
+2004-01-02 Mark Mitchell <mark@codesourcery.com>
+
+ * MAINTAINERS: Add myself to the write-after-approval category.
+
+2004-01-02 Daniel Jacobowitz <drow@mvista.com>
+
+ From Bernardo Innocenti <bernie@develer.com>:
+ * configure.tgt: Add uClinux target.
+
+2004-01-02 Andrew Cagney <cagney@redhat.com>
+
+ * utils.c (do_my_cleanups): Make static, add forward declaration.
+ * defs.h (do_my_cleanups): Delete declaration.
+
+2004-01-02 Eli Zaretskii <eliz@elta.co.il>
+
+ * config/djgpp/fnchange.lst: Add lines for gdb/ChangeLog-2003 and
+ bfd/ChangeLog-0203.
+
+2004-01-02 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Check for <machine/reg.h>. Check for `struct reg'
+ in <machine/reg.h>.
+ * configure, config.in: Regenerate.
-For older changes see ChangeLog-2002
+For older changes see ChangeLog-2003, mi/ChangeLog-1999-2003, and
+tui/ChangeLog-1998-2003.
Local Variables:
mode: change-log
diff --git a/gdb/ChangeLog-2003 b/gdb/ChangeLog-2003
new file mode 100644
index 00000000000..b396264760a
--- /dev/null
+++ b/gdb/ChangeLog-2003
@@ -0,0 +1,15447 @@
+2003-12-30 Eli Zaretskii <eliz@elta.co.il>
+
+ * configure.in: Check for st_blocks member in struct stat and
+ define HAVE_STRUCT_STAT_ST_BLOCKS accordingly.
+
+ * acconfig.h (HAVE_STRUCT_STAT_ST_BLOCKS): New undef.
+
+ * configure, config.in: Regenerated.
+
+ * remote-fileio.c (remote_fileio_to_fio_stat)
+ (remote_fileio_func_fstat) [HAVE_STRUCT_STAT_ST_BLOCKS]: Support
+ systems that don't have `st_blocks' member in `struct stat'.
+
+2003-12-29 Eli Zaretskii <eliz@elta.co.il>
+
+ * go32-nat.c (go32_sldt, go32_sgdt, go32_sidt, go32_pte): Fix
+ mismatches between format string and arguments (avoids compiler
+ warnings).
+
+ * configure.in: Set ac_cv_search_tgetent to "none required" for
+ "*djgpp*" targets as well (DJGPP doesn't have termcap and doesn't
+ need one).
+
+ * config/djgpp/config.sed: Tweak to adapt to the changes in
+ configury.
+
+ * config/djgpp/djconfig.sh: Fix the test of unpacked
+ distribution, since there's no gdb.cxx directory anymore.
+
+2003-12-28 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-sol2-tdep.c (i386_sol2_mcontext_addr): New function.
+ (i386_sol2_init_abi): Initialize TDEP->sigcontext_addr,
+ TDEP->sc_reg_offset and TDEP->sc_num_regs.
+
+ * i386-tdep.h (i386_regnum): Add I386_CS_REGNUM and
+ I386_SS_REGNUM.
+
+2003-12-27 Mark Kettenis <kettenis@gnu.org>
+
+ * dwarf2-frame.c (dwarf2_reg_rule): Add REG_RA and REG_CFA.
+ (dwarf2_frame_cache): Initialize PC_REGNUM with REG_RA and
+ SP_REGNUM with REG_CFA. Don't overwrite the initialized register
+ rule for registers left unspecified by the CFI. Remove the
+ special handling of PC_REGNUM. Add code to eleminate any REG_RA
+ rules.
+ (dwarf2_frame_prev_register): Remove the special handling of
+ SP_REGNUM. Add support for the REG_CFA rule.
+
+2003-12-26 Mark Kettenis <kettenis@gnu.org>
+
+ * i386obsd-tdep.c: Include "regset.h", "gdb_assert.h" and
+ "gdb_string.h".
+ (i386obsd_r_reg_offset): New variable.
+ (i386obsd_aout_supply_regset)
+ (i386obsd_aout_regset_from_core_section): New functions.
+ (i386obsd_supply_reg, fetch_core_registers): Remove functions.
+ (i286obsd_core_fns): Remove variable.
+ (i386obsd_init_abi): Initialize TDEP->gregset_reg_offset,
+ TDEP->gregset_num_regs and TDEP->sizeof_gregset. Set
+ regset_from_core_section. Use ARRAY_SIZE to initialize
+ TDEP->sc_num_regs.
+ (_initialize_i386obsd_tdep): Don't call add_core_fns.
+
+ * i386bsd-tdep.c (i386bsd_core_osabi_sniffer): New function.
+ (_initialize_i386bsd_tdep): Register i386bsd_core_osabi_sniffer.
+
+ * i386-linux-nat.c: Add comment.
+
+2003-12-26 Christopher Faylor <cgf@redhat.com>
+
+ * win32-nat.c: Add some comments about below change.
+
+2003-12-25 Christopher Faylor <cgf@redhat.com>
+
+ Fix for PR threads/1048
+ * win32-nat.c (thread_info_struct): Add reload_context flag.
+ (thread_rec): Don't reload thread context here. Just set a flag.
+ (do_child_fetch_inferior_registers): Reload thread context here if
+ appropriate. Avoid doing anything if current_thread is NULL thanks to
+ strange Windows behavior.
+ (child_fetch_inferior_registers): Avoid doing anything if
+ current_thread is NULL.
+ (do_child_store_inferior_registers): Ditto.
+ (child_store_inferior_registers): Ditto.
+ (child_kill_inferior): Ditto.
+ (fake_create_process): Pretend to create a process for pathological
+ windows attach situation.
+ (get_child_debug_event): Call fake_create_process when the first event
+ noticed is thread creation rather than process creation.
+ (child_attach): Always set attach_flag when attaching.
+ (child_create_inferior): Set attach_flag to zero since we're not
+ attaching.
+
+2003-12-25 Christopher Faylor <cgf@redhat.com>
+
+ * win32-nat.c (get_child_debug_event): Keep main thread id around even
+ after thread exits since Windows insists on continuing to report events
+ against it.
+
+2003-12-22 Mark Kettenis <kettenis@gnu.org>
+
+ * dwarf2-frame.c (dwarf2_frame_cache): Don't skip the return
+ address column.
+
+2003-12-21 Jim Blandy <jimb@redhat.com>
+
+ * breakpoint.c (bpstat_do_actions): To ensure that
+ clear_proceed_status doesn't free the command tree we're
+ evaluating out from under us, zero the bpstat's pointer to it, and
+ take care of freeing it ourselves.
+ * cli/cli-script.c (make_cleanup_free_command_lines): Make this
+ function externally visible.
+ * cli/cli-script.h (make_cleanup_free_command_lines): New
+ declaration.
+
+2003-12-20 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (x86_64_dwarf_regmap): Map the Return Address to
+ RIP.
+
+2003-12-18 Michael Chastain <mec.gnu@mindspring.com>
+
+ * hppa-tdep.c (hppa_gdbarch_init): Set long double floating
+ point type to floatformat_ia64_quad_big.
+
+2003-12-18 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (skip_prologue_using_sal): New function. Taken verbatim
+ from mips-tdep.c.
+ (frv_analyze_prologue): Rework to account for intermixed prologue /
+ body instructions.
+
+2003-12-18 Michael Chastain <mec.gnu@mindspring.com>
+
+ * hppa-tdep.c (hppa_gdbarch_init): Set sizeof(long_double) to 128.
+ Document type sizes for hppa*-*-hpux* compilers available to me.
+
+2003-12-18 Michael Chastain <mec.gnu@mindspring.com>
+
+ * hppam3-nat.c: Delete obsolete file.
+ * hppab-nat.c: Delete obsolete file.
+ * Makefile.in: Remove references.
+
+2003-12-17 Jeff Johnston <jjohnstn@redhat.com>
+
+ * symtab.c (decode_line_spec): Change call to decode_line_1.
+
+2003-12-17 Jeff Johnston <jjohnstn@redhat.com>
+
+ * linespec.h (decode_line_1): Add new not_found_ptr parameter.
+ * linespec.c (decode_line_1): Add new parameter. Pass on
+ new parameter to decode_variable and symtab_from_filename
+ functions.
+ (decode_variable): Add new not_found_ptr parameter. Throw exception
+ rather than failing if the not_found_ptr is non-null and the
+ function is not found.
+ (symtab_from_filename): Add new not_found_ptr parametr. Throw
+ exception rather than failing if the not_found_ptr is non-null and
+ the source file is not found.
+ * breakpoint.c: Change all callers of decode_line_1 to add default
+ extra parameter for decode_line_1 calls.
+ * tracepoint.c: Ditto.
+ * cli/cli-cmds.c: Ditto.
+
+2003-12-16 J. Brobecker <brobecker@gnat.com>
+
+ * irix5-nat.c: Include mips-tdep.h.
+
+2003-12-16 Mark Kettenis <kettenis@gnu.org>
+
+ * solib.h (SOLIB_CREATE_CATCH_LOAD_HOOK)
+ (SOLIB_CREATE_CATCH_UNLOAD_HOOK, SOLIB_LOADED_LIBRARY_PATHNAME)
+ (SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_HAVE_LOAD_EVENT)
+ (SOLIB_HAVE_UNLOAD_EVENT): Remove defines.
+
+ * blockframe.c (inside_main_func): Don't treat a zero PC specially.
+ Needed to fix PR backtrace/1476.
+
+2003-12-16 David Carlton <carlton@kealia.com>
+
+ * cp-support.c (class_name_from_physname): Add DMGL_PARAMS.
+ (method_name_from_physname): Ditto.
+
+2003-12-15 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-sol2-tdep.c (i386_sol2_gregset_reg_offset): New variable.
+ (i386_sol2_init_abi): Initialize TDEP->gregset_reg_offset,
+ TDEP->gregset_num_regs, TDEP->sizeof_gregset and
+ TDEP->sizeof_fpregset.
+ * config/i386/i386sol2.mh (XM_FILE): Set to xm-i386.h.
+ (XM_CLIBS): Remove.
+ (NATDEPFILES): Remove core-regset.o and corelow.o.
+ * config/i386/i386sol2.mt (TDEPFILES): Add corelow.o.
+
+2003-12-14 Mark Kettenis <kettenis@gnu.org>
+
+ * proc-api.c (procfs_note): Add format string to fprintf call.
+
+ * i386-tdep.c (i386_analyze_frame_setup): Add missing encodings
+ for `subl' and `xorl' instructions.
+
+2003-12-13 Jim Blandy <jimb@redhat.com>
+
+ * dwarf2read.c (dwarf2_add_member_fn, read_structure_scope):
+ Replace uses of DEPRECATED_STREQ and DEPRECATED_STREQN with calls
+ to strcmp and strncmp.
+
+ * osabi.c (gdbarch_init_osabi): Reformat error message with better
+ line breaks.
+
+2003-12-13 Mark Kettenis <kettenis@gnu.org>
+
+ * blockframe.c (inside_main_func): Reformat. Introduce new local
+ variables to prevent long lines. Update comments to reflect
+ reality.
+
+2003-12-12 Kevin Buettner <kevinb@redhat.com>
+
+ From David Mosberger <davidm@hpl.hp.com>:
+ * libunwind-frame.c (unw_find_dyn_list_p): Replace most arguments
+ with a single unw_dyn_info_t pointer.
+ (libunwind_find_dyn_list): Likewise.
+ * libunwind-frame.h: Likewise.
+ * ia64-tdep.c (ia64_find_unwind_table): Switch to using
+ UNW_INFO_FORMAT_REMOTE_TABLE so we can avoid having to read in the
+ entire unwind-table at once. Support for this table format has
+ been added to libunwind v0.95.
+ (ia64_find_proc_info_x): Adjust for remote-unwind-table changes.
+ (ia64_get_dyn_info_list): Adjust for interface change for
+ libunwind_find_dyn_list().
+
+2003-12-12 Jeff Johnston <jjohnstn@redhat.com>
+
+ * breakpoint.c (breakpoint_enabled): New function to test whether
+ breakpoint is active and enabled.
+ (insert_bp_location, insert_breakpoints): Call new function to test
+ for enabled breakpoint.
+ (remove_breakpoint, breakpoint_here_p, breakpoint_thread_match)
+ (bpstat_should_step, bpstat_have_active_hw_watchpoints)
+ (disable_breakpoints_in_shlibs, hw_watchpoint_used_count)
+ (disable_watchpoints_before_interactive_call_start)
+ (breakpoint_re_set_one): Ditto.
+ (bpstat_stop_status): Use new function and simplify test.
+
+2003-12-11 Mark Kettenis <kettenis@gnu.org>
+
+ * observer.c (observer_test_first_observer)
+ (observer_test_second_observer, observer_test_third_observer):
+ Don't define as `static'.
+ (observer_test_first_notification_function)
+ (observer_test_second_notification_function)
+ (observer_test_third_notification_function): Likewise.
+
+2003-12-10 Mark Kettenis <kettenis@gnu.org>
+
+ * solib.h (SOLIB_UNLOADED_LIBRARY_PATHNAME): Define as "" instead
+ of (0).
+
+2003-12-11 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * MAINTAINERS (write after approval): Add myself.
+
+2003-12-11 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * config/h8300/tm-h8300.h (h8300hmode): Remove.
+ (h8300hmode): Likewise.
+ (h8300smode): Likewise.
+ (h8300sxmode): Likewise.
+ (h8300_normal_mode): Likewise.
+ (GDB_TARGET_IS_H8300): Likewise.
+ (NUM_REALREGS): Use TARGET_ARCHITECTURE->mach instead of global.
+ * h8300-tdep.c (is_h8300hmode): New function.
+ (is_h8300smode): New function.
+ (is_h8300sxmode): New function.
+ (is_h8300_normal_mode): New function.
+ (BINWORD): Use new functions.
+ (h8300_examine_prologue): Likewise.
+ (h8300_print_register): Likewise.
+ (h8300_print_registers_info): Likewise.
+ (h8300_register_type): Likewise.
+ (h8300_gdbarch_init): Remove use of globals like h8300hmode.
+ * remote-e7000.c (e7000_open): Remove use of GDB_TARGET_IS_H8300.
+ (e7000_fetch_registers): Use TARGET_ARCHITECTURE->mach instead.
+ (e7000_wait): Use TARGET_ARCHITECTURE->mach instead of global.
+
+2003-12-10 J. Brobecker <brobecker@gnat.com>
+
+ * frame.c (select_frame): Get the current frame PC using
+ get_frame_address_in_block() instead of get_frame_pc().
+ * stack.c (get_frame_language): Likewise.
+
+2003-12-08 Kevin Buettner <kevinb@redhat.com>
+
+ * remote.c (remote_open_1, remote_cisco_open): Avoid closing
+ remote_desc more than once.
+
+2003-12-07 Andrew Cagney <cagney@redhat.com>
+
+ * defs.h (DEPRECATED_STREQN, DEPRECATED_STREQ): Simplify by
+ directly calling strcmp equivalents. Add disclaimer.
+
+2003-12-06 Andrew Cagney <cagney@redhat.com>
+
+ * remote.c (remote_fetch_registers): For short packets, explicitly
+ supply a zero value. Use regcache_raw_supply. Fix suggested by
+ Jonathan Larmour.
+
+2003-12-05 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-tdep.c (ia64_gdbarch_init): Set up the gdbarch long double
+ format to be the i387 extended float format which is used for
+ long doubles stored in memory.
+
+2003-12-05 Mark Kettenis <kettenis@gnu.org>
+
+ From Ulrich Weigand <weigand@informatik.uni-erlangen.de>:
+ * dwarf2-frame.c (dwarf2_frame_cache): Use the untranslated RA
+ column instead of translating it.
+
+2003-12-04 Michael Chastain <mec.gnu@mindspring.com>
+
+ Partial fix for PR c++/1465.
+ Fix for PR c++/1377.
+ * cp-support.h (cp_lookup_rtti_type): New function.
+ * cp-support.c (cp_lookup_rtti_type): New function.
+ * gnu-v2-abi.c: Update copyright years.
+ (gnuv2_rtti_type): Call cp_lookup_rtti_type.
+ * gnu-v3-abi.c: Update copyright years.
+ (gnuv3_rtti_type): Call cp_lookup_rtti_type.
+
+2003-12-04 J. Brobecker <brobecker@gnat.com>
+
+ * stabsread.c (read_type): Save a reference to types that are defined
+ as cross references to other types.
+
+2003-12-02 Roland McGrath <roland@redhat.com>
+
+ * thread-db.c (enable_thread_event): Change return type to
+ td_err_e. Return TD_OK or error code.
+ (enable_thread_event_reporting): Update callers.
+
+2003-12-03 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * NEWS: Mention new C++ demangler code.
+
+2003-12-03 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-linux-nat.c (store_register, fetch_register): Convert
+ between ptrace and regcache's wordsize.
+ (ppc_register_u_addr): Use the ptrace wordsize.
+
+2003-12-02 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (frv_gdbarch_init): Add case for fr550.
+
+2003-12-02 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2read.c (dwarf_info_offset, dwarf_abbrev_offset)
+ (dwarf_line_offset, dwarf_pubnames_offset, dwarf_aranges_offset)
+ (dwarf_loc_offset, dwarf_macinfo_offset, dwarf_str_offset)
+ (dwarf_ranges_offset, dwarf_frame_offset, dwarf_eh_frame_offset):
+ Delete.
+ (dwarf2_read_section): Remove offset and size arguments. Use
+ bfd_get_section_size_before_reloc and sectp->filepos.
+ (dwarf2_has_info): Clear section variables instead of offsets.
+ (dwarf2_locate_sections): Don't initialize the deleted variables.
+ (dwarf2_build_psymtabs): Update calls to dwarf2_read_section.
+ (dwarf2_build_psymtabs_easy): Likewise.
+ * dwarf2-frame.c (dwarf_frame_offset, dwarf_frame_size)
+ (dwarf_eh_frame_offset, dwarf_eh_frame_size): Remove extern
+ declarations.
+ (dwarf2_read_section): Update prototype.
+ (dwarf2_build_frame_info): Update calls to dwarf2_read_section.
+ Use bfd_get_section_size_before_reloc instead of global size
+ variables.
+
+2003-12-01 Michael Chastain <mec.gnu@mindspring.com>
+
+ * dwarfread.c: Update documentation on the state of dwarf-1.
+
+2003-12-01 Andrew Cagney <cagney@redhat.com>
+
+ Obsolete old MIPS SVr3 and SVr4 systems.
+ * NEWS: Mention obsoleted systems.
+ * configure.tgt: Mark mips*-*-sysv4* as obsolete.
+ * configure.host: Mark mips-dec-*, mips-little-*, mips-sony-*,
+ mips-*-sysv4*, mips-*-sysv*, mips-*-riscos* and mips-*-mach3* as
+ obsolete.
+ * config/mips/decstation.mh: Mark as obsolete.
+ * config/mips/littlemips.mh: Mark as obsolete.
+ * config/mips/nm-mips.h: Mark as obsolete.
+ * config/mips/xm-mips.h: Mark as obsolete.
+ * config/mips/news-mips.mh: Mark as obsolete.
+ * config/mips/nm-news-mips.h: Mark as obsolete.
+ * config/mips/riscos.mh: Mark as obsolete.
+ * config/mips/nm-riscos.h: Mark as obsolete.
+ * config/mips/xm-riscos.h: Mark as obsolete.
+ * config/mips/mipsv4.mt: Mark as obsolete.
+ * config/mips/tm-mipsv4.h: Mark as obsolete.
+ * config/mips/xm-mipsv4.h: Mark as obsolete.
+
+ Obsolete old m68k systems.
+ * configure.host: Mark m68*-sun-*, m68*-sun-sunos4*,
+ m68*-sun-sunos3*, m68*-motorola-*, m68*-*-sysv4*, m68*-*-lynxos*,
+ m68*-bull*-sysv*, m68*-att-*, m680[01]0-sun-sunos4*, and
+ m680[01]0-sun-sunos3* as obsolete.
+ * configure.tgt: Mark m68*-*-lynxos*, m68*-*-sunos3*,
+ m68*-*-sunos4*, m68*-*-sysv4*, m68000-*-sunos3*, m68000-*-sunos4*,
+ m68*-bull-sysv*, m68*-att-*, and m68*-motorola-*, as obsolete.
+ * config/m68k/sun3os4.mh: Mark file obsolete.
+ * config/m68k/xm-sun3os4.h: Mark file obsolete.
+ * config/m68k/sun3os3.mh: Mark file obsolete.
+ * config/m68k/nm-sun3.h: Mark file obsolete.
+ * config/m68k/xm-sun3.h: Mark file obsolete.
+ * config/m68k/sun2os4.mh: Mark file obsolete.
+ * config/m68k/sun2os3.mh: Mark file obsolete.
+ * config/m68k/nm-sun2.h: Mark file obsolete.
+ * config/m68k/xm-sun2.h: Mark file obsolete.
+ * config/m68k/m68kv4.mh: Mark file obsolete.
+ * config/m68k/nm-sysv4.h: Mark file obsolete.
+ * config/m68k/xm-m68kv4.h: Mark file obsolete.
+ * config/m68k/m68klynx.mh: Mark file obsolete.
+ * config/m68k/nm-m68klynx.h: Mark file obsolete.
+ * config/m68k/dpx2.mh: Mark file obsolete.
+ * config/m68k/xm-dpx2.h: Mark file obsolete.
+ * config/m68k/nm-dpx2.h: Mark file obsolete.
+ * config/m68k/delta68.mh: Mark file obsolete.
+ * config/m68k/xm-delta68.h: Mark file obsolete.
+ * config/m68k/nm-delta68.h: Mark file obsolete.
+ * config/m68k/3b1.mh: Mark file obsolete.
+ * config/m68k/xm-3b1.h: Mark file obsolete.
+ * config/m68k/sun3os4.mt: Mark file obsolete.
+ * config/m68k/tm-sun3os4.h: Mark file obsolete.
+ * config/m68k/sun3os3.mt: Mark file obsolete.
+ * config/m68k/tm-sun3.h: Mark file obsolete.
+ * config/m68k/sun2os4.mt: Mark file obsolete.
+ * config/m68k/tm-sun2os4.h: Mark file obsolete.
+ * config/m68k/sun2os3.mt: Mark file obsolete.
+ * config/m68k/tm-sun2.h: Mark file obsolete.
+ * config/m68k/m68kv4.mt: Mark file obsolete.
+ * config/m68k/tm-m68kv4.h: Mark file obsolete.
+ * config/m68k/m68klynx.mt: Mark file obsolete.
+ * config/m68k/tm-m68klynx.h: Mark file obsolete.
+ * config/m68k/dpx2.mt: Mark file obsolete.
+ * config/m68k/tm-dpx2.h: Mark file obsolete.
+ * config/m68k/delta68.mt: Mark file obsolete.
+ * config/m68k/tm-delta68.h: Mark file obsolete.
+ * config/m68k/3b1.mt: Mark file obsolete.
+ * config/m68k/tm-3b1.h: Mark file obsolete.
+
+2003-11-29 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (MAX_CLASSES): Remove macro.
+ (x86_64_reg_class): Remove enum.
+ (merge_classes, classify_argument, examine_argument): Remove
+ functions.
+ (INT_REGS, SSE_REGS): Remove macros.
+ (x86_64_push_arguments): Remove function.
+ (amd64_push_arguments): New function.
+ (x86_64_push_dummy_call): Call amd64_push_arguments instead of
+ x86_64_push_arguments.
+
+2003-11-28 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (x86_64_frame_cache): Don't bail out if %rbp is
+ zero. Reorganize code a bit.
+
+2003-11-27 Mark Kettenis <kettenis@gnu.org>
+
+ * dwarf2-frame.c: Fix another comment.
+
+ * x86-64-tdep.c (RET_INT_REGS, RET_SSE_REGS): Remove defines.
+ (x86_64_use_struct_convention, x86_64_extract_return_value,
+ x86_64_store_return_value): Remove.
+ (amd64_reg_class): New enum.
+ (amd64_merge_classes, amd64_classify_aggregate, amd64_classify,
+ amd64_return_value): New functions.
+ (x86_64_init_abi): Don't set extract_return_value,
+ store_return_value and use_struct_convention. Set return_value to
+ amd64_return_value.
+ * i387-tdep.h (i387_return_value): New prototype.
+ * i387-tdep.c (i387_return_value): New function.
+
+ * dwarf2-frame.c: Fix some comments and whitespace problems.
+
+ * i386nbsd-tdep.c: Don't include "gdbtypes.h". Include
+ "gdb_assert.h" and "gdb_string.h".
+ (i386nbsd_r_reg_offset): Rename from regmap.
+ (SIZEOF_STRUCT_REG): Remove.
+ (i386nbsd_supply_reg, fetch_core_registers,
+ fetch_elfcore_registers, i386nbsd_core_fns, i386nbsd_elfcore_fns):
+ Remove.
+ (i386nbsd_aout_supply_regset,
+ i386nbsd_aout_regset_from_core_section): New functions.
+ (i386nbsd_sc_reg_offset): Don't explicitly specify size of array.
+ (i386nbsd_init_abi): Initialize TDEP->gregset_reg_offset,
+ TDEP->gregset_num_regs amd sizeof_gregset. Use ARRAY_SIZE to
+ initialize TDEP->sc_num_regs.
+ (i386nbsdaout_init_abi): New function.
+ (i386nbsdelf_init_abi): Remove initialization of
+ TDEP->num_xmm_regs. Don't set num_regs here.
+ (_initialize_i386nbsd_tdep): Don't call add_core_fns. Use
+ i386nbsd_aout_init to register NetBSD a.out OS/ABI.
+
+ * osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Use
+ .note.netbsdcore.procinfo section to recognize NetBSD core files.
+
+2003-11-26 Michael Chastain <mec.gnu@mindspring.com>
+
+ * cp-abi.c: Update copyright years.
+
+2003-11-25 Andrew Cagney <cagney@redhat.com>
+
+ * thread-db.c (enable_thread_event): New function. Ensure that BP
+ is a code address.
+ (enable_thread_event_reporting): Use enable_thread_event.
+
+2003-11-25 Michael Snyder <msnyder@redhat.com>
+
+ * mips-tdep.c (mips_o64_extract_return_value): Correct for
+ NUM_REGS (see changes 2003-06-21).
+ (mips_eabi_extract_return_value): Ditto.
+
+2003-11-25 Andrew Cagney <cagney@redhat.com>
+
+ * infrun.c: Don't include "exec.h".
+ (handle_inferior_event): Pass current_target, instead of exec_ops,
+ to SOLIB_ADD. Add comments.
+ * Makefile.in (infrun.o): Update dependencies.
+
+2003-11-24 Daniel Jacobowitz <drow@mvista.com>
+
+ * NEWS: Mention improved location expression support.
+
+2003-11-23 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (infrun.o): Update dependencies.
+ * infrun.c: Include "exec.h".
+ (handle_inferior_event): Pass exec_ops to SOLIB_ADD.
+
+2003-11-23 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (frame_unwind_signed_register): Delete function.
+ * frame.h (frame_unwind_register_signed): Delete declaration.
+ * mips-tdep.c (mips_frame_saved_pc): Use frame_unwind_register_signed.
+
+ * arch-utils.h (generic_cannot_extract_struct_value_address):
+ Delete declaration.
+
+ * defs.h (DEPRECATED_STREQN): Rename STREQN.
+ (DEPRECATED_STREQ): Rename STREQ.
+ * ada-exp.y, ada-lang.c, ada-lex.l, coffread.c: Update.
+ * config/mips/tm-irix5.h, config/mips/tm-irix6.h: Update.
+ * config/mips/tm-mipsv4.h, config/sparc/tm-sun4sol2.h: Update.
+ * dbxread.c, dwarf2read.c, dwarfread.c, environ.c: Update.
+ * eval.c, exec.c, f-lang.c, hppa-tdep.c, hpread.c: Update.
+ * jv-exp.y, language.c, m2-exp.y, mcore-rom.c: Update.
+ * mdebugread.c, mipsread.c, objc-exp.y, objfiles.c: Update.
+ * p-exp.y, p-typeprint.c, p-valprint.c, rs6000-nat.c: Update.
+ * source.c, sparc-tdep.c, stack.c, target.c: Update.
+
+ * symfile.c (symbol_file_command): Replace STREQ with strcmp.
+ * elfread.c (elf_symtab_read): Delete STREQ from comment.
+
+2003-11-22 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (deprecated_frame_xmalloc): Delete function.
+ (deprecated_set_frame_extra_info_hack): Delete function.
+ (deprecated_set_frame_saved_regs_hack): Delete function.
+ * frame.h (deprecated_frame_xmalloc): Delete declaration.
+ (deprecated_set_frame_extra_info_hack): Delete declaration.
+ (deprecated_set_frame_saved_regs_hack): Delete declaration.
+ * mcore-tdep.c (analyze_dummy_frame): Instead of
+ deprecated_frame_xmalloc, deprecated_set_frame_saved_regs_hack,
+ and deprecated_set_frame_extra_info_hack use
+ deprecated_frame_xmalloc_with_cleanup.
+ * mn10300-tdep.c (analyze_dummy_frame): Ditto.
+ * mips-tdep.c (mips_init_extra_frame_info): Delete call to
+ deprecated_set_frame_saved_regs_hack.
+
+ * mips-tdep.c (mips_frame_chain): Delete call to
+ deprecated_inside_entry_file.
+
+ * frame.h (deprecated_set_frame_next_hack): Delete declaration.
+ (deprecated_set_frame_prev_hack): Delete declaration.
+ * frame.c (deprecated_set_frame_next_hack): Delete function.
+ (deprecated_set_frame_prev_hack): Delete function.
+ * mcore-tdep.c (analyze_dummy_frame): Delete calls to
+ "deprecated_set_frame_next_hack" and
+ "deprecated_set_frame_prev_hack".
+ * mn10300-tdep.c (analyze_dummy_frame): Ditto.
+
+ * mips-tdep.c (mips_register_convertible): Delete function.
+ (mips_register_convert_to_virtual): Delete function.
+ (mips_register_convert_to_raw): Delete function.
+ (mips_gdbarch_init): Do not set "deprecated_register_convertible",
+ "deprecated_register_convert_to_virtual", or
+ "deprecated_register_convert_to_raw".
+ (mips_pseudo_register_write, mips_pseudo_register_read): Handle
+ 32/64 cooked to raw register conversions.
+
+ * frame.c (deprecated_get_frame_context): Delete function.
+ (deprecated_set_frame_context): Delete function.
+ (struct frame_info): Delete member "context".
+ * frame.h (deprecated_get_frame_context): Delete declaration.
+ (deprecated_set_frame_context): Delete declaration.
+
+ * procfs.c (procfs_wait): Delete FAULTED_USE_SIGINFO comment.
+ * config/sparc/tm-sun4sol2.h (FAULTED_USE_SIGINFO): Delete macro.
+ * config/i386/tm-i386sol2.h (FAULTED_USE_SIGINFO): Delete macro.
+ * config/alpha/nm-osf2.h (FAULTED_USE_SIGINFO): Delete macro.
+
+ * mips-tdep.c (SIGFRAME_REG_SIZE): Delete macro.
+ (mips_find_saved_regs): Replace SIGFRAME_REG_SIZE with
+ mips_regsize.
+ (mips_dump_tdep): Do not print SIGFRAME_REG_SIZE.
+ * config/mips/tm-irix6.h (SIGFRAME_REG_SIZE): Delete macro.
+ * config/mips/tm-irix5.h: Update copyright.
+ (SIGFRAME_REG_SIZE): Delete macro.
+
+ * hppa-tdep.c (hppa_value_returned_from_stack): Delete function.
+ * config/pa/tm-hppa.h (hppa_value_returned_from_stack): Delete
+ declaration.
+ (DEPRECATED_VALUE_RETURNED_FROM_STACK): Delete macro.
+ * infcall.c (call_function_by_hand): Delete #ifdef
+ DEPRECATED_VALUE_RETURNED_FROM_STACK code.
+ * infcmd.c (print_return_value): Ditto.
+
+ * mips-tdep.c (skip_prologue_using_sal): New function.
+ (mips32_skip_prologue, mips16_skip_prologue): Use
+ skip_prologue_using_sal to get an upper bound on the search.
+
+ * config/powerpc/tm-linux.h (PROLOGUE_FIRSTLINE_OVERLAP): Delete
+ #if 0'ed macro.
+ * infrun.c (step_into_function): Delete #ifdef
+ PROLOGUE_FIRSTLINE_OVERLAP code.
+ * symtab.c (find_function_start_sal): Ditto.
+
+ * remote-rdp.c: Update copyright.
+ (rdp_init): #if 0 references to "target_byte_order".
+
+ * mips-tdep.c (mips_o32_store_return_value): Delete function.
+ (mips_o32_return_value): Replace mips_o32_xfer_return_value.
+ (mips_o32_extract_return_value): Delete function.
+ (mips_n32n64_return_value): Replace mips_n32n64_xfer_return_value.
+ (mips_n32n64_extract_return_value): Delete function.
+ (mips_n32n64_store_return_value): Delete function.
+ (mips_gdbarch_init): For o32 and n32n64, set "return_value"
+ instead of "store_return_value", "extract_return_value", and
+ "use_struct_convention".
+ (mips_n32n64_use_struct_convention): Delete function.
+
+2003-11-21 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (frv_frame_this_id): Eliminate call to
+ inside_entry_func().
+
+2003-11-20 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_extract_return_value,
+ i386_store_return_value): Add gdbarch argument. Use it instead of
+ determining it from REGCACHE. Remove recursive call for
+ structures with a single member.
+ (i386_use_struct_convention): Remove.
+ (i386_reg_struct_return_p): New function.
+ (i386_return_value): New function.
+ (i386_gdbarch_init): Set return_value, don't set
+ extract_return_value, store_return_value and
+ use_struct_convention.
+ * x86-64-tdep.c (x86_64_init_abi): Set return_value to NULL.
+
+2003-11-20 Jim Blandy <jimb@redhat.com>
+
+ * osabi.c (_initialize_gdb_osabi): Don't return before registering
+ the 'set osabi' and 'show osabi' commands.
+
+2003-11-19 Mark Kettenis <kettenis@gnu.org>
+
+ * frame.c (get_prev_frame): Use result from
+ get_frame_address_in_block instead of get_frame_pc as argument to
+ inside_main_func. Fixes PR backtrace/1435.
+
+2003-11-19 Andrew Cagney <cagney@redhat.com>
+
+ * stack.c (return_command): Handle "void", "legacy" and "unknown
+ location" return values separatly.
+ * values.c (using_struct_return): Return 0 for a "void" return
+ type. Mention "register_value_being_returned".
+ (register_value_being_returned): Mention "using_struct_return".
+
+2003-11-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2read.c (offreg, basereg, isderef, frame_base_reg)
+ (frame_base_offset): Delete.
+ (read_func_scope): Delete call to decode_locdesc.
+ (decode_locdesc): Update comments. Don't set the removed variables.
+ Complain for DW_OP_reg* not at the end. Remove DW_OP_breg* and
+ DW_OP_fbreg support.
+
+2003-11-18 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2read.c (optimized_out, islocal): Remove.
+ (decode_locdesc): Update comments. Don't set optimized_out
+ or islocal.
+
+2003-11-17 Jeff Johnston <jjohnstn@redhat.com>
+ David Mosberger <davidm@hpl.hp.com>
+
+ * ia64-tdep.c: Include elf.h.
+ [HAVE_LIBUNWIND_IA64_H]: Include libunwind-frame.h and
+ libunwind-ia64.h.
+ (ia64_rse_slot_num, ia64_rse_skip_regs): New for libunwind support.
+ (ia64_gdb2uw_regnum, ia64_uw2gdb_regnum): Ditto.
+ (ia64_is_fpreg, ia64_access_reg): Ditto.
+ (ia64_access_fpreg, ia64_access_mem): Ditto.
+ (get_kernel_table): Ditto.
+ (ia64_find_unwind_table): Ditto.
+ (ia64_find_proc_info_x, ia64_put_unwind_info): Ditto.
+ (ia64_get_dyn_info_list, ia64_libunwind_frame_this_id): Ditto.
+ (ia64_libunwind_frame_prev_register): Ditto.
+ (ia64_libunwind_frame_sniffer): Ditto.
+ (ia64_gdbarch_init)[HAVE_LIBUNWIND_IA64_H]: Add libunwind frame
+ sniffer. Register libunwind functions needed by generic
+ libunwind frame code using libunwind_frame_set_descr().
+
+2003-11-16 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (re_enable_breakpoints_in_shlibs): Only re-enable a
+ bp_shlib_disabled breakpoint if there is a shared library mapped
+ at its expected address.
+
+2003-11-16 Andrew Cagney <cagney@redhat.com>
+
+ * configure.tgt: Delete mips*tx39*-elf*.
+ * config/mips/tm-tx39.h: Delete file.
+ * config/mips/tx39.mt: Delete file.
+ * config/mips/tx39.mt: Delete file.
+
+ * mips-tdep.h (deprecated_mips_set_processor_regs_hack): Declare.
+ * remote-mips.c (common_open): Instead of
+ "mips_read_register_type" and "mips_set_processor_type_command"
+ call "deprecated_mips_set_processor_regs_hack".
+ * config/mips/tm-mips.h (mips_read_processor_type): Delete
+ declaration.
+ (mips_set_processor_type_command): Delete declaration.
+ * mips-tdep.c (mips_gdbarch_init): Update comment.
+ (mips_dump_tdep): Do not print MIPS_REGISTER_NAMES.
+ (mips_set_processor_type): Delete function.
+ (NUM_MIPS_PROCESSOR_REGS): Define.
+ (mips_show_processor_type_command): Delete function.
+ (mips_set_processor_type_command): Delete function.
+ (tmp_mips_processor_type): Delete.
+ (mips_processor_type): Delete.
+ (mips_processor_type_table): Delete.
+ (mips_r3051_reg_names): Delete.
+ (mips_r3081_reg_names): Delete.
+ (mips_lsi33k_reg_names): Delete.
+ (mips_processor_reg_names): Delete.
+ (mips_read_processor_type): Delete function.
+ (deprecated_mips_set_processor_regs_hack): New function.
+ (struct gdbarch_tdep): Add member "mips_processor_reg_names".
+ (mips_register_name): Get the processor names from the tdep.
+ (mips_tx39_reg_names): New array.
+ (mips_generic_reg_names): Wire to a standard set of names.
+ (mips_gdbarch_init): Set "mips_processor_reg_names".
+ * config/mips/tm-irix5.h (MIPS_REGISTER_NAMES): Delete macro.
+ * config/mips/tm-mips.h (MIPS_REGISTER_NAMES): Delete macro.
+ * config/mips/tm-tx39.h (MIPS_REGISTER_NAMES): Delete macro.
+
+2003-11-16 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (struct gdbarch_tdep): Add field "regnum".
+ (mips_fpa0_regnum, mips_regnum): New function.
+ (mips_gdbarch_init): Fill in the "regnum" fields.
+ * mips-tdep.h (struct mips_regnum): Define.
+ (mips_regnum): Declare.
+ * config/mips/tm-mips.h (BADVADDR_REGNUM): Delete macro.
+ (LO_REGNUM, HI_REGNUM, BADVADDR_REGNUM): Ditto.
+ (CAUSE_REGNUM, PC_REGNUM, FP0_REGNUM): Ditto.
+ (FCRCS_REGNUM, FCRIR_REGNUM, FPA0_REGNUM): Ditto.
+ * config/mips/tm-irix6.h (FP0_REGNUM): Delete macro.
+ (PC_REGNUM, CAUSE_REGNUM, BADVADDR_REGNUM): Ditto.
+ (HI_REGNUM, LO_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): Ditto.
+ * config/mips/tm-irix5.h (FP0_REGNUM): Delete macro.
+ (PC_REGNUM, CAUSE_REGNUM, BADVADDR_REGNUM): Ditto.
+ (HI_REGNUM, LO_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): Ditto.
+ * remote-mips.c: Include "mips-tdep.h". Update.
+ * mipsnbsd-tdep.c: Update.
+ * mipsv4-nat.c: Update.
+ * mips-tdep.c: Update.
+ * mips-nat.c: Update.
+ * mips-linux-tdep.c: Update.
+ * mips-linux-nat.c: Update.
+ * irix5-nat.c: Update.
+ * dve3900-rom.c: Include "mips-tdep.h". Update.
+ (ignore_packet): Supress GCC warning.
+ * config/mips/nm-riscos.h: Update.
+
+2003-11-16 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c: Replace DEPRECATED_REGISTER_RAW_SIZE with
+ register_size.
+ (mips_register_raw_size): Delete function.
+ (mips_register_type): Handle "mips64_transfers_32bit_regs_p".
+ (mips_gdbarch_init): Do not set "deprecated_register_raw_size".
+ Check and set "mips64_transfers_32bit_regs_p".
+ (struct gdbarch_tdep): Add "mips64_transfers_32bit_regs_p".
+ (mips_register_convertible): Check the architecture's
+ "mips64_transfers_32bit_regs_p".
+ (set_mips64_transfers_32bit_regs): New function.
+ (_initialize_mips_tdep): Use "add_setshow_cmd" when adding the
+ "set remote-mips64-transfers-32bit-regs" command. Specify
+ set_mips64_transfers_32bit_regs as the set function.
+ * Makefile.in (dve3900-rom.o, remote-mips.o): Update dependencies.
+
+2003-11-16 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.h (i386_supply_gregset): Provide prototype.
+ * i386-tdep.c (i386_supply_gregset): Make public.
+
+2003-11-16 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (mips_register_byte): Delete function.
+ (mips_gdbarch_init): Do not set "deprecated_register_byte".
+ * config/mips/tm-mips.h (MIPS_REGISTER_BYTE): Delete macro.
+ * config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Delete macro.
+ * config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Delete macro.
+
+2003-11-16 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_extract_return_value): Don't use bfd_byte.
+
+2003-11-16 Andrew Cagney <cagney@redhat.com>
+
+ * config/mips/linux64.mt: Delete file.
+ * config/mips/tm-linux64.h: Delete file.
+ * config/mips/tm-mips64.h: Delete file.
+ * config/mips/embed64.mt: Delete file.
+ * config/djgpp/fnchange.lst: Update.
+ * configure.tgt: Delete explicit patterns for mipsisa64*-*-linux*,
+ mips64*-*-linux*, mips64*-*-*, and mipsisa64*-*-*.
+ * config/mips/tm-irix6.h: Update copyright. Include
+ "mips/tm-mips.h" instead of "mips/tm-mips64.h".
+ * mips-tdep.c (mips_dump_tdep): Do not print "OP_LDFPR" or
+ "OP_LDGPR".
+
+2003-11-15 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (mips_register_type): Simplify. Eliminate reference
+ to MIPS_REGISTER_TYPE. Make integer registers signed. Make IRIX
+ n32 registers 64 bit.
+ (mips_register_raw_size, mips_register_byte): For pseudo
+ registers, use the register's pseudo size and not the
+ corresponding raw register's size.
+ * config/mips/tm-mips64.h (MIPS_REGISTER_TYPE): Delete macro.
+ * config/mips/tm-mips.h (MIPS_REGISTER_TYPE): Delete macro.
+ * config/mips/tm-irix6.h: Don't #undef MIPS_REGISTER_TYPE.
+ * config/mips/tm-irix5.h (MIPS_REGISTER_TYPE): Delete macro.
+
+2003-11-15 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (struct gdbarch_tdep): Delete member
+ gdb_target_is_mips64.
+ (GDB_TARGET_IS_MIPS64): Delete macro.
+ (mips_gdbarch_init): Do not set tdep's gdb_target_is_mips64.
+ (mips_dump_tdep): Do not print GDB_TARGET_IS_MIPS64.
+ (mips_addr_bits_remove): Simplify.
+
+ * mips-tdep.c: Replace DEPRECATED_REGISTER_VIRTUAL_SIZE with
+ register_size.
+
+ Replace MIPS_REGSIZE with mips_regsize.
+ * mips-tdep.c (mips_regsize): New function.
+ * mips-tdep.h (mips_regsize): Declare.
+ * mipsnbsd-tdep.h (SIZEOF_STRUCT_FPREG): Update.
+ (SIZEOF_STRUCT_REG): Update.
+ * mipsnbsd-tdep.c (mipsnbsd_supply_reg): Update.
+ (mipsnbsd_fill_reg): Update.
+ (mipsnbsd_supply_fpreg): Update.
+ (mipsnbsd_fill_fpreg): Update.
+ (NBSD_MIPS_JB_ELEMENT_SIZE): Update.
+ * mips-tdep.c (mips_register_raw_size): Update.
+ (mips_register_type): Update.
+ (SIGFRAME_BASE): Update.
+ (SIGFRAME_PC_OFF): Update.
+ (SIGFRAME_REGSAVE_OFF): Update.
+ (SIGFRAME_FPREGSAVE_OFF): Update.
+ (SIGFRAME_REG_SIZE): Update.
+ (mips32_heuristic_proc_desc): Update.
+ (print_gp_register_row): Update.
+ (mips_dump_tdep): Do not print MIPS_REGSIZE.
+ * irix5-nat.c (supply_gregset): Update.
+ (fetch_core_registers): Update.
+ * config/mips/tm-mips64.h (MIPS_REGSIZE): Delete macro.
+ * config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Update.
+ * config/mips/tm-mips.h (MIPS_REGSIZE): Delete macro.
+ (MIPS_REGISTER_BYTE): Update.
+ * config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Update.
+
+2003-11-15 Andrew Cagney <cagney@redhat.com>
+
+ * config/sparc/tm-sparc.h (DEPRECATE_USE_REGISTER_NOT_ARG): Rename
+ USE_REGISTER_NOT_ARG.
+ * stabsread.c (define_symbol): Update.
+
+2003-11-15 Andrew Cagney <cagney@redhat.com>
+
+ * bcache.h (deprecated_bcache): Declare.
+ (bcache): Make returned buffer constant.
+ * bcache.c (deprecated_bcache): New function.
+ (bcache_data): New function.
+ (bcache): Call bcache data.
+ * symfile.c (add_psymbol_to_list): Use deprecated_bcache.
+ (add_psymbol_with_dem_name_to_list): Ditto.
+
+2003-11-15 Mark Kettenis <kettenis@gnu.org>
+
+ * glibc-tdep.h (struct gdbarch): Declare opaque.
+ (glibc_skip_solib_resolver): Adjust prototype.
+ * glibc-tdep.c (glibc_skip_solib_resolver): Adjust.
+ * arm-linux-tdep.c (arm_linux_skip_solib_resolver): Remove.
+ (arm_linux_init_abi): Set skip_solib_resolver.
+ * i386-linux-tdep.c (i386_linux_skip_solib_resolver): Remove.
+ (i386_linux_init_abi): Set skip_solib_resolver.
+ * config/arm/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove.
+ (arm_linux_skip_solib_resolver): Remove prototype.
+ * config/i386/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove.
+ (i386_linux_skip_solib_resolver): Remove prototype.
+
+2003-11-14 Mark Kettenis <kettenis@gnu.org>
+
+ * gdbarch.sh (skip_solib_resolver): Change into a multi-arch
+ function.
+ * gdbarch.c, gdbarch.h: Regenerate.
+ * infrun.c (handle_inferior_event): Call
+ gdbarch_skip_solib_resolver instead of SKIP_SOLIB_RESOLVER.
+ * arch-utils.c (generic_in_solib_call_trampoline): Adjust function
+ definition.
+ * arch-utils.h (generic_in_solib_call_trampoline): Adjust function
+ prototype.
+
+2003-11-14 Jeff Johnston <jjohnstn@redhat.com>
+
+ * libunwind-frame.c: New file.
+ * libunwind-frame.h: New file.
+ * acconfig.h (HAVE_LIBUNWIND): #undef reference added.
+ * configure.in: Add --with-libunwind option support. Define
+ HAVE_LIBUNWIND if libunwind support selected / defaulted.
+ Also check for libunwind.h and libunwind-ia64.h headers.
+ * configure: Regenerated.
+ * Makefile.in: Add support for libunwind-frame.o.
+ * config.in: Regenerated.
+
+2003-11-14 Jeff Johnston <jjohnstn@redhat.com>
+
+ * config/ia64/nm-linux.h (NATIVE_XFER_UNWIND_TABLE): New macro to
+ set up the ia64 linux native target method for getting the kernel
+ unwind table.
+ * ia64-linux-nat.c (ia64_linux_xfer_unwind_table): New function.
+ * inftarg.c (child_xfer_partial): Enable section of code to
+ handle TARGET_OBJECT_UNWIND_TABLE.
+ * target.h (target_object): Add new TARGET_OBJECT_UNWIND_TABLE macro.
+
+2003-11-14 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * config/arm/nbsd.mt (TM_FILE): Define.
+ * config/arm/tm-nbsd.h: New file.
+
+2003-11-14 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (ppc-sysv-tdep.o): Update dependencies.
+ * ppc-sysv-tdep.c: Include "objfiles.h".
+ (ppc64_sysv_abi_push_dummy_call): Provide the
+ the FN's objfile when looking for the descriptor.
+
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Set PPC64's
+ "name_of_malloc" to ".malloc".
+
+2003-11-13 Mark Kettenis <kettenis@gnu.org>
+
+ * config/i386/x86-64linux.mt (TDEPFILES): Add glibc-tdep.o.
+
+2003-11-13 David Carlton <carlton@kealia.com>
+
+ * cp-namespace.c (lookup_namespace_scope): Fix typo in comment.
+
+2003-11-13 Andrew Cagney <cagney@redhat.com>
+
+ * arch-utils.h (selected_architecture_name): Declare.
+ (selected_byte_order): Declare.
+ * arch-utils.c (selected_byte_order): New function.
+ (selected_architecture_name): New function.
+ (target_architecture_auto): Make static.
+ (set_architecture_string): Make static.
+ (target_byte_order): Make static.
+ (target_byte_order_auto): Make static.
+ * gdbarch.sh (TARGET_BYTE_ORDER, TARGET_ARCHITECTURE): Delete
+ non-multi-arch definition.
+ (TARGET_ARCHITECTURE_AUTO, TARGET_BYTE_ORDER_AUTO): Delete.
+ (target_byte_order, target_architecture): Delete declaration.
+ (target_byte_order_auto, target_architecture_auto): Ditto.
+ * gdbarch.h: Re-generate.
+ * remote-sim.c (gdbsim_open): Use "selected_architecture_name" and
+ "selected_byte_order".
+
+2003-11-13 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-linux-tdep.c (ppc_linux_return_value): Fix parameter order.
+
+2003-11-13 Jim Blandy <jimb@redhat.com>
+
+ * cp-namespace.c: Doc fix.
+
+2003-11-12 Michael Snyder <msnyder@redhat.com>
+
+ * sh64_tdep.c: Regularize some names.
+ (sh_sh64_register_name): Rename to sh64_register_name.
+ (sh_sh64_breakpoint_from_pc): Rename to sh64_breakpoint_from_pc.
+ (sh_sh64_register_byte): Rename to sh64_register_byte.
+ (sh_sh64_build_float_register_type):
+ Rename to sh64_build_float_register_type.
+ (sh_sh64_register_convert_to_virtual):
+ Rename to sh64_register_convert_to_virtual.
+ (sh_sh64_register_convert_to_raw):
+ Rename to sh64_register_convert_to_raw.
+
+ * sh64-tdep.c (translate_insn_rn, is_media_pseudo,
+ sh64_media_reg_base_num, sh64_compact_reg_base_num,
+ sh64_nofp_frame_init_saved_regs, sh64_push_arguments,
+ sh64_extract_return_value, sh64_show_media_regs,
+ sh64_show_compact_regs, sh_sh64_register_byte, sh64_register_type,
+ sh_sh64_register_convert_to_virtual, sh_sh64_register_convert_to_raw,
+ sh64_pseudo_register_read, sh64_pseudo_register_write,
+ sh64_do_pseudo_register, sh_compact_print_registers_info):
+ Delete unused variable 'tdep'.
+
+ * sh64-tdep.c: Coding standard and spelling comment fixes.
+ (sh64_extract_return_value): Replace deprecated_store_floating
+ with store_typed_floating.
+ (sh_sh64_register_convert_to_raw): Replace
+ deprecated_store_floating with store_typed_floating.
+ (sh_sh64_register_virtual_type): Convert to sh64_register_type.
+ (sh64_frame_chain, sh64_get_saved_pr, sh64_get_saved_register,
+ sh64_nofp_frame_init_saved_regs, sh64_push_arguments,
+ sh64_extract_struct_value_address, sh64_pop_frame,
+ sh64_extract_return_value, sh64_store_return_value,
+ sh_sh64_register_convert_to_virtual, sh64_pseudo_register_read,
+ sh_sh64_register_convert_to_raw, sh_pseudo_register_write):
+ Replace DEPRECATED_REGISTER_RAW_SIZE with register_size.
+ Replace DEPRECATED_REGISTER_VIRTUAL_TYPE with register_type.
+ (sh64_gdbarch_init): Don't set deprecated_register_bytes,
+ deprecated_register_virtual_type, deprecated_register_raw_size,
+ deprecated_max_register_raw_size, or
+ deprecated_max_register_virtual_size. Instead, just set
+ gdbarch_register_type.
+ (sh_sh64_register_raw_size): Delete.
+ (sh_sh64_register_virtual_size): Delete.
+
+2003-11-12 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2read.c (struct dwarf2_cu): New type.
+
+ (dwarf2_build_psymtabs_hard, psymtab_to_symtab_1): Create a
+ dwarf2_cu structure to pass down.
+
+ (scan_partial_symbols, add_partial_symbol, add_partial_namespace)
+ (add_partial_enumeration, locate_pdi_sibling, process_die)
+ (read_file_scope, read_func_scope)
+ (read_lexical_block_scope, dwarf2_get_pc_bounds)
+ (dwarf2_add_field, dwarf2_attach_fields_to_type)
+ (dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type)
+ (read_structure_scope, read_enumeration, read_array_type)
+ (read_common_block, read_namespace, read_tag_pointer_type)
+ (read_tag_ptr_to_member_type, read_tag_reference_type)
+ (read_tag_const_type, read_tag_volatile_type, read_tag_string_type)
+ (read_subroutine_type, read_typedef, read_base_type, read_comp_unit)
+ (read_die_and_children, read_die_and_siblings, dwarf2_read_section)
+ (dwarf2_read_abbrevs, dwarf2_lookup_abbrev, read_partial_die)
+ (read_full_die. read_attribute_value, read_attribute)
+ (read_address, dwarf_decode_line_header, dwarf_decode_lines)
+ (var_decode_location, new_symbol, dwarf2_const_value, die_type)
+ (die_containing_type, type_at_offset, tag_type_to_type)
+ (read_type_die, dwarf_base_type, decode_locdesc, dwarf_decode_macros)
+ (dwarf2_symbol_mark_computed): Accept and use a dwarf2_cu object.
+
+2003-11-12 Daniel Jacobowitz <drow@mvista.com>
+
+ PR breakpoints/1450
+ * breakpoint.c (insert_bp_location): Fix a logic error by returning
+ 0 after a catchpoint fails.
+
+2003-11-11 Michael Chastain <mec.gnu@mindspring.com>
+
+ * mips-tdep.c (msymbol_size): Delete.
+
+2003-11-07 Michael Chastain <mec@shout.net>
+
+ * symtab.h (struct minimal_symbol): Add size.
+ * dbxread.c: Use it.
+ * elfread.c: (record_minimal_symbol_and_info): Do not use info.
+ Rename to record_minimal_symbol.
+ (elf_symtab_read): Set MSYMBOL_SIZE explicitly.
+ * minsyms.c (prim_record_minimal_symbol_and_info): Initialize MSYMBOL_SIZE.
+ (install_minimal_symbols): Ditto.
+ * objfiles.c (terminate_minimal_symbol_table): Ditto.
+ * arm-tdep.c: Delete unused MSYMBOL_SIZE.
+ * m68hc11-tdep.c: Ditto.
+ * mips-tdep.c: Ditto.
+ * sh64-tdep.c: Ditto.
+
+2003-11-10 Michael Chastain <mec.gnu@mindspring.com>
+
+ * MAINTAINERS: Change my e-mail address.
+
+2003-11-10 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (return_value): Replace "inval" and "outval" with
+ "readbuf" and "writebuf".
+ * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto.
+ * d10v-tdep.c (d10v_return_value): Ditto.
+ * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto.
+ (ppc_sysv_abi_broken_return_value): Ditto.
+ (ppc64_sysv_abi_return_value): Ditto.
+ * ppc-sysv-tdep.c (do_ppc_sysv_return_value): Ditto.
+ (ppc_sysv_abi_return_value): Ditto.
+ (ppc_sysv_abi_broken_return_value): Ditto.
+ (ppc64_sysv_abi_return_value): Ditto.
+ * values.c (register_value_being_returned): Update call.
+ * stack.c (return_command): Update call.
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+ * target.h (struct target_ops): Order xfer buffer parameters "read
+ write" not "write read".
+ * bfd-target.c (target_bfd_xfer_partial): Update.
+ * remote.c (remote_xfer_partial): Update.
+ * inftarg.c (child_xfer_partial): Update.
+ * target.c (default_xfer_partial): Update.
+ (target_read_partial, target_write_partial): Update.
+ (debug_to_xfer_partial): Update.
+
+ * arch-utils.h, arch-utils.c: Fix typo in comment.
+
+ * arch-utils.c (deprecated_select_gdbarch_hack): Delete function.
+ (gdbarch_from_bfd): Call gdbarch_find_by_info.
+ (set_gdbarch_from_file): Call
+ "deprecated_current_gdbarch_select_hack".
+
+2003-11-09 Andrew Cagney <cagney@redhat.com>
+
+ * arch-utils.c (gdbarch_update_p): New function.
+ * gdbarch.sh (gdbarch_update_p): Delete function.
+ (find_arch_by_info, gdbarch_find_by_info): New functions.
+ (deprecated_current_gdbarch_select_hack): New function.
+ * gdbarch.c: Re-generate.
+
+ * gdbarch.sh (clear_gdbarch_swap): Delete function.
+ (swapout_gdbarch_swap): Delete function.
+ (swapin_gdbarch_swap): Delete function.
+ (init_gdbarch_swap): Delete function.
+ (initialize_non_multiarch): Delete function.
+ (current_gdbarch_swap_in_hack): New function.
+ (current_gdbarch_swap_out_hack): New function.
+ (current_gdbarch_swap_init_hack): New function.
+ * gdbarch.c: Re-generate.
+
+ * gdbarch.sh (verify_gdbarch, gdbarch_dump): Rename "gdbarch"
+ parameter to "current_gdbarch". Add comment explaining why.
+ (TARGET_FLOAT_FORMAT: Pass "current_gdbarch" to default_double_format.
+ (TARGET_DOUBLE_FORMAT,TARGET_LONG_DOUBLE_FORMAT): Ditto.
+ * gdbarch.c: Re-generate.
+
+ * config/s390/s390.mh (XM_FILE, XM_CLIBS): Delete macros.
+ * config/s390/nm-linux.h (KERNEL_U_ADDR): Define.
+ * config/s390/xm-linux.h: Delete file.
+ * config/m88k/xm-delta88v4.h: Delete stray.
+
+ * Makefile.in (arch-utils.o): Update dependencies.
+ * arch-utils.c: Include "osabi.h".
+ (gdbarch_info_fill): New function.
+ * arch-utils.h (gdbarch_info_fill): Declare.
+ * gdbarch.sh (gdbarch_update_p): Call "gdbarch_info_fill".
+ * gdbarch.c: Re-generate.
+
+2003-11-09 Mark Kettenis <kettenis@gnu.org>
+ David S. Miller <davem@redhat.com>
+
+ * glibc-tdep.c, glibc-tdep.h: New files.
+ * config/arm/linux.mt (TDEPFILES): Add glibc-tdep.o
+ * config/i386/linux.mt (TDEPFILES): Likewise.
+ * i386-linux-tdep.c (glibc-tdep.h): Include.
+ (find_minsym_and_objfile, skip_hurd_resolver): Delete.
+ (i386_linux_skip_solib_resolver): Call glibc_skip_solib_resolver.
+ * arm-linux-tdep.c (glibc-tdep.h): Include.
+ (find_minsym_and_objfile, skip_hurd_resolver): Delete.
+ (arm_linux_skip_solib_resolver): Call glibc_skip_solib_resolver.
+ * Makefile.in (ALLDEPFILES): Add glibc-tdep.c
+ (glibc_tdep_h): Define.
+ (glibc-tdep.o): Add dependencies.
+ (arm-linux-tdep.o): Update dependencies.
+ (i386-linux-tdep.o): Likewise.
+
+2003-11-09 Andrew Cagney <cagney@redhat.com>
+
+ * config/mips/irix6.mh (NAT_FILE): Set to "nm-irix5.h".
+ * config/mips/nm-irix6.h: Delete file.
+ * config/mips/nm-linux.h: Update copyright.
+ (MIPS_GNULINUX_TARGET): Delete macro.
+ * config/mips/irix6.mh (XM_FILE): Set to "xm-irix5.h".
+ * config/mips/xm-irix6.h: Delete file.
+ * config/mips/linux.mh (XM_FILE): Delete definition.
+ * config/mips/xm-linux.h: Delete file.
+
+2003-11-09 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (d10v_return_value): New function.
+ (d10v_use_struct_convention): Delete function.
+ (d10v_store_return_value): Delete function.
+ (d10v_extract_struct_value_address): Delete function.
+ (d10v_gdbarch_init): Set "return_value" instead of
+ "extract_return_value", "store_return_value",
+ "extract_struct_value_address", and "use_struct_convention".
+ (RET1_REGNUM): Delete const.
+
+2003-11-09 Mark Kettenis <kettenis@gnu.org>
+
+ From David S. Miller <davem@redhat.com>:
+ * gdbarch.sh (SKIP_SOLIB_RESOLVER): New method.
+ * gdbarch.c, gdbarch.h: Regenerated.
+ * arch-utils.c (generic_skip_solib_resolver): New function.
+ * arch-utils.h (generic_skip_solib_resolver): New prototype.
+ * infrun.c (SKIP_SOLIB_RESOLVER): Don't define.
+
+2003-11-07 Andrew Cagney <cagney@redhat.com>
+
+ * top.c (print_gdb_version): Replace STREQ with strcmp.
+ * valops.c (value_struct_elt_for_reference): Ditto.
+ (value_struct_elt_for_reference): Ditto.
+ * symtab.c (gdb_mangle_name): Ditto.
+ (find_line_symtab): Ditto.
+ * symmisc.c (maintenance_print_symbols): Ditto.
+ * symfile.c (symbol_file_command): Ditto.
+ * stabsread.c (define_symbol, read_type): Ditto.
+ (cleanup_undefined_types, scan_file_globals): Ditto.
+ * solib.c (solib_map_sections): Ditto.
+ * solib-svr4.c (bfd_lookup_symbol): Ditto.
+ * rs6000-tdep.c (skip_prologue): Ditto.
+ * p-valprint.c (pascal_value_print): Ditto.
+ (pascal_object_is_vtbl_ptr_type): Ditto.
+ * objfiles.c (in_plt_section): Ditto.
+ * minsyms.c (lookup_minimal_symbol): Ditto.
+ (compact_minimal_symbols): Ditto.
+ (find_solib_trampoline_target): Ditto.
+ * mdebugread.c (parse_type): Ditto.
+ * language.c (set_language_command): Ditto.
+ (set_type_command, set_range_command): Ditto.
+ * f-lang.c (add_common_block): Ditto.
+ (add_common_block): Ditto.
+ (find_first_common_named): Ditto.
+ (patch_all_commons_by_name): Ditto.
+ * elfread.c (elf_locate_sections): Ditto.
+ (elf_locate_sections): Ditto.
+ (elfstab_offset_sections): Ditto.
+ * dwarf2read.c (dwarf2_locate_sections): Ditto.
+ * dbxread.c (add_old_header_file): Ditto.
+ (find_corresponding_bincl_psymtab): Ditto.
+ (read_dbx_symtab, process_one_symbol): Ditto.
+ * coffread.c (patch_opaque_types): Ditto.
+ * cli/cli-decode.c (delete_cmd): Ditto.
+ * cli/cli-cmds.c (pwd_command, list_command): Ditto.
+ * c-typeprint.c (c_type_print_base): Ditto.
+ * breakpoint.c (bpstat_stop_status): Ditto.
+ (clear_command, breakpoint_re_set_one): Ditto.
+
+2003-11-07 Andrew Cagney <cagney@redhat.com>
+
+ * bcache.h: Update copyright. Add comments on bcache VS hashtab.
+ * bcache.c (struct bstring): Make "length" an unsigned short, add
+ "half_hash".
+ (struct bcache): Add "half_hash_error_count".
+ (bcache): Compute and save the "half_hash". Compare the
+ "half_hash" before comparing the length. Update
+ half_hash_error_count.
+
+2003-11-07 Andrew Cagney <cagney@redhat.com>
+
+ * inftarg.c (child_xfer_partial): New function
+ (init_child_ops): Set "to_xfer_partial".
+
+2003-11-07 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux,
+ set "return_value" instead of "use_struct_convention".
+ (ppc_linux_use_struct_convention): Delete function.
+ (ppc_linux_return_value): New function.
+ * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): New function.
+ (ppc_sysv_abi_broken_return_value): New function.
+ (do_ppc_sysv_return_value): Add "gdbarch" parameter.
+ (ppc64_sysv_abi_push_dummy_call): Add "gdbarch" parameter, drop
+ static.
+ (ppc_sysv_abi_extract_return_value): Delete function.
+ (ppc_sysv_abi_broken_extract_return_value): Delete function.
+ (ppc_sysv_abi_store_return_value): Delete function.
+ (ppc_sysv_abi_broken_store_return_value): Delete function.
+ (ppc_sysv_abi_use_struct_convention): Delete function.
+ (ppc64_sysv_abi_use_struct_convention): Delete function.
+ (ppc64_sysv_abi_extract_return_value): Delete function.
+ (ppc64_sysv_abi_store_return_value): Delete function.
+ * ppcnbsd-tdep.c (ppcnbsd_return_value): New function.
+ (ppcnbsd_init_abi): Set "return_value", instead of
+ "use_struct_convention", "extract_return_value", and
+ "store_return_value".
+ (ppcnbsd_use_struct_convention): Delete function.
+ * ppc-tdep.h (ppc64_sysv_abi_return_value): Declare.
+ (ppc_sysv_abi_return_value): Declare.
+ (ppc_sysv_abi_broken_return_value): Declare.
+ (ppc_sysv_abi_use_struct_convention): Delete.
+ (ppc_sysv_abi_store_return_value): Delete.
+ (ppc_sysv_abi_extract_return_value): Delete.
+ (ppc_sysv_abi_broken_store_return_value): Delete.
+ (ppc_sysv_abi_broken_extract_return_value): Delete.
+ (ppc64_sysv_abi_use_struct_convention): Delete.
+ (ppc64_sysv_abi_extract_return_value): Delete.
+ (ppc64_sysv_abi_store_return_value): Delete.
+ * rs6000-tdep.c (rs6000_gdbarch_init): For 32-bit and 64-bit SYSV,
+ set "return_value" instead of "extract_return_value",
+ "store_return_value", and "use_struct_convention".
+
+2003-11-07 Mark Kettenis <kettenis@gnu.org>
+
+ * dwarf2-frame.c (dwarf2_build_frame_info): Wrap comment.
+
+ * fbsd-proc.c (read_mapping): Use sscanf and fgets instead of
+ fscanf.
+
+2003-11-07 Mark Kettenis <kettenis@gnu.org>
+
+ * fbsd-proc.c: Fix formatting.
+
+2003-11-06 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (first_pseudo_regnum, iacc0_regnum, frv_num_pseudo_regs):
+ Define.
+ (new_variant): Set name for iacc0_regnum.
+ (frv_register_name): Accommodate pseudo-registers.
+ (frv_register_type): Add case for iacc0_regnum.
+ (frv_pseudo_register_read, frv_pseudo_register_write): New functions.
+ (frv_gdbarch_init): Set number of pseudo registers. Establish
+ pseudo-register read/write methods.
+
+2003-11-06 Andrew Cagney <cagney@redhat.com>
+
+ * valops.c (destructor_name_p): Replace STREQN with strncmp.
+ * top.c (command_line_input): Ditto.
+ * objc-exp.y (yylex): Ditto.
+ * minsyms.c (prim_record_minimal_symbol_and_info): Ditto.
+ * jv-exp.y (yylex): Ditto.
+ * f-exp.y (yylex): Ditto.
+ * event-top.c (command_line_handler): Ditto.
+ * environ.c (get_in_environ): Ditto.
+ (set_in_environ): Ditto.
+ * dwarfread.c (handle_producer): Ditto.
+ * dbxread.c (process_one_symbol): Ditto.
+ * c-typeprint.c (c_type_print_base): Ditto.
+ * c-exp.y (yylex): Ditto.
+
+2003-11-06 Andrew Cagney <cagney@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * target.c (add_target): Only set "to_xfer_partial" when NULL.
+ (init_dummy_target): Set "to_xfer_partial".
+
+2003-11-06 Andrew Cagney <cagney@redhat.com>
+
+ * stack.c (return_command): Warn when STRUCT_CONVENTION, and not
+ REGISTER_CONVENTION.
+
+2003-11-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (insert_bp_location, allocate_bp_location): Make
+ static.
+
+2003-11-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (remove_breakpoint): Take an bp_location
+ instead of a breakpoint argument. Check the bp_location's type.
+ Fix a reversed condition for hardware breakpoints.
+
+ (insert_bp_location): Update call to remove_breakpoint.
+ (remove_breakpoints): Likewise. Use ALL_BP_LOCATIONS.
+ (remove_hw_watchpoints): Likewise.
+ (reattach_breakpoints): Likewise.
+ (detach_breakpoints): Likewise.
+ (delete_breakpoint): Likewise.
+
+2003-11-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (mark_breakpoints_out): Use ALL_BP_LOCATIONS.
+ (beakpoint_init_inferior): Likewise.
+ (breakpoint_here_p): Likewise. Only check addresses for software
+ or hardware breakpoints.
+ (breakpoint_inserted_here_p): Likewise.
+ (breakpoint_thread_match): Likewise. Correct comment.
+ (bpstat_have_active_hw_watchpoints): Likewise.
+ (check_duplicates): Likewise.
+
+2003-11-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoints.c (insert_bp_location): New function, broken out
+ from insert_breakpoints. Work on an bp_location instead of a
+ breakpoint.
+ (insert_breakpoints): Use it.
+
+2003-11-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.h (struct bp_location): Add section.
+ (struct breakpoint): Remove section.
+ * breakpoint.c (insert_breakpoints, remove_breakpoint)
+ (breakpoint_here_p, breakpoint_inserted_here_p)
+ (breakpoint_thread_match, bpstat_stop_status, print_one_breakpoint)
+ (describe_other_breakpoints, check_duplicates, set_raw_breakpoint)
+ (clear_command, delete_breakpoint, breakpoint_re_set_one): Access
+ section through loc.
+
+2003-11-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (read_memory_nobpt): Use ALL_BP_LOCATIONS
+ instead of ALL_BREAKPOINTS. Check for software breakpoints only.
+
+2003-11-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (allocate_bp_location): Take bpt and bp_type
+ arguments. Initialize owner and type for the new breakpoint
+ location item.
+ (set_raw_breakpoint): Update call to allocate_bp_location.
+
+2003-11-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.h (struct bp_location): Add a chain pointer.
+ * breakpoint.c (ALL_BP_LOCATIONS, ALL_BP_LOCATIONS_SAFE): New
+ macros.
+ (bp_location_chain): New variable.
+ (allocate_bp_location): New function.
+ (set_raw_breakpoint): Use it.
+ (delete_breakpoint): Remove ->loc from the bp_location_chain.
+
+2003-11-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.h (enum bp_loc_type, struct bp_location): New.
+ (struct breakpoint): Remove address, shadow_contents, inserted,
+ requested_address, and duplicate. Add a struct bp_location.
+ * breakpoint.c (condition_command, read_memory_nobpt)
+ (insert_breakpoints, remove_breakpoints, remove_hw_watchpoints)
+ (reattach_breakpoints, update_breakpoints_after_exec)
+ (detach_breakpoints, remove_breakpoint, mark_breakpoints_out)
+ (breakpoint_init_inferior, breakpoint_here_p)
+ (breakpoint_inserted_here_p, deprecated_frame_in_dummy)
+ (breakpoint_thread_match, bpstat_stop_status)
+ (bpstat_have_active_hw_watchpoints, print_one_breakpoint)
+ (describe_other_breakpoints, check_duplicates)
+ (make_breakpoint_permanent, create_thread_event_breakpoint)
+ (disable_breakpoints_in_shlibs, re_enable_berakpoints_in_shlibs)
+ (set_longjmp_resume_breakpoint, mention, create_breakpoints)
+ (watch_command_1, print_one_exception_catchpoint)
+ (clear_command, breakpoint_re_set_one): Adjust member accesses to
+ use the breakpoint's ->loc.
+ (set_raw_breakpoint): Likewise. Initialize ->loc.
+ (delete_breakpoint): Likewise. Free ->loc.
+
+2003-11-05 Andrew Cagney <cagney@redhat.com>
+
+ * config/sparc/tm-sparc.h (FRAME_STRUCT_ARGS_ADDRESS): Delete
+ macro.
+ * config/m68k/tm-sun3.h (SIG_PC_FP_OFFSET): Delete macro.
+ * config/i386/tm-cygwin.h
+ (LINKER_SYMBOLS_HAVE_WIN32_STDCALL_ARG_SIZES): Delete macro.
+ * config/powerpc/tm-linux.h
+ (AT_SUBROUTINE_CALL_INSTRUCTION_TARGET): Delete macro.
+ (at_subroutine_call_instruction_target): Delete declaration.
+ * config/sparc/tm-sp64linux.h (GDB_PTRACE_REGS64): Delete macro.
+ * config/m68k/tm-sun3.h (SIG_SP_FP_OFFSET): Delete macro.
+ * config/ns32k/tm-ns32k.h (NUM_GENERAL_REGS): Delete macro.
+
+ * xcoffread.c (find_linenos): Replace "sec_ptr" and "bfd" with
+ "struct bfd_section" and "struct bfd".
+ * target.h (struct section_table): Ditto.
+ * rs6000-nat.c (xcoff_relocate_core): Ditto.
+ * solib-svr4.c (elf_locate_base): Ditto.
+ * pa64solib.c (dld_cache_t): Ditto.
+ * objfiles.h (struct obj_section): Ditto.
+ * objfiles.c (add_to_objfile_sections): Ditto.
+ * exec.c (bfdsec_to_vmap): Ditto.
+ (add_to_section_table): Ditto.
+ (build_section_table): Ditto.
+ * corelow.c (get_core_register_section): Ditto.
+ * coffread.c (find_linenos): Ditto.
+ * elfread.c (elf_interpreter): Delete #if0'd function.
+
+ * mips-tdep.c (mips_dump_tdep): Delete code prinint VX_NUM_REGS.
+ * config/sparc/tm-vxsparc.h (VX_NUM_REGS): Delete macro.
+ * config/mips/tm-vxmips.h (VX_NUM_REGS): Delete macro.
+ * config/m68k/tm-vx68.h (VX_NUM_REGS): Delete macro.
+
+ * arch-utils.h (generic_cannot_extract_struct_value_address):
+ Delete declaration.
+ * wince.c (_initialize_wince): Fix multi-line string.
+ * ia64-tdep.c (floatformat_valid): Convert to ISO C.
+
+2003-11-05 Elena Zannoni <ezannoni@redhat.com>
+
+ * top.c (execute_command): Fix broken logic for command execution
+ while inferior is running in async mode.
+
+2003-11-06 Mark Kettenis <kettenis@gnu.org>
+
+ * dwarf2-frame.c (execute_cfa_program): Mark register as
+ REG_SAVED_REG for DW_CFA_register opcode.
+
+2003-11-05 Mark Kettenis <kettenis@gnu.org>
+
+ * amd64fbsd-tdep.c (amd64fbsd_sc_reg_offset): Adjust offset of
+ %rsp, %rip and %eflags to match ABI-change.
+
+2003-11-05 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-tdep.c (struct gdbarch_tdep): Remove os_ident field.
+ (ia64_gdbarch_init): Don't bother calculating the os.
+ Instead use the gdbarch_info struct and look at the osabi field.
+ Also use gdbarch_list_lookup_by_info() to look for a
+ candidate gdbarch.
+
+2003-11-05 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (frv_register_byte): Delete.
+ (frv_extract_return_value, frv_store_return_value)
+ (frv_extract_struct_value_address): Don't call frv_register_byte().
+ Convert to non-deprecated form.
+ (frv_gdbarch_init): Don't call set_gdbarch_deprecated_register_byte().
+ Convert calls to set_gdbarch_deprecated_extract_return_value(),
+ set_gdbarch_deprecated_store_return_value(), and
+ set_gdbarch_deprecated_extract_struct_value_address() into
+ non-deprecated forms.
+
+2003-11-05 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (mips_dump_tdep): Do not print
+ PRINT_EXTRA_FRAME_INFO.
+ * config/sparc/tm-sparc.h (DEPRECATED_PRINT_EXTRA_FRAME_INFO):
+ Rename PRINT_EXTRA_FRAME_INFO.
+ * mips-tdep.c (mips_print_extra_frame_info): Delete function.
+ * config/mips/tm-mips.h (PRINT_EXTRA_FRAME_INFO): Delete macro.
+ (mips_print_extra_frame_info): Delete declaration.
+ * stack.c (frame_info): Use DEPRECATED_PRINT_EXTRA_FRAME_INFO.
+
+2003-11-05 Elena Zannoni <ezannoni@redhat.com>
+
+ * coffread.c (coff_symtab_read): Remove passing of info parameter
+ to prim_record_minimal_symbol_and_info.
+
+2003-11-05 Elena Zannoni <ezannoni@redhat.com>
+
+ * coffread.c (process_coff_symbol): Delete CXUX_TARGET macro use.
+ (decode_base_type): Delete ifdeffed out code.
+
+2003-11-04 Andrew Cagney <cagney@redhat.com>
+
+ * symtab.c (find_active_alias): Delete function.
+ (lookup_block_symbol): Delete alias code.
+ * stabsread.c (resolve_live_range): Delete function.
+ (add_live_range): Delete function.
+ (resolve_symbol_reference): Delete function.
+ (define_symbol): Delete live range and alias code.
+ (scan_file_globals): Delete alias code.
+ * symtab.h (SYMBOL_RANGES): Delete macro.
+ (struct range_list): Delete structure.
+ (struct symbol): Delete field "ranges".
+ (SYMBOL_ALIASES): Delete macro.
+ (struct alias_list): Delete structure.
+ (struct symbol): Delete field "aliases".
+
+2003-11-04 Michael Snyder <msnyder@redhat.com>
+
+ * MAINTAINERS: Remove myself as owner of breakpoints and
+ of sparc/solaris.
+
+2003-11-03 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (sh_sh4_nofpu_register_name): New function.
+ (sh_sh4al_dsp_register_name): Ditto.
+ (sh4_nofpu_show_regs): Ditto.
+ (sh_gdbarch_init): Add cases for bfd_mach_sh4al_dsp, bfd_mach_sh4a,
+ bfd_mach_sh4_nofpu and bfd_mach_sh4a_nofpu.
+
+2003-11-03 Andrew Cagney <cagney@redhat.com>
+
+ * bcache.c: Include "gdb_assert.h".
+ (struct bcache): Add fields "expand_count" and
+ "expand_hash_count".
+ (expand_hash_table): Update the expand counts.
+ (print_bcache_statistics): Use XCALLOC, not alloca. Print stats
+ on object sizes and hashes.
+ * Makefile.in (bcache.o): Update dependencies.
+
+2003-11-03 Andrew Cagney <cagney@redhat.com>
+
+ * exec.c (xfer_memory): Eliminate xfer_fn.
+
+2003-10-31 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (gdb_assert.h, sim-regno.h, gdb/sim-frv.h)
+ (opcodes/frv-desc.h): Include.
+ (iacc0h_regnum, iacc0l_regnum): Define.
+ (last_spr_regnum, frv_num_regs): Update.
+ (new_variant): Don't supply default names for holes in the SPRs.
+ Supply names for iacc0h_regnum and iacc0l_regnum.
+ (frv_register_type): Use symbolic constants first_fpr_regnum and
+ last_fpr_regnum instead of hardcoded constants 64 and 127. Use
+ builtin_type_int instead of builtin_type_int32.
+ (frv_register_sim_regno): New function.
+ (frv_gdbarch_init): Call set_gdbarch_register_sim_regno().
+ * Makefile.in (gdb_sim_frv_h): Define.
+ (frv-tdep.o): Update dependencies.
+
+2003-10-31 Andrew Cagney <cagney@redhat.com>
+
+ * avr-tdep.c (avr_frame_this_id): Do not call
+ deprecated_inside_entry_file.
+ * m68hc11-tdep.c (m68hc11_frame_this_id): Ditto.
+ * m32r-tdep.c (m32r_frame_this_id): Ditto.
+ * d10v-tdep.c (d10v_frame_this_id): Ditto.
+ * arm-tdep.c (arm_prologue_this_id): Ditto.
+ * alpha-tdep.c (alpha_heuristic_frame_this_id): Ditto.
+
+2003-10-31 Jim Blandy <jimb@redhat.com>
+
+ * elfread.c (elf_symtab_read): Allocate correct number of tail
+ elements to sectinfo structure. (Fix from Woody LaRue.)
+
+2003-10-31 Andrew Cagney <cagney@redhat.com>
+
+ * stack.c (return_command): Use get_frame_type, instead of
+ CALL_DUMMY_HAS_COMPLETED.
+ * inferior.h (CALL_DUMMY_HAS_COMPLETED): Delete definition.
+ * config/pa/tm-hppa.h (CALL_DUMMY_HAS_COMPLETED): Delete macro.
+
+2003-10-31 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-linux-tdep.c (x86_64_linux_sc_reg_offset): Don't
+ explicitly specify size of array.
+ (x86_64_linux_init_abi): Use ARRAY_SIZE to initialize
+ TDEP->sc_num_regs.
+
+2003-10-31 Andrew Cagney <cagney@redhat.com>
+
+ * s390-tdep.c (s390_cannot_extract_struct_value_address): New
+ function.
+ (s390_gdbarch_init): Set extract_struct_value_address.
+ * arch-utils.c (generic_cannot_extract_struct_value_address):
+ Delete function.
+ * arch-utils.h (generic_cannot_extract_struct_value_address):
+ Delete definition.
+
+2003-10-31 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-linux-nat.c (fetch_core_registers): Remove.
+ (linux_elf_core_fns): Remove.
+ (_initialize_i386_linux_nat): Remove.
+
+2003-10-31 Andrew Cagney <cagney@redhat.com>
+
+ * solib-svr4.c: Update copyright. Include "bfd-target.h" and
+ "exec.h".
+ (exec_entry_point): New function.
+ (enable_break): Create a "tmp_bfd_target", use that and
+ entry_point_address when computing the relocation offset.
+ (svr4_relocate_main_executable): Ditto with exec_bfd and exec_ops.
+ * Makefile.in (solib-svr4.o): Update dependencies.
+
+2003-10-31 Andrew Cagney <cagney@redhat.com>
+
+ * defs.h (XZALLOC): Define.
+ * target.h (struct target_ops): Add "to_data";
+ * bfd-target.h, bfd-target.c: New files.
+ * Makefile.in (SFILES): Add "bfd-target.c".
+ (COMMON_OBS): Add "bfd-target.o".
+ (bfd-target.o): Specify dependencies.
+ (bfd_target_h): Define.
+ * defs.h (XZALLOC): Define.
+
+2003-10-31 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): For 64-bit ABI, set
+ adjust_breakpoint_address.
+ * Makefile.in (ppc-sysv-tdep.o): Add $(target_h).
+ * ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Declare.
+ * ppc-sysv-tdep.c: Include "target.h". Update copyright.
+ (ppc64_sysv_abi_adjust_breakpoint_address): New function.
+
+2003-10-31 Andrew Cagney <cagney@redhat.com>
+
+ * target.h (struct target_ops): Replace "to_read_partial" and
+ "to_write_partial" with "to_xfer_partial". Update comments.
+ * target.c (debug_to_write_partial): Delete function.
+ (debug_to_xfer_partial): Replace debug_to_read_partial.
+ (add_target, update_current_target, setup_target_debug): Set
+ "to_xfer_partial" instead of "to_read_partial" and
+ "to_write_partial".
+ (default_xfer_partial): Replace "default_write_partial".
+ (default_read_partial): Delete.
+ (target_read_partial, target_write_partial): Call
+ "to_xfer_partial".
+ * remote.c (init_remote_ops): Set "to_xfer_partial".
+ (init_remote_async_ops): Ditto.
+ (remote_xfer_partial): Replace "remote_read_partial".
+
+2003-10-31 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_supply_fpregset): Support floating-point
+ registers in `fxsave' format.
+ (i386_regset_from_core_section): Deal with ".reg-xfp" sections.
+
+2003-10-30 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-linux-tdep.c (i386_linux_gregset_reg_offset): New variable.
+ (i386_linux_init_abi): Initialize TDEP->gregset_reg_offset,
+ TDEP->gregset_num_regs and tdep->sizeof_gregset.
+
+ * i386-linux-tdep.c (i386_linux_sc_reg_offset): Don't explicitly
+ specify size of array.
+ (i386_linux_init_abi): Remove initialization of
+ TDEP->num_xmm_regs. Use I386_LINUX_NUM_REGS for number of
+ registers. Use ARRAY_SIZE to initialize TDEP->sc_num_regs.
+
+ * config/i386/fbsd64.mt (TDEPFILES): Add corelow.o.
+ * config/i386/fbsd64.mh (NATDEPFILES): Remove corelow.o and
+ core-regset.o.
+
+ * fbsd-proc.c (fbsd_make_corefile_notes): Put a "FreeBSD" label in
+ the ELF header.
+
+2003-10-29 Mark Kettenis <kettenis@gnu.org>
+
+ * config/i386/fbsd.mt (TDEPFILES): Add corelow.o.
+ * config/i386/fbsd.mh (NATDEPFILES): Remove corelow.o and
+ core-regset.o.
+
+ * fbsd-proc.c (fbsd_make_corefile_notes): Remove unecessary casts.
+
+ * corelow.c: Include "arch-utils.h", "regset.h" and
+ "gdb_assert.h".
+ (core_gdbarch): New variable.
+ (sniff_core_bfd): Don't sniff if we have support for register sets
+ in CORE_GDBARCH.
+ (core_close): Reset CORE_GDBARCH.
+ (core_open): Initialize CORE_GDBARCH.
+ (get_core_register_section): Use register sets if they are
+ supported by CORE_GDBARCH.
+ (get_core_registers): Don't print error message if we have support
+ for register sets in CORE_GDBARCH.
+
+2003-10-29 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Instead of the
+ default PPC machine, register 32-bit and 64-bit PPC, and rs6k.
+
+2003-10-29 Mark Kettenis <kettenis@gnu.org>
+
+ * objfiles.h (clear_objfile_data): New prototype.
+ * objfiles.c (clear_objfile_data): New function.
+ * symfile.c (reread_symbols): Clear per-objfile data.
+
+2003-10-28 Jeff Johnston <jjohnstn@redhat.com>
+
+ * symfile.c (symbol_file_add_with_addrs_or_offsets): Switch to use
+ printf_unfiltered instead of printf_filtered for output messages.
+ (add_symbol_file_command): Ditto.
+ (reread_symbols): Ditto.
+ (overlay_auto_command): Ditto.
+ (overlay_manual_command): Ditto.
+ (overlay_off_command): Ditto.
+
+2003-10-27 Mark Kettenis <kettenis@gnu.org>
+
+ * arch-utils.c (deprecated_select_gdbarch_hack): New function.
+ (gdbarch_from_bfd): New function.
+ (set_gdbarch_from_file): Re-implement using gdbarch_from_bfd and
+ deprecated_select_gdbarch_hack.
+ * arch-utils.h (gdbarch_from_bfd): New prototype.
+
+2003-10-27 Andrew Cagney <cagney@redhat.com>
+
+ * osabi.c (gdbarch_init_osabi): Use info.bfd_arch_info instead of
+ arch_info. Use warning instead of fprintf_filtered. Do not use
+ deprecated bfd_printable_arch_mach.
+
+2003-10-26 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (frv_register_raw_size, frv_register_virtual_size):
+ Delete.
+ (frv_register_type): Rename from frv_register_virtual_type. Add
+ ``struct gdbarch *'' parameter.
+ (frv_gdbarch_init): Delete calls to the following functions:
+ set_gdbarch_deprecated_size(),
+ set_gdbarch_deprecated_register_bytes(),
+ set_gdbarch_deprecated_register_raw_size(),
+ set_gdbarch_deprecated_max_register_raw_size(),
+ set_gdbarch_deprecated_register_virtual_size(),
+ set_gdbarch_deprecated_max_register_virtual_size(),
+ set_gdbarch_deprecated_register_virtual_size(),
+ set_gdbarch_deprecated_register_virtual_type().
+ Add call to function set_gdbarch_register_type().
+
+2003-10-26 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.h (FCS_REGNUM, FCOFF_REGNUM, FDS_REGNUM,
+ FDOFF_REGNUM): Remove defines.
+ * win32-nat.c (do_child_fetch_inferior_registers): Include
+ "i387-tdep.h".
+ (do_child_fetch_inferior_registers): Use I387_FISEG_REGNUM and
+ I387_FOP_REGNUM instead of FCS_REGNUM and FOP_REGNUM. Define and
+ undefine I387_ST0_REGNUM.
+
+ * i386-tdep.h (FPU_REG_RAW_SIZE): Remove define.
+ * x86-64-tdep.c (x86_64_store_return_value): Use
+ I386_MAX_REGISTER_SIZE instead of FPU_REG_RAW_SIZE.
+
+ Change register numbers to enumartion values.
+ * i386-tdep.h (enum i386_regnum): New.
+ (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM,
+ I386_EBP_REGNUM, I386_IP_REGNUM, I386_EFLAGS_REGNUM,
+ I386_ST0_REGNUM): Remove defines.
+ * i386-tdep.c (I386_EBX_REGNUM, I386_ECX_REGNUM, I386_ESI_REGNUM,
+ I386_EDI_REGNUM): Remove defines.
+
+2003-10-24 Andrew Cagney <cagney@redhat.com>
+
+ * target.c: Include "gdbcore.h".
+ (get_target_memory, get_target_memory_unsigned): New functions.
+ * target.h (get_target_memory, get_target_memory_unsigned): Declare.
+ * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr):
+ Use get_target_memory_unsigned.
+ * Makefile.in (target.o): Update dependencies.
+
+2003-10-24 Andrew Cagney <cagney@redhat.com>
+
+ * osabi.c (gdbarch_init_osabi): Fix typos, and "fortunatly"[sic].
+ * PROBLEMS, arch-utils.c, cli-out.c, command.h: Ditto.
+ * complaints.c, cris-tdep.c, disasm.c, dwarf2-frame.c: Ditto.
+ * frame.c, frame.h, infcall.c, infcmd.c, infrun.c: Ditto.
+ * kod.c, mips-tdep.c, regcache.c, regcache.h, remote.c: Ditto.
+
+ * osabi.c (gdbarch_init_osabi): Add comment on 32-bit vs 64-bit.
+ (can_run_code_for): Use the OO term "singleton".
+
+2003-10-23 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (stack.o): Add $(regcache_h).
+ * stack.c: Include "regcache.h"
+ (return_command): Rewrite. Use get_frame_id and
+ get_selected_frame. Eliminate "deprecated_selected_frame". Warn
+ about unhandled return-values.
+ * value.h (set_return_value): Delete declaration.
+ * values.c (set_return_value): Delete function.
+
+2003-10-23 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-tdep.c: (ia64_frame_cache): Add new prev_cfm field.
+ (pseudo_regs): Add comment regarding register stack registers.
+ (ia64_alloc_frame_cache): Initialize new prev_cfm field to 0.
+ (floatformat_valid): New static routine.
+ (floatformat_ia64_ext): Add name field and set up is_valid routine
+ to floatformat_valid().
+ (examine_prologue): For the previous cfm, use
+ frame_unwind_register()
+ if the cfm is not stored in a register-stack register. Save the
+ previous cfm value in the prev_cfm field. Add debug output.
+ (ia64_frame_this_id): Use frame_id_build_special() to also register
+ the bsp. Add debug output.
+ (ia64_sigtramp_frame_this_id): Ditto.
+ (ia64_frame_prev_register): Look at cache saved_regs for a few more
+ registers and also add some checks for framelessness before accepting
+ current register values for fields such as return address. For cfm,
+ use the cached prev_cfm field if available. Add comment to explain
+ PSR logic. Add debug output.
+ (ia64_sigtramp_frame_init_saved_regs): Save the bsp and sp addresses
+ as part of initialization.
+ (ia64_sigtramp_frame_cache): Hard-code stack size as it can't be
+ calculated. Cache the bsp and cfm values.
+ (ia64_sigtramp_frame_prev_register): Add logic to this routine out
+ instead of using ia64_frame_prev_register() which doesn't expect most
+ registers to be saved. The saved values for bsp and sp
+ can be taken from the cache. Add debug output.
+ (ia64_push_dummy_call): Use frame_id_build_special() to also register
+ the bsp.
+
+2003-10-23 Jim Blandy <jimb@redhat.com>
+
+ * osabi.c (gdbarch_init_osabi): A handler is okay if it's for an
+ architecture the current arch can run code for --- but not if it's
+ a superset.
+ (can_run_code_for): New function.
+
+2003-10-22 James E Wilson <wilson@specifixinc.com>
+
+ * MAINTAINERS: Move myself from paper trail section back to write
+ after approval section.
+
+2003-10-22 Andrew Cagney <cagney@redhat.com>
+
+ * exec.h: New file.
+ * win32-nat.c: Include "exec.h".
+ * solib.c: Include "exec.h".
+ * target.h (build_section_table): Delete declaration.
+ * somsolib.c: Include "exec.h".
+ (exec_ops): Delete extern declaration.
+ * rs6000-nat.c: Update copyright. Include "exec.h".
+ (exec_ops): Delete extern declaration.
+ * pa64solib.c: Update copyright. Include "exec.h".
+ (exec_ops): Delete extern declaration.
+ * exec.c: Update copyright. Include "exec.h".
+ * corelow.c: Update dependencies. Include "exec.h".
+ * Makefile.in (exec_h): Define.
+ (exec.o, somsolib.o): Update dependencies.
+ (pa64solib.o, corelow.o): Update dependencies.
+
+2003-10-22 Andrew Cagney <cagney@redhat.com>
+
+ * target.c: Include "gdb_assert.h" (target_read): Call
+ "target_read_partial", not "target_write_partial".
+ (default_read_partial, default_write_partial): New function.
+ (target_read_partial, target_write_partial): Simplify, assume that
+ there is always a read/write method.
+ (update_current_target, add_target): Always set "to_read_partial"
+ and "to_write_partial".
+ (target_write, target_read): Fail on a zero byte transfer.
+ * Makefile.in (target.o): Update dependencies.
+ * target.h: Update copyright date.
+ (target_object): Fix typo.
+
+2003-10-22 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (convert_from_func_ptr_addr): Convert to a pure
+ multi-arch method, add "targ" parameter.
+ (struct target_ops): Declare.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * Makefile.in (c-valprint.o): Update dependencies.
+ * arch-utils.h: Update copyright.
+ (convert_from_func_ptr_addr_identity): Declare.
+ * arch-utils.c (convert_from_func_ptr_addr_identity): New function.
+ * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update.
+ * rs6000-tdep.c (rs6000_convert_from_func_ptr_addr): Upate.
+ * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Update.
+ * infcall.c (find_function_addr, call_function_by_hand): Update.
+ * c-valprint.c: Include "target.h".
+ (print_function_pointer_address): Update.
+
+2003-10-22 Andrew Cagney <cagney@redhat.com>
+
+ * target.c (target_close): New function.
+ (debug_to_close): Use "target_close".
+ (push_target): Use "target_close".
+ (unpush_target): Use "target_close".
+ (pop_target): Use "target_close".
+ * target.h (struct target_ops): Add "to_xclose".
+ (target_open): Delete macro. Move comment to "to_open".
+ (target_close): Replace macro with function that takes a target.
+ * top.c (quit_target): Pass "current_target" to "target_close".
+
+2003-10-21 Elena Zannoni <ezannoni@redhat.com>
+
+ * minsyms.c (lookup_minimal_symbol_text): Remove unused parameter.
+ Remove SOFUN_ADDRESS_MAYBE_MISSING ifdeffed code.
+ * symtab.h (lookup_minimal_symbol_text): Update.
+ * breakpoint.c (create_overlay_event_breakpoint,
+ create_longjmp_breakpoint): Update callers.
+ * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Update caller.
+ * symtab.c (find_pc_sect_line): Ditto.
+
+2003-10-21 Andrew Cagney <cagney@redhat.com>
+
+ * target.c (errno): Delete extern declaration.
+
+2003-10-20 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-tdep.c: Change all occurrences of
+ DEPRECATED_REGISTER_RAW_SIZE to use register_size() instead.
+ (ia64_frame_prev_register): Minor whitespace change.
+
+2003-10-20 Michael Chastain <mec@shout.net>
+
+ * config/djgpp/fnchange.lst: Add lines for:
+ sim/testsuite/sim/frv/interrupts/Ipipe-fr400.cgs,
+ sim/testsuite/sim/frv/interrupts/Ipipe-fr500.cgs,
+ sim/testsuite/sim/frv/interrupts/badalign-fr550.cgs,
+ sim/testsuite/sim/frv/interrupts/compound-fr550.cgs,
+ sim/testsuite/sim/frv/interrupts/data_store_error-fr550.cgs,
+ sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs,
+ sim/testsuite/sim/frv/interrupts/insn_access_error-fr550.cgs.
+
+2003-10-20 Andrew Cagney <cagney@redhat.com>
+
+ * values.c (register_value_being_returned): Update comments. Use
+ "gdbarch_return_value" when available.
+ (using_struct_return): Ditto.
+ (set_return_value): Ditto. Use "gdbarch_return_value" when
+ available.. Print a warning, and not an error, when an unhandled
+ return type is encountered.
+ * infcmd.c: Include "gdb_assert.h".
+ (print_return_value): When gdbarch_return_value_p, and using
+ struct return, assume that the value is not available.
+ * defs.h (return_value_convention): Define.
+ * gdbarch.sh (gdbarch_return_value): New predicate method.
+ * gdbarch.h, gdbarch.c: Re-generate
+ * ppc-sysv-tdep.c (return_value_convention): Delete definition.
+
+2003-10-20 Andrew Cagney <cagney@redhat.com>
+
+ * symtab.c: Replace "struct sec" with "struct bfd_section".
+ * objfiles.c, linespec.c, blockframe.c, block.c: Ditto.
+
+2003-10-19 Michael Chastain <mec@shout.net>
+
+ * config/djgpp/fnchange.lst: Add lines for:
+ gdb/amd64nbsd-nat.c, gdb/amd64nbsd-tdep.c,
+ gdb/i386fbsd-nat.c, gdb/i386fbsd-tdep.c,
+ gdb/sparc64fbsd-nat.c, gdb/sparc64bsd-tdep.c.
+
+2003-10-19 Mark Kettenis <kettenis@gnu.org>
+
+ * amd64fbsd-nat.c (fetch_inferior_registers,
+ store_inferior_registers): Remove functions.
+ * config/i386/fbsd64.mh (NATDEPFILES): Add amd64bsd-nat.o.
+
+2003-10-18 Mark Kettenis <kettenis@gnu.org>
+
+ Add NetBSD/amd64 native configuration:
+ * x86-64-tdep.h (amd64nbsd_r_reg_offset): Add extern declarations.
+ * amd64nbsd-tdep.c: New file.
+ * amd64nbsd-nat.c: New file.
+ * amd64bsd-nat.c: New file.
+ * config/i386/nbsd64.mh: New file.
+ * config/i386/nbsd64.mt: New file.
+ * configure.host: Add x86_64-*-netbsd*.
+ * configure.tgt: Add x86_64-*-netbsd*.
+ * Makefile.in (amd64bsd-nat.o, amd64nbsd-nat.o, amd64nbsd-tdep.o):
+ New targets.
+ * NEWS (New native configurations): Mention NetBSD/amd64.
+
+2003-10-17 Michael Chastain <mec@shout.net>
+
+ * config/djgpp/fnchange.lst: Remove dead lines for:
+ bfd/elf32-i386qnx.c, bfd/elf32-ppcqnx.c, bfd/elf32-shqnx.c,
+ bfd/elf32-sh-lin.c, bfd/elf32-sh-nbsd.c, bfd/elf32-sh64-nbsd.c,
+ bfd/elf64-alpha-fbsd.c, bfd/elf64-sh64-nbsd.c,
+ gdb/alphanbsd-nat.c, gdb/config/i386/tm-i386mk.h,
+ gdb/config/i386/tm-i386v42mp.h, gdb/config/i386/xm-i386mach.h,
+ gdb/config/i386/xm-i386mk.h, gdb/config/i386/xm-i386v32.h,
+ gdb/config/m68k/apollo68v.mh, gdb/config/m68k/nm-apollo68v.h,
+ gdb/config/m68k/xm-apollo68v.h, gdb/config/m88k/tm-delta88v4.h,
+ gdb/config/mips/tm-bigmips64.h, gdb/config/mips/tm-embed64.h,
+ gdb/config/mips/tm-embedl.h, gdb/config/mips/tm-embedl64.h,
+ gdb/config/mips/tm-vr4300el.h, gdb/config/mips/tm-vr4xxxel.h,
+ gdb/config/mips/tm-vr5000el.h, gdb/config/sparc/tm-sparclet.h,
+ gdb/config/sparc/tm-sparclite.h,
+ gdb/gdbtk/generic/ChangeLog-2001,
+ gdb/gdbtk/library/ChangeLog-2001, gdb/remote-adapt.c,
+ gdb/remote-eb.c, gdb/remote-mm.c, gdb/remote-nrom.c,
+ gdb/remote-udi.c, gdb/remote-vx29k.c, gdb/remote-vx960.c,
+ gdb/sparclet-rom.c, gdb/sparclet-stub.c,
+ gdb/testsuite/gdb.mi/mi0-var-block.exp,
+ gdb/testsuite/gdb.mi/mi0-var-child.exp,
+ gdb/testsuite/gdb.mi/mi0-var-cmd.exp,
+ gdb/testsuite/gdb.mi/mi0-var-display.exp,
+ itcl/iwidgets3.0.0/demos/extfileselectionbox,
+ itcl/iwidgets3.0.0/demos/extfileselectiondialog,
+ itcl/iwidgets3.0.0/demos/fileselectionbox,
+ itcl/iwidgets3.0.0/demos/fileselectiondialog,
+ itcl/iwidgets3.0.0/demos/html/buttonbox.n.html,
+ itcl/iwidgets3.0.0/demos/html/canvasprintbox.n.html,
+ itcl/iwidgets3.0.0/demos/html/canvasprintdialog.n.html,
+ itcl/iwidgets3.0.0/demos/html/combobox.n.html,
+ itcl/iwidgets3.0.0/demos/html/dialog.n.html,
+ itcl/iwidgets3.0.0/demos/html/dialogshell.n.html,
+ itcl/iwidgets3.0.0/demos/html/entryfield.n.html,
+ itcl/iwidgets3.0.0/demos/html/feedback.n.html,
+ itcl/iwidgets3.0.0/demos/html/fileselectionbox.n.html,
+ itcl/iwidgets3.0.0/demos/html/fileselectiondialog.n.html,
+ itcl/iwidgets3.0.0/demos/html/hyperhelp.n.html,
+ itcl/iwidgets3.0.0/demos/html/iwidgets2.2.0UserCmds.html,
+ itcl/iwidgets3.0.0/demos/html/labeledwidget.n.html,
+ itcl/iwidgets3.0.0/demos/html/menubar.n.html,
+ itcl/iwidgets3.0.0/demos/html/messagedialog.n.html,
+ itcl/iwidgets3.0.0/demos/html/notebook.n.html,
+ itcl/iwidgets3.0.0/demos/html/optionmenu.n.html,
+ itcl/iwidgets3.0.0/demos/html/panedwindow.n.html,
+ itcl/iwidgets3.0.0/demos/html/promptdialog.n.html,
+ itcl/iwidgets3.0.0/demos/html/pushbutton.n.html,
+ itcl/iwidgets3.0.0/demos/html/radiobox.n.html,
+ itcl/iwidgets3.0.0/demos/html/scrolledcanvas.n.html,
+ itcl/iwidgets3.0.0/demos/html/scrolledframe.n.html,
+ itcl/iwidgets3.0.0/demos/html/scrolledhtml.n.html,
+ itcl/iwidgets3.0.0/demos/html/scrolledlistbox.n.html,
+ itcl/iwidgets3.0.0/demos/html/scrolledtext.n.html,
+ itcl/iwidgets3.0.0/demos/html/selectionbox.n.html,
+ itcl/iwidgets3.0.0/demos/html/selectiondialog.n.html,
+ itcl/iwidgets3.0.0/demos/html/shell.n.html,
+ itcl/iwidgets3.0.0/demos/html/spindate.n.html,
+ itcl/iwidgets3.0.0/demos/html/spinint.n.html,
+ itcl/iwidgets3.0.0/demos/html/spinner.n.html,
+ itcl/iwidgets3.0.0/demos/html/spintime.n.html,
+ itcl/iwidgets3.0.0/demos/html/tabnotebook.n.html,
+ itcl/iwidgets3.0.0/demos/html/tabset.n.html,
+ itcl/iwidgets3.0.0/demos/html/toolbar.n.html,
+ itcl/iwidgets3.0.0/demos/scrolledcanvas,
+ itcl/iwidgets3.0.0/demos/scrolledframe,
+ itcl/iwidgets3.0.0/demos/scrolledhtml,
+ itcl/iwidgets3.0.0/demos/scrolledlistbox,
+ itcl/iwidgets3.0.0/demos/scrolledtext,
+ itcl/iwidgets3.0.0/demos/selectionbox,
+ itcl/iwidgets3.0.0/demos/selectiondialog,
+ itcl/iwidgets3.0.0/doc/canvasprintbox.n,
+ itcl/iwidgets3.0.0/doc/canvasprintdialog.n,
+ itcl/iwidgets3.0.0/doc/extfileselectionbox.n,
+ itcl/iwidgets3.0.0/doc/extfileselectiondialog.n,
+ itcl/iwidgets3.0.0/doc/fileselectionbox.n,
+ itcl/iwidgets3.0.0/doc/fileselectiondialog.n,
+ itcl/iwidgets3.0.0/doc/scopedobject.n.backup,
+ itcl/iwidgets3.0.0/doc/scrolledcanvas.n,
+ itcl/iwidgets3.0.0/doc/scrolledframe.n,
+ itcl/iwidgets3.0.0/doc/scrolledhtml.n,
+ itcl/iwidgets3.0.0/doc/scrolledlistbox.n,
+ itcl/iwidgets3.0.0/doc/scrolledtext.n,
+ itcl/iwidgets3.0.0/doc/selectionbox.n,
+ itcl/iwidgets3.0.0/doc/selectiondialog.n,
+ itcl/iwidgets3.0.0/generic/canvasprintbox.itk,
+ itcl/iwidgets3.0.0/generic/canvasprintdialog.itk,
+ itcl/iwidgets3.0.0/generic/extfileselectionbox.itk,
+ itcl/iwidgets3.0.0/generic/extfileselectiondialog.itk,
+ itcl/iwidgets3.0.0/generic/fileselectionbox.itk,
+ itcl/iwidgets3.0.0/generic/fileselectiondialog.itk,
+ itcl/iwidgets3.0.0/generic/scrolledcanvas.itk,
+ itcl/iwidgets3.0.0/generic/scrolledframe.itk,
+ itcl/iwidgets3.0.0/generic/scrolledhtml.itk,
+ itcl/iwidgets3.0.0/generic/scrolledlistbox.itk,
+ itcl/iwidgets3.0.0/generic/scrolledtext.itk,
+ itcl/iwidgets3.0.0/generic/scrolledwidget.itk,
+ itcl/iwidgets3.0.0/generic/selectionbox.itk,
+ itcl/iwidgets3.0.0/generic/selectiondialog.itk,
+ itcl/iwidgets3.0.0/tests/canvasprintbox.test,
+ itcl/iwidgets3.0.0/tests/canvasprintdialog.test,
+ itcl/iwidgets3.0.0/tests/extfileselectionbox.test,
+ itcl/iwidgets3.0.0/tests/extfileselectiondialog.test,
+ itcl/iwidgets3.0.0/tests/fileselectionbox.test,
+ itcl/iwidgets3.0.0/tests/fileselectiondialog.test,
+ itcl/iwidgets3.0.0/tests/scrolledcanvas.test,
+ itcl/iwidgets3.0.0/tests/scrolledframe.test,
+ itcl/iwidgets3.0.0/tests/scrolledhtml.test,
+ itcl/iwidgets3.0.0/tests/scrolledlistbox.test,
+ itcl/iwidgets3.0.0/tests/scrolledtext.test,
+ itcl/iwidgets3.0.0/tests/selectionbox.test,
+ itcl/iwidgets3.0.0/tests/selectiondialog.test,
+ itcl/iwidgets3.0.0/unix/iwidgets.tcl.in,
+ itcl/iwidgets3.0.0/unix/pkgIndex.tcl.in,
+ tix/docs/Release-4.1.0.html, tix/docs/Release-4.1.0.txt,
+ tix/docs/Release-4.1a2.html, tix/docs/Release-4.1a2.txt,
+ tix/docs/Release-4.1a3.html, tix/docs/Release-4.1a3.txt,
+ tix/docs/Release-4.1b1.html, tix/docs/Release-4.1b1.txt,
+ tix/docs/Release-4.1b2.html, tix/docs/Release-4.1b2.txt,
+ tix/tixConfig.sh.in, tix/unix/tk4.2/pkgIndex.tcl.in,
+ tix/unix/tk8.0/pkgIndex.tcl.in, tix/unix/tk8.0/pkgIndex.tcl.in,
+ tix/unix/tk8.1/pkgIndex.tcl.in, tix/win/tkConsole41.c,
+ tix/win/tkConsole42.c, tix/win/tkConsole80a1.c,
+ tix/win/tkConsole80b1.c, tix/win/tkConsole81.c, tk/doc/tk4.0.ps,
+ tk/mac/tkMacProjects.sit.hqx.
+
+2003-10-17 Andrew Cagney <cagney@redhat.com>
+
+ * target.c (target_section_by_addr): New function.
+ (do_xfer_memory): Use "target_section_by_addr".
+ * target.h (target_section_by_addr): Declare.
+
+ * target.h (struct target_ops): Add "to_read_partial" and
+ "to_write_partial", delete "to_query".
+ (target_read_partial, target_write_partial): Declare.
+ (target_read, target_write): Declare.
+ (target_query): Delete macro.
+ * target.c (target_read_partial): New function.
+ (target_write_partial, target_read, target_write): New function.
+ (update_current_target): Delete inheritance of "to_query". Add
+ comments about "to_read_partial" and "to_write_partial".
+ (debug_to_partial_read, debug_to_partial_write): New functions.
+ (debug_to_query): Delete function.
+ (setup_target_debug): Set "to_read_partial" and "to_write_partial"
+ instead of "to_query".
+ * remote.c (remote_read_partial): Replace "remote_query".
+ (init_remote_ops): Set "to_read_partial" instead of "to_query".
+ (init_remote_async_ops): Ditto.
+ * kod.c (gdb_kod_query): Make "bufsize" a LONGEST. Use
+ "target_read_partial" instead of "target_query".
+ * avr-tdep.c (avr_io_reg_read_command): Make "bufsize" a LONGEST.
+ Use "target_read_partial" instead of "target_query".
+
+2003-10-17 Jeff Johnston <jjohnstn@redhat.com>
+
+ * frame.h (struct frame_id): Add new field: special_addr.
+ (frame_id_build_special): New prototype.
+ * frame.c (frame_id_build_special): New function.
+ (frame_id_build): Change to call frame_id_build_special().
+ (frame_id_eq): Change to also test special_addr field.
+ (frame_id_inner): Update comment.
+
+2003-10-17 Andrew Cagney <cagney@redhat.com>
+
+ * target.c (update_current_target): Perform the target cleanup.
+ Put the target stack beneath the squashed "current_target".
+ (add_target): Delete disabled call to "cleanup_target".
+ (cleanup_target): Delete function.
+ (push_target, unpush_target): Do not call "cleanup_target".
+
+2003-10-17 Andrew Cagney <cagney@redhat.com>
+
+ * target.c (target_stack): Change to a static target_ops.
+ (update_current_target): Walk the "struct target_ops" stack.
+ (pop_target, do_xfer_memory, target_info): Ditto.
+ (find_target_beneath): Ditto.
+ (push_target): Rewrite to use the "struct target_ops" stack.
+ (unpush_target): Ditto.
+ * target.h (struct target_stack_item): Delete definition.
+ (target_stack): Delete declaration.
+ (struct target_ops): Add field "beneath".
+
+2003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com>
+
+ * gdb/config/h8300/tm-h8300.h (h8300_normal_mode): Add external
+ declaration.
+ * gdb/h8300-tdep.c (BINWORD): Update BINWORD for h8300_normal_mode
+ (h8300_examine_prologue): Use h8300_normal_mode flag
+ (h8300_gdbarch_init): Set architecture info for normal mode
+
+2003-10-16 Daniel Jacobowitz <drow@mvista.com>
+
+ * remote.c (remote_protocol_vcont): New variable.
+ (set_remote_protocol_vcont_packet_cmd): New function.
+ (show_remote_protocol_vcont_packet_cmd): New function.
+ (init_all_packet_configs): Handle remote_protocol_vcont.
+ (remote_vcont_probe): New function.
+ (remote_vcont_resume): New function.
+ (remote_resume): Use it.
+ (remote_async_resume): Call remote_resume.
+ (_initialize_remote): Add verbose-resume packet commands.
+
+2003-10-16 Andrew Cagney <cagney@redhat.com>
+
+ * infrun.c (handle_inferior_event): Add comment about
+ "frame_id_inner" being too weak.
+
+2003-10-16 Elena Zannoni <ezannoni@redhat.com>
+
+ * minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove
+ second parameter, which is always null. Remove
+ SOFUN_ADDRESS_MAYBE_MISSING ifdeffed code.
+ * symtab.h (lookup_minimal_symbol_solib_trampoline): Update
+ accordingly.
+ * somsolib.c (som_solib_create_inferior_hook,
+ som_solib_desire_dynamic_linker_symbols): Update callers.
+ * hppa-tdep.c (hppa_fix_call_dummy): Ditto.
+
+2003-10-16 Kei Sakamoto <sakamoto.kei@renesas.com>
+
+ * remote-m32r-sdi.c : New file, interface to m32r on-chip
+ debug interface, SDI (Scalable Debug Interface).
+ * NEWS: Mention m32r SDI protocol was supported.
+ * Makefile.in (remote-m32r-sdi.o): Add build rule.
+ * config/m32r/m32r.mt (TDEPFILES) : Add remote-m32r-sdi.o.
+
+2003-10-15 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-linux-tdep.c: Include gdbcore.h.
+ (IA64_LINUX_SIGCONTEXT_OFFSET): Magic constant removed.
+ (ia64_linux_sigcontext_register_addr): Find the address of the
+ sigcontext area stored in the sigframe instead of using
+ a magic offset constant.
+
+2003-10-15 Andrew Cagney <cagney@redhat.com>
+
+ * remote.c (remote_search): Delete function.
+ * target.h (target_search): Delete disabled macro.
+ (struct target_ops): Delete disabled field "to_search".
+
+2003-10-14 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (frv_frame_this_id): Call inside_entry_func()
+ instead of deprecated_inside_entry_file().
+
+2003-10-14 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c: Fix copy/paste hangover in comment.
+ (sh_push_dummy_call_fpu): Accomodate double passing in little endian
+ mode.
+ (sh3e_sh4_extract_return_value): Ditto.
+
+2003-10-13 Richard Henderson <rth@redhat.com>
+
+ * f-typeprint.c (f_type_print_base): Handle TYPE_CODE_REF.
+ * f-valprint.c (f_val_print): Likewise. Tweak TYPE_CODE_PTR to
+ match c_val_print a bit closer.
+
+2003-10-13 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (max_instrs_per_bundle, frv_instr_size): New constants.
+ (frv_gdbarch_adjust_breakpoint_address): New function.
+ (frv_gdbarch_init): Initialize ``gdbarch_adjust_breakpoint_address''
+ method.
+
+2003-10-13 Kevin Buettner <kevinb@redhat.com>
+
+ * breakpoint.h (struct breakpoint): Add new member
+ ``requested_address''.
+ * breakpoint.c (breakpoint_adjustment_warning)
+ (adjust_breakpoint_address): New static functions.
+ (print_it_typical): Issue warning if breakpoint's address is different
+ from its requested address.
+ (set_raw_breakpoint, set_longjmp_resume_breakpoint, watch_command_1)
+ (breakpoint_re_set_one): Set breakpoint's
+ ``requested_address'' field. Set ``address'' field to the
+ result of calling adjust_breakpoint_address() on the requested
+ address.
+
+2003-10-13 Kevin Buettner <kevinb@redhat.com>
+
+ * gdbarch.sh (ADJUST_BREAKPOINT_ADDRESS): New method.
+ * gdbarch.h, gdbarch.c: Regenerate.
+
+2003-10-11 Mark Kettenis <kettenis@gnu.org>
+
+ * i386bsd-tdep.c (i386bsd_init_abi): Use ARRAY_SIZE to initialize
+ TDEP->sc_num_regs.
+
+ * i386fbsd-tdep.c: New file.
+ (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end,
+ i386fbsd_sc_reg_offset, i386fbsdaout_init_abi, i386fbsd_init_abi,
+ i386fbsd4_sc_reg_offset, i386fbsd4_init_abi): Move here from
+ i386bsd-tdep.c.
+ (_initialize_i386fbsd_tdep): New function.
+ (i386fbsd_r_reg_offset, i386fbsd4_r_reg_offset): New varibles.
+ (i386fbsdaout_init_abi): Initialize TDEP->gregset_reg_offset,
+ TDEP->gregset_num_regs, TDEP->sizeof_gregset and
+ TDEP->sizeof_fpregset. Use ARRAY_SIZE to initialize
+ TDEP->sc_num_regs.
+ (i386fbsd4_init_abi): Initialize TDEP->gregset_reg_offset,
+ TDEP->gregset_num_regs and TDEP->sizeof_gregset. Use ARRAY_SIZE
+ to initialize TDEP->sc_num_regs.
+ * i386bsd-tdep.c (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end,
+ i386fbsd_sc_reg_offset, i386fbsdaout_init_abi, i386fbsd_init_abi,
+ i386fbsd4_sc_reg_offset, i386fbsd4_init_abi): Remove.
+ (_initialize_i386bsd_tdep): Don't register FreeBSD a.out and
+ FreeBSD ELF OS/ABI's here.
+ * Makefile.in (ALLDEPFILES): Add i386fbsd-tdep.c.
+ (i386fbsd-tdep.o): New target.
+ * config/i386/fbsd.mt (TDEPFILES): Add i386fbsd-tdep.o.
+ * config/i386/fbsd64.mt (TDEPFILES): Add i386fbsd-tdep.o.
+
+ * amd64fbsd-tdep.c (amd64fbsd_r_reg_offset): New variable.
+ (amd64fbsd_init_abi): Set TDEP->gregset_reg_offset,
+ TDEP->gregset_num_regs and TDEP->sizeof_gregset. Use ARRAY_SIZE
+ in initialization of TDEP->sc_num_regs.
+
+ * x86-64-tdep.c (x86_64_regset_from_core_section): New function.
+ (x86_64_init_abi): Initialize regset_from_core_section if
+ appropriate.
+
+ * i386-tdep.c (i386_regset_from_core_section): New function.
+ (i386_gdbarch_init): Initialize regset_from_core_section if
+ appropriate.
+ * i386-tdep.h (i386_regset_from_core_section): New declaration.
+
+ * i386-tdep.h (struct regset): Declare opaque.
+
+ * gdbarch.sh (regset_from_core_section): New method.
+ (struct regset): Declare opaque.
+ * gdbarch.c, gdbarch.h: Regenerated.
+
+2003-10-11 Alan Modra <amodra@bigpond.net.au>
+
+ * hppa-tdep.c (hppa_in_solib_call_trampoline): Don't refer directly to
+ _cooked_size and vma; Use bfd_section_size and bfd_get_section_vma.
+ Correct test for pc within section.
+
+2003-10-11 Mark Kettenis <kettenis@gnu.org>
+
+ * gdbarch.sh: Remove trailing whitepsace from comments.
+
+2003-10-08 Roland McGrath <roland@redhat.com>
+
+ * gcore.c (make_mem_sec): Function removed, folded into ...
+ (gcore_create_callback): ... here. To omit a section, clear its
+ SEC_LOAD bit rather than zeroing its size.
+ Omit read-only sections only if they correspond to a known disk file.
+ (gcore_copy_callback): Ignore sections without SEC_LOAD flag set.
+
+2003-10-10 Michael Snyder <msnyder@redhat.com>
+
+ * d10v-tdep.c: Fix typo in comment.
+
+2003-10-10 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (e500_store_return_value): Delete function.
+ (e500_extract_return_value): Delete function.
+ (rs6000_gdbarch_init): When SYSV, set "extract_return_value" and
+ "restore_return_value" to "ppc_sysv_abi_extract_return_value" and
+ "ppc_sysv_abi_restore_return_value" where applicable.
+ * ppc-tdep.h: (ppc_sysv_abi_store_return_value): Declare.
+ (ppc_sysv_abi_extract_return_value): Declare.
+ (ppc_sysv_abi_broken_store_return_value): Declare.
+ (ppc_sysv_abi_broken_extract_return_value): Declare.
+ (ppc_sysv_abi_broken_use_struct_convention:) Delete declaration.
+ * ppc-sysv-tdep.c (return_value_convention): Move definition to
+ start of file.
+ (do_ppc_sysv_return_value): New function.
+ (ppc_sysv_abi_extract_return_value): New function.
+ (ppc_sysv_abi_store_return_value): New function.
+ (ppc_sysv_abi_broken_extract_return_value): New function.
+ (ppc_sysv_abi_broken_store_return_value): New function.
+ (ppc_sysv_abi_use_struct_convention): Call
+ do_ppc_sysv_return_value.
+
+2003-10-10 J. Brobecker <brobecker@gnat.com>
+
+ * blockframe.c (inside_main_func): No longer use symbol_lookup()
+ to lookup the main function symbol.
+
+2003-10-10 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (sh_treat_as_flt_p): New function to recognize float
+ types correctly.
+ (sh_push_dummy_call_fpu): Fix argument passing rules.
+ (sh3e_sh4_extract_return_value): Call sh_treat_as_flt_p to recognize
+ float types.
+ (sh3e_sh4_store_return_value): Ditto.
+
+2003-10-10 Elena Zannoni <ezannoni@redhat.com>
+
+ * sh-tdep.c (sh_use_struct_convention): Clarify one case in
+ comment.
+
+2003-10-10 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (sh_use_struct_convention): Clean up to have a
+ more readable code. Accomodate passing of bitfields.
+
+2003-10-10 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (ppc-sysv-tdep.o): Add $(gdb_assert_h).
+ * rs6000-tdep.c (rs6000_gdbarch_init): When 64 bit SysV ABI, set
+ push_dummy_call to ppc64_sysv_abi_push_dummy_call.
+ * ppc-sysv-tdep.c: Include "gdb_assert.h".
+ (ppc64_sysv_abi_push_dummy_call): New function.
+ (ppc64_sysv_abi_broken_push_dummy_call): New function.
+ * ppc-tdep.h (ppc64_sysv_abi_push_dummy_call): Declare.
+ (ppc64_sysv_abi_broken_push_dummy_call): Declare.
+
+2003-10-10 Kei Sakamoto <sakamoto.kei@renesas.com>
+
+ * NEWS: Replace "Hitachi" and "Mitsubishi" with "Renesas".
+ * README: Ditto.
+ * d10v-tdep.c: Ditto.
+ * h8300-tdep.c: Ditto.
+ * remote-e7000.c: Ditto.
+ * remote-hms.c: Ditto.
+ * ser-e7kpc.c: Ditto.
+ * sh-stub.c: Ditto.
+ * sh-tdep.c: Ditto.
+ * sh-tdep.h: Ditto.
+ * sh3-rom.c: Ditto.
+ * sh64-tdep.c: Ditto.
+ * top.c: Ditto.
+ * wince.c: Ditto.
+ * config/d10v/d10v.mt: Ditto.
+ * config/sh/embed.mt: Ditto.
+ * config/sh/linux.mt: Ditto.
+ * config/sh/tm-linux.h: Ditto.
+ * config/sh/tm-sh.h: Ditto.
+ * config/sh/wince.mt: Ditto.
+
+2003-10-09 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-tdep.h (struct type): Declare opaque.
+ * x86-64-tdep.h (struct regcache): Declare opaque.
+ * sh-tdep.c (sh_do_fp_register): Delete "register" attribute, fix
+ coding style.
+
+2003-10-09 Andrew Cagney <cagney@redhat.com>
+
+ Changes from 2003-09-09 Jimi Xenidis <jimix@watson.ibm.com>:
+ * config/rs6000/tm-rs6000.h (SOFTWARE_SINGLE_STEP): Delete macro.
+ (SOFTWARE_SINGLE_STEP_P): Ditto.
+ * config/powerpc/tm-ppc-eabi.h (SOFTWARE_SINGLE_STEP_P): Ditto.
+ * config/powerpc/tm-linux.h (SOFTWARE_SINGLE_STEP): Ditto.
+ (SOFTWARE_SINGLE_STEP_P): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): When AIX, set
+ software_single_step to rs6000_software_single_step.
+
+2003-10-09 Andrew Cagney <cagney@redhat.com>
+
+ * MAINTAINERS: Mark m32r-elf as buildable with -Werror.
+
+2003-10-09 Michael Snyder <msnyder@redhat.com>
+
+ * frame.h: Fix typo in comment.
+ * dummy-frame.c: Fix typo in comment.
+ * d10v-tdep.c: Random whitespace/comment tweaks.
+
+2003-10-09 Elena Zannoni <ezannoni@redhat.com>
+
+ * sh-tdep.c (sh_gdbarch_init): Delete setting of push_dummy_code.
+ (sh_push_dummy_code): Delete function, it's only used for dummy calls
+ on stack.
+
+ Based on input by Stephen Clarke (stephen.clarke@superh.com):
+ * sh-tdep.c (sh_use_struct_convention): Add comment explaining ABI
+ in detail.
+
+2003-10-09 Daniel Jacobowitz <drow@mvista.com>
+
+ * remote-mips.c (mips_initialize): Remove unneeded call to
+ get_selected_frame. Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
+
+2003-10-09 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2expr.c (execute_stack_op): Don't treat the frame base as
+ a memory pointer.
+
+2003-10-08 Jeff Johnston <jjohnstn@redhat.com>
+
+ * lin-lwp.c (stop_and_resume_callback): Set the resumed flag
+ for any lwp we resume.
+ (running_callback): Add lwps that have pending status events
+ against them to be considered running.
+
+2003-10-08 Kei Sakamoto <sakamoto.kei@renesas.com>
+
+ * m32r-tdep.c : Include "dis-asm.h".
+ * Makefile.in (m32r-tdep.o): Update dependencies.
+
+2003-10-06 J. Brobecker <brobecker@gnat.com>
+
+ * completer.h (get_gdb_completer_word_break_characters): Delete.
+ * completer.c: include language.h.
+ (gdb_completer_word_break_characters): Delete.
+ (get_gdb_completer_word_break_characters): Delete.
+ (location_completer): Use the word break characters of the current
+ language.
+ (complete_line): Likewise.
+ (line_completion_function): Likewise.
+ (skip_quoted_chars): Likewise.
+ * Makefile.in (completer.o): Add dependency on language.h.
+ * top.c (init_main): Set the readline word break characters
+ to GDB's default word break characters.
+
+2003-10-06 J. Brobecker <brobecker@gnat.com>
+
+ * language.h (language_defn): new field, la_word_break_characters.
+ * language.c (unknown_language_defn): Set new field to
+ default_word_break_characters.
+ (auto_language_defn): Likewise.
+ (local_language_defn): Likewise.
+ * ada-lang.c (ada_language_defn): Likewise.
+ * c-lang.c (c_language_defn): Likewise.
+ (cplus_language_defn): Likewise.
+ (asm_language_defn): Likewise.
+ (minimal_language_defn): Likewise.
+ * f-lang.c (f_language_defn): Likewise.
+ * jv-lang.c (java_language_defn): Likewise.
+ * m2-lang.c (m2_language_defn): Likewise.
+ * objc-lang.c (objc_language_defn): Likewise.
+ * p-lang.c (pascal_language_defn): Likewise.
+ * scm-lang.c (scm_language_defn): Likewise.
+
+2003-10-06 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-sysv-tdep.c: Re-indent.
+
+2003-10-06 J. Brobecker <brobecker@gnat.com>
+
+ * language.h (default_word_break_characters): Add prototype.
+ * language.c (default_word_break_characters): New function.
+
+2003-10-06 Andreas Schwab <schwab@suse.de>
+
+ * i386-tdep.c (i386_analyze_frame_setup): Also handle xorl/subl
+ with %eax.
+
+2003-10-06 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (ALLDEPFILES): Remove "z8k-tdep.c" and
+ "h8500-tdep.c".
+ (z8k-tdep.o): Delete custom build rule.
+
+2003-10-06 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in: Update all dependencies.
+
+ * MAINTAINERS: Mention that h8500, mn10200, and z8k were deleted.
+ No longer list PA as as obsolete candidate. List m32r as
+ broken instead of obsolete.
+
+ * config/nm-m3.h, config/h8500/h8500.mt: Delete obsolete files.
+ * config/h8500/tm-h8500.h, config/i386/nm-ptx4.h: Ditto.
+ * config/i386/nm-symmetry.h, config/i386/ptx.mh: Ditto.
+ * config/i386/ptx.mt, config/i386/ptx4.mh: Ditto.
+ * config/i386/ptx4.mt, config/i386/symmetry.mh: Ditto.
+ * config/i386/symmetry.mt, config/i386/tm-ptx.h: Ditto.
+ * config/i386/tm-ptx4.h, config/i386/tm-symmetry.h: Ditto.
+ * config/i386/xm-ptx.h, config/i386/xm-ptx4.h: Ditto.
+ * config/i386/xm-symmetry.h, config/mips/mipsm3.mh: Ditto.
+ * config/mips/mipsm3.mt, config/mips/tm-mipsm3.h: Ditto.
+ * config/mips/xm-mipsm3.h, config/mn10200/mn10200.mt: Ditto.
+ * config/mn10200/tm-mn10200.h, config/pa/hppabsd.mh: Ditto.
+ * config/pa/hppabsd.mt, config/pa/hppaosf.mh: Ditto.
+ * config/pa/hppaosf.mt, config/pa/hppapro.mt: Ditto.
+ * config/pa/nm-hppab.h, config/pa/nm-hppao.h: Ditto.
+ * config/pa/tm-hppab.h, config/pa/tm-hppao.h: Ditto.
+ * config/pa/tm-pro.h, config/pa/xm-hppab.h: Ditto.
+ * config/pa/xm-pa.h, config/sparc/sparclet.mt: Ditto.
+ * config/sparc/sparclite.mt, config/sparc/tm-sparclet.h: Ditto.
+ * config/sparc/tm-sparclite.h, config/z8k/tm-z8k.h: Ditto.
+ * config/z8k/z8k.mt: Ditto.
+
+ * NEWS: Mention that z8k-zilog-none, z8ksim, mn10200-*-*,
+ h8500hms, hppa*-*-bsd*, hppa*-*-osf*, hppa*-*-pro*,
+ mips*-*-mach3*, i[3456]86-sequent-sysv4*, i[3456]86-sequent-sysv*,
+ i[3456]86-sequent-bsd*, sparclet-*-*, sparclite-fujitsu-none, and
+ sparclite were removed.
+ * configure.host, configure.tgt: Remove corresponding tuples.
+
+ * breakpoint.c, breakpoint.h: Remove obsolete code.
+ * buildsym.c, dbxread.c, gdbtypes.c, mdebugread.c: Ditto.
+ * monitor.c, sparc-tdep.c, stabsread.c: Ditto.
+ * stabsread.h, xcoffread.c: Ditto.
+
+ * z8k-tdep.c, symm-tdep.c, symm-nat.c: Delete obsolete file.
+ * sparclet-stub.c, sparclet-rom.c: Delete obsolete file.
+ * sparcl-tdep.c, sparcl-stub.c, h8500-tdep.c: Delete obsolete file.
+ * m3-nat.c, mipsm3-nat.c, mn10200-tdep.c: Delete obsolete file.
+
+2003-10-06 David Lecomber <dsl@sources.redhat.com>
+
+ * f-valprint.c: Reformatting
+
+2003-10-06 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c: Remove duplicate comment.
+
+ * x86-64-tdep.c (x86_64_store_return_value): Don't use
+ DEPRECATED_REGISTER_RAW_SIZE. Use symbolic names for register
+ names for return values. This fixes a bug since we looked at %rbx
+ instead of %rdx.
+
+2003-10-05 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c: Include "regset.h".
+
+ * i386-tdep.h (struct gdbarch_tdep): Add members gregset,
+ gregset_reg_offset, gregset_num_regs, sizeof_gregset, fpregset,
+ sizeof_fpregset.
+ * i386-tdep.c: Include "regset.h".
+ (i386_supply_gregset): New function.
+ (i386_supply_fpregset): New function.
+ (i386_gdbarch_init): Initialze register set-related members of
+ TDEP.
+ * x86-64-tdep.c (x86_64_supply_fpregset): New function.
+ (x86_64_init_abi): Initialize TDEP->sizeof_fpregset.
+
+2003-10-03 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): When the 64 bit SysV ABI,
+ set extract_return_value, store_return_value and
+ use_struct_convention to ppc64_sysv_abi_extract_return_value,
+ ppc64_sysv_abi_store_return_value and
+ ppc64_sysv_abi_use_struct_convention.
+ * ppc-tdep.h (ppc64_sysv_abi_extract_return_value): Declare.
+ (ppc64_sysv_abi_store_return_value): Declare.
+ (ppc64_sysv_abi_use_struct_convention): Declare.
+ * ppc-sysv-tdep.c (enum return_value_convention): Define.
+ (ppc64_sysv_abi_extract_return_value): New function.
+ (ppc64_sysv_abi_store_return_value): New function.
+ (ppc64_sysv_abi_use_struct_convention): New function.
+ (ppc64_sysv_abi_return_value): New function.
+
+2003-10-03 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Only
+ convert a descriptor to a function when it's in the ".opd"
+ section.
+
+2003-10-03 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (sh_push_dummy_call_fpu): Initialize flt_argreg and
+ reg_size to keep GCC silent.
+
+2003-10-03 Corinna Vinschen <vinschen@redhat.com>
+
+ * dwarf2-frame.c (struct comp_unit): Add tbase member to store
+ base for DW_EH_PE_textrel encodings.
+ (read_encoded_value): Add a DW_EH_PE_textrel case.
+ (dwarf2_build_frame_info): Set unit.tbase to beginning of text
+ section.
+
+2003-10-03 Mark Kettenis <kettenis@gnu.org>
+
+ * dwarf2-frame.c (dwarf2_build_frame_info): Fix comment.
+
+2003-10-02 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_REGISTER_RAW_SIZE): Rename
+ REGISTER_RAW_SIZE.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * aix-thread.c, alpha-tdep.h, arm-tdep.c, core-sol2.c: Update.
+ * cris-tdep.c, dve3900-rom.c, findvar.c, frame.c: Update.
+ * hppa-tdep.c, hppab-nat.c, hppah-nat.c, hppam3-nat.c: Update.
+ * hpux-thread.c, i386gnu-nat.c, ia64-aix-nat.c: Update.
+ * ia64-linux-nat.c, ia64-tdep.c, infcmd.c, infptrace.c: Update.
+ * infrun.c, irix5-nat.c, lynx-nat.c, mips-linux-tdep.c: Update.
+ * mips-nat.c, mips-tdep.c, mipsv4-nat.c, mn10300-tdep.c: Update.
+ * monitor.c, ns32k-tdep.c, ppc-linux-nat.c, regcache.c: Update.
+ * remote-e7000.c, remote-mips.c, remote-sim.c: Update.
+ * remote-vxmips.c, remote-vxsparc.c, remote.c: Update.
+ * rom68k-rom.c, rs6000-nat.c, rs6000-tdep.c, s390-tdep.c: Update.
+ * sh64-tdep.c, sparc-nat.c, sparc-tdep.c, stack.c: Update.
+ * target.c, tracepoint.c, v850-tdep.c, v850ice.c, valops.c: Update.
+ * vax-tdep.c, vax-tdep.h, x86-64-tdep.c, xstormy16-tdep.c: Update.
+ * config/m68k/tm-delta68.h, config/m68k/tm-vx68.h: Update.
+ * config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h: Update.
+
+2003-10-02 Jim Blandy <jimb@redhat.com>
+
+ * dwarf2read.c (struct die_info): Doc fix.
+
+2003-10-02 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c: Running thru gdb_indent.sh.
+
+2003-10-02 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (sh_justify_value_in_reg): New function.
+ (sh_stack_allocsize): Ditto.
+ (flt_argreg_array): New array used for floating point argument
+ passing.
+ (sh_init_flt_argreg): New function.
+ (sh_next_flt_argreg): Ditto.
+ (sh_push_dummy_call_fpu): Simplify. Rename "odd_sized_struct" to
+ "pass_on_stack". Use new helper functions. Accomodate Renesas ABI.
+ Fix argument passing strategy.
+ (sh_push_dummy_call_nofpu): Ditto.
+
+2003-10-01 Andrew Cagney <cagney@redhat.com>
+
+ * value.h (register_value_being_returned): Declare. Replace
+ "value_being_returned".
+ * infcall.c (call_function_by_hand): Use
+ register_value_being_returned.
+ * infcmd.c (print_return_value): Call
+ "register_value_being_returned", handle struct return locally.
+ * values.c (register_value_being_returned): New function. Replace
+ "value_being_returned".
+
+2003-09-30 Elena Zannoni <ezannoni@redhat.com>
+
+ * linux-proc.c (linux_do_registers): New function.
+ (linux_make_note_section): Use linux_do_registers in case of
+ single threaded inferior programs.
+
+2003-10-01 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): When STRUCT_RETURN, always
+ use STRUCT_ADDR. When not using "struct return convention", pass
+ "0" to "value_being_returned". Add FIXMEs.
+ * infcmd.c (print_return_value): Pass an explicit 0/1 to
+ value_being_returned. Add comments.
+ * values.c (value_being_returned): Add fixme.
+ * hppa-tdep.c (hppa_extract_struct_value_address): Add FIXME.
+ (hppa_value_returned_from_stack): Add FIXME.
+
+2003-09-30 David Carlton <carlton@kealia.com>
+
+ * dwarf2read.c (struct die_info): Add 'parent' field; replace
+ 'has_children' and 'next' by 'child' and 'sibling'.
+ (read_comp_unit): Rework algorithm, breaking body into
+ read_die_and_children and read_die_and_siblings.
+ (read_die_and_children, read_die_and_siblings): New.
+ (read_full_die): Add 'has_children' argument; set it instead of
+ the die's 'has_children' field. Minor formatting cleanup.
+ (free_die_list): Use die->child and die->sibling instead of
+ die->next.
+ (dump_die_list): Ditto.
+ (sibling_die): Use die->sibling.
+ (psymtab_to_symtab_1): Use die's 'child' field in place of its
+ 'has_children' and 'next' fields.
+ (process_die, read_file_scope, read_func_scope)
+ (read_lexical_block_scope, read_structure_scope)
+ (read_enumeration, read_array_type, read_common_block)
+ (read_namespace, read_subroutine_type, dump_die): Ditto.
+
+2003-09-30 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): Set the PowerOpen red zone
+ to 224, not 220.
+
+2003-09-30 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_REGISTER_VIRTUAL_SIZE): Rename
+ REGISTER_VIRTUAL_SIZE.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * vax-tdep.h, sparc-tdep.c, regcache.h: Update.
+ * regcache.c, mn10300-tdep.c, mips-tdep.c: Update.
+ * infcmd.c, frame.c, findvar.c, cris-tdep.c: Update.
+
+2003-09-29 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_REGISTER_VIRTUAL_TYPE): Rename
+ REGISTER_VIRTUAL_TYPE.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * arch-utils.c, hppa-tdep.c, regcache.c, regcache.h: Update.
+ * sh64-tdep.c, sparc-tdep.c: Update.
+
+ * remote-vxsparc.c (vx_read_register): Replace bzero with memset.
+ * remote-vxmips.c (vx_read_register): Ditto.
+ * remote-vx68.c (vx_read_register): Ditto.
+ * gnu-nat.c (inf_validate_procs): Ditto.
+
+2003-09-29 J. Brobecker <brobecker@gnat.com>
+
+ * infcall.c (call_function_by_hand): Fix build failure
+ introduced in the previous change to this file.
+
+2003-09-29 Andrew Cagney <cagney@redhat.com>
+
+ * NEWS: Mention Objective-C.
+
+2003-09-29 Jerome Guitton <guitton@act-europe.fr>
+
+ * arm-tdep.c (arm_make_prologue_cache): Use trad_frame_addr_p to
+ test if the register has been saved on the stack.
+ (arm_scan_prologue_cache): When analysing the instruction
+ "str lr, [sp, #-4]", save the address where lr has been stored.
+
+2003-09-28 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (frame_read_unsigned_register): Delete function.
+ * frame.h (frame_read_unsigned_register): Delete declaration.
+ * sparc-tdep.c (sparc_init_extra_frame_info): Use
+ get_frame_register_unsigned.
+ (sparc_frame_saved_pc, sparc_pop_frame): Ditto.
+ * m68hc11-tdep.c (m68hc11_print_register): Ditto.
+ * d10v-tdep.c (d10v_print_registers_info): Ditto.
+
+ * frame.h (frame_read_register): Delete declaration.
+ * frame.c (frame_read_register): Delete function.
+ * arch-utils.c (legacy_register_to_value): Use get_frame_register.
+ * sparc-tdep.c (sparc_fetch_pointer_argument): Ditto.
+ * rs6000-tdep.c (rs6000_fetch_pointer_argument): Ditto.
+ * mips-tdep.c (mips_register_to_value): Ditto.
+ * hppa-tdep.c (hppa_fetch_pointer_argument): Ditto.
+ * d10v-tdep.c (d10v_print_registers_info): Ditto.
+
+ * frame.c (frame_read_signed_register): Delete function.
+ (frame_read_unsigned_register): Update comments.
+ * frame.h (frame_read_signed_register): Delete declaration.
+ * h8300-tdep.c (h8300_print_register): Use
+ get_frame_register_signed.
+ * m68hc11-tdep.c (m68hc11_print_register): Ditto.
+
+ * config/pa/tm-hppa.h (DEPRECATED_VALUE_RETURNED_FROM_STACK):
+ Rename VALUE_RETURNED_FROM_STACK.
+ * infcmd.c (print_return_value): Update.
+ * infcall.c (call_function_by_hand): Update.
+
+2003-09-28 Mark Kettenis <kettenis@gnu.org>
+
+ * i387-tdep.c (i387_supply_fsave, i387_supply_fxsave): Add
+ regcache argument and reverse the order of the other two
+ arguments. Remove local regcache variable. Determine
+ architecture from REGCACHE. Update comments.
+ * x86-64-tdep.c (x86_64_supply_fxsave): Add regcache argument and
+ reverse the order of the other two arguments. Remove local
+ regcache variable. Determine architecture from REGCACHE. Update
+ comments.
+ * i387-tdep.h (i387_supply_fsave, i387_supply_fxsave): Adjust
+ prototypes. Update comments.
+ * x86-64-tdep.c (x86_64_supply_fxsave): Adjust prototype. Adjust
+ comment.
+ * amd64fbsd-nat.c (supply_fpregset, fetch_inferior_registers):
+ Update.
+ * go32-nat.c (fetch_register, go32_fetch_registers): Update.
+ * i386-interix-nat.c (supply_fpregset): Update.
+ * i386-linux-nat.c (supply_fpregset, supply_fpxregset): Update.
+ * i386-nto-tdep.c (i386nto_supply_fpregset): Update.
+ * i386gnu-nat.c (fetch_fpregs, supply_fpregset): Update.
+ * i386bsd-nat.c (supply_fpregset, fetch_inferior_registers): Update.
+ * i386nbsd-tdep.c (fetch_core_registers, fetch_elfcore_registers):
+ Update.
+ * i386obsd-tdep.c (fetch_core_registers): Update.
+ * i386v4-nat.c (supply_fpregset): Update.
+ * x86-64-linux-nat.c (supply_fpregset): Update.
+ * x86-64-linux-tdep.c (fetch_core_registers): Update.
+
+2003-09-27 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.h: Put opaque declarations in alphabetical
+ order. Remove spurious whitespace.
+ (struct gdbarch_tdep): add st0_regnum and mm0_regnum members.
+ (i386_sse_regnum_p, i386_mxcsr_regnum_p): Remove prototypes.
+ * i386-tdep.c (MM0_REGNUM): Remove define.
+ (i386_mmx_regnum_p): Add gdbarch argument.
+ (i386_sse_regnum_p, i386_mxcsr_regnum_p): Add gdbarch argument.
+ Rewrite using new macro definitions for FPU/SSE registers.
+ (i386_fp_regnum_p, i386_fpc_regnum_p): Rewrite using new macro
+ definitions from i387-tdep.h.
+ (i386_register_name): Update.
+ (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): Update to use
+ new macro definitions for FPU/SSE registers.
+ (i386_extract_return_value): Determine whether floating-point
+ registers are present by examining REGCACHE's architecture.
+ (i386_store_return_value): Likewise. Use I386_MAX_REGISTER_SIZE
+ instead of FPU_REG_RAW_SIZE. Use new macro definitions for
+ FPU/SSE registers.
+ (i386_register_type): Update.
+ (i386_mmx_regnum_to_fp_regnum): Rewrite using new macro
+ definitions for FPU registers. Use REGCACHE's architecture to
+ determine the appropriate register numbers.
+ (i386_pseudo_register_read, i386_pseudo_register_write,
+ i386_register_reggroup_p): Update.
+ (i386_gdbarch_init): Initialize TDEP->st0_regnum and
+ TDEP->mm0_regnum.
+ * i387-tdep.h (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM,
+ I387_FTAG_REGNUM, I387_FISEG_REGNUM, I387_FIOFF_REGNUM,
+ I387_FOSEG_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM,
+ I387_XMM0_REGNUM, I387_MXCSR_REGNUM): New defines.
+ (i387_supply_fsave, i387_fill_fsave, i387_supply_fxsave,
+ i387_fill_fxsave): Change type of fsave/fxsave argument from `char
+ *' to `void *'.
+ * i387-tdep.c (i387_print_float_info, fsave_offset, FSAVE_ADDR,
+ i387_supply_fsave, i387_fill_fsave, fxsave_offset, FXSAVE_ADDR,
+ i387_supply_fxsave, i387_fill_fxsave): Update to use new macro
+ definitions for FPU/SSE registers.
+ (FXSAVE_MXCSR_ADDR): New define.
+ * x86-64-tdep.c (x86_64_init_abi): Override TDEP->st0_regnum and
+ TDEP->mm0_regnum.
+ (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): Remove defines.
+ (I387_ST0_REGNUM): Define.
+
+ * regcache.h (get_regcache_arch): New prototype.
+ * regcache.c (get_regcache_arch): New function.
+
+ * x86-64-tdep.c (x86_64_store_return_value): Remove spurious
+ whitespace.
+
+ * i386-tdep.c (i386_num_register_names, i386_num_mmx_regs):
+ Initialize using ARRAY_SIZE.
+
+2003-09-27 Andrew Cagney <cagney@redhat.com>
+
+ * arch-utils.c (deprecated_init_frame_pc_default): Rename
+ "init_frame_pc_default".
+ * arch-utils.h (deprecated_init_frame_pc_default): Update.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sh64-tdep.c (sh64_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * config/pa/tm-hppa.h (DEPRECATED_INIT_FRAME_PC): Update.
+
+2003-09-26 Mark Kettenis <kettenis@gnu.org>
+
+ * regset.h: New file.
+ * Makefile.in (regset_h): Add.
+
+2003-09-25 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (deprecated_frame_saved_regs): Rename
+ get_frame_saved_regs.
+ * cris-tdep.c, frame.c, h8300-tdep.c, hppa-tdep.c: Update.
+ * mcore-tdep.c, mips-tdep.c, mn10300-tdep.c: Update.
+ * ns32k-tdep.c, ppc-linux-tdep.c, rs6000-tdep.c: Update.
+ * s390-tdep.c, sh64-tdep.c, stack.c: Update.
+ * v850-tdep.c, vax-tdep.c, xstormy16-tdep.c: Update.
+
+2003-09-25 Andrew Cagney <cagney@redhat.com>
+
+ * NEWS: Mention the new backtrace mechanism, DWARF 2 CFI, hosted
+ file I/O, multi-arch, TLS and NPTL, DWARF 2 Location Expressions,
+ and Java.
+ * PROBLEMS: Mention that mips*-*-*, powerpc*-*-*, sparc*-*-* and
+ arm*-*-* do not use the new frame code.
+
+2003-09-25 David Carlton <carlton@kealia.com>
+
+ * c-exp.y: Remove 'register' declarations.
+ * f-exp.y, jv-exp.y, m2-exp.y, objc-exp.y, p-exp.y: Ditto.
+
+2003-09-25 David Carlton <carlton@kealia.com>
+
+ * c-exp.y: Include cp-support.h. Add qualified_type.
+ (yylex): Delete nested type hack; add comments.
+ * cp-namespace.c (cp_lookup_nested_type): New function.
+ * cp-support.h: Declare cp_lookup_nested_type.
+ * eval.c (evaluate_subexp_standard): Call value_aggregate_elt
+ instead of value_struct_elt_for_reference.
+ * valops.c: Include cp-support.h.
+ (value_aggregate_elt): New function.
+ (value_namespace_elt): Ditto.
+ (value_struct_elt_for_reference): Make static.
+ * value.h: Delete declaration of value_struct_elt_for_reference;
+ add declaration for value_aggregate_elt.
+ * Makefile.in (c-exp.tab.o): Depend on $(cp_support_h).
+ (valops.o): Ditto.
+
+2003-09-25 Daniel Jacobowitz <drow@mvista.com>
+
+ * stack.c: Include "reggroups.h".
+ (frame_info): Only display registers in all_reggroup.
+ * Makefile.in (stack.o): Update dependencies.
+
+2003-09-25 Jerome Guitton <guitton@act-europe.fr>
+
+ * arm-tdep.c (arm_skip_prologue): Handle "sub ip, sp #n" and
+ "add ip, sp #n" in the prologue.
+ (arm_scan_prologue): Ditto.
+
+2003-09-25 Jerome Guitton <guitton@act-europe.fr>
+
+ * MAINTAINERS (write after approval): Add myself.
+
+2003-09-25 Andreas Schwab <schwab@suse.de>
+
+ * m68k-tdep.c: Include "dwarf2-frame.h".
+ (m68k_gdbarch_init): Add the DWARF CFI frame unwinder.
+ * Makefile.in (m68k-tdep.o): Update dependencies.
+
+2003-09-25 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (struct frame_extra_info): Remove.
+ (struct sh_frame_cache): New structure.
+ (GET_SOURCE_REG): New macro extracting source register of an opcode.
+ (GET_TARGET_REG): Ditto but target register.
+ (GET_PUSHED_REG): Remove.
+ (IS_MOV_ARG_TO_REG): New macro.
+ (IS_MOV_ARG_TO_IND_R14): New macro.
+ (IS_MOV_ARG_TO_IND_R14_WITH_DISP): New macro.
+ (IS_MOVW_PCREL_TO_REG): New macro.
+ (IS_MOVL_PCREL_TO_REG): New macro.
+ (IS_SUB_REG_FROM_SP): New macro.
+ (IS_ARG_MOV): Remove.
+ (IS_MOV_TO_R14): Remove.
+ (IS_RESTORE_FP): New macro.
+ (IS_RTS): New macro.
+ (IS_LDS): New macro.
+ (IS_MOV_FP_SP): New macro.
+ (IS_ADD_REG_TO_FP): New macro.
+ (IS_ADD_IMM_FP): New macro.
+ (sh_skip_prologue_hard_way): Remove.
+ (sh_saved_pc_after_call): Remove.
+ (sh_frame_chain): Remove.
+ (sh_find_callers_reg): Remove.
+ (sh_nofp_frame_init_saved_regs): Remove.
+ (sh_fp_frame_init_saved_regs): Remove.
+ (sh_init_extra_frame_info): Remove.
+ (sh_analyze_prologue): New function.
+ (sh_skip_prologue): Remove deprecated code. Rely on new function
+ sh_analyze_prologue when after_prologue fails.
+ (sh_frame_saved_pc): Remove.
+ (sh_alloc_frame_cache): New function.
+ (sh_frame_cache): Ditto.
+ (sh_frame_prev_register): Ditto.
+ (sh_frame_this_id): Ditto.
+ (sh_frame_unwind): New structure defining the heuristic frame
+ sniffer interface.
+ (sh_frame_sniffer): New function.
+ (sh_unwind_sp): Ditto.
+ (sh_unwind_pc): Ditto.
+ (sh_unwind_dummy_id): Ditto.
+ (sh_frame_base_address): Ditto.
+ (sh_frame_base): New structure defining new frame base code.
+ (sh_in_function_epilogue_p): New function.
+ (sh_gdbarch_init): Restructure and simplify to eliminate deprecated
+ code and to call all new code instead. Initialize dwarf2 and
+ heuristic frame sniffer.
+
+2003-09-24 Paul N. Hilfinger <hilfingr@nile.gnat.com>
+
+ * parser-defs.h (struct exp_descriptor): New definition, containing
+ language-specific info for printing, prefixifying, dumping, and
+ evaluating expressions.
+ (exp_descriptor_standard): Declare new variable.
+ (print_subexp): Make global and declare here (from expprint.c).
+ (dump_subexp): Ditto.
+ (dump_subexp_body_standard): Declare.
+ (operator_length_standard): Declare.
+ (op_name_standard): Declare.
+ (print_subexp): Declare.
+ (print_subexp_standard): Declare.
+
+ * language.h (struct language_defn): Add la_exp_desc field to hold
+ pointer to table for language-specific operators.
+ Remove evaluate_exp field, which is now in struct exp_descriptor.
+
+ * parse.c (operator_length): Move most code to new
+ operator_length_standard function. Use language-specific information.
+ (operator_length_standard): New function taking most code from
+ operator_length.
+ (exp_descriptor_standard): New constant.
+
+ * expression.h (enum exp_opcode): Add definitions of OP_EXTENDED0
+ and OP_EXTENDED_LAST.
+
+ * expprint.c (print_subexp): Use language-specific print_subexp.
+ Make global; remove static declaration.
+ Move most code to print_subexp_standard.
+ (print_subexp_standard): New function, containing code formerly in
+ print_subexp.
+ (op_name): Add expression to argument signature.
+ Use langauge-specific op_name.
+ Move most code to op_name_standard.
+ (op_name_standard): New function, containing code formerly in op_name.
+ (dump_subexp): Use new version of op_name function.
+ Use language-specific dump_subexp_body, and move most existing code to
+ dump_subexp_body_standard.
+ (dump_raw_expression): Use new op_name interface.
+ (dump_subexp_body): Move most code to dump_subexp_body_standard.
+ (dump_subexp_body_standard): New function, containing code formerly
+ in dump_subexp_body.
+
+ * language.c (unknown_language): Add default la_exp_desc field and
+ remove evaluate_exp field.
+ (auto_language): Ditto.
+ (local_language): Ditto.
+ * f-lang.c (f_language_defn): Ditto.
+ * c-lang.c (c_language_defn): Ditto.
+ (cplus_language_defn): Ditto.
+ (asm_language_defn): Ditto.
+ (minimal_language_defn): Ditto.
+ * p-lang.c (pascal_language_defn): Ditto.
+ * m2-lang.c (m2_language_defn): Ditto.
+ * objc-lang.c (objc_language_defn): Ditto.
+
+ * jv-lang.c (exp_descriptor_java): New variable, containing
+ Java-specific expression evaluator.
+ (java_language_defn): Add la_exp_desc field and remove evaluate_exp
+ field.
+ * scm-lang.c (exp_descriptor_scm): New variable, containing
+ Scheme-specific expression evaluator.
+ (scm_language_defn): Add la_exp_desc field and remove evaluate_exp
+ field.
+ * objc-lang.c (print_object_command): Take evaluate_exp from the
+ la_exp_desc field.
+
+ * Makefile.in (eval.o): Add dependency on parser-defs.h.
+
+ * eval.c: Include parser-defs.h for the full declaration of
+ la_exp_desc's type.
+ (evaluate_subexp): Get evaluate_exp out of la_exp_desc field.
+
+2003-09-23 Paul N. Hilfinger <hilfingr@nile.gnat.com>
+
+ * parser-defs.h (operator_length): Declare.
+
+ * parse.c (length_of_subexp): Use operator_length to get operator
+ lengths and arities for operators.
+ Move most code to new operator_length function.
+ (operator_length): New function absorbing most code from
+ length_of_subexp.
+ (prefixify_subexp): Remove large case and use operator_length instead.
+ (parse_exp_1): Use renamings:
+ dump_prefix_expression => dump_raw_expression and
+ dump_postfix_expression => dump_prefix_expression.
+
+ * expression.h (dump_prefix_expression): Rename to ...
+ (dump_raw_expression): New name.
+ (dump_postfix_expression): Rename to ...
+ (dump_prefix_expression): New name.
+
+ * expprint.c (dump_subexp): Make global. Add comment.
+ Move most existing code to dump_subexp_body.
+ (dump_subexp_body): New function.
+ (dump_prefix_expression): Rename to dump_raw_expression.
+ Remove attempt to print the expression via print_expression: it can't
+ work before the expression is prefixified.
+ (dump_raw_expression): Renamed from dump_prefix_expression.
+ (dump_postfix_expression): Rename to dump_prefix_expression, since
+ that's what it does.
+ Remove 'note' parameter, since this routine must be used on
+ prefixified expression.
+ (dump_prefix_expression): Renamed from dump_postfix_expression.
+
+2003-09-22 Jim Blandy <jimb@redhat.com>
+
+ * dwarf2read.c (read_array_type): When building the type for an
+ array of unspecified length, make sure to choose the upper bound
+ so that the array's total length comes out to be zero --- that's
+ how we represent such arrays.
+
+2003-09-22 Michael Chastain <mec@shout.net>
+
+ * MAINTAINERS: Rename gdb.c++ to gdb.cp.
+
+2003-09-22 Jeff Johnston <jjohnstn@redhat.com>
+
+ * top.c (quit_force): Fix indirect call to quit_target so
+ a struct qt_args pointer is passed.
+
+2003-09-22 Andrew Cagney <cagney@redhat.com>
+
+ * arch-utils.h (init_frame_pc_noop): Delete declaration.
+ * arch-utils.c (init_frame_pc_noop): Delete function.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Do not set
+ "init_frame_pc".
+ * mips-tdep.c (mips_gdbarch_init): Ditto.
+ * i386-interix-tdep.c (i386_interix_init_abi): Ditto.
+ * config/sparc/tm-sparc.h (init_frame_pc_noop): Delete
+ declaration.
+ (DEPRECATED_INIT_FRAME_PC): Delete macro.
+ * config/rs6000/tm-rs6000.h (init_frame_pc_noop): Delete
+ declaration.
+ (DEPRECATED_INIT_FRAME_PC): Delete macro.
+
+2003-09-22 Anthony Green <green@redhat.com>
+
+ * monitor.c (monitor_expect): Delete unused conflicting targ_ops
+ declaration.
+
+2003-09-20 Andrew Cagney <cagney@redhat.com>
+
+ * breakpoint.c: Eliminate ARGSUSED.
+ * buildsym.c, cli/cli-cmds.c, cli/cli-script.c: Ditto.
+ * coffread.c, corelow.c, dwarf2read.c, event-top.c: Ditto.
+ * exec.c, gcore.c, hpux-thread.c, infcmd.c, inflow.c: Ditto.
+ * infrun.c, inftarg.c, maint.c, ocd.c, printcmd.c: Ditto.
+ * procfs.c, regcache.c, remote-rdi.c, remote-sds.c: Ditto.
+ * remote.c, sol-thread.c, source.c, stabsread.c: Ditto.
+ * stack.c, symfile.c, target.c, top.c, typeprint.c: Ditto.
+ * utils.c, v850ice.c, valprint.c, values.c, win32-nat.c: Ditto.
+ * wince.c, remote-vx.c: Ditto.
+
+ * cli/cli-script.c: Remove "register" attributes.
+ * config/pa/tm-hppa.h: Ditto.
+ * cli/cli-decode.c: Ditto.
+ * cli/cli-cmds.c: Ditto.
+
+2003-09-19 Andrew Cagney <cagney@redhat.com>
+
+ * sparcnbsd-nat.c (getregs_supplies): Rename NPC_REGNUM to
+ DEPRECATED_NPC_REGNUM.
+ * sparc64nbsd-nat.c (getregs_supplies): Ditto.
+
+2003-09-19 Christopher Faylor <cgf@redhat.com>
+
+ * win32-nat.c (mappings): Remove HAVE_SSE conditional.
+
+2003-09-19 Jim Blandy <jimb@redhat.com>
+
+ * macrotab.c (macro_include): Use the correct comparison to find
+ the appropriate place for this inclusion in the list.
+
+2003-09-19 Andrew Cagney <cagney@redhat.com>
+
+ * config/pa/nm-hppah.h (NEED_TEXT_START_END): Delete.
+ (DEPRECATED_HPUX_TEXT_END): Define.
+ (deprecated_hpux_text_end): Declare.
+ (struct target_ops): Declare opaque.
+ * hppah-nat.c (text_end): Make static.
+ (deprecated_hpux_text_end): New function.
+ * exec.c (text_end): Delete global variable.
+ (NEED_TEXT_START_END): Do not define.
+ (exec_file_attach): Replace code computing "text_end" code with
+ call to DEPRECATED_HPUX_TEXT_END.
+
+2003-09-19 Andrew Cagney <cagney@redhat.com>
+
+ * utils.c (align_up, align_down): New functions.
+ * defs.h (align_up, align_down): Declare.
+ * ppc-sysv-tdep.c (align_up, align_down): Delete functions.
+ * s390-tdep.c: Replace "round_up" and "round_down" with "align_up"
+ and "align_down".
+ (round_up, round_down): Delete functions.
+ * mips-tdep.c: Replace ROUND_UP and ROUND_DOWN with "align_up" and
+ "align_down".
+ (ROUND_DOWN, ROUND_UP): Delete macros.
+ (mips_dump_tdep): Do not print "ROUND_UP" or "ROUND_DOWN".
+ * h8300-tdep.c: Replace "round_up" and "round_down" with
+ "align_up" and "align_down".
+ (round_up, round_down): Delete macros.
+ * frv-tdep.c: Replace ROUND_UP and ROUND_DOWN with "align_up" and
+ "align_down".
+ (ROUND_UP, ROUND_DOWN): Delete macros.
+
+2003-09-18 J. Brobecker <brobecker@gnat.com>
+
+ * hppa-hpux-tdep.c (_initialize_hppa_hpux_tdep): Remove a
+ hard-coded constant. Use the proper machine name instead.
+
+2003-09-17 Andrew Cagney <cagney@redhat.com>
+
+ * sparc-tdep.c (legacy_register_name): Delete function.
+ * mips-tdep.c (mips_dump_tdep): Do not print REGISTER_NAME.
+ (mips_gdbarch_init): Refer to MIPS_REGISTER_NAME in comments.
+ * infcmd.c (gdb_register_name): Delete variable.
+ * gdbarch.sh (SDB_REG_TO_REGNUM): Delete reference to
+ REGISTER_NAME and "tm.h".
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * dpx2-nat.c (regmap): Refer to REGISTER_NAME and not
+ REGISTER_NAMES in comments.
+ * remote-st.c (get_reg_name), i386b-nat.c (tregmap): Ditto.
+ * m68klinux-nat.c (regmap): Ditto.
+
+2003-09-17 Jim Blandy <jimb@redhat.com>
+
+ * Makefile.in (dis_asm_h): Note that this #includes "bfd.h".
+
+2003-09-17 Andrew Cagney <cagney@redhat.com>
+
+ * ppcnbsd-tdep.c (ppcnbsd_use_struct_convention): New function.
+ (ppcnbsd_init_abi): Set "use_struct_convention" to
+ "ppcnbsd_use_struct_convention".
+
+2003-09-17 Mark Kettenis <kettenis@gnu.org>
+
+ * gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Add comment.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ (stabs_argument_has_addr): New architecture method.
+ * arch-utils.h (default_stabs_argument_has_addr): New prototype.
+ * arch-utils.c: Include "buildsym.h".
+ (default_stabs_argument_has_addr): New function.
+ * stabsread.c (define_symbol): Use stabs_argument_has_addr
+ instead of DEPRECATED_REG_STRUCT_HAS_ADDR.
+
+2003-09-17 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_NPC_REGNUM): Deprecate NPC_REGNUM.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * core-sol2.c, hppa-tdep.c, lynx-nat.c, procfs.c: Update.
+ * regcache.c, remote-vxsparc.c, sparc-linux-nat.c: Update.
+ * sparc-nat.c, sparc-tdep.c, sparc64-tdep.c: Update.
+ * sparcnbsd-tdep.c: Update.
+
+2003-09-17 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_REGISTER_BYTE): Rename REGISTER_BYTE.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * arm-linux-tdep.c, core-sol2.c, cris-tdep.c: Update.
+ * d10v-tdep.c, frame.c: Update.
+ * hppa-tdep.c, hppab-nat.c, hppah-nat.c, hppam3-nat.c: Update.
+ * hpux-thread.c, i386gnu-nat.c, ia64-aix-nat.c: Update.
+ * ia64-linux-nat.c, irix5-nat.c, lynx-nat.c, m68knbsd-nat.c: Update.
+ * mcore-tdep.c, mips-linux-tdep.c, mips-tdep.c: Update.
+ * mipsv4-nat.c, mn10300-tdep.c, ns32k-tdep.c: Update.
+ * ns32knbsd-nat.c, ppc-bdm.c, regcache.c, remote-sds.c: Update.
+ * remote-vx68.c, remote-vxmips.c, remote-vxsparc.c: Update.
+ * remote.c, rs6000-tdep.c, s390-tdep.c, sh64-tdep.c: Update.
+ * sparc-nat.c, sparc-tdep.c, sun3-nat.c, v850-tdep.c: Update.
+ * v850ice.c, vax-tdep.c, xstormy16-tdep.c: Update.
+ * config/m68k/tm-cisco.h, config/m68k/tm-delta68.h: Update.
+ * config/pa/nm-hppah.h: Update.
+
+2003-09-16 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Set the 32 bit
+ "use_struct_convention" to "ppc_linux_use_struct_convention".
+ (ppc_linux_use_struct_convention): New function.
+ * rs6000-tdep.c (rs6000_use_struct_convention): New function.
+ (rs6000_gdbarch_init): For AIX, set "use_struct_convention" to
+ "rs6000_use_struct_convention".
+ * ppc-tdep.h (ppc_sysv_abi_broken_use_struct_convention): Delete
+ declaration.
+ * ppc-sysv-tdep.c (ppc_sysv_abi_broken_use_struct_convention):
+ Delete function.
+
+2003-09-16 Andrew Cagney <cagney@redhat.com>
+
+ * buildsym.c: Remove more occurances of "register".
+ * coffread.c, dbxread.c, dcache.c, dwarf2read.c: Ditto.
+ * environ.c, eval.c, f-valprint.c, findvar.c: Ditto.
+ * gdbtypes.c, gnu-v2-abi.c, h8300-tdep.c, hppa-tdep.c: Ditto.
+ * infcmd.c, mdebugread.c, minsyms.c, mips-tdep.c: Ditto.
+ * printcmd.c, remote-vx.c, sh-stub.c, sh-tdep.c: Ditto.
+ * sh64-tdep.c, source.c, stabsread.c, stack.c: Ditto.
+ * standalone.c, symfile.c, symmisc.c, symtab.c: Ditto.
+ * utils.c, valops.c, values.c, xcoffread.c: Ditto.
+
+2003-09-16 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.h (struct gdbarch_tdep): Remove. Change all register
+ numbers to enumeration values.
+ * sh-tdep.c: Accomodate above change.
+ (SH_NUM_REGS): Rename from SH_DEFAULT_NUM_REGS.
+ (NUM_PSEUDO_REGS_SH_MEDIA): Remove (sh5 only).
+ (NUM_PSEUDO_REGS_SH_COMPACT): Remove (sh5 only).
+ (IS_ADD_IMM_SP): Rename from IS_ADD_SP.
+ (IS_FPUSH): Rename from IS_FMOV.
+ (sh_extract_struct_value_address): Remove useless comment.
+ (sh_dsp_register_sim_regno): Use register values from sh-tdep.h
+ instead of own local values.
+ (sh_dump_tdep): Remove.
+ (_initialize_sh_tdep): Accomodate removing sh_dump_tdep.
+ * sh3-rom.c (sh3_supply_register): Accomodate sh-tdep.h changes.
+
+2003-09-15 Andrew Cagney <cagney@redhat.com>
+
+ * doublest.c (convert_floatformat_to_doublest): No longer need to
+ cast "exp_bias" to an int. Reverts 2002-12-04 change.
+
+2003-09-15 Daniel Jacobowitz <drow@mvista.com>
+
+ * values.c (unpack_double): Call floatformat_is_valid.
+
+2003-09-15 Mark Kettenis <kettenis@gnu.org>
+
+ * amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Change type of
+ ps_strings into a long.
+
+ * amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Rename from
+ _initialize_am64fbsd_nat.
+
+2003-09-15 Kevin Buettner <kevinb@redhat.com>
+
+ * dwarf2read.c (dwarf2_get_pc_bounds): Complain if offset
+ associated with DW_AT_ranges attribute is out of bounds.
+
+2003-09-15 David Lecomber <dsl@sources.redhat.com>
+
+ * f-valprint.c: Apply array element printing limits to multi-dimensional arrays
+
+2003-09-14 Michael Chastain <mec@shout.net>
+
+ * config/m68k/nm-apollo68v.h: Delete.
+ * config/m68k/xm-apollo68v.h: Delete.
+
+2003-09-14 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (rs6000_push_dummy_call): Fix typos.
+ * dcache.c: Update copyrights and descriptions.
+ * scm-exp.c, ia64-aix-nat.c, hppam3-nat.c: environ.c: Ditto.
+
+2003-09-14 Andrew Cagney <cagney@redhat.com>
+
+ * config/djgpp/fnchange.lst: Rename "amd64fbsd-tdep.c" and
+ "amd64fbsd-nat.c" to "a64fb-tdep.c" and "a64fb-nat.c".
+
+2003-09-14 Andrew Cagney <cagney@redhat.com>
+
+ * alpha-nat.c: Remove some occurances of "register".
+ * alpha-tdep.c, arm-tdep.c, blockframe.c, breakpoint.c: Ditto.
+ * buildsym.c, c-typeprint.c, c-valprint.c, coffread.c: Ditto.
+ * corefile.c, cp-support.c, cp-valprint.c, cris-tdep.c: Ditto.
+ * dbxread.c, dcache.c, dwarf2read.c, elfread.c: Ditto.
+ * environ.c, eval.c, event-top.c, f-typeprint.c: Ditto.
+ * f-valprint.c, findvar.c, frame.c, gdbtypes.c: Ditto.
+ * h8300-tdep.c, hppa-tdep.c, hppab-nat.c, hppah-nat.c: Ditto.
+ * hppam3-nat.c, hpread.c, ia64-aix-nat.c, ia64-linux-nat.c: Ditto.
+ * infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Ditto.
+ * infttrace.c, irix5-nat.c, jv-typeprint.c: Ditto.
+ * jv-valprint.c, m68k-tdep.c, m68klinux-nat.c, main.c: Ditto.
+ * mdebugread.c, minsyms.c, mips-linux-tdep.c: Ditto.
+ * mips-nat.c, mips-tdep.c, mipsread.c, mipsv4-nat.c: Ditto.
+ * ns32k-tdep.c, objfiles.c, p-typeprint.c: Ditto.
+ * p-valprint.c, ppc-linux-nat.c, printcmd.c: Ditto.
+ * remote-mips.c, remote-vx.c, rs6000-nat.c: Ditto.
+ * rs6000-tdep.c, scm-exp.c, sh-tdep.c, sh64-tdep.c: Ditto.
+ * solib.c, somread.c, source.c, sparc-tdep.c: Ditto.
+ * stabsread.c, stack.c, standalone.c, symfile.c: Ditto.
+ * symmisc.c, symtab.c, top.c, tracepoint.c: Ditto.
+ * typeprint.c, utils.c, valarith.c, valops.c: Ditto.
+ * values.c, vax-tdep.c, xcoffread.c: Ditto.
+
+2003-09-13 Andrew Cagney <cagney@redhat.com>
+
+ * config/pa/tm-hppa64.h (struct frame_info): Declare opaque.
+ * ppc-tdep.h (struct regcache): Declare opaque.
+ * objfiles.h (struct objfile_data): Declare opaque.
+ * cp-support.h (struct objfile): Declare opaque.
+ * linux-nat.h (target_waitstatus): Declare opaque.
+
+2003-09-14 Mark Kettenis <kettenis@gnu.org>
+
+ * gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Add comment.
+ (stabs_argument_has_addr): New architecture method.
+ * arch-utils.h (default_stabs_argument_has_addr): New prototype.
+ * arch-utils.c: Include "buildsym.h".
+ (default_stabs_argument_has_addr): New function.
+ * stabsread.c (define_symbol): Use stabs_argument_has_addr
+ instead of DEPRECATED_REG_STRUCT_HAS_ADDR.
+
+ * cris-tdep.c (cris_gdbarch_init): Set
+ deprecated_reg_struct_has_addr instead of reg_struct_has_addr.
+ * hppa-tdep.c (hppa_gdbarch_init): Likewise.
+ * mcore-tdep.c (mcore_gdbarch_init): Likewise.
+ * mips-tdep.c (mips_gdbarch_init): Likewise.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
+ * sparc-tdep.c (sparc_gdbarch_init): Likewise.
+
+2003-09-13 Andrew Cagney <cagney@redhat.com>
+
+ * values.c (using_struct_return): Delete "function" and "funcaddr"
+ parameters.
+ * value.h (using_struct_return): Update declaration.
+ * infcmd.c (finish_command_continuation): Update.
+ (finish_command): Update.
+ * infcall.c (call_function_by_hand): Update.
+ * eval.c (evaluate_subexp_standard): Update.
+
+2003-09-13 Christopher Faylor <cgf@redhat.com>
+
+ * win32-nat.c: Just rely on CONTEXT_EXTENDED_REGISTER being defined for
+ SSE registers since gdb will not operate correctly without this.
+ Restore include file ordering munged in previous change.
+ * config/i386/tm-cygwin.h: Remove HAVE_SSE_REGS define.
+
+2003-09-13 Mark Kettenis <kettenis@gnu.org>
+
+ * gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Renamed from
+ REG_STRUCT_HAS_ADDR.
+ * gdbarch.c, gdbarch.h: Updated.
+ * infcall.c (call_function_by_hand): Update.
+ * stabsread.c (define_symbol): Updated.
+
+ * Makefile.in (xm-i386-sv32.h, tm-i386gas.h): Remove.
+
+2003-09-12 Christopher Faylor <cgf@redhat.com>
+
+ * win32-nat.c: Reorganize so that defines used by target headers are
+ actually defined by the system headers.
+ * config/i386/tm-cygwin.h: Check for CONTEXT_EXTENDED_REGISTERS rather
+ than HAVE_CONTEXT_EXTENDED_REGISTERS, since the latter actually exists.
+
+2003-09-12 Jim Blandy <jimb@redhat.com>
+
+ * dbxread.c (read_dbx_symtab): Don't report an internal error if
+ the file has no .data, .bss, or .rodata sections. Instead wait
+ until we see a variable alleged to live in one of those sections.
+
+ * dbxread.c (read_dbx_symtab): If we have no .data section and no
+ .bss section, presume that any variables we find live in the
+ .rodata section.
+
+ * dbxread.c (read_dbx_symtab): Add FIXME about finding section
+ offsets for global and static variables.
+
+ * dbxread.c (read_dbx_symtab): The N_DATA and N_DATA | N_EXT
+ symbol types are, by definition, in the .data section, so it is
+ correct to use SECT_OFF_DATA (objfile) here, not data_sect_index.
+ If there is no .data section, there should be no N_DATA or N_DATA
+ | N_EXT symbols.
+
+2003-09-12 Mark Kettenis <kettenis@gnu.org>
+
+ * amd64fbsd-tdep.c: Fix sigtramp recognition.
+ (amd64fbsd_sigcontext_addr): Rewrite.
+ (amd64fbsd_sigtramp_start, amd64fbsd_sigtramp_end): Initialize
+ with correct values.
+ (amd64fbsd_sc_reg_offset): Initialize with correct values.
+ (amd64fbsd_init_abi): Fix typo.
+
+2003-09-12 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-sysv-tdep.c (align_up, align_down): Replace "round2" macro.
+ (ppc_sysv_abi_push_dummy_call): Rewrite, use a two pass loop.
+
+2003-09-12 Andrew Cagney <cagney@redhat.com>
+
+ * objfiles.h (struct entry_info): Deprecate "entry_file_lowpc" and
+ "entry_file_highpc". Update comments.
+ * defs.h (deprecated_inside_entry_file): Rename
+ "inside_entry_file".
+ * blockframe.c (deprecated_inside_entry_file): Rename
+ "inside_entry_file".
+ * frame.c (get_prev_frame): Update. Use if 0 instead of #if 0.
+ * vax-tdep.c (vax_frame_chain): Update.
+ * sh64-tdep.c (sh64_frame_chain): Update.
+ * sh-tdep.c (sh_frame_chain): Update.
+ * rs6000-tdep.c (rs6000_frame_chain): Update.
+ * ns32k-tdep.c (ns32k_frame_chain): Update.
+ * mips-tdep.c (mips_frame_chain): Update.
+ * m68hc11-tdep.c (m68hc11_frame_this_id): Update.
+ * m32r-tdep.c (m32r_frame_this_id): Update.
+ * i386-interix-tdep.c (i386_interix_frame_chain_valid): Update.
+ * frv-tdep.c (frv_frame_this_id): Update.
+ * d10v-tdep.c (d10v_frame_this_id): Update.
+ * cris-tdep.c (cris_frame_chain): Update.
+ * blockframe.c (legacy_frame_chain_valid): Update.
+ * avr-tdep.c (avr_frame_this_id): Update.
+ * arm-tdep.c (arm_prologue_this_id): Update.
+ * alpha-tdep.c (alpha_heuristic_frame_this_id): Update.
+ * objfiles.c (objfile_relocate): Update.
+ * mipsread.c (mipscoff_symfile_read): Update.
+ (mipscoff_symfile_read): Update.
+ * mdebugread.c (parse_partial_symbols): Update.
+ * dwarfread.c (read_file_scope): Update.
+ * dwarf2read.c (read_file_scope): Update.
+ * dbxread.c (read_dbx_symtab): Update.
+ (read_dbx_symtab): Update.
+ * coffread.c (complete_symtab): Update.
+
+2003-09-12 Jeff Johnston <jjohnstn@redhat.com>
+
+ * top.c (quit_target): New static helper function.
+ (quit_force): Moved code to quit_target(). Call quit_target()
+ via catch_errors() to catch errors during quit.
+
+2003-09-11 David Carlton <carlton@kealia.com>
+
+ * buildsym.c (finish_block): Use allocate_block to allocate the
+ block.
+ * mdebugread.c (new_block): Add FIXME.
+
+2003-09-11 David Carlton <carlton@kealia.com>
+
+ * gdbtypes.h: Add TYPE_CODE_NAMESPACE.
+ * gdbtypes.c (init_type): Handle TYPE_CODE_NAMESPACE.
+ (recursive_dump_type): Ditto.
+ * printcmd.c (print_formatted): Ditto.
+ * typeprint.c (print_type_scalar): Ditto.
+ * c-typeprint.c (c_type_print_varspec_prefix): Ditto.
+ (c_type_print_varspec_suffix, c_type_print_base): Ditto.
+ * cp-support.h: Declare cp_check_possible_namespace_symbols,
+ maint_cplus_cmd_list.
+ * cp-support.c: Make maint_cplus_cmd_list extern.
+ * cp-namespace.c: Include objfiles.h, gdbtypes.h, dictionary.h,
+ command.h.
+ (lookup_symbol_file): Look in possible namespace blocks when
+ appropriate.
+ (initialize_namespace_symtab): New.
+ (get_possible_namespace_block, free_namespace_block)
+ (check_possible_namespace_symbols)
+ (check_possible_namespace_symbols_loop)
+ (check_one_possible_namespace_symbol)
+ (lookup_possible_namespace_symbol, maintenance_cplus_namespace)
+ (_initialize_cp_namespace): Ditto.
+ * block.h: Declare allocate_block.
+ * block.c (allocate_block): New.
+ * jv-lang.c (get_java_class_symtab): Allocate blocks via
+ allocate_block.
+ * symfile.h: Update declaration of add_psymbol_to_list.
+ * symfile.c (add_psymbol_to_list): Return the partial symbol in
+ question.
+ * dwarf2read.c (dwarf2_build_psymtabs_hard): Add argument to
+ scan_partial_symbols_call.
+ (scan_partial_symbols): Add NAMESPACE argument; update calls to
+ helper functions.
+ (add_partial_symbol): If necessary, scan mangled names for names
+ of namespaces.
+ (add_partial_namespace): Add NAMESPACE argument; generate partial
+ symbols associated to namespaces.
+ (add_partial_enumeration): Add NAMESPACE argument.
+ (new_symbol): Allow namespace syms.
+ (read_namespace): Generate namespace syms.
+ * objfiles.h: Add opaque declaration of struct symtab.
+ (struct objfile): Add cp_namespace_symtab member.
+ * objfiles.c (allocate_objfile): Set
+ objfile->cp_namespace_symtab.
+ * Makefile.in (cp-namespace.o): Depend on objfiles_h, gdbtypes_h,
+ dictionary_h, command_h.
+
+2003-09-11 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (rs6000_push_dummy_call): Use
+ regcache_raw_write_signed to set SP_REGNUM, move the operation to
+ near the function's end.
+ (rs6000_gdbarch_init): Do not set "deprecated_dummy_write_sp".
+ * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Use
+ regcache_raw_write_signed to set SP_REGNUM.
+
+2003-09-11 Elena Zannoni <ezannoni@redhat.com>
+
+ * symfile.c (symbol_file_add_with_addrs_or_offsets): Make sure
+ orig_addrs is set up properly.
+
+2003-09-11 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_STACK_ALIGN): Rename STACK_ALIGN.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * infcall.c (call_function_by_hand): Update.
+ * hppa-tdep.c (hppa_push_arguments): Update.
+ * ada-lang.c (place_on_stack): Update.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Delete comment refering to
+ stack_align.
+
+2003-09-11 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2loc.c (dwarf2_loc_desc_needs_frame): Variables in a
+ register do need a frame.
+
+2003-09-11 Andrew Cagney <cagney@redhat.com>
+
+ Since the IRIX 4 configuration was forcing K&R mode it hasn't been
+ buildable since GDB 5.0.
+ * NEWS: Mention that IRIX 3 and IRIX 4 support were removed.
+ * configure.host: Delete "mips-sgi-irix3*" and "mips-sgi-irix4*".
+ * configure.tgt: Delete "mips*-sgi-*" a.k.a. irix3.
+ * irix4-nat.c: Delete file.
+ * config/mips/irix4.mh: Delete file.
+ * config/mips/irix3.mh: Delete file.
+ * config/mips/irix3.mt: Delete file.
+ * config/mips/tm-irix3.h: Delete file.
+ * config/mips/nm-irix3.h: Delete file.
+ * config/mips/xm-irix3.h: Delete file.
+ * config/mips/nm-irix4.h: Delete file.
+ * config/mips/xm-irix4.h: Delete file.
+ * config/mips/tm-irix5.h: Inline contents of "tm-irix3.h".
+
+2003-09-10 J. Brobecker <brobecker@gnat.com>
+
+ * hppa-tdep.c: Include "dis-asm.h". Fixes a build failure.
+ * Makefile.in (hppa-tdep.o): Update dependencies.
+
+2003-09-10 James E Wilson <wilson@specifixinc.com>
+
+ * MAINTAINERS: Change my e-mail address. Move to paper trail
+ section.
+
+2003-09-10 Kevin Buettner <kevinb@redhat.com>
+
+ * MAINTAINERS (frv): New ISA entry.
+
+2003-09-10 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (dis-asm.h): Include.
+ * Makefile.in (frv-tdep.o): Update dependencies.
+
+2003-09-09 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-tdep.c (ia64_sigtramp_frame_init_saved_regs):
+ Fix typo for high range of floating registers.
+
+2003-09-09 David Carlton <carlton@kealia.com>
+
+ * dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and
+ highpc initialization here out of scan_partial_symbols.
+ (scan_partial_symbols): Restructure into a recursive version,
+ calling add_partial_namespace and add_partial_enumeration when
+ appropriate.
+ (add_partial_namespace): New.
+ (add_partial_enumeration, locate_pdi_sibling): Ditto.
+
+2003-09-09 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (ppc_push_return_address): Delete function.
+ (rs6000_push_dummy_call): Set LR to BP_ADDR.
+ (rs6000_gdbarch_init): Do not set deprecated_push_return_address.
+ * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Ditto.
+
+ * rs6000-tdep.c (rs6000_fix_call_dummy): Delete function.
+ (rs6000_push_dummy_call): Set the "TOC" register.
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): Do not set the deprecated
+ methods "max_register_raw_size", "max_register_virtual_size" or
+ "register_virtual_size".
+
+2003-09-09 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * MAINTAINERS: Update my e-mail address.
+
+2003-09-09 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (rs6000_store_struct_return): Delete function.
+ (rs6000_push_dummy_call): Store the struct return address.
+ * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Ditto.
+
+2003-09-09 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-tdep.h (ppc_sysv_abi_push_dummy_call): Replace
+ "ppc_sysv_abi_push_arguments".
+ * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Replace
+ "ppc_sysv_abi_push_arguments".
+ * rs6000-tdep.c (rs6000_gdbarch_init): Set "push_dummy_call"
+ instead of "push_arguments".
+ (rs6000_push_dummy_call): Replace "rs6000_push_arguments".
+
+2003-09-09 Andrew Cagney <cagney@redhat.com>
+
+ * sh64-tdep.c (sh64_push_return_address): Use ENTRY_POINT_ADDRESS
+ instead of CALL_DUMMY_ADDRESS.
+
+2003-09-09 Paul N. Hilfinger <hilfingr@gnat.com>
+
+ * p-lang.c: Eliminate "register".
+ * c-lang.c: Ditto.
+ * expprint.c: Ditto.
+ * f-lang.c: Ditto.
+ * jv-lang.c: Ditto.
+ * language.c: Ditto.
+ * m2-lang.c: Ditto.
+ * parse.c: Ditto.
+ * scm-lang.c: Ditto.
+ * objc-lang.c: Ditto.
+
+2003-09-09 Nick Clifton <nickc@redhat.com>
+
+ * v850-tdep.c (v850_processor_type_table): Add bfd_mach_v850e1.
+
+2003-09-04 Andrew Cagney <cagney@redhat.com>
+
+ * avr-tdep.c: Include "dis-asm.h".
+ * cris-tdep.c: Include "dis-asm.h".
+ (cris_delayed_get_disassembler): Use "struct disassemble_info"
+ instead of corresponding typedef.
+ * h8300-tdep.c: Include "dis-asm.h".
+ * ia64-tdep.c: Include "dis-asm.h".
+ * i386-tdep.c: Include "dis-asm.h".
+ (i386_print_insn): Use "struct disassemble_info" instead of
+ corresponding typedef.
+ * m68k-tdep.c: Include "dis-asm.h".
+ * mcore-tdep.c: Include "dis-asm.h".
+ * mips-tdep.c: Include "dis-asm.h".
+ (gdb_print_insn_mips): Make static, use "struct disassemble_info"
+ instead of corresponding typedef.
+ * ns32k-tdep.c: Include "dis-asm.h".
+ * s390-tdep.c: Include "dis-asm.h".
+ * sparc-tdep.c: Include "dis-asm.h".
+ * vax-tdep.c: Include "dis-asm.h".
+ * v850-tdep.c: Include "dis-asm.h".
+ * mn10300-tdep.c: Include "dis-asm.h".
+ * rs6000-tdep.c: Include "dis-asm.h".
+ * xstormy16-tdep.c: Include "dis-asm.h".
+ (_initialize_xstormy16_tdep): Delete "extern" declaration of
+ print_insn_xstormy16.
+ * Makefile.in (v850-tdep.o): Update dependencies.
+ (vax-tdep.o, sparc-tdep.o, s390-tdep.o): Ditto.
+ (ns32k-tdep.o, mips-tdep.o, mcore-tdep.o): Ditto.
+ (m68k-tdep.o, ia64-tdep.o, i386-tdep.o): Ditto.
+ (h8300-tdep.o, cris-tdep.o, avr-tdep.o): Ditto.
+ (mn10300-tdep.o, xstormy16-tdep.o, disasm.o): Ditto.
+ (gdbarch_h): Remove $(dis_asm_h).
+ * disasm.c: Include "dis-asm.h".
+ (dis_asm_read_memory): Use "struct disassemble_info" instead of
+ corresponding typedef.
+ (dis_asm_memory_error, dump_insns, do_assembly_only): Ditto.
+ (gdb_disassemble_info, gdb_disassembly, gdb_print_insn): Ditto.
+ * gdbarch.sh: Do not include "dis-asm.h".
+ (struct disassemble_info): Declare opaque.
+ (TARGET_PRINT_INSN): Update declaration.
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+2003-09-08 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_CALL_DUMMY_ADDRESS): Rename
+ CALL_DUMMY_ADDRESS, change to a predicate.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * blockframe.c (deprecated_pc_in_call_dummy_at_entry_point):
+ Use either DEPRECATED_CALL_DUMMY_ADDRESS or entry_point_address.
+ * infcall.c (call_function_by_hand): Ditto.
+ * sparc-tdep.c (sparc_push_return_address): Ditto.
+ (sparc_gdbarch_init): Set deprecated_call_dummy_address.
+ * xstormy16-tdep.c (xstormy16_push_return_address): Replace
+ CALL_DUMMY_ADDRESS with entry_point_address.
+ * v850-tdep.c (v850_push_return_address): Ditto.
+ * s390-tdep.c (s390_push_return_address): Ditto.
+ * rs6000-tdep.c (ppc_push_return_address): Ditto.
+ * mn10300-tdep.c (mn10300_push_return_address): Ditto.
+ * mcore-tdep.c (mcore_push_return_address): Ditto.
+ * cris-tdep.c (cris_push_return_address): Ditto.
+ * arm-tdep.c (arm_push_return_address): Ditto.
+
+2003-09-08 Andrew Cagney <cagney@redhat.com>
+
+ * dwarf2-frame.c (enum dwarf2_reg_rule): New, replace anonymous
+ enum. Add REG_UNSPECIFIED, rename REG_UNSAVED to REG_UNDEFINED
+ and REG_UNMODIFIED to REG_SAME_VALUE.
+ (execute_cfa_program): Update.
+ (dwarf2_frame_cache): Update. Initialize table to
+ REG_UNSPECIFIED, complain if CFI fails to specify a register's
+ location.
+ (dwarf2_frame_prev_register): Update. Handle REG_UNSPECIFIED.
+
+2003-09-08 Andrew Cagney <cagney@redhat.com>
+
+ * gnu-nat.c: Remove "inline" function attribute.
+ * alpha-tdep.c, ppc-linux-tdep.c, macroexp.c: Ditto.
+
+2003-09-08 Kevin Buettner <kevinb@redhat.com>
+
+ * config/frv/frv.mt (SIM_OBS, SIM): Enable simulator for FR-V
+ target.
+
+2003-09-08 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (frame-unwind.h, frame-base.h): Include.
+ (frame_extra_info): Rename this struct to frv_unwind_cache.
+ Delete fields ``fp_to_callers_sp_offset'' and ``lr_saved_on_stack''.
+ Add fields ``prev_sp'' and ``base''.
+ (frv_frame_chain, frv_frame_saved_pc, frv_frame_init_saved_regs)
+ (frv_saved_pc_after_call, frv_init_extra_frame_info)
+ (frv_push_return_address, frv_pop_frame, frv_pop_frame_regular):
+ Delete.
+ (frv_analyze_prologue): Add ``struct frv_unwind_cache *'' argument.
+ Revise all callers. Fill in the unwind cache argument and make
+ other adjustments to account for new frame mechanisms.
+ (frv_frame_unwind_cache, frv_frame_align, frv_unwind_pc)
+ (frv_frame_this_id, frv_frame_prev_register, frv_frame_sniffer)
+ (frv_frame_base_address, frv_unwind_dummy_id): New functions.
+ (frv_frame_unwind, frv_frame_base): New structs.
+ (frv_push_arguments): Change name to frv_push_dummy_call(). Add
+ additional arguments expected by this method and adjust function
+ body accordingly.
+ (frv_gdbarch_init): Remove calls to the following functions:
+ set_gdbarch_deprecated_init_frame_pc(),
+ set_gdbarch_deprecated_saved_pc_after_call(),
+ set_gdbarch_deprecated_frame_chain(),
+ set_gdbarch_deprecated_frame_saved_pc(),
+ set_gdbarch_deprecated_frame_init_saved_regs(),
+ set_gdbarch_deprecated_push_arguments(),
+ set_gdbarch_deprecated_push_return_address(),
+ set_gdbarch_deprecated_pop_frame(),
+ set_gdbarch_deprecated_call_dummy_words(),
+ set_gdbarch_deprecated_sizeof_call_dummy_words(),
+ set_gdbarch_deprecated_init_extra_frame_info(),
+ set_gdbarch_deprecated_dummy_write_sp(), and
+ set_gdbarch_deprecated_pc_in_call_dummy().
+ Add calls to the following functions:
+ set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(),
+ set_gdbarch_frame_align(), frame_unwind_append_sniffer(), and
+ frame_base_set_default().
+ * Makefile.in (frv-tdep.o): Update dependencies.
+
+2003-09-09 Mark Kettenis <kettenis@gnu.org>
+
+ * dwarf2-frame.c (read_encoded_value): Add support for
+ DW_EH_PE_aligned encoding.
+
+2003-09-08 Daniel Jacobowitz <drow@mvista.com>
+
+ * infrun.c (normal_stop): Don't print a message if the inferior
+ has exited.
+
+2003-09-08 Jim Blandy <jimb@redhat.com>
+
+ * Makefile.in (dbxread.o): Note new dependency on $(gdb_assert_h).
+ * dbxread.c: #include "gdb_assert.h".
+ (read_dbx_symtab): If the objfile has no .data section, use the
+ section index for the .bss section instead.
+
+2003-09-08 Daniel Jacobowitz <drow@mvista.com>
+
+ * frame.c (deprecated_safe_get_selected_frame): New function.
+ * frame.h (deprecated_safe_get_selected_frame): Add prototype.
+ * findvar.c (read_var_value): Call it.
+
+2003-09-08 Corinna Vinschen <vinschen@redhat.com>
+
+ * Makefile.in (ALLDEPFILES): Add sh64-tdep.c.
+ (sh64-tdep.o): Add dependencies.
+ * configure.tgt: Add FIXME to sh-*-linux*.
+ * sh-tdep.c: Move sh64 support to sh64-tdep.c.
+ (sh_gdbarch_init): Always set correct sh_show_regs function
+ pointer. Call sh64_gdbarch_init() if machine type is sh5.
+ * sh-tdep.h: Move sh64 support to sh64-tdep.c.
+ * sh64-tdep.c: New file, containing all sh64 related code from
+ sh-tdep.c.
+ * config/sh/embed.mt (TDEPFILES): Add sh64-tdep.o.
+ * config/sh/linux.mt (TDEPFILES): Ditto.
+ * config/sh/nbsd.mt (TDEPFILES): Ditto.
+ * config/sh/tm-sh.h: Drop REGISTER_TYPE definition.
+ * config/sh/wince.mt (TDEPFILES): Ditto.
+
+2003-09-07 Daniel Jacobowitz <drow@mvista.com>
+
+ * lin-lwp.c (detach_callback): Don't call stop_wait_callback.
+ (stop_wait_callback): Handle !lp->signalled also.
+ (lin_lwp_has_pending, flush_callback): New functions.
+ (lin_lwp_wait): Call flush_callback.
+ * linux-proc.c (linux_proc_add_line_to_sigset): New function.
+ (linux_proc_pending_signals): New function.
+ * linux-nat.h (linux_proc_pending_signals): Add prototype.
+
+2003-09-07 Daniel Jacobowitz <drow@mvista.com>
+
+ From Nick Kelsey <nickk@ubicom.com>:
+ * infrun.c (handle_inferior_event): Check IN_SOLIB_RETURN_TRAMPOLINE
+ when the stop PC is at the beginning of a function also.
+
+2003-09-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * arm-linux-tdep.c (arm_linux_arm_be_breakpoint): New.
+ (arm_linux_init_abi): Use arm_linux_arm_be_breakpoint.
+
+2003-09-06 Mark Kettenis <kettenis@gnu.org>
+
+ * sol-thread.c: Include "gdb_string.h".
+
+2003-09-03 Mark Kettenis <m.kettenis@osp.nl>
+
+ * gcore.c: Reorder include files in alphabetical order. Include
+ "gdb_assert.h". Various coding style fixes.
+ (derive_stack_segment, derive_heap_segment): Replace check for
+ non-null BOTTOM and TOP with gdb_assert.
+ (derive_heap_segment): Replace check for successful creation of
+ ZERO with gdb_assert.
+ (make_mem_sec): Use bfd_section_lma to set OSEC->lma.
+
+2003-09-04 Andrew Cagney <cagney@redhat.com>
+
+ * thread-db.c (verbose_dlsym): New function.
+ (thread_db_load): Use verbose_dlsym
+ (thread_db_new_objfile): Print that libthread_db was loaded, and
+ that thread debugging was enabled.
+
+2003-09-04 Andrew Cagney <cagney@redhat.com>
+
+ * configure.tgt: Add "mips64*-*-*" target. Delete
+ mips64*el-*-ecoff*, mips64*el-*-elf*, mips*el-*-ecoff*,
+ mips*el-*-elf*, mips*-*-lnews*, mips*-*-sysv*, mips*-*-riscos*,
+ mips*-*-ecoff*, mips*-*-elf*, mips*-little-*, mips*-big-*,
+ mips*-dec-*, mips64*-big-*, mips64*vr*-*-elf*, mips64*-*-ecoff*,
+ mips*-sony-*, and mips64*-*-elf* targets.
+ * config/mips/embedl.mt: Delete file.
+ * config/mips/embedl64.mt: Delete file.
+ * config/mips/mips.mt: Delete file.
+ * config/mips/mips64.mt: Delete file.
+ * config/mips/tm-embed.h: Delete file.
+ * config/mips/embed.mt (TM_FILE): Set to "tm-mips.h".
+ * config/mips/embed64.mt: Delete out-of-date comment.
+
+2003-09-04 Andrew Cagney <cagney@redhat.com>
+
+ * hppa-tdep.c (hppa_gdbarch_init): Set
+ "have_nonsteppable_watchpoint".
+ * config/pa/nm-hppah.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
+ * mips-tdep.c (mips_dump_tdep): Do not print
+ HAVE_NONSTEPPABLE_WATCHPOINT.
+ (mips_gdbarch_init): Set "have_nonsteppable_watchpoint".
+ * config/mips/tm-embed.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
+ * config/mips/nm-irix5.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
+ * config/mips/nm-irix4.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
+
+2003-09-04 Corinna Vinschen <vinschen@redhat.com>
+
+ * breakpoint.c (watchpoint_check): Remove accidentally checked in
+ unused code. Add comment.
+
+2003-09-04 Corinna Vinschen <vinschen@redhat.com>
+
+ * breakpoint.c (watchpoint_check): Check for pc being in an
+ epilogue if watchpoint frame couldn't be found.
+
+2003-09-04 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in: Re-generate all dependencies.
+
+2003-09-03 Andrew Cagney <cagney@redhat.com>
+
+ * arch-utils.h (legacy_print_insn): Delete declaration.
+ * arch-utils.c (legacy_print_insn): Delete function.
+ * disasm.c (deprecated_tm_print_insn_info): Delete.
+ (_initialize_disasm): Delete function, contained code initializing
+ deprecated_tm_print_insn_info.
+ * gdbarch.sh (deprecated_tm_print_insn): Delete.
+ (deprecated_tm_print_insn_info): Delete.
+ (TARGET_PRINT_INSN): Do not provide a default.
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+2003-09-03 Andrew Cagney <cagney@redhat.com>
+
+ * disasm.c (fprintf_disasm): New function.
+ (gdb_disassemble_info): Call "init_disassemble_info", instead of
+ INIT_DISASSEMBLE_INFO_NO_ARCH. Do not initialize "insn_sets",
+ reverts 2003-08-14 change.
+ (_initialize_disasm): Call "init_disassemble_info", instead of
+ INIT_DISASSEMBLE_INFO_NO_ARCH.
+
+2003-09-03 Michael Snyder <msnyder@redhat.com>
+
+ * config/djgpp/fnchange.lst: Fix up sim/frv/profile-fr*.[ch].
+
+2003-09-03 Andrew Cagney <cagney@redhat.com>
+
+ * config/rs6000/tm-rs6000.h (IBM6000_TARGET): Delete definition.
+ * config/rs6000/nm-rs6000.h (DEPRECATED_IBM6000_TARGET): Define.
+ * symfile.c (syms_from_objfile): Update.
+ (reread_symbols): `Update
+ * exec.c (exec_file_attach): Update.
+ (exec_file_attach): Update.
+ * config/powerpc/tm-nbsd.h: Delete #undef IBM6000_TARGET, revert
+ 2003-08-29 change.
+ * config/powerpc/tm-linux.h: Delete #undef IBM6000_TARGET.
+
+2003-09-03 Daniel Jacobowitz <drow@mvista.com>
+
+ * arm-tdep.c: Include frame-unwind.h, frame-base.h, and
+ trad-frame.h.
+ (arm_get_cache): Delete macro.
+ (struct arm_prologue_cache): Update comments. Make saved_regs into
+ a trad_frame_saved_reg pointer. Remove unwound_pc; rename unwound_sp
+ to prev_sp.
+ (thumb_scan_prologue): Update for cache changes. Don't call
+ DEPRECATED_PC_IN_CALL_DUMMY.
+ (arm_scan_prologue): Update for cache changes. Take NEXT_FRAME
+ argument and use it in desperation search for our prologue. Do not
+ search past the specified PC.
+ (arm_make_prologue_cache): Simplify.
+
+ (arm_prologue_this_id, arm_prologue_prev_register)
+ (arm_prologue_unwind, arm_prologue_unwind_sniffer)
+ (arm_normal_frame_base, arm_normal_base, arm_make_sigtramp_cache)
+ (arm_sigtramp_this_id, arm_sigtramp_prev_register)
+ (arm_sigtramp_unwind, arm_sigtramp_unwind_sniffer)
+ (arm_unwind_dummy_id, arm_unwind_pc, arm_unwind_sp): New.
+
+ (arm_frame_chain_valid, arm_find_callers_reg)
+ (arm_frame_saved_pc, arm_read_fp, arm_frame_init_saved_regs)
+ (arm_pop_frame): Delete obsolete methods.
+ (arm_minimal_frame_chain, arm_minimal_frame_info): Delete.
+
+ (arm_gdbarch_init): Update for new frame methods. Register prologue
+ and sigtramp unwinders. Set the default frame base method.
+
+ * Makefile.in (arm-tdep.o): Update dependencies.
+ * varobj.c (find_frame_addr_in_frame_chain): Call
+ get_frame_base_address.
+ * std-regs.c (value_of_builtin_frame_fp_reg): Likewise.
+
+2003-09-03 Daniel Jacobowitz <drow@mvista.com>
+
+ * arm-tdep.c (arm_minimal_frame_chain): Renamed from
+ arm_frame_chain. Take NEXT_FRAME and CACHE arguments.
+ Use the cache instead of DEPRECATED_FRAME_SAVED_PC.
+ (arm_minimal_frame_info): Renamed from arm_init_extra_frame_info.
+ Take NEXT_FRAME and CACHE arguments. Call
+ FRAMELESS_FUNCTION_INVOCATION instead of checking FROMLEAF argument.
+ Set unwound_pc in CACHE instead of modifying the frame argument.
+ Don't bother checking the frame type when looking for sigtramp
+ frames.
+ (arm_make_prologue_cache, arm_frame_chain)
+ (arm_init_extra_frame_info): New functions.
+
+2003-09-03 Daniel Jacobowitz <drow@mvista.com>
+
+ * arm-tdep.c (arm_get_cache): Define.
+ (struct arm_prologue_cache): Renamed from frame_extra_info. Add
+ unwound_sp, unwound_pc, and saved_regs.
+ (thumb_scan_prologue): Take a cache instead of the frame.
+ (arm_scan_prologue): Likewise.
+ (arm_frame_chain): Create a temporary cache for arm_scan_prologue
+ instead of a temporary frame.
+ (arm_init_extra_frame_info): Allocate and use a cache.
+ (arm_frame_saved_pc, arm_pop_frame): Use the cache.
+
+2003-09-03 Andrew Cagney <cagney@redhat.com>
+
+ * config/arm/wince.mt (TM_CLIBS): Replace WIN32LIBS.
+ * config/mips/wince.mt (TM_CLIBS): Ditto.
+ * config/sh/wince.mt (TM_CLIBS): Ditto.
+ * config/pa/hppa64.mt (TM_CLIBS): Delete.
+ * config/sparc/sp64.mt (CC): Delete.
+
+2003-09-03 Andrew Cagney <cagney@redhat.com>
+
+ * defs.h: Do not include "arch-utils.h".
+ (GDB_MULTI_ARCH): If not defined, set to GDB_MULTI_ARCH_PARTIAL or
+ GDB_MULTI_ARCH_PURE.
+ * configure.in (GDB_MULTI_ARCH): Do not define.
+ * configure, config.in: Regenerate.
+ * configure.tgt: Do not set variable "gdb_multi_arch".
+ * config/s390/s390x.mt (GDB_MULTI_ARCH): Delete.
+ * config/s390/s390.mt (GDB_MULTI_ARCH): Delete.
+ * config/i386/x86-64linux.mt (GDB_MULTI_ARCH): Delete.
+ * config/v850/v850.mt (TM_FILE): Delete disabled definition.
+ * config/m68hc11/m68hc11.mt (TM_FILE): Delete definition.
+ * config/vax/tm-vax.h (GDB_MULTI_ARCH): Delete definition.
+ * config/sparc/tm-sparc.h (GDB_MULTI_ARCH): Delete definition.
+ * config/sparc/tm-sun4sol2.h (GDB_MULTI_ARCH): Delete definition.
+ * config/sparc/tm-nbsd.h (GDB_MULTI_ARCH): Delete definition.
+ * config/sparc/tm-linux.h (GDB_MULTI_ARCH): Delete definition.
+ * config/sparc/tm-sp64.h (GDB_MULTI_ARCH): Delete definition.
+ * config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Delete definition.
+ * config/ns32k/tm-ns32k.h (GDB_MULTI_ARCH): Delete definition.
+ * config/m68k/tm-m68k.h (GDB_MULTI_ARCH): Delete definition.
+ * config/i386/tm-i386.h (GDB_MULTI_ARCH): Delete definition.
+ * config/h8300/tm-h8300.h (GDB_MULTI_ARCH): Delete definition.
+ * config/frv/tm-frv.h (GDB_MULTI_ARCH): Delete definition.
+ * config/alpha/tm-alpha.h (GDB_MULTI_ARCH): Delete definition.
+
+2003-08-30 Michael Chastain <mec@shout.net>
+
+ * Makefile.in: Remove tm-hp300bsd.h, tm-hp300hpux.h.
+ * config/m68k/nm-hp300hpux.h: Delete.
+ * config/m68k/tm-hp300hpux.h: Delete.
+ * config/m68k/xm-hp300hpux.h: Delete.
+ * config/m68k/xm-hp300bsd.h: Delete.
+ * config/djgpp/fnchange.lst: Remove nm-hp300hpux.h,
+ tm-hp300hpux.h, xm-hp300hpux.h.
+ * somsolib.c: Remove comment about hp300 shared libraries.
+
+2003-08-31 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-linux-nat.c (ps_get_thread_area): Don't define as extern.
+ Only define PTRACE_GET_THREAD_AREA is not already defined.
+ Various style fixes in code and comments and some additional
+ spelling fixes in comments. Move after functions dealing with
+ debug registers.
+ * x86-64-linux-nat.c (ps_get_thread_area): Don't define as extern.
+ Fix coding-style.
+
+ * alphafbsd-tdep.c (alphafbsd_sigcontext_addr): Use
+ frame_unwind_register_unsigned instead of
+ frame_unwind_unsigned_register.
+
+2003-08-30 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Search for gethostbyname in libnsl.
+ * configure: Regenerated.
+
+2003-08-29 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Remove redundant AC_MSG_RESULT in check for
+ uintptr_t in stdint.h.
+ * configure: Regenerated.
+
+ * amd64-nat.h (struct regcache): Add opaque declaration.
+
+ * i386-linux-tdep.h (I386_LINUX_NUM_REGS): New define.
+ * x86-64-linux-nat.c: Include "i386-linux-tdep.h" and "amd64.h".
+ Change "register array" to "register cache" in comments.
+ (x86_64_linux_gregset64_reg_offset): New variable.
+ (GETREGS_SUPPLIES): Remove macro.
+ (supply_gregset): Call amd64_supply_native_gregset instead of
+ x86_64_linux_supply_gregset.
+ (fill_gregset): Rename `regno' to `regnum'. Call
+ amd64_collect_native_gregset instead of x86_64_linux_fill_gregset.
+ (store_regs): Rename `regno' to `regnum'.
+ (store_fpregs): Rename `regno' to `regnum'.
+ (fetch_inferior_registers): Rename `regno' to `regnum'. Use
+ amd64_native_gregset_supplies_p instead of GREGSET_SUPPLIES.
+ Reorganize function a bit.
+ (store_inferior_registers): Rename `regno' to `regnum'. Use
+ amd64_native_gregset_supplies_p instead of GREGSET_SUPPLIES.
+ Reorganize function a bit.
+ (_initialize_x86_64_linux_nat): New function.
+ * config/i386/x86-64linux.mh.
+
+2003-08-29 Andrew Cagney <cagney@redhat.com>
+
+ * config/mips/tm-embed.h (STOPPED_BY_WATCHPOINT): Delete macro.
+ (TARGET_CAN_USE_HARDWARE_WATCHPOINT): Delete macro.
+ (target_remove_watchpoint): Delete macro.
+ (target_insert_watchpoint): Delete macro.
+ (remote_mips_can_use_hardware_watchpoint): Delete declaration.
+ (remote_mips_stopped_by_watchpoint): Delete declaration.
+ (remote_mips_remove_watchpoint): Delete declaration.
+ (remote_mips_set_watchpoint): Delete declaration.
+ (TARGET_HAS_HARDWARE_WATCHPOINTS): Delete macro.
+ * remote-mips.c (_initialize_remote_mips): Set
+ "to_insert_watchpoint", "to_stopped_by_watchpoint",
+ "to_can_use_hardware_watchpoint", and "to_remove_watchpoint".
+ (mips_insert_watchpoint): Rename remote_mips_set_watchpoint.
+ (mips_remove_watchpoint): Rename remote_mips_remove_watchpoint.
+ (mips_stopped_by_watchpoint): Rename
+ remote_mips_stopped_by_watchpoint.
+ (mips_can_hardware_watchpoint): Rename
+ remote_mips_can_use_hardware_watchpoint, update function
+ signature.
+
+2003-08-29 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-linux-tdep.c (user_to_gdb_regmap): Remove USER_CS and
+ USER_DS. We haven't given them a register number yet.
+
+ * amd64-nat.h: New file.
+ * amd64-nat.c: New file.
+ * amd64fbsd-nat.c: Include "amd64-nat.h".
+ (REG_ADDR, GETREGS_SUPPLIES): Remove macros.
+ (amd64fbsd32_r_reg_offset): New variable.
+ (supply_gregset): Simply call amd64_supply_native_gregset.
+ (fill_gregset): Rename `regno' to `regnum'. Simply call
+ amd64_collect_native_gregset.
+ (fill_fpregset): Rename `regno' to `regnum'.
+ (fetch_inferior_registers): Rename `regno' to `regnum'. Replace
+ usage of GETREGS_SUPPLIES with amd64_native_gregset_supplies_p.
+ Use `struct reg' and `struct fpreg' instead of `gregset_t' and
+ `fpregset_t'. Call amd64_supply_native_gregset instead of
+ supply_gregset. Call x86_64_supply_fxsave instead of
+ supply_fpregset.
+ (store_inferior_registers): Rename `regno' to `regnum'. Replace
+ usage of GETREGS_SUPPLIES with amd64_native_gregset_supplies_p.
+ Use `struct reg' and `struct fpreg' instead of `gregset_t' and
+ `fpregset_t'. Call amd64_collect_native_gregset instead of
+ fill_gregset. Call x86_64_collect_fxsave instead of
+ fill_fpregset.
+ (_initialize_am64fbsd_nat): Initialize
+ amd64_native_gregset32_reg_offset and
+ amd64_native_gregset64_reg_offset.
+ * config/i386/fbsd64.mh (NATDEPFILES): Add amd64-nat.o.
+
+ * regcache.c (regcache_raw_supply): Don't assert that BUF isn't a
+ null pointer. Fix typo in comment.
+
+ * regcache.c (supply_register): Reimplement to call
+ regcache_raw_supply.
+ (regcache_collect): Reimplement by calling regcache_raw_collect.
+
+2003-08-28 Mark Kettenis <kettenis@gnu.org>
+
+ * regcache.c (register_buffer): Consitify first argument.
+ (regcache_raw_supply, regcache_raw_collect): New
+ functions.
+
+2003-08-28 Daniel Jacobowitz <drow@mvista.com>
+
+ * config/powerpc/tm-nbsd.h: Undefine IBM6000_TARGET. Suggested
+ by Nathan J. Williams.
+
+2003-08-28 Daniel Jacobowitz <drow@mvista.com>
+
+ * lin-lwp.c (wait_lwp): New function, copied from
+ stop_wait_callback. Clean up.
+ (stop_wait_callback): Use wait_lwp.
+
+2003-08-28 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (gdb_print_insn_mips): Set the disassembler's
+ flavour and disassembler options.
+ (_initialize_mips_tdep): Do not set deprecated_tm_print_insn.
+ (mips_gdbarch_init): Set "print_insn". Delete initialization of
+ deprecated_tm_print_insn_info.
+
+2003-08-27 Andrew Cagney <cagney@redhat.com>
+
+ * s390-tdep.c (s390_readinstruction): Delete "info" parameter.
+ Use target_read_memory.
+ (s390_get_frame_info): Update. Do not reference
+ deprecated_tm_print_insn_info.
+ (s390_check_function_end, s390_is_sigreturn): Ditto.
+
+2003-08-27 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (cris-tdep.o): Update dependencies.
+ * cris-tdep.c: Include "gdb_assert.h".
+ (cris_gdbarch_init): Set print_insn.
+ (_initialize_cris_tdep): Do not set deprecated_tm_print_insn.
+ (cris_delayed_get_disassembler): Simplify, directly call the
+ disassembler returned by cris_get_disassembler.
+ * hppa-tdep.c (hppa_gdbarch_init): Set print_insn.
+ (_initialize_hppa_tdep): Do not set deprecated_tm_print_insn.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Set print_insn.
+ (_initialize_ns32k_tdep): Do not set deprecated_tm_print_insn.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Set print_insn.
+ (_initialize_mn10300_tdep): Do not set deprecated_tm_print_insn.
+ * mcore-tdep.c (mcore_gdbarch_init): Set print_insn.
+ (_initialize_mcore_tdep): Do not set deprecated_tm_print_insn.
+ * frv-tdep.c (frv_gdbarch_init): Set print_insn.
+ (_initialize_frv_tdep): Do not set deprecated_tm_print_insn.
+ * sparc-tdep.c (sparc_gdbarch_init): Set print_insn.
+ (gdb_print_insn_sparc): Delete function.
+ (_initialize_sparc_tdep): Do not set deprecated_tm_print_insn or
+ deprecated_tm_print_insn_info.
+ * v850-tdep.c (v850_gdbarch_init): Set print_insn.
+ (_initialize_v850_tdep): Do not set deprecated_tm_print_insn.
+ (v850_gdbarch_init): Do not set deprecated_tm_print_insn_info.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Set print_insn.
+ (_initialize_xstormy16_tdep): Do not set deprecated_tm_print_insn.
+ * s390-tdep.c (gdb_print_insn_s390): Delete function.
+ (_initialize_s390_tdep): Do not set deprecated_tm_print_insn.
+ (s390_gdbarch_init): Set print_insn.
+
+2003-08-27 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-linux-tdep.c (ppc64_call_dummy_address): Delete function.
+ (ppc_linux_init_abi): For PPC64, do not set call_dummy_address.
+ * infcall.c (call_function_by_hand): Convert the entry point
+ address into a code address.
+
+2003-08-27 Andrew Cagney <cagney@redhat.com>
+
+ * dsrec.c: Include "gdb_string.h".
+ * Makefile.in (dsrec.o): Update dependencies.
+
+2003-08-27 Michael Chastain <mec@shout.net>
+
+ * config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.mi/mi2-var-*.
+
+2003-08-27 Andrew Cagney <cagney@redhat.com>
+
+ * alpha-osf1-tdep.c (alpha_call_dummy_address): Delete function.
+ (alpha_osf1_init_abi): Do not set call_dummy_address.
+
+2003-08-27 David Carlton <carlton@kealia.com>
+
+ From Randolph Chung <tausq@debian.org>:
+ * linux-proc.c (linux_info_proc_cmd): rework the code so that it
+ compiles with -Wformat-nonliteral -Werror.
+
+2003-08-26 Jim Blandy <jimb@redhat.com>
+
+ * solib-svr4.c (bfd_lookup_symbol): New SECT_FLAGS argument.
+ (enable_break): Pass SEC_CODE as the SECT_FLAGS argument to
+ bfd_lookup_symbol, since we only want symbols in code sections.
+ (look_for_base): Pass zero as the SECT_FLAGS argument to
+ bfd_lookup_symbol, since we're not concerned about which section
+ the symbol is in.
+
+2003-08-26 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-tdep.c (examine_prologue): Only stop at predicated insns if
+ we are frameless or the return address register is already known.
+
+2003-08-26 Andrew Cagney <cagney@redhat.com>
+
+ * i386-linux-nat.c (ps_get_thread_area): Make "desc" four "int"s
+ in size. Add comments.
+
+2003-08-26 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-tdep.c (ia64_convert_from_func_addr): New function.
+ (ia64_gdbarch_init): Call set_gdbarch_convert_from_func_addr().
+
+2003-08-26 Jason Merrill <jason@redhat.com>
+
+ * dwarf2read.c (dwarf_attr_name): Move DW_AT_MIPS_linkage_name
+ case out of #ifdef MIPS block.
+
+2003-08-25 Daniel Jacobowitz <drow@mvista.com>
+
+ PR java/1322
+ * dwarf2-frame.c (dwarf2_frame_find_fde): Check whether any FDEs are
+ available before calling SECT_OFF_TEXT.
+ * PROBLEMS: Remove description of java/1322.
+
+2003-08-25 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-tdep.c (pseudo_regs): New enum that lists gr32-gr127, p0-p63,
+ bof, and nat0-nat127 as pseudo-registers.
+ (ia64_frame_cache): New struct used to cache frame info.
+ (ia64_register_reggroup_p): New routine used to override default
+ register grouping so registers without names are still saved and
+ restored.
+ (ia64_dwarf_reg_to_regnum): New routine to map gr32-gr127 to their
+ pseudo values.
+ (ia64_pseudo_register_read): New routine to read pseudo-registers.
+ (ia64_pseudo_register_write): New routine to write pseudo-registers.
+ (ia64_alloc_frame_cache): New routine to create a new
+ ia64_frame_cache.
+ (examine_prologue): Change prototype to add next_frame pointer.
+ Assume frameless until otherwise proven. Verify that the cfm for
+ current frame matches the cfm that should occur for the prologues
+ alloc insn and if equal, mark as not frameless. At end of routine,
+ if not frameless, calculate registers for the previous frame and store
+ in the cache, if a cache is provided.
+ (ia64_skip_prologue): Use new prototype when calling examine_prologue
+ and pass 0 for next_frame.
+ (ia64_store_return_value): Change to use convert_typed_floating()
+ instead of calling ia64_convert_to_raw().
+ (ia64_extract_return_value): Change to use convert_typed_floating()
+ instead of calling ia64_convert_to_virtual().
+ (ia64_frame_cache): New routine to support new frame model.
+ (ia64_frame_this_id, ia64_frame_prev_register): Ditto.
+ (ia64_frame_sniffer): Ditto.
+ (ia64_sigtramp_frame_init_saved_regs): Ditto.
+ (ia64_sigtramp_frame_cache, ia64_sigtramp_frame_this_id): Ditto.
+ (ia64_sigtramp_frame_prev_register): Ditto.
+ (ia64_sigtramp_frame_sniffer): Ditto.
+ (ia64_frame_base_address): Ditto.
+ (ia64_extract_struct_value_address): Change to issue error message.
+ (ia64_frame_align): New routine to align sp.
+ (ia64_push_dummy_call): New routine based on ia64_push_arguments().
+ (ia64_push_arguments): Removed. Logic moved to
+ ia64_push_dummy_call().
+ (ia64_push_return_address): Ditto.
+ (ia64_unwind_dummy_id): New function.
+ (ia64_unwind_pc): Ditto.
+ (ia64_convert_register_p): Ditto.
+ (ia64_register_to_value): Ditto.
+ (ia64_value_to_register): Ditto.
+ (ia64_pop_frame, ia64_pop_frame_regular): Removed.
+ (ia64_register_byte, ia64_register_raw_size): Ditto.
+ (ia64_register_virtual_size, ia64_register_virtual_byte): Ditto.
+ (ia64_saved_pc_after_call): Ditto.
+ (ia64_frame_chain, ia64_frame_saved_pc): Ditto.
+ (ia64_frame_init_saved_regs, ia64_get_saved_register): Ditto.
+ (ia64_register_convertible, ia64_register_convert_to_virtual): Ditto.
+ (ia64_register_convert_to_raw): Ditto.
+ (ia64_store_struct_return, ia64_call_dummy_words): Ditto.
+ (ia64_init_extra_frame_info): Ditto.
+ (ia64_frame_args_address, ia64_frame_locals_address): Ditto.
+ (ia64_gdbarch_init): Remove registering of deprecated functions that
+ are no longer used. Add registration of new gdbarch functions.
+ Remove registering deprecated_write_sp. Replace
+ set_gdbarch_register_virtual_type() with set_gdbarch_register_type().
+ Delete set_gdbarch_deprecated_register_convertible(),
+ set_gdbarch_deprecated_register_convert_to_virtual(), and
+ set_gdbarch_deprecated_register_convert_to_raw() calls. Remove
+ set_gdbarch_deprecated_register_size(),
+ set_gdbarch_deprecated_register_bytes(),
+ set_gdbarch_pcregnum(),
+ set_gdbarch_deprecated_register_byte(),
+ set_gdbarch_deprecated_register_raw_size(),
+ set_gdbarch_deprecated_max_register_raw_size(),
+ set_gdbarch_deprecated_register_virtual_size(),
+ and set_gdbarch_deprecated_max_register_virtual_size() calls.
+ Replace set_gdbarch_deprecated_extract_return_value() with
+ set_gdbarch_extract_return_value(). Remove calls to:
+ set_gdbarch_deprecated_saved_pc_after_call();
+ set_gdbarch_deprecated_frame_chain(),
+ set_gdbarch_deprecated_frame_saved_pc(),
+ set_gdbarch_deprecated_frame_init_saved_regs(),
+ set_gdbarch_deprecated_get_saved_register(),
+ set_gdbarch_deprecated_call_dummy_words(),
+ set_gdbarch_deprecated_sizeof_call_dummy_words(),
+ set_gdbarch_deprecated_init_extra_frame_info(),
+ set_gdbarch_deprecated_frame_args_address(),
+ set_gdbarch_deprecated_frame_locals_address(),
+ and set_gdbarch_deprecated_dummy_write_sp().
+ Add set_gdbarch_convert_register_p(),
+ set_gdbarch_register_to_value(),
+ set_gdbarch_value_to_register(),
+ set_gdbarch_push_dummy_call(),
+ set_gdbarch_frame_align(),
+ set_gdbarch_unwind_dummy_id(),
+ set_gdbarch_unwind_pc(),
+ frame_unwind_append_sniffer(),
+ frame_unwind_append_sniffer(),
+ and frame_base_set_default().
+
+2003-08-25 Chris Demetriou <cgd@broadcom.com>
+
+ * configure.tgt: Document need for special "mipsisa64" handling.
+ (mipsisa64*-*-linux64): Handle as target linux64.
+ (mipsisa64*-*-*): Handle as target embed64.
+
+2003-08-18 Michael Chastain <mec@shout.net>
+
+ * PROBLEMS: Document pr gdb/1322, the Java anonymous
+ objfile bug.
+
+2003-08-24 Mark Kettenis <kettenis@gnu.org>
+
+ * i387-tdep.h: Update copyright date.
+ (I387_SIZEOF_FSAVE, I387_SIZEOF_FXSAVE): New defines.
+
+ * linux-proc.c (linux_proc_xfer_memory): Remove comment about
+ CFLAGS games to reflect reality.
+
+2003-08-24 Andrew Cagney <cagney@redhat.com>
+
+ * arm-tdep.c (_initialize_arm_tdep): Simplify by assuming
+ GDB_MULTI_ARCH is always non-zero.
+ * osabi.c (_initialize_gdb_osabi): Ditto.
+ (gdbarch_init_osabi): Ditto.
+ * sparc-tdep.c: Ditto for #if code.
+
+2003-08-23 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (x86_64_supply_fxsave): Add `regnum' argument.
+ Update comments.
+ * x86-64-tdep.h (x86_64_supply_fxsave): Adjust prototype. Update
+ comments.
+ * x86-64-linux-tdep.c (fetch_core_registers): Adjust call to
+ x86_64_supply_fxsave.
+ * x86-64-linux-nat.c (supply_fpregset): Adjust call to
+ x86_64_supply_fxsave.
+ * amd64fbsd-nat.c (supply_fpregset): Adjust call to
+ x86_64_supply_fxsave.
+
+2003-08-23 Andreas Jaeger <aj@suse.de>
+
+ * x86-64-tdep.c (x86_64_supply_fxsave): Adjust call to
+ i387_supply_fxsave.
+
+2003-08-23 Mark Kettenis <kettenis@gnu.org>
+
+ * go32-nat.c (fetch_register): Call i387_supply_fsave instead of
+ i387_supply_register.
+ (go32_fetch_registers): Adjust call to i387_supply_fsave.
+ * i386nbsd-tdep.c (fetch_core_registers): Adjust call to
+ i387_supply_fsave.
+ (fetch_elfcore_registers): Adjust call to i387_supply_fsave and
+ i387_supply_fxsave.
+ * i386obsd-tdep.c (fetch_core_registers): Adjust call to
+ i387_supply_fsave.
+ * i386bsd-nat.c (supply_fpregset): Adjust call to
+ i387_supply_fsave.
+ (fetch_inferior_registers): Remove extraneous whitespace. Adjust
+ call to i387_supply_fxsave. Call i387_supply_fsave instead of
+ supply_fpregset.
+ (store_inferior_registers): Remove extraneous whitespace. Call
+ i387_fill_fsave instead of fill_fpregset.
+ * i386gnu-nat.c (fetch_fpregs): Adjust call to i387_supply_fsave.
+ (supply_fpregset): Likewise.
+ * i386v4-nat.c (supply_fpregset): Adjust call to
+ i387_supply_fsave.
+ * i386-interix-nat.c (supply_fpregset): Adjust call to
+ i387_supply_fsave.
+ * i386-linux-nat.c (supply_fpregset): Adjust call to
+ i387_supply_fsave.
+ (supply_fpxregset): Adjust call to i387_adjust_fxsave.
+ * i386-nto-tdep.c (i386nto_supply_fpregset): Adjust calls to
+ i387supply_fsave and i387_supply_fxsave.
+ * i387-tdep.c (i387_supply_fsave): Add `regnum' argument.
+ Incorporate code from `i387_supply_register.
+ (i387_supply_register): Remove.
+ (i387_supply_fxsave): Add `regnum' argument.
+ Update comments.
+ * i387-tdep.h (i387_supply_fsave, i387_supply_fsxave): Adjust
+ prototype.
+ (i387_supply_register): remove prototype.
+ Update comments.
+
+2003-08-22 Michael Chastain <mec@shout.net>
+
+ * config/djgpp/fnchange.lst: Remove gdb/testsuite/gdb.c++/*.
+ Add lines for files in gdb/testsuite/gdb.cp/* that are
+ still not 8.3 unique.
+
+2003-08-22 Daniel Jacobowitz <drow@mvista.com>
+
+ * gnu-v3-abi.c (gnuv3_baseclass_offset): Check whether
+ TYPE_VPTR_FIELDNO is valid.
+
+2003-08-19 Mark Kettenis <kettenis@gnu.org>
+
+ * utils.c (set_width_command): Remove prototypes.
+ (set_screen_size): New prototype.
+ (init_page_info): Simplify by fetching the screen size from
+ Readline. Call set_screen_size.
+ (set_screen_size): New function.
+ (set_width): Add missing whitespace in comment.
+ (set_width_command): Call set_screen_size.
+ (set_height_command): New function.
+ (initialize_utils): Fix formatting. Make "set height" command
+ call set_height_command. Remove redundant code that turns off
+ pagination if output isn't a terminal. Remove redundant call to
+ set_width_command.
+
+2003-08-22 Mark Kettenis <kettenis@gnu.org>
+
+ * sparc64-tdep.h (sparc64_regnum): Fix comment.
+ (sparc64_supply_rwindow, sparc64_fill_rwindow): Remove prototypes.
+ (sparc_supply_rwindow, sparc_fill_rwindow): New prototypes.
+ * sparc64-tdep.c (sparc64_pseudo_register_read): Add missing
+ `case' keyword.
+ (sparc64_register_info): Give the reister with number
+ SPARC64_STATE_REGNUM a name.
+ (sparc64_pseudo_register_write): Add support for %cwp, %pstate,
+ %asi and %ccr.
+ (sparc64_push_dummy_call): Take BIAS into account when checking
+ stcak alignment.
+ (sparc_software_single_step): Remove assertions that check whether
+ NPC and NNPC were zero.
+ (sparc_supply_rwindow): Make public. Merge functionality with
+ sparc64_supply_rwindow.
+ (sparc_fill_rwindow): Make public. Merge functionality with
+ sparc64_fill_rwindow.
+ (sparc64_supply_rwindow, sparc64_fill_rwindow): Remove.
+ * sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Set
+ SPARCBSD_FPREG_SUPPLIES_P to sparc64fbsd_fpreg_supplies_p.
+ * sparc64fbsd-tdep.c (sparc64fbsd_supply_reg): Call
+ sparc_supply_rwindow instead of sparc64_supply_rwindow.
+
+ * reggroups.c: Add whitespace after declarations of local
+ variables in functions.
+
+2003-08-21 Michael Chastain <mec@shout.net>
+
+ * gdbtypes.h: Change array bound type from an int to enum.
+
+2003-08-21 Andrew Cagney <cagney@redhat.com>
+
+ * config/sparc/tm-sp64.h: Delete #if !GDB_MULTI_ARCH and #if 0 code.
+ * config/sparc/tm-sparc.h: Ditto.
+ * config/arm/tm-arm.h (GDB_MULTI_ARCH): Define GDB_MULTI_ARCH
+ unconditionally.
+ * config/pa/tm-hppa.h (GDB_MULTI_ARCH): Ditto.
+
+2003-07-13 Mark Kettenis <kettenis@gnu.org>
+
+ * objfiles.h (struct objfile): Add memebers `data' and `num_data'.
+ (register_objfile_data, set_objfile_data, objfile_data): New
+ prototypes.
+ * objfiles.c (objfile_alloc_data, objfile_free_data): New
+ prototypes.
+ (allocate_objfile): Call objfile_alloc_data.
+ (free_objfile): Call objfile_free_data.
+ (struct objfile_data): New.
+ (struct objfile_data_registration): New.
+ (struct objfile_data_registry): New.
+ (objfile_data_registry): New variable.
+ (register_objfile_data): New function.
+ (objfile_alloc_data, objfile_free_data): New functions.
+ (set_objfile_data, objfile_data): New functions.
+ * dwarf2-frame.c (dwarf2_frame_data): New variable.
+ (dwarf2_frame_find_fde, add_fde): Use new per-objfile data mechanism.
+ (_initialize_dwarf2_frame): New function and prototype.
+
+2003-08-21 Andrew Cagney <cagney@redhat.com>
+
+ * sh3-rom.c (sh3_open, sh3e_open): Use gdbarch_update_p to select
+ a specific architecture.
+ * arch-utils.h (set_architecture_from_arch_mach): Delete
+ declaration.
+ (target_architecture_hook): Delete declaration.
+ * arch-utils.c: Delete non GDB_MULTI_ARCH includes.
+ (default_float_format): Assume GDB_MULTI_ARCH.
+ (default_double_format): Assume GDB_MULTI_ARCH.
+ (set_endian_from_file): Delete function.
+ (arch_ok): Delete function.
+ (set_arch): Delete function.
+ (set_architecture_from_arch_mach): Delete function.
+ (set_architecture_from_file): Delete function.
+ (set_architecture): Assume GDB_MULTI_ARCH.
+ (set_gdbarch_from_file): Assume GDB_MULTI_ARCH.
+
+2003-08-21 Mark Kettenis <kettenis@gnu.org>
+
+ Rewrite FreeBSD/sparc64 native configuration.
+ * sparcbsd-nat.c, sparcbsd-nat.h: New files.
+ * sparc64fbsd-nat.c: New file.
+ * sparc64fbsd-tdep.c: New file.
+ * sparc64-tdep.c sparc64-tdep.h: New files.
+ * Makefile.in (sparcbsd-nat.o, sparc64fbsd-nat.o, sparc64-tdep.o,
+ sparc64fbsd-tdep.o): New dependencies.
+ (SFILES): Add sparcbsd-nat.c, sparc64fbsd-nat.c, sparc64-tdep.c
+ and sparc64fbsd-tdep.c.
+ (sparc64_tdep_h, sparcbsd_nat_h): New variables.
+ * config/sparc/fbsd.mh: Remove copyright notice.
+ (NATDEPFILES): Remove sparc-nat.o, add sparc64fbsd-nat.o and
+ sparcbsd-nat.o.
+ * config/sparc/fbsd.mt: Remove copyright notice.
+ (TDEPFILES): Remove sparc-tdep.o, solib.o solib-svr4.o,
+ solib-legacy.o. Add sparc64-tdep.o and sparc64fbsd-tdep.o.
+ * config/sparc/nm-fbsd.h: Don't include "elf/common.h".
+ (SVR4_SHARED_LIBS, PTRACE_GETREGS, PTRACE_SETREGS,
+ PTRACE_GETFPREGS, PTRACE_SETFPREGS, GDB_GREGSET_T, GDB_FPREGSET_T,
+ regs, r_g1, r_ps, r_pc, r_npc, r_y, FPU_FSR_TYPE, fp_status, fpu,
+ fpu_regs, fp_fr, fpu_fsr, Fpu_fsr): Remove defines.
+ * config/sparc/tm-fbsd.h: Don't include "solib.h" and
+ "sparc/tm-sp64.h".
+ (SVR4_SHARED_LIBS, START_INFERIOR_TRAPS_EXPECTED): Remove defines.
+ (GDB_MULTI_ARCH): Define to GDB_MULTI_ARCH_TM.
+
+2003-08-21 Michael Chastain <mec@shout.net>
+
+ * symtab.h: Add doco on the space critical structures and
+ some measurements of space usage.
+
+2003-08-21 Michael Snyder <msnyder@redhat.com>
+
+ * tracepoint.c (trace_dump_command): Trace break address
+ is subject to DECR_PC_AFTER_BREAK.
+ (set_traceframe_context): Make "trace_line" an int.
+ Fixes suggested by Mark Newman <mark.newman@lmco.com>
+
+2003-08-20 Michael Snyder <msnyder@redhat.com>
+
+ * sh-tdep.h (struct gdbarch_tdep): New member FLOAT_ARGLAST_REG.
+ * sh-tdep.c (sh_gdbarch_init): For sh2e, sh3e, and sh4, set
+ FLOAT_ARG0_REGNUM and FLOAT_ARGLAST_REGNUM, to be used for
+ argument passing.
+ (sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu): New
+ functions, replace sh_push_dummy_call.
+ (sh_gdbarch_init): Set push_dummy_call to one of new methods.
+
+2003-08-20 Michael Chastain <mec@shout.net>
+
+ * gdbtypes.h (struct main_type): Rearrange to save space.
+
+2003-08-20 Michael Snyder <msnyder@redhat.com>
+
+ * trad-frame.c: Comment typo fix.
+
+2003-08-20 Michael Snyder <msnyder@redhat.com>
+ Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (gdb_string.h, frame.h, trad-frame.h): Include.
+ (frv_frame_init_saved_regs): Add declaration.
+ (frame_extra_info): Add new field ``saved_regs''.
+ (frv_frame_chain, frv_frame_saved_pc, frv_analyze_prologue)
+ (frv_skip_prologue, frv_init_extra_frame_info, frv_pop_frame_regular):
+ Update frame related code.
+ (frv_extract_struct_value_address): Adjust formatting.
+ * Makefile.in (frv-tdep.o): Update dependencies.
+ * config/frv/tm-frv.h (target_insert_watchpoint)
+ (target_remove_watchpoint, target_insert_hw_breakpoint)
+ (target_remove_hw_breakpoint): Delete these macros.
+ (remote_insert_watchpoint, remote_remove_watchpoint)
+ (remote_insert_hw_watchpoint, remote_remove_hw_watchpoint): Remove
+ these declarations.
+
+2003-08-20 Michael Chastain <mec@shout.net>
+
+ * defs.h (ENUM_BITFIELD): New macro.
+ * symtab.h (ENUM_BITFIELD): Use it.
+ (BYTE_BITFIELD): Remove old macro, which was already disabled.
+
+2003-08-19 Shrinivas Atre <shrinivasa@kpitcummins.com>
+
+ * MAINTAINERS (write after approval): Add myself.
+
+2003-08-18 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (FRAME_RED_ZONE_SIZE): New architecture method.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * infcall.c (call_function_by_hand): Adjust the SP by
+ frame_red_zone_size before allocating any stack space.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Set "frame_red_zone_size".
+ * x86-64-tdep.c (x86_64_frame_align): New function.
+ (x86_64_init_abi): Set "frame_red_zone_size" and "frame_align".
+
+ * x86-64-tdep.c (x86_64_push_arguments): Revert 2003-08-07 change.
+ Remove code adjusting SP so that it skips over the Red Zone.
+
+2003-08-18 Mark Kettenis <kettenis@gnu.org>
+
+ * NEWS (New native configurations): Mention FreeBSD/amd64.
+
+2003-08-18 Andrew Cagney <cagney@redhat.com>
+
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Do not set
+ "dwarf2_build_frame_info". Append "m68k_frame_sniffer" instead of
+ "m68k_frame_p".
+ (m68hc11_frame_sniffer): Replace "m68hc11_frame_p".
+
+2003-08-18 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (x86_64_dwarf_regmap): Remove trailing whitespace.
+
+2003-08-18 Michal Ludvig <mludvig@suse.cz>
+
+ * config/i386/nm-x86-64linux.h (LINUX_CHILD_POST_STARTUP_INFERIOR):
+ Define.
+ * i386-linux-nat.c: Include "linux-nat.h".
+ (child_post_startup_inferior): New function.
+
+2003-08-18 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_analyze_register_saves): Handle register saves
+ at the start of a frameless function. This probably fixes PR
+ backtrace/1338.
+
+2003-08-17 Michael Chastain <mec@shout.net>
+
+ * symfile.c (find_sym_fns): Remove special case for apollo target.
+
+2003-08-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * linux-nat.c (PTRACE_O_TRACEVFORKDONE, PTRACE_O_TRACEEXIT): Define.
+ (PTRACE_EVENT_VFORKDONE, PTRACE_EVENT_EXIT): Define.
+ (linux_parent_pid, linux_supports_tracevforkdone_flag): New variable.
+ (linux_test_for_tracefork): Set linux_supports_tracevforkdone_flag.
+ (linux_supports_tracevforkdone): New function.
+ (linux_enable_event_reporting): Enable TRACEVFORK, TRACEEXEC, and
+ TRACEVFORKDONE.
+ (child_follow_fork): Handle vfork.
+ (linux_handle_extended_wait): Likewise. Also handle exec.
+ (child_insert_vfork_catchpoint, child_insert_exec_catchpoint): Enable.
+ * NEWS: Mention fork tracing.
+
+2003-08-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * lin-lwp.c (child_wait): Call linux_record_stopped_pid.
+
+2003-08-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in (i386-linux-nat.o): Update dependencies.
+ * config/i386/nm-linux.h (LINUX_CHILD_POST_STARTUP_INFERIOR): Define.
+ * config/nm-linux.h (CHILD_POST_STARTUP_INFERIOR, CHILD_POST_ATTACH)
+ (CHILD_FOLLOW_FORK, KILL_INFERIOR): Define.
+ * i386-linux-nat.c: Include "linux-nat.h".
+ (child_post_startup_inferior): New function.
+ * i386-nat.c (child_post_startup_inferior): Wrap in #ifdef.
+ * infptrace.c (kill_inferior): Wrap in #ifdef.
+ * lin-lwp.c (lin_lwp_attach_lwp): Call child_post_attach after
+ attaching to each LWP.
+ (child_wait, lin_lwp_wait): Call linux_handle_extended_wait.
+ (init_lin_lwp_ops): Fill in some more operations.
+ * linux-nat.h (linux_enable_event_reporting)
+ (linux_handle_extended_wait, linux_child_post_startup_inferior): New
+ prototypes.
+ * linux-nat.c (linux_enable_event_reporting): New function.
+ (child_post_attach, linux_child_post_startup_inferior)
+ (child_post_startup_inferior, child_follow_fork)
+ (linux_handle_extended_wait, kill_inferior): New functions.
+
+2003-08-16 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Delete all #if not GDB_MULTI_ARCH code.
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+2003-08-16 Mark Kettenis <kettenis@gnu.org>
+
+ * config/alpha/nm-fbsd.h (SVR4_SHARED_LIBS): Remove define.
+
+2003-08-16 Andrew Cagney <cagney@redhat.com>
+
+ * NEWS: Mention that "set prompt-escape-char" was deleted.
+ * top.c (get_prompt_1): Delete function.
+ (gdb_prompt_escape):
+ (init_main): Do not clear "gdb_prompt_escape". Delete "set
+ prompt-escape-char" command.
+ (MAX_PROMPT_SIZE): Delete macro.
+ (get_prompt): Simplify, do not call get_prompt_1.
+
+2003-08-16 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (printcmd.o, valprint.o): Do not try to build with
+ -Werror. -Wformat-nonliteral problems.
+
+2003-08-15 J. Brobecker <brobecker@gnat.com>
+
+ Further multiarching work mostly for hppa64-*-hpux11:
+ * hppa-tdep.h: New file.
+ * hppa-tdep.c: #include hppa-tdep.c.
+ (hppa32_num_regs): Renamed from hppa_num_regs.
+ (hppa64_num_regs): New constant.
+ (hppa64_call_dummy_breakpoint_offset): New constant.
+ (hppa32_call_dummy_length): New constant.
+ (hppa64_call_dummy_length): New constant.
+ (hppa32_stack_align): Make name 32bit explicit.
+ (hppa32_register_virtual_type): Likewise.
+ (hppa32_extract_return_value): Likewise.
+ (hppa32_use_struct_convention): Likewise.
+ (hppa32_store_return_value): Likewise.
+ (hppa64_register_virtual_type): New function.
+ (hppa64_extract_return_value): New function.
+ (hppa64_use_struct_convention): New function.
+ (hppa64_store_return_value): New function.
+ (hppa_frame_locals_address): Remove declaration, function does
+ not exist anymore.
+ (hppa_register_byte): Add support for PA64 ABI.
+ (hppa_gdbarch_init): Add support for PA64 ABI.
+ * hppa-hpux-tdep.c (hppa32_hpux_frame_saved_pc_in_sigtramp):
+ Make name 32bit explicit.
+ (hppa32_hpux_frame_base_before_sigtramp): Likewise.
+ (hppa32_hpux_frame_find_saved_regs_in_sigtramp): Likewise.
+ (hppa64_hpux_frame_saved_pc_in_sigtramp): New function.
+ (hppa64_hpux_frame_base_before_sigtramp): New function.
+ (hppa64_hpux_frame_find_saved_regs_in_sigtramp): New function.
+ * config/pa/tm-hppa64.h: Remove macros that are no longer
+ necessary now that the gdbarch vector is properly setup.
+ Transform some macros into function calls. Some minor cleanup.
+ * config/pa/tm-hppah.h: Update function calls in macros
+ following the function renaming in hppa-hpux-tdep.c.
+ * Makefile.in (hppa_tdep_h): New variable.
+ (hppa-tdep.o): Add dependency over hppa_tdep_h.
+
+2003-08-14 Michael Snyder <msnyder@redhat.com>
+
+ * disasm.c (gdb_disassemble_info): Set info->insn_sets to zero.
+
+2003-08-13 J. Brobecker <brobecker@gnat.com>
+
+ * hppa-hpux-tdep.c (_initialize_hppa_hpux_tdep): Use the correct
+ bfd arch_info when registering the GDB_OSABI_HPUX_ELF initialization
+ routine.
+
+2003-08-13 Michael Snyder <msnyder@redhat.com>
+
+ * frv-tdep.c (frv_push_arguments): Use deprecated ftype.
+ (frv_saved_pc_after_call): Use deprecated ftype.
+ (stupid_useless_init_extra_frame_info): Remove orphan prototype.
+ (frv_remote_translate_xfer_address): Remove.
+ (frv_gdbarch_init): Use generic_remote_translate_xfer_address.
+
+2003-08-13 J. Brobecker <brobecker@gnat.com>
+
+ * hppa-tdep.c (hppa_gdbarch_init): Perform the ABI-specific gdbarch
+ initialization after the common gdbarch initialization, not before.
+
+2003-08-13 J. Brobecker <brobecker@gnat.com>
+
+ * config/pa/tm-hppa64.h (HPUX_1100): Remove, not used.
+ (ADDR_BITS_REMOVE): Remove, redundant.
+
+2003-08-13 J. Brobecker <brobecker@gnat.com>
+
+ * hppa-tdep.c (hppa_gdbarch_init): Set the addr_bits_remove
+ gdbarch method to clear the 2 low bits of text addresses.
+
+2003-08-12 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (dsrec.o): Update dependencies.
+ * dsrec.c: Include "gdb_assert.h".
+ (make_srec): Use snprintf instead of sprintf, use a literal format
+ string.
+
+2003-08-12 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (deprecated_frame_xmalloc): Use XMALLOC, instead of
+ FRAME_OBSTACK_ZALLOC.
+
+2003-08-12 Kevin Buettner <kevinb@redhat.com>
+
+ * i386-tdep.c (i386_gdbarch_init): Enable default support for
+ SSE registers.
+
+2003-08-10 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.h (amd64fbsd_sigtramp_start, amd64fbsd_sigtramp_end,
+ amd64fbsd_sc_reg_offset): Add extern declarations.
+ * amd64fbsd-nat.c (_initialize_am64fbsd_nat): Remove extern
+ declarations.
+
+2003-08-11 Ben Elliston <bje@wasabisystems.com>
+
+ * MAINTAINERS (write after approval): Update my mail address.
+
+2003-08-10 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (monitor.o): Do not build monitor.c with -Werror.
+
+2003-08-10 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.h (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end,
+ i386obsd_sigtramp_start, i386obsd_sigtramp_end,
+ i386fbsd4_sc_reg_offset, i386fbsd_sc_reg_offset,
+ i386nbsd_sc_reg_offset, i386obsd_sc_reg_offset,
+ i386bsd_sc_reg_offset): Add extern declarations.
+ * i386obsd-nat.c: Include "i386-tdep.h"
+ (_initialize_i386obsd_nat): Remove extern declarations.
+ * i386fbsd-nat.c (_initialize_i386fbsd_nat): Remove extern
+ declarations.
+ * i386bsd-nat.c (_initialize_i386bsd_nat): Remove extern
+ declarations.
+
+ * i386-tdep.c (i386_register_to_value): Use get_frame_register
+ instead of frame_read_register.
+ (i386_fetch_pointer_argument): Use get_frame_register_unsigned
+ instead of frame_read_register. Use I386_ESP_REGNUM instead of
+ SP_REGNUM.
+ (i386_frame_prev_register): Use frame_unwind_register_unsigned
+ instead of frame_unwind_unsigned_register. Use
+ I386_EFLAGS_REGISTER instead of PS_REGNUM.
+ (i386_get_longjmp_target): Use regcache_read_unsigned_register
+ instead of read_register. Use builtin_type_void_data_ptr instead
+ of builtin_type_void_func_ptr when extracting the address of the
+ jmp_buf.
+ (i386_extract_return_value, i386_store_return_value,
+ i386_pseudo_register_read, i386_pseudo_register_write): Use
+ register_size instead REGISTER_RAW_SIZE.
+
+2003-08-10 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): Use xstrprintf instead of
+ sprintf. Make "name" constant.
+
+2003-08-10 Mark Kettenis <kettenis@gnu.org>
+
+ * i387-tdep.c (i387_register_to_value): Use get_frame_register
+ instead of frame_read_register.
+ (i387_print_float_info): Use get_frame_register and
+ get_frame_register_unsigned instead of frame_register_read.
+
+ * i386fbsd-nat.c: Include "i386-tdep.h".
+ (child_resume): Make `eflags' an ULONGEST. Use
+ regcache_cooked_read_unsigned and regcache_cooked_write_unsigned
+ instead of register_read and register_write.
+
+ * i386bsd-nat.c (fetch_inferior_registers,
+ store_inferior_registers): Don't use && at the end of a line.
+ (_initialize_i386bsd_nat): Fix typo.
+
+ * frame.c (_initialize_frame): Add missing backslash.
+
+ From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de):
+ * sol-thread.c (sol_thread_store_registers): Use regcache_collect
+ and supply_register instead of manipulating the register buffer
+ directly.
+
+ From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de):
+ * config/i386/nm-i386sol2.h
+ (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Define to one.
+
+ Based on a patch from Michael Elizabeth Chastain (mec@shout.net):
+ * i386-tdep.c (i386_analyze_frame_setup): Recognize more
+ instructions that GCC likes to mingle into the prologue. Fixes
+ gdb/1253 and gdb/1255.
+
+2003-08-09 Andrew Cagney <cagney@redhat.com>
+
+ Fix GDB PR cli/926.
+ * cli/cli-decode.c (add_setshow_uinteger_cmd): New function.
+ * command.h (add_setshow_uinteger_cmd): Declare.
+ * frame.c (set_backtrace_cmd): New function.
+ (show_backtrace_cmd): New function.
+ * frame.c (_initialize_frame): Replace "set/show
+ backtrace-below-main" with "set/show backtrace past-main". Add
+ command "set/show backtrace limit".
+ (backtrace_past_main): Rename "backtrace_below_main".
+ (backtrace_limit): New variable.
+ (get_prev_frame): Update. Check the backtrace_limit.
+
+2003-08-09 Andrew Cagney <cagney@redhat.com>
+
+ * defs.h (xstrprintf): Declare.
+ * utils.c (xstrprintf): New function.
+ * breakpoint.c (insert_breakpoints): Replace sprintf and
+ non-literal format strings, with xstrprintf and cleanups.
+ (delete_breakpoint,breakpoint_re_set): Ditto.
+ (commands_command, insert_breakpoints): Ditto.
+ (bpstat_stop_status, break_at_finish_at_depth_command_1): Ditto.
+ (break_at_finish_command_1): Ditto.
+
+2003-08-09 Andrew Cagney <cagney@redhat.com>
+
+ * MAINTAINERS (language support): List Adam Fedor as Objective C
+ maintainer.
+
+2003-08-08 J. Brobecker <brobecker@gnat.com>
+
+ * NEWS (Multi-arched targets): Document that all hppa-hpux targets
+ are now multiarched.
+
+2003-08-08 J. Brobecker <brobecker@gnat.com>
+
+ * config/pa/tm-hppa64.h: Remove lots of macros that are no
+ longer necessary now that hppa64 is partially multiarch'ed.
+
+2003-08-08 Andrew Cagney <cagney@redhat.com>
+
+ * interps.c (interp_set): Check for a NULL "old_interp".
+
+2003-08-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.in (FLAGS_TO_PASS): Add DESTDIR.
+ (install-only): Support DESTDIR.
+ (uninstall): Likewise.
+ (install-gdbtk): Likewise.
+
+2003-08-08 Elena Zannoni <ezannoni@redhat.com>
+
+ * symtab.c (lookup_symbol_aux): Make sure that is_a_field_of_this
+ contains something meaningful at all times.
+
+Fri Aug 8 00:28:46 UTC 2003 Brendan Conoboy <blc@redhat.com>
+
+ * configure.host: Set gdb_host_cpu=arm when host_cpu=xscale.
+
+Fri Aug 8 00:28:38 UTC 2003 Brendan Conoboy <blc@redhat.com>
+
+ * MAINTAINERS (write after approval): Added self.
+
+2003-08-07 Andrew Cagney <cagney@redhat.com>
+
+ * inferior.h (AT_SYMBOL): Define.
+ * blockframe.c (inside_entry_file): Check for AT_SYMBOL.
+ * infcall.c (call_function_by_hand): Add code to handle AT_SYMBOL.
+ * mips-tdep.c (mips_call_dummy_address): Delete function.
+ (mips_gdbarch_init): Set call_dummy_location to AT_SYMBOL, do not
+ set call_dummy_address.
+
+2003-08-07 Andrew Cagney <cagney@redhat.com>
+
+ * language.c (op_error): Delete function.
+ (binop_type_check): Delete function.
+ * language.h (type_op_error, range_op_error): Delete macros.
+ (op_error): Delete declaration.
+
+2003-08-07 Andrew Cagney <cagney@redhat.com>
+
+ * interps.h (INTERP_MI2, INTERP_MI3): Define.
+
+2003-08-07 Michal Ludvig <mludvig@suse.cz>
+
+ * x86-64-tdep.c (x86_64_dwarf_regmap): Correct register numbers.
+ (x86_64_push_arguments): Skip the red zone.
+
+2003-08-05 Andrew Cagney <cagney@redhat.com>
+
+ * reggroups.c (reggroup_next): Check for the final entry.
+
+2003-08-04 Andrew Cagney <cagney@redhat.com>
+
+ * monitor.h (monitor_dump_reg_block): Remove ATTR_FORMAT.
+ * cli/cli-script.c (define_command): Call query directly, instead
+ of passing it a buffer.
+ * ocd.c (ocd_error): Pass error a constant format string.
+ * remote-mips.c (mips_error): Use fputs_filtered.
+
+ * solib-svr4.c (_initialize_svr4_solib): Update
+ register_gdbarch_data call.
+ * mips-linux-tdep.c (_initialize_mips_linux_tdep): Ditto.
+
+ * gdbarch.sh (gdbarch_data_free_ftype): Delete declaration.
+ (register_gdbarch_data): Delete "free" parameter. Update
+ comments.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * reggroups.c (_initialize_reggroup): Update.
+ * gnu-v3-abi.c (init_gnuv3_ops): Update.
+ * frame-base.c (_initialize_frame_base): Update.
+ * frame-unwind.c (_initialize_frame_unwind): Update.
+ * user-regs.c (_initialize_user_regs): Update.
+ * remote.c (_initialize_remote): Update.
+ * regcache.c (_initialize_regcache): Update.
+
+ * regcache.c (xfree_regcache_descr): Delete function.
+ (_initialize_regcache): Update call to register_gdbarch_data.
+ (init_regcache_descr, init_legacy_regcache_descr): Use
+ GDBARCH_OBSTACK_XALLOC and GDBARCH_OBSTACK_CALLOC.
+
+ * remote.c (free_remote_state): Delete function.
+ (_initialize_remote): Update register_gdbarch_data.
+ (init_remote_state): Use GDBARCH_OBSTACK_XALLOC and
+ GDBARCH_OBSTACK_CALLOC instead of xmalloc / xcalloc.
+
+2003-08-04 Andrew Cagney <cagney@redhat.com>
+
+ * reggroups.c (struct reggroup_el): Define.
+ (struct reggroups): Delete field "nr_group". Replace array
+ "group" with a "first" to "last" linked list.
+ (reggroups_init): Update. Allocate using gdbarch's obstack.
+ (reggroups_free): Delete function.
+ (add_group): Update. Add "el" parameter.
+ (reggroup_add): Pass gdbarch obstack allocated space to add_group.
+ (default_groups): Update.
+ (reggroup_next): Replace reggroups.
+ (reggroups_dump): Update.
+ (_initialize_reggroup): Pass XMALLOC allocated space to add_group.
+ * regcache.c (regcache_dump): Use reggroup_next instead of reggroups.
+ * infcmd.c (registers_info): Use reggroup_next instead of reggroups.
+
+2003-08-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in (tui-interp.o): Update dependencies.
+
+2003-08-04 David Carlton <carlton@kealia.com>
+
+ * charset.c (cached_iconv_convert): Add __FILE__ and __LINE__ args
+ to internal_error call.
+ * source.c (forward_search_command): Add "%s" format argument.
+ (reverse_search_command): Ditto.
+ * top.c (quit_confirm): Ditto.
+ * cli/cli-setshow.c (do_setshow_command): Ditto.
+ * cp-valprint.c (cp_print_class_method): Replace
+ {f,}printf_{un,}filtered by {f,}puts_{un,}filtered.
+ (cp_print_class_member): Ditto.
+ * event-top.c (command_line_handler): Ditto.
+ * linux-proc.c (linux_info_proc_cmd): Ditto.
+ * p-typeprint.c (pascal_type_print_base): Ditto.
+ * p-valprint.c (pascal_object_print_class_method): Ditto.
+ (pascal_object_print_class_member): Ditto.
+ * printcmd.c (print_scalar_formatted,printf_command): Ditto.
+ * remote.c (remote_cisco_section_offsets): Ditto.
+ * top.c (command_line_input): Ditto.
+ * utils.c (vwarning,error_stream,quit): Ditto.
+ * valprint.c (print_floating,print_binary_chars)
+ (print_octal_chars,print_decimal_chars,print_hex_chars): Ditto.
+
+2003-08-04 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (frame_func_unwind): Use frame_unwind_address_in_block.
+
+2003-08-02 Andrew Cagney <cagney@redhat.com>
+
+ * config/djgpp/fnchange.lst: Fix up testsuite/gdb.c++/annota3.cc,
+ gdb/testsuite/gdb.c++/annota3.exp, amd64fbsd-tdep.c and
+ amd64fbsd-nat.c.
+
+2003-08-02 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in: Update all dependencies and definitions.
+
+2003-08-02 Adam Fedor <fedor@gnu.org>
+
+ * linespec.c (is_objc_method_format): New function
+ (decode_line_1, locate_first_half): Use it.
+ Fixes PR objc/1298
+
+2003-08-01 Andrew Cagney <cagney@redhat.com>
+
+ * NEWS: Mention that m32r is multi-arch.
+ From 2003-07-28 Kei Sakamoto <sakamoto.kei@renesas.com>:
+ * configure.tgt: Recognize m32r-*-*.
+ * config/m32r/tm-m32r.h: Delete file.
+ * config/m32r/m32r.mt: New file.
+ * m32r-rom.c (m32r_upload_command): Use hostent only when
+ gethostname succeeds, in order to avoid a compilation
+ warning.
+ * m32r-tdep.c (m32r_store_return_value): Add a cast to remove a
+ compiler warning.
+
+2003-08-01 Michael Snyder <msnyder@redhat.com>
+
+ * sh-tdep.c (sh_frame_align): New gdbarch method.
+ (sh_gdbarch_init): Set up frame_align method.
+
+2003-07-31 Michael Snyder <msnyder@redhat.com>
+
+ * value.h, values.c, infcall.c, infcmd.c: Revert 07-30 change,
+ which is already covered by the new frames infrastructure.
+
+2003-07-31 Andrew Cagney <cagney@redhat.com>
+
+ * user-regs.c (struct user_reg): Add "next" link.
+ (struct user_regs): Replace "user" with "first" and "last" links.
+ (append_user_reg): Add pre-allocated "reg" parameter.
+ (builtin_user_regs): Provide initial value for "last".
+ (user_reg_add_builtin): XMALLOC memory for append_user_reg.
+ (user_regs_init): Allocate memory from the gdbarch obstack.
+ (user_reg_add): GDBARCH_OBSTACK_ZALLOC memory for append_user_reg.
+ (user_reg_map_name_to_regnum): Rewrite to search the user_reg
+ linked list.
+ (usernum_to_user_reg): New function.
+ (user_reg_map_regnum_to_name): Use usernum_to_user_reg.
+ (value_of_user_reg): Use usernum_to_user_reg.
+ (user_regs_free): Delete function.
+ (_initialize_user_regs): Update register_gdbarch_data call.
+
+2003-07-31 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2read.c (new_symbol): Use var_decode_location for parameters.
+
+2003-07-30 Michael Snyder <msnyder@redhat.com>
+
+ * value.h (value_being_returned): Add a struct_addr argument.
+ * infcall.c (call_function_by_hand): Pass struct_addr to
+ value_being_returned.
+ * infcmd.c (print_return_value): Pass zero as struct_addr.
+ * values.c (value_being_returned): If struct_addr is passed,
+ use it instead of trying to recover it from the inferior.
+
+2003-07-30 Kevin Buettner <kevinb@redhat.com>
+
+ * mn10300-tdep.c (analyze_dummy_frame): Pass ``pc'' so that
+ the prologue analyzer won't need to attempt to extract the pc
+ value from the woefully incomplete dummy frame.
+ (mn10300_analyze_prologue): Avoid calls to get_frame_pc() when
+ possible. Disable code which modifies the frame.
+
+2003-07-28 Andrew Cagney <cagney@redhat.com>
+
+ * annotate.c (annotate_breakpoints_headers): Restrict annotation
+ to level 2.
+ (annotate_breakpoints_table, annotate_record): Ditto.
+ (annotate_breakpoints_table_end, annotate_field_begin): Ditto.
+ (annotate_field_name_end, annotate_field_value): Ditto.
+ (annotate_field_end, annotate_frame_source_begin): Ditto.
+ (annotate_frame_source_file, annotate_frame_source_file_end): Ditto.
+ (annotate_frame_source_line, annotate_frame_source_end): Ditto.
+ (annotate_frame_begin, annotate_frame_function_name): Ditto.
+ (annotate_frame_address_end, annotate_frame_address): Ditto.
+ (annotate_frame_args, annotate_frame_end): Ditto.
+ (annotate_frame_where, annotate_arg_begin): Ditto.
+ (annotate_arg_name_end, annotate_arg_value): Ditto.
+ (annotate_arg_end, annotate_signal_handler_caller): Ditto.
+ (annotate_function_call, annotate_signal_name): Ditto.
+ (annotate_signal_string, annotate_signal_name_end): Ditto.
+ (annotate_signal_string_end, annotate_value_history_begin): Ditto.
+ (annotate_value_begin, annotate_value_history_value): Ditto.
+ (annotate_value_history_end, annotate_value_end): Ditto.
+ (annotate_display_begin, annotate_display_number_end): Ditto.
+ (annotate_display_format, annotate_display_expression): Ditto.
+ (annotate_display_expression_end, annotate_display_value): Ditto.
+ (annotate_display_end, annotate_array_section_begin): Ditto.
+ (annotate_elt_rep, annotate_elt_rep_end): Ditto.
+ (annotate_elt, annotate_array_section_end): Ditto.
+
+2003-07-28 Andrew Cagney <cagney@redhat.com>
+
+ * regcache.c (struct regcache_descr): Update comments on
+ nr_raw_registers.
+ (init_legacy_regcache_descr): Don't set nr_raw_registers or
+ sizeof_raw_register_valid_p.
+ (init_regcache_descr): Set nr_raw_registers and
+ sizeof_raw_register_valid_p before calling
+ init_legacy_regcache_descr.
+
+2003-07-28 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (print_gp_register_row): Print the GPR's register
+ MOD NUM_REGS.
+
+2003-07-28 Daniel Jacobowitz <drow@mvista.com>
+
+ * thread.c (info_threads_command): Use get_selected_frame ().
+ Check that there is at least one non-sentinel frame.
+
+2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (struct frame_extra_info): Remove.
+ (m68hc11_pop_frame): Remove.
+ (m68hc11_frame_saved_pc): Remove.
+ (m68hc11_frame_chain): Remove.
+ (m68hc11_frame_init_saved_regs): Remove.
+ (m68hc11_init_extra_frame_info): Remove.
+ (m68hc11_store_struct_return): Remove.
+ (m68hc11_saved_pc_after_call): Remove.
+
+2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (struct m68hc11_unwind_cache): New struct to hold
+ frame unwind information.
+ (m68hc11_scan_prologue): New function from m68hc11_guess_from_prologue
+ and adapted for frame unwinding.
+ (m68hc11_skip_prologue): Update to scan prologue in temporary object.
+ (m68hc11_unwind_pc): New function.
+ (m68hc11_frame_unwind_cache): New function to analyze frames.
+ (m68hc11_frame_this_id): New function to create new frame struct.
+ (m68hc11_frame_prev_register): New function to unwind a register from
+ the frame.
+ (m68hc11_frame_unwind): Default 68hc11/68hc12 unwinder.
+ (m68hc11_frame_p): New function for the above.
+ (m68hc11_frame_base_address): New function to return fp of frame.
+ (m68hc11_frame_args_address): Update for frame.
+ (m68hc11_frame_base): Default 68hc11/68hc12 frame.
+ (m68hc11_unwind_sp): New function.
+ (m68hc11_unwind_dummy_id): New function.
+ (m68hc11_gdbarch_init): Install the above frames; remove deprecated
+ calls.
+
+2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_analyze_instruction): Don't advance the pc.
+ (m68hc11_guess_from_prologue): Advance the pc and frame size only
+ when we are beyond the current pc.
+
+2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_push_dummy_call): New function adapted
+ from m68hc11_push_arguments.
+ (m68hc11_push_arguments): Remove.
+ (m68hc11_push_return_address): Remove.
+ (m68hc11_gdbarch_init): Install the above; remove above deprecated
+ handlers; remove deprecated_extra_stack_alignment_needed.
+
+2003-07-27 Andrew Cagney <cagney@redhat.com>
+
+ * config/pa/tm-hppa.h (init_frame_pc_default): Declare.
+ * infcall.c (legacy_push_dummy_code) [GDB_TARGET_IS_HPPA]: Update
+ REAL_PC and not the pointer.
+ * hppa-hpux-tdep.c: Include frame.h
+
+2003-07-27 Andrew Cagney <cagney@redhat.com>
+
+ * config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Set to
+ GDB_MULTI_ACH_PARTIAL.
+
+2003-07-27 Andrew Cagney <cagney@redhat.com>
+
+ Patch from 2003-07-22 Kei Sakamoto <sakamoto.kei@renesas.com>:
+ * m32r-tdep.c (m32r_memory_insert_breakpoint): Fix code style -
+ operator at start and not end of line.
+ (decode_prologue): Ditto.
+ (m32r_frame_unwind_cache, m32r_unwind_sp, m32r_unwind_pc): Use
+ frame_unwind_register_unsigned instead of
+ frame_unwind_unsigned_register.
+ (m32r_read_pc): Use regcache_cooked_read_unsigned instead of
+ read_register.
+ (m32r_push_dummy_call): Use register_size instead of
+ REGISTER_RAW_SIZE.
+ (m32r_frame_sniffer): Replace m32r_frame_p.
+ (m32r_gdbarch_init): Call frame_unwind_append_sniffer.
+ * m32r-rom.c (report_transfer_performance): Delete extern
+ declaration.
+ (m32r_load, m32r_upload_command): Use print_transfer_performance
+ instead of report_transfer_performance.
+ (_initialize_m32r_rom): Use add_setshow_cmd instead of add_set_cmd
+ / add_show_from_set.
+
+2003-07-26 Andrew Cagney <cagney@redhat.com>
+
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Set non-deprecated
+ store_return_value and extract_struct_value_address.
+
+2003-07-26 Daniel Jacobowitz <drow@mvista.com>
+
+ PR c++/1267
+ * minsyms.c (lookup_minimal_symbol_by_pc_section): If SECTION is
+ NULL, default to the section containing PC.
+
+2003-07-24 Stephane Carrez <stcarrez@nerim.fr>
+
+ * NEWS: Mention "regs" deprecated for m68hc11 too.
+
+ * m68hc11-tdep.c (_initialize_m68hc11_tdep): Deprecate "regs" command.
+ (m68hc11_print_register): New function to print out one register.
+ (m68hc11_print_registers_info): New function to print registers.
+ (show_regs): Deprecate and use the above.
+ (m68hc11_gdbarch_init): Install the print_registers_info.
+
+2003-07-24 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Verify
+ that we have a SIGTRAP before returning non-zero.
+
+2003-07-23 Michal Ludvig <mludvig@suse.cz>
+ Elena Zannoni <ezannoni@redhat.com>
+
+ * linespec.c (decode_line_2): Avoid crash if
+ find_function_start_sal() returns empty record.
+
+2003-07-23 Andreas Schwab <schwab@suse.de>
+
+ * ia64-tdep.c (ia64_print_insn): New function.
+ (ia64_gdbarch_init): Set print_insn to it.
+ (_initialize_ia64_tdep): Don't set deprecated_tm_print_insn and
+ deprecated_tm_print_insn_info.
+
+2003-07-22 Michael Snyder <msnyder@redhat.com>
+
+ * h8300-tdep.c (h8300_extract_return_value): Teach it how to
+ handle 8-bit returns (long long).
+ (h8300h_extract_return_value): Ditto.
+ (h8300_gdbarch_init): Long long is 8 bytes, char is unsigned.
+
+2003-07-22 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.c Include "gdb_obstack.h".
+ (struct gdbarch): Add an "obstack".
+ (alloc_gdbarch_data): Allocate the gdbarch data using
+ GDBARCH_OBSTACK_CALLOC.
+ (free_gdbarch_data): Delete function.
+ (gdbarch_obstack_zalloc): New function.
+ (gdbarch_free): Free the obstack, do not call free_gdbarch_data.
+ Assert that the architecture is not initialized.
+ (gdbarch_alloc): Allocate an obstack, allocate the architecture
+ vector from the obstack.
+ (alloc_gdbarch_data, init_gdbarch_swap): Allocate memory using the
+ architecture obstack.
+ (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Define.
+ (set_gdbarch_data): Assert that the data is not initialized.
+ (struct gdbarch_data): Delete member "free".
+ (register_gdbarch_data): Do not initialize "free".
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+2003-07-22 Andrew Cagney <cagney@redhat.com>
+
+ * configure.in (build_warnings): Add -Wformat-nonliteral.
+ * configure: Re-generate.
+
+2003-07-22 Elena Zannoni <ezannoni@redhat.com>
+
+ * dwarf2loc.c (locexpr_describe_location): Fix typos.
+
+2003-07-22 Elena Zannoni <ezannoni@redhat.com>
+
+ * findvar.c (read_var_value): Remove case for thread local storage
+ variables. It is now entirely handled by the dwarf2 location
+ expression code.
+ * printcmd.c (address_info): Ditto.
+ * symtab.h (address_class): Remove LOC_THREAD_LOCAL_STATIC
+ enumeration value.
+ (struct symbol): Remove objfile field, which was used by
+ LOC_THREAD_LOCAL_STATIC only.
+ * dwarf2read.c (decode_locdesc): Remove is_thread_local variable.
+ * dwarf2loc.h (struct dwarf2_loclist_baton): Add comment about
+ usage of objfile pointer.
+ * dwarf2loc.c (locexpr_describe_location): Add case to handle
+ thread local variables.
+ Add include of objfiles.h.
+ * dwarf2expr.c (execute_stack_op): Add comments about thread local
+ storage variables.
+ * Makefile.in (dwarf2loc.o): Update dependencies.
+
+2003-07-22 Andrew Cagney <cagney@redhat.com>
+
+ * config/pa/tm-hppa64.h (FRAME_SAVED_PC_IN_SIGTRAMP): Use
+ get_frame_base.
+ (FRAME_BASE_BEFORE_SIGTRAMP): Ditto.
+ (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): Ditto.
+ (struct value): Add opaque declaration.
+ (DEPRECATED_FRAME_ARGS_ADDRESS): Delete.
+
+2003-07-21 Andrew Cagney <cagney@redhat.com>
+
+ From 2003-07-04 Kei Sakamoto <sakamoto.kei@renesas.com>:
+ * m32r-tdep.c, m32r-stub.c, m32r-tdep.c: Rewrite.
+
+2003-07-20 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_pseudo_register_read): Use
+ regcache_cooked_read_unsigned instead of read_register.
+ (m68hc11_saved_pc_after_call): Likewise.
+ (m68hc11_pseudo_register_write): Use regcache_cooked_write_unsigned
+ instead of write_register.
+ (m68hc11_register_type): New function.
+ (m68hc11_register_virtual_type): Remove.
+ (m68hc11_store_return_value): Convert to use the regcache.
+ (m68hc11_extract_struct_value_address): Likewise.
+ (m68hc11_gdbarch_init): Remove deprecated ops for register to use
+ m68hc11_register_type; undeprecate store_return_value and
+ extract_struct_value_address.
+
+2003-07-20 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_extract_return_value): Use regcache_raw_read
+ and translate to use regcache.
+ (m68hc11_gdbarch_init): Undeprecate extract_return_value.
+
+2003-07-18 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DWARF2_BUILD_FRAME_INFO): Delete method.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * i386-tdep.c (i386_gdbarch_init): Do not set
+ DWARF2_BUILD_FRAME_INFO.
+ * elfread.c (elf_symfile_read): Call dwarf2_build_frame_info
+ unconditionally.
+ * alpha-tdep.c (alpha_dwarf2_init_abi): Do not set
+ DWARF2_BUILD_FRAME_INFO.
+
+2003-07-18 Andrew Cagney <cagney@redhat.com>
+
+ From 2003-07-04 Kei Sakamoto <sakamoto.kei@renesas.com>:
+ * disasm.c (gdb_disassemble_info): Initilize di.arch.
+
+2003-07-18 Andrew Cagney <cagney@redhat.com>
+
+ * dwarf2-frame.c (dwarf2_frame_sniffer): Use
+ frame_unwind_address_in_block, instead of frame_pc_unwind.
+ (dwarf2_frame_cache): Ditto.
+
+2003-07-18 Andrew Cagney <cagney@redhat.com>
+
+ * user-regs.h (struct gdbarch): Declare opaque.
+ * ui-out.h (struct ui_file): Declare opaque.
+ * dwarf2-frame.h (struct frame_info): Declare opaque.
+
+2003-07-18 Kris Warkentin <kewarken@qnx.com>
+
+ * nto-procfs.c: Clean ARI hits. Change #include <..> to
+ #include "...".
+ (procfs_meminfo): Change strerror to safe_strerror.
+ (procfs_can_run): Remove K&R badness.
+
+2003-07-17 Michael Snyder <msnyder@redhat.com>
+
+ * remote-sim.c: Comment typo fix.
+
+2003-07-17 Andrew Cagney <cagney@redhat.com>
+
+ * defs.h (GDB_MULTI_ARCH): Delete conditional define. Handled by
+ configure.
+ * sparc-tdep.c (sparc_intreg_size): Make non-static.
+ * config/sparc/tm-sparc.h (GDB_MULTI_ARCH): Define to
+ GDB_MULTI_ARCH_PARTIAL.
+
+2003-07-17 Elena Zannoni <ezannoni@redhat.com>
+
+ * Makefile.in (x86-64-linux-nat.o): Update dependencies.
+ * x86-64-linux-nat.c (ps_get_thread_area): New function. Add
+ include of asm/prctl.h, asm/ptrace.h, and gdb_proc_service.h.
+
+2003-07-16 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_skip_prologue): Return PC unchanged if no prologue
+ found.
+ (avr_frame_unwind_cache): Don't unwind FP for main.
+ Update a comment.
+ Save the computed prev_sp.
+ (avr_saved_regs_unwinder): Remove function.
+ (avr_frame_prev_register): Use PC unwind logic from
+ avr_saved_regs_unwinder(), otherwise use trad_frame_prev_register().
+
+2003-07-16 Andrew Cagney <cagney@redhat.com>
+
+ * frame-base.h (frame_base_p_ftype): Delete definition.
+ (frame_base_append_predicate): Delete declaration.
+ * frame-unwind.h (frame_unwind_p_ftype): Delete definition.
+ (frame_unwind_append_predicate): Delete declaration.
+ * frame-unwind.c (struct frame_unwind_table): Delete field "p".
+ (append_predicate): Delete parameter "p".
+ (frame_unwind_append_predicate): Delete function.
+ (frame_unwind_append_sniffer): Update call to append_predicate.
+ (frame_unwind_free): Delete function.
+ (_initialize_frame_unwind): Pass NULL as "free" to
+ register_gdbarch_data.
+ (frame_unwind_init): Append the dummy_frame_sniffer.
+ (frame_unwind_find_by_frame): Simplify.
+ * frame-base.c (struct frame_base_table): Delete field "p".
+ (append_predicate): Delete parameter "p".
+ (frame_base_append_predicate): Delete function.
+ (frame_base_append_sniffer): Update call to append_predicate.
+ (frame_base_free): Delete function.
+ (frame_base_find_by_frame): Simplify.
+ (_initialize_frame_base): Pass NULL as "free" to
+ register_gdbarch_data.
+ * x86-64-tdep.c (x86_64_frame_sniffer): Replace "x86_64_frame_p".
+ (x86_64_sigtramp_frame_sniffer): Replace
+ "x86_64_sigtramp_frame_p".
+ (x86_64_init_abi): Set the frame unwind sniffers.
+ * m68k-tdep.c (m68k_frame_sniffer): Replace "m68k_frame_p".
+ (m68k_sigtramp_frame_sniffer): Replace "m68k_sigtramp_frame_p"
+ (m68k_gdbarch_init): Set the frame unwind sniffers.
+ * i386-tdep.c (i386_sigtramp_frame_sniffer): Replace
+ "i386_sigtramp_frame_p".
+ (i386_frame_sniffer): Replace "i386_frame_p".
+ (i386_gdbarch_init): Set the frame unwind sniffers.
+ * avr-tdep.c (avr_frame_sniffer): Replace "avr_frame_sniffer".
+ (avr_gdbarch_init): Set the frame unwind sniffers.
+ * alpha-tdep.c (alpha_sigtramp_frame_sniffer): Replace
+ "alpha_sigtramp_frame_p"
+ (alpha_heuristic_frame_sniffer): Replace
+ "alpha_heuristic_frame_p".
+ (alpha_gdbarch_init): Set the frame unwind sniffers.
+ (alpha_dwarf2_init_abi): Ditto.
+ * alpha-mdebug-tdep.c (alpha_mdebug_frame_sniffer): Replace
+ "alpha_debug_frame_p".
+ (alpha_mdebug_frame_base_sniffer): Replace
+ "alpha_mdebug_frame_base_p".
+ (alpha_mdebug_init_abi): Set the frame unwind sniffers.
+ * d10v-tdep.c (d10v_frame_sniffer): Replace "d10v_frame_p".
+ (d10v_gdbarch_init): Set the frame unwind sniffer.
+ * dwarf2-frame.c (dwarf2_frame_sniffer): Replace "dwarf2_frame_p".
+ (dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p".
+ * dwarf2-frame.h (dwarf2_frame_sniffer): Replace "dwarf2_frame_p".
+ (dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p".
+ * dummy-frame.c (dummy_frame_sniffer): Replace "dummy_frame_p".
+ * dummy-frame.h (dummy_frame_sniffer): Replace "dummy_frame_p".
+
+2003-07-16 Michael Snyder <msnyder@redhat.com>
+
+ * sh-tdep.c (sh_gdbarch_init): Fetch_registers for the sh3-dsp
+ should go thru sh_dsp_register_sim_regno, else the dsp regs
+ will not get the right values.
+
+2003-07-16 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (sh_sh4_register_convert_to_virtual): Substitute call to
+ deprecated_store_floating by call to store_typed_floating.
+ (sh_sh4_register_convert_to_raw): Substitute call to
+ deprecated_extract_floating by call to extract_typed_floating.
+
+2003-07-16 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (sh_gdbarch_init): Set double to 4 byte on sh2e and sh3e.
+
+2003-07-16 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c: Substitute calls to REGISTER_RAW_SIZE by calls to
+ register_size and calls to REGISTER_VIRTUAL_TYPE by calls to
+ gdbarch_register_type in 32 bit code throughout. Avoid current_gdbarch
+ as possible.
+ (do_pseudo_register): Remove.
+ (sh_push_dummy_code): New function.
+ (sh64_store_struct_return): Rename from sh_store_struct_return.
+ Only called for sh64 now.
+ (sh_extract_struct_value_address): Regcache'ify.
+ (sh_push_dummy_call): Rename from sh_push_arguments. Regcache'ify
+ and accomodate new tasks.
+ (sh64_push_return_address): Rename from sh_push_return_address.
+ Only called for sh64 now.
+ (sh_default_extract_return_value): Rename from sh_extract_return_value.
+ Regcache'ify.
+ (sh3e_sh4_extract_return_value): Regcache'ify.
+ (sh_default_store_return_value): Ditto.
+ (sh3e_sh4_store_return_value): Ditto.
+ (sh_default_register_byte): Remove.
+ (sh_sh4_register_byte): Remove.
+ (sh_default_register_raw_size): Remove.
+ (sh_sh4_register_raw_size): Remove.
+ (sh_register_virtual_size): Remove.
+ (sh_sh3e_register_virtual_type): Remove.
+ (sh_sh3e_register_type): New function.
+ (sh_sh4_register_virtual_type): Remove.
+ (sh_sh4_register_type): New function.
+ (sh_default_register_virtual_type): Remove.
+ (sh_default_register_type): New function.
+ (do_fv_register_info): Add parameters to accomodate call from
+ sh_print_registers_info.
+ (do_dr_register_info): Ditto.
+ (sh_print_pseudo_register): Rename from sh_do_pseudo_register.
+ Add parameters to accomodate call from sh_print_registers_info.
+ (sh_do_fp_register): Ditto.
+ (sh64_do_pseudo_register): Call do_dr_register_info,
+ do_fv_register_info and sh_do_fp_register with default parameters.
+ (sh_do_register): Add parameters to accomodate call from
+ sh_print_registers_info.
+ (sh_print_register): Ditto.
+ (sh_print_registers_info): Rename from sh_do_registers_info.
+ Add parameters to be used as gdbarch_print_registers_info
+ implementation. Accomodate removed do_pseudo_register function
+ pointer.
+ (sh_compact_do_registers_info): Accomodate removed do_pseudo_register
+ function pointer. Call sh_print_register with default parameters.
+ (sh64_do_registers_info): Call sh_print_registers_info instead of
+ sh_do_registers_info.
+ (sh_gdbarch_init): Rearrange to cleanup and to allow easier
+ detection of deprecated vs. non-deprecated functionality.
+ Rename sh_call_dummy_words to sh64_call_dummy_words. Remove
+ function pointer assignments by direct function calls.
+
+2003-07-15 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_frame_id): Use frame_unwind_find_by_frame.
+ (frame_register_unwind, create_new_frame): Ditto.
+ (legacy_get_prev_frame, get_frame_type): Ditto.
+ (get_frame_base_address): Use frame_base_find_by_frame.
+ (get_frame_locals_address): Use frame_base_find_by_frame.
+ (get_frame_args_address): Use frame_base_find_by_frame.
+ * frame-base.h (frame_base_sniffer_ftype): Declare.
+ (frame_base_append_sniffer): Declare.
+ (frame_base_find_by_frame): Replace frame_base_find_by_pc.
+ * frame-base.c (append_predicate): Add a "sniffer" parameter.
+ (frame_base_append_sniffer): New function.
+ (frame_base_append_predicate): Add a NULL sniffer.
+ (frame_base_find_by_frame): Replace "frame_base_find_by_pc".
+ (struct frame_base_table): Add "sniffer".
+ (frame_base_free): Free the "sniffer" table.
+ * frame-unwind.h (frame_unwind_sniffer_ftype): Define.
+ (frame_unwind_append_sniffer): Declare.
+ (frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.
+ * frame-unwind.c (frame_unwind_free): Free the "sniffer" table.
+ (struct frame_unwind_table): Add "sniffer", delete "middle".
+ (append_predicate): Add "sniffer" parameter, append the sniffer.
+ (frame_unwind_init): Update append_predicate call.
+ (frame_unwind_append_sniffer): New function.
+ (frame_unwind_append_predicate): Update append_predicate call.
+ (frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.
+
+2003-07-15 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_prev_frame): Move disabled inside_entry_func to
+ before code inhibiting repeated unwind attempts. Add to
+ commentary on that test's problems.
+ * blockframe.c (inside_main_func): Look for "main" in the minimal
+ symbol table.
+ * d10v-tdep.c (d10v_frame_this_id): Delete check that frames are
+ identical.
+
+2003-07-15 Andrew Cagney <cagney@redhat.com>
+
+ * complaints.c (struct explanation): Define.
+ (struct complaints): Change type of "explanation" to "struct
+ explanation".
+ (symfile_explanations): Convert to a "struct explanation" table.
+ (vcomplaint): Update.
+
+2003-07-15 Michal Ludvig <mludvig@suse.cz>
+
+ * x86-64-linux-nat.c (regmap): Removed.
+ (supply_gregset, fill_gregset): Call
+ x86_64_linux_(fill,supply)_gregset functions.
+ * x86-64-linux-tdep.c (USER_*): New defines.
+ (user_to_gdb_regmap, x86_64_core_fns): New structure.
+ (x86_64_linux_supply_gregset, x86_64_linux_fill_gregset):
+ New functions.
+ (fetch_core_registers): Ditto.
+ (_initialize_x86_64_linux_tdep): Call add_core_fns().
+ * x86-64-linux-tdep.h: New file.
+ * config/i386/x86-64linux.mh (NATDEPFILES): Remove corelow.o
+ and core-regset.o.
+ * config/i386/x86-64linux.mt (TDEPFILES): Add corelow.o.
+
+2003-07-13 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (x86_64_store_return_value): Use
+ regcache_cooked_write_part instead of regcache_cooked_write.
+
+ * configure.host: Add x86_64-*-freebsd*.
+ * configure.tgt: Add x86_64-*-freebsd*.
+ * Makefile.in (amd64fbsd-nat.o, amd64fbsd-tdep.o): New targets.
+ * amd64fbsd-nat.c: New file.
+ * amd64fbsd-tdep.c: New file.
+ * config/i386/nm-fbsd64.h: New file.
+ * config/i386/fbsd64.mh: New file.
+ * config/i386/fbsd64.mt: New file.
+
+2003-07-11 Mark Kettenis <kettenis@gnu.org>
+
+ * alpha-tdep.h (struct gdbarch_tdep): Add members `sc_pc_offset',
+ `sc_regs_offset' and `sc_fpregs_offset'.
+ * alpha-tdep.c (SIGFRAME_PC_OFF, SIGFRAME_REGSAVE_OFF,
+ SIGFRAME_FPREGSAVE_OFF): Remove defines.
+ (alpha_sigtramp_register_address): Rewrite to use new members of
+ `struct gdbarch_tdep'.
+ (alpha_gdbarch_init): Initialize new members of struct
+ gdbarch_tdep'.
+ * alphafbsd-tdep.c (alphafbsd_use_struct_convention): Use
+ ALPHA_REGISTER_SIZE instead of DEPRECATED_REGISTER_SIZE.
+ (alphafbsd_sigtramp_start, alphafbsd_sigtramp_end): Nre variables.
+ (alphafbsd_pc_in_sigtramp): Implement.
+ (alphafbsd_sigtramp_offset): New function.
+ (alphafbsd_sigcontext_addr): New function.
+ (alphafbsd_init_abi): Initialize signal trampoline related members
+ of `struct gdbarch_tdep'.
+ (_initialize_alphafbsd_tdep): Add prototype.
+
+2003-07-11 Theodore A. Roth <troth@openavr.org>
+
+ * Makefile.in (install-only): Quote sed expression when generating
+ transformed_name.
+
+2003-07-11 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (dwarf2-frame.o): Add complaints_h.
+ * dwarf2-frame.c: Include complaints.h.
+ (decode_frame_entry_1): Rename from decode_frame_entry; tidy
+ variable initialization; return NULL on error.
+ (decode_frame_entry): New.
+
+2003-07-11 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (frame_address_in_block): Delete declaration.
+ * blockframe.c (frame_address_in_block): Delete function.
+ (get_frame_block): Use get_frame_address_in_block.
+ (block_innermost_frame): Ditto.
+ * stack.c (print_frame, backtrace_command_1): Ditto.
+
+ * frame.h (get_frame_address_in_block): Declare.
+ (frame_unwind_address_in_block): Declare.
+ * frame.c (frame_unwind_address_in_block): New function.
+ (get_frame_address_in_block): New function.
+
+2003-07-10 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Simplify predicate methods. Remove need to provide
+ pre-default. Note: re-generate has no effect.
+
+2003-07-10 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: When a variable, but not a function, compare against
+ 0. Fix problem in previous patch.
+ * gdbarch.c: Re-generate.
+
+2003-07-10 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Use gdb_assert instead of internal_error. Compare
+ functions against NULL, not 0.
+ * gdbarch.c: Re-generate.
+
+2003-07-10 Fred Fish <fnf@ninemoons.com>
+
+ * coff-solib.h (SOLIB_LOADED_LIBRARY_PATHNAME): Default to a
+ null string instead of a null pointer.
+ * solib.h (SOLIB_LOADED_LIBRARY_PATHNAME): Ditto.
+
+2003-07-09 Michael Snyder <msnyder@redhat.com>
+
+ * sh-tdep.c (sh_dsp_register_sim_regno): Off-by-one error.
+
+2003-07-09 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.h (X86_64_RAX_REGNUM, X86_64_RDX_REGNUM,
+ X86_64_RDI_REGNUM, X86_64_RBP_REGNUM, X86_64_RSP_REGNUM,
+ X86_64_RIP_REGNUM, X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM,
+ X86_64_XMM0_REGNUM, X86_64_XMM1_REGNUM): Moved here ...
+ * x86-64-tdep.c: ... from here.
+
+2003-07-09 Andreas Schwab <schwab@suse.de>
+
+ * m68k-tdep.h (enum struct_return): Define.
+ (struct gdbarch_tdep): Add struct_return.
+ * m68k-tdep.c (m68k_push_dummy_call): Non-scalars bigger than 4
+ bytes are padded to the right, not to the left. Pass struct value
+ address in register %a1, not on stack.
+ (m68k_use_struct_convention): New function.
+ (m68k_gdbarch_init): Set use_struct_convention. Initialize
+ struct_return in tdep to pcc_struct_return.
+ * m68klinux-tdep.c (m68k_linux_init_abi): Set struct_return to
+ reg_struct_return.
+
+2003-07-09 Joel Brobecker <brobecker@gnat.com>
+
+ * somread.c (som_symfile_offsets): Fix compilation error.
+
+2003-07-09 Andrew Cagney <cagney@redhat.com>
+
+ * regcache.c (register_size): Only check REGISTER_RAW_SIZE once.
+ Add comments about the checks.
+
+2003-07-08 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in: Make dependency section headers consistent.
+ (config_h): Move to $BUILD headers section.
+ (exc_request_U_h, exc_request_S_h, msg_reply_S_h): Ditto.
+ (msg_U_h, notify_S_h, process_reply_S_h): Ditto.
+ (ada-exp.tab.c): Move to YACC/LEX section.
+ (ada-lex.c, c-exp.tab.c, f-exp.tab.c): Ditto.
+ (jv-exp.tab.c, m2-exp.tab.c, objc-exp.tab.c, p-exp.tab.c): Ditto.
+
+2003-07-08 Kris Warkentin <kewarken@qnx.com>
+
+ * nto-procfs.c: Cleaned up a bunch of ARI hits.
+ Include "gdb_dirent.h" instead of <dirent.h>, replace all instances
+ of strerror with safe_strerror, use ISO C function definitions,
+ and replace instances of sprintf with snprintf.
+
+2003-07-07 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_prev_frame): Enable check for identical frames.
+ Update comments. Update error messages.
+
+2003-07-07 Joel Brobecker <brobecker@gnat.com>
+
+ * hpread.c (hpread_psymtab_to_symtab_1): Fix compilation failure.
+
+2003-07-07 Joel Brobecker <brobecker@gnat.com>
+
+ * xcoffread.c (xcoff_psymtab_to_symtab_1): Remove call to
+ sort_symtab_syms, no longer necessary.
+
+2003-07-07 Joel Brobecker <brobecker@gnat.com>
+
+ * config/mips/tm-irix6.h (MIPS_REGISTER_TYPE): Add comment.
+
+2003-07-07 Joel Brobecker <brobecker@gnat.com>
+
+ * mips-tdep.c (mips_register_raw_size): Fix compilation failure.
+ (mips_register_byte): Likewise.
+
+2003-07-07 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in (sparc_tdep_h): New.
+ (sparc-linux-nat.o, sparc-nat.o, sparc-tdep.o, sparc64nbsd-nat.o)
+ (sparcnbsd-nat.o, sparcnbsd-tdep.o): Depend on $(sparc_tdep_h).
+ * sparc-linux-nat.c: Include "sparc-tdep.h".
+ * sparc-nat.c: Likewise.
+ * sparc-tdep.c: Likewise.
+ * sparc64nbsd-nat.c: Likewise.
+ * sparcnbsd-nat.c: Likewise.
+ * sparcnbsd-tdep.c: Likewise.
+ * sparc-tdep.h: New file.
+ * config/sparc/tm-sparc.h: Remove prototypes for sparc_y_regnum
+ and sparc_npc_regnum.
+
+2003-07-07 Daniel Jacobowitz <drow@mvista.com>
+
+ * mips-linux-nat.c (mips_linux_cannot_fetch_register)
+ (mips_linux_cannot_store_register): List supported instead of
+ unsupported registers.
+
+2003-07-07 Daniel Jacobowitz <drow@mvista.com>
+
+ * disasm.c (dump_insns): Separate instructions from addresses.
+
+2003-07-07 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
+ dependencies.
+ * m68k-tdep.c (NUM_FREGS): Delete.
+ (SIG_PC_FP_OFFSET): Delete.
+ (TARGET_M68K): Delete.
+ (P_MOVEAL_SP_FP, P_ADDAW_SP, P_ADDAL_SP, P_SUBQW_SP,
+ P_SUBQL_SP, P_LEA_SP_SP, P_LEA_PC_A5, P_FMOVEMX_SP,
+ P_MOVEL_SP, P_MOVEML_SP): Define.
+ (P_MOVL_SP_FP, P_MOVL, P_JSR, P_BSR, P_LEAL, P_MOVML, P_FMOVM,
+ P_TRAP): Delete.
+ (m68k_register_raw_size): Delete.
+ (m68k_register_virtual_size): Delete.
+ (m68k_register_type): Renamed from m68k_register_virtual_type and
+ add gdbarch argument.
+ (m68k_store_struct_return): Delete.
+ (m68k_deprecated_extract_return_value): Delete.
+ (m68k_deprecated_extract_struct_value_address): Delete.
+ (m68k_frame_chain): Delete.
+ (m68k_frame_saved_pc): Delete.
+ (m68k_fix_call_dummy): Delete.
+ (m68k_push_dummy_frame): Delete.
+ (m68k_pop_frame): Delete.
+ (m68k_extract_return_value): New function.
+ (m68k_store_return_value): Rewrite using regcache.
+ (m68k_extract_struct_value_address): Rewrite using regcache.
+ (m68k_push_dummy_call): New function.
+ (struct m68k_frame_cache): Define.
+ (m68k_alloc_frame_cache): New function.
+ (m68k_analyze_frame_setup): New function.
+ (m68k_analyze_register_saves): New function.
+ (m68k_analyze_prologue): New function.
+ (m68k_skip_prologue): Rewrite using above functions.
+ (m68k_unwind_pc): New function.
+ (m68k_frame_cache): New function.
+ (m68k_frame_this_id): New function.
+ (m68k_frame_prev_register): New function.
+ (m68k_frame_unwind): New variable.
+ (m68k_frame_p): New function.
+ (m68k_sigtramp_frame_cache): New function.
+ (m68k_sigtramp_frame_this_id): New function.
+ (m68k_sigtramp_frame_prev_register): New function.
+ (m68k_sigtramp_frame_unwind): New variable.
+ (m68k_sigtramp_frame_p): New function.
+ (m68k_frame_base_address): New function.
+ (m68k_frame_base): New function.
+ (m68k_unwind_dummy_id): New function.
+ (fill_gregset): Use regcache_collect.
+ (fill_fpregset): Likewise.
+ (m68k_saved_pc_after_call): Only define if SYSCALL_TRAP is
+ defined.
+ (m68k_gdbarch_init): Don't define call_dummy_words. Don't set
+ deprecated_init_frame_pc, deprecated_store_struct_return,
+ deprecated_extract_return_value, deprecated_store_return_value,
+ deprecated_frame_chain, deprecated_frame_saved_pc,
+ deprecated_frame_init_saved_regs, deprecated_register_raw_size,
+ deprecated_register_virtual_size,
+ deprecated_max_register_raw_size,
+ deprecated_max_register_virtual_size,
+ deprecated_register_virtual_type, deprecated_register_size,
+ deprecated_register_byte, deprecated_register_bytes,
+ deprecated_fp_regnum, deprecated_use_generic_dummy_frames,
+ call_dummy_location, deprecated_call_dummy_breakpoint_offset,
+ deprecated_pc_in_call_dummy, deprecated_call_dummy_length,
+ deprecated_call_dummy_start_offset, deprecated_call_dummy_words,
+ deprecated_sizeof_call_dummy_words, deprecated_fix_call_dummy,
+ deprecated_push_dummy_frame, deprecated_pop_frame,
+ deprecated_dummy_write_sp. Set deprecated_saved_pc_after_call
+ only if SYSCALL_TRAP is defined. Set extract_return_value,
+ store_return_value, extract_struct_value_address, register_type,
+ push_dummy_call, unwind_dummy_id, unwind_pc. Add two frame unwind
+ predicates.
+ * m68k-tdep.h (M68K_D1_REGNUM, M68K_NUM_REGS,
+ M68K_MAX_REGISTER_SIZE): Define.
+ (struct m68k_sigtramp_info): Define.
+ (struct gdbarch_tdep): Add get_sigtramp_info.
+ * m68klinux-nat.c (fetch_register): Use register_size instead of
+ REGISTER_RAW_SIZE. Don't put assignment in if.
+ (store_register): Likewise.
+ (fetch_inferior_registers): Likewise.
+ (store_inferior_registers): Likewise.
+ * m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Delete.
+ (m68k_linux_frame_saved_pc): Delete.
+ (m68k_linux_sigcontext_reg_offset,
+ m68k_linux_ucontext_reg_offset): Define.
+ (m68k_linux_get_sigtramp_info): New function.
+ (m68k_linux_extract_return_value): Rewrite using regcache.
+ (m68k_linux_store_return_value): Likewise.
+ (m68k_linux_extract_struct_value_address): Likewise.
+ (m68k_linux_init_abi): Set get_sigtramp_info in tdep structure.
+ Don't set deprecated_frame_saved_pc,
+ deprecated_extract_return_value, deprecated_store_return_value,
+ deprecated_extract_struct_value_address. Set
+ extract_return_value, store_return_value,
+ extract_struct_value_address.
+
+2003-07-07 Andrew Cagney <cagney@redhat.com>
+
+ * expprint.c: Include "user-regs.h" instead of "frame.h".
+ (print_subexp): Use user_reg_map_regnum_to_name, instead of
+ frame_map_regnum_to_name.
+ * frame.c: Include "user-regs.h" instead of "builtin-regs.h".
+ (frame_map_name_to_regnum): Simplify, call
+ user_reg_map_name_to_regnum.
+ (frame_map_regnum_to_name): Simplify, call
+ user_reg_map_regnum_to_name.
+ (frame_register_unwind): Update.
+ * std-regs.c: Include "user-regs.h" instead of "builtin-regs.h".
+ (_initialize_frame_reg): Call user_reg_add_builtin.
+ * findvar.c: Include "user-regs.h" instead of "builtin-regs.h".
+ (value_of_register): Use value_of_user_reg.
+ * eval.c (evaluate_subexp_standard): Update.
+ * parse.c (write_dollar_variable): Update.
+ * d10v-tdep.c (d10v_print_registers_info): Update.
+ * infcmd.c (registers_info): Update.
+ * Makefile.in (SFILES): Delete "builtin-regs.c", add "user-regs.c".
+ (builtin_regs_h): Delete macro.
+ (user_regs_h): Define.
+ (COMMON_OBS): Delete "builtin-regs.o", add "user-regs.o".
+ (builtin-regs.o): Delete target.
+ (user-regs.o): Specify dependencies.
+ (expprint.o): Update dependencies.
+ (findvar.o): Update dependencies.
+ (frame.o): Update dependencies.
+ (std-regs.o): Update dependencies.
+
+2003-07-06 Christopher Faylor <cgf@redhat.com>
+
+ * win32-nat.c (solib_symbols_add): Use one variable for all section
+ address stuff. Pass variable rather than address of variable to
+ safe_symbol_file_add.
+
+2003-07-06 Andreas Schwab <schwab@suse.de>
+
+ * m68klinux-nat.c (fill_fpregset): Fix use of loop index.
+
+2003-07-04 Joel Brobecker <brobecker@gnat.com>
+
+ * rs6000-nat.c (vmap_symtab): Fix compilation error.
+
+2003-07-04 Kris Warkentin <kewarken@qnx.com>
+
+ * config/i386/nto.mh: Set XM_FILE to xm-i386.h
+
+2003-07-04 Kris Warkentin <kewarken@qnx.com>
+
+ * nto-procfs.c: New file. Native procfs support for QNX Neutrino.
+ * config/i386/nto.mh: New file.
+ * config/i386/nm-nto.h: New file.
+ * configure.host: Add i[3456]86-*-nto*.
+
+2003-07-03 Joel Brobecker <brobecker@gnat.com>
+
+ * remote-vx.c (vx_add_symbols): Fix compilation error.
+
+2003-07-03 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (REGISTER_NAME): Do not supply a default.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * config/sparc/tm-sparc.h (REGISTER_NAME): Define.
+ (legacy_register_name): Declare.
+ * config/sparc/tm-sp64.h (legacy_register_name): Declare.
+ (REGISTER_NAME): Define.
+ * sparc-tdep.c (legacy_register_name): New function.
+ * config/pa/tm-hppa64.h (REGISTER_NAMES): Delete macro.
+ (REGISTER_NAME): Define.
+ (hppa64_register_name): Declare.
+ * config/pa/tm-hppa.h (REGISTER_NAMES): Delete macro.
+ * hppa-tdep.c (hppa_gdbarch_init): Set hppa_register_name.
+ (hppa64_register_name): New function.
+ (hppa_register_name): New function.
+ * arch-utils.c (legacy_register_name): Delete.
+ * arch-utils.h (legacy_register_name): Delete.
+
+2003-07-03 Daniel Jacobowitz <drow@mvista.com>
+
+ * cli/cli-interp.c (cli_interpreter_resume): Update the
+ cli_uiout's stream to gdb_stdout.
+
+2003-07-03 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE): Add
+ predicate.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * regcache.c (init_regcache_descr): Use legacy code when either
+ REGISTER_BYTE or REGISTER_RAW_SIZE is set.
+
+2003-07-02 Daniel Jacobowitz <drow@mvista.com>
+
+ * NEWS: Move "set logging" entry into GDB 6.0 section.
+
+2003-07-02 Jim Blandy <jimb@redhat.com>
+
+ * s390-tdep.c (struct frame_extra_info): new member:
+ 'stack_bought_valid'.
+ (s390_get_frame_info): Set fextra_info->stack_bought_valid if we
+ initialize fextra_info->stack_bought.
+ (s390_frameless_function_invocation): Don't trust the value of
+ fextra_info_ptr->stack_bought unless
+ fextra_info->stack_bought_valid is set.
+
+ New S390 prologue analyzer.
+ * s390-tdep.c (struct prologue_value, enum pv_boolean): New types.
+ (pv_set_to_unknown, pv_set_to_constant, pv_set_to_register,
+ pv_constant_last, pv_add, pv_add_constant, pv_subtract,
+ pv_logical_and, pv_is_identical, pv_is_register, pv_is_array_ref,
+ compute_x_addr, s390_on_stack, s390_store,
+ s390_get_signal_frame_info): New functions.
+ (S390_NUM_SPILL_SLOTS): New macro.
+ (s390_get_frame_info): Rewritten.
+ (is_arg_reg): Deleted.
+
+ Break out the decoding of S/390 instructions into separate
+ functions, to make it more legible, and easier to check
+ against the spec.
+ * s390-tdep.c (is_ri, is_ril, is_rr, is_rre, is_rs, is_rse,
+ is_rx, is_rxe): New functions.
+ (op1_aghi, op2_aghi, op1_ahi, op2_ahi, op_ar, op_basr, op1_bras,
+ op2_bras, op_l, op_la, op1_larl, op2_larl, op_lgr, op1_lghi,
+ op2_lghi, op1_lhi, op2_lhi, op_lr, op_nr, op_ngr, op_s, op_st,
+ op_std, op1_stg, op2_stg, op_stm, op1_stmg, op2_stmg, op_svc): New
+ enums for opcode values. (Is this an improvement?)
+
+2003-07-02 Andrew Cagney <cagney@redhat.com>
+
+ * i386-tdep.c: Revert change committed as part of trad-frame code
+ below.
+
+2003-07-02 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (insert_catchpoint): Make static.
+
+2003-07-02 Andreas Schwab <schwab@suse.de>
+
+ * ia64-tdep.c (ia64_push_dummy_call): Define as combination of
+ former ia64_push_arguments and ia64_push_return_address, and use
+ regcache functions instead of read/write_register.
+ (ia64_gdbarch_init): Set push_dummy_call instead of
+ deprecated_push_arguments and deprecated_push_return_address.
+
+2003-07-01 Andreas Jaeger <aj@suse.de>
+
+ * x86-64-tdep.c (x86_64_push_arguments): Align stack to 16-byte
+ before the call.
+ Set %rax only to number of SSE registers used.
+
+2003-07-01 Andrew Cagney <cagney@redhat.com>
+
+ * trad-frame.h: Update comments, a -1 .addr is reserved.
+ (trad_frame_value_p, trad_frame_addr_p): Declare.
+ (trad_frame_reg_p): Declare.
+ (trad_frame_set_value): Rename trad_frame_register_value.
+ (trad_frame_set_unknown): Declare.
+ * trad-frame.c (trad_frame_realreg_p): New function.
+ (trad_frame_addr_p, trad_frame_value_p): New function.
+ (trad_frame_set_unknown): New function.
+ (trad_frame_alloc_saved_regs): Initialize .addr to -1, not zero.
+ (trad_frame_prev_register): Use trad_frame_realreg_p,
+ trad_frame_addr_p and trad_frame_value_p.
+ (trad_frame_set_value): Rename trad_frame_register_value.
+ * d10v-tdep.c (d10v_frame_unwind_cache): Use trad_frame_addr_p
+ and trad_frame_set_value.
+
+2003-06-30 Jim Blandy <jimb@redhat.com>
+
+ Patch from IBM (authors unspecified, probably Ulrich Weigand and
+ Gerhard Tonn) for argument passing on the S/390 and S/390x:
+ * s390-tdep.c (S390_STACK_FRAME_OVERHEAD): This is always space
+ for 16 registers, and then 32 more bytes.
+ (S390_STACK_PARAMETER_ALIGNMENT, S390_NUM_FP_PARAMETER_REGISTERS):
+ New macros.
+ (is_double_arg): The s390x doesn't handle DOUBLE_ARGS specially.
+ Move up in the file, since it's now used by is_simple_arg.
+ (is_simple_arg): Don't assume registers are four bytes long.
+ Exclude all double arguments. Extended floats are not simple
+ args.
+ (is_power_of_two): New function.
+ (pass_by_copy_ref): Call is_power_of_two, and check that the
+ length fits in a register, rather than listing all the acceptable
+ sizes. Extended floats are not passed by reference.
+ (s390_push_arguments): Don't assume registers are four bytes long.
+ Reserve an argument register to point to the buffer for structures
+ returned by value. Use S390_NUM_FP_PARAMETER_REGISTERS and
+ S390_STACK_FRAME_OVERHEAD.
+
+2003-06-30 Andreas Schwab <schwab@suse.de>
+
+ * utils.c (internal_vproblem): Use xvasprintf, not xasprintf, to
+ format error message.
+
+2003-06-30 Joel Brobecker <brobecker@gnat.com>
+
+ * sparc-tdep.c (stop_after_trap): Remove declaration, not used.
+
+2003-06-30 David Carlton <carlton@kealia.com>
+
+ Band-aid for PR c++/1245.
+ * Makefile.in (cp-support.o): Depend on complaints_h.
+ * cp-support.c: Include complaints.h. Add declaration for
+ find_last_component.
+ (cp_find_first_component): Separate code into
+ cp_find_first_component_aux.
+ (cp_find_first_component_aux): Call demangled_name_complaint.
+ (demangled_name_complaint): New.
+
+2003-06-30 Andrew Cagney <cagney@redhat.com>
+
+ * remote.c (remote_write_bytes): Explicitly compute and then use
+ the payload size. Update comments to reflect. Fixes problem of
+ GDB not sending small packets as found by Fred Fish.
+
+2003-06-30 Andrew Cagney <cagney@redhat.com>
+
+ * remote.c (remote_async_wait): Fix -Wformat problem.
+
+2003-06-29 Andrew Cagney <cagney@redhat.com>
+
+ * remote.c (remote_wait): Call error, and not warning, when the
+ packet is corrupt.
+ (remote_async_wait): Ditto.
+
+2003-06-29 Daniel Jacobowitz <drow@mvista.com>
+
+ * sparc-tdep.c (sparc_y_regnum): Make external again.
+
+2003-06-29 Daniel Jacobowitz <drow@mvista.com>
+
+ * cli/cli-logging.c (pop_output_files): Add void to function
+ definition.
+
+2003-06-29 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (frame_register_unwind): Use unsigned char when dumping
+ the buffer contents.
+
+2003-06-28 Daniel Jacobowitz <drow@mvista.com>
+
+ * cli/cli-logging.c: New file.
+ * cli-out.c (struct ui_out_data): Add original_stream.
+ (cli_redirect): New function.
+ (cli_ui_out_impl): Add cli_redirect.
+ (cli_out_new): Initialize original_stream.
+ * ui-out.c (default_ui_out_impl): Add NULL for redirect member.
+ (uo_redirect, ui_out_redirect): New.
+ * ui-out.h (struct ui_out_impl): Add redirect member.
+ (redirect_ftype): New.
+ (ui_out_redirect): Add prototype.
+ * Makefile.in: Add rules for cli-logging.c.
+ * NEWS: Mention "set logging".
+
+2003-06-27 Elena Zannoni <ezannoni@redhat.com>
+
+ * config/powerpc/ppc64-linux.mh (NATDEPFILES): Add linux-nat.o.
+
+2003-06-27 Andrew Cagney <cagney@redhat.com>
+
+ * m68hc11-tdep.c (m68hc11_call_dummy_address): Delete function.
+ (m68hc11_gdbarch_init): Do not set call_dummy_address.
+ * avr-tdep.c (avr_call_dummy_address): Delete function.
+ (avr_gdbarch_init): Do not set call_dummy_address.
+
+2003-06-27 Elena Zannoni <ezannoni@redhat.com>
+
+ * symfile.c (syms_from_objfile): Move variables to inner block.
+ Move the checks for the non-mainline case a bit earlier to avoid
+ doing some useless computations.
+
+2003-06-27 Elena Zannoni <ezannoni@redhat.com>
+
+ * dwarfread.c (decode_modified_type): Gag new compiler warning.
+
+2003-06-26 Elena Zannoni <ezannoni@redhat.com>
+
+ * dwarf2read.c (dwarf2_locate_sections): Ignore empty .eh_frame
+ sections.
+
+2003-06-26 Michael Chastain <mec@shout.net>
+
+ * config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.c++/pr-1210.cc,
+ gdb/testsuite/gdb.c++/pr-1210.exp.
+
+2003-06-26 Andrew Cagney <cagney@redhat.com>
+
+ * config/djgpp/fnchange.lst: Fix 8.3 problem with sim/ppc's
+ altivec_expression.h and altivec_registers.h.
+
+2003-06-26 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (gdb_print_insn_mips): Only explicitly set
+ info->mach when MIPS16. Patch suggested by Fred Fish.
+
+2003-06-26 Andrew Cagney <cagney@redhat.com>
+
+ * utils.c (internal_vproblem): Print the problem to a reason
+ buffer and then pass to query. Make the msg variable more local.
+
+2003-06-26 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (FRAME_ARGS_ADDRESS): Add predicate. Deprecate.
+ (FRAME_LOCALS_ADDRESS): Add predicate. Deprecate.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * frame-base.c (default_frame_args_address): Update. Use
+ default_frame_base_address when DEPRECATED_FRAME_ARGS_ADDRESS is
+ not available.
+ (default_frame_locals_address): Ditto for
+ DEPRECATED_FRAME_LOCALS_ADDRESS.
+ * vax-tdep.c (vax_sigtramp_saved_pc): Update.
+ (vax_frame_num_args): Update.
+ (vax_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * symtab.h (address_class): Update comments.
+ * ns32k-tdep.c (ns32k_sigtramp_saved_pc): Update.
+ * config/sparc/tm-sparc.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update.
+ (DEPRECATED_FRAME_LOCALS_ADDRESS): Update.
+ * config/pa/tm-hppa64.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update.
+ (DEPRECATED_FRAME_LOCALS_ADDRESS): Update.
+ (DEPRECATED_FRAME_LOCALS_ADDRESS): Update.
+ * config/m68k/tm-delta68.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update.
+ * alpha-mdebug-tdep.c: Update.
+ * ada-lang.c (add_symbols_from_enclosing_procs): Update.
+
+2003-06-26 Andreas Jaeger <aj@suse.de>
+
+ * x86-64-tdep.c (x86_64_push_arguments): Always set %rax to number
+ of SSE registers so that varargs functions work. Rework handling
+ of passing arguments on the stack.
+ (x86_64_store_return_value): Return double and float values in SSE
+ register.
+
+2003-06-24 Michael Chastain <mec@shout.net>
+
+ * PROBLEMS: Document pr gdb/1091 and pr gdb/1193,
+ the "constructor breakpoints ignored" bug.
+
+2003-06-25 David Carlton <carlton@kealia.com>
+
+ * MAINTAINERS: Update e-mail address.
+
+2003-06-24 Jim Blandy <jimb@redhat.com>
+
+ * ppc-linux-tdep.c: More "Linux" -> "GNU/Linux".
+
+ * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): New
+ function.
+ (ppc_linux_init_abi): Register it as the
+ CONVERT_FROM_FUNC_PTR_ADDR method under the PPC64 Linux ABI.
+
+ * ppc-linux-tdep.c (ppc64_call_dummy_address): New function.
+ (ppc_linux_init_abi): Set it as the gdbarch's call_dummy_address
+ method.
+
+ * ppc-linux-tdep.c (ppc64_desc_entry_point): New function.
+ (ppc64_standard_linkage_target): Use it.
+
+2003-06-23 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (rs6000_register_virtual_type): Add explict cases
+ for 0 "int0" and 4 "int32" sized registers.
+ * gdbtypes.c (builtin_type_int0): Define.
+ (build_gdbtypes): Initialize builtin_type_int0.
+ * gdbtypes.h (builtin_type_int0): Declare.
+
+2003-06-23 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Clear gdb_arch_char_signed
+ as characters are unsigned.
+
+2003-06-22 Daniel Jacobowitz <drow@mvista.com>
+
+ PR gdb/1179
+ * dwarfread.c (struct_type): Skip static fields without crashing.
+
+2003-06-22 Andrew Cagney <cagney@redhat.com>
+
+ GDB 6.0 branch created.
+ * README: Update.
+ * PROBLEMS: Update. Empty.
+ * NEWS: Update.
+
+2003-06-22 Daniel Jacobowitz <drow@mvista.com>
+
+ * symfile.c (add_symbol_file_command): Use parse_and_eval_address.
+ Suggested by Nick Hibma <n_hibma@webweaving.org>.
+
+2003-06-22 Andrew Cagney <cagney@redhat.com>
+
+ * osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Handle
+ GNU_ABI_TAG_FREEBSD and GNU_ABI_TAG_NETBSD. Suggested by Momchil
+ Velikov.
+
+2003-06-22 Daniel Jacobowitz <drow@mvista.com>
+
+ * cli/cli-cmds.c (shell_escape): Silence warnings from old
+ compilers.
+
+2003-06-21 Daniel Jacobowitz <drow@mvista.com>
+
+ * c-valprint.c (c_value_print): Add VALUE_OFFSET to the address
+ argument of val_print.
+ * cp-valprint.c (cp_print_value): Don't add the offset parameter
+ to the address argument of baseclass_offset or target_read_memory.
+ Do add it to the argument of cp_print_value_fields.
+
+2003-06-21 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c: Include "reggroups.h" and "sim-regno.h".
+ (mips_register_name): Return names for NUM_REGS..2*NUM_REGS
+ instead of 0..NUM_REGS.
+ (mips_register_reggroup_p): New function.
+ (mips_pseudo_register_write): New function.
+ (mips_pseudo_register_read): New function.
+ (mips_register_raw_size): For NUM_REGS..2*NUM_REGS return the size
+ based on the register's type.
+ (read_next_frame_reg): Simplify. Assert that REGNO is a pseudo /
+ cooked.
+ (mips_get_saved_register): Simplify. Assert that REGNO is a
+ pseudo / cooked.
+ (mips_register_byte): New function. Use MIPS_REGISTER_BYTE.
+ (mips_register_type): Replace mips_register_virtual_type. Map
+ NUM_REGS..2*NUM_REGS onto 0..NUM_REGS. Use MIPS_REGISTER_TYPE
+ when available.
+ (read_next_frame_reg): Simplify, but handle SP_REGNUM. Assert
+ that the register is cooked / virtual.
+ (mips_frame_saved_pc): Fetch the cooked PC, and not the raw PC.
+ Only get the extra info when needed.
+ (set_reg_offset): Save the offset in NUM_REGS..2*NUM_REGS as well.
+ (mips32_heuristic_proc_desc): Fetch the cooked register.
+ (heuristic_proc_desc, mips_pop_frame, get_frame_pointer): Ditto.
+ (mips_init_extra_frame_info, get_frame_pointer): Ditto.
+ (mips_print_register): Use gdbarch_register_type, instead of
+ REGISTER_VIRTUAL_TYPE.
+ (print_gp_register_row): Use gdbarch_register_type, instead of
+ REGISTER_VIRTUAL_TYPE. Allow for a pseudo / cooked REGNUM.
+ (mips_print_registers_info): Assert REGNO is pseodo / cooked.
+ Print the pseudo / cooked registers.
+ (mips_print_registers_info): Assert REGNO is pseodo / cooked.
+ Print the pseudo / cooked registers.
+ (mips_xfer_register): Use regcache_cooked_read_part. Assert that
+ REG_NUM is pseudo / cooked.
+ (mips_o32_xfer_return_value): Xfer the pseudo / cooked register.
+ (mips_n32n64_xfer_return_value): Ditto.
+ (mips_stab_reg_to_regnum): Map onto NUM_REGS..2*NUM_REGS.
+ (mips_dwarf_dwarf2_ecoff_reg_to_regnum): Ditto.
+ (mips_register_sim_regno): New function.
+ (mips_gdbarch_init): Set deprecated_register_byte,
+ register_group_p, pseudo_register_write, pseudo_register_read,
+ register_sim_regno, and num_pseudo_regs. Set register_type,
+ instead of register_virtual_type.
+ * Makefile.in (mips-tdep.o): Update dependencies.
+ * config/mips/tm-mips64.h (MIPS_REGISTER_TYPE): Rename
+ REGISTER_VIRTUAL_TYPE.
+ * config/mips/tm-mips.h (MIPS_REGISTER_TYPE): Ditto.
+ * config/mips/tm-irix5.h (MIPS_REGISTER_TYPE): Ditto.
+ * config/mips/tm-mips.h (MIPS_REGISTER_BYTE): Rename REGISTER_BYTE.
+ * config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Ditto.
+ * config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Ditto.
+
+2003-06-21 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in (cli-cmds.o): Depend on $(gdb_vfork_h)
+ * cli/cli-cmds.c: Include "gdb_vfork.h".
+ (shell_escape): Use vfork.
+
+2003-06-21 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (mips_find_saved_regs): Rewrite mdebug code handling
+ 32 bit floating-point register saves.
+
+ * frame.h (deprecated_unwind_get_saved_register): Delete.
+ * frame.c (deprecated_unwind_get_saved_register): Delete function.
+ * mips-tdep.c (mips_get_saved_register): Use frame_register_unwind
+ and deprecated_get_next_frame_hack instead of
+ deprecated_unwind_get_saved_register.
+
+ * mips-tdep.c (mips_dump_tdep): Do not print
+ REGISTER_CONVERT_FROM_TYPE or REGISTER_CONVERT_TO_TYPE.
+
+ * frame.c (get_frame_register): New function.
+ (frame_unwind_register_signed): New function.
+ (get_frame_register_signed): New function.
+ (frame_unwind_register_unsigned): New function.
+ (get_frame_register_unsigned): New function.
+ * frame.h: Add comments on naming schema.
+ (get_frame_register, frame_unwind_register_signed): Declare.
+ (get_frame_register_signed, get_frame_register_signed): Declare.
+ (frame_unwind_register_unsigned): Declare.
+ (get_frame_register_unsigned): Declare.
+
+2003-06-20 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_bfd_vma_bit.
+
+2003-06-20 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_read_pc): Use regcache instead of read_register.
+ (avr_read_sp): Ditto.
+
+2003-06-20 Daniel Jacobowitz <drow@mvista.com>
+
+ * config/arm/linux.mt: Remove code protected by GDBSERVER define.
+ * config/arm/nm-linux.h: Likewise.
+ * config/arm/tm-linux.h: Likewise.
+ * config/ia64/nm-linux.h: Likewise.
+ * config/ia64/tm-ia64.h: Likewise.
+ * config/s390/tm-linux.h: Likewise.
+ * config/s390/tm-s390.h: Likewise.
+ * s390-nat.c: Likewise.
+ * s390-tdep.c: Likewise.
+
+ * config/i386/linux.mt: Don't set GDBSERVER_DEPFILES.
+ * config/ia64/linux.mt: Likewise.
+ * config/m68k/linux.mh: Likewise.
+ * config/mips/linux.mt: Likewise.
+ * config/powerpc/linux.mh: Likewise.
+ * config/sh/linux.mt: Likewise.
+
+2003-06-19 Kris Warkentin <kewarken@qnx.com>
+
+ * solib.c (solib_open): Change tests for whether to search
+ LD_LIBRARY_PATH and PATH to better deal with remotes. Update
+ comments.
+
+2003-06-19 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_frame_address): Delete function.
+ (avr_gdbarch_init): Don't call set_gdbarch_frame_args_address,
+ set_gdbarch_frame_args_address.
+
+2003-06-19 Andrew Cagney <cagney@redhat.com>
+
+ * config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE): Delete.
+ (REGISTER_CONVERT_FROM_TYPE): Delete.
+ (mips_register_convert_to_type): Delete declaration.
+ (mips_register_convert_from_type): Delete declaration.
+ * linux-nat.h (struct target_ops): Declare opaque. s/Linux/Linux
+ kernel/.
+
+2003-06-19 Michael Snyder <msnyder@redhat.com>
+
+ * linux-nat.h: New file.
+ * linux-nat.c: Include linux-nat.h.
+ * lin-lwp.c: Include linux-nat.h.
+ Move struct lwp_info def to linux-nat.h.
+ * linux-proc.c: Include linux-nat.h.
+ (linux_make_note_section): Iterate over lwps instead of threads.
+ (linux_do_thread_registers): Use lwp instead of merged pid.
+ * config/nm-linux.h: Move miscelaneous def'ns to linux-nat.h.
+ * Makefile.in (lin-lwp.o, linux-proc.o, linux-nat.o):
+ Add dependency on linux_nat_h.
+
+2003-06-19 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_extract_return_value): Delete debugging fprintf.
+
+2003-06-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * varobj.c (get_type, get_target_type): Use check_typedef.
+
+2003-06-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (insert_catchpoint): Call internal_error.
+
+2003-06-19 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_push_dummy_code): Delete function.
+ (avr_gdbarch_init): Don't call set_gdbarch_push_dummy_code.
+
+2003-06-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * arch-utils.c (default_prepare_to_proceed): Remove.
+ (generic_prepare_to_proceed): Remove.
+ * arch-utils.h (default_prepare_to_proceed): Remove prototype.
+ (generic_prepare_to_proceed): Remove prototype.
+ * gdbarch.sh (PREPARE_TO_PROCEED): Remove.
+ * gdbarch.c: Regenerate.
+ * gdbarch.h: Regenerate.
+ * hppa-tdep.c (hppa_prepare_to_proceed): Remove dangling prototype.
+ * hppah-nat.c (hppa_switched_threads): Remove.
+ * infrun.c (prepare_to_proceed): New static function, copied from
+ generic_prepare_to_proceed. Remove select_it argument.
+ (proceed): Call prepare_to_proceed.
+ * infttrace.c (old_gdb_pid, reported_pid, reported_bpt): Remove
+ variables.
+ (ptrace_wait): Don't set the removed variables.
+ (hppa_switched_threads): Remove.
+ * lin-lwp.c (lin_lwp_prepare_to_proceed): Remove.
+ * config/nm-linux.h (PREPARE_TO_PROCEED): Don't define.
+ (lin_lwp_prepare_to_proceed): Remove prototype.
+ * config/i386/nm-x86-64linux.h (PREPARE_TO_PROCEED): Don't undefine.
+ * config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Don't define.
+
+2003-06-18 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c: Include frame.h, frame-unwind.h, frame-base.h, and
+ trad-frame.h.
+ (AVR_MAX_PROLOGUE_SIZE): Increase from 56 to 64.
+ (AVR_ARG1_REGNUM, AVR_ARGN_REGNUM): Define.
+ (AVR_RET1_REGNUM, AVR_RETN_REGNUM): Define.
+ (AVR_PROLOGUE_*): Enumerate prologue types.
+ (struct frame_extra_info): Remove.
+ (struct avr_unwind_cache): Define.
+ (avr_write_sp): Delete function.
+ (avr_read_fp): Ditto.
+ (avr_init_extra_frame_info): Ditto.
+ (avr_pop_frame): Ditto.
+ (avr_frame_saved_pc): Ditto.
+ (avr_saved_pc_after_call): Ditto.
+ (avr_push_return_address): Ditto.
+ (avr_frame_chain): Ditto.
+ (avr_store_struct_return): Ditto.
+ (avr_push_arguments): Ditto.
+ (avr_scan_prologue): Update comments. Changed to set up the info for
+ cache unwinding. Now returns end of prologue PC.
+ (avr_skip_prologue): Better handling of functions lacking a prologue
+ by using avr_scan_prologue.
+ (avr_scan_arg_moves): New function.
+ (avr_saved_regs_unwinder): Ditto.
+ (avr_frame_unwind_cache): Ditto.
+ (avr_unwind_pc): Ditto.
+ (avr_frame_this_id): Ditto.
+ (avr_frame_prev_register): Ditto.
+ (avr_frame_p): Ditto.
+ (avr_frame_base_address ): Ditto.
+ (avr_unwind_dummy_id): Ditto.
+ (avr_push_dummy_code): Ditto.
+ (push_stack_item): Ditto.
+ (pop_stack_item): Ditto.
+ (avr_push_dummy_call): Ditto.
+ (struct stack_item): Define.
+ (avr_frame_unwind): Declare structure.
+ (avr_frame_base): Ditto.
+ (avr_gdbarch_init): Remove calls to
+ set_gdbarch_deprecated_init_frame_pc,
+ set_gdbarch_deprecated_target_read_fp,
+ set_gdbarch_deprecated_dummy_write_sp,
+ set_gdbarch_deprecated_fp_regnum,
+ set_gdbarch_deprecated_push_arguments,
+ set_gdbarch_deprecated_push_return_address,
+ set_gdbarch_deprecated_pop_frame,
+ set_gdbarch_deprecated_store_struct_return,
+ set_gdbarch_deprecated_frame_init_saved_regs,
+ set_gdbarch_deprecated_init_extra_frame_info,
+ set_gdbarch_deprecated_frame_chain,
+ set_gdbarch_deprecated_frame_saved_pc,
+ set_gdbarch_deprecated_saved_pc_after_call.
+ Add calls to set_gdbarch_push_dummy_call,
+ set_gdbarch_push_dummy_code,
+ frame_unwind_append_predicate,
+ frame_base_set_default,
+ set_gdbarch_unwind_dummy_id,
+ set_gdbarch_unwind_pc.
+ Wrap a long line.
+
+2003-06-18 Corinna Vinschen <vinschen@redhat.com>
+
+ * h8300-tdep.c (h8300s_register_name): Enable MACH and MACL
+ registers for H8/300S.
+ (h8300_print_registers_info): Ditto.
+ (h8300_gdbarch_init): Accommodate register count for H8/300S.
+
+2003-06-18 Daniel Jacobowitz <drow@mvista.com>
+
+ * config/nm-linux.h (linux_record_stopped_pid): New prototype.
+ * lin-lwp.c (child_wait): Call linux_record_stopped_pid.
+ (lin_lwp_wait): Likewise. Update comments.
+ * linux-nat.c (struct simple_pid_list, add_to_pid_list)
+ (pull_pid_from_list, linux_record_stopped_pid): New.
+
+2003-06-17 Stephane Carrez <stcarrez@nerim.fr>
+
+ * ada-lang.c (scan_discrim_bound): Name first argument.
+ (ada_add_block_symbols): Remove BLOCK_SYM to use local variable
+ declared by ALL_BLOCK_SYMBOLS.
+
+2003-06-17 Stephane Carrez <stcarrez@nerim.fr>
+
+ * ada-tasks.c (find_function_in_inferior): Don't declare it.
+ ("regcache.h"): Include it.
+ * ada-lex.l (block_lookup): Replace VAR_NAMESPACE with VAR_DOMAIN.
+
+2003-06-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * NEWS: Mention gdbserver detach change and "disconnect" command.
+ * infcmd.c (disconnect_command): New function.
+ (_initialize_infcmd): Add ``disconnect'' command.
+ * remote.c (remote_async_detach): Delete.
+ (remote_detach): Merge remote_async_detach.
+ (remote_disconnect): New.
+ (init_remote_ops): Set to_disconnect.
+ (init_remote_cisco_ops): Likewise.
+ (init_remote_async_ops): Likewise. Use remote_detach.
+ * target.c (cleanup_target): Default to_disconnect.
+ (update_current_target): Inherit to_disconnect.
+ (target_disconnect, debug_to_disconnect): New functions.
+ (setup_target_debug): Set to_disconnect.
+ * target.h (struct target_ops): Add to_disconnect.
+ (target_disconnect): Add prototype.
+
+2003-06-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (insert_catchpoint): New function.
+ (insert_breakpoints): Use catch_exceptions to call
+ insert_catchpoint. Disable catchpoints if they fail to insert.
+
+2003-06-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * symfile.c (reread_symbols): Clear sym_private.
+
+2003-06-17 Andrew Cagney <cagney@redhat.com>
+
+ * trad-frame.h (struct frame_info): Add opaque declaration.
+ * remote-fileio.h (struct cmd_list_element): Add opaque
+ declaration.
+ * h8300-tdep.c (h8300s_register_name): Avoid C++ // style
+ comments.
+
+2003-06-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * remote.c (remote_prepare_to_store): Replace call to
+ deprecated_read_register_bytes with multiple regcache_raw_read
+ calls.
+
+2003-06-17 Kris Warkentin <kewarken@qnx.com>
+
+ * nto-tdep.c (nto_map_arch_to_cputype): Recognize "powerpc".
+ (nto_find_and_open_solib): Likewise.
+ (nto_init_solib_absolute_prefix): Likewise.
+ (_initialize_nto_tdep): Fix indentation.
+
+2003-06-17 Kris Warkentin <kewarken@qnx.com>
+
+ * i386-nto-tdep.c (i386nto_sigcontext_addr): Make sp a CORE_ADDR.
+
+2003-06-17 Kris Warkentin <kewarken@qnx.com>
+
+ * i386-nto-tdep.c (i386nto_sigcontext_addr): Declare sp before using.
+
+2003-06-17 Jim Blandy <jimb@redhat.com>
+
+ * ppc-linux-tdep.c: "Linux" -> "GNU/Linux"
+
+2003-06-16 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_extract_return_value): New function.
+ (avr_gdbarch_init): Set extract_return_value method.
+
+2003-06-16 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (deprecated_get_next_frame_hack): Declare.
+ * frame.c (legacy_saved_regs_prev_register): Only require
+ DEPRECATED_FRAME_INIT_SAVED_REGS when it is needed. Assert that
+ there are always saved regs.
+ (deprecated_generic_get_saved_register): Do not require
+ DEPRECATED_FRAME_INIT_SAVED_REGS.
+ (legacy_get_prev_frame): Do not require DEPRECATED_FRAME_CHAIN,
+ use frame ID unwind instead.
+ (deprecated_get_next_frame_hack): New function.
+
+2003-06-16 Corinna Vinschen <vinschen@redhat.com>
+
+ * h8300-tdep.c (h8300_push_arguments): Remove. Substitute by...
+ (h8300_push_dummy_call): ...this function. Some minor optimization.
+ (h8300_push_return_address): Remove.
+ (h8300_gdbarch_init): Remove calls to
+ set_gdbarch_deprecated_dummy_write_sp,
+ set_gdbarch_deprecated_push_arguments and
+ set_gdbarch_deprecated_push_return_address.
+ Add call to set_gdbarch_push_dummy_call.
+
+2003-06-16 Corinna Vinschen <vinschen@redhat.com>
+
+ * h8300-tdep.c (E_PSEUDO_CCR_REGNUM): New define.
+ (E_PSEUDO_EXR_REGNUM): Ditto.
+ (h8300_is_argument_spill): Check for instructions moving argument
+ registers into safe registers.
+ (h8300_skip_prologue): Check for stm instruction to push registers
+ used for register variables onto stack.
+ (gdb_print_insn_h8300): Remove.
+ (h8300_examine_prologue): Add a comment.
+ (h8300_register_name): Take pseudo registers into account.
+ (h8300s_register_name): Ditto.
+ (h8300sx_register_name): Ditto.
+ (h8300_print_register): Ditto.
+ (h8300_print_registers_info): Define "nice" printing order.
+ (h8300_saved_pc_after_call): Take pseudo registers into account.
+ (h8300_register_type): Ditto. Return type used for remote connection
+ when requesting real CCR or EXR register, return actual type when
+ requesting pseudo CCR or EXR.
+ (h8300_pseudo_register_read): New function.
+ (h8300_pseudo_register_write): Ditto.
+ (h8300_dbg_reg_to_regnum): Ditto.
+ (h8300s_dbg_reg_to_regnum): Ditto.
+ (h8300_gdbarch_init): Call set_gdbarch_num_pseudo_regs,
+ set_gdbarch_ecoff_reg_to_regnum, set_gdbarch_dwarf_reg_to_regnum,
+ set_gdbarch_dwarf2_reg_to_regnum, set_gdbarch_stab_reg_to_regnum and
+ set_gdbarch_print_insn architecture dependent.
+ Call set_gdbarch_pseudo_register_read and
+ set_gdbarch_pseudo_register_write.
+ (_initialize_h8300_tdep): Remove assignment to deprecated_tm_print_insn.
+
+2003-06-16 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (SAVE_DUMMY_FRAME_TOS): Deprecate.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * infcall.c (call_function_by_hand): Update.
+ * ia64-tdep.c (ia64_push_arguments): Update comment.
+ * frame.c (legacy_get_prev_frame): Do not assume
+ SAVE_DUMMY_FRAME_TOS_P.
+ * dummy-frame.c (find_dummy_frame): Update comment.
+
+2003-06-16 Andrew Cagney <cagney@redhat.com>
+
+ * regcache.c (do_cooked_read): Do not use register_valid_p.
+
+2003-06-15 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_register_type): Remove a blank line.
+ (avr_scan_prologue): Correct some comments.
+
+2003-06-15 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_scan_prologue): Update comment describing the various
+ prologue types.
+ Properly scan prologues generated by gcc with the -mcall-prologues
+ option.
+ Add code to scan -mcall-prologues for mega devices.
+
+2003-06-15 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_register_byte): Delete function.
+ (avr_register_raw_size): Delete function.
+ (avr_register_virtual_size): Delete function.
+ (avr_register_virtual_type): Delete function.
+ (avr_register_type): New function.
+ (avr_address_to_pointer): Remove unused code.
+ (avr_read_fp): Need to read FP as two separate bytes due to change to
+ avr_register_type() usage.
+ (avr_gdbarch_init): Don't set deprecated_register_size.
+ Don't set deprecated_register_bytes.
+ Don't set deprecated_register_byte.
+ Don't set deprecated_register_raw_size.
+ Don't set deprecated_max_register_raw_size.
+ Don't set deprecated_register_virtual_size.
+ Don't set deprecated_max_register_virtual_size.
+ Don't set deprecated_register_virtual_type.
+ Set register_type method.
+
+2003-06-15 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in (linux-nat.o): Add rule.
+ * linux-nat.c: New file.
+ * config/nm-linux.h (CHILD_INSERT_FORK_CATCHPOINT): Define.
+ (CHILD_INSERT_VFORK_CATCHPOINT): Define.
+ (CHILD_INSERT_EXEC_CATCHPOINT): Define.
+ * config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-nat.o.
+ * config/arm/linux.mh (NATDEPFILES): Likewise.
+ * config/i386/linux.mh (NATDEPFILES): Likewise.
+ * config/i386/x86-64linux.mh (NATDEPFILES): Likewise.
+ * config/ia64/linux.mh (NATDEPFILES): Likewise.
+ * config/m68k/linux.mh (NATDEPFILES): Likewise.
+ * config/mips/linux.mh (NATDEPFILES): Likewise.
+ * config/powerpc/linux.mh (NATDEPFILES): Likewise.
+ * config/s390/s390.mh (NATDEPFILES): Likewise.
+ * config/sparc/linux.mh (NATDEPFILES): Likewise.
+
+2003-06-15 Mark Kettenis <kettenis@gnu.org>
+
+ * i387-tdep.c: Reorder includes, fix some whitespace issues and
+ replace out-of-date comment.
+
+2003-06-15 Andrew Cagney <cagney@redhat.com>
+
+ * rdi-share/host.h (Fail): Change to a varargs function.
+ * remote-rdi.c (Fail): Update.
+
+2003-06-15 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_next_regnum): Fix bounds checking.
+ (i386_convert_register_p, i386_register_to_value,
+ i386_register_from_value): Handle types longer than 8 bytes.
+
+2003-06-15 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_register_to_value, i386_value_to_register):
+ Move floating-point code to new function in i387-tdep.c.
+ * i387-tdep.c (i387_register_to_value, i387_value_to_register):
+ New functions containing code moved here from i386-tdep.c.
+ * i387-tdep.h: Add opaque declaration for `struct type'.
+ (i387_register_to_value, i387_value_to_register): New prototypes.
+ * x86-64-tdep.c (x86_64_convert_register_p): New function.
+ (x86_64_init_abi): Set convert_register_p, register_to_value and
+ value_to_register here.
+
+2003-06-14 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (mips_register_to_value): Make static.
+ (mips_value_to_register): Make static.
+ * i386-tdep.c (i386_fetch_pointer_argument): Make static.
+ * ia64-tdep.c (ia64_register_raw_size): Make static.
+ (ia64_register_virtual_size): Make static.
+ (ia64_register_byte): Make static.
+ * i387-tdep.c: Include "i387-tdep.h".
+ (print_387_control_word): Delete function.
+ (print_387_status_word): Delete function.
+ (print_387_status_bits): Delete function.
+ (print_387_control_bits): Delete function.
+ * Makefile.in (i387-tdep.o): Update dependencies.
+ * rdi-share/host.h (Fail): Declare.
+ * remote-rdi.c (Fail): Update to match declaration.
+
+2003-06-14 Andrew Cagney <cagney@redhat.com>
+
+ * config/mips/embedl64.mt (TDEPFILES): Delete "remote-array.o".
+ * config/mips/embedl.mt (TDEPFILES): Delete "remote-array.o".
+ * config/mips/embed64.mt (TDEPFILES): Delete "remote-array.o".
+ * config/djgpp/fnchange.lst: Delete "remote-array.c".
+ * README: Delete reference to remote-array.
+ * Makefile.in (ALLDEPFILES): Remove "remote-array.c".
+ (remote-array.o): Delete target.
+ * config/mips/embed.mt (TDEPFILES): Delete "remote-array.o".
+ * remote-array.c: Delete file.
+
+2003-06-14 Andrew Cagney <cagney@redhat.com>
+ Mark Kettenis <kettenis@gnu.org>
+
+ * gdbarch.sh (CONVERT_REGISTER_P): Add "type" parameter.
+ (REGISTER_TO_VALUE, VALUE_TO_REGISTER): Replace raw buffer
+ parameter with "frame".
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * frame.h (put_frame_register): Declare.
+ * frame.c (put_frame_register): New function.
+ * arch-utils.c (legacy_convert_register_p): Add "type" parameter.
+ (legacy_register_to_value): Rewrite, use "frame" to get the
+ register value.
+ (legacy_value_to_register): Rewrite, use "frame" to find the
+ register's location before storing.
+ * arch-utils.h (legacy_convert_register_p): Update.
+ (legacy_register_to_value, legacy_value_to_register): Update.
+ * findvar.c (value_from_register): Rewrite, eliminate use of
+ REGISTER_CONVERT_TO_TYPE, pass "type" to CONVERT_REGISTER_P, pass
+ "frame" to REGISTER_TO_VALUE.
+ * valops.c (value_assign): Move the CONVERT_REGISTER code to the
+ lval_reg_frame_relative + lval_register branch of the switch. Do
+ not use REGISTER_CONVERT_FROM_TYPE. Use put_frame_register.
+ * i386-tdep.c (I386_EBX_REGNUM, I386_ECX_REGNUM, I386_ESI_REGNUM,
+ I386_EDI_REGNUM): New defines.
+ (i386_next_regnum, i386_convert_register_p,
+ i386_register_to_value, i386_value_to_register): New functions.
+ (i386_register_convertible, i386_register_convert_to_virtual,
+ i386_convert_to_raw): Remove functions.
+ (i386_gdbarch_init): Set convert_register_p, register_to_value and
+ value_to_register instead of register_convertible,
+ register_convert_to_virtual and register_convert_to_raw.
+ * mips-tdep.c (mips_convert_register_p): New function.
+ (mips_value_to_register): Replace mips_register_convert_from_type.
+ (mips_register_to_value): Replace mips_register_convert_to_type.
+ (mips_gdbarch_init): Set conver_register_p, value_to_register and
+ register_to_value.
+ * alpha-tdep.c (alpha_convert_register_p): Update.
+ (alpha_value_to_register): Update, store the register.
+ (alpha_register_to_value): Update, fetch the register.
+
+2003-06-14 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_remote_translate_xfer_address): Delete function.
+ (avr_gdbarch_init): Remove avr_call_dummy_words variable.
+ Don't set deprecated_call_dummy_words.
+ Remove commented out set_gdbarch_believe_pcc_promotion() call.
+ Don't set remote_translate_xfer_address.
+ (avr_io_reg_read_command): Remove commented out debug printf.
+ Wrap a long line.
+
+2003-06-14 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_scan_prologue): Fix to avoid a buffer over run which
+ causes gdb to seg fault.
+
+2003-06-14 Daniel Jacobowitz <drow@mvista.com>
+
+ * sparc-nat.c (fetch_inferior_registers): Correct
+ a reference to "registers".
+
+2003-06-14 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * Makefile.in (exc_request_U_h): Define
+ (exc_request_S_h): Likewise.
+ (msg_reply_S_h): Likewise.
+ (msg_U_h): Likewise.
+ (notify_S_h): Likewise.
+ (process_reply_S_h): Likewise.
+ (gnu-nat.o): Depend on gdb_obstack_h
+ * gnu-nat.c: Include "gdb_obstack.h".
+
+2003-06-13 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Document what PUSH_DUMMY_CALL replaces.
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+2003-06-13 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Document what UNWIND_DUMMY_ID replaces. Clarify
+ when deprecated REGISTER macros can be deleted.
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+2003-06-13 Jim Blandy <jimb@redhat.com>
+
+ * solib-svr4.c (solib_break_names): Recognize the 64-bit PowerPC
+ Linux entry point symbols for _dl_debug_state, too.
+
+2003-06-13 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): When UNWIND_DUMMY_ID is
+ available, do not use the FP register, and always save the TOS.
+ * dummy-frame.c (dummy_frame_this_id): Do not assert
+ SAVE_DUMMY_FRAME_TOS.
+ * i386-tdep.c (i386_save_dummy_frame_tos): Delete function.
+ (i386_gdbarch_init): Do not set save_dummy_frame_tos.
+ (i386_push_dummy_call): Add 8 to the returned SP.
+ * frame.c (legacy_frame_p): Do not require SAVE_DUMMY_FRAME_TOS.
+ * d10v-tdep.c (d10v_unwind_dummy_id): Use d10v_unwind_sp.
+ (d10v_gdbarch_init): Do not set save_dummy_frame_tos.
+ * x86-64-tdep.c (x86_64_save_dummy_frame_tos): Delete function.
+ (x86_64_push_dummy_call): Return "sp + 16".
+ (x86_64_init_abi): Do not set save_dummy_frame_tos.
+ * alpha-tdep.c (alpha_gdbarch_init): Do not set
+ save_dummy_frame_tos.
+
+2003-06-13 Jim Blandy <jimb@redhat.com>
+
+ * frv-tdep.c (frv_use_struct_convention): Delete static
+ declaration for function deleted in my change of 2003-06-12.
+
+2003-06-13 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_address_to_pointer): Shift code addrs right 1 bit.
+ (avr_pointer_to_address): Shift code addrs left 1 bit.
+ (avr_convert_from_func_ptr_addr): Delete function since operation is
+ better handled by avr_address_to_pointer and avr_pointer_to_address.
+ (avr_gdbarch_init): Don't set convert_from_func_ptr_add method.
+
+2003-06-13 Mark Kettenis <kettenis@gnu.org>
+
+ From Kelley Cook <kelleycook@wideopenwest.com>:
+ * configure.host: Accept i[34567]86 variants.
+ * configure.tgt: Likewise.
+ * nlm/configure.in: Likewise.
+ * nlm/configure: Regenerated.
+
+2003-06-13 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-tdep.c (solib-svr4.h): Dont' include it.
+ (arm_linux_svr4_fetch_link_map_offsets): Move to ...
+ * arm-linux-tdep.c: ... here. Make static.
+ (arm_linux_init_abi): Register it.
+ (solib-svr4.h): Include it.
+ * Makefile.in: Update dependencies.
+ * config/arm/tm-linux.h (SVR4_FETCH_LINK_MAP_OFFSETS): Delete.
+ (arm_linux_svr4_fetch_link_map_offsets): Delete declaration.
+
+2003-06-13 Corinna Vinschen <vinschen@redhat.com>
+
+ * h8300-tdep.c: Add definitions E_RET0_REGNUM and E_RET1_REGNUM to
+ indicate registers used for return values.
+ (struct frame_extra_info): Drop args_pointer and locals_pointer.
+ (h8300_examine_prologue): Remove initializing dropped frame_extra_info
+ members.
+ (h8300_init_extra_frame_info): Ditto.
+ (h8300_frame_locals_address): Removed.
+ (h8300_frame_args_address): Removed.
+ (h8300_extract_return_value): Use new regcache structure. Only care
+ for 16 bit CPUs.
+ (h8300h_extract_return_value): Same function for 32 bit CPUs.
+ (h8300_store_return_value): Use new regcache structure. Only care
+ for 16 bit CPUs.
+ (h8300h_store_return_value): Same function for 32 bit CPUs.
+ (h8300_store_struct_return): Removed.
+ (h8300_extract_struct_value_address): Use new regcache structure.
+ (h8300h_extract_struct_value_address): Removed.
+ (h8300_push_dummy_code): New function.
+ (h8300_gdbarch_init): Slightly rearranged to stress deprecated calls.
+ Remove call_dummy_words. Call set_gdbarch_extract_return_value and
+ set_gdbarch_store_return_value architecture dependent.
+ Call set_gdbarch_push_dummy_code and
+ set_gdbarch_extract_struct_value_address.
+ Remove calls to set_gdbarch_frame_args_address,
+ set_gdbarch_frame_locals_address,
+ set_gdbarch_deprecated_store_struct_return,
+ set_gdbarch_deprecated_extract_return_value,
+ set_gdbarch_deprecated_extract_struct_value_address,
+ set_gdbarch_deprecated_call_dummy_words and
+ set_gdbarch_deprecated_sizeof_call_dummy_words.
+
+2003-06-13 Corinna Vinschen <vinschen@redhat.com>
+
+ * h8300-tdep.c (h8300_register_byte): Remove.
+ (h8300h_register_byte): Remove.
+ (h8300_register_virtual_type): Remove. Substitute by...
+ (h8300_register_type): New function.
+ (h8300_extract_struct_value_address): Drop usage of h8300_register_byte.
+ (h8300h_extract_struct_value_address): Ditto.
+ (h8300_gdbarch_init): Drop calls to
+ set_gdbarch_deprecated_register_byte and
+ set_gdbarch_deprecated_register_virtual_type.
+ Add call to set_gdbarch_register_type.
+
+2003-06-13 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Update comments on registers.
+ (deprecated_register_byte): Rename register_byte.
+ (deprecated_register_raw_size): Rename register_raw_size.
+ (deprecated_register_virtual_size): Rename register_virtual_size.
+ (deprecated_register_virtual_type): Rename register_virtual_type.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ns32k-tdep.c: Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+
+2003-06-13 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (mips_gdbarch_init): Replace remaining instances of
+ mips_o32_use_struct_convention with always_use_struct_convention.
+
+2003-06-12 David Carlton <carlton@kealia.com>
+
+ * cp-namespace.c (cp_set_block_scope): Comment out
+ processing_has_namespace_info branch.
+
+2003-06-12 Jim Blandy <jimb@redhat.com>
+
+ Recognize and skip 64-bit PowerPC Linux linkage functions.
+ * ppc-linux-tdep.c (insn_d, insn_ds, insn_xfx, read_insn, struct
+ insn_pattern, insns_match_pattern, d_field, ds_field): New
+ functions, macros, and types for working with PPC instructions.
+ (ppc64_standard_linkage, PPC64_STANDARD_LINKAGE_LEN,
+ ppc64_in_solib_call_trampoline, ppc64_standard_linkage_target,
+ ppc64_skip_trampoline_code): New functions, variables, and macros
+ for recognizing and skipping linkage functions.
+ (ppc_linux_init_abi): Use ppc64_in_solib_call_trampoline and
+ ppc64_skip_trampoline_code for the 64-bit PowerPC Linux ABI.
+
+ * ppc-linux-nat.c (ppc_register_u_addr): Correctly compute u-area
+ register offsets for both the 32- and 64-bit interfaces.
+
+ Actually finish the job started by my change of 2003-05-29.
+ * config/powerpc/tm-linux.h (SKIP_TRAMPOLINE_CODE): Remove the
+ other #definition of this.
+ (ppc_linux_skip_trampoline_code): Remove declaration.
+ * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Make this
+ static.
+ (ppc_linux_init_abi): Register it as the skip_trampoline_code
+ method for GDBARCH.
+
+ * config/powerpc/nm-ppc64-linux.h (PTRACE_XFER_TYPE): This is
+ 'long' on ppc64-*-linux*.
+
+ * ppc-linux-nat.c (ppc_register_u_addr, fill_gregset): If PT_MQ
+ isn't #defined, assume the register doesn't exist: act as if
+ tdep->ppc_mq_regnum were -1.
+
+ * configure.host, configure.tgt: Add entries for
+ powerpc64-*-linux, selecting powerpc/ppc64-linux.mh and
+ powerpc/linux.mt.
+ * config/powerpc/ppc64-linux.mh, config/powerpc/nm-ppc64-linux.mh:
+ New files.
+
+ * arch-utils.c (always_use_struct_convention): New function.
+ * arch-utils.h (always_use_struct_convention): New prototype.
+ * alpha-tdep.c (alpha_use_struct_convention): Delete.
+ (alpha_gdbarch_init): Register always_use_struct_convention,
+ instead of alpha_use_struct_convention.
+ * cris-tdep.c (cris_use_struct_convention): Delete.
+ (cris_gdbarch_init): Register always_use_struct_convention,
+ instead of cris_use_struct_convention.
+ * frv-tdep.c (frv_use_struct_convention): Delete.
+ (frv_gdbarch_init): Register always_use_struct_convention,
+ instead of frv_use_struct_convention.
+ * h8300-tdep.c (h8300_use_struct_convention): Delete.
+ (h8300_gdbarch_init): Register always_use_struct_convention,
+ instead of h8300_use_struct_convention.
+ * mips-tdep.c (mips_o32_use_struct_convention): Delete.
+ (mips_o32_gdbarch_init): Register always_use_struct_convention,
+ instead of mips_o32_use_struct_convention.
+
+2003-06-12 Andrew Cagney <cagney@redhat.com>
+
+ * wince.c: Include "mips-tdep.h".
+ * mips-tdep.h (mips_next_pc): Declare.
+ * mcore-tdep.c: Make more local functions static.
+ * Makefile.in (wince.o): Update dependencies.
+
+2003-06-12 David Carlton <carlton@kealia.com>
+
+ * symtab.c (lookup_symbol_aux_minsyms): Replace
+ DEPRECATED_SYMBOL_NAME by SYMBOL_LINKAGE_NAME.
+ (find_pc_sect_line, search_symbols, rbreak_command): Ditto.
+ (COMPLETION_LIST_ADD_SYMBOL): Rewrite in terms of
+ SYMBOL_NATURAL_NAME.
+
+2003-06-12 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in (tuiDisassem.o): Update dependencies.
+
+2003-06-12 David Carlton <carlton@bactrian.org>
+
+ * symtab.h: Delete declaration of make_symbol_overload_list.
+ Add declaration of lookup_partial_symbol.
+ * symtab.c (remove_params): Move to cp-support.c.
+ (overload_list_add_symbol, make_symbol_overload_list)
+ (sym_return_val_size, sym_return_val_index): Ditto.
+ (lookup_partial_symbol): Make extern.
+ * cp-support.h: Add declaration of make_symbol_overload_list.
+ * cp-support.c: Include dictionary.h, objfiles.h, frame.h,
+ symtab.h, and block.h.
+ (remove_params): Move here from symtab.c.
+ (overload_list_add_symbol, make_symbol_overload_list)
+ (sym_return_val_size, sym_return_val_index): Ditto.
+ * valops.c: Include cp-support.h.
+ * Makefile.in (cp-support.o): Depend on dictionary_h, objfiles_h,
+ frame_h, and block_h.
+ (valops.o): Depend on cp_support_h.
+
+2003-06-12 Corinna Vinschen <vinschen@redhat.com>
+
+ * h8300-tdep.c: Add H8SX registers. Drop E_NUM_REGS entirely,
+ substitute by NUM_REGS throughout.
+ (h8300_register_name): Only care for H8/300 and H8/300H registers.
+ (h8300s_register_name): New function for H8S registers.
+ (h8300sx_register_name): Ditto for H8SX registers.
+ (h8300_print_register): Revise register printing, avoid depending
+ on 32 bit long.
+ (h8300_register_byte): Only care for H8/300 registers.
+ (h8300h_register_byte): New function for any other architecture.
+ (h8300_register_raw_size): Remove.
+ (h8300_register_virtual_type): Revise to return actually useful
+ type.
+ (h8300_extract_struct_value_address): Only care for H8/300 registers.
+ (h8300h_extract_struct_value_address): New function for any other
+ architecture.
+ (h8300_gdbarch_init): Add h8300sxn. Call set_gdbarch_num_regs,
+ set_gdbarch_register_name, set_gdbarch_register_byte,
+ set_gdbarch_ptr_bit and set_gdbarch_addr_bit architecture dependent.
+ Remove calls to set_gdbarch_deprecated_register_size,
+ set_gdbarch_deprecated_register_bytes, set_gdbarch_register_raw_size,
+ set_gdbarch_deprecated_max_register_raw_size,
+ set_gdbarch_register_virtual_size and
+ set_gdbarch_deprecated_max_register_virtual_size entirely.
+ Call set_gdbarch_long_long_bit, set_gdbarch_double_bit and
+ set_gdbarch_long_double_bit.
+
+2003-06-11 Jeff Johnston <jjohnstn@redhat.com>
+
+ * doublest.c (convert_doublest_to_floatformat): When dealing
+ with the implied integer bit, only alter mant_bits if we are
+ processing a full 32 bits of mantissa.
+
+2003-06-11 David Carlton <carlton@bactrian.org>
+
+ * dictionary.h: New.
+ * dictionary.c: New.
+ * block.h: Add opaque declaration for struct dictionary.
+ (struct block): Add 'dict' member; delete 'hashtable', 'nsyms',
+ 'sym' members.
+ (BLOCK_DICT): New macro.
+ Delete macros BLOCK_HASHTABLE, BLOCK_NSYMS, BLOCK_SYM,
+ BLOCK_BUCKETS, BLOCK_BUCKET, BLOCK_HASHTABLE_SIZE,
+ BLOCK_SHOULD_SORT.
+ (ALL_BLOCK_SYMBOLS): Update definition.
+ * Makefile.in (SFILES): Add dictionary.c.
+ (dictionary_h): New.
+ (COMMON_OBS): Add dictionary.o.
+ (dictionary.o): New.
+ (ada-lang.o): Depend on dictionary_h.
+ (buildsym.o, coffread.o, jv-lang.o, mdebugread.o, objfiles.o)
+ (stack.o, symmisc.o, symtab.o, tracepoint.o, valops.o)
+ (mi-cmd-stack.o): Ditto.
+ (gdbtk-cmds.o): Update dependencies.
+ (gdbtk-stack.o): Ditto.
+ * ada-lang.c: Include dictionary.h.
+ (symtab_for_sym): Update uses of ALL_BLOCK_SYMBOLS.
+ (fill_in_ada_prototype, debug_print_block): Ditto.
+ (ada_add_block_symbols): Update uses of ALL_BLOCK_SYMBOLS; replace
+ explicit iteration by use of ALL_BLOCK_SYMBOLS. Delete variable
+ 'is_sorted'.
+ * mdebugread.c: Include dictionary.h.
+ (struct parse_stack): Delete 'maxsyms' member.
+ (parse_symbol): Update calls to new_block. Delete calls to
+ shrink_block. Use dictionary methods.
+ (psymtab_to_symtab_1): Delete calls to sort_symtab_syms.
+ Update calls to new_symtab. Don't maintain maxsyms data.
+ (mylookup_symbol): Update use of ALL_BLOCK_SYMBOLS.
+ (add_symbol): Just call dict_add_symbol.
+ (new_symtab): Delete 'maxsyms' argument.
+ (new_symtab): Update calls to new_block.
+ (new_block): Delete 'maxsyms' argument; add 'function' argument.
+ (shrink_block): Delete function.
+ (fixup_sigtramp): Update call to new_block. Add symbol via
+ dict_add_symbol.
+ * jv-lang.c: Include dictionary.h.
+ (get_java_class_symtab): Set the BLOCK_DICT of the blocks
+ appropriately. Set class_symtab->free_func. Make sure the
+ blockvector is big enough to hold two blocks.
+ (add_class_symtab_symbol): Use dictionary methods.
+ (free_class_block): New function.
+ (type_from_class): Replace explicit iteration by
+ ALL_BLOCK_SYMBOLS.
+ * symtab.h (struct symtab): Replace 'free_ptr' method by
+ 'free_func'.
+ * dwarf2read.c (psymtab_to_symtab_1): Delete call to
+ sort_symtab_syms.
+ * dwarfread.c (psymtab_to_symtab_1): Delete call to
+ sort_symtab_syms.
+ * coffread.c (coff_symfile_read): Delete call to sort_symtab_syms.
+ Include dictionary.h.
+ (patch_opaque_types): Update use of ALL_BLOCK_SYMBOLS.
+ * dbxread.c (dbx_psymtab_to_symtab_1): Delete call to
+ sort_symtab_syms.
+ * objfiles.c: Include dictionary.h.
+ (objfile_relocate): Update use of ALL_BLOCK_SYMBOLS.
+ * buildsym.c: Include dictionary.h.
+ (finish_block): Use dictionary methods.
+ (end_symtab): Set free_func to NULL, not free_ptr.
+ * tracepoint.c: Include dictionary.h.
+ (add_local_symbols): Update use of ALL_BLOCK_SYMBOLS.
+ (scope_info): Ditto.
+ * stack.c: Include dictionary.h.
+ (print_block_frame_locals): Update use of ALL_BLOCK_SYMBOLS.
+ (print_block_frame_labels, print_frame_arg_vars)
+ (print_frame_args): Ditto.
+ * symmisc.c (free_symtab_block): Use dictionary methods.
+ (dump_symtab): Ditto.
+ (free_symtab): Replace use of 'free_ptr' by 'free_func'.
+ Include dictionary.h.
+ * symfile.h: Delete declarations of sort_block_syms,
+ sort_symtab_syms.
+ * symfile.c (sort_block_syms): Delete.
+ (sort_symtab_syms): Delete.
+ * symtab.c: Include dictionary.h.
+ (lookup_block_symbol): Use dictionary iterators.
+ (find_pc_sect_symtab): Update use of ALL_BLOCK_SYMBOLS.
+ (search_symbols, make_symbol_completion_list): Ditto.
+ (make_symbol_overload_list): Ditto.
+ * valops.c (value_of_local): Use dict_empty.
+ Include dictionary.h.
+
+2003-06-11 J. Brobecker <brobecker@gnat.com>
+
+ * win32-nat.c (solib_symbols_add): Fix a small compilation error.
+
+2003-06-11 David Carlton <carlton@bactrian.org>
+
+ * block.h (BLOCK_SHOULD_SORT): Delete.
+ * symtab.c (lookup_block_symbol): Don't worry about sorted linear
+ blocks.
+ * ada-lang.c (ada_add_block_symbols): Ditto.
+ * symfile.c (sort_block_syms): Delete.
+ (sort_symtab_syms): Ditto.
+ * symfile.h: Delete sort_symtabs_syms and sort_block_syms
+ declarations.
+ * coffread.c (coff_symfile_read): Don't call sort_symtab_syms.
+ * dbxread.c (dbx_psymtab_to_symtab_1): Ditto.
+ * dwarf2read.c (psymtab_to_symtab_1): Ditto.
+ * dwarfread.c (psymtab_to_symtab_1): Ditto.
+ * hpread.c (hpread_psymtab_to_symtab_1): Ditto.
+ * mdebugread.c (psymtab_to_symtab_1): Ditto.
+ * xcoffread.c (xcoff_psymtab_to_symtab_1): Ditto.
+
+2003-06-11 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-tdep.c (ia64_gdbarch_init): Set number of long double
+ bits to 128.
+
+2003-06-11 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_REGISTER_CONVERTIBLE): Deprecate
+ REGISTER_CONVERTIBLE.
+ (DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL): Same.
+ (DEPRECATED_REGISTER_CONVERT_TO_RAW): Same, make "from" constant.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * arch-utils.h (deprecated_register_convertible_not): Rename
+ generic_register_convertible_not.
+ * arch-utils.c (deprecated_register_convertible_not): Rename
+ generic_register_convertible.
+ (legacy_convert_register_p, legacy_register_to_value): Update.
+ * sh-tdep.c (sh64_push_arguments): Update.
+ * m68klinux-tdep.c (m68k_linux_extract_return_value): Update.
+ * config/m68k/tm-delta68.h (DEPRECATED_EXTRACT_RETURN_VALUE): Update.
+ * m68klinux-tdep.c (m68k_linux_store_return_value): Update.
+ * config/m68k/tm-delta68.h (DEPRECATED_STORE_RETURN_VALUE): Update.
+ * arch-utils.c (legacy_value_to_register): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ (rs6000_register_convert_to_raw): Make parameter "from" const.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ (mips_register_convert_to_raw): Make parameter"virt_buf" const.
+ * infcmd.c (default_print_registers_info): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ (ia64_register_convert_to_raw): Make parameter "from" const.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ (i386_register_convert_to_raw): Update.
+
+2003-06-11 Andrew Cagney <cagney@redhat.com>
+
+ * remote-fileio.c: Include "remote-fileio.h".
+ * Makefile.in (remote-fileio.o): Update dependencies.
+ (remote_fileio_h): Fix typo.
+
+2003-06-11 Andrew Cagney <cagney@redhat.com>
+
+ * xstormy16-tdep.c (xstormy16_push_return_address): Make static.
+ (xstormy16_save_dummy_frame_tos): Make static.
+ (_initialize_xstormy16_tdep): Add declaration.
+ * vax-tdep.c (_initialize_vax_tdep): Add declaration.
+ * v850-tdep.c: Make local functions static.
+ (_initialize_v850_tdep): Add declaration.
+ * sparc-tdep.c: Make local functions static.
+ (_initialize_sparc_tdep): Add declaration.
+ * sh-tdep.c: Make local functions static.
+ (_initialize_sh_tdep): Add declaration.
+ * sh3-rom.c (_initialize_sh3_rom): Add declaration.
+ * s390-tdep.c: Make local functions static.
+ (_initialize_s390_tdep): Add declaration.
+ * dbxread.c (find_stab_function_addr): Make static.
+ * ppc-bdm.c (_initialize_bdm_ppc): Add declaration.
+ * ocd.c (_initialize_remote_ocd): Add declaration.
+ * dink32-rom.c (_initialize_dink32_rom): Add declaration.
+ * ppcbug-rom.c (_initialize_ppcbug_rom): Add declaration.
+ * ns32k-tdep.c (_initialize_ns32k_tdep): Add declaration.
+ * ns32knbsd-tdep.c (_initialize_ns32knbsd_tdep): Add declaration.
+ * mips-tdep.c (_initialize_mips_tdep): Add declaration.
+ * remote-array.c (_initialize_array): Add declaration.
+ (_initialize_remote_monitors): Add declaration.
+ * remote-mips.c: Make local functions static.
+ (_initialize_remote_mips): Add declaration.
+ * mcore-tdep.c: Make all local functions static.
+ (_initialize_mcore_tdep): Add declaration.
+ * dbug-rom.c (_initialize_dbug_rom): Add declaration.
+ * abug-rom.c (_initialize_abug_rom): Add declaration.
+ * rom68k-rom.c (_initialize_rom68k): Add declaration.
+ * cpu32bug-rom.c (_initialize_cpu32bug_rom): Add declaration.
+ * m68k-tdep.c (_initialize_m68k_tdep): Add declaration.
+ * remote-est.c (_initialize_est): Add declaration.
+ * m68hc11-tdep.c (_initialize_m68hc11_tdep): Add declaration.
+ (m68hc11_call_dummy_address): Make static.
+ * ia64-tdep.c: Make local functions static.
+ (_initialize_ia64_tdep): Add declaration.
+ * solib-legacy.c (_initialize_svr4_lm): Add declaration.
+ * monitor.c (monitor_wait_filter): Make static.
+ (_initialize_remote_monitors): Add declaration.
+ * remote-hms.c (_initialize_remote_hms): Add declaration.
+ * remote-e7000.c (fetch_regs_from_dump): Make static.
+ (expect_n): Make static.
+ (_initialize_remote_e7000): Add declaration.
+ * ser-e7kpc.c: Always include "defs.h".
+ (_initialize_ser_e7000pc): Add declaration.
+ * h8300-tdep.c (_initialize_h8300_tdep): Add declaration.
+ * cris-tdep.c: Make all but one function static.
+ (_initialize_cris_tdep): Add declaration.
+ * solib-svr4.c (_initialize_svr4_solib): Add declaration.
+ * solib.c (update_solib_list): Make static.
+ (_initialize_solib): Add declaration.
+ * avr-tdep.c (avr_breakpoint_from_pc): Make static.
+ (_initialize_avr_tdep): Add declaration.
+ * remote-rdi.c (voiddummy): Make static.
+ (_initialize_remote_rdi): Add declaration.
+ * arm-tdep.c (_initialize_arm_tdep): Add declaration.
+ * remote-rdp.c (send_rdp): Make static.
+ (_initialize_remote_rdp): Add declaration.
+ * alpha-tdep.c (_initialize_alpha_tdep): Add declaration.
+
+2003-06-11 Corinna Vinschen <vinschen@redhat.com>
+
+ * remote-fileio.c: Make ari happy.
+
+2003-06-10 J. Brobecker <brobecker@gnat.com>
+
+ * rs6000-nat.c (child_xfer_memory): Compute the right address when
+ fetching the trailing bytes of the buffer we are about to write.
+
+2003-06-10 Andrew Cagney <cagney@redhat.com>
+
+ * remote-fileio.h (REMOTE_FILEIO_H): Replace FILEIO_H.
+ * Makefile.in (remote-fileio.o): Update dependencies.
+ * remote-fileio.c: Include "gdb_wait.h" and "gdb_stat.h". Do not
+ include <setjmp.h>, or <sys/types.h> conditional on USG.
+ (remote_fio_jmp_buf): Delete global variable.
+
+2003-06-10 Corinna Vinschen <vinschen@redhat.com>
+ Martin M. Hunt <hunt@redhat.com>
+
+ * Makefile.in (REMOTE_OBS): Add remote-fileio.o
+ (SFILES): Add remote-fileio.c.
+ Add dependencies for building remote-fileio.o. Add remote-fileio.h to
+ dependencies for building remote.o.
+ * remote-fileio.c: New file implementing the remote File-I/O protocol.
+ * remote-fileio.h: New header file defining remote File-I/O interface.
+ * remote.c (remote_write_bytes, remote_read_bytes): Remove
+ static storage class.
+ (remote_wait, remote_async_wait): Call remote_fileio_request() on
+ 'F' packet.
+ (_initialize_remote): Call initialize_remote_fileio().
+ * remote.h: Declare remote_write_bytes() and remote_read_bytes().
+ * defs.h: Declare gdb_stdin, gdb_stdtargerr and gdb_stdtargin.
+ * main.c: New ui_file gdb_stdin, gdb_stdtargerr and gdb_stdtargin.
+ (captured_main): Initialize new ui_files.
+ * ui-file.c: Add read and fgets input functions.
+ (ui_file_new): set ui_file_fputs and ui_file_read to null functions.
+ (null_file_read): New function.
+ (ui_file_read): New function.
+ (set_ui_file_read): New function.
+ (stdio_file_read): New function.
+ * ui-file.h: New type ui_file_read_ftype.
+ (set_ui_file_read): Declare.
+ (ui_file_read): Declare.
+
+2003-06-09 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (deprecated_unwind_get_saved_register): Rename
+ generic_unwind_get_saved_register, update comments.
+ * mips-tdep.c (mips_get_saved_register): Update.
+ * frame.c (deprecated_unwind_get_saved_register): Update.
+
+2003-06-09 Andrew Cagney <cagney@redhat.com>
+
+ * vax-tdep.c (vax_frame_locals_address): Delete function.
+ (vax_gdbarch_init): Do not set frame_locals_address.
+ * m68hc11-tdep.c (m68hc11_frame_locals_address): Delete function.
+ (m68hc11_gdbarch_init): Do not set frame_locals_address.
+ * s390-tdep.c (s390_frame_args_address): Delete function.
+ (s390_gdbarch_init): Do not set frame_args_address or
+ frame_locals_address.
+ * ns32k-tdep.c (ns32k_frame_locals_address): Delete.
+ (ns32k_gdbarch_init): Do not set frame_locals_address.
+ * hppa-tdep.c (hppa_frame_args_address): Delete function.
+ (hppa_frame_locals_address): Delete function.
+ (hppa_gdbarch_init): Do not set frame_args_address, or
+ frame_locals_address.
+ * arm-tdep.c (arm_frame_args_address): Delete.
+ (arm_frame_locals_address): Delete.
+ (arm_gdbarch_init): Do not set frame_args_address, or
+ frame_locals_address.
+
+2003-06-09 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (FRAME_NUM_ARGS): Change to function with predicate.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * arch-utils.h (frame_num_args_unknown): Delete both declarations.
+ * arch-utils.c (frame_num_args_unknown): Delete function.
+ * stack.c (print_args_stub): Use FRAME_NUM_ARGS_P.
+ (frame_info): Use FRAME_NUM_ARGS_P.
+ * arm-tdep.c (arm_frame_num_args): Delete function.
+ (arm_gdbarch_init): Do not set frame_num_args.
+ * config/pa/tm-hppa64.h (FRAME_NUM_ARGS): Delete.
+ * hppa-tdep.c (hppa_frame_num_args): Delete function.
+ (hppa_gdbarch_init): Do not set frame_num_args.
+ * config/sparc/tm-sparc.h (FRAME_NUM_ARGS): Delete.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
+ frame_num_args to default frame_num_args_unknown.
+ * v850-tdep.c (v850_gdbarch_init): Ditto.
+ * sparc-tdep.c (sparc_gdbarch_init): Ditto.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * mips-tdep.c (mips_gdbarch_init): Ditto.
+ * mcore-tdep.c (mcore_gdbarch_init): Ditto.
+ * m68k-tdep.c (m68k_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * i386-tdep.c (i386_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * d10v-tdep.c (d10v_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * avr-tdep.c (avr_gdbarch_init): Ditto.
+ * alpha-tdep.c (alpha_gdbarch_init): Ditto.
+
+2003-06-09 Andrew Cagney <cagney@redhat.com>
+
+ * printcmd.c (print_frame_nameless_args): Moved to "stack.c".
+ (print_frame_args): Moved to "stack.c".
+ * stack.c: Include "gdb_assert.h".
+ (print_frame_nameless_args): Moved from "printcmd.c", made static.
+ (print_frame_args): Moved from "printcmd.c".
+ * frame.h (print_frame_args): Delete declaration.
+ * Makefile.in (stack.o): Update dependencies.
+
+2003-06-08 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_prev_frame): Remove reference to
+ frame_args_address_correct in comments.
+ * frame-base.c (default_frame_args_address): Delete code
+ conditional on FRAME_ARGS_ADDRESS_CORRECT.
+ * vax-tdep.c (vax_frame_args_address_correct): Delete.
+ (vax_frame_args_address): Merge in vax_frame_args_address_correct.
+ * config/vax/tm-vax.h (FRAME_ARGS_ADDRESS_CORRECT): Delete
+ (vax_frame_args_address_correct): Delete declaration.
+
+2003-06-08 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (UNWIND_SP): Add.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * frame.c (frame_sp_unwind): New function.
+ (get_frame_sp): New function.
+ * frame.h (get_frame_sp, frame_sp_unwind): Declare.
+ * regcache.c (read_sp): Rewrite, try each of TARGET_READ_SP,
+ gdbarch_unwind_sp and SP_REGNUM when looking for the SP register
+ value.
+ * d10v-tdep.c (d10v_unwind_sp): Replace d10v_read_sp.
+ (d10v_gdbarch_init): Set unwind_sp instead of read_sp.
+
+2003-06-08 Andrew Cagney <cagney@redhat.com>
+
+ Deprecate BIG_REMOTE_BREAKPOINT, LITTLE_REMOTE_BREAKPOINT and
+ REMOTE_BREAKPOINT.
+ * remote.c: Update.
+ * config/sh/tm-sh.h (DEPRECATED_BIG_REMOTE_BREAKPOINT): Update.
+ (DEPRECATED_LITTLE_REMOTE_BREAKPOINT): Update.
+ * config/m68k/tm-sun3.h: Update.
+ * config/m68k/tm-m68klynx.h: Update.
+ * config/h8300/tm-h8300.h (DEPRECATED_REMOTE_BREAKPOINT): Update.
+
+ * trad-frame.h (struct trad_frame_saved_reg): Rename "struct
+ trad_frame". Update comments.
+ * d10v-tdep.c (struct d10v_unwind_cache): Update.
+ * trad-frame.c (trad_frame_alloc_saved_regs): Update.
+ (trad_frame_register_value, trad_frame_prev_register): Update.
+
+2003-06-08 Andrew Cagney <cagney@redhat.com>
+
+ * acinclude.m4 (gcc_AC_CHECK_DECL, (gcc_AC_CHECK_DECL): Stolen
+ from GCC's acinclude.m4.
+ * configure.in: Check for getopt's delcaration.
+ * aclocal.m4, config.in, configure: Re-generate.
+ * main.c (error_init): Delete declaration.
+ * defs.h (error_init): Declare.
+ * rs6000-tdep.c (rs6000_fetch_pointer_argument): Make static.
+ (rs6000_convert_from_func_ptr_addr): Make static.
+ (_initialize_rs6000_tdep): Add declaration.
+ * cli/cli-cmds.c (dont_repeat): Delete declaration.
+ (show_commands, set_verbose, show_history): Delete declaration.
+ * top.h (set_verbose): Add declaration.
+ (show_history, set_history, show_commands): Add declaration.
+ (do_restore_instream_cleanup): Add declaration.
+ * objc-lang.c (specialcmp): Make static.
+ (print_object_command): Make static.
+ (find_objc_msgsend): Make static.
+ (find_objc_msgcall_submethod_helper): Make static.
+ (find_objc_msgcall_submethod): Make static.
+ (_initialize_objc_language): Add declaration.
+ (find_implementation_from_class): Make static.
+ (find_implementation): Make static.
+ * objc-exp.y (yylex): Delete lookup_struct_typedef declaration.
+ * objc-lang.h (lookup_struct_typedef): Add declaration.
+ * cli/cli-interp.c (_initialize_cli_interp): Add declaration.
+ * cli/cli-script.c (clear_hook_in_cleanup): Make static.
+ (do_restore_user_call_depth): Make static.
+ (do_restore_instream_cleanup): Delete declaration.
+ (dont_repeat): Delete declaration.
+ * cli/cli-decode.c (add_abbrev_cmd): Delete function.
+ * cli/cli-dump.c (_initialize_cli_dump): Add declaration.
+ * reggroups.c (_initialize_reggroup): Add declaration.
+ * cp-support.c (_initialize_cp_support): Add declaration.
+ * cp-abi.c (_initialize_cp_abi): Add declaration.
+ * hpacc-abi.c (_initialize_hpacc_abi): Add declaration.
+ * gnu-v3-abi.c (gnuv3_baseclass_offset): Make static.
+ (_initialize_gnu_v3_abi): Add declaration.
+ * gnu-v2-abi.c (gnuv2_value_rtti_type): Make static.
+ (_initialize_gnu_v2_abi): Add declaration.
+ * frame-base.c (_initialize_frame_base): Add declaration.
+ * doublest.c (floatformat_from_length): Make static.
+ * frame-unwind.c (_initialize_frame_unwind): Add declaration.
+ * frame.c (create_sentinel_frame): Make static.
+ (_initialize_frame): Add declaration.
+ * top.c (do_catch_errors): Make static.
+ (gdb_rl_operate_and_get_next_completion): Make static.
+ * typeprint.c: Include "typeprint.h".
+ * sentinel-frame.c (sentinel_frame_prev_register): Make static.
+ (sentinel_frame_this_id): Make static.
+ * p-valprint.c (_initialize_pascal_valprint): Add declaration.
+ * ui-out.c (make_cleanup_ui_out_begin_end): Delete function.
+ * dwarf2-frame.c (dwarf2_frame_cache): Make static.
+ * p-exp.y (push_current_type, pop_current_type): ISO C declaration.
+ * dwarf2expr.h (dwarf_expr_context): ISO C declaration.
+ * maint.c (maintenance_print_architecture): Make static.
+ * signals/signals.c (_initialize_signals): Add declaration.
+ * std-regs.c (_initialize_frame_reg): Add declaration.
+ * jv-exp.y (push_variable): ISO C definition.
+ (push_qualified_expression_name): Ditto.
+ * memattr.c (_initialize_mem): Add declaration.
+ * remote.c (remote_check_watch_resources): Make static.
+ (remote_stopped_by_watchpoint): Make static.
+ (remote_stopped_data_address): Make static.
+ * d10v-tdep.c (nr_dmap_regs): Make static.
+ (a0_regnum): Make static.
+ (d10v_frame_unwind_cache): Make static.
+ (d10v_frame_p): Make static.
+ * osabi.c (show_osabi): Make static.
+ (_initialize_gdb_osabi): Add extern declaration.
+ * gdbtypes.c (make_qualified_type): Make static.
+ (safe_parse_type): Make static.
+ * macrocmd.c (_initialize_macrocmd): Add extern declaration.
+ * macrotab.c (macro_bcache_free): Make static.
+ * interps.c (interp_set_quiet): Make static.
+ (interpreter_exec_cmd): Make static.
+ * stack.h (select_frame_command): New file.
+ * stack.c: Include "stack.h".
+ (select_frame_command_wrapper): Delete function.
+ (select_frame_command): Make global.
+ * infcall.c: Include "infcall.h".
+ * linespec.c: Include "linespec.h".
+ * symfile.c (sections_overlap): Make static.
+ * cp-support.h (cp_initialize_namespace): ISO C declaration.
+ * charset.c (_initialize_charset): Add missing prototype.
+ * regcache.c (init_legacy_regcache_descr): Make static.
+ (do_regcache_xfree): Make static.
+ (regcache_xfer_part): Make static.
+ (_initialize_regcache): Add missing prototype.
+ * breakpoint.c (parse_breakpoint_sals): Make static.
+ (breakpoint_sals_to_pc): Make static.
+ * interps.h (clear_interpreter_hooks): ISO C declaration.
+ * Makefile.in (stack_h): Define.
+ (stack.o, typeprint.o, mi-main.o): Update dependencies.
+ (mi-cmd-stack.o, infcall.o, linespec.o): Update dependencies.
+
+2003-06-08 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (d10v-tdep.o): Update dependencies.
+ (SFILES): Add trad-frame.c.
+ (trad_frame_h): Define.
+ (COMMON_OBS): Add trad-frame.o.
+ (trad-frame.o): Specify dependencies.
+ * d10v-tdep.c: Include "trad-frame.h".
+ (saved_regs_unwinder): Delete function.
+ (d10v_frame_prev_register): Use trad_frame_prev_register.
+ (struct d10v_unwind_cache): Change type of "saved_regs" to "struct
+ trad_frame", delete "regs" and "prev_sp".
+ (prologue_find_regs): Use trad-frame.
+ * trad-frame.h, trad-frame.c: New files.
+
+2003-06-08 Mark Kettenis <kettenis@gnu.org>
+
+ * dwarf2cfi.c, dwarf2cfi.h: Remove.
+
+2003-06-07 Adam Fedor <fedor@gnu.org>
+
+ * gdb/objc-lang.c (FETCH_ARGUMENT): Remove macro.
+ (OBJC_FETCH_POINTER_ARGUMENT): Shorthand macro for
+ using FETCH_POINTER_ARGUMENT with Objective-C method arguments.
+ (find_implementation, resolve_msgsend, resolve_msgsend_stret,
+ resolve_msgsend_super, resolve_msgsend_super_stret):
+ Use it.
+
+2003-06-07 Andrew Cagney <cagney@redhat.com>
+
+ * symfile.h: Re-indent, clean up comments.
+
+2003-06-07 Andrew Cagney <cagney@redhat.com>
+
+ * inferior.h (deprecated_write_sp): Replace
+ generic_target_write_sp.
+ * regcache.c (deprecated_write_sp): Replace
+ generic_target_write_sp.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * config/pa/tm-hppa.h (DEPRECATED_DUMMY_WRITE_SP): Update.
+
+2003-06-07 Andrew Cagney <cagney@redhat.com>
+
+ * dwarf2-frame.c (dwarf2_frame_cache): Add comments on PC_REGNUM.
+ Assert that PC_REGNUM is valid.
+ (dwarf2_frame_prev_register): Add comments on SP_REGNUM.
+
+2003-06-07 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (TARGET_READ_SP): Add predicate, delete default.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * mn10300-tdep.c: Include "gdb_assert.h".
+ (mn10300_read_fp): New function.
+ (mn10300_gdbarch_init): Set deprecated_target_read_fp to
+ mn10300_read_fp. Do not set read_sp to generic_target_read_sp.
+ * ia64-tdep.c: Include "gdb_assert.h".
+ (ia64_read_fp): New function.
+ (ia64_gdbarch_init): Set deprecated_target_read_fp to
+ ia64_read_sp. Do not set read_sp to generic_target_read_sp.
+ * regcache.c (generic_target_read_sp): Delete function.
+ (read_sp): Try TARGET_READ_SP and SP_REGNUM for the SP register.
+ * inferior.h (generic_target_read_sp): Delete declaration.
+ * frv-tdep.c (frv_gdbarch_init): Do not set read_sp to
+ generic_target_read_sp.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * sparc-tdep.c (sparc_gdbarch_init): Ditto
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * Makefile.in (mn10300-tdep.o, ia64-tdep.o): Update dependencies.
+
+2003-06-07 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Comment each field of startup_gdbarch.
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+2003-06-07 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (TARGET_READ_PC): Add predicate, remove default.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * regcache.c: Update comments on read_pc et.al.
+ (generic_target_read_pc): Delete function.
+ (read_pc_pid): Try TARGET_READ_PC and PC_REGNUM for a PC register.
+ * inferior.h (generic_target_read_pc): Delete declaration.
+ * frv-tdep.c (frv_gdbarch_init): Do not set read_pc to
+ generic_target_read_pc.
+ * sparc-tdep.c (sparc_gdbarch_init): Ditto.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+
+2003-06-07 Andrew Cagney <cagney@redhat.com>
+
+ * elfread.c (elf_symtab_read): Replace "special_local_sym_p" and
+ "index" with "special_local_sect". Use strcmp instead of STREQ.
+ Append period to coments.
+
+2003-06-06 Mark Mitchell <mark@codesourcery.com>
+
+ * elfread.c (elf_symtab_read): Avoid use of SECT_OFF_MAX.
+ (elfstab_offset_sections): Likewise.
+ * gdb-stabs.h (stab_section_info): Likewise.
+ * i386-interix-tdep.c (pei_adjust_objfile_offsets): Likewise.
+ * objfiles.c (objfile_relocate): Likewise.
+ * pa64solib.c (pa64_solib_add_solib_objfile): Likewise.
+ * remote.c (get_offsets): Likewise.
+ (remote_cisco_objfile_relocate): Likewise.
+ * somread.c (som_symfile_offsets): Likewise.
+ * symfile.c (alloc_section_addr_info): New function.
+ (build_section_addr_info_from_section_tab): Use it.
+ (free_section_addr_info): Adjust.
+ (default_symfile_offsets): Avoid use of SECT_OFF_MAX.
+ (syms_from_objfile): Allocate local_addr dynamically.
+ (symbol_file_add_with_addrs_or_offsets): Allocate orig_addrs
+ dynamically.
+ (add_symbol_file_command): Allocate sect_opts dynamically.
+ (reread_symbols): Avoid use of SECT_OFF_MAX.
+ * symfile.h (section_addr_info): Do not use MAX_SECTIONS.
+ (alloc_section_addr_info): Declare it.
+ * symtab.h (SIZEOF_SECTION_OFFSETS): Remove.
+ * win32-nat.c (solib_symbols_add): Allocate section_addrs
+ dynamically.
+ * xcoffread.c (xcoff_symfile_offsets): Avoid use of SECT_OFF_MAX.
+
+2003-06-06 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (struct d10v_unwind_cache): Delete "return_pc".
+ (d10v_frame_unwind_cache): Do not set "return_pc".
+
+2003-06-06 Michael Snyder <msnyder@redhat.com>
+
+ * h8300-tdep.c: Make tidy (long lines).
+
+2003-06-06 Michal Ludvig <mludvig@suse.cz>
+
+ * x86-64-tdep.c (x86_64_fill_fxsave): Pass correct regnums
+ to regcache_collect().
+
+2003-06-05 J. Brobecker <brobecker@gnat.com>
+
+ * hppa-hpux-tdep.c (hppa_hpux_init_abi): New function, setting
+ pc_in_sigtramp multiarch method.
+ (hppa_hpux_som_init_abi): Use it.
+ (hppa_hpux_elf_init_abi): Likewise.
+ * config/pa/tm-hppah.h (PC_IN_SIGTRAMP): Remove, now that this
+ macro has been multiarched.
+ * config/pa/tm-hppa64.h (PC_IN_SIGTRAMP): Temporarily set this
+ macro here, as hppa64 isn't multiarched yet.
+
+2003-06-05 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (value_h): Add $(frame_h).
+ * value.h: Include "frame.h".
+ (struct value): Replace "frame_addr" with "frame_id".
+ (VALUE_FRAME_ID): Replace VALUE_FRAME.
+ * values.c (allocate_value): Use VALUE_FRAME_ID.
+ (value_copy): Use VALUE_FRAME_ID.
+ * findvar.c (value_from_register): Use VALUE_FRAME_ID.
+ * valops.c (value_assign): Update. Use frame_find_by_id.
+
+2003-06-05 Michal Ludvig <mludvig@suse.cz>
+
+ * x86-64-tdep.c (x86_64_push_arguments): Don't clear offset
+ in each pass.
+
+2003-06-05 Jeff Johnston <jjohnstn@redhat.com>
+
+ * thread-db.c (check_event): For create/death event breakpoints,
+ loop through all messages to ensure that we read the message
+ corresponding to the breakpoint we are at.
+
+2003-06-04 Michael Snyder <msnyder@redhat.com>
+
+ * h8300-tdep.c (h8300_gdbarch_init): Add h8300hn, h8300sn.
+
+2003-06-04 Mark Kettenis <kettenis@gnu.org>
+
+ * dwarf2-frame.c (struct comp_unit): Add member `dbase'.
+ (read_encoded_value): Handle DW_EH_PE_datarel encoding.
+ (dwarf2_build_frame_info): Set base for DW_EH_PE_datarel encodings
+ when handling .eh_frame sections.
+
+2003-06-04 J. Brobecker <brobecker@gnat.com>
+
+ * config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Use the generic
+ prepare_to_proceed procedure instead of the hppa-specific one.
+ * hppa-tdep.c (hppa_prepare_to_proceed): Remove, no longer used.
+
+2003-06-04 Jeff Johnston <jjohnstn@redhat.com>
+
+ * acconfig.h: Add HAVE_TKILL_SYSCALL definition check.
+ * config.in: Regenerated.
+ * configure.in: Add test for syscall function and check for
+ __NR_tkill macro in <syscall.h> to set HAVE_TKILL_SYSCALL.
+ * configure: Regenerated.
+ * lin-lwp.c [HAVE_TKILL_SYSCALL]: Include <unistd.h> and
+ <sys/syscall.h>.
+ (kill_lwp): New function that uses tkill syscall or
+ uses kill, depending on whether threading model is nptl or not.
+ All callers of kill() changed to use kill_lwp().
+ (lin_lwp_wait): Make special check when WIFEXITED occurs to
+ see if all threads have already exited in the nptl model.
+ (stop_and_resume_callback): New callback function used by the
+ lin_lwp_wait thread exit handling code.
+ (stop_wait_callback): Check for threads already having exited and
+ delete such threads fromt the lwp list when discovered.
+ (stop_callback): Don't assert retcode of kill call.
+
+ Roland McGrath <roland@redhat.com>
+ * i386-linux-nat.c (ps_get_thread_area): New function needed by
+ nptl libthread_db.
+
+2003-06-03 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_next_pc): Use alpha_read_insn.
+ (alpha_sigtramp_frame_this_id): Use get_frame_memory.
+ (alpha_sigtramp_frame_prev_register): Likewise.
+ (alpha_heuristic_frame_prev_register): Likewise.
+ * alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Likewise.
+
+ * alpha-mdebug-tdep.c (alpha_mdebug_after_prologue): Use
+ alpha-specific register id names.
+ (alpha_mdebug_frame_unwind_cache): Likewise.
+ (alpha_mdebug_frame_prev_register): Likewise.
+
+2003-06-03 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_dwarf2_init_abi): New.
+ * alpha-tdep.h (alpha_dwarf2_init_abi): Declare it.
+ * alpha-linux-tdep.c (alpha_linux_init_abi): Use it.
+ * alphafbsd-tdep.c (alphafbsd_init_abi): Register dwarf2 and mdebug
+ unwind routines.
+ * alphanbsd-tdep.c (alphanbsd_init_abi): Likewise.
+ * config/alpha/fbsd.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
+ * config/alpha/nbsd.mt (TDEPFILES): Likewise.
+
+ * alpha-linux-tdep.c: Remove unnecessary includes.
+ * Makefile.in (alpha-linux-tdep.o): Update.
+
+2003-06-03 Richard Henderson <rth@redhat.com>
+
+ * alphabsd-tdep.c (alphabsd_supply_fpreg): Fix typo last change.
+ (alphabsd_fill_fpreg): Likewise.
+
+2003-06-03 J. Brobecker <brobecker@gnat.com>
+
+ * alphanbsd-tdep.c (alphanbsd_sigcontext_addr): Replace
+ references to struct frame_info fields by calls to the equivalent
+ accessors. Necessary now that frame_info is opaque.
+
+2003-06-03 J. Brobecker <brobecker@gnat.com>
+
+ * alphanbsd-tdep.c (alphanbsd_skip_sigtramp_frame): Delete.
+ (alphanbsd_init_abi): Do not set skip_sigtramp_frame in tdep
+ structure, field no longer exists.
+
+2003-06-03 J. Brobecker <brobecker@gnat.com>
+
+ * config/alpha/alpha-osf1.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
+ * alpha-osf1-tdep.c (alpha_osf1_init_abi): Enable the mdebug module.
+
+2003-06-03 J. Brobecker <brobecker@gnat.com>
+
+ * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Replace
+ references to struct frame_info fields by calls to the equivalent
+ accessors. Necessary now that frame_info is opaque.
+
+2003-06-03 J. Brobecker <brobecker@gnat.com>
+
+ * alpha-osf1-tdep.c (alpha_osf1_skip_sigtramp_frame): Delete.
+ (alpha_osf1_init_abi): Do not set skip_sigtramp_frame in tdep
+ structure, field no longer exists.
+
+2003-06-03 Theodore A. Roth <troth@openavr.org>
+
+ * remote.c (init_remote_state): Compute sizeof_g_packet by
+ accumulation of the size of all registers instead of blindly using
+ DEPRECATED_REGISTER_BYTES.
+
+2003-06-03 Michael Snyder <msnyder@redhat.com>
+
+ * config/h8300/tm-h8300.h (h8300sxmode): Declare.
+ * h8300-tdep.c (h8300_gdbarch_init): Set machine mode
+ for h8300sx.
+
+2003-06-03 J. Brobecker <brobecker@gnat.com>
+
+ * alpha-osf1-tdep.c (objfiles.h): #include, needed for symfile_objfile.
+ * Makefile.in (alpha-osf1-tdep.o): Update dependencies.
+
+2003-06-03 Andrew Cagney <cagney@redhat.com>
+
+ * sparc-tdep.c (sparc_convert_to_virtual): Delete function.
+ (sparc_convert_to_raw): Delete function.
+ (sparc_gdbarch_init): Do not set register_convert_to_raw or
+ register_convert_to_virtual.
+
+2003-06-03 Jeff Johnston <jjohnstn@redhat.com>
+
+ * thread-db.c (thread_db_mourn_inferior): Unpush thread target
+ layer if not dealing with a statically-linked threaded program.
+
+2003-06-03 Kris Warkentin <kewarken@qnx.com>
+
+ * solib.c (solib_open): Update comment to reflect actual search order.
+
+2003-06-03 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_frame_memory_signed): New function.
+ (get_frame_memory, get_frame_memory_unsigned): New function.
+ (get_frame_arch): New function.
+ * frame.h (get_frame_signed_memory, get_frame_arch): Declare.
+ (get_frame_memory, get_frame_unsigned_memory): Declare.
+ * d10v-tdep.c (d10v_frame_unwind_cache): Use
+ get_frame_memory_unsigned and get_frame_arch.
+ (d10v_frame_unwind_cache, saved_regs_unwinder): Ditto.
+
+2003-06-03 Raoul Gough <RaoulGough@yahoo.co.uk>
+
+ * MAINTAINERS (write after approval): Add myself.
+
+2003-06-03 Jim Blandy <jimb@redhat.com>
+
+ * s390-nat.c (supply_gregset, fill_gregset): On the s390x, the
+ elements of gregset_t are 64 bits each, but access registers
+ are still 32 bits, so they're packed two per gregset_t
+ element. Unpack/pack them properly.
+
+2003-06-02 David Carlton <carlton@bactrian.org>
+
+ * linespec.c (find_methods): Break out code into
+ add_matching_methods and add_constructors.
+ (add_matching_methods): New.
+ (add_constructors): Ditto.
+
+2003-06-02 Andrew Cagney <cagney@redhat.com>
+
+ * sparc-tdep.c (sparc_print_registers): Delete call to
+ REGISTER_CONVERTIBLE.
+ (sparc_gdbarch_init): Do not set register_convertible.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+
+2003-06-02 Elena Zannoni <ezannoni@redhat.com>
+
+ * target.h (TARGET_SYMFILE_POSTREAD): Delete unused macro.
+ * symfile.c (reread_symbols): Delete call to TARGET_SYMFILE_POSTREAD.
+ (syms_from_objfile): Ditto.
+
+2003-06-03 Andreas Schwab <schwab@suse.de>
+
+ * m68k-tdep.c (m68k_gdbarch_init): Use set_gdbarch_print_insn ...
+ (_initialize_m68k_tdep): ... instead of deprecated_tm_print_insn.
+
+2003-06-02 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_register_reggroup_p): Zero is only
+ a member of all_reggroup.
+
+2003-06-02 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_register_type): Change from _virtual_type.
+ (alpha_convert_flt_dbl, alpha_convert_dbl_flt): Remove.
+ (alpha_lds, alpha_sts): New.
+ (alpha_convert_register_p): Change from _register_convertible.
+ (alpha_register_to_value): Change from _convert_to_virtual;
+ restructure and fail for type sizes other than 4 or 8.
+ (alpha_value_to_register): Similarly.
+ (alpha_extract_return_value): Use alpha_sts.
+ (alpha_store_return_value): Use alpha_lds.
+ (alpha_gdbarch_init): Update hooks.
+
+2003-06-02 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_register_virtual_type): Use alpha-specific
+ regnum identifiers.
+ (alpha_sigtramp_register_address): Likewise.
+
+2003-06-02 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_supply_int_regs, alpha_fill_int_regs): New.
+ (alpha_supply_fp_regs, alpha_fill_fp_regs): New.
+ * alpha-tdep.h: Declare them.
+
+ * alpha-nat.c (fetch_osf_core_registers): Constify core_reg_mapping.
+ Remove zerobuf. Don't error on UNIQUE.
+ (fetch_elf_core_registers): Use alpha_supply_{int,fp}_regs.
+ (ALPHA_REGSET_UNIQUE): Provide default.
+ (supply_gregset): Use alpha_supply_int_regs.
+ (fill_gregset): Use alpha_fill_int_regs.
+ (supply_fpregset): Use alpha_supply_fp_regs.
+ (fill_fpregset): Use alpha_fill_fp_regs.
+ * alphabsd-tdep.c (NUM_GREGS, NUM_FPREGS): Remove.
+ (alphabsd_supply_reg): Use alpha_supply_int_regs.
+ (alphabsd_fill_reg): Use alpha_fill_int_regs.
+ (alphabsd_supply_fpreg): Use alpha_supply_fp_regs.
+ (alphabsd_fill_fpreg): Use alpha_fill_fp_regs.
+ * config/alpha/nm-linux.h (ALPHA_REGSET_UNIQUE): New.
+
+2003-06-02 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_store_return_value): Avoid switch fallthru.
+
+ * alpha-tdep.c (alpha_extract_return_value): Use internal_error.
+ (alpha_store_return_value): Likewise.
+
+2003-06-02 David Carlton <carlton@math.stanford.edu>
+
+ * block.c (contained_in): Add 'const' to arguments.
+ (block_function): Ditto.
+ * block.h: Update declarations for block_function and
+ contained_in.
+
+2003-06-02 David Carlton <carlton@math.stanford.edu>
+
+ * objc-lang.c (find_imps): Delete unneeded variable 'sym_symtab'.
+ * c-valprint.c (c_val_print): Delete unneeded variable 's'.
+ * p-valprint.c (pascal_val_print): Ditto.
+ * ada-lang.c (standard_lookup): Delete unneded variable 'symtab'.
+
+2003-06-02 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_push_dummy_call): Use
+ builtin_type_ieee_double_little instead of builtin_type_double.
+
+ * alpha-tdep.c (alpha_push_dummy_call): Handle ABI mandated
+ sign-extension of 32-bit values.
+ (alpha_store_return_value): Similarly.
+
+ * alpha-tdep.c (alpha_push_dummy_call): Handle COMPLEX types.
+ (alpha_extract_return_value): Likewise.
+ (alpha_store_return_value): Likewise.
+
+ * alpha-tdep.c (alpha_extract_return_value): Handle IEEE Quad floats.
+ (alpha_store_return_value): Error on IEEE Quad floats.
+
+ * alpha-tdep.c (alpha_extract_return_value): Convert to regcache.
+ (alpha_extract_struct_value_address): Likewise.
+ (alpha_store_return_value): Likewise.
+ (alpha_store_struct_return): Remove.
+ (alpha_gdbarch_init): Update hook registration to match.
+
+ * alpha-tdep.c (alpha_register_convert_to_virtual): Tidy use of
+ deprecated interfaces; use ALPHA_REGISTER_SIZE instead of gdbarch
+ macros where appropriate.
+ (alpha_register_convert_to_raw): Similarly. Use unpack_long.
+ (alpha_convert_flt_dbl, alpha_convert_dbl_flt): New.
+
+ * alpha-tdep.c (alpha_register_virtual_type): Use void_data_ptr
+ for SP, GP; void_func_ptr for PC; non-language-specific types
+ for all others.
+ * alpha-tdep.h (ALPHA_GP_REGNUM): New.
+
+2003-06-02 Richard Henderson <rth@redhat.com>
+
+ * top.h (lim_at_start): Declare.
+ * main.c (captured_main): Set it.
+ * top.c (lim_at_start): Define.
+ (command_loop): Use it instead of &environ.
+ * event-top.c (command_handler): Likewise.
+
+2003-06-01 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * mipsnbsd-tdep.c: Update copyright years.
+ (fetch_core_registers): Correct arguments to mipsnbsd_supply_fpreg.
+
+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (ALLDEPFILES): Add alpha-mdebug-tdep.c.
+ (alpha-linux-tdep.o): Update dependencies.
+ (alpha-nat.o, alpha-tdep.o, alpha-mdebug-tdep.o): Likewise.
+ * alpha-mdebug-tdep.c: Remove unneeded includes.
+
+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_register_reggroup_p): New.
+ (alpha_gdbarch_init): Register it.
+
+2003-06-02 Andrew Cagney <cagney@redhat.com>
+
+ * dwarfread.c: Eliminate "register"
+ (decode_die_type): Eliminate assignment within "if".
+ (struct_type, decode_array_element_type): Ditto.
+ (dwarf_read_array_type, read_tag_pointer_type): Ditto.
+ (read_subroutine_type, enum_type, add_enum_psymbol): Ditto.
+ (decode_modified_type, completedieinfo): Ditto.
+ * block.c: Eliminate "register".
+ (blockvector_for_pc_sect): Eliminate assignment within "if".
+ * cp-support.h (struct symbol): Opaque declaration.
+ * breakpoint.c (handle_gnu_v3_exceptions): Use xfree, not free.
+
+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_gdbarch_init): Use set_gdbarch_print_insn ...
+ (_initialize_alpha_tdep): ... not deprecated_tm_print_insn.
+
+2003-06-01 Adam Fedor <fedor@gnu.org>
+
+ * gdbarch.sh (function_list): Add FETCH_POINTER_ARGUMENT.
+ * gdbarch.[ch]: Regenerate.
+ * hppa-tdep.c (hppa_fetch_pointer_argument): New function.
+ (hppa_gdbarch_init): Set it in the gdbarch vector.
+ * i386-tdep.c (i386_fetch_pointer_argument): New
+ (i386_gdbarch_init): Set it into gdbarch.
+ * rs6000-tdep.c (rs6000_fetch_pointer_argument): New.
+ (rs6000_gdbarch_init): Set it in gdbarch.
+ * sparc-tdep.c (sparc_fetch_pointer_argument): New
+ (sparc_gdbarch_init): Set it in gdbarch.
+
+2003-06-01 Andrew Cagney <cagney@redhat.com>
+
+ * defs.h (extract_address): Delete declaration.
+ * findvar.c (extract_address): Delete function.
+ * xstormy16-tdep.c (xstormy16_extract_return_value): Replace
+ extract_address with the inline equivalent,
+ extract_unsigned_integer.
+ (xstormy16_extract_struct_value_address): Ditto.
+ (xstormy16_pointer_to_address): Ditto.
+ * vax-tdep.c (vax_extract_struct_value_address): Ditto.
+ * v850-tdep.c (v850_push_arguments): Ditto.
+ (v850_extract_return_value): Ditto.
+ (v850_extract_struct_value_address): Ditto.
+ * sparcnbsd-tdep.c (sparcnbsd_get_longjmp_target_32): Ditto.
+ (sparcnbsd_get_longjmp_target_64): Ditto.
+ * sparc-tdep.c (sparc_frame_saved_pc): Ditto.
+ (get_longjmp_target): Ditto.
+ * sh-tdep.c (sh_extract_struct_value_address): Ditto.
+ (sh64_extract_struct_value_address): Ditto.
+ (sh_push_arguments): Ditto.
+ (sh64_push_arguments): Ditto.
+ * remote-vxsparc.c (vx_read_register): Ditto.
+ * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Ditto.
+ * ns32k-tdep.c (ns32k_extract_struct_value_address): Ditto.
+ * mn10300-tdep.c (mn10300_extract_struct_value_address): Ditto.
+ * mipsv4-nat.c (get_longjmp_target): Ditto.
+ * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Ditto.
+ * mips-nat.c (get_longjmp_target): Ditto.
+ * mips-linux-tdep.c (mips_linux_get_longjmp_target): Ditto.
+ * mcore-tdep.c (mcore_extract_struct_value_address): Ditto.
+ * m68k-tdep.c (m68k_get_longjmp_target): Ditto.
+ * m68hc11-tdep.c (m68hc11_extract_struct_value_address): Ditto.
+ * irix5-nat.c (get_longjmp_target): Ditto.
+ * irix4-nat.c (get_longjmp_target): Ditto.
+ * ia64-tdep.c (generic_elf_find_global_pointer): Ditto.
+ (ia64_push_arguments): Ditto.
+ * hpux-thread.c (hpux_thread_store_registers): Ditto.
+ * h8300-tdep.c (h8300_push_arguments): Ditto.
+ (h8300_store_return_value): Ditto.
+ (h8300_extract_struct_value_address): Ditto.
+ * frv-tdep.c (frv_extract_struct_value_address): Ditto.
+ (frv_push_arguments): Ditto.
+ * avr-tdep.c (avr_pointer_to_address): Ditto.
+ (avr_push_arguments): Ditto.
+ * arm-tdep.c (arm_push_dummy_call): Ditto.
+ (arm_get_longjmp_target): Ditto.
+ * arm-linux-tdep.c (arm_linux_push_arguments): Ditto.
+ * alpha-tdep.c (alpha_extract_struct_value_address): Ditto.
+ (alpha_get_longjmp_target): Ditto.
+
+ * solib-irix.c (extract_mips_address): Inline extract_address,
+ replacing it with extract_signed_integer.
+ * solib-svr4.c (SOLIB_EXTRACT_ADDRESS): Ditto.
+ (LM_NAME, IGNORE_FIRST_LINK_MAP_ENTRY): Ditto.
+ (first_link_map_member, open_symbol_file_object): Ditto.
+ (svr4_fetch_objfile_link_map, svr4_fetch_objfile_link_map): Ditto.
+ * solib-sunos.c (SOLIB_EXTRACT_ADDRESS): Ditto.
+ (LM_NEXT, LM_NAME): Ditto.
+
+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.h (ALPHA_FP_REGNUM): Remove.
+ * alpha-tdep.c (alpha_register_name): Remove vfp entry.
+ (alpha_cannot_fetch_register): Remove ALPHA_FP_REGNUM.
+ (alpha_cannot_store_register): Likewise.
+ * alphabsd-nat.c (fetch_inferior_registers): Don't set FP_REGNUM.
+ * alpha-nat.c (supply_gregset): Likewise.
+ * alphanbsd-tdep.c (fetch_core_registers): Likewise.
+
+2003-06-01 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): Update comment on
+ DEPRECATED_DUMMY_WRITE_SP.
+
+ * mips-tdep.c (mips_gdbarch_init): Do not set
+ deprecated_dummy_write_sp.
+ (mips_eabi_push_dummy_call): Set the SP register.
+ (mips_o64_push_dummy_call): Set the SP register.
+ (mips_o32_push_dummy_call): Set the SP register.
+ (mips_n32n64_push_dummy_call): Set the SP register.
+
+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * alpha-nat.c (fetch_osf_core_registers): Use ALPHA_REGISTER_SIZE
+ instead of ALPHA_MAX_REGISTER_RAW_SIZE.
+ (supply_gregset): Likewise.
+ * alpha-tdep.c (alpha_store_return_value): Likewise.
+ (alpha_get_longjmp_target): Likewise.
+ (alpha_register_name): Constify array.
+ (alpha_gdbarch_init): Remove deprecated_fp_regnum,
+ deprecated_register_size, deprecated_register_bytes,
+ deprecated_max_register_raw_size, deprecated_max_register_virtual_size.
+ * alpha-tdep.h (ALPHA_MAX_REGISTER_RAW_SIZE): Remove.
+ (ALPHA_MAX_REGISTER_VIRTUAL_SIZE): Remove.
+
+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_push_dummy_call): Store sp. Tidy copies
+ from arg_reg_buffer to regcache to avoid double conversion.
+
+2003-06-01 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-linux-nat.c (child_resume): Use I386_ESP_REGNUM instead of
+ SP_REGNUM.
+ * i386-linux-tdep.c (i386_linux_sigcontext_addr): Likewise.
+ * i386bsd-tdep.c (i386bsd_sigcontext_addr): Likewise.
+
+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * dwarf2-frame.c (struct dwarf2_cie): Add saw_z_augmentation.
+ (decode_frame_entry): Set it. Skip FDE augmentation.
+
+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * dwarf2-frame.c (dwarf2_frame_cache): Handle retaddr_column
+ not overlapping PC_REGNUM.
+
+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_push_dummy_call): Transmography from
+ alpha_push_arguments. Don't dump argument register data to
+ the target stack. Fix float and 128-bit long double semantics.
+ Store $t12 and $ra as specified by the ABI. Use regcache everywhere.
+ (alpha_fix_call_dummy): Remove.
+ (alpha_call_dummy_words): Remove.
+ (alpha_gdbarch_init): Kill deprecated call hooks; add push_dummy_call.
+
+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * alpha-linux-tdep.c (alpha_linux_init_abi): Install dwarf2 unwinder.
+
+2003-06-01 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (is_mips16_addr): New function.
+ (make_mips16_addr, unmake_mips16_addr): New functions.
+ (pc_is_mips16, mips_fetch_instruction): Use.
+ (gdb_print_insn_mips, mips_breakpoint_from_pc): Use.
+ (gdb_print_insn_mips): Eliminate TM_PRINT_INSN_MACH.
+ (mips_dump_tdep): Delete print of TM_PRINT_INSN_MACH,
+ UNMAKE_MIPS16_ADDR, MAKE_MIPS16_ADDR, IS_MIPS16_ADDR and
+ TARGET_MIPS.
+ * config/mips/tm-mips.h: Update copyright.
+ (TARGET_MIPS, TM_PRINT_INSN_MACH): Delete.
+ (DEPRECATED_REGISTER_SIZE, DEPRECATED_REGISTER_BYTES): Delete.
+ (IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR): Delete.
+ * config/mips/tm-irix6.h (DEPRECATED_REGISTER_BYTES): Delete.
+ (TM_PRINT_INSN_MACH): Delete.
+ * config/mips/tm-irix5.h (DEPRECATED_REGISTER_BYTES): Delete.
+
+ * configure.tgt: Replace mips64*vr4xxx*el-*-elf*,
+ mips64*vr4xxx*-*-elf*, mips64*vr4300*el-*-elf*,
+ mips64*vr4300*-*-elf*, mips64*vr4100*el-*-elf*,
+ mips64*vr4100*-*-elf*, mips64*vr5000*el-*-elf*, and
+ mips64*vr5000*-*-elf* with mips64 mips64*vr*-*-elf*. Delete
+ mips*tx39*el*-elf*. Map mips*-sony-* and mips64*-big-* onto
+ mips64. Map mips*-dec-*, mips*-big-*, mips*-little-*,
+ mips*-*-riscos* and mips*-*-sysv* onto mips.
+ * config/mips/mips64.mt: New file.
+ * config/mips/mips.mt: New file.
+ * config/mips/littlemips.mt: Delete file.
+ * config/mips/decstation.mt: Delete file.
+ * config/mips/vr4300el.mt: Delete file.
+ * config/mips/vr5000el.mt: Delete file.
+ * config/mips/vr5000.mt: Delete file.
+ * config/mips/vr4100.mt: Delete file.
+ * config/mips/vr4xxxel.mt: Delete file.
+ * config/mips/vr4300.mt: Delete file.
+ * config/mips/vr4xxx.mt: Delete file.
+ * config/mips/bigmips.mt: Delete file.
+ * config/mips/bigmips64.mt: Delete file.
+ * config/mips/tx39l.mt (TM_FILE): Set to "tm-tx39.h".
+ * config/mips/embedl64.mt (TM_FILE): Set to "tm-mips64.h".
+ * config/mips/embed64.mt (TM_FILE): Set to "tm-mips64.h"
+ * config/mips/embedl.mt (TM_FILE): Set to "tm-mips.h".
+ * config/mips/tm-tx39.h: Include "tm-mips.h" instead of
+ "tm-bigmips.h".
+ * config/mips/tm-irix3.h: Ditto.
+ * config/mips/tm-mipsv4.h: Ditto.
+ * config/mips/tm-embed.h: Ditto.
+ * config/mips/tm-irix6.h: Include "tm-mips64.h" instead of
+ "tm-bigmips64.h".
+ * config/mips/tm-vr5000el.h: Delete file.
+ * config/mips/tm-tx39l.h: Delete file.
+ * config/mips/tm-vr4300el.h: Delete file.
+ * config/mips/tm-vr4xxxel.h: Delete file.
+ * config/mips/tm-vr4300.h: Delete file.
+ * config/mips/tm-vr4100.h: Delete file.
+ * config/mips/tm-vr4xxx.h: Delete file.
+ * config/mips/tm-vr5000.h: Delete file.
+ * config/mips/tm-embedl64.h: Delete file.
+ * config/mips/tm-embedl.h: Delete file.
+ * config/mips/tm-embed64.h: Delete file.
+ * config/mips/tm-bigmips64.h: Delete file.
+ * config/mips/tm-bigmips.h: Delete file.
+
+2003-06-01 Mark Kettenis <kettenis@gnu.org>
+
+ Fix gdb/1216.
+ * shnbsd-nat.c: Include "sh-tdep.h".
+
+ From Richard Henderson <rth@redhat.com>:
+ * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Fix ptr arithmetic.
+
+2003-05-31 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (set_reg_offset): Add saved_regs parameter. Add
+ forward declaration.
+ (mips16_heuristic_proc_desc): Pass temp_saved_regs.
+ (mips16_heuristic_proc_desc): Pass temp_saved_regs.
+ (mips_find_saved_regs): Use set_reg_offset.
+ (mips_frame_init_saved_regs): Delete function.
+ (mips_pop_frame): Call mips_find_saved_regs instead of
+ DEPRECATED_FRAME_INIT_SAVED_REGS.
+
+2003-05-31 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (mips_gdbarch_init): Do not set
+ deprecated_max_register_raw_size, register_virtual_size, and
+ deprecated_max_register_virtual_size.
+
+2003-05-31 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c: Include "dwarf2-frame.h".
+ (i386_gdbarch_init): Hook in the DWARF CFI frame unwinder.
+ * Makefile.in (i386-tdep.o): Update dependencies.
+
+ * dwarf2-frame.c, dwarf2-frame.h: New files.
+ * Makefile.in (SFILES): Add dwarf2-frame.c.
+ (dwarf2_frame_h): Define.
+ (COMMON_OBS): Add dwarf2-frame.o.
+ (dwarf2-frame.o): Add dependencies.
+
+2003-05-31 Andreas Jaeger <aj@suse.de>
+
+ * x86-64-linux-nat.c: Fix comment.
+
+2003-05-31 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (x86_64_push_dummy_call): Adjust for changed
+ function signature.
+
+ * i386-tdep.c (i386_sigtramp_frame_p): Only handle frames if we
+ have a sigcontext_addr handler.
+ * x86-64-tdep.c (x86_64_sigtramp_frame_p): Assert that we have a
+ sigcontext_addr handler.
+
+2003-05-31 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (print_gp_register_row): Replace do_gp_register_row.
+ (print_fp_register_row): Replace do_fp_register_row.
+ (mips_print_fp_register): Add "file" and "frame" parameters.
+ (mips_print_register): Add "file" and "frame" parameters.
+ (mips_print_registers_info): Replace mips_do_registers_info.
+ (mips_gdbarch_init): Set print_registers_info instead of
+ deprecated_do_registers_info.
+ (mips_read_fp_register_single): Add "frame" parameter.
+ (mips_read_fp_register_double): Add "frame" parameter.
+
+2003-05-31 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_register_name): Check for MMX registers first.
+ Fixes a bug where GDB would print the wrong register names for
+ targets without SSE.
+
+ * x86-64-tdep.c (X86_64_NUM_SAVED_REGS): Set to X86_64_NUM_GREGS.
+ (x86_64_sigtramp_frame_cache): Use `sc_reg_offset' to find saved
+ registers.
+
+ * x86-64-linux-tdep.c (x86_64_linux_sc_reg_offset): New variable.
+ (x86_64_linux_init_abi): Initialize TDEP->sc_reg_offset and
+ TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+ TDEP->sc_sp_offset.
+
+ From Michal Ludvig <mludvig@suse.cz>:
+ * i386-tdep.h (struct gdbarch_tdep): Add members `sc_reg_offset'
+ and `sc_num_regs'.
+ (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM,
+ I386_EBP_REGNUM, I386_EIP_REGNUM, I386_EFLAGS_REGNUM,
+ I386_ST0_REGNUM): Move here from...
+ * i386-tdep.c: ... here.
+ (I386_NUM_SAVED_REGS): Define to I386_NUM_REGS.
+ (i386_sigtramp_frame_cache): Use `sc_reg_offset' to find saved
+ registers if possible.
+ (i386_gdbarch_init): Initialize TDEP->sc_reg_offset.
+ * i386bsd-tdep.c (i386bsd_sc_pc_offset, i386bsd_sc_sp_offset):
+ Remove variables.
+ (i386bsd_sc_reg_offset): New variable.
+ (i386bsd_init_abi): Initialize TDEP->sc_reg_offset and
+ TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+ TDEP->sc_sp_offset.
+ (i386fbsd_sc_reg_offset): New variable.
+ (i386fbsdaout_init_abi): Initialize TDEP->sc_reg_offset and
+ TDEP->sc_num_regs.
+ (i386fbsd4_sc_pc_offset, i386fbsd4_sc_sp_offset): Remove
+ variables.
+ (i386fbsd4_sc_reg_offset): New variable.
+ (i3864bsd4_init_abi): Initialize TDEP->sc_reg_offset and
+ TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+ TDEP->sc_sp_offset.
+ * i386-linux-tdep.c (i386_linux_sc_reg_offset): New variable.
+ (i386_linux_init_abi): Set TDEP->sc_reg_offset and TDEP->sc_num_regs.
+ * i386nbsd-tdep.c (i386nbsd_sc_pc_offset, i386nbsd_sc_sp_offset):
+ Remove variables.
+ (i386nbsd_sc_reg_offset): New variable.
+ (i386nbsd_init_abi): Initialize TDEP->sc_reg_offset and
+ TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+ TDEP->sc_sp_offset.
+ * i386obsd-tdep.c (i386obsd_sc_pc_offset, i386obsd_sc_sp_offset):
+ Remove variables.
+ (i386obsd_sc_reg_offset): New variable.
+ (i386obsd_init_abi): Initialize TDEP->sc_reg_offset and
+ TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+ TDEP->sc_sp_offset.
+ * i386bsd-nat.c (_initialize_i386bsd_nat): Adjust for changes in
+ i386bsd-tdep.c, i386nbsd-tdep.c and i386obsd-tdep.c. Add check
+ for frame pointer offset in `struct sigcontext'.
+
+2003-05-31 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (mips_gdbarch_init): Do not set the deprecated
+ architecture methods call_dummy_words, sizeof_call_dummy_words,
+ push_return_address, store_struct_return, and fix_call_dummy. Set
+ push_dummy_call instead of deprecated_push_arguments.
+ (mips_store_struct_return): Delete function.
+ (mips_fix_call_dummy): Delete function.
+ (mips_push_return_address): Delete function.
+ (mips_eabi_push_dummy_call): Replace mips_eabi_push_arguments, set
+ RA_REGNUM and T9_REGNUM.
+ (mips_n32n64_push_dummy_call): Ditto for
+ mips_n32n64_push_arguments.
+ (mips_o32_push_dummy_call): Ditto for mips_o32_push_arguments.
+ (mips_o64_push_dummy_call): Ditto for mips_o64_push_arguments.
+
+2003-05-31 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (PUSH_DUMMY_CALL): Add "func_addr" parameter. Rename
+ "dummy_addr" to "bp_addr".
+ * infcall.c (call_function_by_hand): Pass "funaddr" to
+ gdbarch_push_dummy_call.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * i386-tdep.c (i386_push_dummy_call): Update.
+ * arm-tdep.c (arm_push_dummy_call): Update.
+ * d10v-tdep.c (d10v_push_dummy_call): Update.
+
+2003-05-31 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.h (x86_64_num_regs, x86_64_num_gregs): Remove
+ variable declarations.
+ (x86_64_register_number, x86_64_register_name): Remove prototypes.
+ (x86_64_linux_frame_saved_pc, x86_64_linux+saved_pc_after_call,
+ x86_64_linux_in_sigtramp, x86_64_linux_frame_chain,
+ x86_64_init_frame_pc, x86_64_init_frame_pc,
+ x86_64_function_has_prologue): Remove prototypes.
+ (X86_64_NUM_GREGS): New define.
+ (x86_64_supply_fxsave, x86_64_fill_fxsave): New prototypes.
+ * x86-64-tdep.c: Don't include "dwarf2cfi.h". Include
+ "dummy_frame.h", "frame.h", "frame-base.h", "frame-unwind.h".
+ (RAX_REGNUM, RDX_REGNUM, RDI_REGNUM, EFLAGS_REGNUM, ST0_REGNUM,
+ XMM1_REGNUM): Remove defines.
+ (X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, X86_64_RDI_REGNUM,
+ X86_64_RBP_REGNUM, X86_64_RSP_REGNUM, X86_64_RIP_REGNUM,
+ X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM, X86_64_XMM0_REGNUM,
+ X86_64_XMM1_REGNUM): New defines.
+ (struct x86_64_register_info): Renamed from `struct
+ register_info'. Remove `size' member.
+ (x86_64_register_info_table): Remove variable.
+ (x86_64_register_info): New variable.
+ (X86_64_NUM_REGS): New define.
+ (X86_64_NUM_GREGS): Remove define.
+ (x86_64_num_regs, x86_64_num_gregs): Remove variables.
+ (x86_64_dwarf2gdb_regno_map, x86_64_dwarf2gdb_regno_map_length):
+ Remove variables.
+ (x86_54_dwarf2_reg_to_regnum): Remove function.
+ (x86_64_dwarf_regmap, x86_64_dwarf_regmap_len): New variables.
+ (x86_64_dwarf_reg_to_regnum): New function.
+ (x86_64_register_name): Rewrite.
+ (x86_64_register_raw_size): Remove function.
+ (x86_64_register_byte_table): Remove variable.
+ (x86_64_register_byte): Remove function.
+ (x86_64_register_virtual_type): Remove function.
+ (x86_64_register_type): New function.
+ (x86_64_register_convertible, x86_64_register_convert_to_virtual,
+ x86_64_register_convert_to_raw): Remove functions.
+ (x86_64_push_return_address, x86_64_pop_frame): Remove functon.
+ (x86_64_use_struct_convention): Make static. Adjust for renamed
+ defines.
+ (x86_64_frame_init_saved_regs): Remove function.
+ (x86_64_push_arguments): Make static. Change to accept a regcache
+ as argument.
+ (x86_64_store_return_value, x86_64_extract_return_value): Make
+ static. Rewrite based on i386 counterparts.
+ (x86_64_push_dummy_call): New function.
+ (X86_64_NUM_SAVED_REGS): New define.
+ (x86_64_register_number): Remove function.
+ (x86_64_store_struct_return): Remove function.
+ (x86_64_frameless_function_invocation,
+ x86_64_function_has_prologue): Remove functions.
+ (PROLOG_BUFSIZE): Remove define.
+ (struct x86_64_frame_cache): New structure.
+ (x86_64_alloc_frame_cache, x86_64_analyze_prologue,
+ x86_64_frame_cache, x86_64_frame_this_id,
+ x86_64_frame_prev_register, x86_64_frame_p,
+ x86_64_sigtramp_frame_cache, x86_64_sigtramp_frame_this_id,
+ x86_64_sigtramp_frame_prev_register, x86_sigtramp_frame_p): New
+ functions.
+ (x86_64_frame_unwind, x86_64_sigtramp_frame_unwind): New
+ variables.
+ (x86_64_skip_prologue): Rewrite in terms of
+ x86_64_analyze_prologue.
+ (x86_64_frame_base_address): New function.
+ (x86_64_frame_base): New variable.
+ (x86_64_save_dummy_frame_tos, x86_64_unwind_dummy_id): Rewrite.
+ (x86_64_init_abi): Set register_type and push_dummy_call. Don't
+ set deprecated_fp_regnum, deprecated_register_size,
+ deprecated_register_bytes, register_raw_size, register_byte,
+ register_virtual_type, register_convertiable,
+ register_convert_to_virtual, convert_to_raw,
+ deprecated_get_saved_register, deprecated_target_read_fp,
+ deprecated_push_arguments, deprecated_push_return_address,
+ deprecated_pop_frame, deprecated_store_struct_return,
+ deprecated_frame_init_saved_regs, deprecated_frame_chain,
+ frameless_function_invocation, deprecated_frame_saved_pc,
+ deprecated_saved_pc_after_call, frame_num_args, pc_in_sigtramp,
+ dwarf2_build_frame_info, deprecated_init_extra_frame_info,
+ deprecated_init_frame_pc and virtual_frame_pointer. Call
+ frame_unwind_append_predicate to register x86_64_sigtramp_frame_p
+ and x86_64_frame_p. Call frame_base_set_default to register
+ x86_64_frame_base.
+ (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): New defines.
+ (x86_64_supply_fxsave, x86_64_fill_fxsave): New functions.
+ (_initialize_x86_64_tdep): Remove function.
+ * x86-64-linux-tdep.c: Don't include "dwarf2cfi.h".
+ (LINUX_SIGINFO_SIZE, LINUX_UCONTEXT_SIGCONTEXT_OFFSET,
+ LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_FP_OFFSET): Don't
+ define.
+ (X86_64_LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Define.
+ (x86_64_linux_sigcontext_addr): Rewrite.
+ (x86_64_linux_sigtramp_saved_pc, x86_64_linux_saved_pc_after_call,
+ x86_64_linux_frame_saved_pc): Remove functions.
+ (x86_64_linux_pc_in_sigtramp): Renamed from
+ x86_64_linux_in_sigtramp. Try harder to recognize a signal
+ trampoline.
+ (x86_64_linux_frame_chain, x86_64_init_frame_pc):
+ Remove_functions.
+ (x86_64_linux_init_abi): Set pc_in_sigtramp. Initialize
+ TDEP->sigcontext_addr, TDEP->sc_pc_offset and TDEP->sc_sp_offset.
+ * x86-64-linux-nat.c: Sync with i386-linux-tdep.c.
+ (x86_64_regmap): Rename to regmap.
+ (GETREGS_SUPPLIES): Use X86_64_NUM_GREGS instead of
+ x86_64_num_gregs.
+ (supply_gregset, fill_gregset): Likewise. Use regmap instead of
+ x86_64_regmap.
+ (x86_64_fxsave_offset): Remove function.
+ (supply_fpregset): Simply call x86_64_supply_fxsave.
+ (fill_fpregset): Simply call x86_64_fill_fxsave.
+ (fetch_inferior_registers, store_inferior_registers): Avoid
+ asignment in if-statement.
+ (LINUX_SYSCALL_LEN, LINUX_SYSCALL_REGNUM, SYS_Sigreturn,
+ SYS_rt_sigreturn, LINUX_SIGCONTEXT_EFLAGS_OFFSET,
+ LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Remove defines.
+ (fetch_core_registers): Remove function.
+ (linux_elf_core_fns): Remove.
+ (offsetoff): Don't define.
+ (_initialize_x86_64_linux_nat, kernel_u_size): Remove functions.
+ * config/i386/x86-64linux.mt (TDEPFILES): Add i386-linux-tdep.o.
+ * config/i386/x86-64linux.mh (NATDEPFILES): Remove core-aout.o,
+ add core-regset.o.
+ * config/i386/nm-x86-64linux.h: Use NM_X86_64_LINUX_H for
+ protection against multiple includes instead of NM_X86_64_h. Add
+ various comments. Include "config/nm-linux.h". Don't include
+ <signal.h>.
+ (REGISTER_U_ADDR, KERNEL_U_SIZE, U_REGS_OFFSET, KERN_U_ADDR,
+ GET_THREAD_SIGNALS): Remove defines.
+ (x86_64_register_u_addr, kernel_u_size,
+ lin_thread_get_thread_signals): Remove prototypes.
+ (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define to `long'.
+ [HAVE_LINK_H]: Don't include "solib.h".
+ [HAVE_LINK_H] (SVR4_SHARED_LIBS): Remove define.
+ * config/i386/tm-x86-64linux.h: Fix comments.
+ * Makefile.in (x86-64-linux-nat.o, x86_64-linux-tdep.o,
+ x86-64-tdep.o): Update dependencies.
+
+2003-05-30 Andrew Cagney <cagney@redhat.com>
+
+ * config/sparc/tm-sparc.h (sparc_extract_struct_value_address):
+ Change parameter type to a "struct regcache *".
+
+ * gdbarch.sh: Regardless of the multi-arch level, always define
+ the macro when not already defined.
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+2003-05-30 Richard Henderson <rth@redhat.com>
+
+ * alpha-mdebug-tdep.c (alpha_mdebug_frame_p): Reject prologues.
+ (alpha_mdebug_frame_unwind_cache): Don't call the heuristic unwinder.
+ (alpha_mdebug_frame_this_id): Likewise.
+ (alpha_mdebug_frame_prev_register): Likewise.
+ (alpha_mdebug_frame_base_address): Likewise.
+ (alpha_mdebug_frame_locals_address): Likewise.
+ (alpha_mdebug_frame_args_address): Likewise.
+ (struct alpha_mdebug_unwind_cache): Remove in_prologue_cache.
+ * alpha-tdep.c (alpha_heuristic_proc_start): Use get_pc_function_start.
+ (alpha_heuristic_frame_unwind_cache): Make static; add missing
+ loop increment.
+ (alpha_heuristic_frame_this_id): Make static.
+ (alpha_heuristic_frame_prev_register): Likewise.
+ (alpha_heuristic_frame_base_address): Likewise.
+ * alpha-tdep.h: Update.
+
+2003-05-30 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.h (i386bsd_sigcontext_addr): Remove prototype.
+ (I386_SIZEOF_GREGS, I386_SIZEOF_FREGS, I386_SIZEOF_XREGS): Remove
+ defenitions.
+ (IS_FP_REGNUM, IS_SSE_REGNUM): Remove definitions.
+ * i386-tdep.c: Mark functions that are 64-bit safe as such.
+ (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM,
+ I386_EBP_REGNUM, I386_EIP_REGNUM, I386_EFLAGS_REGNUM,
+ I386_ST0_REGNUM): New defines.
+ (CODESTREAM_BUFSIZ, codestream_tell, codestream_peek,
+ codestream_get): Remove define.
+ (codestream_next_addr, condestream_addr, condestream_buf,
+ codestream_off, codestream_cnt): Remove variables.
+ (codestream_fill, codestream_seek, codestream_read): Remove
+ functions.
+ (i386_follow_jump): Rewrite to avoid usage of removed codestream
+ functionality.
+ (i386_get_frame_setup, i386_frameless_signal_p, i386_frame_chain,
+ i386_sigtramp_saved_pc, i386_sigtramp_saved_sp,
+ i386_frame_saved_pc, i386_saved_pc_after_call,
+ i386_frame_num_args, i386_frame_init_saved_regs,
+ i386_push_return_address, i386_do_pop_frame, i386_pop_frame,
+ i386_push_arguments): Remove functions.
+ (i386_skip_prologue): Rewrite to avoid usage of removed codestream
+ functionality. Use i386_analyze_prologue instead of
+ i386_get_frame_setup.
+ (I386_NUM_SAVED_REGS): New define.
+ (struct i386_frame_cache): New structure.
+ (i386_alloc_frame_cache, i386_analyze_struct_return,
+ i386_skip_probe, i386_analyze_frame_setup,
+ i386_analyze_register_saves, i386_analyze_prologue,
+ i386_unwind_pc, i386_frame_cache, i386_frame_this_id,
+ i386_frame_prev_register, i386_sigtramp_frame_cache,
+ i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register,
+ i386_frame_p, i386_sigtramp_frame_p, i386_frame_base_address,
+ i386_unwind_dummy_id, i386_save_dummy_tos, i386_push_dummy_call):
+ New functions.
+ (i386_frame_unwind, i386_sigtramp_frame_unwind, i386_frame_base):
+ New variables.
+ (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): Define in terms of
+ I386_EAX_REGNUM and I386_EDX_REGNUM.
+ (i386_extract_return_value, i386_store_return_value): Use
+ I386_ST0_REGNUM where appropriate.
+ (i386_extract_struct_value_address): Rewrite to use extract_address.
+ (i386_svr4_pc_in_sigtramp): Add comment.
+ (i386_svr4_sigcontext_addr): Rewrite.
+ (i386_svr4_init_abi): Adjust TDEP->sc_pc_offset and
+ TDEP->sc_sp_offset.
+ (i386_gdbarch_init): Don't set deprecated_init_frame_pc. Set
+ sp_regnum, fp_regnum, pc_regnum, ps_regnum and fp0_regnum in terms
+ of new defines. Set push_dummy_call, don't set
+ deprecated_push_arguments, deprecated_push_return_address,
+ deprecated_pop_frame. Don't set parm_boundary. Don't set
+ deprecated_frame_chain, deprecated_frame_saved_pc,
+ deprecated_saved_pc_after_call. Set unwind_dummy_id,
+ save_dummy_frame_tos, unwind_pc. Call
+ frame_unwind_append_predicate and frame_base_set_default. Don't
+ set deprecated_dummy_write_pc. Don't set deprecated_fp_regnum.
+ Don't set frameless_function_invocation. Don't set
+ deprecated_register_bytes, deprecated_register_size,
+ deprecated_call_dummy_words and deprecated_sizeof_call_dummy.
+ * i386-linux-tdep.c: Fix formatting in some comments.
+ (LINUX_SIGTRAMP_INSN0, LINUX_SIGTRAMP_OFFSET0,
+ LINUX_SIGTRAMP_INSN1, LINUX_SIGTRAMP_OFFSET1,
+ LINUX_SIGTRAMP_INSN2, LINUX_SIGTRAMP_OFFSET2,
+ LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0,
+ LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1): Drop
+ redundant parentheses.
+ (I386_LINUX_UCONTEXT_SIGCONTEXT_OFFSET): New define.
+ (i386_linux_sigcontext_addr): Use it. Rewrite.
+ (find_minsym_and_objfile): Change name of second argument.
+ (skip_gnu_resolver): Renamed from skip_hurd_resolver. All callers
+ changed. Use frame_pc_unwind instead of
+ DEPRECATED_SAVED_PC_AFTER_CALL.
+ (i386_linux_init_abi): Don't set deprecated_register_bytes.
+ * i386bsd-tdep.c (i386bsd_sigcontext_addr): Rewrite.
+ * i386-nto-tdep.c (i386nto_sigcontext_addr): Adapt for new frame
+ unwinder.
+ * i386-cygwin-tdep.c: Don't include "gdbcore.h", "frame.h" and
+ "dummy-frame.h".
+ (i386_cygwin_frame_chain_valid, i386_cygwin_frame_chain): Removed.
+ (_initialize_i386_cygwin_tdep): New prototype.
+ (i386_cygwin_init_abi): Don't set deprecated_frame_chain and
+ deprecated_frame_chain_valid.
+ * i386-sol2-tdep.c (i386_sol2_init_abi): Don't set
+ TDEP->sigcontext_addr, TDEP->sc_pc_offset and TDEP->sc_sp_offset.
+ Rely on the SVR4 defaults.
+ * config/i386/i386sol2.mt (TDEPFILES): Remove i386bsd-tdep.o.
+ * Makefile.in (i386-tdep.o, i386-cygwin-tdep.o): Update dependencies.
+
+2003-05-30 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): Always call
+ DEPRECATED_FIX_CALL_DUMMY, even for AT_ENTRY_POINT case.
+
+2003-05-30 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Fix loop
+ increment.
+
+2003-05-29 Jim Blandy <jimb@redhat.com>
+
+ Use gdbarch methods for solib stuff on PowerPC Linux.
+ * config/powerpc/tm-linux.h (IN_SOLIB_CALL_TRAMPOLINE,
+ SKIP_TRAMPOLINE_CODE): #undef these, so the gdbarch methods will
+ show through.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Register
+ IN_SOLIB_CALL_TRAMPOLINE and SKIP_TRAMPOLINE_CODE methods here,
+ giving the same effect as the #definitions above.
+
+2003-05-29 Adam Fedor <fedor@gnu.org>
+
+ * objc-lang.c (CONVERT_FUNCPTR): Remove macro
+ (find_implementation_from_class): Replace it with the standard
+ case i.e. do nothing.
+
+2003-05-29 Richard Henderson <rth@redhat.com>
+
+ * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): New.
+ (alpha_linux_sigtramp_offset): Use it. Make static.
+ (alpha_linux_sigcontext_addr): Handle __NR_rt_sigreturn;
+ update for new frame model.
+ * alpha-mdebug-tdep.c: New file.
+ * alpha-osf1-tdep.c (alpha_call_dummy_address): Move from alpha-tdep.c.
+ (alpha_osf1_init_abi): Install it.
+ * alpha-tdep.c (PROC_*): Move to alpha-mdebug-tdep.c.
+ (linked_proc_desc_table): Remove.
+ (alpha_frame_past_sigtramp_frame): Remove.
+ (alpha_dynamic_sigtramp_offset): Remove.
+ (ALPHA_PROC_SIGTRAMP_MAGIC): Remove.
+ (alpha_proc_desc_is_dyn_sigtramp): Remove.
+ (alpha_set_proc_desc_is_dyn_sigtramp): Remove.
+ (push_sigtramp_desc): Remove.
+ (alpha_cannot_fetch_register): Use ALPHA_FP_REGNUM.
+ (alpha_cannot_store_register): Likewise.
+ (alpha_sigcontext_addr): Remove.
+ (alpha_find_saved_regs): Remove.
+ (alpha_frame_init_saved_regs): Remove.
+ (alpha_init_frame_pc_first): Remove.
+ (read_next_frame_reg): Remove.
+ (alpha_frame_saved_pc): Remove.
+ (alpha_saved_pc_after_call): Remove.
+ (temp_proc_desc, temp_saved_regs): Remove.
+ (alpha_about_to_return): Remove.
+ (cached_proc_desc): Remove.
+ (alpha_frame_chain): Remove.
+ (alpha_print_extra_frame_info): Remove.
+ (alpha_init_extra_frame_info): Remove.
+ (alpha_frame_locals_address): Remove.
+ (alpha_frame_args_address): Remove.
+ (alpha_push_arguments): Use ALPHA_REGISTER_BYTES not sizeof CORE_ADDR.
+ (alpha_push_dummy_frame): Remove.
+ (alpha_pop_frame): Remove.
+ (alpha_after_prologue): Rename from after_prologue; remove mdebug bits.
+ (alpha_read_insn): New.
+ (alpha_skip_prologue): Merge alpha_skip_prologue_internal; adjust
+ for different insn encodings.
+ (alpha_in_lenient_prologue): Remove.
+ (struct alpha_sigtramp_unwind_cache): New.
+ (alpha_sigtramp_frame_unwind_cache): New.
+ (alpha_sigtramp_register_address): New.
+ (alpha_sigtramp_frame_this_id): New.
+ (alpha_sigtramp_frame_prev_register): New.
+ (alpha_sigtramp_frame_unwind): New.
+ (alpha_sigtramp_frame_p): New.
+ (struct alpha_heuristic_unwind_cache): New.
+ (alpha_heuristic_proc_start): Rename from heuristic_proc_start;
+ don't count nop insns that occur between functions.
+ (alpha_heuristic_frame_unwind_cache): New; incorporate much of
+ heuristic_proc_desc, but without the mdebug wrapping.
+ (alpha_heuristic_frame_this_id): New.
+ (alpha_heuristic_frame_prev_register): New.
+ (alpha_heuristic_frame_unwind): New.
+ (alpha_heuristic_frame_p): New.
+ (alpha_heuristic_frame_base_address): New.
+ (alpha_heuristic_frame_base): New.
+ (alpha_unwind_dummy_id): New.
+ (alpha_unwind_pc): New.
+ (alpha_gdbarch_init): Don't set skip_sigtramp_frame. Kill use of
+ frame related deprecated initializations; install replacements.
+ (alpha_dump_tdep): Remove.
+ * alpha-tdep.h (struct gdbarch_tdep): Remove skip_sigtramp_frame.
+ (alpha_read_insn, alpha_after_prologue,
+ alpha_heuristic_frame_unwind_cache, alpha_heuristic_frame_this_id,
+ alpha_heuristic_frame_prev_register,
+ alpha_heuristic_frame_base_address, alpha_mdebug_init_abi): Declare.
+ * config/alpha/alpha-linux.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
+ * config/alpha/tm-alpha.h (PRINT_EXTRA_FRAME_INFO): Remove.
+ * config/alpha/tm-alphalinux.h (SIGTRAMP_START, SIGTRAMP_END): Remove.
+
+2003-05-29 Andrew Cagney <cagney@redhat.com>
+
+ * gdb_assert.h (gdb_assert_fail): Provide different definitions
+ dependant on the availability of ASSERT_FUNCTION.
+ (ASSERT_FUNCTION): Do not define when there is no function name.
+
+2003-05-29 Kevin Buettner <kevinb@redhat.com>
+
+ From Jimi X <jimix@watson.ibm.com>:
+ * rs6000-tdep.c (skip_prologue): Improve support for 64-bit code.
+
+2003-05-28 Jim Blandy <jimb@redhat.com>
+
+ * ppc-linux-nat.c (store_altivec_registers): Don't cast fourth
+ argument to ptrace to int; the system headers should give it the
+ right type, and pointers don't fit in ints on powerpc64-*-*.
+
+2003-05-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * dwarf2read.c (process_die): Handle DW_TAG_try_block and
+ DW_TAG_catch_block.
+
+2003-05-26 Elena Zannoni <ezannoni@redhat.com>
+
+ * stabsread.c (dbx_lookup_type): Make static.
+ (read_type): Ditto.
+ (add_undefined_type): Ditto.
+ * stabsread.h (dbx_lookup_type, read_type, add_undefined_type): Do
+ not export.
+
+2003-05-26 Elena Zannoni <ezannoni@redhat.com>
+
+ * hpread.c (hpread_has_name): Make static.
+ (hpread_psymtab_to_symtab): Ditto.
+ (file_exists): Ditto.
+ (hpread_call_pxdb): Ditto.
+ (hpread_pxdb_needed): Ditto.
+ (hpread_quick_traverse): Ditto.
+ (hpread_get_header): Ditto.
+ (hpread_get_lntt): Ditto.
+ (hpread_get_slt): Ditto.
+ (class_of): Ditto.
+
+2003-05-25 Andreas Schwab <schwab@suse.de>
+
+ * m68k-tdep.c (m68k_gdbarch_init): Set parm_boundary instead of
+ stack_align and deprecated_extra_stack_alignment_needed.
+ (m68k_stack_align): Delete.
+
+ * m68k-tdep.c (m68k_register_raw_size): Remove cast.
+ (m68k_register_virtual_size): Likewise.
+ (altos_skip_prologue): Remove obsolete function.
+ (isi_frame_num_args): Likewise.
+ (news_frame_num_args): Likewise.
+ (m68k_fix_call_dummy): Make static.
+ (m68k_push_dummy_frame): Likewise.
+ (m68k_pop_frame): Likewise.
+ (m68k_skip_prologue): Likewise.
+ (m68k_frame_init_saved_regs): Likewise.
+ (m68k_saved_pc_after_call): Likewise.
+ (m68k_get_longjmp_target): Make multi-arch.
+ (m68k_gdbarch_init): Allocate and initialize gdbarch_tdep
+ structure. Register m68k_get_longjmp_target if enabled.
+ * m68k-tdep.h (struct gdbarch_tdep): Define.
+ * config/m68k/tm-m68k.h: Don't include "regcache.h".
+
+ * Makefile.in (config.status): Also depend on configure.tgt
+ and configure.host.
+ (m68klinux-tdep.o): Update dependencies.
+ * configure.tgt (m68*-*-linux*): Set gdb_multi_arch to 1.
+ * m68klinux-tdep.c (M68K_LINUX_JB_ELEMENT_SIZE): Define.
+ (M68K_LINUX_JB_PC): Define.
+ (m68k_linux_pc_in_sigtramp): Renamed from m68k_linux_in_sigtramp
+ and take additional parameter.
+ (m68k_linux_sigtramp_saved_pc): Update.
+ (m68k_linux_init_abi): Set jb_pc and jb_elt_size. Register
+ m68k_linux_pc_in_sigtramp, in_plt_section,
+ find_solib_trampoline_target.
+ * config/m68k/tm-linux.h: Don't include any tm headers.
+ (START_INFERIOR_TRAPS_EXPECTED): Remove definition.
+ (JB_ELEMENT_SIZE): Likewise.
+ (JB_PC): Likewise.
+ (GET_LONGJMP_TARGET): Likewise.
+ (IN_SIGTRAMP): Likewise.
+ (SVR4_SHARED_LIBS): Define this and include "solib.h".
+
+2003-05-25 Mark Kettenis <kettenis@gnu.org>
+
+ * sparc-tdep.c (sparc32_do_push_arguments): New function.
+ (sparc32_push_arguments): Re-implement by calling
+ sparc32_do_push_arguments.
+
+2003-05-25 Mark Kettenis <kettenis@gnu.org>
+
+ * sparc-tdep.c (SPARC_F0_REGNUM, SPARC_F1_REGNUM, SPARC_O0_REGNUM,
+ SPARC_O1_REGNUM): New defines.
+ (sparc32_extract_return_value): Rewrite to operate on a regcache.
+ (sparc32_store_return_value): New function.
+ (sparc_extract_struct_value_address): Rewrite to operate on a
+ regcache.
+ (sparc_gdbarch_init): Don't set
+ deprecated_extract_struct_value_address. Set
+ extract_struct_value_address instead. Don't set
+ deprecated_extract_return_value and deprecated_store_return_value
+ for 32-bit targets. Set extract_return_value and
+ store_return_value instead.
+ * config/sparc/tm-sparc.h (DEPRECATED_STORE_RETURN_VALUE,
+ DEPRECATED_EXTRACT_RETURN_VALUE,
+ DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Don't define these.
+ (STORE_RETURN_VALUE, EXTRACT_RETURN_VALUE,
+ EXTRACT_STRUCT_VALUE_ADDRESS): Define these instead.
+ (sparc_store_return_value): Remove prototype.
+ (sparc32_store_return_value): New prototype.
+ (sparc32_extract_return_value, sparc_extract_struct_value_address):
+ Adjust prototypes.
+
+2003-05-24 Mark Kettenis <kettenis@gnu.org>
+
+ * sparcnbsd-tdep.c: Include "gdb_string.h".
+
+2003-05-23 Andrew Cagney <cagney@redhat.com>
+
+ * p-valprint.c (pascal_val_print): Replace extract_address with
+ the inline equivalent extract_unsigned_integer.
+ * jv-valprint.c (java_value_print): Ditto.
+ * ada-valprint.c (ada_val_print_1): Ditto.
+ * ada-lang.h (EXTRACT_ADDRESS): Ditto.
+
+2003-05-23 Theodore A. Roth <troth@openavr.org>
+
+ * blockframe.c (frameless_look_for_prologue): Remove unused
+ after_prologue variable.
+
+2003-05-23 Mark Kettenis <kettenis@gnu.org>
+
+ * blockframe.c (get_pc_function_start): Rewrite to avoid
+ asignments in if-statements.
+
+2003-05-23 Raoul Gough <RaoulGough@yahoo.co.uk>
+
+ Committed by Elena Zannoni <ezannoni@redhat.com>.
+ * coffread.c(coff_symtab_read): Do relocate static symbols from PE
+ files, don't relocate absolute symbols (and do use mst_abs).
+
+2003-05-23 Andrew Cagney <cagney@redhat.com>
+
+ * objc-lang.c: Include "gdb_assert.h".
+ (objc_op_print_tab): Use OP_NULL and PREC_NULL instead of 0.
+ (CHECK, CHECK_FATAL, __CHECK_FUNCTION): Delete macros.
+ (gdb_check, gdb_check_fatal): Delete functions.
+ (read_objc_methlist_method): Replace CHECK and CHECK_FATAL with
+ gdb_assert.
+ (parse_selector, parse_method, find_methods, find_imps): Ditto.
+ * Makefile.in (objc-lang.o): Update dependencies.
+
+2003-05-22 Ian Lance Taylor <ian@airs.com>
+
+ * disasm.c (gdb_disassemble_info): Initialize disassemble_info
+ with fprintf_filtered, not fprintf_unfiltered.
+
+2003-05-22 Andrew Cagney <cagney@redhat.com>
+
+ * stack.c (frame_info): Inline extract_address, replacing it with
+ extract_unsigned_integer.
+ * findvar.c (unsigned_pointer_to_address): Ditto.
+ * dwarf2loc.c (dwarf_expr_read_reg): Ditto.
+ * dwarf2expr.c (dwarf2_read_address): Ditto.
+ * frame.c (frame_pc_unwind): Update comment.
+ * dummy-frame.c (deprecated_read_register_dummy): Update comment.
+
+2003-05-22 Jeff Johnston <jjohnstn@redhat.com>
+
+ * infptrace.c (detach): Call print_sys_errmsg rather than
+ perror_with_name to issue warning message when errno is non-zero
+ after calling ptrace detach.
+
+2003-05-21 J. Brobecker <brobecker@gnat.com>
+
+ * config/pa/tm-hppa.h: Delete some unused macros. Move some
+ macro definitions from here...
+ * hppa-tdep.c: ...to there.
+
+2003-05-20 Kevin Buettner <kevinb@redhat.com>
+
+ * mips-nat.c (REGISTER_PTRACE_ADDR): Convert macro to function
+ register_ptrace_addr(). Fix all callers.
+
+2003-05-21 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
+ dependencies.
+ * m68k-tdep.c (m68k_gdbarch_init): Call gdbarch_init_osabi at the
+ end.
+ * m68klinux-tdep.c (m68k_linux_init_abi): New function.
+ (_initialize_m68k_linux_tdep): New function.
+ (m68k_linux_frame_saved_pc): Make static.
+ (m68k_linux_extract_return_value): Likewise.
+ (m68k_linux_store_return_value): Likewise.
+ (m68k_linux_extract_struct_value_address): Likewise.
+ * config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE):
+ Remove.
+ (DEPRECATED_STORE_RETURN_VALUE): Remove.
+ (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
+ (DEPRECATED_FRAME_SAVED_PC): Remove.
+
+2003-05-20 Kris Warkentin <kewarken@qnx.com>
+
+ * nto-tdep.c (fetch_core_registers): Match gdb's idea of
+ regset numbering rather than our own.
+
+2003-05-19 David Carlton <carlton@bactrian.org>
+
+ * config/djgpp/fnchange.lst: Add testsuite/gdb.c++/rtti*.
+
+2003-05-19 David Carlton <carlton@bactrian.org>
+
+ Partial fix for PR c++/827.
+ * cp-support.h: Include symtab.h.
+ Declare cp_lookup_symbol_nonlocal, cp_lookup_symbol_namespace.
+ * cp-namespace.c: Update contributors.
+ (cp_lookup_symbol_nonlocal): New.
+ (lookup_namespace_scope, cp_lookup_symbol_namespace)
+ (lookup_symbol_file): Ditto.
+ * c-lang.c (cplus_language_defn): Use cp_lookup_symbol_nonlocal.
+ * block.h: Declare block_scope, block_using, block_global_block.
+ * block.c (block_scope): New.
+ (block_using, block_global_block): Ditto.
+ * Makefile.in (cp_support_h): Depend on symtab_h.
+ * config/djgpp/fnchange.lst: Add testsuite/gdb.c++/namespace1.cc.
+
+2003-05-19 David Carlton <carlton@bactrian.org>
+
+ * language.h (struct language_defn): Add 'la_value_of_this'
+ and 'la_lookup_symbol_nonlocal' members.
+ * symtab.h: Declare basic_lookup_symbol_nonlocal,
+ lookup_symbol_static, lookup_symbol_global,
+ lookup_symbol_aux_block.
+ * symtab.c (lookup_symbol_aux): Call language hooks to determine
+ if we should search fields of this and how to do static/global
+ lookup.
+ (lookup_symbol_aux_block): Make extern.
+ (basic_lookup_symbol_nonlocal): New.
+ (lookup_symbol_static, lookup_symbol_global): Ditto.
+ * ada-lang.c (ada_language_defn): Set 'la_value_of_this' and
+ 'la_lookup_symbol_nonlocal' members.
+ * c-lang.c (c_language_defn, cplus_language_defn)
+ (asm_language_defn, minimal_language_defn): Ditto.
+ * jv-lang.c (java_language_defn): Ditto.
+ * language.c (unknown_language_defn, auto_language_defn)
+ (local_language_defn): Ditto.
+ * m2-lang.c (m2_language_defn): Ditto.
+ * objc-lang.c (objc_language_defn): Ditto.
+ * scm-lang.c (scm_language_defn): Ditto.
+ * f-lang.c (f_language_defn): Ditto, and include value.h as well.
+ * p-lang.c (pascal_language_defn): Ditto for both.
+ * Makefile.in (f-lang.o): Depend on value_h.
+ (p-lang.o): Ditto.
+
+2003-05-19 David Carlton <carlton@bactrian.org>
+
+ * block.h: Declare block_static_block.
+ * block.c (block_static_block): New.
+ * symtab.c (lookup_symbol_aux): Remove 'static_block' argument to
+ lookup_symbol_aux_local, calling block_static_block instead.
+ (lookup_symbol_aux_local): Delete 'static_block' argument.
+
+2003-05-19 David Carlton <carlton@bactrian.org>
+
+ * symtab.c (lookup_symbol_aux): Delete #if 0 hunk.
+
+2003-05-19 Michal Ludvig <mludvig@suse.cz>
+
+ * x86-64-tdep.c (x86_64_dwarf2gdb_regno_map): Fix
+ register numbers mapping.
+
+2003-05-18 Adam Fedor <fedor@gnu.org>
+
+ * symtab.c (completion_list_objc_symbol): New function.
+ (make_symbol_completion_list): Use it to add ObjC symbols
+ when looking though the list.
+ (language_search_unquoted_string): New function.
+ (make_file_symbol_completion_list): Use it.
+
+2003-05-18 Andreas Schwab <schwab@suse.de>
+
+ * Makefile (m68klinux-nat.o, m68klinux-tdep.o): Update
+ dependencies.
+ * config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE): Define
+ as m68k_linux_extract_return_value.
+ (DEPRECATED_STORE_RETURN_VALUE): Define as
+ m68k_linux_store_return_value.
+ (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Define as
+ m68k_linux_extract_struct_value_address.
+ * m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Use
+ get_next_frame, get_frame_base, get_frame_pc.
+ (m68k_linux_frame_saved_pc): Use get_frame_base.
+ (m68k_linux_extract_return_value): New function.
+ (m68k_linux_store_return_value): New function.
+ (m68k_linux_extract_struct_value_address): New function.
+ * config/m68k/tm-m68k.h: Declare m68k_get_longjmp_target.
+
+ * c-exp.y (typebase): Remove duplicate occurence of
+ `SIGNED_KEYWORD LONG LONG'. Use builtin_type_long_long instead
+ of lookup_signed_typename.
+
+2003-05-18 Mark Kettenis <kettenis@gnu.org>
+
+ * dwarf2loc.c (find_location_expression): Change type of second
+ argument to `size_t *'.
+ (loclist_read_variable, loclist_tracepoint_var_ref): Use size_t
+ for size variable.
+
+2003-05-18 David Carlton <carlton@bactrian.org>
+
+ * symtab.c (lookup_symbol_aux): Rename 'mangled_name' argument to
+ 'linkage_name'. Add comment.
+ (lookup_symbol_aux_local): Rename 'mangled_name' argument to
+ 'linkage_name'.
+ (lookup_symbol_aux_block, lookup_symbol_aux_symtabs)
+ (lookup_symbol_aux_psymtabs, lookup_symbol_aux_minsyms)
+ (lookup_block_symbol): Ditto.
+
+2003-05-16 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_REGISTER_BYTES): Rename REGISTER_BYTES.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * arm-linux-tdep.c (arm_linux_extract_return_value): Delete reference.
+ * TODO (REGISTER_BYTES): Delete reference.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init_32082): Update.
+ (ns32k_gdbarch_init_32382): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * i386-linux-tdep.c (i386_linux_init_abi): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_pop_frame): Update.
+ * rs6000-tdep.c (rs6000_pop_frame): Update.
+ * remote.c (init_remote_state): Update.
+ (remote_prepare_to_store): Update.
+ * remote-vx.c (vx_prepare_to_store): Update.
+ * remote-sds.c (sds_fetch_registers): Update.
+ (sds_prepare_to_store): Update.
+ * remote-array.c: Update.
+ * regcache.c (init_legacy_regcache_descr): Update.
+ (init_regcache_descr): Update.
+ * mips-tdep.c (mips_eabi_extract_return_value): Update.
+ (mips_o64_extract_return_value): Update.
+ * irix5-nat.c (fetch_core_registers): Update.
+ * irix4-nat.c (fetch_core_registers): Update.
+ * i386-tdep.h: Update.
+ * hppa-tdep.c (pa_do_registers_info): Update.
+ (pa_do_strcat_registers_info): Update.
+ * cris-tdep.c (cris_register_bytes_ok): Update.
+ * config/nm-gnu.h (CHILD_PREPARE_TO_STORE): Update.
+ * config/sparc/tm-sparc.h (DEPRECATED_REGISTER_BYTES): Update.
+ * config/sparc/nm-sun4sol2.h (CHILD_PREPARE_TO_STORE): Update.
+ * config/sparc/nm-sun4os4.h (CHILD_PREPARE_TO_STORE): Update.
+ * config/sparc/nm-nbsd.h (CHILD_PREPARE_TO_STORE): Update.
+ * config/sparc/tm-sp64.h (DEPRECATED_REGISTER_BYTES): Update.
+ * config/s390/tm-s390.h (DEPRECATED_REGISTER_BYTES): Update.
+ * config/pa/tm-hppa64.h (DEPRECATED_REGISTER_BYTES): Update.
+ * config/mips/tm-mips.h (DEPRECATED_REGISTER_BYTES): Update.
+ * config/mips/tm-irix6.h (DEPRECATED_REGISTER_BYTES): Update.
+ * config/mips/tm-irix5.h (DEPRECATED_REGISTER_BYTES): Update.
+ * config/m68k/tm-sun3.h (DEPRECATED_REGISTER_BYTES): Update.
+ (REGISTER_BYTES_OK): Update.
+ * config/m68k/nm-sun3.h (CHILD_PREPARE_TO_STORE): Update.
+ * config/ia64/tm-ia64.h (DEPRECATED_REGISTER_BYTES): Update.
+
+2003-05-16 Ian Lance Taylor <ian@airs.com>
+
+ * vax-tdep.c (INVALID_FLOAT, MAXLEN, NOPCODES): Don't define.
+ (vax_print_insn, print_insn_arg): Remove static functions.
+ (vax_gdbarch_init): Call set_gdbarch_print_insn with
+ print_insn_vax from opcodes library.
+ (_initialize_vax_tdep): Don't set deprecated_tm_print_insn.
+
+2003-05-15 Andrew Cagney <cagney@redhat.com>
+
+ * arch-utils.h (legacy_breakpoint_from_pc): Delete declaration.
+ * target.h (memory_breakpoint_from_pc): Delete declaration.
+ * mem-break.c (memory_breakpoint_from_pc): Delete function.
+ * arch-utils.c (legacy_breakpoint_from_pc): Delete function.
+ * monitor.c (monitor_insert_breakpoint): Use
+ gdbarch_breakpoint_from_pc instead of memory_breakpoint_from_pc.
+ * gdbarch.sh (BREAKPOINT_FROM_PC): Do not provide a default.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * sparc-tdep.c (sparc_breakpoint_from_pc): New function.
+ (sparc_gdbarch_init): Set breakpoint_from_pc to
+ sparc_breakpoint_from_pc.
+ * config/sparc/tm-sparc.h (BREAKPOINT): Delete macro.
+ (BREAKPOINT_FROM_PC): Define.
+ (sparc_breakpoint_from_pc): Declare.
+ * hppa-tdep.c (hppa_breakpoint_from_pc): New function.
+ * config/pa/tm-hppa.h (hppa_breakpoint_from_pc): Declare.
+ (BREAKPOINT_FROM_PC): Define.
+ (BREAKPOINT): Delete macro.
+ * target.h: Update comment.
+ * s390-tdep.c (s390_gdbarch_init): Update comments.
+ * remote.c: Update comments.
+ * remote-mips.c: Update comments.
+ * proc-api.c (write_with_trace): Do not check for a breakpoint.
+ * mem-break.c: Update comment.
+ * ia64-tdep.c (IA64_BREAKPOINT): Rename BREAKPOINT.
+ (ia64_memory_insert_breakpoint): Update.
+ * config/sparc/tm-sparc.h: Update comment.
+ * config/pa/tm-hppa64.h: Update comment.
+ * rs6000-tdep.c (BIG_BREAKPOINT, LITTLE_BREAKPOINT): Delete macro.
+ (rs6000_breakpoint_from_pc): Update.
+ * mips-tdep.c (BIG_BREAKPOINT, LITTLE_BREAKPOINT): Delete macro.
+ (PMON_BIG_BREAKPOINT, PMON_LITTLE_BREAKPOINT): Delete macro.
+ (IDT_LITTLE_BREAKPOINT, IDT_LITTLE_BREAKPOINT): Delete macro.
+ (MIPS16_LITTLE_BREAKPOINT, MIPS16_BIG_BREAKPOINT): Delete macro.
+ (mips_breakpoint_from_pc): Update.
+ (mips_dump_tdep): Update.
+
+ * symtab.h (DEPRECATED_SYMBOL_MATCHES_NAME): Delete macro.
+ * minsyms.c (lookup_minimal_symbol): Inline
+ DEPRECATED_SYMBOL_MATCHES_NAME. Replace STREQ with strcmp.
+
+ * c-lang.c (c_printstr): Delete "extern inspect_it" declaration.
+ * p-valprint.c (pascal_object_print_value_fields): Ditto.
+ * p-lang.c (pascal_printstr): Ditto.
+ * objc-lang.c (objc_printstr): Ditto.
+ * m2-lang.c (m2_printstr): Ditto.
+ * jv-valprint.c (java_print_value_fields): Ditto.
+ * f-lang.c (f_printstr): Ditto.
+ * cp-valprint.c (cp_print_value_fields): Ditto. Include "valprint.h".
+ * ada-valprint.c (inspect_it, repeat_count_threshold): Ditto, and
+ for repeat_count_threshold.
+ * Makefile.in (cp-valprint.o): Update dependencies.
+
+2003-05-15 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-tdep.c: Increase max_skip_non_prologue_insns to 40.
+ (examine_prologue): Support looking through leaf functions, knowing
+ they start with mov r2,r12. Support skipping over indirect stores
+ of the input registers. Upon hitting a non-nop branch instruction
+ or predicated instruction, bail out by setting lim_pc to the current
+ pc value in the loop. At the end, if the lim_pc value is still
+ beyond our calculated value and we have trust_limit set,
+ use the lim_pc value.
+
+2003-05-15 Andrew Cagney <cagney@redhat.com>
+
+ * dummy-frame.h (deprecated_find_dummy_frame_regcache): Rename
+ generic_find_dummy_frame.
+ * dummy-frame.c (deprecated_find_dummy_frame_regcache): Update.
+ (deprecated_generic_find_dummy_frame): Update.
+ (deprecated_read_register_dummy): Update.
+ * frame.c (deprecated_generic_get_saved_register): Update.
+
+2003-05-15 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_breakpoint_from_pc): New function.
+ (avr_gdbarch_init): Set breakpoint_from_pc method.
+
+2003-05-15 Andrew Cagney <cagney@redhat.com>
+
+ * regcache.c (build_regcache): Set deprecated_register_valid
+ directly.
+ (deprecated_grub_regcache_for_register_valid): Delete function.
+ * regcache.h (deprecated_grub_regcache_for_register_valid): Delete
+ declaration.
+
+2003-05-15 David Carlton <carlton@bactrian.org>
+
+ Committed by Elena Zannoni <ezannoni@redhat.com>
+ * symtab.c (lookup_symbol_aux): Delete calls to
+ lookup_symbol_aux_minsyms.
+ (lookup_symbol_aux_minsyms): Comment out function and
+ prototype. Delete lookup by mangled name.
+
+2003-05-14 Kevin Buettner <kevinb@redhat.com>
+
+ * dwarf2expr.c (new_dwarf_expr_context): Set ``stack_len'' to
+ correctly indicate an empty stack and ``stack_allocated'' to the
+ indicate the number of elements initially allocated.
+ (dwarf_expr_grow_stack): Simplify method for computing new
+ stack size. Don't loop infinitely if ``stack_len'' is zero.
+ (execute_stack_op): Move ``ctx->in_reg'' initialization
+ out of loop. Allow DW_OP_reg0 ... DW_OP_reg31 and DW_OP_regx to
+ be used in conjuction with DW_OP_piece. Revise error message
+ accordingly.
+
+2003-05-14 Theodore A. Roth <troth@openavr.org>
+
+ * MAINTAINERS: Update my email address.
+ * avr-tdep.c: Ditto.
+
+2003-05-14 Elena Zannoni <ezannoni@redhat.com>
+
+ * symtab.h (enum domain_enum): Rename from namespace_enum.
+ (UNDEF_DOMAIN, VAR_DOMAIN, STRUCT_DOMAIN, LABEL_DOMAIN,
+ VARIABLES_DOMAIN, FUNCTIONS_DOMAIN, TYPES_DOMAIN, METHODS_DOMAIN):
+ Rename from UNDEF_NAMESPACE, VAR_NAMESPACE, STRUCT_NAMESPACE,
+ LABEL_NAMESPACE, VARIABLES_NAMESPACE, FUNCTIONS_NAMESPACE,
+ TYPES_NAMESPACE, METHODS_NAMESPACE.
+ (SYMBOL_NAMESPACE): Rename to SYMBOL_DOMAIN.
+ (struct symbol, struct partial_symbol): Rename field
+ 'namespace_enum namespace' to 'domain_enum domain'.
+ (PSYMBOL_NAMESPACE): Rename to PSYMBOL_DOMAIN.
+ Delete old define kludge for namespace.
+
+ * ada-exp.y, ada-lang.c, ada-lang.h, alpha-tdep.c, arm-tdep.c,
+ blockframe.c, c-exp.y, c-valprint.c, coffread.c, dbxread.c,
+ dwarf2read.c, dwarfread.c, f-exp.y, gdbtypes.c, gdbtypes.h,
+ gnu-v3-abi.c, hppa-tdep.c, hpread.c, jv-exp.y, jv-lang.c,
+ language.c, linespec.c, m2-exp.y, m3-nat.c, mdebugread.c,
+ mips-tdep.c, nlmread.c, objc-exp.y, objc-lang.c, objfiles.c,
+ p-exp.y, p-valprint.c, parse.c, printcmd.c, scm-lang.c, source.c,
+ stabsread.c, stack.c, symfile.c, symfile.h, symmisc.c, symtab.c,
+ valops.c, values.c, xcoffread.c, xstormy16-tdep.c: Replace all
+ occurrences of the above.
+
+2003-05-14 Ian Lance Taylor <ian@airs.com>
+
+ * Makefile.in (install-only): Use $(SHELL) when running
+ mkinstalldirs.
+
+2003-05-13 Ian Lance Taylor <ian@airs.com>
+
+ * MAINTAINERS (write after approval): Add myself.
+
+ * ser-pipe.c (_initialize_ser_pipe): Correct call to memset--swap
+ second and third arguments.
+ * ser-tcp.c (_initialize_ser_tcp): Likewise.
+ * ser-unix.c (_initialize_ser_hardwire): Likewise.
+
+2003-05-13 Andrew Cagney <cagney@redhat.com>
+
+ * defs.h (store_address): Delete declaration.
+ findvar.c (store_address): Delete function.
+ * arm-tdep.c (arm_push_dummy_call): Replace store_address with
+ store_unsigned_integer.
+ * xstormy16-tdep.c (xstormy16_address_to_pointer): Ditto.
+ * v850-tdep.c (v850_push_arguments): Ditto.
+ * sparc-tdep.c (sparc_get_saved_register): Ditto.
+ * sh-tdep.c (sh64_get_saved_register): Ditto.
+ * rs6000-tdep.c (rs6000_push_arguments): Ditto.
+ * ppc-sysv-tdep.c (ppc_sysv_abi_push_arguments): Ditto.
+ * mips-tdep.c (mips_eabi_push_arguments): Ditto.
+ (mips_get_saved_register): Ditto.
+ * ia64-tdep.c (ia64_get_saved_register): Ditto.
+ (find_func_descr, ia64_push_arguments): Ditto.
+ * i386-tdep.c (i386_push_arguments): Ditto.
+ * hpux-thread.c (hpux_thread_fetch_registers): Ditto.
+ * frv-tdep.c (frv_push_arguments): Ditto.
+ * frame.c (legacy_saved_regs_prev_register): Ditto.
+ (deprecated_generic_get_saved_register): Ditto.
+ * findvar.c (unsigned_address_to_pointer): Ditto.
+ * dwarf2read.c (dwarf2_const_value): Ditto.
+ * arm-linux-tdep.c (arm_linux_push_arguments): Ditto.
+ * alpha-tdep.c (alpha_push_arguments): Ditto.
+
+2003-05-12 J. Brobecker <brobecker@gnat.com>
+
+ * NEWS: Mention that the hppa-hpux port has been partially
+ multiarched (32bit ABIT only, so far).
+
+2003-05-11 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (mi-symbol-cmds.o): Rename mi-cmd-symbol.
+ * config/djgpp/fnchange.lst: Rename include/xtensa-isa-internal.h,
+ include/xtensa-isa.h, sim/testsuite/sim/arm/misaligned1.ms,
+ sim/testsuite/sim/arm/misaligned2.ms, and
+ sim/testsuite/sim/arm/misaligned3.ms.
+ * disasm.h (struct ui_file): Add opaque struct declaration.
+ * config/pa/tm-hppa64.h (struct type, struct frame_info): Ditto.
+ * frame.h (struct ui_file): Ditto.
+
+2003-05-11 Mark Kettenis <kettenis@gnu.org>
+
+ * value.h: Pretty print.
+
+2003-05-10 Mark Kettenis <kettenis@gnu.org>
+
+ * config/i386/tm-linux.h (I386_GNULINUX_TARGET): Remove define.
+
+2003-05-08 Andrew Cagney <cagney@redhat.com>
+
+ * regcache.h (max_register_size): Delete declaration.
+ * regcache.c (max_register_size): Delete function.
+ (struct regcache_descr): Delete field "max_register_size".
+ (init_regcache_descr, init_legacy_regcache_descr): Assert that all
+ registers fit in MAX_REGISTER_SIZE.
+ (regcache_save): Replace max_register_size with MAX_REGISTER_SIZE.
+ (regcache_restore, regcache_xfer_part, regcache_dump): Ditto.
+ * thread-db.c: Replace max_register_size with MAX_REGISTER_SIZE.
+ * sh-tdep.c, rom68k-rom.c, remote-sim.c, remote-mips.c: Ditto.
+ * remote-e7000.c, monitor.c, mipsv4-nat.c, mips-nat.c: Ditto.
+ * m68klinux-nat.c, lynx-nat.c, irix4-nat.c: Ditto.
+ * hpux-thread.c, hppah-nat.c, hppab-nat.c, hppa-tdep.c: Ditto.
+ * dve3900-rom.c, hppa-tdep.c: Ditto.
+
+2003-05-08 David Carlton <carlton@math.stanford.edu>
+
+ * valops.c (push_word): Fix typo.
+
+2003-05-08 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Delete references to MAX_REGISTER_RAW_SIZE.
+ * gdbarch.h: Re-generate.
+ * defs.h (MAX_REGISTER_RAW_SIZE): Delete macro.
+ (legacy_max_register_raw_size): Delete declaration.
+ * regcache.c (legacy_max_register_raw_size): Delete function.
+ * valops.c: Replace MAX_REGISTER_RAW_SIZE with MAX_REGISTER_SIZE.
+ * target.c, stack.c, sparc-tdep.c, sh-tdep.c: Ditto.
+ * rs6000-tdep.c, rs6000-nat.c, remote.c, remote-sim.c: Ditto.
+ * remote-rdp.c, remote-array.c, regcache.c: Ditto.
+ * ppc-linux-nat.c, monitor.c, mn10300-tdep.c: Ditto.
+ * mips-tdep.c, mips-linux-tdep.c, m68klinux-nat.c: Ditto.
+ * infptrace.c, ia64-tdep.c, i386-tdep.c, frame.c: Ditto.
+ * findvar.c, dwarf2cfi.c: Ditto.
+
+2003-05-08 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (read_signed_register): New function, moved to here
+ from "regcache.c".
+ (read_signed_register_pid): Ditto.
+ * regcache.c (read_signed_register_pid): Delete function, moved to
+ "mips-tdep.c".
+ (read_signed_register): Ditto.
+ * regcache.h (read_signed_register): Delete declaration.
+ (read_signed_register_pid): Delete declaration.
+
+2003-05-08 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Add comments on MAX_REGISTER_SIZE.
+ * gdbarch.h: Re-generate.
+ * defs.h (MAX_REGISTER_VIRTUAL_SIZE): Delete macro.
+ (legacy_max_register_virtual_size): Delete declaration.
+ * infcmd.c (default_print_registers_info): Use MAX_REGISTER_SIZE.
+ * d10v-tdep.c (d10v_print_registers_info): Ditto.
+ * tracepoint.c (memrange_sortmerge): Ditto.
+ * sparc-tdep.c (sparc_print_registers): Ditto.
+ * regcache.c (legacy_max_register_virtual_size): Delete function.
+
+2002-05-08 J. Brobecker <brobecker@gnat.com>
+
+ * fork-child.c (escape_bang_in_quoted_argument): New function.
+ (fork_inferior): Escape '!' characters in quoted arguments
+ only when needed.
+
+2003-05-08 J. Brobecker <brobecker@gnat.com>
+
+ * dwarf2read.c (set_cu_language): Set the language to "minimal" if
+ the language of the CU is not currently supported by GDB.
+
+2003-05-08 J. Brobecker <brobecker@gnat.com>
+
+ * defs.h (language): Add language_minimal enum value.
+ * c-lang.c (minimal_language_defn): New language definition.
+ (_initialize_c_language): Add the new minimal language to the list
+ of languages known to GDB.
+
+2003-05-08 Kevin Buettner <kevinb@redhat.com>
+
+ * frame.c (get_frame_type): Don't attempt to lazily initialize
+ frame's unwinder for legacy frames.
+
+2003-05-07 Andrew Cagney <cagney@redhat.com>
+
+ * ia64-tdep.c (ia64_remote_translate_xfer_address): Add "gdbarch"
+ and "regcache" parameters.
+ * avr-tdep.c (avr_remote_translate_xfer_address): Ditto.
+
+2003-05-07 Jeff Johnston <jjohnstn@redhat.com>
+
+ * dwarf2read.c (dwarf_decode_lines): Only use output of
+ check_cu_functions() when calling record_line(). Do not update
+ the current address.
+
+2003-05-07 Andrew Cagney <cagney@redhat.com>
+
+ * fork-child.c (startup_inferior): Delete #ifdef STARTUP_INFERIOR
+ code.
+
+2003-05-07 Jim Blandy <jimb@redhat.com>
+
+ Rename commands 'maint list symtabs' and 'maint list psymtabs' to
+ 'maint info symtabs' and 'maint info psymtabs'.
+ * symmisc.c (maintenance_info_symtabs, maintenance_info_psymtabs):
+ Renamed from maintenance_list_symtabs and maintenance_list_psymtabs.
+ * symtab.h (maintenance_info_symtabs, maintenance_info_psymtabs):
+ Declarations updated.
+ * maint.c (maintenance_list_command): Delete.
+ (_initialize_maint_cmds): Update calls to add_cmd.
+ * gdbcmd.h (maintenancelistlist): Delete declaration.
+ * cli/cli-cmds.c (maintenancelistlist): Delete.
+ (init_cmd_lists): Don't initialize it.
+ * cli/cli-cmds.h (maintenancelistlist): Delete declaration.
+
+2003-05-07 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (remote_d10v_translate_xfer_address): Add
+ "regcache".
+ (d10v_print_registers_info): Update.
+ (d10v_dmap_register, d10v_imap_register): Delete functions.
+ (struct gdbarch_tdep): Add "regcache" parameter to "dmap_register"
+ and "imap_register".
+ (d10v_ts2_dmap_register, d10v_ts2_imap_register): Add "regcache".
+ (d10v_ts3_dmap_register, d10v_ts3_imap_register): Add "regcache".
+ * arch-utils.c (generic_remote_translate_xfer_address): Add
+ "regcache" and "gdbarch" parameters.
+ * gdbarch.sh (REMOTE_TRANSLATE_XFER_ADDRESS): Add "regcache"
+ parameter. Change class to multi-arch.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * remote.c (remote_xfer_memory): Use
+ gdbarch_remote_translate_xfer_address.
+
+2003-05-07 Jeff Johnston <jjohnstn@redhat.com>
+
+ * infrun.c (prev_pc): Move declaration ahead of proceed().
+ (proceed): Refresh prev_pc value before resuming.
+ (stop_stepping): Remove code to refresh prev_pc.
+
+2003-05-06 Kris Warkentin <kewarken@qnx.com>
+
+ * nto-tdep.c: Removed stray comment.
+
+2003-05-06 Kris Warkentin <kewarken@qnx.com>
+
+ * i386-nto-tdep.c: Fix old K&R function definitions.
+ * nto-tdep.c: Likewise and change stat.h include to gdb_stat.h.
+ Also change add_show_from_set() call to add_setshow_cmd().
+ * nto-tdep.h: Remove PARAMS and grep ^func ARI hits.
+
+2003-05-05 Andrew Cagney <cagney@redhat.com>
+
+ * dummy-frame.c: Include "command.h" and "gdbcmd.h".
+ (fprint_dummy_frames): New function.
+ (maintenance_print_dummy_frames): New function.
+ (_initialize_dummy_frame): Add command "maint print dummy-frames".
+ * frame.c (fprint_frame_id): Make global.
+ * frame.h (fprint_frame_id): Declare.
+ * Makefile.in (dummy-frame.o): Update dependencies.
+
+2003-05-05 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_REGISTER_SIZE): Rename REGISTER_SIZE.
+ (DEPRECATED_SIZEOF_CALL_DUMMY_WORDS): Rename
+ SIZEOF_CALL_DUMMY_WORDS.
+ (DEPRECATED_CALL_DUMMY_WORDS): Rename CALL_DUMMY_WORDS.
+ (DEPRECATED_FIX_CALL_DUMMY): Rename FIX_CALL_DUMMY.
+ (DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET): Rename
+ CALL_DUMMY_BREAKPOINT_OFFSET.
+ (DEPRECATED_CALL_DUMMY_START_OFFSET): Rename
+ CALL_DUMMY_START_OFFSET.
+ (DEPRECATED_CALL_DUMMY_LENGTH): Rename CALL_DUMMY_LENGTH.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * alpha-tdep.c, alphafbsd-tdep.c, arm-linux-tdep.c: Update.
+ * arm-tdep.c, avr-tdep.c, breakpoint.c, cris-tdep.c: Update.
+ * dummy-frame.c, dummy-frame.h, frv-tdep.c, gdbarch.c: Update.
+ * gdbarch.h, gdbarch.sh, h8300-tdep.c, hppa-tdep.c: Update.
+ * i386-tdep.c, ia64-tdep.c, infcall.c, inferior.h: Update.
+ * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c: Update.
+ * mips-tdep.c, mn10300-tdep.c, ns32k-tdep.c: Update.
+ * rs6000-tdep.c, s390-tdep.c, sh-tdep.c, sol-thread.c: Update.
+ * sparc-tdep.c, target.c, v850-tdep.c, valops.c: Update.
+ * vax-tdep.c, x86-64-tdep.c, xstormy16-tdep.c: Update.
+ * config/ia64/tm-ia64.h, config/m68k/tm-vx68.h: Update.
+ * config/mips/tm-mips.h, config/pa/nm-hppah.h: Update.
+ * config/pa/tm-hppa.h, config/pa/tm-hppa64.h: Update.
+ * config/s390/tm-s390.h, config/sparc/tm-sp64.h: Update.
+ * config/sparc/tm-sparc.h: Update.
+
+2003-05-05 Kris Warkentin <kewarken@qnx.com>
+
+ * configure.tgt: Add i[3456]86-*-nto*.
+ * i386-nto-tdep.c: New file. i386 specific support for QNX Neutrino.
+ * nto-tdep.c: New file. Neutrino target support routines.
+ * nto-tdep.h: New file. Neutrino target header.
+ * config/tm-qnxnto.h: New file.
+ * config/i386/i386nto.mt: New file.
+ * config/i386/tm-i386nto.h: New file.
+
+2003-05-04 Andrew Cagney <cagney@redhat.com>
+
+ * gdbthread.h (save_infrun_state): Drop prev_func_name parameter.
+ (load_infrun_state): Ditto.
+ (struct thread_info): Drop "prev_func_name" field.
+ * thread.c (load_infrun_state): Update.
+ (save_infrun_state): Update.
+ * infrun.c (prev_func_name): Delete variable.
+ (init_wait_for_inferior): Do not clear prev_func_name.
+ (stop_stepping, keep_going, context_switch): Do not swap
+ prev_func_name.
+ (handle_inferior_event, check_sigtramp2): Use pc_in_sigtramp
+ instead of PC_IN_SIGTRAMP.
+
+2003-05-04 Andrew Cagney <cagney@redhat.com>
+
+ * sentinel-frame.c (sentinel_frame_prev_register): Replace
+ REGISTER_BYTE with register_offset_hack.
+ * regcache.c (init_regcache_descr): When REGISTER_BYTE_P, check
+ that REGISTER_BYTE is consistent with the regcache.
+ * gdbarch.sh (REGISTER_BYTE): Add a predicate.
+ * gdbarch.h, gdbarch.c: Regenerate.
+
+2003-05-04 Mark Kettenis <kettenis@gnu.org>
+
+ * i387-tdep.c (fxsave_offset): Add entries for %xmm8-%xmm15.
+ (FXSAVE_ADDR, i387_supply_fxsave): Add support for %xmm8-%xmm15.
+
+ * i386-linux-nat.c (supply_gregset): Remove unnecessary casts.
+
+2003-05-03 J. Brobecker <brobecker@gnat.com>
+
+ From Thierry Schneider <tpschneider1@yahoo.com>
+ * Makfile.in (SUBDIR_MI_OBS): Add dependency on mi-cmd-symbol.o.
+ (SUBDIR_MI_SRCS): Add mi-cmd-symbol.c.
+ (mi-cmd-symbol.o): Add rule.
+
+2003-05-03 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (PUSH_DUMMY_CODE): New architecture method, add
+ comments noteing that it replaces the old FIX_CALL_DUMMY code.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * d10v-tdep.c (d10v_push_dummy_code): New function.
+ (d10v_gdbarch_init): Set push_dummy_code.
+ * infcall.c (legacy_push_dummy_code): New function.
+ (generic_push_dummy_code): New function.
+ (push_dummy_code): New function.
+ (call_function_by_hand): Call push_dummy_code. Pass bp_addr,
+ instead of dummy_addr, to push_dummy_call. Move call to
+ generic_save_call_dummy_addr to outside of CALL_DUMMY_LOCATION
+ switch.
+ * sparc-tdep.c (sparc_gdbarch_init): Mention push_dummy_code.
+
+2003-05-03 Andrew Cagney <cagney@redhat.com>
+
+ * disasm.h (print_insn): Declare.
+ * disasm.c (init_gdb_disassemble_info): New function.
+ (gdb_disassembly): Call init_gdb_disassemble_info.
+ (gdb_print_insn): New function.
+ * v850-tdep.c (v850_scan_prologue): Call gdb_print_insn, instead
+ of TARGET_PRINT_INSN. Send debug info to "gdb_stdlog".
+ * mcore-tdep.c: Include "disasm.h"
+ (mcore_dump_insn): Call gdb_print_insn, instead of TARGET_PRINT_INSN.
+ * d10v-tdep.c: Include "disasm.h".
+ (display_trace): Call gdb_print_insn, instead of print_insn.
+ (print_insn): Delete function.
+ * printcmd.c: Include "disasm.h".
+ (print_insn): Delete function.
+ (print_formatted): Call gdb_print_insn, instead of print_insn.
+ * Makefile.in (printcmd.o): Update dependencies.
+ (mcore-tdep.o, d10v-tdep.o): Ditto.
+
+2003-05-02 Andrew Cagney <cagney@redhat.com>
+
+ * std-regs.c (value_of_builtin_frame_pc_reg): Delete #ifdef
+ PC_REGNUM, re-indent.
+ * stack.c (frame_info): Use "pc" for the name of get_frame_pc when
+ PC_REGNUM isn't set.
+
+ * gdbarch.sh (REGISTER_SIZE, REGISTER_BYTES): Make optional.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * d10v-tdep.c (d10v_gdbarch_init): Do not set register_size,
+ register_virtual_size, pc_regnum, or register_bytes.
+ (D10V_PC_REGNUM): Rename _PC_REGNUM.
+ (d10v_register_type): Use D10V_PC_REGNUM.
+ (d10v_print_registers_info, d10v_read_pc): Ditto.
+ (d10v_write_pc, d10v_eva_prepare_to_trace): Ditto.
+ (d10v_unwind_pc, d10v_frame_prev_register): Ditto.
+
+2003-05-02 David Carlton <carlton@bactrian.org>
+
+ * objfiles.c (allocate_objfile): For anonymous objfiles, allocate
+ the name with mstrsave.
+
+2003-05-02 Elena Zannoni <ezannoni@redhat.com>
+
+ * charset.c (GDB_DEFAULT_TARGET_CHARSET,
+ GDB_DEFAULT_HOST_CHARSET): Move to earlier in the file.
+ (host_charset_name, target_charset_name): New vars for use by
+ set/show commands.
+ (host_charset_enum, target_charset_enum): New enums for set/show
+ commands.
+ (set_charset_sfunc, set_host_charset_sfunc,
+ set_target_charset_sfunc): New functions.
+ (set_host_charset, set_target_charset): Make static.
+ (list_charsets, set_host_charset_command,
+ set_target_charset_command): Delete functions.
+ (show_charset_command): Rewrite as....
+ (show_charset): Hook this up with the set/show command mechanism.
+ (_initialize_charset): Change names of charsets to match the
+ set/show enums. Use host_charset_name and target_charset_name.
+ Use set/show mechanism for charset, host-charset, target-charset
+ commands. Do not make 'show host-charset' and 'show
+ target-charset' be aliases of 'show charset'.
+
+ * charset.h (set_host_charset, set_target_charset): Don't export,
+ they are not used outside the file.
+
+2003-05-01 Andrew Cagney <cagney@redhat.com>
+
+ * disasm.c (gdb_disassemble_from_exec): Delete global variable.
+ (gdb_disassembly): Make "di" non static, always initialize and
+ cleanup. Always use dis_asm_read_memory.
+ (gdb_dis_asm_read_memory): Delete function.
+
+2003-05-01 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (d10v_frame_align): Replace d10v_stack_align.
+ (d10v_gdbarch_init): Set frame_align instead of stack_align.
+
+2003-04-30 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (deprecated_tm_print_insn_info): Rename
+ "tm_print_insn_info".
+ (TARGET_PRINT_INSN_INFO): Delete macro.
+ (dis_asm_read_memory): Delete function declaration.
+ (dis_asm_memory_error, dis_asm_print_address): Ditto.
+ (tm_print_insn_info): Delete variable definition.
+ (_initialize_gdbarch): Do not initialize "tm_print_insn_info".
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * d10v-tdep.c (display_trace): Replace "tm_print_insn_info" with
+ "deprecated_tm_print_insn_info".
+ * mcore-tdep.c (mcore_dump_insn): Ditto.
+ * mips-tdep.c (mips_gdbarch_init): Ditto.
+ * sparc-tdep.c (_initialize_sparc_tdep): Ditto.
+ * v850-tdep.c (v850_scan_prologue, v850_gdbarch_init): Ditto.
+ * ia64-tdep.c (_initialize_ia64_tdep): Ditto.
+ * printcmd.c (print_insn): Use "deprecated_tm_print_insn_info"
+ instead of TARGET_PRINT_INSN_INFO, add comment.
+ * s390-tdep.c (s390_get_frame_info): Instead of
+ "dis_asm_read_memory", use "deprecated_tm_print_insn_info".
+ (s390_check_function_end, s390_is_sigreturn): Ditto.
+ * corefile.c (dis_asm_read_memory): Move to "disasm.c".
+ (dis_asm_memory_error, dis_asm_print_address): Ditto.
+ * disasm.c: Include "gdbcore.h".
+ (_initialize_disasm): New function, initialize
+ "deprecated_tm_print_insn_info".
+ (deprecated_tm_print_insn_info): New variable.
+ (dis_asm_read_memory): Moved from "corefile.c", made static.
+ (dis_asm_print_address, dis_asm_memory_error): Ditto.
+ * Makefile.in (disasm.o): Update dependencies.
+
+2003-04-30 Andrew Cagney <cagney@redhat.com>
+
+ * sparc-tdep.c (SPARC_HAS_FPU): When multi-arch, define as 1.
+
+2003-04-29 Adam Fedor <fedor@gnu.org>
+
+ * eval.c (evaluate_subexp_standard): Handle ObjC ops.
+ * infcall.c (find_function_addr): Make non-static.
+ * infcall.h (find_function_addr): Declare.
+ * Makefile.in (eval.o): Update dependencies.
+
+2003-04-28 Adam Fedor <fedor@gnu.org>
+
+ * symtab.c (symbol_find_demangled_name): Check for and demangle
+ ObjC symbols.
+ (symbol_init_demangled_name): Init for language_objc as well.
+
+2003-04-28 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_TARGET_READ_FP): Replace TARGET_READ_FP.
+ (DEPRECATED_FP_REGNUM): Replace FP_REGNUM.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * infcall.c (call_function_by_hand): Use DEPRECATED_FP_REGNUM,
+ DEPRECATED_TARGET_READ_FP, or "sp" to create the dummy frame ID.
+ * inferior.h (deprecated_read_fp): Rename read_fp.
+ (generic_target_read_fp): Delete declaration.
+ * regcache.c (generic_target_read_fp): Delete function.
+ (deprecated_read_fp): Replace read_fp, use
+ DEPRECATED_TARGET_READ_FP or DEPRECATED_FP_REGNUM.
+ * d10v-tdep.c (d10v_read_fp): Delete function.
+ (d10v_gdbarch_init): Do not set deprecated_read_fp.
+
+ * sparc-tdep.c (sparc_gdbarch_init): Do not set
+ deprecated_target_read_fp to generic_target_read_fp.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Set
+ deprecated_fp_regnum.
+ * x86-64-tdep.c (x86_64_init_abi): Ditto.
+ * vax-tdep.c (vax_gdbarch_init): Ditto.
+ * v850-tdep.c (v850_gdbarch_init): Ditto.
+ * sparc-tdep.c (sparc_gdbarch_init): Ditto.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * mcore-tdep.c (mcore_gdbarch_init): Ditto.
+ * m68k-tdep.c (m68k_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * i386-tdep.c (i386_gdbarch_init): Ditto.
+ * hppa-tdep.c (hppa_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * avr-tdep.c (avr_gdbarch_init): Ditto.
+ * arm-tdep.c (arm_gdbarch_init): Ditto.
+ * alpha-tdep.c (alpha_gdbarch_init): Ditto.
+
+ * x86-64-tdep.c (x86_64_init_abi): Set deprecated_target_read_fp.
+ * v850-tdep.c (v850_gdbarch_init): Ditto.
+ * sparc-tdep.c (sparc_gdbarch_init): Ditto.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * mips-tdep.c (mips_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * hppa-tdep.c (hppa_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * avr-tdep.c (avr_gdbarch_init): Ditto.
+ * arm-tdep.c (arm_gdbarch_init): Ditto.
+
+ * vax-tdep.c (vax_frame_init_saved_regs): Replace FP_REGNUM with
+ DEPRECATED_FP_REGNUM.
+ (vax_push_dummy_frame, vax_pop_frame): Ditto.
+ * std-regs.c (value_of_builtin_frame_fp_reg): Ditto.
+ * sparc-tdep.c (sparc_init_extra_frame_info): Ditto.
+ (sparc_push_dummy_frame, sparc64_read_fp): Ditto.
+ (sparc32_register_virtual_type): Ditto.
+ * sh-tdep.c (sh64_frame_chain): Ditto.
+ (sh64_get_saved_register, sh64_pop_frame): Ditto.
+ (sh_nofp_frame_init_saved_regs): Ditto.
+ (sh64_nofp_frame_init_saved_regs): Ditto.
+ (sh_fp_frame_init_saved_regs): Ditto.
+ * remote-mips.c (mips_wait, mips_fetch_registers): Ditto.
+ * remote-e7000.c (fetch_regs_from_dump): Ditto.
+ * procfs.c (procfs_fetch_registers): Ditto.
+ (procfs_store_registers): Ditto.
+ * ns32knbsd-nat.c (fetch_inferior_registers): Ditto.
+ (store_inferior_registers, fetch_core_registers): Ditto.
+ (fetch_kcore_registers, clear_regs): Ditto.
+ * ns32k-tdep.c (ns32k_frame_init_saved_regs): Ditto.
+ (ns32k_push_dummy_frame, ns32k_pop_frame): Ditto.
+ * nlm/i386.h (DEPRECATED_FP_REGNUM): Ditto.
+ * nlm/i386.c (do_status): Ditto.
+ * mipsv4-nat.c (supply_gregset): Ditto.
+ * mips-tdep.c: Ditto for comments.
+ * mips-nat.c (fetch_inferior_registers): Ditto.
+ (store_inferior_registers, fetch_core_registers): Ditto.
+ * m68k-tdep.c (m68k_push_dummy_frame): Ditto.
+ (m68k_pop_frame, m68k_frame_init_saved_regs): Ditto.
+ * i386-tdep.c (i386_frame_init_saved_regs): Ditto.
+ (i386_do_pop_frame, i386_register_type): Ditto.
+ * hppa-tdep.c (hppa_frame_chain): Ditto.
+ (hppa_push_dummy_frame, find_dummy_frame_regs): Ditto.
+ (hppa_pop_frame, hppa_read_fp): Ditto.
+ (skip_prologue_hard_way, hppa_frame_find_saved_regs): Ditto.
+ * cris-tdep.c (cris_examine, cris_pop_frame): Ditto.
+ * config/vax/nm-vax.h (REGISTER_U_ADDR): Ditto.
+ * config/sparc/tm-sparc.h (DEPRECATED_FP_REGNUM): Ditto.
+ * config/sparc/tm-sp64.h (DEPRECATED_FP_REGNUM): Ditto.
+ * config/s390/tm-s390.h (DEPRECATED_FP_REGNUM): Ditto.
+ * config/pa/tm-hppa64.h (DEPRECATED_FP_REGNUM): Ditto.
+ * config/ia64/tm-ia64.h (DEPRECATED_FP_REGNUM): Ditto.
+ * blockframe.c: Ditto for comments.
+ * arch-utils.h: Ditto for comments.
+ * arch-utils.c (legacy_virtual_frame_pointer): Ditto.
+ * alphanbsd-tdep.c (fetch_core_registers): Ditto.
+ * alphabsd-nat.c (fetch_inferior_registers): Ditto.
+ * alpha-tdep.h: Ditto for comments.
+ * alpha-tdep.c (alpha_cannot_fetch_register): Ditto.
+ (alpha_cannot_store_register): Ditto.
+ (alpha_push_dummy_frame): Ditto.
+ * alpha-nat.c (supply_gregset): Ditto.
+
+ * config/sparc/tm-sp64.h (DEPRECATED_TARGET_READ_FP): Update.
+ * config/pa/tm-hppa64.h (DEPRECATED_TARGET_READ_FP): Update.
+ * config/sparc/tm-sparc.h: Update comment.
+
+ * hppa-tdep.c (hppa_init_extra_frame_info): Use
+ deprecated_read_fp instead of TARGET_READ_FP.
+ (hppa_init_extra_frame_info, hppa_frame_chain): Ditto.
+ (hppa_push_dummy_frame, hppa_read_fp): Ditto.
+ * sparc-tdep.c (sparc_init_extra_frame_info): Use
+ deprecated_read_fp instead of read_fp.
+ * s390-tdep.c (s390_push_arguments): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * frame.h: Ditto in comments.
+ * frame.c (legacy_get_prev_frame): Ditto.
+ * dummy-frame.c (dummy_frame_this_id): Ditto.
+ * arm-tdep.c (arm_init_extra_frame_info): Ditto.
+
+2003-04-28 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (deprecated_tm_print_insn): Rename tm_print_insn.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * xstormy16-tdep.c (_initialize_xstormy16_tdep): Update.
+ * vax-tdep.c (_initialize_vax_tdep): Update.
+ * v850-tdep.c (_initialize_v850_tdep): Update.
+ * sparc-tdep.c (_initialize_sparc_tdep): Update.
+ * s390-tdep.c (_initialize_s390_tdep): Update.
+ * ns32k-tdep.c (_initialize_ns32k_tdep): Update.
+ * mn10300-tdep.c (_initialize_mn10300_tdep): Update.
+ * mips-tdep.c (_initialize_mips_tdep): Update.
+ * mcore-tdep.c (_initialize_mcore_tdep): Update.
+ * m68k-tdep.c (_initialize_m68k_tdep): Update.
+ * ia64-tdep.c (_initialize_ia64_tdep): Update.
+ * hppa-tdep.c (_initialize_hppa_tdep): Update.
+ * h8300-tdep.c (_initialize_h8300_tdep): Update.
+ * frv-tdep.c (_initialize_frv_tdep): Update.
+ * cris-tdep.c (cris_delayed_get_disassembler): Update.
+ (_initialize_cris_tdep): Update.
+ * arch-utils.c (legacy_print_insn): Update.
+ * alpha-tdep.c (_initialize_alpha_tdep): Update.
+
+2003-04-26 Adam Fedor <fedor@gnu.org>
+
+ * linespec.c (decode_objc): New function to decode ObjC calls
+ (decode_line_1): Check for ObjC calls (using decode_objc)
+ * Makefile (linespec.o): Update dependencies.
+
+2003-04-26 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.h (struct breakpoint_ops): New.
+ (struct breakpoint): Add ops member.
+
+ * breakpoint.c (print_bp_stop_message, print_one_breakpoint)
+ (mention): Use new breakpoint ops member.
+ (set_raw_breakpoint): Initialize ops field to NULL.
+ (print_exception_catchpoint, print_one_exception_catchpoint)
+ (print_mention_exception_catchpoint, handle_gnu_v3_exceptions): New.
+ (gnu_v3_exception_catchpoint_ops): New.
+ (catch_exception_command_1): Call handle_gnu_v3_exceptions.
+
+2003-04-25 Adam Fedor <fedor@gnu.org>
+
+ * Makefile.in (COMMON_OBS): Add objc-lang.o
+
+2003-04-25 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (print_insn): Delete function.
+ (display_trace): Use TARGET_PRINT_INSN.
+ (_initialize_d10v_tdep): Do not set tm_print_insn.
+ (d10v_gdbarch_init): Set print_insn.
+
+2003-04-25 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (d10v_extract_return_value): Delete call to printf.
+ (_initialize_d10v_tdep): Use add_setshow_boolean_cmd.
+ (d10v_frame_unwind_cache): Use FRAME_OBSTACK_CALLOC.
+ (NR_DMAP_REGS, A0_REGNUM): Delete, replaced by ...
+ (nr_dmap_regs, a0_regnum): ... new functions.
+ (d10v_print_registers_info): Use a0_regnum, use register_size.
+ (d10v_register_byte): Delete function.
+ (d10v_register_raw_size): Delete function.
+ (d10v_register_type): Use a0_regnum.
+ (d10v_print_registers_info): Use a0_regnum.
+ (D10V_SP_REGNUM): Rename _SP_REGNUM, replace it and SP_REGNUM.
+ (d10v_gdbarch_init): Do not set register_byte or
+ register_raw_size, use D10V_SP_REGNUM to set sp_regnum.
+ (d10v_pointer_to_address): Use extract_unsigned_integer instead of
+ extract_address.
+ (trace_command): Use XCALLOC.
+ (print_insn): Delete reference to tm_print_insn.
+ (saved_regs_unwinder): Use store_unsigned_integer instead of
+ store_address.
+ * frame.h (FRAME_OBSTACK_CALLOC): Define
+
+2003-04-25 David Carlton <carlton@bactrian.org>
+
+ * config/djgpp/fnchange.lst: Add testsuite/gdb.c++/maint.exp.
+
+2003-04-24 Adam Fedor <fedor@gnu.org>
+
+ * objc-lang.c: Include "valprint.h"
+ * Makefile.in (objc-lang.o): Update dependencies.
+
+2003-04-24 Adam Fedor <fedor@gnu.org>
+
+ * objc-lang.c (FETCH_ARGUMENT, CONVERT_FUNCPTR): Remove
+ architecture dependant compilation and mark as unimplemented
+ (until they get put in the gdbarch vector).
+
+2003-04-23 David Carlton <carlton@bactrian.org>
+
+ * cp-support.c (cp_find_first_component): Accept 'operator' in
+ more locations.
+
+2003-04-23 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): Eliminate redundant
+ indentation. Move "saved_async" and "old_cleanups" to where they
+ are needed.
+
+2003-04-23 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): Eliminate the variables "rc"
+ and "buffer". Move the "name" code to where it is needed.
+
+2003-04-23 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): Move variables "start_sp",
+ "dummy", "sizeof_dummy1" and "dummy1" and corresponding dummy call
+ code to ON_STACK switch branch.
+
+2003-04-23 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): Make declaration of "i",
+ "sal", "bpt" and "old_sp" more local to their use. Delete #if
+ lint.
+
+2003-04-23 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): Delete variable
+ "n_method_args". Localize "param_type"'s declaration to the loop
+ that it is used. Reinstate code assigning to said variable -
+ deleted on 2002-06-14. Rationalize calls to value_args_coerce.
+ Rationalize code using "param_type".
+
+2003-04-22 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c (call_function_by_hand): Use new variable "bp_addr" to
+ compute the breakpoint address. Only call FIX_CALL_DUMMY when
+ ON_STACK. Eliminate the variable "addr". Do not pass "real_pc"
+ to DEPRECATED_PUSH_RETURN_ADDRESS.
+
+2003-04-22 Kevin Buettner <kevinb@redhat.com>
+
+ * dwarf2loc.c (dwarf2_evaluate_loc_desc): Invoke DWARF2_REG_TO_REGNUM
+ on the DWARF2 register number prior to fetching a register.
+
+2003-04-22 J. Brobecker <brobecker@gnat.com>
+
+ * config/pa/tm-hppa.h (SOFT_FLOAT): Delete this macro.
+ Update all the tests using SOFT_FLOAT considering the fact that
+ this macro was always set to 0.
+ * config/pa/tm-hppa64.h: Update all the tests using SOFT_FLOAT
+ considering the fact that this macro was always set to 0.
+ * hppa-tdep.h (hppa_store_return_value): Likewise.
+ (hppa_extract_return_value): Likewise.
+
+2003-04-22 J. Brobecker <brobecker@gnat.com>
+
+ * config/pa/tm-hppa.h: Remove obsolete code, was used by
+ the hppa-pro target only.
+
+2003-04-21 J. Brobecker <brobecker@gnat.com>
+
+ Ongoing multi-arch conversion effort for HP/UX:
+ * config/pa/tm-hppa.h: Move all macro that are no longer
+ defined now that GDB_MULTI_ARCH is now set to 1 from here...
+ * config/pa/tm-hppa64.h: ... to here (hppa64 is not multiarch'ed yet).
+
+2003-04-21 J. Brobecker <brobecker@gnat.com>
+
+ * config/pa/tm-hppa.h: Obsolete a section that was only used
+ for hppa-pro.
+
+2003-04-21 J. Brobecker <brobecker@gnat.com>
+
+ Ongoing multi-arch conversion for HP/UX.
+ * config/pa/tm-hppa.h (GDB_MULTI_ARCH): Set to 1. Do not define
+ if already defined (allows hppa64 to stay non-multiarched for now).
+ * config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Define.
+
+2003-04-21 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (frame_id_eq): Fail when the code_addr's do not match.
+
+2003-04-21 Andrew Cagney <cagney@redhat.com>
+
+ * i386-tdep.c (i386_gdbarch_init): Replace "mmx_num_regs" with
+ "i386_num_mmx_regs".
+
+2003-04-21 Andrew Cagney <cagney@redhat.com>
+
+ * infcall.c: New file.
+ * infcall.h: New file.
+ * valarith.c: Include "infcall.h".
+ * scm-lang.c, objc-lang.cm, hppa-tdep.c, gcore.c: Ditto.
+ * eval.c, ada-valprint.c, ada-lang.c: Ditto.
+ * Makefile.in (valarith.o, scm-lang.o): Update dependencies.
+ (objc-lang.o, hppa-tdep.o, gcore.o): Update dependencies.
+ (eval.o, ada-valprint.o, ada-lang.o): Update dependencies.
+ (SFILES): Add "infcall.c"
+ (COMMON_OBS): Add "infcall.o".
+ (infcall.o): Specify dependencies.
+ * value.h (call_function_by_hand): Delete declaration.
+ * inferior.h (run_stack_dummy): Delete declaration.
+ * infcmd.c (breakpoint_auto_delete_contents): Move to "infcall.c".
+ (run_stack_dummy): Move to "infcall.c", merged into
+ call_function_by_hand.
+ * valops.c (call_function_by_hand): Moved to "infcall.c".
+ (find_function_addr, value_arg_coerce): Ditto.
+ (unwindonsignal_p, coerce_float_to_double): Ditto.
+ (_initialize_valops): Move "set/show coerce-float-to-double", and
+ "set/show unwindonsignal" commands to "infcall.c".
+ * v850-tdep.c, target.h: Update comments.
+ * sparc-tdep.c (sparc_fix_call_dummy): Update comments.
+ * sh-tdep.c (sh_init_extra_frame_info): Update comments.
+ (sh64_init_extra_frame_info): Update comments.
+ * mn10300-tdep.c: Update comments.
+ * mcore-tdep.c (mcore_init_extra_frame_info): Update comments.
+ * config/sparc/tm-sparc.h: Update comments.
+ * breakpoint.h: Update comments.
+ * avr-tdep.c (avr_init_extra_frame_info): Update comments.
+ * arm-tdep.c: Update comment.
+
+2003-04-19 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_num_register_names): New variable.
+ (i386_num_mmx_regs): Renamed from mmx_num_regs.
+ (MM0_REGNUM): Remove redundant parentheses in define.
+ (i386_mmx_regnum_p): Use i386_mmx_regnum instead of mmx_num_regs.
+ (i386_fp_regnum_p, i386_fpc_regnum_p, i386_sse_regnum_p,
+ i386_mxcsr_regnum_p): Remove redundant parentheses.
+ (i386_register_name): Use i386_num_register_names.
+
+ * i386-tdep.c (i386_extract_return_value,
+ i386_store_return_value): Correct check for availability of
+ floating-point registers.
+
+ * i386-tdep.c (i386_frame_num_args): Remove function.
+ (i386_gdbarch_init): Set frame_num_args to frame_num_args_unknown.
+
+ * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Renamed from
+ mmx_regnum_to_fp_regnum. Adjust all callers.
+
+ * i386-tdep.c (i386_get_longjmp_target): Use
+ TYPE_LENGTH(builtin_type_void_func_ptr) instead of TARGET_PTR_BIT
+ and TARGET_CHAR_BIT. Use extract_typed_address instead of
+ extract_address.
+
+2003-04-19 Mark Kettenis <kettenis@gnu.org>
+
+ * core-regset.c: Update comments to reflect reality. Re-order
+ includes.
+ (fetch_core_registers): Use switch instead of if. Remove
+ redundant prototype.
+
+2003-04-18 Jim Blandy <jimb@redhat.com>
+
+ * s390-tdep.c (s390_frame_align): New function.
+ (s390_gdbarch_init): Register it with the gdbarch object.
+
+2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * remote.c (minitelnet): Don't redeclare escape_count, echo_check.
+
+2003-04-17 Michael Snyder <msnyder@redhat.com>
+ Karen Bennet <bennet@redhat.com>
+
+ Committed by Elena Zannoni <ezannoni@redhat.com>
+ * gdb_gcore.sh: New script to create a core dump of a process.
+
+2003-04-17 Elena Zannoni <ezannoni@redhat.com>
+
+ * values.c (value_being_returned): Don't fetch the return
+ value if the return type is void.
+
+2003-04-17 Jeff Johnston <jjohnstn@redhat.com>
+
+ * thread-db.c: Reindented.
+
+2003-04-17 Jeff Johnston <jjohnstn@redhat.com>
+
+ * gdb_indent.sh: Recognize td_thrhandle_t, td_event_msg_t,
+ td_thr_events_t, td_notify_t, td_thr_iter_f, and td_thrinfo_t
+ as types.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2003-04-16 Kevin Buettner <kevinb@redhat.com>
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): For the SysV ABI, set
+ the size of ``long double'' to 16, instead of 8.
+
+2003-04-16 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-linux-nat.c: Add some whitespace to make things more
+ readable.
+ (fetch_register, store_register, fetch_inferior_registers,
+ store_inferior_registers): Get rid of assignment in if-statement.
+ (store_register): Fix typo in error message.
+
+2003-04-16 Andrew Cagney <cagney@redhat.com>
+
+ * utils.c (xmmalloc): Always allocate something, matches
+ libiberty/xmalloc's semantics.
+ (xmrealloc, xmcalloc): Ditto.
+
+2003-04-16 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_prev_frame): Do not initialize "unwind" or "type",
+ update comments.
+ (get_frame_type): Initialize unwind and type when needed.
+ (get_frame_id, frame_register_unwind): Ditto.
+
+2003-04-16 Andrew Cagney <cagney@redhat.com>
+
+ * NEWS: Mention that sparclet-*-* and sparclite-*-* have been made
+ obsolete.
+ * sparc-tdep.c: Obsolete SPARCLET and SPARCLITE code.
+ * sparcl-stub.c: Obsolete file.
+ * config/sparc/tm-sparclet.h: Obsolete file.
+ * sparclet-stub.c: Obsolete file.
+ * sparclet-rom.c: Obsolete file.
+ * sparcl-tdep.c: Obsolete file.
+ * config/sparc/tm-sparclite.h: Obsolete file.
+ * config/sparc/sparclite.mt: Obsolete file.
+ * config/sparc/sparclet.mt: Obsolete file.
+ * configure.tgt: Make sparclet-*-*, sparclite-*-*, and
+ sparc86x-*-* obsolete.
+
+2003-04-15 David Carlton <carlton@math.stanford.edu>
+
+ * Makefile.in (SFILES): Add cp-namespace.c.
+ (COMMON_OBS): Add cp-namespace.o.
+ (block.o): Depend on gdb_obstack_h and cp_support_h.
+ (buildsym.o): Depend on cp_support_h.
+ (cp-namespace.o): New.
+ (cp-support.o): Depend on gdb_string_h, demangle_h, gdb_assert_h,
+ gdb_obstack_h, symtab_h, symfile_h, and gdbcmd_h.
+ (dwarf2read.o): Depend on cp_support_h.
+ * jv-lang.c (get_java_class_symtab): Set BLOCK_NAMESPACE.
+ * dwarf2read.c (process_die): Set processing_has_namespace_info,
+ processing_current_namespace.
+ (read_namespace): Update processing_current_namespace; check for
+ anonymous namespaces.
+ (dwarf2_name): New function.
+ (dwarf2_extension): Ditto.
+ * cp-support.h: Update copyright, contributors.
+ Add inclusion guards.
+ Add opaque declaration for structs obstack, block, symbol.
+ (struct using_direct): New struct.
+ Add declarations for cp_find_first_component,
+ cp_entire_prefix_len, processing_has_namespace_info,
+ processing_current_namespace, cp_is_anonymous,
+ cp_add_using_directive, cp_initialize_namespace,
+ cp_finalize_namespace, cp_set_block_scope,
+ cp_scan_for_anonymous_namespaces.
+ * cp-namespace.c: New file.
+ * cp-support.c: Update copyright.
+ Include ctype.h, gdb_assert.h, gdbcmd.h.
+ New variable maint_cplus_cmd_list.
+ (cp_find_first_component): New function.
+ (cp_entire_prefix_len, maint_cplus_command)
+ (first_component_command, _initialize_cp_support): Ditto.
+ * buildsym.c: Include cp-support.h.
+ New variable using_list.
+ (add_symbol_to_list): Check for anonymous namespaces.
+ (finish_block): Set block's scope.
+ (start_symtab): Initialize C++ namespace support.
+ (end_symtab): Finalize C++ namespace support.
+ * block.h: Add opaque declarations for structs
+ block_namespace_info, using_direct, and obstack.
+ Add declarations for block_set_scope and block_set_using.
+ (struct block): Add 'language_specific' member.
+ (BLOCK_NAMESPACE): New macro.
+ * block.c: Include gdb_obstack.h and cp-support.h.
+ (struct block_namespace_info): New struct.
+ (block_set_scope): New function.
+ (block_set_using, block_initialize_namespace): Ditto.
+
+2003-04-14 Kevin Buettner <kevinb@redhat.com>
+
+ * solib-svr4.c (svr4_have_link_map_offsets): New function.
+ (locate_base): Return early if there aren't any link map offsets.
+ (svr4_solib_create_inferior_hook): Warn if shared library support
+ is unavailable.
+
+2003-04-14 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.c (symbol_set_names): Add prefix when storing Java names
+ in hash table. Fix for PR java/1039.
+
+2003-04-14 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.c (symbol_set_names): Rename 'name' arg to
+ 'linkage_name', and 'tmpname' variable to 'linkage_name_copy'.
+ * symtab.h: Change 'name' argument in declaration of
+ symbol_set_names to 'linkage_name'.
+ (SYMBOL_SET_NAMES): Change 'name' argument to 'linkage_name'.
+
+2003-04-14 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (mips_read_sp): Do not apply ADDR_BITS_REMOVE,
+ return the fully sign-extended register value.
+ (get_frame_pointer): Ditto.
+ (mips_pop_frame): Initialize "proc_desc" after checking for a
+ dummy frame.
+
+2003-04-14 Andrew Cagney <cagney@redhat.com>
+
+ * mips-tdep.c (mips_push_dummy_frame): Delete function.
+ (MASK, PUSH_FP_REGNUM, GEN_REG_SAVE_MASK): Delete macros.
+ (FLOAT_REG_SAVE_MASK, FLOAT_SINGLE_REG_SAVE_MASK): Delete macro.
+ (mips_push_register): Delete function.
+ (mips_dump_tdep): Delete references to GEN_REG_SAVE_MASK and
+ PUSH_FP_REGNUM.
+
+2003-04-14 Jim Blandy <jimb@redhat.com>
+
+ * symmisc.c: #include "gdb_regex.h".
+ (maintenance_list_symtabs, maintenance_list_psymtabs): New
+ functions.
+ * maint.c (maintenance_list_command): New function.
+ (_initialize_maint_cmds): Register the above as commands.
+ * symtab.h (maintenance_list_symtabs,
+ maintenance_list_psymtabs): New declarations.
+ * cli/cli-cmds.c (maintenancelistlist): New variable.
+ (init_cmd_lists): Initialize it.
+ * cli/cli-cmds.h (maintenancelistlist): New declaration.
+ * gdbcmd.h (maintenancelistlist): New declaration.
+ * Makefile.in (symmisc.o): Update dependencies.
+
+2003-04-14 Elena Zannoni <ezannoni@redhat.com>
+
+ * s390-nat.c: Include asm/types.h for addr_t.
+
+2003-04-14 Corinna Vinschen <vinschen@redhat.com>
+
+ * cp-valprint.c (cp_print_class_method): Call unpack_pointer() with
+ actually incoming type.
+
+2003-04-13 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-linux-tdep.c: Use get_frame_base, get_frame_pc,
+ get_next_frame and get_frame_saved_regs.
+
+2003-04-13 Andrew Cagney <cagney@redhat.com>
+
+ * reggroups.c (default_register_reggroup_p): Use NUM_REGS instead
+ of gdbarch_num_regs.
+
+2003-04-13 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h: Mention what replaced what in "struct frame_info".
+ * hppa-hpux-tdep.c: Use get_frame_base, get_frame_pc and
+ deprecated_update_frame_base_hack and
+ deprecated_update_frame_pc_hack.
+ * hppa-tdep.c: Ditto.
+
+2003-04-13 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2expr.h (struct dwarf_expr_context): Remove extra arguments
+ to read_reg and update its comment. Remove regnum member.
+ * dwarf2expr.c (execute_stack_op): Remove memaddr and expr_lval.
+ Don't call read_reg when setting in_reg. Call read_reg to get
+ the frame base if it's in a register. Return the register number
+ on the stack instead of in the context. Remove extra arguments
+ to read_reg.
+ * dwarf2loc.c (dwarf_expr_read_reg): Remove extra arguments.
+ (dwarf2_evaluate_loc_desc): Call value_from_register. Expect
+ the register number on the expression stack.
+ (needs_frame_read_reg): Remove extra arguments.
+
+2003-04-13 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2expr.c (dwarf2_read_address): Renamed from read_address;
+ made non-static.
+ (execute_stack_op): All callers updated.
+ * dwarf2expr.h: Add prototype for dwarf2_read_address.
+ * dwarf2loc.c (find_location_expression): New function.
+ (dwarf_expr_frame_base): Call it.
+ (dwarf2_evaluate_loc_desc): Handle 0-length location expressions.
+ (dwarf2_tracepoint_var_ref): New function, broken out from
+ locexpr_tracepoint_var_ref.
+ (locexpr_tracepoint_var_ref): Call dwarf2_tracepoint_var_ref.
+ Make static.
+ (loclist_read_variable, loclist_read_needs_frame): New functions.
+ (loclist_describe_location, loclist_tracepoint_var_ref): New
+ functions.
+ (dwarf2_loclist_funcs): New struct location_funcs.
+ * dwarf2loc.h (struct dwarf2_loclist_baton): New type.
+ (struct dwarf2_locexpr_baton): Add comments.
+ (dwarf2_loclist_funcs): New extern.
+ * dwarf2read.c (struct comp_unit_head): Remove DIE member, add
+ base_address and base_known.
+ (dwarf_loc_buffer): New variable.
+ (struct dwarf2_pinfo): Add dwarf_loc_buffer and dwarf_loc_size.
+ (DWARF_LOC_BUFFER, DWARF_LOC_SIZE): New macros.
+ (dwarf2_has_info): Initialize dwarf_loc_offset.
+ (dwarf2_build_psymtabs): Read in .debug_loc.
+ (dwarf2_build_psymtabs_hard): Use DWARF_LOC_BUFFER and
+ DWARF_LOC_SIZE.
+ (psymtab_to_symtab_1): Likewise. Move base address calculation
+ here, from...
+ (dwarf2_get_pc_bounds): ... here. Use the base address from
+ cu_header.
+ (dwarf2_symbol_mark_computed): Handle location lists.
+
+2003-04-13 Daniel Jacobowitz <drow@mvista.com>
+
+ * minsyms.c (install_minimal_symbols): Only switch to gnu-v3 mode
+ if the linkage name demangled successfully.
+
+2003-04-13 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (att_flavour, intel_flavour, valid_flavours,
+ disassmbly_flavour): Removed.
+
+ * x86-64-tdep.c (gdb_print_insn_x86_64): Removed.
+
+2003-04-13 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (x86_64_breakpoint_from_pc): Removed.
+
+2003-04-12 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (struct frame_info): Move definition from here ...
+ * frame.c (struct frame_info): ... to here.
+
+2003-04-12 Andrew Cagney <cagney@redhat.com>
+
+ * gdbthread.h (save_infrun_state): Delete parameter
+ "prev_func_start".
+ (struct thread_info): Delete field "prev_func_start".
+ (load_infrun_state): Ditto.
+ * thread.c (load_infrun_state, save_infrun_state): Update.
+ * infrun.c (prev_func_start): Delete variable.
+ (context_switch, init_wait_for_inferior): Update.
+ (stop_stepping, keep_going): Update.
+
+2003-04-12 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Add missing opaque declarations.
+ * gdbarch.h: Regnerate.
+ * symtab.h: Add missing opaque declarations.
+ * value.h, target.h, symfile.h, stabsread.h: Ditto.
+ * x86-64-tdep.h, xmodem.h, monitor.h, typeprint.h: Ditto.
+ * srec.h, solib-svr4.h, source.h, inferior.h: Ditto.
+ * ser-unix.h, serial.h, remote-utils.h, gdbcore.h: Ditto.
+ * ppc-tdep.h, ocd.h, mips-tdep.h, gdbtypes.h: Ditto.
+ * buildsym.h, builtin-regs.h, linespec.h, language.h: Ditto.
+ * i387-tdep.h, gdbthread.h, event-top.h, gdb.h: Ditto.
+ * dwarf2cfi.h, doublest.h, disasm.h, cp-abi.h: Ditto.
+ * cli-out.h, c-lang.h, ax-gdb.h, arch-utils.h: Ditto.
+ * ada-lang.h, config/nm-lynx.h, config/nm-linux.h: Ditto.
+ * config/sparc/tm-sp64.h, config/rs6000/tm-rs6000.h: Ditto.
+ * config/pa/tm-hppah.h, config/m68k/tm-delta68.h: Ditto.
+ * cli/cli-setshow.h, cli/cli-script.h: Ditto.
+
+2003-04-11 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_frame_id): Return this frame's "id".
+ (legacy_get_prev_frame): Set prev's frame ID code_addr to the
+ function start.
+ (legacy_saved_regs_this_id): Replace function body with
+ internal-error.
+ (deprecated_frame_xmalloc): Mark the frame ID as valid, use
+ FRAME_OBSTACK_ZALLOC.
+ (create_new_frame): Mark the frame ID as valid.
+
+2003-04-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in (libbfd_h): Added missing setting.
+ * mips-tdep.c (mips_gdbarch_init): Set disassembler_options
+ according to the selected ABI.
+
+2003-04-11 Jeff Johnston <jjohnstn@redhat.com>
+
+ * gdb_indent.sh: Recognize pid_t and sigset_t as types.
+
+2003-04-11 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_SAVED_PC_AFTER_CALL): Deprecate
+ SAVED_PC_AFTER_CALL.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ (ia64_saved_pc_after_call): Update declaration.
+ * i386ly-tdep.c (i386lynx_init_abi): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+ * ns32knbsd-nat.c (frame_num_args): Update.
+ * ns32k-tdep.c (umax_frame_num_args): Update.
+ * mips-tdep.c (mips_init_frame_pc_first): Update.
+ * infrun.c (step_over_function): Update.
+ * i386-linux-tdep.c (skip_hurd_resolver): Update.
+ * i386-interix-tdep.c (i386_interix_back_one_frame): Update.
+ * config/sparc/tm-sparc.h (DEPRECATED_SAVED_PC_AFTER_CALL): Update.
+ (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+ * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+ * config/pa/tm-hppa.h (DEPRECATED_SAVED_PC_AFTER_CALL): Update.
+ * arm-linux-tdep.c (skip_hurd_resolver): Update.
+ * arch-utils.c (init_frame_pc_default): Update.
+ * alpha-tdep.c (alpha_init_frame_pc_first): Update.
+ * x86-64-tdep.h (x86_64_linux_saved_pc_after_call): Update
+ declaration.
+
+2003-04-11 Andrew Cagney <cagney@redhat.com>
+
+ * i387-tdep.c: Update copyright.
+ (i387_to_double): Delete function.
+ (double_to_i387): Delete function.
+
+2003-04-10 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (d10v_frame_this_id): Set the code addr to the
+ frame's function's address. Simplify.
+ (d10v_frame_unwind_cache): Check that the frame's function is
+ non-zero.
+
+2003-04-10 Jim Blandy <jimb@redhat.com>
+
+ * s390-tdep.c (s390_gdbarch_init): Put back accidentally deleted
+ call to set_gdbarch_deprecated_push_arguments.
+
+2003-04-10 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (fprint_frame_id): New function.
+ (fprint_frame_type, fprint_frame): New function.
+ (frame_pc_unwind, frame_func_unwind): Add/update trace code.
+ (create_sentinel_frame, get_frame_id): Ditto.
+ (frame_id_p, frame_id_eq): Ditto.
+ (frame_id_inner, create_new_frame): Ditto.
+ (legacy_get_prev_frame, get_prev_frame): Ditto.
+ (deprecated_update_frame_pc_hack): Ditto.
+ (frame_register_unwind): Ditto.
+ (deprecated_update_frame_base_hack): Ditto.
+
+2003-04-10 Corinna Vinschen <vinschen@redhat.com>
+
+ * i386-cygwin-tdep.c (i386_cygwin_frame_chain): New function.
+ (i386_cygwin_init_abi): Set i386_cygwin_frame_chain as new
+ frame_chain function.
+ * Makefile.in: Add dependencies due to above change.
+
+2003-04-10 Corinna Vinschen <vinschen@redhat.com>
+
+ * blockframe.c (legacy_frame_chain_valid): Move call to
+ DEPRECATED_FRAME_CHAIN_VALID before calls to inside_entry_func and
+ inside_entry_file.
+
+2003-04-09 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (struct frame_id): Replace "pc" and "base" with
+ "stack_addr" and "code_addr". Update comments.
+ (frame_id_build): Update parameter names and comment.
+ (struct frame_info): Replace "id_p" and "id" with "this_id".
+ * dummy-frame.c (dummy_frame_this_id): Update.
+ * breakpoint.c (print_one_breakpoint): Update.
+ * frame.c (get_frame_id): Update.
+ (get_frame_base, frame_id_build): Update.
+ (create_sentinel_frame, legacy_get_prev_frame): Update.
+ (deprecated_update_frame_base_hack): Update.
+ (frame_id_p, frame_id_eq): Rework, return 0 when an invalid ID.
+ (frame_id_inner): Ditto.
+
+2003-04-09 Andrew Cagney <cagney@redhat.com>
+
+ * defs.h (gdb_print_host_address): Make "addr" parameter a
+ pointer constant.
+ * utils.c (gdb_print_host_address): Update.
+
+2003-04-09 Kevin Buettner <kevinb@redhat.com>
+
+ * rs6000-tdep.c (frame_get_saved_regs): Don't assume that the
+ register number for R0 is 0.
+
+2003-04-09 J. Brobecker <brobecker@gnat.com>
+
+ * frame.h (struct gdbarch): Add opaque structure definition
+ to avoid a compilation warning on LynxOS 4.0.
+
+2003-04-09 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (struct frame_info): Delete field "pc". Replace
+ "pc_unwind_cache" and "pc_unwind_cache_p" with "prev_pc"
+ structure.
+ * frame.c (frame_pc_unwind): Update.
+ (create_sentinel_frame): Do not set "pc".
+ (get_prev_frame): Do not set "pc". Use frame_pc_unwind.
+ (get_frame_pc): Call frame_pc_unwind.
+ (deprecated_update_frame_pc_hack): Update.
+ (create_new_frame): Use "pc" not "->pc".
+
+2003-04-09 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_frame_id): Eliminate code updating "frame".
+ (legacy_get_prev_frame): Ditto.
+ (get_frame_base): Return id.base directly.
+ (deprecated_update_frame_base_hack): Update "id.base".
+ * frame.h (struct frame_info): Delete field "frame".
+
+2003-04-09 Andrew Cagney <cagney@redhat.com>
+
+ * NEWS: Mention that the "Sequent family" is obsolete.
+ * configure.tgt: Obsolete i[3456]86-sequent-bsd*,
+ i[3456]86-sequent-sysv4*, and i[3456]86-sequent-sysv*.
+ * configure.host: Obsolete i[3456]86-sequent-bsd*,
+ i[3456]86-sequent-sysv4*, and i[3456]86-sequent-sysv*.
+ * config/i386/tm-ptx4.h: Obsolete file.
+ * config/i386/tm-ptx.h: Obsolete file.
+ * symm-tdep.c: Obsolete file.
+ * config/i386/symmetry.mt: Obsolete file.
+ * config/i386/tm-symmetry.h: Obsolete file.
+ * symm-nat.c: Obsolete file.
+ * config/i386/nm-symmetry.h: Obsolete file.
+ * config/i386/xm-symmetry.h: Obsolete file.
+ * config/i386/symmetry.mh: Obsolete file.
+ * config/i386/nm-ptx4.h: Obsolete file.
+ * config/i386/ptx4.mh: Obsolete file.
+ * config/i386/ptx.mt: Obsolete file.
+ * config/i386/ptx.mh: Obsolete file.
+ * config/i386/xm-ptx4.h: Obsolete file.
+ * config/i386/xm-ptx.h: Obsolete file.
+
+2003-04-09 Andrew Cagney <cagney@redhat.com>
+
+ Obsolete mips*-*-mach3*.
+ * NEWS: Mention that mips*-*-mach3* is obsolete.
+ * m3-nat.c: Obsolete file.
+ * config/nm-m3.h: Obsolete file.
+ * config/mips/tm-mipsm3.h: Obsolete file.
+ * config/mips/mipsm3.mt: Obsolete file.
+ * config/mips/mipsm3.mh: Obsolete file.
+ * config/mips/xm-mipsm3.h: Obsolete file.
+ * mipsm3-nat.c: Obsolete file.
+ * configure.host: Obsolete mips-dec-mach3*.
+ * configure.tgt: Obsolete mips*-*-mach3*.
+
+2003-04-09 Andrew Cagney <cagney@redhat.com>
+
+ * doublest.h: Update copyright.
+ (deprecated_store_floating, deprecated_extract_floating): Rename
+ store_floating and extract_floating. Update comments.
+ * doublest.c: Update copyright.
+ (extract_floating_by_length): Replace extract_floating.
+ (store_floating_by_length): Replace store_floating.
+ (deprecated_extract_floating): New function.
+ (deprecated_store_floating): New function.
+ (extract_typed_floating): Call extract_floating_by_length.
+ (store_typed_floating): Call store_floating_by_length.
+ * x86-64-tdep.c (x86_64_store_return_value): Update.
+ * sh-tdep.c (sh3e_sh4_extract_return_value): Update.
+ (sh64_extract_return_value): Update.
+ (sh_sh4_register_convert_to_virtual): Update.
+ (sh_sh64_register_convert_to_virtual): Update.
+ (sh_sh4_register_convert_to_raw): Update.
+ (sh_sh64_register_convert_to_raw): Update.
+ * rs6000-tdep.c (rs6000_register_convert_to_virtual): Update.
+ (rs6000_register_convert_to_raw): Update.
+ * ia64-tdep.c (ia64_register_convert_to_virtual): Update.
+ (ia64_register_convert_to_raw): Update.
+ * config/i386/tm-symmetry.h (REGISTER_CONVERT_TO_RAW): Update.
+ (REGISTER_CONVERT_TO_VIRTUAL): Update.
+ * arm-linux-tdep.c (arm_linux_push_arguments): Update.
+ * alpha-tdep.c (alpha_register_convert_to_virtual): Update.
+ (alpha_register_convert_to_raw): Update.
+
+2003-04-08 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (SAVED_PC_AFTER_CALL): Add a predicate.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * d10v-tdep.c (d10v_saved_pc_after_call): Delete function.
+ (d10v_gdbarch_init): Do not set saved_pc_after_call.
+ * infrun.c (step_over_function): Call SAVED_PC_AFTER_CALL_P
+ conditionally, use frame_pc_unwind as an alternative. Add
+ comments.
+ * arch-utils.c (init_frame_pc_default): Only call
+ SAVED_PC_AFTER_CALL when available.
+
+2003-04-08 Elena Zannoni <ezannoni@redhat.com>
+
+ * infrun.c (stop_soon): Rename from stop_soon_quietly.
+ (struct inferior_status): Rename stop_soon_quietly field to stop_soon.
+ (clear_proceed_status): Rename stop_soon_quietly to stop_soon.
+ (start_remote): Ditto.
+ (handle_inferior_event): Ditto.
+ (save_inferior_status): Ditto.
+ (restore_inferior_status): Ditto.
+ * infcmd.c (attach_command): Ditto.
+ * fork-child.c (startup_inferior): Ditto.
+ * inferior.h (stop_soon): Rename from stop_soon_quietly.
+ * alpha-tdep.c (heuristic_proc_start): Ditto.
+ * mips-tdep.c (heuristic_proc_start): Ditto.
+ * solib-svr4.c (svr4_solib_create_inferior_hook): Ditto.
+ * solib-sunos.c (sunos_solib_create_inferior_hook): Ditto.
+ * solib-osf.c (osf_solib_create_inferior_hook): Ditto.
+ * solib-irix.c (irix_solib_create_inferior_hook): Ditto.
+ * remote-vx.c (vx_create_inferior): Ditto.
+
+2003-04-08 Elena Zannoni <ezannoni@redhat.com>
+
+ * infrun.c (stop_soon_quietly): Make it an enum, to better
+ override the default behavior of handle_inferior_event.
+ (clear_proceed_status): Update uses of stop_soon_quietly to
+ reflect that it is now an enum.
+ (start_remote): Ditto.
+ (handle_inferior_event): Change logic a bit if stop_soon_quietly
+ is set to handle the new GNU/Linux kernel behavior for
+ attach/sigstop. Update uses of stop_soon_quietly.
+ * inferior.h (enum stop_kind): New enum.
+ * infcmd.c (attach_command): Use STOP_QUIETLY_NO_SIGSTOP.
+ Reset normal handle_inferior_event behavior, afterwards.
+ * fork-child.c (startup_inferior): Update.
+ * alpha-tdep.c (heuristic_proc_start): Update.
+ * solib-svr4.c (svr4_solib_create_inferior_hook): Update.
+ * solib-sunos.c (sunos_solib_create_inferior_hook): Update.
+ * solib-osf.c (osf_solib_create_inferior_hook): Update.
+ * solib-irix.c (irix_solib_create_inferior_hook): Update.
+ * remote-vx.c (vx_create_inferior): Update.
+ * mips-tdep.c (heuristic_proc_start): Update.
+
+2003-04-07 Elena Zannoni <ezannoni@redhat.com>
+
+ * disasm.c (dump_insns): Move variables inside loop, or they will
+ be freed more than once, causing wild memory corruptions.
+ (gdb_disassembly): Look for the substring "-thread",
+ instead of "-threads" in the target name, to make sure to find
+ the 'multi-thread' target. Also, make sure we do the right thing
+ with the "core" target.
+
+2003-04-07 Kevin Buettner <kevinb@redhat.com>
+
+ * mips-tdep.c (mips_print_fp_register): New function, created from
+ do_fp_register_row(). Registers are now (also) printed as hex.
+ Only one register is printed per row.
+ (mips_print_register, do_fp_register_row): Print floating point
+ registers with mips_print_fp_register().
+
+2003-04-06 Andrew Cagney <cagney@redhat.com>
+
+ * valprint.h (inspect_it): Add extern declaration.
+ * objc-lang.c (value_nsstring): Avoid assignment inside of "if".
+ (selectors_info, classes_info): Ditto.
+ (find_objc_msgcall): Fix indentation.
+ (objc_printstr): Delete extern declarations.
+
+ * arm-tdep.c (arm_frameless_function_invocation): Fix typo.
+
+2003-04-06 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (legacy_frame_chain_valid): Rename frame_chain_valid.
+ Update comment.
+ * frame.c (legacy_saved_regs_this_id): Update.
+ (legacy_get_prev_frame): Update.
+ * xstormy16-tdep.c: Update comment.
+ * sparc-tdep.c (sparc_frame_chain): Update comment.
+ * blockframe.c (legacy_frame_chain_valid): Update.
+
+2003-04-06 Andrew Cagney <cagney@redhat.com>
+
+ * valprint.c (val_print_type_code_int): Delete #ifdef
+ PRINT_TYPELESS_INTEGER code.
+
+ * gdbarch.sh (DEPRECATED_USE_GENERIC_DUMMY_FRAMES)
+ (CALL_DUMMY_LOCATION, DEPRECATED_PC_IN_CALL_DUMMY): Allow partial
+ multi-arch definition.
+ * gdbarch.h: Re-generate.
+
+2003-04-05 Andrew Cagney <cagney@redhat.com>
+
+ Eliminate FRAME_FIND_SAVED_REGS.
+ * config/pa/tm-hppah.h (hppa_hpux_frame_find_saved_regs_in_sigtramp):
+ Change FSR parameter to a pointer.
+ * config/pa/tm-hppa64.h (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP):
+ Assume FSR parameter is a pointer.
+ * hppa-hpux-tdep.c (hppa_hpux_frame_find_saved_regs_in_sigtramp):
+ Make fsr a pointer.
+ * hppa-tdep.c (hppa_frame_find_saved_regs): New function.
+ (hppa_frame_saved_pc): Call hppa_frame_init_saved_regs. Make
+ saved_regs a pointer.
+ (hppa_frame_saved_pc): Ditto.
+ (find_dummy_frame_regs): Make frame_saved_regs a pointer
+ (hppa_pop_frame): Call hppa_frame_init_saved_regs. Make fsr a
+ pointer.
+ (restore_pc_queue): Make fsr a pointer.
+ (hppa_frame_find_saved_regs): Make frame_saved_regs a pointer.
+ (hppa_frame_chain): Make saved_regs a pointer, call
+ hppa_frame_init_saved_regs.
+ * sparc-tdep.c: Include "gdb_assert.h".
+ (sparc_frame_find_saved_regs): Replace internal_error with
+ gdb_assert.
+ * remote-vxsparc.c (vx_read_register): Delete reference to
+ FRAME_FIND_SAVED_REGS.
+ * gdbarch.sh: Delete check for FRAME_FIND_SAVED_REGS.
+ * gdbarch.h: Regenerate.
+ * frame.h (DEPRECATED_FRAME_INIT_SAVED_REGS): Delete macro.
+ (deprecated_get_frame_saved_regs): Delete declaration.
+ (struct frame_saved_regs): Delete definition.
+ * frame.c (deprecated_get_frame_saved_regs): Delete function.
+ * config/pa/tm-hppa.h (hppa_frame_init_saved_regs): Declare.
+ (hppa_frame_find_saved_regs): Delete declaration.
+ (FRAME_FIND_SAVED_REGS): Delete macro.
+ (DEPRECATED_FRAME_INIT_SAVED_REGS): Define.
+ * config/i386/tm-ptx.h (FRAME_FIND_SAVED_REGS): Delete
+ FRAME_FIND_SAVED_REGS in comment.
+
+2003-04-05 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (frame_func_unwind, get_frame_func): New functions.
+ * frame.h (get_frame_func, frame_func_unwind): Declare.
+ (struct frame_info): Add field "prev_func" for caching the
+ previous frame's function address.
+ * arm-tdep.c (arm_frameless_function_invocation): Combine
+ get_pc_function_start and get_frame_pc into get_frame_func.
+ * sh-tdep.c (sh_nofp_frame_init_saved_regs): Ditto.
+ (sh64_nofp_frame_init_saved_regs): Ditto.
+ * s390-tdep.c (s390_function_start): Ditto.
+ * rs6000-tdep.c (rs6000_pop_frame): Ditto.
+ (rs6000_frameless_function_invocation): Ditto.
+ (rs6000_frame_saved_pc): Ditto.
+ * m68k-tdep.c (m68k_frame_init_saved_regs): Ditto.
+ * ia64-tdep.c (ia64_frame_init_saved_regs): Ditto.
+ * i386-tdep.c (i386_frameless_signal_p): Ditto.
+ (i386_frame_init_saved_regs): Ditto.
+ * hppa-tdep.c (hppa_frame_find_saved_regs): Ditto.
+ * d10v-tdep.c (d10v_frame_unwind_cache): Combine
+ get_pc_function_start and frame_pc_unwind into frame_func_unwind.
+ * cris-tdep.c (cris_frame_init_saved_regs): Ditto.
+ * blockframe.c (frameless_look_for_prologue): Ditto.
+
+2003-04-05 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (legacy_get_prev_frame): Link prev to next at the
+ function start. Update comments.
+
+2003-04-05 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_frame_id): Update comment.
+ (legacy_get_prev_frame): Update comment.
+ * gdbarch.sh: Delete check for EXTRA_FRAME_INFO.
+ * gdbarch.h: Regenerate.
+ * config/sparc/tm-sparc.h (EXTRA_FRAME_INFO): Delete.
+ * frame.h: Delete #ifdef EXTRA_FRAME_INFO code.
+
+2003-04-05 Andrew Cagney <cagney@redhat.com>
+
+ * stack.c (print_frame_info): Use get_frame_pc.
+
+2003-04-04 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_prev_frame): Do not call frame_type_from_pc. Set
+ the frame's type from the unwinder.
+ (get_frame_type): Map UNKNOWN_FRAME onto NORMAL_FRAME.
+ (create_new_frame, legacy_get_prev_frame): When the unwinder's
+ type isn't UNKNOWN_FRAME, initalize "type" from the unwinder.
+ (get_frame_base_address): Use get_frame_type.
+ (get_frame_locals_address, get_frame_args_address): Ditto.
+ (legacy_saved_regs_unwinder): Set the type to UNKNOWN_TYPE.
+ * frame.h (enum frame_type): Add UNKNOWN_FRAME.
+ (struct frame_info): Add comment explaining why the frame contains
+ a "type" field.
+ * dummy-frame.c (dummy_frame_unwind): Set the type to DUMMY_FRAME.
+ * d10v-tdep.c (d10v_frame_unwind): Set the type to NORMAL_FRAME.
+ * sentinel-frame.c (sentinel_frame_unwinder): Set the type to
+ NORMAL_FRAME.
+ * frame-unwind.h: Include "frame.h".
+ (struct frame_unwind): Add "type" field.
+ * Makefile.in (frame_unwind_h): Add $(frame_h).
+
+2003-04-04 Andrew Cagney <cagney@redhat.com>
+
+ * x86-64-tdep.c (x86_64_unwind_dummy_id): Use frame_id_build.
+ * dummy-frame.c (dummy_frame_this_id): Use frame_id_build.
+ * d10v-tdep.c (d10v_frame_this_id): Use get_frame_pc and
+ get_frame_base.
+ (d10v_unwind_dummy_id): Use frame_id_build.
+ * frame.c (find_frame_sal): Use get_frame_pc.
+ (create_new_frame): Use deprecated_update_frame_pc_hack and
+ deprecated_update_frame_base_hack.
+ (create_sentinel_frame): Add comment about ->pc going away.
+ (get_prev_frame): Add comment about ->pc going away.
+ (legacy_get_prev_frame): Use get_frame_base, get_frame_pc,
+ frame_id_build, deprecated_update_frame_pc_hack and
+ deprecated_update_frame_base_hack.
+ (select_frame): Use get_frame_pc.
+ (legacy_saved_regs_this_id): Use frame_id_build.
+
+2003-04-04 Elena Zannoni <ezannoni@redhat.com>
+
+ * x86-64-tdep.c (x86_64_push_arguments): Handle correctly the
+ signed integer case.
+ (classify_argument): Handle enumerations and references.
+
+2003-04-04 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (create_sentinel_frame): Initialize the sentinel frame's
+ ID to NULL.
+
+2003-04-01 Adam Fedor <fedor@gnu.org>
+
+ * gdb/objc-lang.c (selectors_info): Replace calls to
+ SYMBOL_DEMANGLED_NAME and DEPRECATED_SYMBOL_NAME with
+ SYMBOL_NATURAL_NAME.
+ (classes_info, find_methods): Likewise.
+
+2003-04-03 Kevin Buettner <kevinb@redhat.com>
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): For xcoff executables, set
+ ``mach'' to the value determined by bfd_default_set_arch_mach().
+
+2003-04-02 Bob Rossi <bob_rossi@cox.net>
+
+ * Makefile.in (SUBDIR_MI_OBS): Add "mi-cmd-file.o".
+ (SUBDIR_MI_SRCS): Add "mi-cmd-file.c".
+ (mi-cmd-file.o): Update dependencies.
+
+2003-04-01 Kevin Buettner <kevinb@redhat.com>
+
+ * mips-tdep.c (mips_dwarf_dwarf2_ecoff_reg_to_regnum)
+ (mips_stab_reg_to_regnum): Add mappings for HI_REGNUM and LO_REGNUM.
+
+2003-04-01 Adam Fedor <fedor@gnu.org>
+
+ * Makefile.in (c_lang.o, jv_lang.o, language.o): Add $(demangle_h).
+ * language.h (struct language_defn): Add la_demangle.
+ (language_demangle): Declare.
+ * language.c (language_demangle): New function.
+ (unk_lang_demangle): Likewise.
+ (unknown_language_defn, auto_language_defn, local_language_defn):
+ Add ukn_lang_demangle.
+ * ada-lang.c (ada_language_defn): Add NULL for la_demangle element.
+ * f-lang.c, m2-lang.c, p-lang.c, scm-lang.c: Likewise.
+ * c-lang.c (c_language_defn, asm_language_defn): Likewise.
+ (cplus_language_defn): Add cplus_demangle for la_demangle element.
+ * jv-lang.c (java_demangle): New function
+ (java_language_defn): Use it for la_demangle element.
+ * objc-lang.c (objc_demangle): Add options argument
+ (objc_language_defn): Use objc_demangle for la_demangle element.
+ * maint.c (maintenance_demangle): Replace switch with
+ call to language_demangle.
+ * utils.c (fprintf_symbol_filtered): Likewise.
+
+2003-04-01 Andrew Cagney <cagney@redhat.com>
+
+ * printcmd.c (print_frame_nameless_args): Delete #ifdef
+ NAMELESS_ARG_VALUE, PRINT_NAMELESS_INTEGER and
+ PRINT_TYPELESS_INTEGER.
+ * config/sparc/tm-sp64.h (DEPRECATED_PUSH_RETURN_ADDRESS): Rename
+ PUSH_RETURN_ADDRESS.
+
+2003-04-01 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (d10v-tdep.o): Update dependencies.
+ * d10v-tdep.c: Include "frame-base.h".
+ (d10v_frame_unwind): Make constant.
+ (d10v_frame_base_address): New function.
+ (d10v_frame_base): New variable.
+ (d10v_gdbarch_init): Set frame_base default.
+ (struct d10v_unwind_cache): Add the field "prev_sp". Update
+ comment for base.
+ (d10v_frame_unwind_cache): Set and use "prev_sp".
+ (d10v_frame_this_id): Use the previous frame's inner most stack
+ address and this frame's func address for the frame ID. Use
+ frame_id_build. Don't analyze beyond the current instruction.
+
+2003-04-01 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (get_frame_locals_address, get_frame_args_address):
+ Refer to the base address, instead of the address of the first
+ local or parameter.
+
+2003-04-01 Andrew Cagney <cagney@redhat.com>
+
+ Add frame debug info addresses:
+ * frame-base.c: New file.
+ * frame-base.h: New file.
+ * frame.h (struct frame_base): Add opaque declaration.
+ (get_frame_base): Update comment.
+ (get_frame_base_address): Declare.
+ (get_frame_locals_address): Declare.
+ (get_frame_args_address): Declare.
+ (struct frame_info): Add "base" and "base_cache". Update
+ comments on the unwinder.
+ * frame.c: Include "frame-base.h".
+ (get_frame_locals_address): New function.
+ (get_frame_base_address): New function.
+ (get_frame_args_address): New function.
+ * findvar.c (read_var_value): Use get_frame_locals_address and
+ get_frame_args_address.
+ * stack.c (frame_info): Use get_frame_locals_address and
+ get_frame_args_address.
+ (FRAME_ARGS_ADDRESS_CORRECT): Delete conditionally defined macro,
+ moved to "frame-base.c".
+ * printcmd.c (print_frame_nameless_args): Ditto.
+ * symtab.h (address_class): Update comments.
+ * dwarf2loc.c (dwarf_expr_frame_base): Add note about
+ get_frame_base_address.
+ * dwarf2expr.c (execute_stack_op): Ditto.
+ * Makefile.in (frame_base_h): Define.
+ (frame.o): Update dependencies.
+ (frame-base.o): Add dependencies.
+ (SFILES): Add frame-base.c.
+ (COMMON_OBS): Add frame-base.o.
+
+2003-04-01 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (CALL_DUMMY_START_OFFSET): Default to zero.
+ CALL_DUMMY_LENGTH): Ditto.
+ * gdbarch.c: Re-generate.
+ * inferior.h (CALL_DUMMY_START_OFFSET): Delete macro.
+ (CALL_DUMMY_LENGTH): Delete macro.
+ * alpha-tdep.c (alpha_gdbarch_init): Do not set above when zero.
+ * arm-tdep.c (arm_gdbarch_init): Ditto.
+ * avr-tdep.c (avr_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * d10v-tdep.c (d10v_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * hppa-tdep.c (hppa_gdbarch_init): Ditto.
+ * i386-tdep.c (i386_gdbarch_init): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * mcore-tdep.c (mcore_gdbarch_init): Ditto.
+ * mips-tdep.c (mips_gdbarch_init): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * sparc-tdep.c (sparc_gdbarch_init): Ditto.
+ * v850-tdep.c (v850_gdbarch_init): Ditto.
+ * vax-tdep.c (vax_gdbarch_init): Ditto.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
+
+2003-04-01 Corinna Vinschen <vinschen@redhat.com>
+
+ * frame.c (get_prev_frame): Disable call to inside_entry_file().
+
+2003-04-01 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (CALL_DUMMY_BREAKPOINT_OFFSET): Default to zero.
+ (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * config/sparc/tm-sp64.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
+ (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
+ * config/pa/tm-hppa64.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
+ * inferior.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
+ (CALL_DUMMY_BREAKPOINT_OFFSET): Delete.
+ * infcmd.c (run_stack_dummy): Simplify assuming
+ CALL_DUMMY_BREAKPOINT_OFFSET_P.
+ * infrun.c (handle_inferior_event): Ditto.
+ * alpha-tdep.c (alpha_gdbarch_init): Do not set
+ call_dummy_breakpoint_offset or call_dummy_breakpoint_offset_p.
+ * arm-tdep.c (arm_gdbarch_init): Ditto.
+ * avr-tdep.c (avr_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * d10v-tdep.c (d10v_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * i386-tdep.c (i386_gdbarch_init): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * m68k-tdep.c (m68k_gdbarch_init): Ditto.
+ * mcore-tdep.c (mcore_gdbarch_init): Ditto.
+ * mips-tdep.c (mips_gdbarch_init): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * sparc-tdep.c (sparc_gdbarch_init): Ditto.
+ * v850-tdep.c (v850_gdbarch_init): Ditto.
+ * vax-tdep.c (vax_gdbarch_init): Ditto.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
+
+2003-04-01 Daniel Jacobowitz <drow@mvista.com>
+
+ * symfile.c (symfile_relocate_debug_section): Update call to
+ bfd_simple_get_relocated_section_contents.
+
+2003-03-31 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (FIX_CALL_DUMMY): Change to function with predicate.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * inferior.h (FIX_CALL_DUMMY): Delete macro.
+ * valops.c (hand_function_call): Only call FIX_CALL_DUMMY when
+ available.
+ * frame.h (generic_fix_call_dummy): Delete declaration.
+ * dummy-frame.h: Update comment.
+ * dummy-frame.c (generic_fix_call_dummy): Delete function.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
+ fix_call_dummy.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * mcore-tdep.c (mcore_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * i386-tdep.c (i386_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * d10v-tdep.c (d10v_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * avr-tdep.c (avr_gdbarch_init): Ditto.
+ * arm-tdep.c (arm_gdbarch_init): Ditto.
+
+2003-03-31 J. Brobecker <brobecker@gnat.com>
+
+ * config/pa/tm-hppa64.h (FRAME_ARGS_ADDRESS): Delete macro, not useful.
+ (INIT_FRAME_AP): Likewise.
+ (EXTRA_FRAME_INFO): Likewise.
+
+2003-03-31 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Include "symfile.h".
+ (CALL_DUMMY_ADDRESS): Default to entry_point_address.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * inferior.h (CALL_DUMMY_ADDRESS): Delete macro.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
+ call_dummy_address, the default is at entry_point_address.
+ * v850-tdep.c (v850_gdbarch_init): Ditto.
+ * sparc-tdep.c (sparc_gdbarch_init): Ditto.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * mcore-tdep.c (mcore_gdbarch_init): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * i386-tdep.c (i386_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * d10v-tdep.c (d10v_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * arm-tdep.c (arm_gdbarch_init): Ditto.
+
+2003-03-31 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (CALL_DUMMY_P): Delete.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * inferior.h (CALL_DUMMY_P): Delete macro.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * d10v-tdep.c (d10v_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * breakpoint.c (deprecated_frame_in_dummy): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * dummy-frame.c (dummy_frame_this_id): Update comments.
+ * rs6000-tdep.c (rs6000_extract_struct_value_address): Ditto.
+ * frame.c (legacy_get_prev_frame): Ditto.
+ * valops.c (call_function_by_hand): Delete function.
+ (hand_function_call): Rename to call_function_by_hand
+
+2003-03-30 Andrew Cagney <cagney@redhat.com>
+
+ 2002-11-10 Klee Dienes <kdienes@apple.com>
+ * value.h (struct value): Update comment.
+
+2003-03-30 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c: Replace _FP_REGNUM and FP_REGNUM with
+ D10V_FP_REGNUM.
+ (d10v_gdbarch_init): Do not set fp_regnum.
+
+ * frame.c (get_frame_base): Force ID initialization.
+ (get_prev_frame): Move computation of the frame ID from here ...
+ (get_frame_id): ... to here.
+ (legacy_get_prev_frame): Mark the frame ID as valid.
+ * frame.h (struct frame_info): Add field "id_p".
+
+2003-03-30 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_store_struct_return): Removed.
+ (i386_gdbarch_init): Don't set deprecated_store_struct_return.
+
+2003-03-30 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_DUMMY_WRITE_SP): Replace TARGET_WRITE_SP.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * v850-tdep.c (v850_gdbarch_init): Set deprecated_dummy_write_sp.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
+ * mcore-tdep.c (mcore_gdbarch_init): Ditto.
+ * m68k-tdep.c (m68k_gdbarch_init): Ditto.
+ * i386-tdep.c (i386_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * vax-tdep.c (vax_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * alpha-tdep.c (alpha_gdbarch_init): Ditto.
+ * sparc-tdep.c (sparc_push_dummy_frame, sparc_pop_frame): Update.
+ * config/sparc/tm-sp64.h (DEPRECATED_DUMMY_WRITE_SP): Update.
+ * config/pa/tm-hppa.h (DEPRECATED_DUMMY_WRITE_SP): Define.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * valops.c (hand_function_call): Replace TARGET_WRITE_SP with
+ DEPRECATED_DUMMY_WRITE_SP. Call when the method is available,
+ instead of when push_dummy_call is not available.
+
+2003-03-30 Andrew Cagney <cagney@redhat.com>
+
+ * infttrace.c: Include "gdbthread.h".
+ (parent_attach_all): Fix function signature.
+ (call_ptrace): Update call.
+ * Makefile.in (infttrace.o): Update dependencies.
+
+2003-03-30 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_PUSH_RETURN_ADDRESS): Replace
+ PUSH_RETURN_ADDRESS.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * valops.c (hand_function_call): Update.
+
+2003-03-29 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (d10v_gdbarch_init): Do not set call_dummy_words or
+ sizeof_call_dummy_words.
+ * gdbarch.sh (CALL_DUMMY_WORDS, SIZEOF_CALL_DUMMY_WORDS): Always
+ define.
+ * gdbarch.h: Regenerate.
+
+2003-03-29 Andrew Cagney <cagney@redhat.com>
+
+ * infttrace.h: New file.
+ * hpread.c: Include "gdb_assert.h" and "somsolib.h".
+ (hpread_get_textlow): Detect an uninitialized dn_bufp.
+ (hpread_read_doc_function_type): Detect an initialized type1.
+ (hpread_quick_traverse): Initialize mod_name_string.
+ * somsolib.h: Add #ifdef SOMSOLIB_H wrapper.
+ (som_solib_get_solib_by_pc): Declare.
+ (so_lib_thread_start_addr): Declare.
+ (no_shared_libraries): Declare.
+ * somread.c (init_import_symbols): Make static. Add forward
+ declaration.
+ * config/pa/nm-hppah.h: Include "infttrace.h" for
+ parent_attach_all.
+ (hppa_insert_hw_watchpoint): Declare.
+ (hppa_can_use_hw_watchpoint, hppa_remove_hw_watchpoint): Declare.
+ * hppah-nat.c: Include "gdb_string.h".
+ (parent_attach_all): Delete extern declaration, moved to
+ "infttrace.h".
+ (hppa_can_use_hw_watchpoint): Change type of "type" parameter to
+ int.
+ (hppa_remove_hw_watchpoint, hppa_insert_hw_watchpoint): Ditto.
+ * Makefile.in (infttrace_h): Define.
+ (hpread.o): Update dependencies.
+ (hppah-nat.o, hppa-hpux-tdep.o, hppa-tdep.o): Ditto.
+ * hppa-hpux-tdep.c: Include "gdb_string.h".
+ * hppa-tdep.c (hppa_frame_saved_pc): Initialize "old_pc".
+ * infrun.c (handle_inferior_event): Always initialize
+ stepped_after_stopped_by_watchpoint. Add default and remove
+ fallthrough in switch statement.
+ * infttrace.c (hppa_can_use_hw_watchpoint): Change type of "type"
+ parameter to int.
+ (hppa_remove_hw_watchpoint): Ditto.
+
+2003-03-29 Andrew Cagney <cagney@redhat.com>
+
+ * ns32k-tdep.c (ns32k_gdbarch_init): Set the call dummy breakpoint
+ offset.
+
+2003-03-29 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-tdep.c (arm_push_arguments): Delete.
+ (struct stack_item): New type.
+ (push_stack_item, pop_stack_item, arm_push_dummy_call): New functions.
+ (arm_store_struct_return): Delte.
+ (arm_gdbarch_init): Register arm_push_dummy_call. Don't register
+ arm_push_arguments or arm_store_struct_return.
+
+2003-03-28 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (d10v-tdep.o): Update dependencies.
+ * remote.h (target_resume_hook, target_wait_loop_hook): Declare.
+ * d10v-tdep.c: Include "remote.h".
+ (target_resume_hook): Delete extern declaration.
+ (target_wait_loop_hook): Ditto.
+ (tdisassemble_command): Eliminate assignment in "if" conditional.
+ (d10v_ts2_register_sim_regno): Eliminate call to
+ legacy_register_sim_regno.
+ (d10v_ts3_register_sim_regno): Ditto.
+
+2003-03-28 Jeff Johnston <jjohnstn@redhat.com>
+
+ * thread.c: Reindented.
+ * lin-lwp.c: Ditto.
+ * linux-proc.c: Ditto.
+
+2003-03-28 Bob Rossi <bob_rossi@cox.net>
+
+ * MAINTAINERS (write after approval): Add myself.
+
+2003-03-27 Theodore A. Roth <troth@openavr.org>
+
+ * objc-exp.y: Add missing semi-colons.
+
+2003-03-27 Andrew Cagney <cagney@redhat.com>
+
+ * regcache.c (write_sp): Delete function and references.
+ * inferior.h (write_sp): Delete declaration.
+ * valops.c (hand_function_call): Replace write_sp with
+ TARGET_WRITE_SP.
+ * sparc-tdep.c (sparc_push_dummy_frame): Ditto.
+ (sparc_pop_frame): Ditto.
+
+2003-03-27 Andrew Cagney <cagney@redhat.com>
+
+ * NEWS: Mention removal of support for hppa*-*-bsd* and
+ hppa*-*-osf* natives, and hppa*-*-pro* target.
+ * config/pa/xm-hppah.h: Do not include "pa/xm-pa.h".
+ * config/pa/xm-pa.h: Obsolete file.
+ * config/pa/xm-hppab.h: Obsolete file.
+ * config/pa/nm-hppab.h: Obsolete file.
+ * config/pa/tm-hppab.h: Obsolete file.
+ * config/pa/tm-hppao.h: Obsolete file.
+ * config/pa/nm-hppao.h: Obsolete file.
+ * config/pa/tm-pro.h: Obsolete file.
+ * config/pa/hppaosf.mt: Obsolete file.
+ * config/pa/hppaosf.mh: Obsolete file.
+ * config/pa/hppapro.mt: Obsolete file.
+ * config/pa/hppabsd.mt: Obsolete file.
+ * config/pa/hppabsd.mh: Obsolete file.
+ * configure.host: Disable hppa*-*-bsd* and hppa*-*-osf*.
+ * configure.tgt: Disable hppa*-*-bsd*, hppa*-*-pro* and
+ hppa*-*-osf*.
+
+2003-03-27 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (d10v_gdbarch_init): Set push_dummy_call instead of
+ push_arguments. Don't set push_return_address or write_sp.
+ (d10v_push_dummy_call): Replace d10v_push_arguments.
+ (d10v_push_return_address, d10v_write_sp): Delete function,
+ handled by push_dummy_call.
+
+2003-03-26 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_PUSH_ARGUMENTS): Rename PUSH_ARGUMENTS.
+ (push_dummy_call): New pure multi-arch replacement with gdbarch,
+ regcache and dummy_addr parameters.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * valops.c (hand_function_call): Use gdbarch_push_dummy_call when
+ available; assume it will handle stack alignment and return
+ address issues. Fall back to DEPRECATED_PUSH_ARGUMENTS and
+ legacy_push_arguments.
+ (legacy_push_arguments): Rename default_push_arguments.
+ * value.h (legacy_push_arguments): Rename default_push_arguments.
+ * i386-tdep.c (i386_push_arguments): Call legacy_push_arguments.
+ * config/sparc/tm-sparc.h (DEPRECATED_PUSH_ARGUMENTS): Update.
+ * config/sparc/tm-sp64.h (DEPRECATED_PUSH_ARGUMENTS): Update.
+ * config/pa/tm-hppa.h (DEPRECATED_PUSH_ARGUMENTS): Update.
+ * config/i386/tm-symmetry.h: Update.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * d10v-tdep.c (d10v_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * arm-linux-tdep.c (arm_linux_init_abi): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-26 Daniel Jacobowitz <drow@mvista.com>
+
+ * signals/signals.c (do_target_signal_to_host): Correct realtime
+ signal range test.
+
+2003-03-26 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (handle_gnu_4_16_catch_command, get_catch_sals)
+ (struct sal_chain, map_catch_names): Remove.
+ (catch_exception_command_1): Don't call
+ handle_gnu_4_16_catch_command.
+
+2003-03-26 Daniel Jacobowitz <drow@mvista.com>
+
+ From Mark Dettinger <dettinge@de.ibm.com>:
+ * dwarf2cfi.c (read_2u): Increment pointer by two.
+
+2003-03-26 Daniel Jacobowitz <drow@mvista.com>
+
+ * signals/signals.c: Fix typos in last change.
+
+2003-03-26 Daniel Jacobowitz <drow@mvista.com>
+
+ * signals/signals.c (REALTIME_LO, REALTIME_HI): Define if
+ not already defined. Use __SIGRTMIN if available.
+ (target_signal_from_host): Remove SIGRTMIN block.
+ (do_target_signal_to_host): Remove SIGRTMIN block; check that
+ the signal is within the realtime range.
+
+2003-03-25 Adam Fedor <fedor@gnu.org>
+
+ * Makefile.in (infrun.o): Add $(language_h)
+ * infrun.c (handle_inferior_event): Use skip_language_trampoline
+ for language specific trampolines.
+ * language.h (struct language_defn): Add skip_trampoline.
+ (skip_language_trampoline): Declare.
+ * language.c (unk_lang_trampoline, skip_language_trampoline):
+ New functions.
+ (unknown_language_defn, auto_language_defn, local_language_defn):
+ Add ukn_lang_trampoline.
+ * ada-lang.c (ada_language_defn): Add NULL for language
+ specific skip_trampoline.
+ * c-lang.c, f-lang.c, jv-lang.c, m2-lang.c, p-lang.c,
+ scm-lang.c: Likewise.
+ * objc-lang.c (objc_skip_trampoline): New function.
+ (objc_language_defn): Add objc_skip_trampoline.
+
+2003-03-25 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_prev_frame): Delay validating a frame's ID -
+ non-NULL, didn't go backwards - until an attempt to unwind it to
+ the previous frame.
+
+2003-03-25 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED): Replace
+ EXTRA_STACK_ALIGNMENT_NEEDED. Default to 0 not 1.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * config/sparc/tm-sparc.h
+ (DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED): Define.
+ * sparc-tdep.c (sparc_gdbarch_init): Set
+ deprecated_extra_stack_alignment_needed.
+ * config/pa/tm-hppa.h (EXTRA_STACK_ALIGNMENT_NEEDED): Delete.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not clear
+ extra_stack_alignment_needed.
+ * v850-tdep.c (v850_gdbarch_init): Ditto.
+ * hppa-tdep.c (hppa_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * d10v-tdep.c (d10v_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * m68k-tdep.c (m68k_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+
+2003-03-25 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_STORE_STRUCT_RETURN): Replace
+ STORE_STRUCT_RETURN.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * d10v-tdep.c (d10v_store_struct_return): Delete function.
+ (d10v_push_arguments): Set the struct return register.
+ (d10v_gdbarch_init): Update.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-25 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (CALL_DUMMY_STACK_ADJUST_P): Delete.
+ (DEPRECATED_CALL_DUMMY_STACK_ADJUST): Replace
+ CALL_DUMMY_STACK_ADJUST with a predicate variable.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
+ call_dummy_stack_adjust_p.
+ * vax-tdep.c (vax_gdbarch_init): Ditto.
+ * v850-tdep.c (v850_gdbarch_init): Ditto.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * mips-tdep.c (mips_gdbarch_init): Ditto.
+ * mcore-tdep.c (mcore_gdbarch_init): Ditto.
+ * m68k-tdep.c (m68k_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * i386-tdep.c (i386_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * d10v-tdep.c (d10v_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * avr-tdep.c (avr_gdbarch_init): Ditto.
+ * arm-tdep.c (arm_gdbarch_init): Ditto.
+ * alpha-tdep.c (alpha_gdbarch_init): Ditto.
+ * config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update.
+ * config/sparc/tm-sparc.h (CALL_DUMMY_STACK_ADJUST): Update.
+ * config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update. Do not set
+ call_dummy_stack_adjust_p.
+ * inferior.h (CALL_DUMMY_STACK_ADJUST_P): Delete macro.
+ (CALL_DUMMY_STACK_ADJUST): Delete macro.
+ * sparc-tdep.c (sparc32_push_arguments): Update.
+ * valops.c (hand_function_call): Update.
+
+2003-03-25 Corinna Vinschen <vinschen@redhat.com>
+
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Add call to
+ set_gdbarch_char_signed.
+
+2003-03-25 Richard Earnshaw <rearnsha@arm.com>
+
+ PR cli/548
+ * arm-tdep.c (_initialize_arm_tdep): Command is "set arm disassembler".
+
+2003-03-25 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-tdep.c (arm_gdbarch_init): Register the disassembler function.
+ (_initialize_arm_tdep): Don't set tm_print_insn.
+
+2003-03-24 Adam Fedor <fedor@gnu.org>
+
+ * Makefile.in (YYOBJ): Add objc-exp.tab.o
+ * objc-lang.h: Add multiple inclusion protection.
+ (start_msglist, add_msglist, end_msglist): Additional declarations.
+
+2003-03-24 Richard Earnshaw <rearnsha@arm.com>
+
+ * armnbsd-tdep.c (arm_netbsd_aout_init_abi): ARM_FLOAT_SOFT enum
+ value was renamed to ARM_FLOAT_SOFT_FPA.
+
+2003-03-23 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_FRAME_CHAIN): Replace FRAME_CHAIN.
+ (DEPRECATED_FRAME_CHAIN_VALID): Replace FRAME_CHAIN_VALID.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * valops.c (hand_function_call): Update.
+ * objfiles.h (DEPRECATED_FRAME_CHAIN_VALID): Update.
+ * frame.c (legacy_saved_regs_this_id): Update.
+ (legacy_get_prev_frame, get_prev_frame, legacy_frame_p): Update.
+ * dummy-frame.h: Update.
+ * config/sparc/tm-sparc.h (DEPRECATED_FRAME_CHAIN): Update.
+ * config/pa/tm-hppa.h (DEPRECATED_FRAME_CHAIN_VALID): Update.
+ * config/m68k/tm-vx68.h (DEPRECATED_FRAME_CHAIN): Update.
+ * config/m68k/tm-os68k.h (DEPRECATED_FRAME_CHAIN): Update.
+ * config/m68k/tm-sun3.h: Update.
+ * blockframe.c (inside_main_func, frame_chain_valid): Update.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_frame_chain, sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_frame_saved_pc): Update.
+ (rs6000_gdbarch_init, rs6000_frame_saved_pc): Update.
+ (frame_get_saved_regs): Update.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_frame_num_args, i386_gdbarch_init): Update.
+ * i386-interix-tdep.c (i386_interix_init_abi): Update.
+ (i386_interix_back_one_frame): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ (hppa_init_extra_frame_info): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-22 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-tdep.h (arm_float_model): Add AUTO and LAST values.
+ (arm_get_fp_model): Declare.
+ * arm-tdep.c (fp_model_strings): New string array.
+ (arm_fp_model, current_fp_model): New variables.
+ (arm_get_fp_model): New function.
+ (arm_set_fp): New function.
+ (set_fp_model_sfunc): New function.
+ (show_fp_model): New function.
+ (_initialize_arm_tdep): Add new command to set/show the FPU.
+ (arm_extract_return_value): Use arm_get_fp_model.
+ (arm_store_return_value): Likewise.
+ (arm_gdbarch_init): Default fpa model is softfpa. Call arm_set_fp
+ to initialize the floating-point data types.
+ * arm-linux-tdep.c (arm_linux_init_abi): The default floating point
+ model is FPA.
+
+2003-03-22 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-tdep.c (show_arm_command): Don't print out help. Instead, show
+ the current setting of each value.
+ (_initialize_arm_tdep): Delete variable new_cmd and add new vars
+ new_set and new_show. Use add_setshow_cmd_full and
+ add_setshow_boolean_cmd as appropriate. Deprecate "set/show apcs32"
+ commands and add new version as subcommands of "set/show arm".
+
+2003-03-22 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-tdep.c (setarmcmdlist, showarmcmdlist): New command lists.
+ (set_arm_command, show_arm_command): New functions.
+ (_initialize_arm_tdep): Add them.
+ (num_disassembly_options): Renamed from num_flavor_options.
+ (valid_disassembly_styles): Renamed from valid_flavors.
+ (disassembly_style): Renamed from disassembly_flavor.
+ (set_disassembly_style_sfunc): Renamed from
+ set_disassembly_flavor_sfunc.
+ (set_disassembly_style): Renamed from set_disassembly_flavor.
+ (arm_othernames): Updated.
+ (_initialize_arm_tdep): Deprecate "set/show disassembly-flavor"
+ command. Add "set/show arm disassembly" commands. Deprecate
+ "othernames" command.
+
+2003-03-22 Richard Earnshaw <rearnsha@arm.com>
+
+ * Makefile.in (elf_reloc_macros_h, elf_arm_h): Define.
+ (arm-tdep.o): Depend on elf_arm_h.
+
+2003-03-22 Richard Earnshaw <rearnsha@arm.com>
+
+ * Makefile.in (coff_internal_h): Define.
+ (arm-tdep.o): Update dependencies.
+
+2003-03-22 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-tdep.c (prologue_cache): Delete.
+ (check_prologue_cache, save_prologue_cache): Delete.
+ (arm_scan_prologue): Don't check or update the prologue_cache.
+ (arm_gdb_arch_init): Don't initialize it.
+ (_initialize_arm_tdep): Likewise.
+
+2003-03-21 Stephane Carrez <stcarrez@nerim.fr>
+
+ * MAINTAINERS (tui): Maintainer of tui code.
+
+2003-03-21 Corinna Vinschen <vinschen@redhat.com>
+
+ * Makefile.in (ALLDEPFILES): Add i386-cygwin-tdep.c.
+ (i386-cygwin-tdep.o): Add dependencies.
+ * defs.h (enum gdb_osabi): Add GDB_OSABI_CYGWIN.
+ * i386-cygwin-tdep.c: New file.
+ * osabi.c (gdb_osabi_name): Add string for GDB_OSABI_CYGWIN.
+ * config/i386/cygwin.mt (TDEPFILES): Add i386-cygwin-tdep.o.
+
+2003-03-20 Andrew Cagney <cagney@redhat.com>
+
+ * infrun.c (DYNAMIC_TRAMPOLINE_NEXTPC): Delete macro.
+ (handle_inferior_event): Remove code calling
+ DYNAMIC_TRAMPOLINE_NEXTPC.
+
+ * Makefile.in (init.c): Don't add $(srcdir) prefix when a file
+ already has a full path.
+
+ * main.c (gdb_main): Return 1.
+ (captured_main): Call error to report an invalid interpreter.
+
+ * Makefile.in (alpha-osf1-tdep.o): Update dependencies.
+ * alpha-osf1-tdep.c: Include "gdb_string.h".
+
+2003-03-19 J. Brobecker <brobecker@gnat.com>
+
+ Continuing work to convert the hppa targets to multiarch partial.
+
+ * hppa-tdep.c (hppa_gdbarch_init): Set the push_dummy_frame gdbarch
+ method, now that hppa_push_dummy_frame has a conformant prototype.
+ * config/pa/tm-hppa.h (DEPRECATED_PUSH_DUMMY_FRAME): Wrap macro
+ inside "#if !GDB_MULTI_ARCH ... #endif" conditional, in preparation
+ for the switch to multiarch partial.
+
+2003-03-19 Kevin Buettner <kevinb@redhat.com>
+
+ * mdebugread.c (parse_symbol): For stEnd, we're done counting
+ when iss is issNull.
+
+2003-03-18 Kevin Buettner <kevinb@redhat.com>
+
+ * mips-tdep.c (mips_register_name): Fix fencepost error involving
+ NUM_REGS bounds check.
+
+2003-03-18 Kevin Buettner <kevinb@redhat.com>
+
+ * Makefile.in (mips-tdep.o): Add dependency on $(gdb_assert_h).
+ * mips-tdep.c (gdb_assert.h): Include.
+ (mips_generic_reg_names, mips_processor_reg_names): Make static.
+ (mips_register_name): Handle integer registers explicitly. Add
+ bounds checking.
+ (mips_r3041_reg_names, mips_r3051_reg_names, mips_r3081_reg_names)
+ (mips_lsi33k_reg_names): Don't list integer registers; they're
+ handled by mips_register_name() now.
+ * config/mips/tm-irix3.h (MIPS_REGISTER_NAMES): Likewise.
+ * config/mips/tm-irix6.h (MIPS_REGISTER_NAMES): Likewise.
+ * config/mips/tm-mips.h (MIPS_REGISTER_NAMES): Likewise.
+ * config/mips/tm-tx39.h (MIPS_REGISTER_NAMES): Likewise.
+ * config/mips/tm-tx39l.h (MIPS_REGISTER_NAMES): Likewise.
+
+2003-03-18 Andrew Cagney <cagney@redhat.com>
+
+ * printcmd.c (print_scalar_formatted): Change VALADDR parameter to
+ a void pointer.
+ * gdbtypes.h (print_scalar_formatted): Update declaration.
+ * expression.h (enum exp_opcode): Remove non-ISO C trailing comma.
+
+2003-03-18 J. Brobecker <brobecker@gnat.com>
+
+ * infrun.c (observer.h): Add #include.
+ (normal_stop): Add call to observer_notify_normal_stop.
+ * Makefile.in (infrun.o): Add dependency on observer.h.
+
+2003-03-18 J. Brobecker <brobecker@gnat.com>
+
+ Continuing work to convert the hppa targets to multiarch partial.
+ * hppa-tdep.c (hppa_push_dummy_frame): Remove unused function
+ parameter. Reformat comment.
+ * config/pa/tm-hppa.h (hppa_push_dummy_frame): Update profile.
+ (DEPRECATED_PUSH_DUMMY_FRAME): Update call to hppa_push_dummy_frame()
+ to match new profile.
+
+2003-03-18 J. Brobecker <brobecker@gnat.com>
+
+ * hppa-tdep.c (hppa_push_dummy_frame): Remove hack which does not
+ appear to be working in any case.
+
+2003-03-18 J. Brobecker <brobecker@gnat.com>
+
+ * observer.c (observer_test_first_observer): New static variable.
+ (observer_test_second_observer): Likewise.
+ (observer_test_third_observer): Likewise.
+ (observer_test_first_notification_function): New static function.
+ (observer_test_second_notification_function): Likewise.
+ (observer_test_third_notification_function): Likewise.
+
+2003-03-17 J. Brobecker <brobecker@gnat.com>
+
+ * hppa-tdep.c (gdb_assert.h): Add missing #include.
+ * somsolib.c (gdb_assert.h): Likewise.
+ * Makefile.in (hppa-tdep.o): Add dependency on gdb_assert.h.
+ (somsolib.o): Likewise.
+
+2003-03-17 Andrew Cagney <cagney@redhat.com>
+
+ * disasm.c (gdb_disassembly): Set di.mach using the architecture's
+ BFD. Simplify setting of di.endian.
+
+2003-03-17 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (ppc_floating_point_unit_p): New function.
+ * ppc-tdep.h (ppc_floating_point_unit_p): Declare.
+
+ From Elena Zannoni <ezannoni@redhat.com>
+ * ppc-sysv-tdep.c (ppc_sysv_abi_push_arguments): Handle e500
+ vector and floating-point parameters.
+ (ppc_sysv_abi_use_struct_convention): Handle e500 struct return
+ convention.
+ (ppc_sysv_abi_broken_use_struct_convention): Ditto.
+
+2003-03-17 Fernando Nasser <fnasser@redhat.com>
+
+ * MAINTAINERS: Remove my name from several maintainership roles.
+
+2003-03-17 Andrew Cagney <cagney@redhat.com>
+
+ Fix frame off-by-one bug.
+ * frame-unwind.h (frame_this_id_ftype): Replace
+ frame_unwind_id_ftype.
+ (frame_prev_register_ftype): Replace frame_unwind_reg_ftype.
+ (struct frame_unwind): Replace "id" with "this_id". Replace "reg"
+ with "prev_register".
+ * frame-unwind.c (frame_unwind_find_by_pc): Return
+ legacy_saved_regs_unwind instead of trad_frame_unwind. Update
+ comment.
+ * dummy-frame.c (cached_find_dummy_frame): Delete function.
+ (dummy_frame_this_id): Replace dummy_frame_id_unwind.
+ (dummy_frame_prev_register): Replace dummy_frame_register_unwind.
+ (dummy_frame_unwind): Update.
+ * sentinel-frame.c (sentinel_frame_prev_register): Replace
+ sentinel_frame_register_unwind.
+ (sentinel_frame_this_id): Replace sentinel_frame_id_unwind.
+ (sentinel_frame_unwinder): Update.
+ * frame.h (legacy_saved_regs_unwind): Replace trad_frame_unwind.
+ (struct frame_info): Rename "unwind_cache" to "prologue_cache".
+ * frame.c (create_sentinel_frame): Update. Initialize
+ "prologue_cache" instead of "unwind_cache".
+ (frame_register_unwind): Call this frame's prev_register with the
+ next frame and this frame's prologue cache.
+ (get_prev_frame): Simplify. Always call prev frame's this_id with
+ this frame and prev frame's prologue cache. Document that this
+ call is shifted one to the left when compared to the
+ frame_register_unwind call.
+ (legacy_saved_regs_prev_register): Replace
+ frame_saved_regs_register_unwind.
+ (legacy_saved_regs_this_id): Replace frame_saved_regs_id_unwind.
+ (legacy_saved_regs_unwinder): Replace trad_frame_unwinder.
+ (legacy_saved_regs_unwind): Replace trad_frame_unwind.
+ * d10v-tdep.c (d10v_frame_this_id): Replace d10v_frame_id_unwind.
+ (d10v_frame_unwind): Update.
+ (d10v_frame_prev_register): Replace d10v_frame_register_unwind.
+ (d10v_frame_unwind_cache): Replace this "fi" with "next_frame".
+ (saved_regs_unwinder): Replace this "frame" with "next_frame", and
+ "saved_regs" with "this_saved_regs".
+
+2003-03-16 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (frame_pop): Don't call target_store_registers. Fix
+ problem reported by Mark Kettenis.
+
+2003-03-16 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_register_type): Renamed from
+ i386_register_virtual_type. Adjust function signature.
+ (i386_gdbarch_init): Set register_type instead of
+ deprecated_max_register_raw_size,
+ deprecated_max_register_virtual_size and register_virtual_type.
+
+2003-03-14 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_prev_frame): When a legacy frame, always call
+ legacy_get_prev_frame. Simplify unwind code using assumption that
+ the unwinder is new.
+ (legacy_get_prev_frame): Handle legacy sentinel frame unwind here.
+ (legacy_frame_p): When no gdbarch_unwind_dummy_id, or
+ SAVED_DUMMY_FRAME_TOS, assume a legacy frame.
+
+2003-03-14 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_saved_register): Delete function.
+ * frame.h (get_saved_register): Delete declaration.
+ * xstormy16-tdep.c: Update comment.
+ * regcache.h: Update comments.
+ * sparc-tdep.c (sparc_init_extra_frame_info): Instead of
+ get_saved_register and extract_address, use
+ frame_read_unsigned_register.
+ (sparc_frame_saved_pc): Ditto.
+ (sparc_get_saved_register): Instead of get_saved_register, use
+ frame_register.
+ (sparc_pop_frame): Ditto.
+ * findvar.c: Update comments.
+ (value_of_register): Call frame_register instead of
+ get_saved_register.
+ (value_from_register): Ditto.
+ * config/sparc/tm-sparc.h: Update comment.
+ * breakpoint.c: Update comment.
+
+2003-03-14 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_GET_SAVED_REGISTER): Replace
+ GET_SAVED_REGISTER.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * frame.h: Update comments.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * frame.c (frame_register): Update.
+ (get_saved_register): Update.
+ * config/sparc/tm-sparc.h (DEPRECATED_GET_SAVED_REGISTER): Update.
+
+2003-03-13 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_POP_FRAME): Replace POP_FRAME.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * valops.c (hand_function_call): Update comment.
+ * stack.c (return_command): Update comment.
+ * config/sparc/tm-sparc.h (DEPRECATED_POP_FRAME): Update.
+ * config/pa/tm-hppa.h (DEPRECATED_POP_FRAME): Update.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-13 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (legacy_frame_p): New function.
+ (get_prev_frame): Use legacy_frame_p.
+ * frame.h (legacy_frame_p): Declare.
+
+2003-03-13 D. Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+ * MAINTAINERS (write after approval): Alphabetically
+ listing corrected.
+
+2003-03-13 D. Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+ * MAINTAINERS (write after approval): Add myself.
+
+2003-03-12 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_prev_frame): Rename the frame parameter to
+ "this_frame".
+ (get_next_frame, legacy_get_prev_frame): Ditto.
+
+2003-03-12 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_current_frame): Check target_has_registers before
+ checking target_has_stack.
+ * eval.c (evaluate_subexp_standard): Use get_selected_frame,
+ instead of deprecated_selected_frame.
+ * findvar.c (value_of_register): Pass "frame", not
+ deprecated_selected_frame, to value_of_builtin_reg.
+
+2003-03-12 Andrew Cagney <cagney@redhat.com>
+
+ * regcache.c (regcache_cooked_write_signed): New function.
+ (regcache_cooked_write_unsigned): New function.
+ (regcache_cooked_read_unsigned): Fix regnum in range assertion.
+ (regcache_cooked_read_signed): Fix regnum in range assertion.
+ * regcache.h (regcache_cooked_write_signed): Declare.
+ (regcache_cooked_write_unsigned): Declare.
+
+2003-03-12 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.h: Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * i386-interix-tdep.c (i386_interix_init_abi): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+ * sh-tdep.c (sh_init_extra_frame_info): Update.
+ (sh64_init_extra_frame_info): Update.
+ * ns32knbsd-nat.c (frame_num_args): Update.
+ * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update.
+ * xstormy16-tdep.c (xstormy16_pop_frame): Update.
+ (xstormy16_frame_chain_valid): Update.
+ * vax-tdep.c (vax_saved_pc_after_call): Update.
+ * v850-tdep.c (v850_frame_chain): Update.
+ (v850_pop_frame): Update.
+ (v850_init_extra_frame_info): Update.
+ * sparc-tdep.c (setup_arbitrary_frame): Update.
+ * ns32k-tdep.c (umax_frame_num_args): Update.
+ * s390-tdep.c (s390_pop_frame_regular): Update.
+ * mn10300-tdep.c (mn10300_frame_chain): Update.
+ (mn10300_pop_frame_regular): Update.
+ (mn10300_init_extra_frame_info): Update.
+ * mips-tdep.c (mips_init_frame_pc_first): Update.
+ (mips_frame_chain): Update.
+ (mips_pop_frame): Update.
+ * mcore-tdep.c (mcore_frame_chain): Update.
+ (mcore_pop_frame): Update.
+ (mcore_init_extra_frame_info): Update.
+ * arch-utils.c (init_frame_pc_default): Update.
+ * m68k-tdep.c (isi_frame_num_args): Update.
+ (delta68_frame_num_args): Update.
+ (news_frame_num_args): Update.
+ * ia64-tdep.c (ia64_pop_frame_regular): Update.
+ * alpha-tdep.c (alpha_init_frame_pc_first): Update.
+ (alpha_frame_chain): Update.
+ (alpha_pop_frame): Update.
+ * hppa-tdep.c (hppa_saved_pc_after_call): Update.
+ (hppa_init_extra_frame_info): Update.
+ (hppa_frame_chain): Update.
+ (hppa_frame_chain_valid): Update.
+ * cris-tdep.c (cris_init_extra_frame_info): Update.
+ * avr-tdep.c (avr_init_extra_frame_info): Update.
+ * arm-tdep.c (arm_frame_chain_valid): Update.
+ (arm_init_extra_frame_info): Update.
+ (arm_pop_frame): Update.
+ * frame.c (frame_pc_unwind): Update.
+ * config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update.
+ (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+ * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+ * config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update.
+ * config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update.
+ * config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update.
+
+2003-03-12 Andrew Cagney <cagney@redhat.com>
+
+ Eliminate the need for POP_FRAME.
+ * frame.c (do_frame_unwind_register): New function.
+ (frame_pop): When no POP_FRAME, pop the frame using register
+ unwind and a scratch regcache.
+ (frame_saved_regs_pop): Delete function.
+ (trad_frame_unwinder): Update.
+ * d10v-tdep.c (d10v_frame_pop): Delete function.
+ (d10v_frame_unwind): Update.
+ * sentinel-frame.c (sentinel_frame_pop): Delete function.
+ (sentinel_frame_unwinder): Update.
+ * dummy-frame.c (dummy_frame_pop): Delete function.
+ (dummy_frame_unwind): Update.
+ * frame-unwind.h (frame_unwind_pop_ftype): Delete definition.
+ (struct frame_unwind): Update.
+
+2003-03-11 Kevin Buettner <kevinb@redhat.com>
+
+ * mips-tdep.c (mips_ecoff_reg_to_regnum): Rename to
+ mips_dwarf_dwarf2_ecoff_reg_to_regnum().
+ (mips_dwarf_dwarf2_ecoff_reg_to_regnum, mips_stab_reg_to_regnum):
+ Do range checks on register number obtained from debugging info.
+ (mips_gdbarch_init): Call set_gdbarch_dwarf_reg_to_regnum() and
+ set_gdbarch_dwarf2_reg_to_regnum(). Adjust call of
+ set_gdbarch_ecoff_reg_to_regnum() to account for new name of
+ mapping function.
+ (do_fp_register_row): Fix typo which caused double type to be
+ used when attempting to unpack a float.
+
+2003-03-11 J. Brobecker <brobecker@gnat.com>
+
+ * breakpoint.c (bpstat_stop_status): Fix a small memory leak.
+
+2003-03-11 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (deprecated_update_frame_pc_hack): Don't assume a next
+ frame. Problem found by Corinna Vinschen.
+
+2003-03-11 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * doublest.c (floatformat_from_length): Accept also
+ the real size of 'long double' type.
+
+2003-03-10 Daniel Jacobowitz <drow@mvista.com>
+
+ From Klee Dienes <kdienes@apple.com>:
+ * breakpoint.c (bpstat_copy): Copy the command lines as well
+ as the old value, to match what is freed in bpstat_clear.
+
+2003-03-10 David Carlton <carlton@math.stanford.edu>
+
+ * minsyms.c (add_minsym_to_hash_table): Replace
+ DEPRECATED_SYMBOL_NAME by SYMBOL_LINKAGE_NAME.
+ (compare_minimal_symbols, compact_minimal_symbols)
+ (install_minimal_symbols, find_solib_trampoline_target): Ditto.
+ (lookup_minimal_symbol_text): Use strcmp on linkage names instead
+ of DEPRECATED_SYMBOL_MATCHES_NAME.
+ (lookup_minimal_symbol_solib_trampoline): Ditto.
+
+2003-03-10 Andrew Cagney <cagney@redhat.com>
+
+ * regcache.h (regcache_cooked_read_ftype): Define.
+ (regcache_save, regcache_restore): Add a cooked_read parameter.
+ * regcache.c (regcache_save, regcache_restore): Update.
+ (do_cooked_read): New function.
+ (regcache_cpy): Pass do_cooked_read to regcache_save and
+ regcache_restore.
+
+2003-03-10 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.h: Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * i386-interix-tdep.c (i386_interix_init_abi): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+ * sh-tdep.c (sh_init_extra_frame_info): Update.
+ (sh64_init_extra_frame_info): Update.
+ * ns32knbsd-nat.c (frame_num_args): Update.
+ * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update.
+ * xstormy16-tdep.c (xstormy16_pop_frame): Update.
+ (xstormy16_frame_chain_valid): Update.
+ * vax-tdep.c (vax_saved_pc_after_call): Update.
+ * v850-tdep.c (v850_frame_chain): Update.
+ (v850_pop_frame): Update.
+ (v850_init_extra_frame_info): Update.
+ * sparc-tdep.c (setup_arbitrary_frame): Update.
+ * ns32k-tdep.c (umax_frame_num_args): Update.
+ * s390-tdep.c (s390_pop_frame_regular): Update.
+ * mn10300-tdep.c (mn10300_frame_chain): Update.
+ (mn10300_pop_frame_regular): Update.
+ (mn10300_init_extra_frame_info): Update.
+ * mips-tdep.c (mips_init_frame_pc_first): Update.
+ (mips_frame_chain): Update.
+ (mips_pop_frame): Update.
+ * mcore-tdep.c (mcore_frame_chain): Update.
+ (mcore_pop_frame): Update.
+ (mcore_init_extra_frame_info): Update.
+ * arch-utils.c (init_frame_pc_default): Update.
+ * m68k-tdep.c (isi_frame_num_args): Update.
+ (delta68_frame_num_args): Update.
+ (news_frame_num_args): Update.
+ * ia64-tdep.c (ia64_pop_frame_regular): Update.
+ * alpha-tdep.c (alpha_init_frame_pc_first): Update.
+ (alpha_frame_chain): Update.
+ (alpha_pop_frame): Update.
+ * hppa-tdep.c (hppa_saved_pc_after_call): Update.
+ (hppa_init_extra_frame_info): Update.
+ (hppa_frame_chain): Update.
+ (hppa_frame_chain_valid): Update.
+ * cris-tdep.c (cris_init_extra_frame_info): Update.
+ * avr-tdep.c (avr_init_extra_frame_info): Update.
+ * arm-tdep.c (arm_frame_chain_valid): Update.
+ (arm_init_extra_frame_info): Update.
+ (arm_pop_frame): Update.
+ * frame.c (frame_pc_unwind): Update.
+ * config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update.
+ (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+ * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+ * config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update.
+ * config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update.
+ * config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update.
+
+2003-03-10 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (gdbarch_unwind_pc): New method.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * frame.c (frame_pc_unwind): Rewrite. Prefer gdbarch_unwind_pc,
+ but use read_pc and FRAME_SAVED_PC as fall backs.
+ (frame_saved_regs_pc_unwind): Delete function.
+ (trad_frame_unwinder): Update.
+ * frame-unwind.h (frame_unwind_pc_ftype): Delete declaration.
+ (struct frame_unwind): Update.
+ * dummy-frame.c (dummy_frame_pc_unwind): Delete function.
+ (dummy_frame_unwind): Update.
+ * sentinel-frame.c (sentinel_frame_pc_unwind): Delete function.
+ (sentinel_frame_unwinder): Update.
+ * d10v-tdep.c (d10v_frame_pc_unwind): Delete function.
+ (d10v_frame_unwind): Update.
+ (d10v_unwind_pc): New function.
+ (d10v_gdbarch_init): Set unwind_pc.
+
+2003-03-10 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.h: Re-generate.
+
+ * d10v-tdep.c (d10v_frame_register_unwind): Correctly unwind the
+ PC.
+ (d10v_frame_pop): Unwind the PC, and not the LR, when restoring
+ the PC register.
+
+2003-03-08 Mark Kettenis <kettenis@gnu.org>
+
+ * gdbarch.sh (save_dummy_frame_tos): Add comment.
+
+2003-03-08 Andrew Cagney <cagney@redhat.com>
+
+ * cli-out.c: Update copyright.
+ (cli_out_data): Define typedef. Use instead of ui_out_data.
+
+2003-03-08 Andrew Cagney <cagney@redhat.com>
+
+ * valarith.c (value_subscripted_rvalue): Copy the array's REGNO to
+ the result.
+
+2003-03-07 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh: Don't generate two macro definitions when an
+ undefined macro taking no arguments.
+ * gdbarch.h: Regenerate.
+
+2002-03-07 Michal Ludvig <mludvig@suse.cz>
+
+ * x86-64-tdep.c (x86_64_save_dummy_frame_tos)
+ (x86_64_unwind_dummy_id): New functions.
+ (x86_64_init_abi): Register these two new functions.
+
+2003-03-07 Michal Ludvig <mludvig@suse.cz>
+
+ * x86-64-tdep.c (x86_64_function_has_prologue): New function.
+ (x86_64_skip_prologue): Move prologue detection to
+ separate function.
+ * x86-64-tdep.h (x86_64_function_has_prologue): New prototype.
+
+2003-03-05 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (d10v_unwind_dummy_id): New function.
+ (d10v_gdbarch_init): Set unwind_dummy_id and save_dummy_frame_tos.
+ * frame.c (get_prev_frame): Restructure the frame ID unwind code
+ to use unwind_dummy_id when a dummy frame.
+ * gdbarch.sh (unwind_dummy_id): New multi-arch method with
+ predicate.
+ * gdbarch.h, gdbarch.c: Regneerate.
+
+2003-03-05 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (struct d10v_unwind_cache): Add field "base".
+ (d10v_frame_unwind_cache): Rewrite code computing the base and SP.
+ Do not use d10v_read_sp or d10v_read_fp when obtaining register
+ values.
+
+2003-03-05 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (struct frame_extra_info): Delete unused structure.
+ (struct d10v_unwind_cache): Delete field "frameless". Replace
+ "next_addr" with "sp_offset". Add "r11_offset".
+ (d10v_frame_unwind_cache): Update.
+ (prologue_find_regs): Update. When "mv r11, sp", save the
+ "sp_offset" in "r11_offset". Recognize "st rn, @r11", note that
+ RN was saved in r11_offset.
+
+2003-03-05 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (deprecated_update_frame_pc_hack): Also update the the
+ cached PC value in the next frame.
+
+2003-03-05 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (struct frame_info): Replace "id_unwind_cache_p" and
+ "id_unwind_cache" with "id".
+ (frame_id_unwind): Delete declaration.
+ * frame.c (frame_id_unwind): Delete function.
+ (get_prev_frame): Call the frame id unwind method directly. Store
+ the returned next frame's ID value in NEXT_FRAME. Note that there
+ is a problem with the wrong unwind ID being called with the wrong
+ unwind cache.
+
+2003-03-05 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in (FLAGS_TO_PASS): Add LDFLAGS.
+
+2003-03-05 James Ingham <jingham@apple.com>
+ Daniel Jacobowitz <drow@mvista.com>
+
+ * cp-abi.c: Include "command.h", "gdbcmd.h", and "ui-out.h".
+ (auto_cp_abi): New variable.
+ (current_cp_abi, num_cp_abis): Make static.
+ (CP_ABI_MAX): Define.
+ (cp_abis): Turn into an array.
+ (value_virtual_fn_field): Fix formatting.
+ (switch_to_cp_abi, register_cp_abi): Update. register_cp_abi now
+ takes a pointer.
+ (set_cp_abi_as_auto_default, set_cp_abi_cmd, show_cp_abi_cmd)
+ (list_cp_abis, _initialize_cp_abi): New functions.
+ * cp-abi.h: Add prototype for set_cp_abi_as_auto_default. Remove
+ declarations for cp_abis, num_cp_abis, current_cp_abi, and
+ switch_to_cp_abi. Update prototype for register_cp_abi.
+ * Makefile.in (cp-abi.o): Update dependencies.
+ * minsyms.c (install_minimal_symbols): Call set_cp_abi_as_auto_default
+ instead of switch_to_cp_abi.
+ * gnu-v2-abi.c (_initialize_gnu_v2_abi): Likewise. Update call to
+ register_cp_abi.
+ * gnu-v3-abi.c (_initialize_gnu_v3_abi): Update call to
+ register_cp_abi.
+ * hpacc-abi.c (_initialize_hpacc_abi): Likewise.
+
+2003-03-05 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2expr.c (new_dwarf_expr_context): Add (void) to definition.
+ * dwarf2loc.c: Include "regcache.h".
+ (dwarf_expr_read_reg): Rename regnum argument to dwarf_regnum. Use
+ register_size.
+ * Makefile.in (dwarf2loc.o): Update dependencies.
+
+2003-03-04 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_io_reg_read_command): Fix to handle case when the
+ number of io registers reported by remote target is not a multiple of
+ step.
+
+2003-03-04 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.c (lookup_partial_symbol): Add linkage_name argument.
+ (lookup_symbol_aux_psymtabs): Update call to
+ lookup_partial_symbol.
+ (lookup_transparent_type, find_main_psymtab)
+ (make_symbol_overload_list): Ditto.
+
+2003-03-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * MAINTAINERS (Write after approval): Update my email address.
+
+2003-03-03 Andrew Cagney <cagney@redhat.com>
+
+ Make MAX_REGISTER_RAW_SIZE and MAX_REGISTER_VIRTUAL_SIZE optional.
+ * gdbarch.sh (DEPRECATED_MAX_REGISTER_RAW_SIZE): Variable with
+ predicate. Replace MAX_REGISTER_RAW_SIZE.
+ (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto for
+ MAX_REGISTER_VIRTUAL_SIZE.
+ * regcache.c (legacy_max_register_raw_size): New function.
+ (legacy_max_register_virtual_size): New function.
+ * defs.h (MAX_REGISTER_VIRTUAL_SIZE): Define.
+ (MAX_REGISTER_RAW_SIZE): Define.
+ (legacy_max_register_raw_size): Declare.
+ (legacy_max_register_virtual_size): Declare.
+ * config/sparc/tm-sparc.h (DEPRECATED_MAX_REGISTER_RAW_SIZE)
+ (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Update.
+ * config/sparc/tm-sp64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE)
+ (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto.
+ * config/pa/tm-hppa.h (DEPRECATED_MAX_REGISTER_RAW_SIZE)
+ (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto.
+ * config/pa/tm-hppa64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto.
+ * config/ia64/tm-ia64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto.
+ * config/i386/tm-ptx.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * h8300-tdep.c (h8300_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * cris-tdep.c (cris_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+ * d10v-tdep.c (d10v_gdbarch_init): Do not set
+ max_register_raw_size or max_register_virtual_size.
+
+2003-03-03 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.h (DEPRECATED_SYMBOL_MATCHES_NAME): Rename from
+ SYMBOL_MATCHES_NAME, add comment.
+ (SYMBOL_MATCHES_NATURAL_NAME): New.
+ * minsyms.c (lookup_minimal_symbol_solib_trampoline): Replace
+ SYMBOL_MATCHES_NAME with DEPRECATED_SYMBOL_MATCHES_NAME.
+ (lookup_minimal_symbol, lookup_minimal_symbol_text): Ditto.
+ * symtab.c (lookup_partial_symbol): Use
+ SYMBOL_MATCHES_NATURAL_NAME, not SYMBOL_MATCHES_NAME. Delete
+ unhelpful comment.
+ (lookup_block_symbol): Use SYMBOL_MATCHES_NATURAL_NAME, not
+ SYMBOL_MATCHES_NAME.
+ Fix for PR c++/33.
+
+2003-03-03 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.h (SYMBOL_MATCHES_REGEXP): Delete.
+ * symtab.c (search_symbols): Replace uses of SYMBOL_MATCHES_REGEXP
+ by regexp matching against SYMBOL_NATURAL_NAME.
+
+2003-03-03 David Carlton <carlton@math.stanford.edu>
+
+ * linespec.c (find_method): Extract code into collect_methods.
+ (collect_methods): New.
+
+2003-03-02 Mark Kettenis <kettenis@gnu.org>
+
+ * i386bsd-tdep.c (i386bsd_sigcontext_addr): Use get_next_frame and
+ get_frame_base.
+
+ * i386-tdep.c (i386_pe_skip_trampoline_code): Replace usage of
+ DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME.
+
+2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
+
+ * arch-utils.c (generic_register_byte): Fix to use the loop index
+ and not regnum when summing the size of all registers up to regnum.
+
+2003-03-01 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_FRAME_INIT_SAVED_REGS): Rename
+ FRAME_INIT_SAVED_REGS.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * stack.c (frame_info): Update.
+ * sh-tdep.c (sh_find_callers_reg, sh64_get_saved_pr): Update.
+ (sh_init_extra_frame_info, sh64_init_extra_frame_info): Update.
+ (sh64_get_saved_register, sh_pop_frame, sh64_pop_frame): Update.
+ * ns32k-tdep.c (ns32k_pop_frame): Update.
+ * mips-tdep.c (mips_pop_frame): Update.
+ * m68hc11-tdep.c (m68hc11_pop_frame): Update.
+ * ia64-tdep.c (ia64_frame_chain): Update.
+ (ia64_frame_saved_pc, ia64_get_saved_register): Update.
+ (ia64_frameless_function_invocation): Update.
+ (ia64_init_extra_frame_info): Update.
+ (ia64_pop_frame_regular): Update.
+ * frame.h (struct frame_info): Update comment.
+ (DEPRECATED_FRAME_INIT_SAVED_REGS): Rename macro.
+ * frame.c (frame_saved_regs_register_unwind): Update.
+ (frame_saved_regs_register_unwind): Update.
+ (deprecated_generic_get_saved_register): Update.
+ * cris-tdep.c: Update comment.
+ * config/sparc/tm-sparc.h (DEPRECATED_FRAME_INIT_SAVED_REGS):
+ Rename macro.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+ * x86-64-tdep.c (x86_64_init_abi): Update.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * v850-tdep.c (v850_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * sh-tdep.c (sh_gdbarch_init): Update.
+ * s390-tdep.c (s390_gdbarch_init): Update.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mcore-tdep.c (mcore_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+ * ia64-tdep.c (ia64_gdbarch_init): Update.
+ * i386-tdep.c (i386_gdbarch_init): Update.
+ * frv-tdep.c (frv_gdbarch_init): Update.
+ * avr-tdep.c (avr_gdbarch_init): Update.
+ * arm-tdep.c (arm_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-01 Andrew Cagney <cagney@redhat.com>
+
+ * main.c (captured_main): Add OPT_WINDOWS and OPT_NOWINDOWS to
+ option enum and switch. When no windows, set the interpreter to
+ INTERP_CONSOLE.
+
+2003-03-01 Andrew Cagney <cagney@redhat.com>
+
+ * main.c (captured_main): Replace magic option characters with an
+ enum.
+
+2003-03-01 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename
+ INIT_EXTRA_FRAME_INFO.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * arm-tdep.c: Update comments.
+ * sh-tdep.c, mcore-tdep.c, m68hc11-tdep.c: Ditto.
+ * i386-interix-tdep.c, hppa-tdep.c, h8300-tdep.c: Ditto.
+ * frame.h, avr-tdep.c: Ditto.
+ * frame.c (get_prev_frame): DEPRECATED_INIT_EXTRA_FRAME_INFO.
+ (create_new_frame, legacy_get_prev_frame): Ditto.
+ * config/sparc/tm-sparc.h (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename.
+ * config/pa/tm-hppa.h (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Initialize
+ deprecated_init_extra_frame_info instead of init_extra_frame_info.
+ * x86-64-tdep.c (x86_64_init_abi): Ditto.
+ * v850-tdep.c (v850_gdbarch_init): Ditto.
+ * sparc-tdep.c (sparc_gdbarch_init): Ditto.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * mips-tdep.c (mips_gdbarch_init): Ditto.
+ * mcore-tdep.c (mcore_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * i386-interix-tdep.c (i386_interix_init_abi): Ditto.
+ * hppa-tdep.c (hppa_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * avr-tdep.c (avr_gdbarch_init): Ditto.
+ * arm-tdep.c (arm_gdbarch_init): Ditto.
+ * alpha-tdep.c (alpha_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+
+2003-03-01 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (register_type): New function with predicate.
+ (REGISTER_VIRTUAL_TYPE): Change to function with predicate.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * arch-utils.c (generic_register_byte): Use generic_register_size.
+ (generic_register_size): When available, use
+ gdbarch_register_type.
+ * regcache.c (init_regcache_descr): When available, initialize the
+ register type array using gdbarch_register_type. If the
+ architecture supplies gdbarch_register_type, do not use the legacy
+ regcache layout.
+ * d10v-tdep.c (d10v_register_type): Replace
+ d10v_register_virtual_type.
+ (d10v_gdbarch_init): Set register_type instead of
+ register_virtual_type.
+
+2003-03-01 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (ax-gdb.o): Update dependencies.
+ * ax-gdb.c: Include "regcache.h".
+ (gen_expr): Use register_type instead of REGISTER_VIRTUAL_TYPE.
+ * findvar.c (value_of_register): Ditto.
+ * infcmd.c (default_print_registers_info): Ditto.
+
+2003-03-01 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-linux-tdep.c (find_minsym_and_objfile): Replace usage of
+ DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME.
+
+2003-03-01 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-linux-tdep.c (find_minsym_and_objfile): Use strcmp instead
+ of STREQ.
+
+2003-02-28 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in (dwarf2loc.o): Update dependencies.
+ * ax-gdb.c (gen_var_ref): Handle LOC_COMPUTED and LOC_COMPUTED_ARG.
+ * dwarf2expr.c (read_uleb128, read_sleb128): Make non-static.
+ * dwarf2expr.h (read_uleb128, read_sleb128): Add prototypes.
+ * dwarf2loc.c: Include "ax.h" and "ax-gdb.h".
+ (locexpr_tracepoint_var_ref): New function.
+ (dwarf2_locexpr_funcs): Add locexpr_tracepoint_var_ref.
+
+2003-02-28 Andrew Cagney <cagney@redhat.com>
+
+ * regcache.c (register_size): New function.
+ * regcache.h (register_size): Declare
+ * d10v-tdep.c: Use register_size instead of REGISTER_RAW_SIZE, use
+ max_register_size instead of MAX_REGISTER_RAW_SIZE.
+
+2003-02-28 David Carlton <carlton@math.stanford.edu>
+
+ * linespec.c (decode_compound): Extract code into find_method.
+ (find_method): New.
+
+2003-02-28 J. Brobecker <brobecker@gnat.com>
+
+ * Makefile.in: Add rules to build and link in observer.o.
+
+2003-02-27 J. Brobecker <brobecker@gnat.com>
+
+ * observer.c: Minor comments edits.
+
+2003-02-27 J. Brobecker <brobecker@gnat.com>
+
+ * observer.h, observer.c: New file.
+
+2003-02-27 Andrew Cagney <cagney@redhat.com>
+
+ * arm-tdep.c (gdb_print_insn_arm): Rename _bfd to just bfd.
+
+2003-02-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (M6811_OP_LDX_EXT, M6811_OP_STS_EXT): New defines.
+ (M6812_OP_STS_EXT): Likewise.
+ (m6811_prologue): Use the above to recognize prologue.
+ (m6812_prologue): Likewise.
+
+2003-02-27 David Carlton <carlton@math.stanford.edu>
+
+ * symfile.c (compare_symbols): Use SYMBOL_NATURAL_NAME, not
+ SYMBOL_PRINT_NAME.
+ (compare_psymbols): Ditto.
+ * symtab.c (lookup_partial_symbol, lookup_block_symbol): Ditto.
+
+2003-02-27 Michael Snyder <msnyder@redhat.com>
+
+ * f-lang.c (build_fortran_types): New function.
+ (_initialize_f_language): Gdbarch-register built-in fortran types.
+ * doublest.c (extract_floating): Fix warning text.
+
+2003-02-27 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DEPRECATED_PUSH_DUMMY_FRAME): Procedure with
+ predicate. Replaces PUSH_DUMMY_FRAME.
+ * gdbarch.h, gdbarch.c: Regnerate.
+ * valops.c (hand_function_call): Update. Call
+ generic_push_dummy_frame directly.
+ * vax-tdep.c (vax_gdbarch_init): Update.
+ * sparc-tdep.c (sparc_gdbarch_init): Update.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Update.
+ * m68k-tdep.c (m68k_gdbarch_init): Update.
+ * hppa-tdep.c (hppa_gdbarch_init): Update.
+ * alpha-tdep.c (alpha_gdbarch_init): Update.
+ * config/sparc/tm-sparc.h (DEPRECATED_PUSH_DUMMY_FRAME): Update.
+ * config/pa/tm-hppa.h (DEPRECATED_PUSH_DUMMY_FRAME): Update.
+ * inferior.h (PUSH_DUMMY_FRAME): Delete definition.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Don't set
+ push_dummy_frame to generic_push_dummy_frame.
+ * v850-tdep.c (v850_gdbarch_init): Ditto.
+ * sh-tdep.c (sh_gdbarch_init): Ditto.
+ * s390-tdep.c (s390_gdbarch_init): Ditto.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+ * mips-tdep.c (mips_gdbarch_init): Ditto.
+ * mcore-tdep.c (mcore_gdbarch_init): Ditto.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+ * ia64-tdep.c (ia64_gdbarch_init): Ditto.
+ * i386-tdep.c (i386_gdbarch_init): Ditto.
+ * h8300-tdep.c (h8300_gdbarch_init): Ditto.
+ * frv-tdep.c (frv_gdbarch_init): Ditto.
+ * d10v-tdep.c (d10v_gdbarch_init): Ditto.
+ * cris-tdep.c (cris_gdbarch_init): Ditto.
+ * avr-tdep.c (avr_gdbarch_init): Ditto.
+ * arm-tdep.c (arm_gdbarch_init): Ditto.
+
+2003-02-26 Kevin Buettner <kevinb@redhat.com>
+
+ * mips-tdep.c (show_mips_abi): New function.
+ (_initialize_mips_tdep): Use show_mips_abi() to implement the
+ command ``show mips abi''.
+
+2003-02-26 Jeff Johnston <jjohnstn@redhat.com>
+
+ From Elena Zannoni <ezannoni@redhat.com>
+ * dbxread.c (process_one_symbol): Only record line 0 if one or
+ more sline entries have been seen for the function.
+
+2003-02-26 Michael Chastain <mec@shout.net>
+
+ * configure: Regenerate with autoconf 000227.
+
+2003-02-26 Michael Chastain <mec@shout.net>
+
+ Close PR build/660.
+ * PROBLEMS (i[3456]86-*-linux*): Note explicit error message
+ for old libc5/glibc.
+ * gdb_thread_db.h: Die if not HAVE_UINTPTR_T.
+
+2003-02-26 Kris Warkentin <kewarken@qnx.com>
+
+ * defs.h (gdb_osabi): Add GDB_OSABI_QNXNTO.
+ * osabi.c (gdb_osabi_names): Add "QNX Neutrino".
+
+2003-02-26 Michael Chastain <mec@shout.net>
+
+ * configure.in: New variable HAVE_UINTPTR_T.
+ * configure, config.in: Regenerated.
+
+2003-02-26 Daniel Jacobowitz <drow@mvista.com>
+
+ Fix PR build/1097.
+ * utils.c (gdb_realpath): Move closing brace outwards one #endif.
+
+2003-02-25 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_prev_frame): Add comment on check for
+ inside_entry_func. Only check for inside_entry_file when not a
+ dummy and not a sentinel. Check that the new frame is not inner
+ to the old frame.
+
+2003-02-25 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (frame_debug): New variable.
+ (_initialize_frame): Add "set/show debug frame" command.
+ (get_prev_frame): When frame_debug, print reason why unwind
+ failed.
+
+2003-02-25 Michael Chastain <mec@shout.net>
+
+ * PROBLEMS (i[3456]86-*-linux*): Require glibc 2.1.3 or later
+ to avoid uintptr_t definition problems.
+
+2003-02-25 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.h (SYMBOL_NATURAL_NAME): New macro.
+ (SYMBOL_LINKAGE_NAME): Ditto.
+ (SYMBOL_PRINT_NAME): Use SYMBOL_NATURAL_NAME and
+ SYMBOL_LINKAGE_NAME.
+ (struct general_symbol_info): Expand comment.
+ (DEPRECATED_SYMBOL_NAME): Rename from SYMBOL_NAME.
+ (SYMBOL_MATCHES_NAME): Use DEPRECATED_SYMBOL_NAME.
+ (SYMBOL_MATCHES_REGEXP): Ditto.
+ * symtab.c (symbol_natural_name): New function.
+ * objfiles.h: Replace all uses of SYMBOL_NAME by
+ DEPRECATED_SYMBOL_NAME.
+ * xcoffread.c, valops.c, typeprint.c, tracepoint.c: Ditto.
+ * symtab.c, symmisc.c, symfile.c, stack.c, stabsread.c: Ditto.
+ * somsolib.c, sol-thread.c, rs6000-tdep.c, p-valprint.c: Ditto.
+ * printcmd.c, objfiles.c, objc-lang.c, mipsread.c: Ditto.
+ * minsyms.c, mdebugread.c, linespec.c, jv-lang.c: Ditto.
+ * i386-tdep.c, i386-linux-tdep.c, hpread.c, hppa-tdep.c: Ditto.
+ * gnu-v2-abi.c, f-valprint.c, findvar.c, expprint.c: Ditto.
+ * dwarfread.c, dwarf2read.c, dbxread.c, c-valprint.c: Ditto.
+ * cp-valprint.c, coffread.c, buildsym.c, breakpoint.c: Ditto.
+ * blockframe.c, ax-gdb.c, arm-linux-tdep.c, ada-lang.c: Ditto.
+ * ada-exp.y: Ditto.
+ * ada-exp.y: Update copyright.
+ * sol-thread.c, mipsread.c, jv-lang.c, f-valprint.c: Ditto.
+ * cp-valprint.c: Ditto.
+
+2003-02-25 Jeff Johnston <jjohnstn@redhat.com>
+
+ * infptrace.c (detach): Do not flag error if ptrace detach fails
+ and errno is set to ESRCH.
+
+2003-02-24 Andrew Cagney <cagney@redhat.com>
+
+ * infptrace.c (udot_info): Change type of udot_off to long. Use
+ paddr when printing udot_off's value.
+
+2003-02-24 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.c (make_symbol_overload_list): Only read in partial
+ symtabs containing a matching partial symbol.
+
+2003-02-24 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.c (lookup_partial_symbol): Use strcmp_iw_ordered to
+ do the comparison, not strcmp.
+ * symfile.c (compare_psymbols): Ditto.
+ * defs.h: Declare strcmp_iw_ordered.
+ * utils.c (strcmp_iw_ordered): New function.
+
+2003-02-24 Jim Blandy <jimb@redhat.com>
+
+ * MAINTAINERS (GNU/Linux/x86, linespec, breakpoints, Scheme
+ support, shared libs): Remove my name from here, to better reflect
+ reality.
+
+2003-02-24 Kris Warkentin <kewarken@qnx.com>
+
+ * target.h: (HAVE_CONTINUABLE_WATCHPOINT): Define.
+ (target_ops): Add to_have_continuable_watchpoint.
+ * target.c (update_current_target): Add INHERIT line for
+ to_have_continuable_watchpoint.
+ * infrun.c: Remove HAVE_CONTINUABLE_WATCHPOINT defines.
+ * config/i386/nm-i386.h, config/i386/nm-i386sco5.h,
+ config/i386/nm-i386sol2.h, config/s390/nm-linux.h,
+ config/sparc/nm-sun4sol2.h: HAVE_CONTINUABLE_WATCHPOINT defined as 1.
+
+2003-02-24 Elena Zannoni <ezannoni@redhat.com>
+
+ * MAINTAINERS (Core): Drop main.c and top.c. Clarify event loop
+ maintainership.
+
+2003-02-24 Kris Warkentin <kewarken@qnx.com>
+
+ * solib.c (solib_open): Call target defined search function after
+ failing with solib-search-path.
+ * solist.h (target_so_ops): Add find_and_open_solib function hook and
+ create define TARGET_SO_FIND_AND_OPEN_SOLIB.
+
+2003-02-24 Kris Warkentin <kewarken@qnx.com>
+
+ * MAINTAINERS: Add myself to Write After section.
+
+2003-02-23 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): long double is 64-bit wide.
+
+2003-02-22 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_init_reggroups): New function.
+ (m68hc11_add_reggroups): New function.
+ (m68hc11_register_reggroup_p): New to register hard/soft reggroups.
+ (m68hc11_gdbarch_init): Install the reggroups.
+ (_initialize_m68hc11_tdep): Initialize them.
+
+2003-02-21 James E Wilson <wilson@tuliptree.org>
+
+ * MAINTAINERS: Update my email address.
+
+2003-02-21 David Carlton <carlton@math.stanford.edu>
+
+ * arm-tdep.c (arm_gdbarch_init): Add break after default label.
+
+2003-02-21 Daniel Jacobowitz <drow@mvista.com>
+
+ Based on a patch from Daniel Berlin (dberlin@dberlin.org).
+ * symtab.h: Add opaque declarations of struct axs_value and
+ struct agent_expr.
+ (enum address_class): Add LOC_COMPUTED and LOC_COMPUTED_ARG.
+ (struct location_funcs): New type.
+ (struct symbol): Add "loc" to aux_value.
+ (SYMBOL_LOCATION_BATON, SYMBOL_LOCATION_FUNCS): New macros.
+ * dwarf2read.c: Include "dwarf2expr.h".
+ (dwarf2_symbol_mark_computed): New function.
+ (read_func_scope): Use it.
+ (var_decode_location): New function.
+ (new_symbol): Use it.
+ * dwarf2expr.c, dwarf2expr.h, dwarf2loc.c, dwarf2loc.h: New files.
+
+ * Makefile.in (SFILES): Add dwarf2loc.c and dwarf2expr.c.
+ (dwarf2expr_h, dwarf2loc_h): New variables.
+ (COMMON_OBS): Add dwarf2expr.o and dwarf2loc.o.
+ (dwarf2expr.o, dwarf2loc.o): New rules.
+ (dwarf2read.o): Add $(dwarf2expr_h) and $(dwarf2loc_h).
+ * buildsym.c (finish_block): Handle LOC_COMPUTED and
+ LOC_COMPUTED_ARG.
+ * findvar.c (symbol_read_needs_frame, read_var_value): Likewise.
+ * m2-exp.y (yylex): Likewise.
+ * printcmd.c (address_info, print_frame_args): Likewise.
+ * stack.c (print_block_frame_locals, print_frame_arg_vars): Likewise.
+ * symmisc.c (print_symbol, print_partial_symbols): Likewise.
+ * ada-lang.c (ada_resolve_subexp, symtab_for_sym)
+ (ada_add_block_symbols, fill_in_ada_prototype): Likewise.
+ * symtab.c (lookup_block_symbol): Likewise.
+
+2003-02-20 Adam Fedor <fedor@gnu.org>
+
+ * symtab.h: Remove objc_specific struct
+ (SYMBOL_OBJC_DEMANGLED_NAME): Remove.
+ * symtab.c (symbol_init_language_specific, symbol_demangled_name):
+ Have language_objc use cplus_specific struct.
+
+2003-02-20 Tom Tromey <tromey@redhat.com>
+
+ * jv-valprint.c (java_value_print): Look at TYPE_TAG_NAME, not
+ TYPE_NAME, when printing a String value. PR java/1075.
+
+2003-02-20 Adam Fedor <fedor@gnu.org>
+
+ * objc-lang.h (find_methods): Remove declaration.
+ * objc-lang.c (find_methods): Make static.
+
+2003-02-20 Christopher Faylor <cgf@redhat.com>
+
+ * win32-nat.c (get_image_name): Check return value from
+ ReadProcessMemory.
+ (child_xfer_memory): Ditto.
+
+2003-02-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in (TARGET_SYSTEM_ROOT): Set default to
+ ${exec_prefix}/${target_alias}/sys-root. Match explicit
+ '${exec_prefix}' (in addition to the expansion thereof) as
+ relocatable.
+ * configure: Rebuilt.
+
+2003-02-20 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.c (search_symbols): Revert the search_symbols part of my
+ 2002-12-23 patch. Add comment.
+
+2002-02-20 Daniel Jacobowitz <drow@mvista.com>
+
+ * coffread.c (coff_symfile_read): Clean up minimal symbols earlier.
+ * dbxread.c (elfstab_build_psymtabs): Don't call
+ install_minimal_symbols.
+ (stabsect_build_psymtabs): Likewise.
+ * elfread.c (elf_symfile_read): Call install_minimal_symbols
+ earlier.
+ * somread.c (som_symfile_read): Call install_minimal_symbols
+ and do_cleanups earlier.
+ * nlmread.c (nlm_symfile_read): Likewise.
+ * mdebugread.c (elfmdebug_build_psymtabs): Call
+ install_minimal_symbols and make appropriate cleanups.
+
+2003-02-20 Kevin Buettner <kevinb@redhat.com>
+
+ * solib.c (reload_shared_libraries): New function.
+ (_initialize_solib): Add callbacks for ``set solib-search-path''
+ and ``set solib-absolute-prefix''.
+
+2003-02-20 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.h (SYMBOL_PRINT_NAME): Rename from SYMBOL_SOURCE_NAME;
+ expand comment.
+ * ada-lang.c (user_select_syms, ada_finish_decode_line_1): Replace
+ SYMBOL_PRINT_NAME with SYMBOL_SOURCE_NAME.
+ * ada-typeprint.c (ada_typedef_print): Ditto.
+ * ax-gdb.c (gen_var_ref): Ditto.
+ * breakpoint.c (print_one_breakpoint): Ditto.
+ * buildsym.c (finish_block): Ditto.
+ * c-valprint.c (c_val_print): Ditto.
+ * expprint.c (print_subexp): Ditto.
+ * findvar.c (locate_var_value): Ditto.
+ * infcmd.c (jump_command): Ditto.
+ * linespec.c (decode_line_2, decode_compound): Ditto.
+ * maint.c (maintenance_translate_address): Ditto.
+ * objc-lang.c (compare_selectors, compare_classes): Ditto.
+ * printcmd.c (build_address_symbolic, sym_info, print_frame_args):
+ Ditto.
+ * p-valprint.c (pascal_val_print): Ditto.
+ * stabsread.c (define_symbol): Ditto.
+ * stack.c (print_frame, frame_info, print_block_frame_locals)
+ (print_frame_arg_vars, return_command): Ditto.
+ * symfile.c (compare_symbols, compare_psymbols): Ditto.
+ * symmisc.c (print_symbol): Ditto.
+ * symtab.c (lookup_partial_symbol, lookup_block_symbol)
+ (compare_search_syms, print_symbol_info, print_msymbol_info)
+ (rbreak_command): Ditto.
+ * tracepoint.c (tracepoints_info): Ditto.
+ * typeprint.c (typedef_print): Ditto.
+ * valops.c (value_of_variable, hand_function_call): Ditto.
+ * cli/cli-cmds.c (edit_command, list_command): Ditto.
+ * ada-typeprint.c: Update Copyright.
+ * infcmd.c, objc-lang.c, p-valprint.c, symmisc.c: Ditto.
+ * tracepoint.c, cli/cli-cmds.c: Ditto.
+
+2003-02-20 Kevin Buettner <kevinb@redhat.com>
+
+ * frame.c (generic_unwind_get_saved_register): Make non-static.
+ * frame.h (generic_unwind_get_saved_register): Declare.
+ * mips-tdep.c (read_next_frame_reg): Fetch register from
+ current regcache when frame is NULL.
+ (mips_init_extra_frame_info): Pass NULL explicitly for parameter
+ that must be NULL.
+ (mips_get_saved_register): Call generic_unwind_get_saved_register()
+ instead of frame_register_unwind().
+
+2003-02-20 Andrew Cagney <ac131313@redhat.com>
+
+ * remote-sim.c (gdbsim_insert_breakpoint)
+ (gdbsim_remove_breakpoint): Delete #ifdef SIM_HAS_BREAKPOINTS
+ code.
+
+2003-02-20 Andrew Cagney <ac131313@redhat.com>
+
+ * remote.c (_initialize_remote): Add commands "set/show remote
+ hardware-watchpoint-limit" and "set/show remote
+ hardware-breakpoint-limit".
+ (remote_hw_watchpoint_limit): Initialize to -1.
+ (remote_hw_breakpoint_limit): Ditto.
+ (remote_check_watch_resources): Treat a limit of -1 as unlimited.
+
+2003-02-19 Raoul Gough <RaoulGough@yahoo.co.uk>
+
+ * coff-pe-read.c: New file - support reading of minimal symbols from a
+ portable executable using the export table.
+ * coff-pe-read.h: New file.
+ * coffread.c: Include coff-pe-read.h.
+ (coff_symtab_read): Call read_pe_exported_syms iff no recognized
+ debugging symbols found.
+ * Makefile.in (SFILES): Add coff-pe-read.o.
+ (coff_pe_read_h): Define.
+ (COMMON_OBS): Add coff-pe-read.o.
+ (coffread.o): Add coff_pe_read_h dependency.
+ (coff-pe-read.o): New target.
+
+2003-02-19 David Carlton <carlton@math.stanford.edu>
+
+ * Makefile.in (SFILES): Add block.c.
+ (block_h): New.
+ (COMMON_OBS): Add block.o.
+ (block.o): New.
+ (x86-64-tdep.o): Add $(block_h).
+ (values.o, valops.o, tracepoint.o, symtab.o, symmisc.o, symfile.o)
+ (stack.o, printcmd.o, p-exp.tab.o, parse.o, objfiles.o)
+ (objc-exp.tab.o, objc-lang.o, nlmread.o, mips-tdep.o, mdebugread.o)
+ (m2-exp.tab.o, linespec.o, jv-lang.o, jv-exp.tab.o, infcmd.o)
+ (f-valprint.o, findvar.o, f-exp.tab.o, expprint.o, coffread.o)
+ (c-exp.tab.o, buildsym.o, breakpoint.o, blockframe.o, ax-gdb.o)
+ (alpha-tdep.o, ada-lang.o, ada-exp.tab.o, mi-cmd-stack.o): Ditto.
+ * value.h: Add opaque declaration for struct block.
+ * parser-defs.h, objc-lang.h, buildsym.h, breakpoint.h: Ditto.
+ * ada-lang.h: Ditto.
+ * x86-64-tdep.c: #include "block.h"
+ * values.c, valops.c, tracepoint.c, symtab.c, symmisc.c: Ditto.
+ * symfile.c, stack.c, printcmd.c, p-exp.y, parse.c: Ditto.
+ * objfiles.c, objc-exp.y, objc-lang.c, nlmread.c: Ditto.
+ * mips-tdep.c, mdebugread.c, m2-exp.y, linespec.c: Ditto.
+ * jv-lang.c, jv-exp.y, infcmd.c, f-valprint.c: Ditto.
+ * findvar.c, f-exp.y, expprint.c, coffread.c, c-exp.y: Ditto.
+ * buildsym.c, breakpoint.c, blockframe.c, ax-gdb.c: Ditto.
+ * alpha-tdep.c, ada-lang.c, ada-exp.y: Ditto.
+ * blockframe.c (blockvector_for_pc_sect): Move to "block.c".
+ (blockvector_for_pc, block_for_pc_sect, block_for_pc): Ditto.
+ * symtab.c (block_function): Ditto.
+ (contained_in): Ditto.
+ * frame.h: Move block_for_pc and block_for_pc_sect declarations to
+ block.h. Add opaque declaration for struct block.
+ * symtab.h: Move block_function and contained_in declarations to
+ block.h. Add opaque declarations for struct block, struct
+ blockvector.
+ (struct block): Move to block.h.
+ (struct blockvector): Ditto.
+ (BLOCK_START, BLOCK_END, BLOCK_FUNCTION, BLOCK_SUPERBLOCK)
+ (BLOCK_GCC_COMPILED, BLOCK_HASHTABLE, BLOCK_NSYMS, BLOCK_SYM)
+ (BLOCK_BUCKETS, BLOCK_BUCKET, BLOCK_HASHTABLE_SIZE)
+ (ALL_BLOCK_SYMBOLS, BLOCK_SHOULD_SORT, BLOCKVECTOR_NBLOCKS)
+ (BLOCKVECTOR_BLOCK, GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK):
+ Ditto.
+ * block.c: New file.
+ * block.h: New file.
+
+2003-02-19 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_extract_return_value): Remove function.
+ (avr_store_return_value): Remove function.
+ (avr_extract_struct_value_address): Remove function.
+ (avr_gdbarch_init): Remove set_gdbarch_deprecated_*() calls.
+
+2003-02-19 Andrew Cagney <ac131313@redhat.com>
+
+ * rs6000-tdep.c: Include "gdb_assert.h".
+ (registers_e500): Add "acc" and "spefscr".
+ (PPC_GPRS_PSEUDO_REGS): Remove trailing comma.
+ (rs6000_gdbarch_init): Update initialization of ppc_gp0_regnum,
+ ppc_gplast_regnum, sp_regnum and fp_regnum. Check that gp0_regnum
+ really is "r0".
+ (registers_e500): Mark the "acc" as a 64 bit (from Jim Willson).
+
+2003-02-18 Keith Seitz <keiths@redhat.com>
+
+ * Makefile.in: Add gdbtk-interps.c.
+
+2003-02-18 Kevin Buettner <kevinb@redhat.com>
+
+ * sparc-tdep.c (sparc_frame_chain): Adjust return value.
+ * config/sparc/tm-sparc.h (init_frame_pc_noop): Declare.
+
+2003-02-18 Andrew Cagney <cagney@redhat.com>
+
+ * symtab.h (struct objfile): Add opaque declaration.
+
+2003-02-18 Elena Zannoni <ezannoni@redhat.com>
+
+ From Jim Ingham <jingham@apple.com>:
+ * dbxread.c (process_one_symbol): Use last_function_start rather
+ than function_start_offset to find the real beginning of the
+ current function. The latter is just the text section offset on
+ some systems, the former is always the real function start.
+
+2003-02-17 Andrew Cagney <cagney@redhat.com>
+
+ * configure.in: Revert ${target} != ${host}.
+
+2003-02-17 Andrew Cagney <ac131313@redhat.com>
+
+ * configure.in (Makefile): Use the test ${target} != ${host},
+ instead of the absence of the "nm.h" file, to determine of the
+ configuration non-native.
+ * configure: Regenerate.
+
+2003-02-14 Elena Zannoni <ezannoni@redhat.com>
+
+ From Brian Ford <ford@vss.fsi.com>
+
+ * cli/cli-decode.c (lookup_cmd_composition) [TUI]: Properly
+ conditionalize tui_active test.
+ (lookup_cmd_1): Ditto.
+
+2003-02-14 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Add check for _etext.
+ * maint.c (maintenance_set_profile_cmd): Use etext if _etext isn't
+ available.
+ * config.in, configure: regenerated.
+
+2003-02-14 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2read.c (dwarf2_get_pc_bounds): Offset addresses by base.
+
+2003-02-14 Andrew Cagney <ac131313@redhat.com>
+
+ * main.c (tui_version): Delete variable.
+ (captured_main): When --tui, set interpreter_p to "tui" instead of
+ enabling tui_version.
+ * printcmd.c (display_command) [TUI]: Test tui_active instead of
+ tui_version.
+ * cli/cli-decode.c (lookup_cmd_composition): Ditto.
+ * cli/cli-cmds.c (disassemble_command): Ditto.
+ * defs.h (tui_version): Delete declaration.
+ * Makefile.in (SUBDIR_TUI_SRCS): Add "tui/tui-interp.c".
+ (tui-interp.o): Add rules.
+ (SUBDIR_TUI_OBS): Add "tui-interp.o".
+
+2003-02-14 Christopher Faylor <cgf@redhat.com>
+
+ * win32-nat.c (register_loaded_dll): Correctly set address range for
+ just-loaded dll.
+
+2003-02-12 Jason Molenda (jmolenda@apple.com)
+
+ * symmisc.c (print_objfile_statistics): Include information about
+ the number of psymtabs and symtabs in each object file.
+
+2003-02-13 Keith R Seitz <keiths@redhat.com>
+
+ * main.h (struct captured_main_args): Add interpreter_p.
+ * main.c (captured_main): Initialize interpreter_p from context.
+ * gdb.c (main): Set interpreter_p argument.
+ * Makefile.in (gdb.o): Add dependency for interps.h.
+
+2003-02-12 Andrew Cagney <ac131313@redhat.com>
+
+ * event-top.c (cli_command_loop): Delete declaration.
+ (_initialize_event_loop): Delete function setting event_loop_hook.
+ * event-top.h (cli_command_loop): Declare. Update copyright.
+ (EVENT_TOP_H): Define. Wrap header in #ifdef EVENT_TOP_H.
+ * interps.c (current_interp_command_loop): When event_loop_p, call
+ cli_command_loop.
+
+2003-02-12 Andrew Cagney <ac131313@redhat.com>
+
+ * interps.h (interp_command_loop_ftype): Change return type to
+ void.
+
+2003-02-12 Michal Ludvig <mludvig@suse.cz>
+
+ * x86-64-tdep.c (x86_64_extract_return_value)
+ (x86_64_store_return_value): Use regcache instead of regbuf.
+ (x86_64_gdbarch_init): Change related set_gdbarch_* functions.
+ * x86-64-linux-nat.c (fill_gregset): Use regcache.
+
+2003-02-11 Andrew Cagney <ac131313@redhat.com>
+
+ * acinclude.m4 (no_tcl): SUBST TCL_CC_SEARCH_FLAGS.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+
+ * Makefile.in (TCL): Use TCL_CC_SEARCH_FLAGS instead of
+ TCL_LD_SEARCH_FLAGS.
+
+2003-02-10 Michal Ludvig <mludvig@suse.cz>
+
+ * dwarf2cfi.c: Reindented.
+
+2003-02-09 Andrew Cagney <ac131313@redhat.com>
+
+ * interps.c (clear_interpreter_hooks): Convert function definition
+ to ISO C.
+
+2003-02-07 David Carlton <carlton@math.stanford.edu>
+
+ * gdb_mbuild.sh: Delete extra shift after parsing '-f'.
+
+2003-02-07 Kevin Buettner <kevinb@redhat.com>
+
+ * gdbtypes.h (struct main_type): Move ``length'' field from here...
+ (struct type): ...to here.
+ (TYPE_LENGTH): Adjust to reflect different location of ``length''
+ field.
+ * gdbtypes.c (make_qualified_type): Set length on newly created type.
+ (replace_type): Set length on all type variants for a given type.
+
+2003-02-07 Andrew Cagney <ac131313@redhat.com>
+
+ * sol-thread.c, hpux-thread.c: Include "gdb_stat.h" instead of
+ <sys/stat.h>.
+ * Makefile.in (sol-thread.o, hpux-thread.o): Update dependencies.
+
+2003-02-06 Andrew Cagney <ac131313@redhat.com>
+
+ * Makefile.in (symm-nat.o): Update dependencies.
+ (sparc-nat.o, procfs.o, proc-api.o, ppc-linux-nat.o): Ditto.
+ (lynx-nat.o, ia64-linux-nat.): Ditto.
+ * symm-nat.c, sparc-nat.c, procfs.c, proc-api.c: Include
+ "gdb_wait.h" instead of <wait.h> or <sys/wait.h>.
+ * ppc-linux-nat.c, lynx-nat.c, ia64-linux-nat.c: Ditto.
+
+ * Makefile.in (inflow_h): Define.
+ (procfs.o, inflow.o, procfs.o): Update dependencies.
+ * inftarg.c (child_stop): Delete extern declaration of
+ inferior_process_group. Include "inflow.h".
+ * procfs.c (procfs_stop): Ditto. Include "inflow.h".
+ * inflow.c (PROCESS_GROUP_TYPE): Move definitions from here ...
+ * inflow.h (PROCESS_GROUP_TYPE): ... to here. New file.
+ (our_process_group, inferior_process_group): Extern declarations.
+
+ * procfs.c: Include "gdb_assert.h".
+
+ * linux-proc.c: Include "gdb_stat.h" instead of <sys/stat.h>.
+ * cp-valprint.c (cp_print_value_fields): Eliminate STREQN.
+ * jv-typeprint.c (java_type_print_base): Ditto.
+ * typeprint.c (typedef_print): Eliminate STREQ.
+ * cli/cli-script.c (define_command, define_command): Ditto.
+ * main.c (captured_main): Ditto.
+ * values.c (lookup_internalvar): Ditto.
+ * utils.c (safe_strerror, parse_escape): Eliminate assignment
+ within `if' conditional.
+ * linespec.c (decode_line_2): Ditto.
+ * cli/cli-dump.c (bfd_openr_with_cleanup): Ditto.
+ (bfd_openw_with_cleanup): Ditto.
+
+2003-02-07 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (x86_64_init_abi): Set extract_return_value to
+ legacy_extract_return_value and store_return_value to
+ legacy_return_value.
+
+2003-02-06 Raoul Gough <RaoulGough@yahoo.co.uk>
+
+ * win32-nat.c (get_relocated_section_addrs): New function. Find
+ section load addresses for symbol handling in relocated DLLs.
+ (solib_symbols_add): Open a bfd and call get_relocated_section_addrs.
+
+2003-02-05 Fred Fish <fnf@intrinsity.com>
+
+ * remote-e7000.c (e7000_drain_command): Fix precedence problem with
+ '=' and '!='.
+ * rdi-share/ardi.c (wait_for_debug_message): Fix precedence problem
+ with '&' and '=='.
+ (angel_RDI_info): Ditto.
+ * infttrace.c (threads_continue_all_but_one): Fix precedence problem
+ with '&' and '!='.
+ (threads_continue_all_with_signals): Ditto.
+
+2003-02-05 Jim Ingham <jingham@apple.com>
+ Keith Seitz <keiths@redhat.com>
+ Elena Zannoni <ezannoni@redhat.com>
+ Andrew Cagney <ac131313@redhat.com>
+
+ * Makefile.in (SUBDIR_CLI_OBS): Add "cli-interp.o".
+ (SUBDIR_CLI_SRCS): Add "cli/cli-interp.c".
+ (SUBDIR_MI_OBS): Add "mi-interp.o".
+ (SUBDIR_MI_SRCS): Add "mi/mi-interp.c".
+ (SFILES): Add "interps.c".
+ (COMMON_OBS): Add "interps.o".
+ (interps_h, mi_main_h): Define.
+ (interps.o, cli-interp.o, mi-interp.o): Add dependencies.
+ (mi-main.o, main.o, event-top.o): Update dependencies.
+ * cli/cli-interp.c: New file.
+ * interps.h, interps.c: New files.
+ * top.c: (gdb_init): Don't install the default interpreter, handed
+ by captured_main.
+ * main.c: Include "interps.h".
+ (interpreter_p): Note that it should malloc'ed.
+ (captured_command_loop): Call current_interp_command_loop.
+ (captured_main): Initialize interpreter_p to INTERP_CONSOLE. Use
+ xfree and xstrdup when updating interpreter_p. Install the
+ default interpreter. Add hack to stop mi1's copyright notice
+ being encoded.
+ * event-top.h (gdb_setup_readline): Declare.
+ (gdb_disable_readline): Declare.
+ * event-top.c: Include "interps.h".
+ (display_gdb_prompt): Call current_interp_display_prompt_p.
+ (gdb_setup_readline): Initialize gdb_stdout, gdb_stderr,
+ gdb_stdlog, and gdb_stdtarg.
+ (_initialize_event_loop): Don't call gdb_setup_readline.
+ * cli-out.c (cli_out_set_stream): New function.
+ * cli-out.h (cli_out_set_stream): Declare.
+
+2003-02-06 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.tgt (i[3456]86-*-sysv4.2*, i[3456]86-*-sysv4*,
+ i[3456]86-*-sysv5*, i[3456]86-*-sco3.2v5*): Remove. These are all
+ handled fine by i[3456]86-*sco* and i[3456]86-sysv*.
+ * config/i386/i386sco5.mt, config/i386/i386v4.mt,
+ config/i386/i386v42mp.mt: Removed.
+
+2003-02-05 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.tgt (*-*-solaris*): Set gdb_osabi to
+ GDB_OSABI_SOLARIS.
+
+2003-02-05 Michael Chastain <mec@shout.net>
+
+ * PROBLEMS (i[3456]86-*-linux*): Warn about binutils
+ 2.12.1 and earlier versions.
+
+2003-02-05 Andrew Cagney <ac131313@redhat.com>
+
+ Remove orphaned hosts, targets and files.
+ * config/i386/gdbserve.mt, config/m68k/nm-apollo68b.h: Delete.
+ * config/m68k/nm-hp300bsd.h, config/m68k/tm-apollo68b.h: Delete.
+ * config/m68k/tm-es1800.h, config/m68k/tm-hp300bsd.h: Delete.
+ * config/m68k/tm-mac.h, config/m68k/xm-apollo68b.h: Delete.
+ * config/pa/hpux1020.mt, config/pa/hpux11.mt: Delete.
+ * config/pa/hpux11w.mt, config/powerpc/gdbserve.mt: Delete.
+ * config/powerpc/ppcle-eabi.mt, config/powerpc/ppcle-sim.mt: Delete.
+ * config/powerpc/tm-ppc-sim.h, config/sparc/sp64sim.mt: Delete.
+ * config/sparc/tm-sp64sim.h: Delete.
+ * configure.host: Delete strongarm-*-*, xscale-*-*, and arm*-*-*
+ hosts.
+ * configure.tgt: Delete i[3456]86-*-sco3.2v4*, and
+ mips*-dec-mach3* targets.
+
+2003-02-04 Michael Chastain <mec@shout.net>
+
+ * NEWS: Fix typo: sepcifying -> specifying.
+
+2003-02-04 Michael Chastain <mec@shout.net>
+
+ * dwarfread.c: Add documentation on the state of dwarf-1,
+ looking towards obsoletion.
+
+2003-02-03 Michael Chastain <mec@shout.net>
+
+ * config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.c++/pr-1023.cc,
+ gdb/testsuite/gdb.c++/pr-1023.exp.
+
+2003-02-04 Andrew Cagney <ac131313@redhat.com>
+
+ * values.c: Delete code conditional on IS_TRAPPED_INTERNALVAR.
+ * TODO: Delete reference to IS_TRAPPED_INTERNALVAR.
+
+ * utils.c (init_page_info): Delete reference to MPW in comments.
+ * main.c (captured_main): Delete #ifdef MPW.
+
+2003-02-04 Andrew Cagney <ac131313@redhat.com>
+
+ * NEWS: Note that the m32r-*-elf* is obsolete.
+ * monitor.c (monitor_expect): Obsolete reference to m32r.
+ * configure.tgt: Mark m32r-*-elf* as obsolete.
+ * MAINTAINERS: Mark m32k as obsolete.
+ * m32r-rom.c: Obsolete file.
+ * config/m32r/m32r.mt: Obsolete file.
+ * config/m32r/tm-m32r.h: Obsolete file.
+ * m32r-stub.c: Obsolete file.
+ * m32r-tdep.c: Obsolete file.
+
+2003-02-04 Andrew Cagney <ac131313@redhat.com>
+
+ * NEWS: Mention that the z8k-zilog-none is obsolete.
+ * MAINTAINERS: Mark z8k as obsolete.
+ * configure.tgt: Obsolete the z8k-*-coff* target.
+ * config/z8k/z8k.mt: Obsolete file.
+ * config/z8k/tm-z8k.h: Obsolete file.
+ * z8k-tdep.c: Obsolete file.
+
+2003-02-04 Andrew Cagney <ac131313@redhat.com>
+
+ * NEWS: Mention that the mn10200-elf is obsolete.
+ * configure.tgt: Obsolete mn10200-*-* target.
+ * breakpoint.c (update_breakpoints_after_exec): Update comment to
+ mention that the mn10200 is obsolete.
+ * breakpoint.h: Ditto.
+ * MAINTAINERS: Mark the mn10200-elf as obsolete.
+ * config/mn10200/mn10200.mt: Obsolete file.
+ * config/mn10200/tm-mn10200.h: Obsolete file.
+ * mn10200-tdep.c: Obsolete file.
+
+2003-02-04 Andrew Cagney <ac131313@redhat.com>
+
+ * MAINTAINERS: Mark h8500 as obsolete.
+ * configure.tgt (h8500-*-*): Mark h8500 code as obsolete.
+ * findvar.c (value_from_register): Ditto.
+ * h8500-tdep.c: Mark file as obsolete.
+ * config/h8500/h8500.mt: Ditto.
+ * config/h8500/tm-h8500.h: Ditto.
+ * NEWS: Mention that h8500 is obsolete.
+
+2003-02-04 David Carlton <carlton@math.stanford.edu>
+
+ * objfiles.c (allocate_objfile): Always set name. Add comment at
+ start of function.
+ * jv-lang.c (get_dynamics_objfile): Add comment.
+
+2003-02-04 David Carlton <carlton@math.stanford.edu>
+
+ * symtab.h (SYMBOL_LINKAGE_NAME): Delete.
+ * printcmd.c (build_address_symbolic): Replace uses of
+ SYMBOL_LINKAGE_NAME by equivalent uses of SYMBOL_SOURCE_NAME,
+ SYMBOL_NAME, and asm_demangle.
+ Update copyright.
+
+2003-02-04 David Carlton <carlton@math.stanford.edu>
+
+ * linespec.c (decode_compound): Extract code into
+ lookup_prefix_sym.
+ (lookup_prefix_sym): New function.
+
+2003-02-04 David Carlton <carlton@math.stanford.edu>
+
+ * gdbtypes.h: Delete INTEGER_COERCION_BADNESS,
+ FLOAT_COERCION_BADNESS.
+ * gdbtypes.c (rank_one_type): Replace all uses of
+ INTEGER_COERCION_BADNESS by INTEGER_CONVERSION_BADNESS.
+
+2003-02-04 Jim Blandy <jimb@redhat.com>
+
+ * dwarf2read.c (dwarf2_locate_sections): When we find a macro info
+ section, let dwarf_macinfo_section point to it, not
+ dwarf_loc_section.
+
+2003-02-04 Daniel Jacobowitz <drow@mvista.com>
+
+ Pointed out by Anton Blanchard <anton@samba.org>.
+ * ppc-linux-tdep.c (insn_is_sigreturn): New function.
+ (ppc_linux_at_sigtramp_return_path): Use it.
+
+2003-02-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * defs.h (streq): Add prototype.
+ * utils.c (streq): New function.
+
+ * dwarf2read.c (new_symbol): Use SYMBOL_SET_NAMES instead of
+ SYMBOL_NAME and SYMBOL_INIT_DEMANGLED_NAME.
+ * mdebugread.c (new_symbol): Likewise.
+ * stabsread.c (define_symbol): Likewise.
+ * coffread.c (process_coff_symbol): Likewise.
+ * dwarfread.c (new_symbol): Likewise.
+
+ * minsyms.c (prim_record_minimal_symbol_and_info): Use
+ SYMBOL_SET_NAMES instead of setting SYMBOL_NAME. Set the language
+ here.
+ (install_minimal_symbols): Don't set SYMBOL_LANGUAGE or call
+ SYMBOL_INIT_DEMANGLED_NAME.
+ * objfiles.c: Include "hashtab.h".
+ (allocate_objfile): Call htab_set_functions_ex for the
+ demangled_names_hash.
+ (free_objfile): Call htab_delete for the demangled_names_hash.
+ * objfiles.h (struct htab): Add declaration.
+ (struct objfile): Add demangled_names_hash.
+ * symfile.c: Include "hashtab.h".
+ (reread_symbols): Call htab_delete for the demangled_names_hash.
+ (add_psymbol_to_list): Use SYMBOL_SET_NAMES instead of putting
+ SYMBOL_NAME in the bcache.
+ * symtab.c: Include "hashtab.h". Update comments.
+ (create_demangled_names_hash, symbol_set_names): New functions.
+ (symbol_find_demangled_name): New function, broken out from
+ symbol_init_demangled_names.
+ (symbol_init_demangled_names): Use it.
+ * symtab.h (SYMBOL_INIT_DEMANGLED_NAME): Add missing parentheses.
+ (SYMBOL_SET_NAMES): New macro.
+ (symbol_set_names): Add prototype.
+
+2003-02-03 Jim Blandy <jimb@redhat.com>
+
+ Use a single, consistent representation for an empty minimal
+ symbol table in an objfile.
+ * objfiles.c (terminate_minimal_symbol_table): New function.
+ (allocate_objfile): Call it.
+ * objfiles.h (terminate_minimal_symbol_table): New declaration.
+ (ALL_MSYMBOLS): No need to test whether (objfile)->msymbols is
+ non-NULL.
+ * minsyms.c (lookup_minimal_symbol_by_pc_section): To see whether
+ objfile has minimal symbols, compare minimal_symbol_count to zero,
+ instead of comparing msymbols with NULL.
+ * objfiles.c (have_minimal_symbols): Same.
+ * solib-sunos.c (solib_add_common_symbols): Call
+ terminate_minimal_symbol_table.
+ * symfile.c (reread_symbols): Same.
+
+2003-02-03 Kevin Buettner <kevinb@redhat.com>
+
+ * s390-tdep.c (s390_address_class_type_flags)
+ (s390_address_class_type_flags_to_name)
+ (s390_address_class_name_to_type_flags): New functions.
+ (s390_gdbarch_init): Define ADDRESS_CLASS_TYPE_FLAGS_TO_NAME,
+ ADDRESS_CLASS_NAME_TO_TYPE_FLAGS, and ADDRESS_CLASS_TYPE_FLAGS.
+
+2003-02-03 Michael Snyder <msnyder@redhat.com>
+
+ * arm-tdep.c: Fix spell-o in comment.
+
+2003-02-03 Michal Ludvig <mludvig@suse.cz>
+
+ * dwarf2cfi.c (pointer_encoding): Added new parameter.
+ * dwarf2cfi.c, dwarf2read.c: Changed all warnings and
+ error messages to contain BFD filename.
+
+2003-02-02 Elena Zannoni <ezannoni@redhat.com>
+
+ Fix PR gdb/742 gdb/743 gdb/877
+ * disasm.c (dump_insns): Use make_cleanup_ui_out_tuple_begin_end.
+ (do_mixed_source_and_assembly): Use
+ make_cleanup_ui_out_tuple_begin_end and
+ make_cleanup_ui_out_tuple_begin_end.
+ (do_mixed_source_and_assembly): Ditto.
+ * thread.c (do_captured_list_thread_ids): Ditto.
+ * ui-out.h (ui_out_table_begin, ui_out_list_begin,
+ ui_out_tuple_begin, ui_out_table_end, ui_out_list_end,
+ ui_out_tuple_end): Delete prototypes.
+ * ui-out.c (ui_out_list_begin, ui_out_tuple_begin,
+ ui_out_list_end, ui_out_tuple_end): Delete.
+
+ From Kevin Buettner <kevinb@redhat.com>:
+ * ui-out.h (make_cleanup_ui_out_table_begin_end): New function.
+ * ui-out.c (make_cleanup_ui_out_table_begin_end)
+ (do_cleanup_table_end): New functions.
+ * breakpoint.c (print_it_typical, print_one_breakpoint, mention):
+ Use cleanups to invoke_ui_out_tuple_end().
+ (breakpoint_1): Use cleanup to invoke ui_out_table_end().
+ * cli/cli-setshow.c (cmd_show_list): Use
+ make_cleanup_ui_out_tuple_begin_end.
+
+2003-02-02 Andrew Cagney <ac131313@redhat.com>
+
+ * frame.c (frame_unwind_register): New function.
+ (frame_unwind_unsigned_register): Use.
+ (frame_unwind_signed_register): Use.
+ (frame_read_register): New function.
+ * frame.h (frame_unwind_register): Declare.
+ (frame_read_register): Declare.
+
+ * d10v-tdep.c (d10v_frame_pop): Rewrite. Use regcache_cooked_write
+ and frame_unwind_register instead of read_memory, write_register
+ and deprecated_write_register_bytes.
+
+2003-02-02 Andrew Cagney <ac131313@redhat.com>
+
+ * frame.h: Note that namelen can be negative.
+ * frame.c (frame_map_name_to_regnum): When LEN is negative, use
+ NAME's length.
+
+ * NEWS: Mention that the d10v's `regs' command is deprecated.
+ * d10v-tdep.c (d10v_gdbarch_init): Set print_registers_info.
+ (d10v_print_registers_info): New function.
+ (show_regs): Call d10v_print_registers_info.
+ (_initialize_d10v_tdep): Mark "show regs" command as deprecated.
+
+2003-02-02 Mark Kettenis <kettenis@gnu.org>
+
+ * stack.c (print_frame_info): Restore call to annotate_frame_begin
+ lost in the previous patch.
+
+2003-02-01 Andrew Cagney <ac131313@redhat.com>
+
+ From 2002-11-09 Jason Molenda (jason-cl@molenda.com)
+ * stack.c (print_frame_info_base): Output complete FRAME tuple
+ for synthesized frames.
+
+2003-02-02 Andrew Cagney <ac131313@redhat.com>
+
+ * mips-nat.c (zerobuf): Delete.
+ (fetch_inferior_registers): Alloc local zerobuf.
+ (fetch_core_registers): Alloc local zerobuf.
+ * d10v-tdep.c (show_regs): Don't allocate a dynamic array using
+ MAX_REGISTER_RAW_SIZE or MAX_REGISTER_VIRTUAL_SIZE.
+ * thread-db.c (thread_db_store_registers): Ditto.
+ * sh-tdep.c (sh_do_register): Ditto.
+ * rom68k-rom.c (rom68k_supply_one_register): Ditto.
+ * remote-sim.c (gdbsim_store_register): Ditto.
+ * remote-mips.c (mips_wait, mips_fetch_registers): Ditto.
+ * remote-e7000.c (fetch_regs_from_dump): Ditto.
+ * monitor.c (monitor_supply_register): Ditto.
+ * mipsv4-nat.c (supply_gregset, supply_fpregset): Ditto.
+ * mips-nat.c (fetch_inferior_registers): Ditto.
+ * m68klinux-nat.c (fetch_register): Ditto.
+ * lynx-nat.c (fetch_inferior_registers): Ditto.
+ (fetch_inferior_registers): Ditto.
+ * irix4-nat.c (supply_gregset, supply_fpregset): Ditto.
+ * hpux-thread.c (hpux_thread_fetch_registers): Ditto.
+ (hpux_thread_store_registers): Ditto.
+ * hppah-nat.c (fetch_register): Ditto.
+ * hppab-nat.c (fetch_register): Ditto.
+ * hppa-tdep.c (pa_register_look_aside): Ditto.
+ (pa_print_fp_reg, pa_strcat_fp_reg): Ditto.
+ * dve3900-rom.c (fetch_bitmapped_register): Ditto.
+
+2003-02-01 Andrew Cagney <ac131313@redhat.com>
+
+ * gdbarch.sh: Explictly specify all method levels. When a
+ variable with an empty level, provide a non-multi-arch default.
+ (BELIEVE_PCC_PROMOTION_TYPE): Set level to empty.
+ * gdbarch.h: Re-generate.
+ * stabsread.c (BELIEVE_PCC_PROMOTION_TYPE): Delete. Always defined.
+ * config/m68k/tm-sun3.h (BELIEVE_PCC_PROMOTION_TYPE): Define as 1
+
+2003-02-01 Andrew Cagney <ac131313@redhat.com>
+
+ * defs.h (host_pointer_to_address): Delete declaration.
+ (address_to_host_pointer): Delete declaration.
+ * utils.c (host_pointer_to_address): Delete function.
+ (address_to_host_pointer): Delete function.
+ * procfs.c (procfs_address_to_host_pointer): New function.
+ * procfs.c (proc_set_watchpoint): Use.
+ (procfs_can_use_hw_breakpoint): Update comments.
+ * somsolib.c (hpux_address_to_host_pointer_hack): New function.
+ (som_solib_add): Use.
+ * hppa-tdep.c (hppa_pointer_to_address_hack): New function.
+ * hppa-tdep.c (unwind_command): Use.
+
+2003-02-01 Andrew Cagney <ac131313@redhat.com>
+
+ * gdb_dirent.h: Mark up valid uses of <dirent.h>, d_namelen and
+ strlen d_name.
+
+ * main.c (captured_main): Delete #ifdef ADDITIONAL_OPTIONS,
+ ADDITIONAL_OPTION_CASES, and ADDITIONAL_OPTION_HANDLER code.
+ (print_gdb_help): Delete #ifdef ADDITIONAL_OPTION_HELP code.
+ * stabsread.c (DBX_PARM_SYMBOL_CLASS): Delete macro.
+ (define_symbol): Update.
+ * symfile.c (generic_load): Remove references to nindy.
+ * symtab.c: Remove references to nindy.
+
+2003-02-01 Andrew Cagney <ac131313@redhat.com>
+
+ * infcmd.c (print_float_info): Delete code conditional on
+ FLOAT_INFO.
+ * config/nm-lynx.h: Delete #undef FLOAT_INFO. Update copyright.
+ * config/m68k/nm-apollo68b.h: Ditto.
+ * config/i386/tm-ptx.h (FLOAT_INFO): Delete. Update copyright.
+ * config/ns32k/nm-nbsd.h (FLOAT_INFO): Ditto.
+ * config/i386/tm-symmetry.h (FLOAT_INFO): Ditto.
+
+2003-02-01 Mark Kettenis <kettenis@gnu.org>
+
+ * config/i386/tm-i386os9k.h: Removed.
+
+ * configure.host (i[3456]86-*-isc*): Set gdb_host to i386v.
+ Remove i[3456]86-*-sysv3.2* and i[3456]86-*-sysv32* entries since
+ they're identical to i[3456]86-*-sysv* now.
+ * config/i386/i386v32.mh: Removed.
+ * config/i386/xm-i386v32.h: Removed.
+ * config/i386/xm-i386sco.h (U_FPSTATE): Remove macro.
+
+ * config/i386/i386mk.mt, config/i386/i386mk.mh: Removed.
+
+ * config/i386/i386dgux.mh: Removed.
+ * configure.host (i[3456]86-*-dgux): Set gdb_host to i386v4.
+
+ * configure.in: Fix typo.
+ * configure: Regenerated.
+
+2003-01-31 David Carlton <carlton@math.stanford.edu>
+
+ * dwarf2read.c (dwarf2_locate_sections): Set
+ dwarf_ranges_section.
+
+2003-01-31 Andrew Cagney <ac131313@redhat.com>
+
+ * objc-exp.y, c-exp.y, f-exp.y: Remove PTR casts.
+ * utils.c: Update comments documenting legitimate uses of PTR.
+
+ * utils.c: Re-indent.
+
+ * config/djgpp/fnchange.lst: Delete nindy files.
+ * nindy-share/ttyflush.c, nindy-share/stop.h: Delete files.
+ * nindy-share/nindy.c, nindy-share/env.h: Delete files.
+ * nindy-share/coff.h, nindy-share/block_io.h: Delete files.
+ * nindy-share/b.out.h, nindy-share/VERSION: Delete files.
+ * nindy-share/README, nindy-share/Onindy.c: Delete files.
+ * nindy-tdep.c, nindy-share/Makefile: Delete files.
+ * Makefile.in (init.c): Remove nindy references.
+ (saber_gdb): Delete rule.
+ (ALLDEPFILES): Delete hp300ux-nat.c, nindy-tdep.c,
+ nindy-share/Onindy.c, nindy-share/nindy.c, nindy-share/ttyflush.c,
+ and a68v-nat.c.
+ (hp300ux-nat.o, a68v-nat.o, ptx4-nat.o): Delete rules.
+ (Onindy.o, nindy.o, ttyflush.o, nindy-tdep.o): Delete rules.
+ (HFILES_NO_SRCDIR): Delete nindy-share/b.out.h,
+ nindy-share/block_io.h, nindy-share/coff.h, nindy-share/env.h, and
+ nindy-share/stop.h.
+ * hp300ux-nat.c, a68v-nat.c, ptx4-nat.c: Delete files.
+ * saber.suppress: Delete file.
+
+2003-01-31 Daniel Jacobowitz <drow@mvista.com>
+
+ * dbxread.c (stabs_data): New static variable.
+ (fill_symbuf): Support an in-memory buffer for stabs data.
+ (stabs_seek): New function.
+ (dbx_psymtab_to_symtab): Relocate the stabs data if necessary.
+ (read_ofile_symtab): Use stabs_seek.
+ (elfstab_build_psymtabs): Take an asection* instead of
+ an offset and size. Relocate the stabs data if necessary.
+ Save the section* for dbx_psymtab_to_symtab.
+ * dwarf2read.c: Add section variables for each debug section.
+ (dwarf2_locate_sections): Fill them in.
+ (dwarf2_read_section): Take an asection* argument.
+ Relocate the section contents if necessary.
+ (dwarf2_build_psymtabs, dwarf2_build_psymtabs_easy): Update callers.
+ * dwarf2cfi.c (parse_frame_info): Take a section argument and pass
+ it to dwarf2_read_section.
+ (dwarf2_build_frame_info): Update callers.
+ * elfread.c (elf_symfile_read): Update call to
+ elfstab_build_psymtabs.
+ * gdb-stabs.h (struct dbx_symfile_info): Add stab_section.
+ (DBX_STAB_SECTION): New macro.
+ * stabsread.h (elfstab_build_psymtabs): Update prototype.
+ * symfile.c (symfile_dummy_outputs): New function.
+ (symfile_relocate_debug_section): New function.
+ * symfile.h (symfile_relocate_debug_section): Add prototype.
+
+2003-01-31 Richard Henderson <rth@redhat.com>
+
+ * alpha-nat.c (REGISTER_PTRACE_ADDR): Merge into ...
+ (register_addr): ... here. Support ALPHA_UNIQUE_REGNUM.
+ (fetch_elf_core_registers): Support ALPHA_UNIQUE_REGNUM.
+ * alpha-tdep.c (alpha_register_name): Add "unique".
+ * alpha-tdep.h (ALPHA_NUM_REGS): Increment.
+ (ALPHA_UNIQUE_REGNUM): New.
+ * config/alpha/nm-linux.h (ALPHA_UNIQUE_PTRACE_ADDR): New.
+
+2003-01-31 Andrew Cagney <ac131313@redhat.com>
+
+ * README: Remove reference to Ericsson 1800 monitor.
+ * Makefile.in (remote-es.o): Delete rule.
+ (ALLDEPFILES): Delete remote-es.c.
+ * remote-es.c: Delete file.
+ * config/m68k/es1800.mt: Delete file.
+ * config/djgpp/fnchange.lst: Update.
+ * configure.tgt: Delete m68*-ericsson-* target.
+
+2003-01-31 Adam Fedor <fedor@gnu.org>
+
+ * infrun.c (handle_inferior_event): Rename 'tmp' to real_stop_pc.
+ Remove duplicate/shadowing variable of same name.
+
+2003-01-30 Jim Blandy <jimb@redhat.com>
+
+ * symfile.c (find_separate_debug_file): Assert that the objfile's
+ directory name we compute ends with a slash, and then assume that
+ that's so everywhere we use it.
+
+2003-01-30 Daniel Jacobowitz <drow@mvista.com>
+
+ * valops.c (value_assign): Flush frame cache after stores to memory
+ also.
+
+2003-01-30 Andrew Cagney <ac131313@redhat.com>
+
+ * Makefile.in (mon960-rom.o): Delete rule.
+ * mon960-rom.c: Delete file.
+
+2003-01-30 Andrew Cagney <ac131313@redhat.com>
+
+ * d10v-tdep.c: Include "frame-unwind.h".
+ (d10v_gdbarch_init): Append d10v_frame_p to the unwind predicate
+ list.
+ (next_addr, uses_frame): Delete.
+ (struct d10v_unwind_cache): Define.
+ (prologue_find_regs): Add struct d10v_unwind_cache info parameter.
+ Use info instead of next_addr and uses_frame globals.
+ (d10v_frame_init_saved_regs): Delete function.
+ (d10v_init_extra_frame_info): Delete function.
+ (d10v_gdbarch_init): Do not initialize init_extra_frame_info,
+ frame_init_saved_regs or pop_frame, frame_chain, frame_chain_valid,
+ init_frame_pc or frame_saved_pc.
+ (d10v_pop_frame): Delete function.
+ (do_d10v_pop_frame): Delete function.
+ (d10v_frame_chain): Delete function.
+ (d10v_frame_chain_valid): Delete function.
+ (d10v_frame_pc_unwind): New function.
+ (d10v_frame_id_unwind): New function.
+ (saved_regs_unwinder): New function.
+ (d10v_frame_register_unwind): New function.
+ (d10v_frame_pop): New function.
+ (d10v_frame_unwind): New variable.
+ (d10v_frame_p): New function.
+ (d10v_frame_saved_pc): Delete function.
+ * Makefile.in (d10v-tdep.o): Update dependencies.
+
+2003-01-30 J. Brobecker <brobecker@gnat.com>
+
+ * config/pa/tm-hppa64.h (CALL_DUMMY_LOCATION): Remove #undef
+ causing some regressions due to a change in the default value
+ for this macro.
+
+2003-01-29 Richard Henderson <rth@redhat.com>
+ Elena Zannoni <ezannoni@redhat.com>
+ Daniel Jacobowitz <drow@mvista.com>
+
+ Fix PR gdb/961.
+ * dwarf2read.c (dwarf_ranges_offset, dwarf_ranges_size): New
+ variables.
+ (RANGES_SECTION): New.
+ (dwarf_ranges_buffer): New variable.
+ (struct comp_unit_head): Add member "die".
+ (struct dwarf2_pinfo): Add dwarf_ranges_buffer, dwarf_ranges_size.
+ (DWARF_RANGES_BUFFER, DWARF_RANGES_SIZE): New.
+ (dwarf2_has_info): Init dwarf_ranges_offset and dwarf_ranges_size.
+ (dwarf2_locate_sections): Likewise.
+ (dwarf2_build_psymtabs): Read .debug_ranges.
+ (dwarf2_build_psymtabs_hard): Swap dwarf_ranges out.
+ (psymtab_to_symtab_1): Swap dwarf_ranges in. Set cu_header.die.
+ (dwarf2_get_pc_bounds): New cu_header argument; adjust all callers.
+ Look for DW_AT_ranges and return the bounding box.
+
+2003-01-29 Brian Ford <ford@vss.fsi.com>
+
+ * win32-nat.c (cygwin_pid): Removed as unused.
+ (child_attach): Try fall back to Cygwin pid.
+
+2003-01-29 Jim Blandy <jimb@redhat.com>
+
+ * objfiles.h (struct objfile): Doc fix.
+
+2003-01-29 Andrew Cagney <ac131313@redhat.com>
+
+ * frame.c (frame_saved_regs_id_unwind): Assert FRAME_CHAIN_P.
+ (legacy_get_prev_frame): Assert FRAME_CHAIN_P.
+ (get_prev_frame): When FRAME_CHAIN_P, call legacy_get_prev_frame.
+ (frame_saved_regs_pc_unwind): Assert FRAME_SAVED_PC_P.
+ * gdbarch.sh (FRAME_CHAIN): Change to a function with predicate.
+ (FRAME_SAVED_PC): Change to a function with predicate.
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+2003-01-28 Andrew Cagney <ac131313@redhat.com>
+
+ * hppah-nat.c (child_pid_to_exec_file): Don't use boolean.
+
+ * complaints.c (complain): Delete function.
+ * complaints.h (struct deprecated_complaint): Delete definition.
+ (complain): Delete declaration.
+
+2003-01-28 Kevin Buettner <kevinb@redhat.com>
+
+ * mips-tdep.c (mips_init_extra_frame_info): Return early for
+ dummy frames.
+
+2003-01-27 Andrew Cagney <ac131313@redhat.com>
+
+ * sentinel-frame.h, sentinel-frame.c: New files.
+ * Makefile.in (frame.o): Update dependencies.
+ (SFILES): Add sentinel-frame.c.
+ (sentinel_frame_h): Define.
+ (COMMON_OBS): Add sentinel-frame.o.
+ (sentinel-frame.o): Specify dependencies.
+ * frame.c: Include "sentinel-frame.h".
+ (frame_register_unwind): Rewrite assuming that there is always a a
+ ->next frame.
+ (frame_register, generic_unwind_get_saved_register): Ditto.
+ (frame_read_unsigned_register, frame_read_signed_register): Ditto.
+ (create_sentinel_frame, unwind_to_current_frame): New functions.
+ (get_current_frame): Rewrite using create_sentinel_frame and
+ unwind_to_current_frame. When possible, always create a frame.
+ (create_new_frame): Set next to the sentinel frame.
+ (get_next_frame): Rewrite. Don't go below the level 0 frame.
+ (deprecated_update_frame_pc_hack): Update the next frame's PC and
+ ID cache when necessary.
+ (frame_saved_regs_id_unwind): Use frame_relative_level.
+ (deprecated_generic_get_saved_register): Use frame_relative_level,
+ get_frame_saved_regs, get_frame_pc, get_frame_base and
+ get_next_frame.
+ (frame_saved_regs_register_unwind): Use get_frame_saved_regs and
+ frame_register.
+
+2003-01-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * gdb_indent.sh: Add -T bfd and -T asection to the indent arguments.
+
+2003-01-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * maint.c [! (HAVE_MONSTARTUP && HAVE__MCLEANUP)]
+ (maintenance_set_profile_cmd): Use error () instead of warning ().
+
+2003-01-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * configure.in: Check that -pg works if using --enable-profiling.
+ Check for monstartup and _mcleanup regardless of --enable-profiling.
+ * maint.c: Check for monstartup and _mcleanup before using them.
+ * config.in: Regenerated.
+ * configure: Regenerated.
+
+2003-01-24 Nick Clifton <nickc@redhat.com>
+
+ * Add sh2e support:
+
+ 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
+
+ * gdb/sh-tdep.c (sh_sh2e_register_name): New.
+ (sh2e_show_regs): New.
+ (sh_gdbarch_init): Handle bfd_mach_sh2e.
+ * config/sh/tm-sh.h: Added sh2e to comments.
+
+2003-01-23 Jim Blandy <jimb@redhat.com>
+
+ * symfile.c (syms_from_objfile): Don't print the "(no debugging
+ symbols found)" message here; we haven't checked for a separate
+ debug info file yet, so we don't know yet.
+ (symbol_file_add_with_addrs_or_offsets): Print it here, after
+ we've looked everywhere. Also, there's no need to print a special
+ message when we're loading the separate debug info file: the one
+ symbol_file_add prints is fine.
+
+2003-01-23 Alexander Larsson <alexl@redhat.com>
+ Jim Blandy <jimb@redhat.com>
+
+ Add support for executables whose debug info has been separated
+ out into a separate file, leaving only a link behind.
+ * objfiles.h (struct objfile): New fields: separate_debug_objfile
+ and separate_debug_objfile_backlink.
+ (put_objfile_before): New declaration.
+ * symfile.c: #include "filenames.h".
+ (symbol_file_add_with_addrs_or_offsets): If this objfile has its
+ debug info in a separate file, read that, too. Save the addrs
+ argument, so we can use it again to read the separated debug info;
+ syms_from_objfile modifies the table we pass it.
+ (reread_symbols): After re-reading an objfile, call
+ reread_separate_symbols to refresh its separate debug info
+ objfile, if it has one.
+ (reread_separate_symbols, find_separate_debug_file,
+ get_debug_link_info, separate_debug_file_exists): New functions.
+ (debug_file_directory): New global var.
+ (_initialize_symfile): Initialize debug_file_directory, and
+ provide the new `set debug-file-directory' command to let the user
+ change it.
+ * objfiles.c (free_objfile): If this objfile has its debug info in
+ a separate objfile, free that one too. If this is itself a
+ separate debug info objfile, clear our parent's backlink.
+ (put_objfile_before): New function.
+ * utils.c (gnu_debuglink_crc32): New function.
+ * defs.h (gnu_debuglink_crc32): New declaration.
+ * Makefile.in (symfile.o): Note dependency on "filenames.h".
+ * configure.in: Handle --with-separate-debug-dir config option.
+ * acinclude.m4 (AC_DEFINE_DIR): New macro.
+ * acconfig.h (DEBUGDIR): New macro.
+ * configure, aclocal.m4, config.in: Regenerated.
+
+2003-01-22 Jim Blandy <jimb@redhat.com>
+
+ * symfile.c (symbol_file_add_with_addrs_or_offsets): New function,
+ like the old symbol_file_add, but taking new arguments: you can
+ now pass in either a `struct section_addr_info' list to say where
+ each section is loaded, or a `struct section_offsets' table. Pass
+ these new arguments through to syms_from_objfile as appropriate.
+ (symbol_file_add): Just call symbol_file_add_with_addrs_or_offsets,
+ with the appropriate quiescent values for the new arguments.
+
+ * symfile.c: #include "gdb_assert.h".
+ (syms_from_objfile): Add the ability to pass in a section offset
+ table directly, as an alternative to the section_addr_info table.
+ Document arguments better.
+ (symbol_file_add): Pass extra arguments to syms_from_objfile.
+ * symfile.h (syms_from_objfile): Update declaration.
+ * rs6000-nat.c (objfile_symbol_add): Pass new arguments to
+ syms_from_objfile.
+ * Makefile.in (symfile.o): List dependency on $(gdb_assert_h).
+
+2003-01-22 Daniel Jacobowitz <drow@mvista.com>
+
+ Original patch by Tom Tromey <tromey@cygnus.com> and
+ Jason Molenda <jmolenda@apple.com>.
+ * Makefile.in (PROFILE_CFLAGS): Substitute from configure.
+ (INTERNAL_LDFLAGS): Don't include PROFILE_CFLAGS.
+ * NEWS: Mention profiling.
+ * configure.in (--enable-gdbtk): Fix typo.
+ (--enable-profiling): New. Set PROFILE_CFLAGS.
+ * maint.c (maintenance_set_profile_cmd): Remove NOTYET.
+ Fill in function.
+ (profiling_state): New variable.
+ (mcleanup_wrapper): New function.
+ (_initialize_maint): Remove NOTYET, fix call to
+ add_setshow_boolean_cmd for "maint set profile".
+ * configure: Regenerated.
+
+2003-01-21 Martin M. Hunt <hunt@redhat.com>
+
+ * Makefile.in (install-gdbtk): Install PNG images too.
+
+2003-01-21 Andrew Cagney <ac131313@redhat.com>
+
+ * exec.c (text_start): Delete global variable.
+ (exec_file_attach): Make text_start local to the function.
+ * inferior.h (BEFORE_TEXT_END, AFTER_TEXT_END): Delete macros.
+ * valops.c (hand_function_call): Delete code that handles
+ BEFORE_TEXT_END and AFTER_TEXT_END.
+ * gdbarch.sh (CALL_DUMMY_LENGTH): Test call_dummy_length instead
+ of CALL_DUMMY_LOCATION.
+ * gdbarch.c: Regenerate.
+ * inferior.h (deprecated_pc_in_call_dummy_before_text_end)
+ (deprecated_pc_in_call_dummy_after_text_end): Delete declaration.
+ * blockframe.c (deprecated_pc_in_call_dummy_before_text_end)
+ (deprecated_pc_in_call_dummy_after_text_end): Delete functions.
+ (text_end): Delete extern declaration.
+
+2003-01-21 Andrew Cagney <ac131313@redhat.com>
+
+ * frame.h (FRAME_OBSTACK_ZALLOC): Define.
+ * blockframe.c (backtrace_below_main): Move to "frame.c".
+ (frame_chain_valid): Delete check for backtrace_below_main.
+ (_initialize_blockframe): Delete initialization, move ``set
+ backtrace-below-main'' command to "frame.c".
+ (do_flush_frames_sfunc): Delete function.
+ * frame.c: Include "command.h" and "gdbcmd.h".
+ (frame_type_from_pc): New function.
+ (create_new_frame): Use frame_type_from_pc.
+ (legacy_get_prev_frame): New function.
+ (get_prev_frame): Rewrite. When an old style frame, call
+ legacy_get_prev_frame. Otherwize, unwind the PC first.
+ (_initialize_frame): Add ``set backtrace-below-main'' command.
+ * Makefile.in (frame.o): Update dependencies.
+
+2003-01-19 Andrew Cagney <ac131313@redhat.com>
+
+ * config/pa/tm-hppa.h (DEPRECATED_DO_REGISTERS_INFO): Rename
+ DEPRECATED_REGISTERS_INFO.
+
+2003-01-19 Andrew Cagney <ac131313@redhat.com>
+
+ * MAINTAINERS: Replace `Blanket Write Privs' with `Global
+ Maintainers'. Update `Various Maintainers'.
+
+2003-01-19 Andrew Cagney <ac131313@redhat.com>
+
+ * frame.c (frame_saved_regs_pop): Assert POP_FRAME_P.
+ * gdbarch.sh (POP_FRAME): Change to function with predicate.
+ Suppress actual parameters when `-'.
+ * gdbarch.h, gdbarch.c: Regenerate.
+
+2003-01-19 Andrew Cagney <ac131313@redhat.com>
+
+ * d10v-tdep.c (d10v_frame_saved_pc, d10v_frame_chain): Restore
+ code handling dummy frames.
+
+2003-01-19 Andrew Cagney <ac131313@redhat.com>
+
+ * frame-unwind.h (frame_unwind_pop_ftype): Declare.
+ (struct frame_unwind): Add field pop.
+ * frame.h (frame_pop): Declare.
+ * frame.c (frame_saved_regs_pop): New function.
+ (trad_frame_unwinder): Add frame_saved_regs_pop.
+ (frame_pop): New function.
+ * dummy-frame.c (dummy_frame_pop): New function.
+ (discard_innermost_dummy): New function.
+ (generic_pop_dummy_frame): Use discard_innermost_dummy.
+ (dummy_frame_unwind): Add dummy_frame_pop.
+ * infrun.c (normal_stop): Call frame_pop instead of POP_FRAME.
+ * valops.c (hand_function_call): Ditto.
+ * stack.c (return_command): Ditto.
+
+2003-01-18 Andrew Cagney <ac131313@redhat.com>
+
+ * cris-tdep.c: Fix function declaration indentation.
+ * dwarfread.c, gdbcore.h, gdbtypes.h, i386v-nat.c: Ditto.
+ * mips-tdep.c, monitor.h, parse.c, proc-utils.h: Ditto.
+ * rs6000-nat.c, ser-go32.c, somread.c, stabsread.c: Ditto.
+ * symfile.h, symtab.h, target.c, target.h, value.h: Ditto.
+ * xcoffread.c, config/pa/tm-hppa.h: Ditto.
+ * config/sparc/tm-sp64.h, config/sparc/tm-sparc.h: Ditto.
+
+2003-01-18 Michael Chastain <mec@shout.net>
+
+ * README (Unpacking and Installation -- quick overview):
+ Warn against ".../gdb-5.3/gdb/configure".
+
+2003-01-18 Andrew Cagney <ac131313@redhat.com>
+
+ * dummy-frame.h (dummy_frame_id_unwind): Delete declaration.
+ (dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto.
+ (struct frame_unwind): Declare opaque.
+ (dummy_frame_p): Declare function.
+ * dummy-frame.c (dummy_frame_id_unwind): Make static.
+ (dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto.
+ * dummy-frame.c: Include "frame-unwind.h".
+ (dummy_frame_p): New function.
+ (dummy_frame_unwind): New variable.
+ * frame.c: Include "frame-unwind.h".
+ (frame_pc_unwind, frame_id_unwind, frame_register_unwind): Update
+ to use the new unwind field.
+ (set_unwind_by_pc): Delete function.
+ (create_new_frame, get_prev_frame): Set unwind field using
+ frame_unwind_find_by_pc.
+ (trad_frame_unwind, trad_frame_unwinder): New variables.
+ * frame.h (trad_frame_unwind): Declare variable.
+ (frame_id_unwind_ftype): Delete declaration.
+ (frame_pc_unwind_ftype, frame_register_unwind_ftype): Ditto.
+ (struct frame_unwind): Declare opaque.
+ (struct frame_info): Replace the fields id_unwind, pc_unwind and
+ register_unwind with a single unwind pointer.
+ * frame-unwind.h, frame-unwind.c: New files.
+ * Makefile.in (SFILES): Add frame-unwind.c.
+ (frame_unwind_h): Define.
+ (COMMON_OBS): Add frame-unwind.o.
+ (frame-unwind.o): Specify dependencies.
+ (frame.o, dummy-frame.o): Update dependencies.
+
+2003-01-18 Andrew Cagney <ac131313@redhat.com>
+
+ * ada-valprint.c: Eliminate PTR.
+ * breakpoint.c, corelow.c, cris-tdep.c, dbxread.c: Ditto.
+ * defs.h, dve3900-rom.c, dwarf2read.c, dwarfread.c: Ditto.
+ * exec.c, hppa-tdep.c, hpread.c, infcmd.c, mdebugread.c: Ditto.
+ * objfiles.c, objfiles.h, ocd.c, remote-es.c: Ditto.
+ * remote-mips.c, remote-sds.c, remote-vx.c: Ditto.
+ * solib-svr4.c, solib.c, stack.c, symfile.c, symfile.h: Ditto.
+ * symmisc.c, v850ice.c, xcoffread.c, cli/cli-script.c: Ditto.
+
+2003-01-17 Andrew Cagney <ac131313@redhat.com>
+
+ * main.c (captured_main): Don't use PTR.
+ * cp-valprint.c (cp_print_class_method): Replace STREQ with strcmp.
+ * gdbtypes.c (lookup_primitive_typename): Ditto.
+ (lookup_struct_elt_type): Ditto.
+ * f-valprint.c (info_common_command): Ditto.
+ (list_all_visible_commons): Ditto.
+ * jv-typeprint.c (java_type_print_base): Ditto.
+
+ * config/djgpp/fnchange.lst: Rename mi1-var-block.exp,
+ mi1-var-child.exp, mi1-var-cmd.exp and mi1-var-display.exp.
+ Rename opcodes/iq2000-desc.c and opcodes/iq2000-dis.c. Rename
+ i386-interix-nat.c and i386-interix-tdep.c. Rename
+ m68klinux-nat.c and m68klinux-tdep.c. Rename
+ config/mips/tm-linux.h and config/mips/tm-linux64.h. Rename
+ bfd/po/.cvsignore and opcodes/po/.cvsignore. Rename
+ gdb/objc-exp.tab.c and gdb/ada-exp.tab.c
+ * main.c (captured_main): Use xfree, not free.
+
+2003-01-16 Andrew Cagney <ac131313@redhat.com>
+
+ * frame.h (frame_id_unwind_ftype): Change type so that the frame's
+ ID back using a parameter.
+ * frame.c (frame_id_unwind): Update call.
+ (frame_saved_regs_id_unwind): Update.
+ * dummy-frame.c (dummy_frame_id_unwind): Update function.
+ * dummy-frame.h (struct frame_id): Add opaque declaration.
+ (dummy_frame_id_unwind): Update declaration.
+
+2003-01-15 Andrew Cagney <ac131313@redhat.com>
+
+ * sparc-tdep.c: Delete reference to PRINT_REGISTER_HOOK.
+
+2003-01-15 Stephen P. Smith <ischis2@cox.net>
+
+ * MAINTAINERS (Stephen P. Smith): Updated email address.
+
+2003-01-14 Elena Zannoni <ezannoni@redhat.com>
+
+ Fix PR gdb/898
+ * breakpoint.c (until_break_command): Add new argument. Use it to
+ decide whether to stop only at the current frame or not.
+ * breakpoint.h (until_break_command): Update prototype.
+ * infcmd.c (until_command): Add new argument to until_break_command
+ call.
+ (advance_command): New function.
+ (_initialize_infcmd): Update help string for 'until' command.
+ Add new 'advance' command.
+
+2003-01-14 David Carlton <carlton@math.stanford.edu>
+
+ * linespec.c (decode_line_1): Normalize comments.
+ (set_flags): Ditto.
+ (locate_first_half): Ditto.
+ (decode_compound): Ditto.
+ (symtab_from_filename): Ditto.
+ (decode_all_digits): Ditto.
+ (decode_dollar): Ditto.
+ (find_methods): Ditto.
+ (find_toplevel_char): Ditto.
+
+2003-01-13 Andrew Cagney <ac131313@redhat.com>
+
+ * ax-gdb.c, c-valprint.c, charset.c, corefile.c: Update copyright.
+ * demangle.c, disasm.c, dwarf2cfi.c, dwarfread.c: Update copyright.
+ * elfread.c, eval.c, expprint.c, expression.h: Update copyright.
+ * f-typeprint.c, findvar.c, gcore.c, gdb_mbuild.sh: Update copyright.
+ * gdbtypes.h, gnu-v2-abi.c, inferior.h, inftarg.c: Update copyright.
+ * language.c, language.h, m32r-tdep.c: Update copyright.
+ * mn10200-tdep.c, scm-lang.c, scm-lang.h: Update copyright.
+ * somsolib.c, somsolib.h, symfile.c, symtab.h: Update copyright.
+ * thread-db.c, typeprint.c, utils.c, valarith.c: Update copyright.
+ * values.c, win32-nat.c, x86-64-linux-nat.c: Update copyright.
+ * x86-64-linux-tdep.c, z8k-tdep.c: Update copyright.
+ * cli/cli-decode.h, config/h8500/tm-h8500.h: Update copyright.
+
+2003-01-13 Elena Zannoni <ezannoni@redhat.com>
+
+ * stabsread.h (process_later, resolve_cfront_continuation):
+ Obsolete.
+ Update copyright years.
+ * buildsym.c (start_subfile): Obsolete comment pertinent to Cfront.
+ Update copyright year.
+ * dbxread.c(struct cont_elem): Obsolete.
+ (process_later, process_now): Obsolete functions.
+ (read_dbx_symtab, read_ofile_symtab): Obsolete cfront support.
+ Update copyright year.
+ * gdbtypes.c (INIT_EXTRA, ADD_EXTRA): Obsolete macros.
+ (add_name, add_mangled_type, cfront_mangle_name): Obsolete functions.
+ * mdebugread.c (parse_type): Obsolete comment pertinent to Cfront.
+ (parse_partial_symbols): Obsolete cfront support.
+ * stabsread.c
+ (CFRONT_VISIBILITY_PRIVATE,CFRONT_VISIBILITY_PUBLIC): Obsolete
+ macros.
+ (get_substring, get_cfront_method_physname, msg_unknown_complaint,
+ read_cfront_baseclasses, read_cfront_member_functions,
+ resolve_cfront_continuation,read_cfront_static_fields,
+ copy_cfront_struct_fields): Obsolete functions.
+ (define_symbol, read_one_struct_field): Obsolete cfront support.
+ * xcoffread.c (scan_xcoff_symtab): Obsolete CFront support.
+ Update Copyright year.
+
+2003-01-13 Elena Zannoni <ezannoni@redhat.com>
+
+ * stack.c (print_frame_info, print_stack_frame_base_stub,
+ print_stack_frame_base, show_and_print_stack_frame_stub,
+ show_and_print_stack_frame, print_only_stack_frame_stub,
+ print_only_stack_frame): Delete functions.
+ (print_stack_frame_stub): Call print_frame_info instead of
+ print_frame_info_base.
+ (print_frame_info_base): Rename to print_frame_info.
+ (backtrace_command_1): Call print_frame_info, instead of
+ print_frame_info_base.
+ (current_frame_command): Call print_stack_frame, instead of
+ print_only_stack_frame.
+ (frame_command): Call print_stack_frame, instead of
+ show_and_print_stack_frame.
+ (up_command): Ditto.
+ (down_command): Ditto.
+ * frame.h (print_only_stack_frame): Delete prototype.
+ * infrun.c (normal_stop): Call print_stack_frame, instead of
+ show_and_print_stack_frame.
+ * thread.c (info_threads_command): Call print_stack_frame, instead
+ of print_only_stack_frame.
+
+2003-01-13 Andrew Cagney <ac131313@redhat.com>
+
+ * README (Graphical interface to GDB): Update URL. Point at
+ gdb/links/.
+
+ * gdb_indent.sh: Update to version 2.2.9. Warn when not exact
+ version match.
+
+2003-01-13 Daniel Jacobowitz <drow@mvista.com>
+
+ * symtab.c (find_pc_sect_line): Don't consider end-of-function
+ lines.
+
+2003-01-13 Daniel Jacobowitz <drow@mvista.com>
+
+ * thread-db.c (attach_thread): Prototype.
+ (struct private_thread_info): Remove lwpid. Add thread handle (th),
+ thread information (ti), and valid flags (th_valid, ti_valid).
+ (attach_thread): Move target_pid_to_str call to after the thread
+ is added to GDB's list. Initialize the cache.
+ (thread_get_info_callback, thread_db_map_id2thr)
+ (thread_db_get_info): New functions.
+ (thread_from_lwp, lwp_from_thread, thread_db_fetch_registers)
+ (thread_db_store_registers, thread_db_thread_alive)
+ (thread_db_get_thread_local_address): Use them.
+ (thread_db_pid_to_str): Likewise. Return "Missing" instead
+ of calling error() for threads in unknown state.
+
+ (clear_lwpid_callback): New function.
+ (thread_db_resume): Use it to clear the cache.
+
+2003-01-13 Daniel Jacobowitz <drow@mvista.com>
+
+ * lin-lwp.c (struct private_thread_info, find_lwp_callback): Remove.
+ (resume_callback): Remove dead code.
+
+2003-01-13 Andrew Cagney <ac131313@redhat.com>
+
+ * gdbarch.sh (FRAME_INIT_SAVED_REGS): Change to function with
+ predicate.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * stack.c (frame_info): Only initialize the saved registers when
+ FRAME_INIT_SAVED_REGS_P.
+ * frame.c (frame_saved_regs_register_unwind): Assert
+ FRAME_INIT_SAVED_REGS_P.
+ (deprecated_generic_get_saved_register): Ditto.
+
+2003-01-13 Daniel Jacobowitz <drow@mvista.com>
+
+ * source.c (openp): Squelch warning about "filename".
+
+2003-01-13 Daniel Jacobowitz <drow@mvista.com>
+
+ * source.c (openp): If the file does not exist don't necessarily
+ search the path.
+
+2003-01-13 Daniel Jacobowitz <drow@mvista.com>
+
+ Fix PR gdb/872.
+ * gdbtypes.c (init_type): Mark "char" as TYPE_FLAG_NOSIGN.
+ (integer_types_same_name_p): New function.
+ (rank_one_type): Use it.
+ * stabsread.c (read_range_type): Mark "char" as TYPE_FLAG_NOSIGN.
+
+2003-01-13 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in (TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE): New
+ variables.
+ (main.o): Custom rule which uses $(TARGET_SYSTEM_ROOT_DEFINE).
+ * configure.in: Add --with-sysroot.
+ * configure: Regenerated.
+ * main.c (gdb_sysroot): New variable.
+ (captured_main): Initialize gdb_sysroot.
+ * defs.h (gdb_sysroot): New extern declaration.
+ * solib.c (_initialize_solib): Initialize solib_absolute_prefix.
+
+2003-01-12 Michael Chastain <mec@shout.net>
+
+ * config/djgpp/fnchange.lst: add gdb/ChangeLog-2002.
+
+2003-01-12 Michael Chastain <mec@shout.net>
+
+ * top.c (print_gdb_version): Bump copyright year to 2003.
+
+2003-01-12 David Carlton <carlton@bactrian.org>
+
+ * linespec.c (symtab_from_filename): Rename variable 's' to
+ 'file_symtab'.
+
+2003-01-12 Andrew Cagney <ac131313@redhat.com>
+
+ * d10v-tdep.c (d10v_init_extra_frame_info): Remove checks for a
+ dummy frame.
+ (d10v_frame_saved_pc, d10v_frame_chain): Ditto.
+
+2003-01-12 Andrew Cagney <ac131313@redhat.com>
+
+ * d10v-tdep.c: Include "gdb_assert.h".
+ (d10v_store_return_value): Rewrite to match current interface.
+ (d10v_extract_struct_value_address): Ditto.
+ (d10v_extract_return_value): Ditto.
+ (d10v_gdbarch_init): Set store_restore_value,
+ extract_struct_value_address and extract_return_value.
+
+2003-01-12 J. Brobecker <brobecker@gnat.com>
+
+ * hpread.c (set_namestring): New procedure replacing the
+ SET_NAMESTRING macro.
+ (hpread_build_psymtabs): Replace calls to SET_NAMESTRING
+ by calls to set_namestring.
+
+2003-01-11 J. Brobecker <brobecker@gnat.com>
+
+ * hpread.c (SET_NAMESTRING): Remove an incorrect cast to fix
+ a compilation warning.
+ (hpread_process_one_debug_symbol): Likewise.
+
+2003-01-10 David Carlton <carlton@math.stanford.edu>
+
+ * linespec.c (decode_line_1): Rename variable 's' to
+ 'file_symtab'.
+ (decode_all_digits): Rename argument 's' to 'file_symtab'.
+ (decode_dollar): Ditto.
+ (decode_variable): Ditto.
+ (symbol_found): Ditto.
+
+2003-01-09 Michael Chastain <mec@shout.net>
+
+ * config/djgpp/fnchange.lst: update file list for testsuite/gdb.c++.
+
+2003-01-07 Corinna Vinschen <vinschen@redhat.com>
+
+ * win32-nat.c (set_process_privilege): New function.
+ (child_attach): Call set_process_privilege() to enable the
+ SE_DEBUG_NAME user privilege if available in process token.
+
+2003-01-10 J. Brobecker <brobecker@gnat.com>
+
+ * hpread.c (hpread_process_one_debug_symbol): Fix a small
+ compilation error in the previous revision.
+
+2003-01-09 David Carlton <carlton@math.stanford.edu>
+
+ * linespec.c: Update copyright.
+
+2003-01-09 Daniel Jacobowitz <drow@mvista.com>
+
+ * lin-lwp.c (child_wait): Ignore exit statuses for processes other
+ than inferior_ptid.
+ (lin_lwp_wait): Ignore exit statuses for unknown LWPs.
+
+2003-01-09 Andrew Cagney <ac131313@redhat.com>
+
+ * frame.h (frame_obstack_zalloc): Replace frame_obstack_alloc.
+ Update comments.
+ * frame.c (frame_obstack_zalloc): Replace frame_obstack_alloc.
+ (frame_saved_regs_zalloc): Update.
+ (frame_saved_regs_register_unwind): Update.
+ (create_new_frame): Update.
+ (get_prev_frame): Update.
+ (frame_extra_info_zalloc): Update.
+ (deprecated_get_frame_saved_regs): Update.
+ * dwarf2cfi.c (cfi_init_extra_frame_info): Update.
+ * cris-tdep.c: Update comment.
+
+ * somsolib.h: Fix function indentation.
+ * disasm.c, buildsym.c, buildsym.h: Eliminate PTR.
+ * gnu-v2-abi.c, f-typeprint.c, x86-64-linux-tdep.c: Eliminate STREQ.
+ * demangle.c, ax-gdb.c, c-valprint.c: Eliminate STREQ.
+ * alpha-osf1-tdep.c, corefile.c: Eliminate STREQ.
+ * somsolib.c, inftarg.c: Remove assignment in if conditional.
+
+ * infrun.c (follow_fork): Use ISO C definition.
+ * expprint.c (print_subexp): Use xfree instead of free.
+ * charset.c: Include "gdb_string.h" instead of <string.h>.
+ (register_iconv_charsets): Use ISO C definition.
+ (host_charset, target_charset): Ditto.
+ * Makefile.in (charset.o): Update dependencies.
+ (mi-cmd-env.o): Update dependencies.
+
+2003-01-08 Andrew Cagney <cagney@redhat.com>
+
+ * alpha-linux-tdep.c (alpha_linux_sigcontext_addr): Use
+ get_frame_base.
+
+2003-01-08 Andrew Cagney <ac131313@redhat.com>
+
+ * gdb_mbuild.sh: Add --keep option. When specified, keep the
+ build directories. Save edited gdb output in Mbuild.log. If a
+ build fails, remove any final GDB executable.
+
+2003-01-08 Andrew Cagney <ac131313@redhat.com>
+
+ * gdb_mbuild.sh: Edit the output of `maint print architecture'
+ replacing hex constants with function names and stripping leading
+ file name directory prefixes.
+
+2003-01-08 Andrew Cagney <cagney@redhat.com>
+
+ * gcore.c, i386-linux-tdep.c: Use get_frame_pc, get_next_frame and
+ get_frame_base.
+
+2003-01-08 David Carlton <carlton@math.stanford.edu>
+
+ * linespec.c (decode_line_1): Move code into decode_variable.
+ (decode_variable): New function.
+
+2003-01-08 Andrew Cagney <ac131313@redhat.com>
+
+ * mn10300-tdep.c (analyze_dummy_frame): Fix typo.
+
+2003-01-08 Andrew Cagney <cagney@redhat.com>
+
+ * cris-tdep.c (cris_frame_init_saved_regs): Use
+ get_frame_saved_regs and SIZEOF_FRAME_SAVED_REGS when copying a
+ saved_regs buffer.
+ * sh-tdep.c (sh_nofp_frame_init_saved_regs): Ditto.
+ (sh64_nofp_frame_init_saved_regs): Ditto.
+ (sh_fp_frame_init_saved_regs): Ditto.
+ * arm-tdep.c: Use deprecated_set_frame_saved_regs_hack.
+ * mips-tdep.c (mips_init_extra_frame_info): Ditto.
+ * mcore-tdep.c (analyze_dummy_frame): Ditto.
+ * mn10300-tdep.c (analyze_dummy_frame): Ditto.
+
+2003-01-08 Daniel Jacobowitz <drow@mvista.com>
+
+ * minsyms.c (lookup_minimal_symbol): Update comment.
+ (lookup_minimal_symbol_text): Update comment. Use the hash table.
+ (lookup_minimal_symbol_solib_trampoline): Likewise.
+
+2003-01-08 Andrew Cagney <cagney@redhat.com>
+
+ * d10v-tdep.c (d10v_init_extra_frame_info): Use
+ frame_relative_level.
+
+ * alpha-tdep.c: Use get_frame_extra_info.
+ * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
+ * h8300-tdep.c, ia64-tdep.c, m68hc11-tdep.c, mcore-tdep.c: Ditto.
+ * mips-tdep.c, mn10300-tdep.c, s390-tdep.c, sh-tdep.c: Ditto.
+ * sparc-tdep.c, xstormy16-tdep.c: Ditto.
+
+ * alpha-tdep.c: Use get_next_frame.
+ * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
+ * dwarf2cfi.c, h8300-tdep.c, i386-tdep.c, ia64-tdep.c: Ditto.
+ * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c: Ditto.
+ * mips-tdep.c, mn10200-tdep.c, mn10300-tdep.c: Ditto.
+ * ns32k-tdep.c, s390-tdep.c, sh-tdep.c, sparc-tdep.c: Ditto.
+ * v850-tdep.c, vax-tdep.c, x86-64-linux-tdep.c: Ditto.
+ * xstormy16-tdep.c: Ditto.
+
+2003-01-07 Andrew Cagney <cagney@redhat.com>
+
+ * alpha-tdep.c: Use get_frame_base.
+ * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
+ * h8300-tdep.c, i386-tdep.c, ia64-tdep.c, m68hc11-tdep.c: Ditto.
+ * m68k-tdep.c, mcore-tdep.c, mips-tdep.c, mn10200-tdep.c: Ditto.
+ * mn10300-tdep.c, ns32k-tdep.c, s390-tdep.c, sh-tdep.c: Ditto.
+ * sparc-tdep.c, v850-tdep.c, vax-tdep.c: Ditto.
+ * x86-64-linux-tdep.c, xstormy16-tdep.c: Ditto.
+ * config/h8500/tm-h8500.h, config/mn10200/tm-mn10200.h: Ditto.
+ * config/sparc/tm-sparc.h: Ditto.
+
+2003-01-07 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (deprecated_get_frame_context): New function.
+ (deprecated_set_frame_context): New function.
+ * frame.h (deprecated_get_frame_context): Declare.
+ (deprecated_set_frame_context): Declare.
+ * dwarf2cfi.c (UNWIND_CONTEXT): Use deprecated_get_frame_context.
+ (cfi_init_extra_frame_info): Use deprecated_set_frame_context.
+
+2003-01-07 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (deprecated_set_frame_next_hack): New function.
+ (deprecated_set_frame_prev_hack): New function.
+ * frame.h (deprecated_set_frame_next_hack): Declare.
+ (deprecated_set_frame_prev_hack): Declare.
+ * mcore-tdep.c (analyze_dummy_frame): Use
+ deprecated_set_frame_next_hack and deprecated_set_frame_prev_hack.
+ * mn10300-tdep.c (analyze_dummy_frame): Ditto.
+
+2003-01-07 David Carlton <carlton@math.stanford.edu>
+
+ * linespec.c (decode_line_1): Move code into decode_dollar.
+ (decode_dollar): New function.
+
+2003-01-07 Andrew Cagney <cagney@redhat.com>
+
+ * arm-tdep.c (arm_init_extra_frame_info): Use
+ deprecated_update_frame_base_hack.
+ * xstormy16-tdep.c (xstormy16_scan_prologue): Ditto.
+ * mn10300-tdep.c (analyze_dummy_frame): Ditto.
+ (fix_frame_pointer): Ditto.
+ (mn10300_analyze_prologue): Ditto.
+
+2003-01-07 Andrew Cagney <cagney@redhat.com>
+
+ * xstormy16-tdep.c (xstormy16_init_extra_frame_info): Allocate
+ extra_info using frame_extra_info_zalloc.
+ * sparc-tdep.c (sparc_init_extra_frame_info): Ditto.
+ * sh-tdep.c (sh_init_extra_frame_info): Ditto.
+ (sh64_init_extra_frame_info): Ditto.
+ * mn10300-tdep.c (mn10300_init_extra_frame_info): Ditto.
+ * s390-tdep.c (s390_init_extra_frame_info): Ditto.
+ * mips-tdep.c (mips_init_extra_frame_info): Ditto.
+ * mcore-tdep.c (mcore_init_extra_frame_info): Ditto.
+ * frv-tdep.c (frv_init_extra_frame_info): Ditto.
+ * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Ditto.
+ * ia64-tdep.c (ia64_init_extra_frame_info): Ditto.
+ * h8300-tdep.c (h8300_init_extra_frame_info): Ditto.
+ * d10v-tdep.c (d10v_init_extra_frame_info): Ditto.
+ * cris-tdep.c (cris_init_extra_frame_info): Ditto.
+ * arm-tdep.c (arm_init_extra_frame_info): Ditto.
+ * alpha-tdep.c (alpha_init_extra_frame_info): Ditto.
+
+ * mn10300-tdep.c (analyze_dummy_frame): Use
+ deprecated_set_frame_extra_info_hack.
+ * mcore-tdep.c (analyze_dummy_frame): Ditto.
+
+2003-01-07 J. Brobecker <brobecker@gnat.com>
+
+ * mdebugread.c (parse_symbol): Skip stProc entries which storage
+ class is not scText. These do not define "real" procedures.
+ (parse_partial_symbols): Likewise.
+
+2003-01-06 Michael Snyder <msnyder@redhat.com>
+
+ * lin-lwp.c: Added or elaborated on "debug lin-lwp" info.
+
+2003-01-06 Andrew Cagney <ac131313@redhat.com>
+
+ * frame.h (deprecated_frame_xmalloc_with_cleanup): Declare.
+ * frame.c (deprecated_frame_xmalloc_with_cleanup): New function.
+ * arm-tdep.c (arm_frame_chain): Allocate caller_fi using
+ deprecated_frame_xmalloc_with_cleanup.
+ * m32r-tdep.c (m32r_virtual_frame_pointer): Allocate `fi' using
+ deprecated_frame_xmalloc.
+ * mcore-tdep.c (analyze_dummy_frame): Ditto for dummy.
+ * mn10200-tdep.c (mn10200_frame_chain): Ditto for dummy_frame.
+
+2003-01-06 Andrew Cagney <cagney@redhat.com>
+
+ * x86-64-linux-tdep.c: Include "osabi.h".
+ * Makefile.in (x86-64-linux-tdep.o): Update dependencies.
+
+ * sparc-tdep.c (sparc_dump_tdep): Fix typo, match -> mach.
+
+2003-01-06 Andrew Cagney <cagney@redhat.com>
+
+ * MAINTAINERS (Target Instruction Set Architectures): Update
+ arm-elf. Can be built with -Werror, has been multiarched.
+
+ * value.h (unpack_long): Make buffer parameter constant.
+ (unpack_double, unpack_pointer, unpack_field_as_long): Ditto.
+ * scm-lang.h (scm_parse): Ditto.
+ * defs.h (extract_typed_address, extract_address): Ditto.
+ (extract_long_unsigned_integer): Ditto.
+ * inferior.h (unsigned_pointer_to_address): Ditto.
+ (signed_pointer_to_address): Ditto.
+ * gdbarch.sh (POINTER_TO_ADDRESS): Ditto.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * findvar.c (extract_long_unsigned_integer): Update.
+ (extract_address): Update.
+ (extract_typed_address): Update.
+ (unsigned_pointer_to_address): Update.
+ * values.c (unpack_long): Update.
+ (unpack_double): Update.
+ (unpack_pointer): Update.
+ (unpack_field_as_long): Update.
+ * d10v-tdep.c (d10v_pointer_to_address): Update.
+ * avr-tdep.c (avr_pointer_to_address): Update.
+ * scm-lang.c (scm_unpack): Update.
+ * findvar.c (signed_pointer_to_address): Update.
+
+2003-01-06 Michal Ludvig <mludvig@suse.cz>
+
+ * x86-64-linux-nat.c (i386_sse_regnum_p): Deleted. Not needed anymore
+ since it is in i386-tdep.c.
+
+2003-01-06 J. Brobecker <brobecker@gnat.com>
+
+ * alpha-tdep.c (alpha_gdbarch_init): Fix a small compilation
+ failure introduced in the previous change.
+
+2003-01-05 Michael Chastain <mec@shout.net>
+
+ * README: Remove references to deleted remote-*.c files:
+ remote-adapt.c, remote-eb.c, remote-mm.c, remote-nindy.c,
+ remote-nrom.c, remote-os9k.c, remote-udi.c.
+
+2003-01-05 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-tdep.c (i386_get_longjmp_target): Make usable on x86-64.
+ * x86-64-tdep.c (x86_64_init_abi): Remove FIXME about
+ i386_get_longjmp_target.
+
+2003-01-05 Andrew Cagney <ac131313@redhat.com>
+
+ * arm-tdep.c (prologue_cache): Change to a pointer.
+ (_initialize_arm_tdep): Allocate prologue_cache.
+ (check_prologue_cache): Update.
+ (save_prologue_cache): Update.
+ (arm_gdbarch_init): Update.
+
+2003-01-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * stabsread.c (update_method_name_from_physname): Call complaint()
+ instead of error.
+
+2003-01-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * arm-tdep.c (arm_frame_chain_valid): Remove unnecessary test.
+ * d10v-tdep.c (d10v_frame_chain_valid): Remove unnecessary tests.
+ * hppa-tdep.c (hppa_frame_chain_valid): Remove unnecessary test.
+
+ * blockframe.c: Include "gdbcmd.h" and "command.h".
+ (backtrace_below_main): New variable.
+ (file_frame_chain_valid, func_frame_chain_valid)
+ (nonnull_frame_chain_valid, generic_file_frame_chain_valid)
+ (generic_func_frame_chain_valid): Remove functions.
+ (frame_chain_valid, do_flush_frames_sfunc): New functions.
+ (_initialize_blockframe): New function.
+ * Makefile.in (blockframe.o): Update dependencies.
+ * frame.c (frame_saved_regs_id_unwind, get_prev_frame): Remove FIXME
+ comment. Call frame_chain_valid ().
+ * frame.h: Remove old prototypes. Add prototype for
+ frame_chain_valid and update comments to match.
+ * gdbarch.sh: Change FRAME_CHAIN_VALID into a predicated function.
+ Remove old comment.
+ * gdbarch.h: Regenerated.
+ * gdbarch.c: Regenerated.
+
+ * alpha-tdep.c (alpha_gdbarch_init): Don't call
+ set_gdbarch_frame_chain_valid.
+ * avr-tdep.c (avr_gdbarch_init): Likewise.
+ * cris-tdep.c (cris_gdbarch_init): Likewise.
+ * frv-tdep.c (frv_gdbarch_init): Likewise.
+ * h8300-tdep.c (h8300_gdbarch_init): Likewise.
+ * i386-tdep.c (i386_svr4_init_abi): Likewise.
+ (i386_nw_init_abi): Likewise.
+ (i386_gdbarch_init): Likewise.
+ * ia64-tdep.c (ia64_gdbarch_init): Likewise.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
+ * m68k-tdep.c (m68k_gdbarch_init): Likewise.
+ * mcore-tdep.c (mcore_gdbarch_init): Likewise.
+ * mips-tdep.c (mips_gdbarch_init): Likewise.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Likewise.
+ * ppcnbsd-tdep.c (ppcnbsd_init_abi): Likewise.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
+ * s390-tdep.c (s390_gdbarch_init): Likewise.
+ * sh-tdep.c (sh_gdbarch_init): Likewise.
+ * sparc-tdep.c (sparc_gdbarch_init): Likewise.
+ * v850-tdep.c (v850_gdbarch_init): Likewise.
+ * vax-tdep.c (vax_gdbarch_init): Likewise.
+ * x86-64-tdep.c (x86_64_init_abi): Likewise.
+
+ * config/m32r/tm-m32r.h (FRAME_CHAIN_VALID): Don't define.
+ * config/m68k/tm-apollo68b.h (FRAME_CHAIN_VALID): Likewise.
+ * config/m68k/tm-m68kv4.h (FRAME_CHAIN_VALID): Likewise.
+ * config/m68k/tm-monitor.h (FRAME_CHAIN_VALID): Likewise.
+ * config/m68k/tm-os68k.h (FRAME_CHAIN_VALID): Likewise.
+ * config/m68k/tm-vx68.h (FRAME_CHAIN_VALID): Likewise.
+ * config/mn10200/tm-mn10200.h (FRAME_CHAIN_VALID): Likewise.
+ * config/sparc/tm-sparclite.h (FRAME_CHAIN_VALID): Likewise.
+
+2002-01-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in (acconfig_h): Remove incorrect macro.
+ (config_h): Define.
+ (osabi.o): Update dependencies.
+ * configure.tgt: Set gdb_osabi based on target triplet.
+ * configure.in: Define GDB_OSABI_DEFAULT based on gdb_osabi.
+ * configure: Regenerated.
+ * config.in: Regenerated.
+ * osabi.c: Include "arch-utils.h", "gdbcmd.h", and "command.h".
+ (GDB_OSABI_DEFAULT): Define if not already defined.
+ (user_osabi_state, user_selected_osabi, gdb_osabi_available_names)
+ (set_osabi_string): New variables.
+ (gdbarch_register_osabi): Add new OS ABI to
+ gdb_osabi_available_names.
+ (gdbarch_lookup_osabi): Honor specified and default OS ABIs.
+ (set_osabi, show_osabi): New functions.
+ (_initialize_gdb_osabi): Add "set osabi" and "show osabi" commands.
+
+2003-01-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * arch-utils.c (gdbarch_info_init): Set osabi to
+ GDB_OSABI_UNINITIALIZED.
+ * gdbarch.sh: Add osabi to struct gdbarch and to struct
+ gdbarch_info. Include "osabi.h" in gdbarch.c. Check osabi
+ in gdbarch_list_lookup_by_info and in gdbarch_update_p.
+ * gdbarch.c: Regenerated.
+ * gdbarch.h: Regenerated.
+ * osabi.c (gdbarch_lookup_osabi): Return GDB_OSABI_UNINITIALIZED if
+ there's no BFD.
+ (gdbarch_init_osabi): Remove osabi argument; use info.osabi.
+ * osabi.h (enum gdb_osabi): Move to defs.h.
+ (gdbarch_init_osabi): Update prototype.
+ * defs.h (enum gdb_osabi): Moved here.
+ * Makefile.in: Update dependencies.
+
+ * alpha-tdep.h: Don't include "osabi.h".
+ (struct gdbarch_tdep): Remove osabi member.
+ * alpha-tdep.c: Include "osabi.h".
+ (alpha_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
+ iterate over arches. Update call to gdbarch_init_osabi.
+ (alpha_dump_tdep): Don't dump osabi.
+ * alpha-linux-tdep.c: Include "osabi.h".
+ * alpha-osf1-tdep.c: Include "osabi.h".
+ * alphafbsd-tdep.c: Include "osabi.h".
+ * alphanbsd-tdep.c: Include "osabi.h".
+
+ * arm-tdep.h: Don't include "osabi.h".
+ (struct gdbarch_tdep): Remove osabi member.
+ * arm-tdep.c: Include "osabi.h".
+ (arm_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
+ iterate over arches. Update call to gdbarch_init_osabi.
+ (arm_dump_tdep): Don't dump osabi.
+ * arm-linux-tdep.c: Include "osabi.h".
+ * armnbsd-tdep.c: Include "osabi.h".
+
+ * hppa-tdep.c (hppa_gdbarch_init): Don't call gdbarch_lookup_osabi.
+ Update call to gdbarch_init_osabi.
+
+ * i386-tdep.h: Don't include "osabi.h".
+ (struct gdbarch_tdep): Remove osabi member.
+ * i386-tdep.c: Include "osabi.h".
+ (i386_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
+ iterate over arches. Update call to gdbarch_init_osabi.
+ (i386_dump_tdep): Don't dump osabi.
+ * i386-linux-tdep.c: Include "osabi.h".
+ * i386-sol2-tdep.c: Include "osabi.h".
+ * i386bsd-tdep.c: Include "osabi.h".
+ * i386gnu-tdep.c: Include "osabi.h".
+ * i386ly-tdep.c: Include "osabi.h".
+ * i386nbsd-tdep.c: Include "osabi.h".
+ * i386obsd-tdep.c: Include "osabi.h".
+
+ * mips-tdep.c (struct gdbarch_tdep): Remove osabi member.
+ (mips_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
+ check osabi when iterating over arches. Update call to
+ gdbarch_init_osabi.
+ (mips_dump_tdep): Don't dump osabi.
+
+ * ns32k-tdep.h: Don't include "osabi.h".
+ (struct gdbarch_tdep): Remove.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Don't call
+ gdbarch_lookup_osabi. Don't iterate over arches. Don't
+ allocate tdep. Update call to gdbarch_init_osabi.
+ (ns32k_dump_tdep): Remove.
+ (_initialize_ns32k_tdep): Update call to gdbarch_register.
+ * ns32knbsd-tdep.c: Include "osabi.h".
+
+ * ppc-tdep.h: Don't include "osabi.h".
+ (struct gdbarch_tdep): Remove osabi member.
+ * rs6000-tdep.c: Include "osabi.h".
+ (rs6000_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't check
+ osabi when iterating over arches. Update call to
+ gdbarch_init_osabi.
+ (rs6000_dump_tdep): Don't dump osabi.
+ * ppc-linux-tdep.c: Include "osabi.h".
+ * ppcnbsd-tdep.c: Include "osabi.h".
+
+ * sh-tdep.h: Don't include "osabi.h".
+ (struct gdbarch_tdep): Remove osabi member.
+ * sh-tdep.c: Include "osabi.h".
+ (sh_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
+ iterate over arches. Update call to gdbarch_init_osabi.
+ (sh_dump_tdep): Don't dump osabi.
+ * shnbsd-tdep.c: Include "osabi.h".
+
+ * sparc-tdep.c: Include "osabi.h".
+ (sparc_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
+ iterate over arches. Update call to gdbarch_init_osabi.
+ (sparc_dump_tdep): Don't dump osabi. Do dump the rest of the
+ tdep structure.
+
+ * vax-tdep.h: Don't include "osabi.h".
+ (struct gdbarch_tdep): Remove.
+ * vax-tdep.c: Include "osabi.h".
+ (vax_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't
+ iterate over arches. Don't allocate tdep. Update call
+ to gdbarch_init_osabi.
+ (vax_dump_tdep): Remove.
+ (_initialize_vax_tdep): Update call to gdbarch_register.
+
+2003-01-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * breakpoint.c (insert_breakpoints): Skip disabled breakpoints
+ entirely.
+ (breakpoint_re_set_one): Don't fetch the value for a disabled
+ watchpoint.
+
+2003-01-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * buildsym.h (processing_hp_compilation): Remove obsolete variable.
+ * gdbarch.sh Remove include of "value.h" in gdbarch.h.
+ (COERCE_FLOAT_TO_DOUBLE): Remove.
+ * gdbarch.c: Regenerate.
+ * gdbarch.h: Regenerate.
+ * Makefile.in: Remove value_h from gdbarch_h.
+ * valops.c (coerce_float_to_double): New variable.
+ (default_coerce_float_to_double): Remove.
+ (standard_coerce_float_to_double): Remove.
+ (value_arg_coerce): Use coerce_float_to_double.
+ (_initialize_valops): Add "set coerce-float-to-double".
+ * value.h (default_coerce_float_to_double): Remove prototype.
+ (standard_coerce_float_to_double): Remove prototype.
+
+ * hpread.c (hpread_process_one_debug_symbol): Mark C++ functions as
+ prototyped.
+ * mdebugread.c (parse_symbol): Likewise.
+ * stabsread.c (define_symbol): Mark all functions as prototyped.
+
+ * hppa-tdep.c (hppa_coerce_float_to_double): Remove.
+ * alpha-tdep.c (alpha_gdbarch_init): Remove call to
+ set_gdbarch_coerce_float_to_double.
+ * arm-tdep.c (arm_gdbarch_init): Likewise.
+ * frv-tdep.c (frv_gdbarch_init): Likewise.
+ * h8300-tdep.c (h8300_gdbarch_init): Likewise (commented out).
+ * i386-sol2-tdep.c (i386_sol2_init_abi): Likewise.
+ * mips-tdep.c (mips_gdbarch_init): Likewise.
+ (mips_coerce_float_to_double): Remove.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
+ (rs6000_coerce_float_to_double): Remove.
+ * s390-tdep.c (s390_gdbarch_init): Likewise.
+ * sh-tdep.c (sh_gdbarch_init): Likewise.
+ (sh_coerce_float_to_double): Remove.
+ * sparc-tdep.c (sparc_gdbarch_init): Likewise.
+ (sparc_coerce_float_to_double): Remove.
+ * v850-tdep.c (v850_gdbarch_init): Likewise.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
+ * config/m32r/tm-m32r.h (COERCE_FLOAT_TO_DOUBLE): Remove.
+ * config/pa/tm-hppa.h: (COERCE_FLOAT_TO_DOUBLE): Remove.
+ (hppa_coerce_float_to_double): Remove prototype.
+ * config/sparc/tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Remove.
+
+2003-01-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * regformats/reg-m68k.dat: Remove fpcode and fpflags.
+
+2003-01-04 Daniel Jacobowitz <drow@mvista.com>
+
+ Suggested by Stewart Brown <sb24@avaya.com>:
+ * c-typeprint.c (c_type_print_varspec_prefix): Pass value of show
+ in recursive calls. Handle TYPE_CODE_TYPEDEF.
+ (c_type_print_varspec_suffix): Likewise.
+
+2003-01-04 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Don't set and AC_SUBST SUBDIRS.
+ * configure: Regenerated.
+
+ * configure.in: Remove code dealing with shared libraries.
+ * Makefile.in: Remove HLDFLAGS and HLDENV.
+ * configure: Regenerated.
+
+2003-01-04 Andrew Cagney <ac131313@redhat.com>
+
+ * frame.c (deprecated_frame_xmalloc): New function.
+ (deprecated_set_frame_saved_regs_hack): New function.
+ (deprecated_set_frame_extra_info_hack): New function.
+ * frame.h (deprecated_frame_xmalloc): Declare.
+ (deprecated_set_frame_saved_regs_hack): Declare.
+ (deprecated_set_frame_extra_info_hack): Declare.
+
+2003-01-04 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Move code that provides the --enable-gdbtk option
+ right after the code that handles the --enable-tui option, and
+ polish it somewhat.
+ * configure: Regenerated.
+
+ * configure.in: Call AC_GNU_SOURCE. Check for pread64 using
+ AC_CHECK_FUNCS and remove the old check for pread64.
+ * acinclude.m4 (AC_GNU_SOURCE): New macro.
+ * acconfig.h (_GNU_SOURCE): Add.
+ (HAVE_PREAD64): Remove.
+ * configure, aclocal.m4, config.in: Regenerated.
+
+2003-01-03 Andrew Cagney <ac131313@redhat.com>
+
+ * alpha-tdep.c: Use get_frame_saved_regs.
+ * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
+ * h8300-tdep.c, i386-tdep.c, ia64-tdep.c, m68hc11-tdep.c: Ditto.
+ * m68k-tdep.c, mcore-tdep.c, mips-tdep.c, mn10300-tdep.c: Ditto.
+ * ns32k-tdep.c, s390-tdep.c, sh-tdep.c, v850-tdep.c: Ditto.
+ * vax-tdep.c, xstormy16-tdep.c: Ditto.
+
+2003-01-03 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Remove all use of the SUBDIRS variable; add
+ directories using the AC_CONFIG_SUBDIRS macro instead. Polish
+ code providing the --enable-multi-ice option, and move it right in
+ front of the code that checks whether gdbserver is supported.
+ Polish that too.
+ * configure: Regenerated.
+ * Makefile.in (SUBDIRS): Substitute @subdirs@ instead of
+ @SUBDIRS@.
+
+2003-01-03 Andrew Cagney <cagney@redhat.com>
+
+ * alpha-tdep.c: Use deprecated_update_frame_base_hack.
+ * avr-tdep.c, cris-tdep.c: Ditto.
+ * mcore-tdep.c, mips-tdep.c, mn10200-tdep.c: Ditto.
+ * sh-tdep.c, sparc-tdep.c, v850-tdep.c: Ditto.
+
+2003-01-03 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Remove --enable-netrom option.
+ * configure: Regenerated.
+
+2003-01-03 Mark Kettenis <kettenis@gnu.org>
+
+ * cli/cli-decode.h: Don't include "gdb_regex.h"; provide a forward
+ declaration for `struct re_pattern_buffer' instead.
+ * Makefile.in (cli_decode_h): Remove $(gdb_regex_h).
+
+2003-01-03 J. Brobecker <brobecker@gnat.com>
+
+ * mdebugread.c (parse_symbol): Count until the stEnd matching
+ the structure name.
+
+2003-01-02 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Remove --with-cpu option.
+ subscripts. Remove evil changequotes here.
+ * acconfig.h (TARGET_CPU_DEFAULT): Remove.
+ * config.in, configure: Regenerated.
+
+ * acconfig.h (DEFAULT_BFD_ARCH, DEFAULT_BFD_VEC): Remove.
+ * configure.in: Cleanup section that sources GDB and BFD configure
+ subscripts. Remove evil changequotes here.
+ * config.in, configure: Regenerated.
+
+2003-01-02 Andrew Cagney <ac131313@redhat.com>
+
+ * arm-tdep.c: Use get_frame_pc and deprecated_update_frame_pc_hack
+ frame accessor methods.
+ * alpha-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
+ * dwarf2cfi.c, h8300-tdep.c, i386-tdep.c, ia64-tdep.c: Ditto.
+ * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c, mips-tdep.c: Ditto.
+ * mn10200-tdep.c, mn10300-tdep.c, ns32k-tdep.c: Ditto.
+ * s390-tdep.c, sh-tdep.c, sparc-tdep.c, v850-tdep.c: Ditto.
+ * vax-tdep.c, x86-64-linux-tdep.c, xstormy16-tdep.c: Ditto.
+ * z8k-tdep.c: Ditto.
+
+2003-01-02 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Remove UI_OUT configuration code.
+ * ada-lang.c: Update assuming UI_OUT is always true.
+ * Makefile.in (UIOUT_CFLAGS): Remove.
+ * configure: Regenerated.
+ * TODO: Remove blurb about elimination of -DUI_OUT.
+
+ * configure.in: Move code that provides the --enable-gdbcli,
+ --enable-gdbmi options right before the code that handles the
+ --enable-tui option. Polish a bit.
+ * configure: Regenerated.
+
+ * configure.in: Rewrite check for GNU regex and the
+ --without-included regex option, and move it into the "Checks for
+ library functions" section. This makes us use the system regex
+ again by default on systems with version 2 of the GNU C library.
+ This was apparently broken.
+ * gdb_regex.h [!USE_INCLUDED_REGEX] (_REGEX_RE_COMP): Define.
+ * acconfig.h (USE_INCLUDED_REGEX): Remove.
+ * config.in, configure: Regenerated.
+
+ * configure.in: Move code that provides the --enable-tui option
+ before the "Checks for libraries" section. Polish the code
+ somewhat and set need_curses to yes if we build the TUI. Rewrite
+ code that looks for a library providing termcap functionality to
+ match more closely what's done in the Readline library, and move
+ it into to the "Checks for libraries" section.
+ * configure: Regenerated.
+ * Makefile.in (TERMCAP): Remove variable.
+ * config/i386/go32.mh (TERMCAP): Remove variable.
+
+2003-01-02 Andrew Cagney <ac131313@redhat.com>
+
+ * MAINTAINERS: Mention gdb_mbuild.sh.
+ * gdb_mbuild.sh: Rewrite.
+
+2003-01-02 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Fix typo in last change.
+ * config.in, configure: Regenerated.
+
+2003-01-02 Andrew Cagney <ac131313@redhat.com>
+
+ * valarith.c (value_binop): Delete obsolete code and comments.
+ * configure.host: Ditto.
+ * buildsym.h (make_blockvector): Ditto.
+ * buildsym.c (make_blockvector): Ditto.
+ * defs.h (enum language): Ditto.
+ (chill_demangle): Ditto.
+ * elfread.c (elf_symtab_read): Ditto.
+ * dwarfread.c (CHILL_PRODUCER): Ditto.
+ (set_cu_language): Ditto.
+ (handle_producer): Ditto.
+ * expprint.c (print_subexp): Ditto.
+ * gdbtypes.c (chill_varying_type): Ditto.
+ * gdbtypes.h (builtin_type_chill_bool): Ditto.
+ (builtin_type_chill_char, builtin_type_chill_long): Ditto.
+ (builtin_type_chill_ulong, builtin_type_chill_real): Ditto.
+ (chill_varying_type): Ditto.
+ * language.h (_LANG_chill): Ditto.
+ * language.c (binop_result_type, integral_type): Ditto.
+ (character_type, string_type, structured_type): Ditto.
+ (lang_bool_type, binop_type_check): Ditto.
+ * stabsread.h (os9k_stabs): Ditto.
+ * stabsread.c (os9k_type_vector, dbx_lookup_type): Ditto.
+ (define_symbol, read_type, read_struct_fields): Ditto.
+ (read_array_type, read_enum_type, read_huge_number): Ditto.
+ (read_range_type, start_stabs): Ditto.
+ * symfile.c (init_filename_language_table): Ditto.
+ (add_psymbol_with_dem_name_to_list): Ditto.
+ * symtab.c (symbol_init_language_specific): Ditto.
+ (symbol_init_demangled_name, symbol_demangled_name): Ditto.
+ * symtab.h (struct general_symbol_info): Ditto.
+ (SYMBOL_CHILL_DEMANGLED_NAME): Ditto.
+ * typeprint.c (typedef_print): Ditto.
+ * utils.c (fprintf_symbol_filtered): Ditto.
+ * valops.c (value_cast, search_struct_field, value_slice): Delete
+ obsolete code.
+ (varying_to_slice): Delete function.
+ * value.h (COERCE_VARYING_ARRAY): Delete obsolete macro contents.
+ (varying_to_slice): Delete declaration.
+ * MAINTAINERS: Update.
+
+2003-01-02 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Reorganize "Checks for library functions section"
+ a bit. Remove check for `btowc' and `isascii' functions.
+ * configure: Regenerated.
+
+ * acconfig.h (_MSE_INT_H): Remove.
+ * configure.in: Create "Checks for header files" section, and move
+ appropriate tests there. Don't check for objlist.h, wchar.h,
+ wctype.h and asm/debugreg.h. Rewrite Solaris 2.[78] <curses.h>
+ misdetection fix. Also add "Checks for types", "Checks for
+ compiler characteristics" and "Checks for library functions"
+ sections.
+ * config.in, configure: Regenerated.
+
+ * configure.in: Create "Checks for programs" section, and move
+ appropriate tests there.
+
+2003-01-01 Mark Kettenis <kettenis@gnu.org>
+
+ * configure.in: Create "Checks for libraries" section, and move
+ appropriate tests there. Cleanup check for wctype in libw. Use
+ AC_SEARCH_LIBS to see whether we need libsocket.
+ * configure: Regenerated.
+
+For older changes see ChangeLog-2002
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS
index 7b997643bb7..8548526d98b 100644
--- a/gdb/MAINTAINERS
+++ b/gdb/MAINTAINERS
@@ -366,6 +366,7 @@ Glen McCready gkm@redhat.com
Greg McGary greg@mcgary.org
Jason Merrill jason@redhat.com
David S. Miller davem@redhat.com
+Mark Mitchell mark@codesourcery.com
Marko Mlinar markom@opencores.org
Alan Modra amodra@bigpond.net.au
Jason Molenda jmolenda@apple.com
@@ -375,6 +376,7 @@ Hans-Peter Nilsson hp@bitrange.com
David O'Brien obrien@freebsd.org
Alexandre Oliva aoliva@redhat.com
Tom Rix trix@redhat.com
+Nick Roberts nick@nick.uklinux.net
Bob Rossi bob_rossi@cox.net
Theodore A. Roth troth@openavr.org
Ian Roxborough irox@redhat.com
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 4fccb9caffd..af681337c14 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -758,10 +758,9 @@ solib_svr4_h = solib-svr4.h
solist_h = solist.h
somsolib_h = somsolib.h
source_h = source.h
-sparc64_tdep_h = sparc64-tdep.h
-sparcbsd_nat_h = sparcbsd-nat.h
-sparcnbsd_tdep_h = sparcnbsd-tdep.h
+sparc_nat_h = sparc-nat.h
sparc_tdep_h = sparc-tdep.h
+sparc64_tdep_h = sparc64-tdep.h
srec_h = srec.h
stabsread_h = stabsread.h
stack_h = stack.h
@@ -1119,7 +1118,6 @@ gdb1$(EXEEXT): gdb$(EXEEXT)
# dependency to do the right thing.
tm-sun3.h tm-altos.h: tm-m68k.h
tm-sun2.h tm-3b1.h: tm-m68k.h
-tm-sun4os4.h: tm-sparc.h
xm-vaxult.h: xm-vax.h
xm-vaxbsd.h: xm-vax.h
@@ -1314,10 +1312,14 @@ ALLDEPFILES = \
s390-tdep.c s390-nat.c \
ser-go32.c ser-pipe.c ser-tcp.c \
sh-tdep.c sh64-tdep.c shnbsd-tdep.c shnbsd-nat.c \
- solib.c solib-irix.c solib-svr4.c solib-sunos.c sparc-linux-nat.c \
- sparc-nat.c \
- sparc64nbsd-nat.c sparcnbsd-nat.c sparcnbsd-tdep.c \
- sparc-tdep.c sparcl-tdep.c sun3-nat.c \
+ solib.c solib-irix.c solib-svr4.c solib-sunos.c \
+ sparc-linux-tdep.c sparc-nat.c sparc-sol2-nat.c sparc-sol2-tdep.c \
+ sparc-tdep.c sparc-sol2-nat.c sparc-sol2-tdep.c sparc64-linux-nat.c \
+ sparc64-linux-tdep.c sparc64-nat.c sparc64-sol2-tdep.c \
+ sparc64-tdep.c sparc64fbsd-nat.c sparc64fbsd-tdep.c \
+ sparc64nbsd-nat.c sparc64nbsd-tdep.c sparcnbsd-nat.c \
+ sparcnbsd-tdep.c \
+ sun3-nat.c \
symm-tdep.c symm-nat.c \
vax-tdep.c \
vx-share/xdr_ld.c vx-share/xdr_ptrace.c vx-share/xdr_rdb.c \
@@ -2357,32 +2359,55 @@ source.o: source.c $(defs_h) $(symtab_h) $(expression_h) $(language_h) \
$(gdb_string_h) $(gdb_stat_h) $(gdbcore_h) $(gdb_regex_h) \
$(symfile_h) $(objfiles_h) $(annotate_h) $(gdbtypes_h) $(linespec_h) \
$(filenames_h) $(completer_h) $(ui_out_h)
-sparc64fbsd-nat.o: sparc64fbsd-nat.c $(defs_h) $(sparc64_tdep_h) \
- $(sparcbsd_nat_h)
-sparc64fbsd-tdep.o: sparc64fbsd-tdep.c $(defs_h) $(gdbcore_h) $(osabi_h) \
- $(regcache_h) $(target_h) $(gdb_string_h) $(sparc64_tdep_h)
-sparc64nbsd-nat.o: sparc64nbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
- $(sparc_tdep_h) $(sparcnbsd_tdep_h)
+sparc-linux-tdep.o: sparc-linux-tdep.c $(defs_h) $(floatformat_h) $(frame_h) \
+ $(frame_unwind_h) $(gdbarch_h) $(gdbcore_h) $(osabi_h) $(regcache_h) \
+ $(solib_svr4_h) $(symtab_h) $(trad_frame_h) $(gdb_assert_h) \
+ $(gdb_string_h) $(sparc_tdep_h)
+sparc-nat.o: sparc-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
+ $(gdb_string_h) $(gdb_wait_h) $(sparc_tdep_h) $(sparc_nat_h)
+sparc-sol2-nat.o: sparc-sol2-nat.c $(defs_h) $(regcache_h) $(gregset_h) \
+ $(sparc_tdep_h) $(sparc64_tdep_h)
+sparc-sol2-tdep.o: sparc-sol2-tdep.c $(defs_h) $(frame_h) $(frame_unwind_h) \
+ $(gdbcore_h) $(symtab_h) $(objfiles_h) $(osabi_h) $(regcache_h) \
+ $(target_h) $(trad_frame_h) $(gdb_assert_h) $(gdb_string_h) \
+ $(sparc_tdep_h)
+sparc-tdep.o: sparc-tdep.c $(defs_h) $(arch_utils_h) $(dis_asm_h) \
+ $(float_format_h) $(frame_h) $(frame_base_h) $(frame_unwind_h) \
+ $(gdbcore_h) $(gdbtypes_h) $(inferior_h) $(symtab_h) $(objfiles_h) \
+ $(osabi_h) $(regcache_h) $(target_h) $(value_h) $(gdb_assert_h) \
+ $(gdb_string_h) $(sparc_tdep_h)
+sparc64-linux-nat.o: sparc64-linux-nat.c $(defs_h) \
+ $(sparc64_tdep_h) $(sparc_nat_h)
+sparc64-linux-tdep.o: sparc64-linux-tdep.c $(defs_h) $(gdbarch_h) \
+ $(osabi_h) $(solib_svr4_h) $(sparc64_tdep_h)
+sparc64-nat.o: sparc-nat.c $(defs_h) $(gdbarch_h) \
+ $(sparc64_tdep_h) $(sparc_nat_h)
+sparc64-sol2-tdep.o: sparc64-sol2-tdep.c $(defs_h) $(frame_h) \
+ $(frame_unwind_h) $(gdbarch_h) $(symtab_h) $(objfiles_h) $(osabi_h) \
+ $(trad_frame_h) $(gdb_assert_h) $(sparc64_tdep_h)
sparc64-tdep.o: sparc64-tdep.c $(defs_h) $(arch_utils_h) $(floatformat_h) \
$(frame_h) $(frame_base_h) $(frame_unwind_h) $(gdbcore_h) \
- $(gdbtypes_h) $(osabi_h) $(regcache_h) $(target_h) $(value_h) \
- $(gdb_assert_h) $(gdb_string_h) $(sparc64_tdep_h)
-sparcbsd-nat.o: sparcbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
- $(sparc64_tdep_h) $(sparcbsd_nat_h)
-sparc-linux-nat.o: sparc-linux-nat.c $(defs_h) $(regcache_h) $(sparc_tdep_h) \
- $(gregset_h)
-sparc-nat.o: sparc-nat.c $(defs_h) $(inferior_h) $(target_h) $(gdbcore_h) \
- $(regcache_h) $(sparc_tdep_h) $(gdb_wait_h)
-sparcnbsd-nat.o: sparcnbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
- $(sparc_tdep_h) $(sparcnbsd_tdep_h)
-sparcnbsd-tdep.o: sparcnbsd-tdep.c $(defs_h) $(gdbcore_h) $(regcache_h) \
- $(target_h) $(value_h) $(osabi_h) $(gdb_string_h) $(sparc_tdep_h) \
- $(sparcnbsd_tdep_h) $(nbsd_tdep_h) $(solib_svr4_h)
+ $(gdbtypes_h) $(inferior_h) $(symtab_h) $(objfiles_h) $(osabi_h) \
+ $(regcache_h) $(target_h) $(value_h) $(gdb_assert_h) $(gdb_string_h) \
+ $(sparc64_tdep_h)
+sparc64fbsd-nat.o: sparc64fbsd-nat.c $(defs_h) $(sparc64_tdep_h) \
+ $(sparc_nat_h)
+sparc64fbsd-tdep.o: sparc64fbsd-tdep.c $(defs_h) $(frame_h) \
+ $(frame_unwind_h) $(gdbcore_h) $(osabi_h) $(regcache_h) $(target_h) \
+ $(trad_frame_h) $(gdb_assert_h) $(gdb_string_h) $(sparc64_tdep_h)
+sparc64nbsd-nat.o: sparc64nbsd-nat.c $(defs_h) $(sparc64_tdep_h) \
+ $(sparc_nat_h)
+sparc64nbsd-tdep.o: sparc64nbsd-tdep.c $(defs_h) $(frame_h) \
+ $(frame_unwind_h) $(gdbcore_h) $(osabi_h) $(regcache_h) \
+ $(solib_svr4_h) $(trad_frame_h) $(gdb_assert_h) $(gdb_string_h) \
+ $(sparc64_tdep_h) $(nbsd_tdep_h)
+sparcnbsd-nat.o: sparcnbsd-nat.c $(defs_h) $(sparc_tdep_h) $(sparc_nat_h)
+sparcnbsd-tdep.o: sparcnbsd-tdep.c $(defs_h) $(floatformat_h) $(frame_h) \
+ $(frame_unwind_h) $(gdbcore_h) $(osabi_h) $(regcache_h) \
+ $(solib_svr4_h) $(symtab_h) $(trad_frame_h) $(gdb_assert_h) \
+ $(gdb_string_h) $(sparc_tdep_h) $(nbsd_tdep_h)
sparc-stub.o: sparc-stub.c
-sparc-tdep.o: sparc-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \
- $(inferior_h) $(target_h) $(value_h) $(bfd_h) $(gdb_string_h) \
- $(regcache_h) $(osabi_h) $(dis_asm_h) $(sparc_tdep_h) $(gregset_h) \
- $(gdbcore_h) $(gdb_assert_h) $(symfile_h)
+
stabsread.o: stabsread.c $(defs_h) $(gdb_string_h) $(bfd_h) $(gdb_obstack_h) \
$(symtab_h) $(gdbtypes_h) $(expression_h) $(symfile_h) $(objfiles_h) \
$(aout_stab_gnu_h) $(libaout_h) $(aout_aout64_h) $(gdb_stabs_h) \
diff --git a/gdb/NEWS b/gdb/NEWS
index 9b2a28fc2e0..6919ee60141 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -3,6 +3,19 @@
*** Changes since GDB 6.0:
+* Changes in AMD64 configurations
+
+The AMD64 target now includes the %cs and %ss registers. As a result
+the AMD64 remote protocol has changed; this affects the floating-point
+and SSE registers. If you rely on those registers for your debugging,
+you should upgrade gdbserver on the remote side.
+
+* Revised SPARC target
+
+The SPARC target has been completely revised, incorporating the
+FreeBSD/sparc64 support that was added for GDB 6.0. As a result
+support for LynxOS and SunOS 4 has been dropped.
+
* New C++ demangler
GDB has a new C++ demangler which does a better job on the mangled
@@ -63,6 +76,8 @@ PMAX (MIPS) running Mach 3.0 mips*-*-mach3*
Sequent family i[3456]86-sequent-sysv4*
i[3456]86-sequent-sysv*
i[3456]86-sequent-bsd*
+SPARC running LynxOS sparc-*-lynxos*
+SPARC running SunOS 4 sparc-*-sunos4*
Tsqware Sparclet sparclet-*-*
Fujitsu SPARClite sparclite-fujitsu-none or sparclite
diff --git a/gdb/acconfig.h b/gdb/acconfig.h
index f3b8bf1351a..3bef7084974 100644
--- a/gdb/acconfig.h
+++ b/gdb/acconfig.h
@@ -6,6 +6,9 @@
/* Define if your struct reg has r_fs. */
#undef HAVE_STRUCT_REG_R_FS
+/* Define if your struct stat has st_blocks. */
+#undef HAVE_STRUCT_STAT_ST_BLOCKS
+
/* Define if your struct reg has r_gs. */
#undef HAVE_STRUCT_REG_R_GS
diff --git a/gdb/amd64fbsd-nat.c b/gdb/amd64fbsd-nat.c
index 2354fa361bf..edab8b56709 100644
--- a/gdb/amd64fbsd-nat.c
+++ b/gdb/amd64fbsd-nat.c
@@ -1,6 +1,6 @@
/* Native-dependent code for FreeBSD/amd64.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -74,6 +74,8 @@ static int reg_offset[] =
REG_OFFSET (r_r15),
REG_OFFSET (r_rip),
REG_OFFSET (r_rflags),
+ REG_OFFSET (r_cs),
+ REG_OFFSET (r_ss),
-1,
-1,
-1,
diff --git a/gdb/amd64fbsd-tdep.c b/gdb/amd64fbsd-tdep.c
index bb44ec032b2..6814dd97e96 100644
--- a/gdb/amd64fbsd-tdep.c
+++ b/gdb/amd64fbsd-tdep.c
@@ -1,6 +1,6 @@
/* Target-dependent code for FreeBSD/amd64.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -58,15 +58,30 @@ amd64fbsd_sigcontext_addr (struct frame_info *next_frame)
/* From <machine/reg.h>. */
static int amd64fbsd_r_reg_offset[] =
{
- 14 * 8, 11 * 8, /* %rax, %rbx */
- 13 * 8, 12 * 8, /* %rcx, %rdx */
- 9 * 8, 8 * 8, /* %rsi, %rdi */
- 10 * 8, 20 * 8, /* %rbp, %rsp */
- 7 * 8, 6 * 8, 5 * 8, 4 * 8, /* %r8 ... */
- 3 * 8, 2 * 8, 1 * 8, 0 * 8, /* ... %r15 */
- 17 * 8, 19 * 8, /* %rip, %eflags */
- -1, -1, /* %ds, %es */
- -1, -1 /* %fs, %gs */
+ 14 * 8, /* %rax */
+ 11 * 8, /* %rbx */
+ 13 * 8, /* %rcx */
+ 12 * 8, /* %rdx */
+ 9 * 8, /* %rsi */
+ 8 * 8, /* %rdi */
+ 10 * 8, /* %rbp */
+ 20 * 8, /* %rsp */
+ 7 * 8, /* %r8 ... */
+ 6 * 8,
+ 5 * 8,
+ 4 * 8,
+ 3 * 8,
+ 2 * 8,
+ 1 * 8,
+ 0 * 8, /* ... %r15 */
+ 17 * 8, /* %rip */
+ 19 * 8, /* %eflags */
+ 18 * 8, /* %cs */
+ 21 * 8, /* %ss */
+ -1, /* %ds */
+ -1, /* %es */
+ -1, /* %fs */
+ -1 /* %gs */
};
/* Location of the signal trampoline. */
@@ -74,7 +89,7 @@ CORE_ADDR amd64fbsd_sigtramp_start = 0x7fffffffffc0;
CORE_ADDR amd64fbsd_sigtramp_end = 0x7fffffffffe0;
/* From <machine/signal.h>. */
-int amd64fbsd_sc_reg_offset[X86_64_NUM_GREGS] =
+int amd64fbsd_sc_reg_offset[] =
{
24 + 6 * 8, /* %rax */
24 + 7 * 8, /* %rbx */
@@ -84,16 +99,18 @@ int amd64fbsd_sc_reg_offset[X86_64_NUM_GREGS] =
24 + 0 * 8, /* %rdi */
24 + 8 * 8, /* %rbp */
24 + 22 * 8, /* %rsp */
- 24 + 4 * 8, /* %r8 */
- 24 + 5 * 8, /* %r9 */
- 24 + 9 * 8, /* %r10 */
- 24 + 10 * 8, /* %r11 */
- 24 + 11 * 8, /* %r12 */
- 24 + 12 * 8, /* %r13 */
- 24 + 13 * 8, /* %r14 */
- 24 + 14 * 8, /* %r15 */
+ 24 + 4 * 8, /* %r8 ... */
+ 24 + 5 * 8,
+ 24 + 9 * 8,
+ 24 + 10 * 8,
+ 24 + 11 * 8,
+ 24 + 12 * 8,
+ 24 + 13 * 8,
+ 24 + 14 * 8, /* ... %r15 */
24 + 19 * 8, /* %rip */
24 + 21 * 8, /* %eflags */
+ 24 + 20 * 8, /* %cs */
+ 24 + 23 * 8, /* %ss */
-1, /* %ds */
-1, /* %es */
-1, /* %fs */
diff --git a/gdb/amd64nbsd-nat.c b/gdb/amd64nbsd-nat.c
index 4af22feb7f5..da4532e69ee 100644
--- a/gdb/amd64nbsd-nat.c
+++ b/gdb/amd64nbsd-nat.c
@@ -1,6 +1,6 @@
/* Native-dependent code for NetBSD/amd64.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -47,8 +47,8 @@ static int amd64nbsd32_r_reg_offset[] =
0 * 8, /* %edi */
21 * 8, /* %eip */
23 * 8, /* %eflags */
- -1, /* %cs */
- -1, /* %ss */
+ 22 * 8, /* %cs */
+ 25 * 8, /* %ss */
18 * 8, /* %ds */
17 * 8, /* %es */
16 * 8, /* %fs */
diff --git a/gdb/amd64nbsd-tdep.c b/gdb/amd64nbsd-tdep.c
index 5500ed13db8..a39c33e7c11 100644
--- a/gdb/amd64nbsd-tdep.c
+++ b/gdb/amd64nbsd-tdep.c
@@ -1,6 +1,6 @@
/* Target-dependent code for NetBSD/amd64.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -72,6 +72,8 @@ int amd64nbsd_r_reg_offset[] =
11 * 8, /* ... %r15 */
21 * 8, /* %rip */
23 * 8, /* %eflags */
+ 22 * 8, /* %cs */
+ 25 * 8, /* %ss */
18 * 8, /* %ds */
17 * 8, /* %es */
16 * 8, /* %fs */
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index cebc10af076..83bc691cd51 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -156,13 +156,10 @@ inside_main_func (CORE_ADDR pc)
&& symfile_objfile->ei.main_func_highpc > pc);
}
-/* Test a specified PC value to see if it is in the range of addresses
- that correspond to the process entry point function. See comments
- in objfiles.h for why we might want to do this.
+/* Test whether PC is inside the range of addresses that corresponds
+ to the process entry point function.
- Typically called from DEPRECATED_FRAME_CHAIN_VALID.
-
- A PC of zero is always considered to be the bottom of the stack. */
+ A PC of zero is always considered to be the bottom of the stack. */
int
inside_entry_func (CORE_ADDR pc)
@@ -171,16 +168,19 @@ inside_entry_func (CORE_ADDR pc)
return 1;
if (symfile_objfile == 0)
return 0;
+
if (CALL_DUMMY_LOCATION == AT_ENTRY_POINT)
{
- /* Do not stop backtracing if the pc is in the call dummy
- at the entry point. */
- /* FIXME: Won't always work with zeros for the last two arguments */
+ /* Do not stop backtracing if the program counter is in the call
+ dummy at the entry point. */
+ /* FIXME: This won't always work with zeros for the last two
+ arguments. */
if (DEPRECATED_PC_IN_CALL_DUMMY (pc, 0, 0))
return 0;
}
- return (symfile_objfile->ei.entry_func_lowpc <= pc &&
- symfile_objfile->ei.entry_func_highpc > pc);
+
+ return (symfile_objfile->ei.entry_func_lowpc <= pc
+ && symfile_objfile->ei.entry_func_highpc > pc);
}
/* Return nonzero if the function for this frame lacks a prologue. Many
diff --git a/gdb/config.in b/gdb/config.in
index a3edf86a0d7..1a11c7d9aee 100644
--- a/gdb/config.in
+++ b/gdb/config.in
@@ -79,6 +79,9 @@
/* Define if your struct reg has r_fs. */
#undef HAVE_STRUCT_REG_R_FS
+/* Define if your struct stat has st_blocks. */
+#undef HAVE_STRUCT_STAT_ST_BLOCKS
+
/* Define if your struct reg has r_gs. */
#undef HAVE_STRUCT_REG_R_GS
@@ -287,6 +290,9 @@
/* Define if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
+/* Define if you have the <machine/reg.h> header file. */
+#undef HAVE_MACHINE_REG_H
+
/* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
@@ -456,6 +462,9 @@
/* Define to 1 if the regex included in libiberty should be used. */
#undef USE_INCLUDED_REGEX
+/* Define to 1 if your system has struct reg in <machine/reg.h>. */
+#undef HAVE_STRUCT_REG
+
/* Define if <stdint.h> provides the uintptr_t type. */
#undef HAVE_UINTPTR_T
diff --git a/gdb/config/djgpp/config.sed b/gdb/config/djgpp/config.sed
index 7cc9d3f3e48..4313bfb0c0c 100644
--- a/gdb/config/djgpp/config.sed
+++ b/gdb/config/djgpp/config.sed
@@ -3,7 +3,7 @@ s|gdb\.c++|gdb.cxx|g
/ac_rel_source/s|ln -s|cp -p|
s|\.gdbinit|gdb.ini|g
-/ac_given_INSTALL=/,/^CEOF/ {
+/^ac_given_INSTALL=/,/^CEOF/ {
/^s%@prefix@%/a\
s,\\([yp*]\\)\\.tab,\\1_tab,g\
/^ @rm -f/s,\\$@-\\[0-9\\]\\[0-9\\],& *.i[1-9] *.i[1-9][0-9],\
@@ -12,19 +12,27 @@ s|\.gdbinit|gdb.ini|g
s,\\.info\\*,.inf* *.i[1-9] *.i[1-9][0-9],\
s,\\.gdbinit,gdb.ini,g\
/TEXINPUTS=/s,:,';',g\
- /VPATH *=/s,\\([^A-z]\\):,\1;,g\
+ /VPATH *=/s,\\([^A-z]\\):,\\1;,g\
/\\$\\$file-\\[0-9\\]/s,echo,& *.i[1-9] *.i[1-9][0-9],\
/\\$\\$file-\\[0-9\\]/s,rm -f \\$\\$file,& \\${PACKAGE}.i[1-9] \\${PACKAGE}.i[1-9][0-9],\
s,config\\.h\\.in,config.h-in,g\
s,po2tbl\\.sed\\.in,po2tblsed.in,g
+
+}
+
+/^ac_given_srcdir=/,/^CEOF/ {
+ /^s%@TOPLEVEL_CONFIGURE_ARGUMENTS@%/a\
+ /@test ! -f /s,\\(.\\)\$, export am_cv_exeext=.exe; export lt_cv_sys_max_cmd_len=12288; \\1,
+
}
/^CONFIG_FILES=/,/^EOF/ {
- s|po/Makefile.in\([^-:]\)|po/Makefile.in:po/Makefile.in-in\1|
+ s|po/Makefile.in\([^-:a-z]\)|po/Makefile.in:po/Makefile.in-in\1|
}
-/^ *CONFIG_HEADERS=/,/^EOF/ {
- s|config.h\([^-:]\)|config.h:config.h-in\1|
+/^ *# *Handling of arguments/,/^done/ {
+ s| config.h"| config.h:config.h-in"|
+ s|config.h\([^-:"a-z]\)|config.h:config.h-in\1|
}
/^[ ]*\/\*)/s,/\*,/*|[A-z]:/*,
@@ -32,3 +40,4 @@ s|\.gdbinit|gdb.ini|g
/\$]\*) ac_rel_source=/s,\[/\$\]\*,&|[A-z]:/*,
/ac_file_inputs=/s,\( -e "s%\^%\$ac_given_srcdir/%"\)\( -e "s%:% $ac_given_srcdir/%g"\),\2\1,
/^[ ]*if test "x`echo /s,sed 's@/,sed -e 's@^[A-z]:@@' -e 's@/,
+/^ *ac_config_headers=/s, config.h", config.h:config.h-in",
diff --git a/gdb/config/djgpp/djconfig.sh b/gdb/config/djgpp/djconfig.sh
index 23be0d5fdad..c79dbfb4e13 100644
--- a/gdb/config/djgpp/djconfig.sh
+++ b/gdb/config/djgpp/djconfig.sh
@@ -5,7 +5,7 @@
# configuring other GNU programs for DJGPP.
#
#=====================================================================
-# Copyright 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+# Copyright 1997,1999,2000,2001,2002,2003 Free Software Foundation, Inc.
#
# Originally written by Robert Hoehne, revised by Eli Zaretskii.
# This file is part of GDB.
@@ -52,9 +52,21 @@ fi
# Make sure they don't have some file names mangled by untarring.
echo -n "Checking the unpacked distribution..."
if ( ! test -f ${srcdir}/intl/po2tblsed.in || \
- ! test -d ${srcdir}/gdb/testsuite/gdb.cxx || \
+ ! test -f ${srcdir}/gdb/ChangeLog.002 || \
! test -f ${srcdir}/readline/config.h-in ) ; then
+ if ( ! test -f ${srcdir}/intl/po2tblsed.in ) ; then
+ notfound=${srcdir}/intl/po2tblsed.in
+ else
+ if ( ! test -d ${srcdir}/gdb/testsuite/cxx) ; then
+ notfound=${srcdir}/gdb/ChangeLog.002
+ else
+ if ( ! test -f ${srcdir}/readline/config.h-in ) ; then
+ notfound=${srcdir}/readline/config.h-in
+ fi
+ fi
+ fi
echo " FAILED."
+ echo "(File $notfound was not found.)"
echo ""
echo "You MUST unpack the sources with the DJTAR command, like this:"
echo ""
@@ -62,6 +74,7 @@ if ( ! test -f ${srcdir}/intl/po2tblsed.in || \
echo ""
echo "where X.YZ is the GDB version, and fnchange.lst can be found"
echo "in the gdb/config/djgpp/ directory in the GDB distribution."
+ echo ""
echo "configure FAILED!"
exit 1
else
diff --git a/gdb/config/djgpp/fnchange.lst b/gdb/config/djgpp/fnchange.lst
index 61d9014245a..b1d9b3e0b5c 100644
--- a/gdb/config/djgpp/fnchange.lst
+++ b/gdb/config/djgpp/fnchange.lst
@@ -1,8 +1,11 @@
-@V@/bfd/ChangeLog-0001 @V@/bfd/ChangeLog.0001
+@V@/COPYING.LIBGLOSS @V@/COPYING.GLOSS
@V@/bfd/ChangeLog-9193 @V@/bfd/ChangeLog.9193
@V@/bfd/ChangeLog-9495 @V@/bfd/ChangeLog.9495
@V@/bfd/ChangeLog-9697 @V@/bfd/ChangeLog.9697
@V@/bfd/ChangeLog-9899 @V@/bfd/ChangeLog.9899
+@V@/bfd/ChangeLog-0001 @V@/bfd/ChangeLog.0001
+@V@/bfd/ChangeLog-0203 @V@/bfd/ChangeLog.0203
+@V@/bfd/doc/ChangeLog-9103 @V@/bfd/ChangeLog.9103
@V@/bfd/coff-tic30.c @V@/bfd/cofftic30.c
@V@/bfd/coff-tic4x.c @V@/bfd/cofftic40.c
@V@/bfd/coff-tic54x.c @V@/bfd/cofftic54x.c
@@ -18,13 +21,13 @@
@V@/bfd/elf32-i386.c @V@/bfd/e32i86.c
@V@/bfd/elf32-m68hc11.c @V@/bfd/em68hc11.c
@V@/bfd/elf32-m68hc12.c @V@/bfd/em68hc12.c
+@V@/bfd/elf32-m68hc1x.c @V@/bfd/em68hc1x.c
@V@/bfd/elf32-m68k.c @V@/bfd/em68k.c
@V@/bfd/elf32-ppc.c @V@/bfd/e32ppc.c
@V@/bfd/elf32-sh.c @V@/bfd/e32sh.c
@V@/bfd/elf32-sh64.c @V@/bfd/e32sh64.c
@V@/bfd/elf64-alpha.c @V@/bfd/e64alphf.c
@V@/bfd/elf64-sh64.c @V@/bfd/e64sh64.c
-@V@/bfd/po/.cvsignore @V@/bfd/po/_cvsignore
@V@/dejagnu/baseboards/mn10200-cygmon.exp @V@/dejagnu/baseboards/mn10200cygmon.exp
@V@/dejagnu/baseboards/mn10200-sim.exp @V@/dejagnu/baseboards/mn10200sim.exp
@V@/dejagnu/baseboards/mn10300-cygmon.exp @V@/dejagnu/baseboards/mn10300cygmon.exp
@@ -36,7 +39,6 @@
@V@/dejagnu/baseboards/sparclite-sim-le.exp @V@/dejagnu/baseboards/sl-sim-le.exp
@V@/dejagnu/baseboards/sparclite-sim.exp @V@/dejagnu/baseboards/sl-sim.exp
@V@/dejagnu/contrib/test-g++ @V@/dejagnu/contrib/test-gxx
-@V@/dejagnu/doc/.cvsignore @V@/dejagnu/doc/_cvsignore
@V@/dejagnu/example/calc/calc.h.in @V@/dejagnu/example/calc/calc.h-in
@V@/expect/Dbg_cf.h.in @V@/expect/Dbg_cf.h-in
@V@/expect/example/beer.exp.out @V@/expect/example/beer_exp.out
@@ -60,6 +62,7 @@
@V@/gdb/ChangeLog-2000 @V@/gdb/ChangeLog.000
@V@/gdb/ChangeLog-2001 @V@/gdb/ChangeLog.001
@V@/gdb/ChangeLog-2002 @V@/gdb/ChangeLog.002
+@V@/gdb/ChangeLog-2003 @V@/gdb/ChangeLog.003
@V@/gdb/ChangeLog-3.x @V@/gdb/ChangeLog.3-x
@V@/gdb/ada-exp.tab.c @V@/gdb/ada-exp_tab.c
@V@/gdb/amd64fbsd-nat.c @V@/gdb/a64fb-nat.c
@@ -79,6 +82,7 @@
@V@/gdb/config/alpha/alpha-osf3.mh @V@/gdb/config/alpha/alphosf3.mh
@V@/gdb/config/alpha/tm-alphalinux.h @V@/gdb/config/alpha/tm-alplinux.h
@V@/gdb/config/alpha/xm-alphalinux.h @V@/gdb/config/alpha/xm-alplinux.h
+@V@/gdb/config/alpha/xm-alphaosf.h @V@/gdb/config/alpha/xm-alposf.h
@V@/gdb/config/i386/nm-i386sco4.h @V@/gdb/config/i386/nm-sco4.h
@V@/gdb/config/i386/nm-i386sco5.h @V@/gdb/config/i386/nm-sco5.h
@V@/gdb/config/i386/nm-i386sol2.h @V@/gdb/config/i386/nm-sol2.h
@@ -89,13 +93,18 @@
@V@/gdb/config/m88k/xm-delta88v4.h @V@/gdb/config/m88k/xm-d88v4.h
@V@/gdb/config/mips/tm-linux.h @V@/gdb/config/mips/tm-lx.h
@V@/gdb/config/pa/nm-hppah11.h @V@/gdb/config/pa/nm-hppa11.h
-@V@/gdb/config/powerpc/tm-ppcle-sim.h @V@/gdb/config/powerpc/tm-ppcl-sim.h
+@V@/gdb/config/powerpc/tm-ppcle-sim.h @V@/gdb/config/powerpc/tm-ppclsim.h
+@V@/gdb/config/powerpc/tm-ppcle-eabi.h @V@/gdb/config/powerpc/tm-ppcleabi.h
@V@/gdb/config/rs6000/nm-rs6000ly.h @V@/gdb/config/rs6000/nm-rs6kly.h
@V@/gdb/config/rs6000/tm-rs6000.h @V@/gdb/config/rs6000/tm-rs6k.h
@V@/gdb/config/rs6000/tm-rs6000ly.h @V@/gdb/config/rs6000/tm-rs6kly.h
+@V@/gdb/config/rs6000/tm-rs6000-aix4.h @V@/gdb/config/rs6000/tm-rs6kaix4.h
@V@/gdb/config/sparc/tm-sparclynx.h @V@/gdb/config/sparc/tm-splynx.h
@V@/gdb/config/vax/xm-vaxult2.h @V@/gdb/config/vax/xm-vaxut2.h
@V@/gdb/f-exp.tab.c @V@/gdb/f-exp_tab.c
+@V@/gdb/gdbtk/ChangeLog-2001 @V@/gdb/gdbtk/ChangeLog.001
+@V@/gdb/gdbtk/ChangeLog-2002 @V@/gdb/gdbtk/ChangeLog.002
+@V@/gdb/gdbtk/ChangeLog-2003 @V@/gdb/gdbtk/ChangeLog.003
@V@/gdb/gdbtk/generic/ChangeLog-1997 @V@/gdb/gdbtk/generic/ChangeLog.97
@V@/gdb/gdbtk/generic/ChangeLog-1998 @V@/gdb/gdbtk/generic/ChangeLog.98
@V@/gdb/gdbtk/generic/ChangeLog-1999 @V@/gdb/gdbtk/generic/ChangeLog.99
@@ -105,21 +114,25 @@
@V@/gdb/gdbtk/library/ChangeLog-1998 @V@/gdb/gdbtk/library/ChangeLog.98
@V@/gdb/gdbtk/library/ChangeLog-1999 @V@/gdb/gdbtk/library/ChangeLog.99
@V@/gdb/gdbtk/library/ChangeLog-2000 @V@/gdb/gdbtk/library/ChangeLog.000
+@V@/gdb/gdbtk/plugins/intel-pentium/intel-pentium.tcl.in @V@/gdb/gdbtk/plugins/intel-pentium/intel-pentium.t-in
+@V@/gdb/gdbtk/plugins/rhabout/rhabout.tcl.in @V@/gdb/gdbtk/plugins/rhabout/rhabout.t-in
@V@/gdb/i386-interix-nat.c @V@/gdb/i386ix-nat.c
@V@/gdb/i386-interix-tdep.c @V@/gdb/i386ix-tdep.c
-@V@/gdb/i386-linux-tdep.c @V@/gdb/i386linux-tdep.c
+@V@/gdb/i386-linux-tdep.c @V@/gdb/i386lx-tdep.c
+@V@/gdb/i386-linux-nat.c @V@/gdb/i386lx-nat.c
@V@/gdb/i386bsd-nat.c @V@/gdb/i3bsd-nat.c
@V@/gdb/i386bsd-tdep.c @V@/gdb/i3bsd-tdep.c
@V@/gdb/i386fbsd-nat.c @V@/gdb/i3fbsd-nat.c
@V@/gdb/i386fbsd-tdep.c @V@/gdb/i3fbsd-tdep.c
@V@/gdb/i386gnu-nat.c @V@/gdb/i3gnu-nat.c
@V@/gdb/i386gnu-tdep.c @V@/gdb/i3gnu-tdep.c
-@V@/gdb/i386nbsd-nat.c @V@/gdb/i3nbsd-nat.c
@V@/gdb/i386nbsd-tdep.c @V@/gdb/i3nbsd-tdep.c
@V@/gdb/i386obsd-nat.c @V@/gdb/i3obsd-nat.c
@V@/gdb/i386obsd-tdep.c @V@/gdb/i3obsd-tdep.c
-@V@/gdb/ia64-aix-nat.c @V@/gdb/ia64aix-nat.c
-@V@/gdb/ia64-linux-nat.c @V@/gdb/ia64linux-nat.c
+@V@/gdb/ia64-aix-nat.c @V@/gdb/ia64ax-nat.c
+@V@/gdb/ia64-aix-tdep.c @V@/gdb/ia64ax-tdep.c
+@V@/gdb/ia64-linux-nat.c @V@/gdb/ia64lx-nat.c
+@V@/gdb/ia64-linux-nat.c @V@/gdb/ia64lx-tdep.c
@V@/gdb/jv-exp.tab.c @V@/gdb/jv-exp_tab.c
@V@/gdb/m2-exp.tab.c @V@/gdb/m2-exp_tab.c
@V@/gdb/m68klinux-nat.c @V@/gdb/m68kl-nat.c
@@ -135,7 +148,8 @@
@V@/gdb/objc-exp.tab.c @V@/gdb/objc-exp_tab.c
@V@/gdb/osf-share/cma_stack_int.h @V@/gdb/osf-share/cma_stkint.h
@V@/gdb/p-exp.tab.c @V@/gdb/p-exp_tab.c
-@V@/gdb/ppc-linux-tdep.c @V@/gdb/ppc-linx-tdep.c
+@V@/gdb/ppc-linux-tdep.c @V@/gdb/ppc-lx-tdep.c
+@V@/gdb/ppc-linux-nat.c @V@/gdb/ppc-lx-nat.c
@V@/gdb/ppcnbsd-nat.c @V@/gdb/ppcnb-nat.c
@V@/gdb/ppcnbsd-tdep.c @V@/gdb/ppcnb-tdep.c
@V@/gdb/regformats/reg-i386-linux.dat @V@/gdb/regformats/r-i386-lnx.dat
@@ -154,8 +168,17 @@
@V@/gdb/remote-vxsparc.c @V@/gdb/rmt-vxsparc.c
@V@/gdb/sparc64fbsd-nat.c @V@/gdb/sp64fb-nat.c
@V@/gdb/sparc64fbsd-tdep.c @V@/gdb/sp64fb-tdep.c
+@V@/gdb/sparc64nbsd-nat.c @V@/gdb/sp64nb-nat.c
+@V@/gdb/sparc64nbsd-tdep.c @V@/gdb/sp64nb-tdep.c
+@V@/gdb/sparc64-linux-nat.c @V@/gdb/sp64lx-nat.c
+@V@/gdb/sparc64-linux-tdep.c @V@/gdb/sp64lx-tdep.c
+@V@/gdb/sparc64-nat.c @V@/gdb/sp64-nat.c
+@V@/gdb/sparc64-tdep.c @V@/gdb/sp64-tdep.c
+@V@/gdb/sparc64-sol2-tdep.c @V@/gdb/sp64s2-tdep.c
@V@/gdb/sparcnbsd-nat.c @V@/gdb/spnb-nat.c
@V@/gdb/sparcnbsd-tdep.c @V@/gdb/spnb-tdep.c
+@V@/gdb/sparc-sol2-nat.c @V@/gdb/spsol2-nat.c
+@V@/gdb/sparc-sol2-tdep.c @V@/gdb/spsol2-tdep.c
@V@/gdb/testsuite/.gdbinit @V@/gdb/testsuite/gdb.ini
@V@/gdb/testsuite/gdb.arch/altivec-abi.c @V@/gdb/testsuite/gdb.arch/av-abi.c
@V@/gdb/testsuite/gdb.arch/altivec-abi.exp @V@/gdb/testsuite/gdb.arch/av-abi.exp
@@ -164,7 +187,37 @@
@V@/gdb/testsuite/gdb.base/coremaker2.c @V@/gdb/testsuite/gdb.base/core2maker.c
@V@/gdb/testsuite/gdb.cp/m-static1.cc @V@/gdb/testsuite/gdb.cp/m-stat1.cc
@V@/gdb/testsuite/gdb.cp/namespace1.cc @V@/gdb/testsuite/gdb.cp/namesp1.cc
+@V@/gdb/testsuite/gdb.gdbtk/ChangeLog @V@/gdb/testsuite/gdb.tk/ChangeLog
+@V@/gdb/testsuite/gdb.gdbtk/Makefile.in @V@/gdb/testsuite/gdb.tk/Makefile.in
+@V@/gdb/testsuite/gdb.gdbtk/browser.exp @V@/gdb/testsuite/gdb.tk/browser.exp
+@V@/gdb/testsuite/gdb.gdbtk/browser.test @V@/gdb/testsuite/gdb.tk/browser.test
+@V@/gdb/testsuite/gdb.gdbtk/c_variable.c @V@/gdb/testsuite/gdb.tk/c_variable.c
+@V@/gdb/testsuite/gdb.gdbtk/c_variable.exp @V@/gdb/testsuite/gdb.tk/c_variable.exp
+@V@/gdb/testsuite/gdb.gdbtk/c_variable.test @V@/gdb/testsuite/gdb.tk/c_variable.test
+@V@/gdb/testsuite/gdb.gdbtk/configure @V@/gdb/testsuite/gdb.tk/configure
+@V@/gdb/testsuite/gdb.gdbtk/configure.in @V@/gdb/testsuite/gdb.tk/configure.in
+@V@/gdb/testsuite/gdb.gdbtk/console.exp @V@/gdb/testsuite/gdb.tk/console.exp
+@V@/gdb/testsuite/gdb.gdbtk/console.test @V@/gdb/testsuite/gdb.tk/console.test
+@V@/gdb/testsuite/gdb.gdbtk/cpp_variable.cc @V@/gdb/testsuite/gdb.tk/cpp_variable.cc
+@V@/gdb/testsuite/gdb.gdbtk/cpp_variable.exp @V@/gdb/testsuite/gdb.tk/cpp_variable.exp
+@V@/gdb/testsuite/gdb.gdbtk/cpp_variable.h @V@/gdb/testsuite/gdb.tk/cpp_variable.h
+@V@/gdb/testsuite/gdb.gdbtk/cpp_variable.test @V@/gdb/testsuite/gdb.tk/cpp_variable.test
+@V@/gdb/testsuite/gdb.gdbtk/defs @V@/gdb/testsuite/gdb.tk/defs
+@V@/gdb/testsuite/gdb.gdbtk/list0.c @V@/gdb/testsuite/gdb.tk/list0.c
+@V@/gdb/testsuite/gdb.gdbtk/list0.h @V@/gdb/testsuite/gdb.tk/list0.h
+@V@/gdb/testsuite/gdb.gdbtk/list1.c @V@/gdb/testsuite/gdb.tk/list1.c
+@V@/gdb/testsuite/gdb.gdbtk/README @V@/gdb/testsuite/gdb.tk/README
+@V@/gdb/testsuite/gdb.gdbtk/simple.c @V@/gdb/testsuite/gdb.tk/simple.c
+@V@/gdb/testsuite/gdb.gdbtk/srcwin.exp @V@/gdb/testsuite/gdb.tk/srcwin.exp
+@V@/gdb/testsuite/gdb.gdbtk/srcwin.test @V@/gdb/testsuite/gdb.tk/srcwin.test
+@V@/gdb/testsuite/gdb.gdbtk/srcwin2.test @V@/gdb/testsuite/gdb.tk/srcwin2.test
+@V@/gdb/testsuite/gdb.gdbtk/srcwin3.test @V@/gdb/testsuite/gdb.tk/srcwin3.test
+@V@/gdb/testsuite/gdb.gdbtk/stack1.c @V@/gdb/testsuite/gdb.tk/stack1.c
+@V@/gdb/testsuite/gdb.gdbtk/stack2.c @V@/gdb/testsuite/gdb.tk/stack2.c
+@V@/gdb/testsuite/gdb.gdbtk/windows.exp @V@/gdb/testsuite/gdb.tk/windows.exp
+@V@/gdb/testsuite/gdb.gdbtk/windows.test @V@/gdb/testsuite/gdb.tk/windows.test
@V@/gdb/testsuite/gdb.mi/mi-var-cmd.exp @V@/gdb/testsuite/gdb.mi/mi-varcmd.exp
+@V@/gdb/testsuite/gdb.mi/mi-var-child.exp @V@/gdb/testsuite/gdb.mi/mi-varchild.exp
@V@/gdb/testsuite/gdb.mi/mi1-var-block.exp @V@/gdb/testsuite/gdb.mi/mi1varblock.exp
@V@/gdb/testsuite/gdb.mi/mi1-var-child.exp @V@/gdb/testsuite/gdb.mi/mi1varchild.exp
@V@/gdb/testsuite/gdb.mi/mi1-var-cmd.exp @V@/gdb/testsuite/gdb.mi/mi1varcmd.exp
@@ -177,6 +230,10 @@
@V@/gdb/tui/tuiSourceWin.h @V@/gdb/tui/tuiWinSource.h
@V@/gdb/x86-64-linux-tdep.c @V@/gdb/x8664-ltdep.c
@V@/gdb/x86-64-linux-nat.c @V@/gdb/x8664-lnat.c
+@V@/include/ChangeLog-9103 @V@/include/ChangeLog.9103
+@V@/include/coff/ChangeLog-9103 @V@/include/coff/ChangeLog.9103
+@V@/include/elf/ChangeLog-9103 @V@/include/elf/ChangeLog.9103
+@V@/include/opcode/ChangeLog-9103 @V@/include/opcode/ChangeLog.9103
@V@/include/xtensa-isa-internal.h @V@/include/xt-internal.h
@V@/include/xtensa-isa.h @V@/include/xt-isa.h
@V@/intl/intlh.inst.in @V@/intl/intlh_inst.in
@@ -193,6 +250,8 @@
@V@/libgui/src/tkWinPrintText.c @V@/libgui/src/tkWPrtText.c
@V@/opcodes/ChangeLog-9297 @V@/opcodes/ChangeLog.9297
@V@/opcodes/ChangeLog-9899 @V@/opcodes/ChangeLog.9899
+@V@/opcodes/ChangeLog-0001 @V@/opcodes/ChangeLog.0001
+@V@/opcodes/ChangeLog-0203 @V@/opcodes/ChangeLog.0203
@V@/opcodes/ia64-opc-a.c @V@/opcodes/ia64opca.c
@V@/opcodes/ia64-opc-b.c @V@/opcodes/ia64opcb.c
@V@/opcodes/ia64-opc-d.c @V@/opcodes/ia64opcd.c
@@ -205,19 +264,21 @@
@V@/opcodes/iq2000-dis.c @V@/opcodes/iq2000dis.c
@V@/opcodes/m68hc11-dis.c @V@/opcodes/m68hc11dis.c
@V@/opcodes/m68hc11-opc.c @V@/opcodes/m68hc11opc.c
-@V@/opcodes/openris-dis.c @V@/opcodes/orisc-dis.c
@V@/opcodes/openrisc-asm.c @V@/opcodes/orisc-asm.c
@V@/opcodes/openrisc-desc.c @V@/opcodes/orisc-desc.c
+@V@/opcodes/openrisc-dis.c @V@/opcodes/orisc-dis.c
@V@/opcodes/openrisc-ibld.c @V@/opcodes/orisc-ibld.c
@V@/opcodes/openrisc-opc.c @V@/opcodes/orisc-opc.c
@V@/opcodes/openrisc-opc.h @V@/opcodes/orisc-opc.h
-@V@/opcodes/po/.cvsignore @V@/opcodes/po/_cvsignore
+@V@/opcodes/openrisc-desc.h @V@/opcodes/orisc-desc.h
@V@/readline/config.h.bot @V@/readline/config.h-bot
@V@/readline/config.h.in @V@/readline/config.h-in
@V@/sim/frv/profile-fr400.c @V@/sim/frv/fr400-profile.c
@V@/sim/frv/profile-fr400.h @V@/sim/frv/fr400-profile.h
@V@/sim/frv/profile-fr500.c @V@/sim/frv/fr500-profile.c
@V@/sim/frv/profile-fr500.h @V@/sim/frv/fr500-profile.h
+@V@/sim/frv/profile-fr550.c @V@/sim/frv/fr550-profile.c
+@V@/sim/frv/profile-fr550.h @V@/sim/frv/fr550-profile.h
@V@/sim/m68hc11/dv-m68hc11eepr.c @V@/sim/m68hc11/dv-eepr.c
@V@/sim/m68hc11/dv-m68hc11sio.c @V@/sim/m68hc11/dv-sio.c
@V@/sim/m68hc11/dv-m68hc11spi.c @V@/sim/m68hc11/dv-spi.c
@@ -237,6 +298,8 @@
@V@/sim/ppc/idecode_expression.h @V@/sim/ppc/idec_expression.h
@V@/sim/ppc/idecode_fields.h @V@/sim/ppc/idec_fields.h
@V@/sim/ppc/sim-endian-n.h @V@/sim/ppc/sim-endn.h
+@V@/sim/sh64/sem-compact-switch.c @V@/sim/sh64/sem-cswitch.c
+@V@/sim/sh64/sem-media-switch.c @V@/sim/sh64/sem-mswitch.c
@V@/sim/testsuite/d10v-elf/t-ae-ld-d.s @V@/sim/testsuite/d10v-elf/t-ld-d.s
@V@/sim/testsuite/d10v-elf/t-ae-ld-i.s @V@/sim/testsuite/d10v-elf/t-ld-i.s
@V@/sim/testsuite/d10v-elf/t-ae-ld-id.s @V@/sim/testsuite/d10v-elf/t-ld-id.s
@@ -270,6 +333,10 @@
@V@/sim/testsuite/sim/frv/interrupts/data_store_error-fr550.cgs @V@/sim/testsuite/sim/frv/interrupts/fr550-data_store_error.cgs
@V@/sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs @V@/sim/testsuite/sim/frv/interrupts/fr550-fp_exception.cgs
@V@/sim/testsuite/sim/frv/interrupts/insn_access_error-fr550.cgs @V@/sim/testsuite/sim/frv/interrupts/fr550-insn_access_error.cgs
+@V@/sim/testsuite/sim/sh64/compact/ldsl-mach.cgs @V@/sim/testsuite/sim/sh64/compact/mach-ldsl.cgs
+@V@/sim/testsuite/sim/sh64/compact/ldsl-macl.cgs @V@/sim/testsuite/sim/sh64/compact/macl-ldsl.cgs
+@V@/sim/testsuite/sim/sh64/compact/stsl-mach.cgs @V@/sim/testsuite/sim/sh64/compact/mach-stsl.cgs
+@V@/sim/testsuite/sim/sh64/compact/stsl-macl.cgs @V@/sim/testsuite/sim/sh64/compact/macl-stsl.cgs
@V@/tcl/cygwin/tclConfig.sh.in @V@/tcl/cygwin/tclConfig.sh-in
@V@/tcl/doc/ExprLongObj.3 @V@/tcl/doc/ExprLObj.3
@V@/tcl/mac/tclMacBOAAppInit.c @V@/tcl/mac/tclBOAAppInit.c
diff --git a/gdb/config/ia64/nm-linux.h b/gdb/config/ia64/nm-linux.h
index 01c980748e2..5e9df60021c 100644
--- a/gdb/config/ia64/nm-linux.h
+++ b/gdb/config/ia64/nm-linux.h
@@ -22,6 +22,8 @@
#ifndef NM_LINUX_H
#define NM_LINUX_H
+struct target_ops;
+
#include "config/nm-linux.h"
/* Note: It seems likely that we'll have to eventually define
diff --git a/gdb/config/pa/tm-hppah.h b/gdb/config/pa/tm-hppah.h
index 325af819536..0d0dde3b703 100644
--- a/gdb/config/pa/tm-hppah.h
+++ b/gdb/config/pa/tm-hppah.h
@@ -1,5 +1,6 @@
/* Parameters for execution on an HP PA-RISC machine, running HPUX, for GDB.
- Copyright 1991, 1992, 1995, 1998 Free Software Foundation, Inc.
+ Copyright 1991, 1992, 1995, 1998, 2002, 2003, 2004
+ Free Software Foundation, Inc.
Contributed by the Center for Software Science at the
University of Utah (pa-gdb-bugs@cs.utah.edu).
@@ -35,17 +36,17 @@ struct frame_info;
#include "somsolib.h"
#endif
-extern void hppa_hpux_frame_saved_pc_in_sigtramp (struct frame_info *fi,
+extern void hppa32_hpux_frame_saved_pc_in_sigtramp (struct frame_info *fi,
CORE_ADDR *tmp);
#define FRAME_SAVED_PC_IN_SIGTRAMP(FRAME, TMP) \
hppa32_hpux_frame_saved_pc_in_sigtramp (FRAME, TMP)
-extern void hppa_hpux_frame_base_before_sigtramp (struct frame_info *fi,
+extern void hppa32_hpux_frame_base_before_sigtramp (struct frame_info *fi,
CORE_ADDR *tmp);
#define FRAME_BASE_BEFORE_SIGTRAMP(FRAME, TMP) \
hppa32_hpux_frame_base_before_sigtramp (FRAME, TMP)
-extern void hppa_hpux_frame_find_saved_regs_in_sigtramp
+extern void hppa32_hpux_frame_find_saved_regs_in_sigtramp
(struct frame_info *fi, CORE_ADDR *fsr);
#define FRAME_FIND_SAVED_REGS_IN_SIGTRAMP(FRAME, FSR) \
hppa32_hpux_frame_find_saved_regs_in_sigtramp (FRAME, FSR)
diff --git a/gdb/config/sparc/fbsd.mh b/gdb/config/sparc/fbsd.mh
index 27942f86e6a..fb491a55c47 100644
--- a/gdb/config/sparc/fbsd.mh
+++ b/gdb/config/sparc/fbsd.mh
@@ -1,5 +1,5 @@
# Host: FreeBSD/sparc64
-NATDEPFILES= sparc64fbsd-nat.o sparcbsd-nat.o \
- corelow.o fork-child.o infptrace.o inftarg.o \
+NATDEPFILES= sparc64fbsd-nat.o sparc64-nat.o sparc-nat.o \
+ fork-child.o infptrace.o inftarg.o \
solib.o solib-svr4.o solib-legacy.o
NAT_FILE= nm-fbsd.h
diff --git a/gdb/config/sparc/fbsd.mt b/gdb/config/sparc/fbsd.mt
index 20c7f1ce27a..8e4dead7add 100644
--- a/gdb/config/sparc/fbsd.mt
+++ b/gdb/config/sparc/fbsd.mt
@@ -1,3 +1,3 @@
# Target: FreeBSD/sparc64
-TDEPFILES= sparc64-tdep.o sparc64fbsd-tdep.o
+TDEPFILES= sparc-tdep.o sparc64-tdep.o sparc64fbsd-tdep.o corelow.o
TM_FILE= tm-fbsd.h
diff --git a/gdb/config/sparc/linux.mh b/gdb/config/sparc/linux.mh
index f36dbb1ae34..ed68cc78aea 100644
--- a/gdb/config/sparc/linux.mh
+++ b/gdb/config/sparc/linux.mh
@@ -1,14 +1,11 @@
-# Host: Sparcstation, running GNU/Linux.
-
-XM_FILE= xm-linux.h
-
+# Host: GNU/Linux SPARC
NAT_FILE= nm-linux.h
-NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o sparc-nat.o \
- proc-service.o thread-db.o lin-lwp.o sparc-linux-nat.o \
+NATDEPFILES= sparc-nat.o sparc-sol2-nat.o \
+ corelow.o core-regset.o fork-child.o \
+ infptrace.o inftarg.o \
+ proc-service.o thread-db.o lin-lwp.o \
linux-proc.o gcore.o linux-nat.o
# The dynamically loaded libthread_db needs access to symbols in the
# gdb executable.
LOADLIBES = -ldl -rdynamic
-
-HOST_IPC=-DBSD_IPC
diff --git a/gdb/config/sparc/linux.mt b/gdb/config/sparc/linux.mt
index d6cf773a8ee..e053f302c4f 100644
--- a/gdb/config/sparc/linux.mt
+++ b/gdb/config/sparc/linux.mt
@@ -1,3 +1,4 @@
-# Target: Sparcstation, running Linux
-TDEPFILES= sparc-tdep.o solib.o solib-svr4.o solib-legacy.o
+# Target: GNU/Linux SPARC
+TDEPFILES= sparc-tdep.o sparc-sol2-tdep.o sparc-linux-tdep.o \
+ solib.o solib-svr4.o solib-legacy.o
TM_FILE= tm-linux.h
diff --git a/gdb/config/sparc/linux64.mh b/gdb/config/sparc/linux64.mh
new file mode 100644
index 00000000000..c1472de8de8
--- /dev/null
+++ b/gdb/config/sparc/linux64.mh
@@ -0,0 +1,11 @@
+# Host: GNU/Linux UltraSPARC
+NAT_FILE= nm-linux.h
+NATDEPFILES= sparc-nat.o sparc64-nat.o sparc-sol2-nat.o sparc64-linux-nat.o \
+ corelow.o core-regset.o \
+ fork-child.o infptrace.o inftarg.o \
+ proc-service.o thread-db.o lin-lwp.o \
+ linux-proc.o gcore.o linux-nat.o
+
+# The dynamically loaded libthread_db needs access to symbols in the
+# gdb executable.
+LOADLIBES = -ldl -rdynamic
diff --git a/gdb/config/sparc/linux64.mt b/gdb/config/sparc/linux64.mt
new file mode 100644
index 00000000000..4121314318b
--- /dev/null
+++ b/gdb/config/sparc/linux64.mt
@@ -0,0 +1,5 @@
+# Target: GNU/Linux UltraSPARC
+TDEPFILES= sparc64-tdep.o sparc64-sol2-tdep.o sparc64-linux-tdep.o \
+ sparc-tdep.o sparc-sol2-tdep.o sparc-linux-tdep.o \
+ solib.o solib-svr4.o solib-legacy.o
+TM_FILE= tm-linux.h
diff --git a/gdb/config/sparc/nbsd.mt b/gdb/config/sparc/nbsd.mt
index b04dd42fabb..25dbefff703 100644
--- a/gdb/config/sparc/nbsd.mt
+++ b/gdb/config/sparc/nbsd.mt
@@ -1,4 +1,4 @@
-# Target: SPARC running NetBSD
-TDEPFILES= sparc-tdep.o sparcnbsd-tdep.o nbsd-tdep.o corelow.o solib.o \
- solib-svr4.o
+# Target: NetBSD/sparc
+TDEPFILES= sparc-tdep.o sparcnbsd-tdep.o nbsd-tdep.o \
+ corelow.o solib.o solib-svr4.o
TM_FILE= tm-nbsd.h
diff --git a/gdb/config/sparc/nbsd64.mh b/gdb/config/sparc/nbsd64.mh
index eb54e489eb8..e8ac58bda2b 100644
--- a/gdb/config/sparc/nbsd64.mh
+++ b/gdb/config/sparc/nbsd64.mh
@@ -1,3 +1,4 @@
-# Host: UltraSPARC running NetBSD
-NATDEPFILES= fork-child.o infptrace.o inftarg.o sparc64nbsd-nat.o
+# Host: NetBSD/sparc64
+NATDEPFILES= sparc64nbsd-nat.o sparc-nat.o \
+ fork-child.o infptrace.o inftarg.o
NAT_FILE= nm-nbsd.h
diff --git a/gdb/config/sparc/nbsd64.mt b/gdb/config/sparc/nbsd64.mt
index 93b8f7841d4..4a1b13b9bb6 100644
--- a/gdb/config/sparc/nbsd64.mt
+++ b/gdb/config/sparc/nbsd64.mt
@@ -1,4 +1,5 @@
-# Target: UltraSPARC running NetBSD
-TDEPFILES= sparc-tdep.o sparcnbsd-tdep.o nbsd-tdep.o corelow.o solib.o \
- solib-svr4.o
-TM_FILE= tm-nbsd64.h
+# Target: NetBSD/sparc64
+TDEPFILES= sparc64-tdep.o sparc64nbsd-tdep.o \
+ sparc-tdep.o sparcnbsd-tdep.o nbsd-tdep.o \
+ corelow.o solib.o solib-svr4.o
+TM_FILE= tm-nbsd.h
diff --git a/gdb/config/sparc/nbsdaout.mh b/gdb/config/sparc/nbsdaout.mh
index 45208998124..8944e60e483 100644
--- a/gdb/config/sparc/nbsdaout.mh
+++ b/gdb/config/sparc/nbsdaout.mh
@@ -1,4 +1,4 @@
-# Host: Sun 4 or Sparcstation, running NetBSD
-NATDEPFILES= fork-child.o infptrace.o inftarg.o sparcnbsd-nat.o solib-sunos.o
-XM_FILE= xm-nbsd.h
+# Host: NetBSD/sparc a.out
+NATDEPFILES= sparc-nat.o sparcnbsd-nat.o \
+ fork-child.o infptrace.o inftarg.o solib-sunos.o
NAT_FILE= nm-nbsdaout.h
diff --git a/gdb/config/sparc/nbsdelf.mh b/gdb/config/sparc/nbsdelf.mh
index 1042d91b9dd..45309ecaec0 100644
--- a/gdb/config/sparc/nbsdelf.mh
+++ b/gdb/config/sparc/nbsdelf.mh
@@ -1,4 +1,4 @@
-# Host: Sun 4 or Sparcstation, running NetBSD
-NATDEPFILES= fork-child.o infptrace.o inftarg.o sparcnbsd-nat.o
-XM_FILE= xm-nbsd.h
+# Host: NetBSD/sparc ELF
+NATDEPFILES= sparc-nat.o sparcnbsd-nat.o \
+ fork-child.o infptrace.o inftarg.o
NAT_FILE= nm-nbsd.h
diff --git a/gdb/config/sparc/nm-linux.h b/gdb/config/sparc/nm-linux.h
index a156eba0707..cfab3893ca5 100644
--- a/gdb/config/sparc/nm-linux.h
+++ b/gdb/config/sparc/nm-linux.h
@@ -1,7 +1,7 @@
-/* Macro definitions for running gdb on a Sparc running GNU/Linux.
+/* Native-dependent definitions for GNU/Linux SPARC.
- Copyright 1989, 1992, 1996, 1998, 1999, 2000, 2002 Free Software
- Foundation, Inc.
+ Copyright 1989, 1992, 1996, 1998, 1999, 2000, 2002, 2003
+ Free Software Foundation, Inc.
This file is part of GDB.
@@ -20,13 +20,18 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#include "config/nm-sysv4.h"
+#ifndef NM_LINUX_H
+#define NM_LINUX_H
+
#include "config/nm-linux.h"
-#include "solib.h"
-#define FETCH_INFERIOR_REGISTERS
+/* Type of the third argument to the `ptrace' system call. */
+#define PTRACE_ARG3_TYPE long
-/* Return sizeof user struct to callers in less machine dependent routines */
+/* Type of the fourth argument to the `ptrace' system call. */
+#define PTRACE_XFER_TYPE long
+
+/* Override copies of {fetch,store}_inferior_registers in `infptrace.c'. */
+#define FETCH_INFERIOR_REGISTERS
-#define KERNEL_U_SIZE kernel_u_size()
-extern int kernel_u_size (void);
+#endif /* nm-linux.h */
diff --git a/gdb/config/sparc/nm-nbsd.h b/gdb/config/sparc/nm-nbsd.h
index 7ffd72e9101..089a5acf1dc 100644
--- a/gdb/config/sparc/nm-nbsd.h
+++ b/gdb/config/sparc/nm-nbsd.h
@@ -1,5 +1,6 @@
-/* Native-dependent definitions for Sparc running NetBSD, for GDB.
- Copyright 1986, 1987, 1989, 1992, 1994, 1996, 1999, 2000, 2002
+/* Native-dependent definitions for NetBSD/sparc.
+
+ Copyright 1986, 1987, 1989, 1992, 1994, 1996, 1999, 2000, 2002, 2003
Free Software Foundation, Inc.
This file is part of GDB.
@@ -22,14 +23,7 @@
#ifndef NM_NBSD_H
#define NM_NBSD_H
-#include "regcache.h"
-
-/* Get generic NetBSD native definitions. */
-
+/* Get generic NetBSD native definitions. */
#include "config/nm-nbsd.h"
-/* Before storing, we need to read all the registers. */
-
-#define CHILD_PREPARE_TO_STORE() deprecated_read_register_bytes (0, NULL, DEPRECATED_REGISTER_BYTES)
-
-#endif /* NM_NBSD_H */
+#endif /* nm-nbsd.h */
diff --git a/gdb/config/sparc/nm-nbsdaout.h b/gdb/config/sparc/nm-nbsdaout.h
index 730759153e0..9e463f9b503 100644
--- a/gdb/config/sparc/nm-nbsdaout.h
+++ b/gdb/config/sparc/nm-nbsdaout.h
@@ -1,5 +1,6 @@
-/* Native-dependent definitions for Sparc running NetBSD a.out, for GDB.
- Copyright 1999 Free Software Foundation, Inc.
+/* Native-dependent definitions for NetBSD/sparc a.out.
+
+ Copyright 1999, 2003 Free Software Foundation, Inc.
This file is part of GDB.
@@ -23,8 +24,7 @@
#include "sparc/nm-nbsd.h"
-/* Get generic NetBSD a.out native definitions. */
-
+/* Get generic NetBSD a.out native definitions. */
#include "config/nm-nbsdaout.h"
-#endif /* NM_NBSDAOUT_H */
+#endif /* nm-nbsdaout.h */
diff --git a/gdb/config/sparc/nm-sun4sol2.h b/gdb/config/sparc/nm-sol2.h
index 6f37162d7a8..bc9de3fdf80 100644
--- a/gdb/config/sparc/nm-sun4sol2.h
+++ b/gdb/config/sparc/nm-sol2.h
@@ -1,5 +1,6 @@
-/* Native-dependent definitions for Sparc running SVR4.
- Copyright 1994, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
+/* Native-dependent definitions for Solaris SPARC.
+
+ Copyright 2003 Free Software Foundation, Inc.
This file is part of GDB.
@@ -15,50 +16,43 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "regcache.h"
-
-/* Include the generic SVR4 definitions. */
-
-#include "config/nm-sysv4.h"
-
-/* Before storing, we need to read all the registers. */
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-#define CHILD_PREPARE_TO_STORE() deprecated_read_register_bytes (0, NULL, DEPRECATED_REGISTER_BYTES)
+#ifndef NM_SOL2_H
+#define NM_SOL2_H
-/* Solaris PSRVADDR support does not seem to include a place for nPC. */
+#define GDB_GREGSET_T prgregset_t
+#define GDB_FPREGSET_T prfpregset_t
-#define PRSVADDR_BROKEN
+/* Shared library support. */
-/* gdb wants to use the prgregset_t interface rather than
- the gregset_t interface, partly because that's what's
- used in core-sol2.c */
+#include "solib.h"
-#define GDB_GREGSET_T prgregset_t
-#define GDB_FPREGSET_T prfpregset_t
+/* Hardware wactchpoints. */
-#ifdef NEW_PROC_API /* Solaris 6 and above can do HW watchpoints */
+/* Solaris 2.6 and above can do HW watchpoints. */
+#ifdef NEW_PROC_API
#define TARGET_HAS_HARDWARE_WATCHPOINTS
-/* The man page for proc4 on solaris 6 and 7 says that the system
+/* The man page for proc(4) on Solaris 2.6 and up says that the system
can support "thousands" of hardware watchpoints, but gives no
- method for finding out how many. So just tell GDB 'yes'. */
-#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(TYPE, CNT, OT) 1
+ method for finding out how many; It doesn't say anything about the
+ allowed size for the watched area either. So we just tell GDB
+ 'yes'. */
+#define TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT(SIZE) 1
/* When a hardware watchpoint fires off the PC will be left at the
- instruction following the one which caused the watchpoint.
- It will *NOT* be necessary for GDB to step over the watchpoint. */
+ instruction following the one which caused the watchpoint. It will
+ *NOT* be necessary for GDB to step over the watchpoint. */
#define HAVE_CONTINUABLE_WATCHPOINT 1
extern int procfs_stopped_by_watchpoint (ptid_t);
#define STOPPED_BY_WATCHPOINT(W) \
procfs_stopped_by_watchpoint(inferior_ptid)
-/* Use these macros for watchpoint insertion/deletion. */
-/* type can be 0: write watch, 1: read watch, 2: access watch (read/write) */
+/* Use these macros for watchpoint insertion/deletion. TYPE can be 0
+ (write watch), 1 (read watch), 2 (access watch (read/write). */
extern int procfs_set_watchpoint (ptid_t, CORE_ADDR, int, int, int);
#define target_insert_watchpoint(ADDR, LEN, TYPE) \
@@ -67,3 +61,5 @@ extern int procfs_set_watchpoint (ptid_t, CORE_ADDR, int, int, int);
procfs_set_watchpoint (inferior_ptid, ADDR, 0, 0, 0)
#endif /* NEW_PROC_API */
+
+#endif /* nm-sol2.h */
diff --git a/gdb/config/sparc/nm-sparclynx.h b/gdb/config/sparc/nm-sparclynx.h
deleted file mode 100644
index a231ba4cce1..00000000000
--- a/gdb/config/sparc/nm-sparclynx.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Native-dependent definitions for Sparc running LynxOS.
- Copyright 1993, 1994 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef NM_SPARCLYNX_H
-#define NM_SPARCLYNX_H
-
-#include "config/nm-lynx.h"
-
-#endif /* NM_SPARCLYNX_H */
diff --git a/gdb/config/sparc/nm-sun4os4.h b/gdb/config/sparc/nm-sun4os4.h
deleted file mode 100644
index e77330c51d4..00000000000
--- a/gdb/config/sparc/nm-sun4os4.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Macro definitions for running gdb on a Sun 4 running sunos 4.
- Copyright 1989, 1992, 1996, 2000 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "regcache.h"
-
-/* Do implement the attach and detach commands. */
-
-#define ATTACH_DETACH
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-
-#define FETCH_INFERIOR_REGISTERS
-
-/* Before storing, we need to read all the registers. */
-
-#define CHILD_PREPARE_TO_STORE() deprecated_read_register_bytes (0, NULL, DEPRECATED_REGISTER_BYTES)
-
-/* Return sizeof user struct to callers in less machine dependent routines */
-
-#define KERNEL_U_SIZE kernel_u_size()
-extern int kernel_u_size (void);
-
-/* SunOS 4.x uses nonstandard "char *" as type of third argument to ptrace() */
-
-#define PTRACE_ARG3_TYPE char*
diff --git a/gdb/config/sparc/sol2-64.mt b/gdb/config/sparc/sol2-64.mt
new file mode 100644
index 00000000000..92f848929fe
--- /dev/null
+++ b/gdb/config/sparc/sol2-64.mt
@@ -0,0 +1,3 @@
+# Target: Solaris UltraSPARC
+TDEPFILES= sparc64-tdep.o sparc64-sol2-tdep.o sparc-tdep.o sparc-sol2-tdep.o
+TM_FILE= tm-sol2.h
diff --git a/gdb/config/sparc/sol2.mh b/gdb/config/sparc/sol2.mh
new file mode 100644
index 00000000000..735b9ee8096
--- /dev/null
+++ b/gdb/config/sparc/sol2.mh
@@ -0,0 +1,6 @@
+# Host: Solaris SPARC & UltraSPARC
+NAT_FILE= nm-sol2.h
+NATDEPFILES= sparc-sol2-nat.o \
+ corelow.o core-regset.o fork-child.o gcore.o \
+ procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o \
+ solib.o solib-svr4.o solib-legacy.o
diff --git a/gdb/config/sparc/sol2.mt b/gdb/config/sparc/sol2.mt
new file mode 100644
index 00000000000..4037956317c
--- /dev/null
+++ b/gdb/config/sparc/sol2.mt
@@ -0,0 +1,3 @@
+# Target: Solaris SPARC
+TDEPFILES= sparc-tdep.o sparc-sol2-tdep.o
+TM_FILE= tm-sol2.h
diff --git a/gdb/config/sparc/sp64.mt b/gdb/config/sparc/sp64.mt
deleted file mode 100644
index 943abfc240e..00000000000
--- a/gdb/config/sparc/sp64.mt
+++ /dev/null
@@ -1,6 +0,0 @@
-# Target: SPARC64
-# solib.o and procfs.o taken out for now. We don't have shared libraries yet,
-# and the elf version requires procfs.o but the a.out version doesn't.
-# Then again, having procfs.o in a target makefile fragment seems wrong.
-TDEPFILES = sparc-tdep.o
-TM_FILE= tm-sp64.h
diff --git a/gdb/config/sparc/sp64linux.mt b/gdb/config/sparc/sp64linux.mt
deleted file mode 100644
index d7d642ead71..00000000000
--- a/gdb/config/sparc/sp64linux.mt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Target: UltraSPARC, running Linux 64bit programs
-TDEPFILES= sparc-tdep.o solib.o solib-svr4.o solib-legacy.o
-TM_FILE= tm-sp64linux.h
diff --git a/gdb/config/sparc/sp64sol2.mt b/gdb/config/sparc/sp64sol2.mt
deleted file mode 100644
index ce2f0d82df0..00000000000
--- a/gdb/config/sparc/sp64sol2.mt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Target: Ultrasparc, running Solaris 2
-TDEPFILES= sparc-tdep.o
-TM_FILE= tm-sun4sol2.h
diff --git a/gdb/config/sparc/sparc-em.mt b/gdb/config/sparc/sparc-em.mt
deleted file mode 100644
index 13b0c6a29e2..00000000000
--- a/gdb/config/sparc/sparc-em.mt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Target: SPARC embedded
-TDEPFILES= sparc-tdep.o
-TM_FILE= tm-spc-em.h
diff --git a/gdb/config/sparc/sparc.mt b/gdb/config/sparc/sparc.mt
new file mode 100644
index 00000000000..ea78c97af55
--- /dev/null
+++ b/gdb/config/sparc/sparc.mt
@@ -0,0 +1,2 @@
+# Target: SPARC
+TDEPFILES= sparc-tdep.o
diff --git a/gdb/config/sparc/sparc64.mt b/gdb/config/sparc/sparc64.mt
new file mode 100644
index 00000000000..b1082be4956
--- /dev/null
+++ b/gdb/config/sparc/sparc64.mt
@@ -0,0 +1,2 @@
+# Target: UltraSPARC
+TDEPFILES= sparc-tdep.o sparc64-tdep.o
diff --git a/gdb/config/sparc/sparclynx.mh b/gdb/config/sparc/sparclynx.mh
deleted file mode 100644
index c573604b66a..00000000000
--- a/gdb/config/sparc/sparclynx.mh
+++ /dev/null
@@ -1,6 +0,0 @@
-# Host: Sparc running LynxOS
-
-XM_CLIBS= -lbsd
-
-NAT_FILE= nm-sparclynx.h
-NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o lynx-nat.o
diff --git a/gdb/config/sparc/sparclynx.mt b/gdb/config/sparc/sparclynx.mt
deleted file mode 100644
index 5e61645caaa..00000000000
--- a/gdb/config/sparc/sparclynx.mt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Target: Sparc running LynxOS
-TDEPFILES= coff-solib.o sparc-tdep.o
-TM_FILE= tm-sparclynx.h
diff --git a/gdb/config/sparc/sun4os4.mh b/gdb/config/sparc/sun4os4.mh
deleted file mode 100644
index 4e664d71ccb..00000000000
--- a/gdb/config/sparc/sun4os4.mh
+++ /dev/null
@@ -1,9 +0,0 @@
-# Host: Sun 4 or Sparcstation, running SunOS 4
-NAT_FILE= nm-sun4os4.h
-NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o sparc-nat.o
-HOST_IPC=-DBSD_IPC
-
-# Setting XM_CLIBS=-lresolv would let us use the DNS, but that would screw
-# anyone who wants to use NIS, which includes at least one Cygnus customer
-# (PR 3593). So leave it this way until/unless we find a resolver which can
-# get names from either DNS or NIS from the same GDB binary.
diff --git a/gdb/config/sparc/sun4os4.mt b/gdb/config/sparc/sun4os4.mt
deleted file mode 100644
index 342d6f73537..00000000000
--- a/gdb/config/sparc/sun4os4.mt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Target: Sun 4 or Sparcstation, running SunOS 4
-TDEPFILES= sparc-tdep.o solib.o solib-sunos.o
-TM_FILE= tm-sun4os4.h
diff --git a/gdb/config/sparc/sun4sol2.mh b/gdb/config/sparc/sun4sol2.mh
deleted file mode 100644
index 4e77b9234cd..00000000000
--- a/gdb/config/sparc/sun4sol2.mh
+++ /dev/null
@@ -1,22 +0,0 @@
-# Host: Sun 4 or Sparcstation, running Solaris 2
-
-XM_FILE= xm-sun4sol2.h
-XM_CLIBS= -lsocket -lnsl
-
-NAT_FILE= nm-sun4sol2.h
-NATDEPFILES= corelow.o core-sol2.o solib.o solib-svr4.o solib-legacy.o \
- fork-child.o procfs.o gcore.o \
- proc-api.o proc-events.o proc-flags.o proc-why.o
-
-# /usr/include/v9 is needed only by core-sol2.c when including
-# v9/sys/privregs.h, or rather the headers it in turn includes.
-MH_CFLAGS=-I/usr/include/v9
-# If you are compiling with Sun's compiler, add the -xs option to CC
-# (e.g. `make CC="cc -xs"').
-# Sun's compilers require the -xs option to produce debug information
-# in the final linked executable. Otherwise they leave it in the .o
-# files only, with undocumented pointers to it in the linked executable.
-# This is commented out because we don't assume that the Sun compiler
-# is in use.
-#MH_CFLAGS=-xs -I/usr/include/v9
-HOST_IPC=-DBSD_IPC
diff --git a/gdb/config/sparc/sun4sol2.mt b/gdb/config/sparc/sun4sol2.mt
deleted file mode 100644
index af70e9f9f9f..00000000000
--- a/gdb/config/sparc/sun4sol2.mt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Target: Sun 4 or Sparcstation, running Solaris 2
-TDEPFILES= sparc-tdep.o
-TM_FILE= tm-sun4sol2.h
diff --git a/gdb/config/sparc/tm-linux.h b/gdb/config/sparc/tm-linux.h
index 63be2b885a5..ae853ba0acb 100644
--- a/gdb/config/sparc/tm-linux.h
+++ b/gdb/config/sparc/tm-linux.h
@@ -1,7 +1,6 @@
-/* Macro definitions for GDB for a Sparc running GNU/Linux.
+/* Target-dependent definitions for GNU/Linux SPARC.
- Copyright 1989, 1992, 1994, 1995, 1998, 1999, 2002 Free Software
- Foundation, Inc.
+ Copyright 2003 Free Software Foundation, Inc.
This file is part of GDB.
@@ -17,16 +16,14 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-#ifndef TM_SPARCLINUX_H
-#define TM_SPARCLINUX_H
+#ifndef TM_LINUX_H
+#define TM_LINUX_H
-#include "sparc/tm-sparc.h"
+#define GDB_MULTI_ARCH GDB_MULTI_ARCH_TM
-#define SIGCONTEXT_PC_OFFSET 12
+/* Shared library support. */
+#include "solib.h"
-#include "config/tm-linux.h"
-
-#endif /* TM_SPARCLINUX_H */
+#endif /* tm-linux.h */
diff --git a/gdb/config/sparc/tm-nbsd.h b/gdb/config/sparc/tm-nbsd.h
index c82c3154088..301136bbead 100644
--- a/gdb/config/sparc/tm-nbsd.h
+++ b/gdb/config/sparc/tm-nbsd.h
@@ -1,5 +1,6 @@
-/* Macro definitions for Sparc running under NetBSD.
- Copyright 1994, 2002 Free Software Foundation, Inc.
+/* Target-dependent definitions for NetBSD/sparc.
+
+ Copyright 1994, 2002, 2003 Free Software Foundation, Inc.
This file is part of GDB.
@@ -21,7 +22,9 @@
#ifndef TM_NBSD_H
#define TM_NBSD_H
-#include "sparc/tm-sparc.h"
+#define GDB_MULTI_ARCH GDB_MULTI_ARCH_TM
+
+/* Shared library support. */
#include "solib.h"
-#endif /* TM_NBSD_H */
+#endif /* tm-nbsd.h */
diff --git a/gdb/config/sparc/tm-sol2.h b/gdb/config/sparc/tm-sol2.h
new file mode 100644
index 00000000000..d111c1a7768
--- /dev/null
+++ b/gdb/config/sparc/tm-sol2.h
@@ -0,0 +1,40 @@
+/* Target-dependent definitions for Solaris SPARC.
+
+ Copyright 2003 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+#ifndef TM_SOL2_H
+#define TM_SOL2_H
+
+#define GDB_MULTI_ARCH GDB_MULTI_ARCH_TM
+
+/* The Sun compilers (Sun ONE Studio, Forte Developer, Sun WorkShop,
+ SunPRO) compiler puts out 0 instead of the address in N_SO stabs.
+ Starting with SunPRO 3.0, the compiler does this for N_FUN stabs
+ too. */
+#define SOFUN_ADDRESS_MAYBE_MISSING
+
+/* The Sun compilers also do "globalization"; see the comment in
+ sparc-tdep.c for more information. */
+extern char *sparc_stabs_unglobalize_name (char *name);
+#define STATIC_TRANSFORM_NAME(name) \
+ sparc_stabs_unglobalize_name (name)
+#define IS_STATIC_TRANSFORM_NAME(name) \
+ ((name) != sparc_stabs_unglobalize_name (name))
+
+#endif /* tm-sol2.h */
diff --git a/gdb/config/sparc/tm-sp64.h b/gdb/config/sparc/tm-sp64.h
deleted file mode 100644
index 960cc0b9d97..00000000000
--- a/gdb/config/sparc/tm-sp64.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Target machine sub-parameters for SPARC64, for GDB, the GNU debugger.
- This is included by other tm-*.h files to define SPARC64 cpu-related info.
- Copyright 1994, 1995, 1996, 1998, 1999, 2000
- Free Software Foundation, Inc.
- This is (obviously) based on the SPARC Vn (n<9) port.
- Contributed by Doug Evans (dje@cygnus.com).
- Further modified by Bob Manson (manson@cygnus.com).
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-struct type;
-
-#ifndef GDB_TARGET_IS_SPARC64
-#define GDB_TARGET_IS_SPARC64 1
-#endif
-
-#include "sparc/tm-sparc.h"
-
-/* Eeeew. Ok, we have to assume (for now) that the processor really is
- in sparc64 mode. While this is the same instruction sequence as
- on the Sparc, the stack frames are offset by +2047 (and the arguments
- are 8 bytes instead of 4). */
-/* Instructions are:
- std %f10, [ %fp + 0x7a7 ]
- std %f8, [ %fp + 0x79f ]
- std %f6, [ %fp + 0x797 ]
- std %f4, [ %fp + 0x78f ]
- std %f2, [ %fp + 0x787 ]
- std %f0, [ %fp + 0x77f ]
- std %g6, [ %fp + 0x777 ]
- std %g4, [ %fp + 0x76f ]
- std %g2, [ %fp + 0x767 ]
- std %g0, [ %fp + 0x75f ]
- std %fp, [ %fp + 0x757 ]
- std %i4, [ %fp + 0x74f ]
- std %i2, [ %fp + 0x747 ]
- std %i0, [ %fp + 0x73f ]
- nop
- nop
- nop
- nop
- rd %tbr, %o0
- st %o0, [ %fp + 0x72b ]
- rd %tpc, %o0
- st %o0, [ %fp + 0x727 ]
- rd %psr, %o0
- st %o0, [ %fp + 0x723 ]
- rd %y, %o0
- st %o0, [ %fp + 0x71f ]
- ldx [ %sp + 0x8a7 ], %o5
- ldx [ %sp + 0x89f ], %o4
- ldx [ %sp + 0x897 ], %o3
- ldx [ %sp + 0x88f ], %o2
- ldx [ %sp + 0x887 ], %o1
- call %g0
- ldx [ %sp + 0x87f ], %o0
- nop
- ta 1
- nop
- nop
- */
-
-/* Offsets into jmp_buf.
- FIXME: This was borrowed from the v8 stuff and will probably have to change
- for v9. */
-
-#define JB_ELEMENT_SIZE 8 /* Size of each element in jmp_buf */
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_NPC 4
-#define JB_PSR 5
-#define JB_G1 6
-#define JB_O0 7
-#define JB_WBCNT 8
-
-/* Figure out where the longjmp will land. We expect that we have
- just entered longjmp and haven't yet setup the stack frame, so the
- args are still in the output regs. %o0 (O0_REGNUM) points at the
- jmp_buf structure from which we extract the pc (JB_PC) that we will
- land at. The pc is copied into ADDR. This routine returns true on
- success */
-
-extern int get_longjmp_target (CORE_ADDR *);
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
-
-#undef TM_PRINT_INSN_MACH
-#define TM_PRINT_INSN_MACH bfd_mach_sparc_v9a
-
diff --git a/gdb/config/sparc/tm-sp64linux.h b/gdb/config/sparc/tm-sp64linux.h
deleted file mode 100644
index 81d9db0036d..00000000000
--- a/gdb/config/sparc/tm-sp64linux.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Macro definitions for GDB for a UltraSparc running GNU/Linux.
-
- Copyright 2001, 2002 Free Software Foundation, Inc.
-
-This file is part of GDB.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef TM_SPARC_LIN64_H
-#define TM_SPARC_LIN64_H
-
-#include "sparc/tm-sp64.h"
-
-#define SIGCONTEXT_PC_OFFSET 16 /* See asm-sparc64/sigcontext.h */
-
-/* We always want full V9 + Ultra VIS stuff... */
-#undef TM_PRINT_INSN_MACH
-#define TM_PRINT_INSN_MACH bfd_mach_sparc_v9a
-
-#include "config/tm-sysv4.h"
-
-#endif /* TM_SPARC_LIN64_H */
diff --git a/gdb/config/sparc/tm-sparc.h b/gdb/config/sparc/tm-sparc.h
deleted file mode 100644
index af8feccdc2f..00000000000
--- a/gdb/config/sparc/tm-sparc.h
+++ /dev/null
@@ -1,354 +0,0 @@
-/* Target machine sub-parameters for SPARC, for GDB, the GNU debugger.
- This is included by other tm-*.h files to define SPARC cpu-related info.
- Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
- 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
- Contributed by Michael Tiemann (tiemann@mcc.com)
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "regcache.h"
-
-struct type;
-struct value;
-struct frame_info;
-
-/*
- * The following enums are purely for the convenience of the GDB
- * developer, when debugging GDB.
- */
-
-enum { /* Sparc general registers, for all sparc versions. */
- G0_REGNUM, G1_REGNUM, G2_REGNUM, G3_REGNUM,
- G4_REGNUM, G5_REGNUM, G6_REGNUM, G7_REGNUM,
- O0_REGNUM, O1_REGNUM, O2_REGNUM, O3_REGNUM,
- O4_REGNUM, O5_REGNUM, O6_REGNUM, O7_REGNUM,
- L0_REGNUM, L1_REGNUM, L2_REGNUM, L3_REGNUM,
- L4_REGNUM, L5_REGNUM, L6_REGNUM, L7_REGNUM,
- I0_REGNUM, I1_REGNUM, I2_REGNUM, I3_REGNUM,
- I4_REGNUM, I5_REGNUM, I6_REGNUM, I7_REGNUM,
- FP0_REGNUM /* Floating point register 0 */
-};
-
-enum { /* Sparc general registers, alternate names. */
- R0_REGNUM, R1_REGNUM, R2_REGNUM, R3_REGNUM,
- R4_REGNUM, R5_REGNUM, R6_REGNUM, R7_REGNUM,
- R8_REGNUM, R9_REGNUM, R10_REGNUM, R11_REGNUM,
- R12_REGNUM, R13_REGNUM, R14_REGNUM, R15_REGNUM,
- R16_REGNUM, R17_REGNUM, R18_REGNUM, R19_REGNUM,
- R20_REGNUM, R21_REGNUM, R22_REGNUM, R23_REGNUM,
- R24_REGNUM, R25_REGNUM, R26_REGNUM, R27_REGNUM,
- R28_REGNUM, R29_REGNUM, R30_REGNUM, R31_REGNUM
-};
-
-enum { /* Sparc32 control registers. */
- PS_REGNUM = 65, /* PC, NPC, and Y are omitted because */
- WIM_REGNUM = 66, /* they have different values depending on */
- TBR_REGNUM = 67, /* 32-bit / 64-bit mode. */
- FPS_REGNUM = 70,
- CPS_REGNUM = 71
-};
-
-/* v9 misc. and priv. regs */
-
-/* Note: specifying values explicitly for documentation purposes. */
-enum { /* Sparc64 control registers, excluding Y, PC, and NPC. */
- CCR_REGNUM = 82, /* Condition Code Register (%xcc,%icc) */
- FSR_REGNUM = 83, /* Floating Point State */
- FPRS_REGNUM = 84, /* Floating Point Registers State */
- ASI_REGNUM = 86, /* Alternate Space Identifier */
- VER_REGNUM = 87, /* Version register */
- TICK_REGNUM = 88, /* Tick register */
- PIL_REGNUM = 89, /* Processor Interrupt Level */
- PSTATE_REGNUM = 90, /* Processor State */
- TSTATE_REGNUM = 91, /* Trap State */
- TBA_REGNUM = 92, /* Trap Base Address */
- TL_REGNUM = 93, /* Trap Level */
- TT_REGNUM = 94, /* Trap Type */
- TPC_REGNUM = 95, /* Trap pc */
- TNPC_REGNUM = 96, /* Trap npc */
- WSTATE_REGNUM = 97, /* Window State */
- CWP_REGNUM = 98, /* Current Window Pointer */
- CANSAVE_REGNUM = 99, /* Savable Windows */
- CANRESTORE_REGNUM = 100, /* Restorable Windows */
- CLEANWIN_REGNUM = 101, /* Clean Windows */
- OTHERWIN_REGNUM = 102, /* Other Windows */
- ASR16_REGNUM = 103, /* Ancillary State Registers */
- ASR17_REGNUM = 104,
- ASR18_REGNUM = 105,
- ASR19_REGNUM = 106,
- ASR20_REGNUM = 107,
- ASR21_REGNUM = 108,
- ASR22_REGNUM = 109,
- ASR23_REGNUM = 110,
- ASR24_REGNUM = 111,
- ASR25_REGNUM = 112,
- ASR26_REGNUM = 113,
- ASR27_REGNUM = 114,
- ASR28_REGNUM = 115,
- ASR29_REGNUM = 116,
- ASR30_REGNUM = 117,
- ASR31_REGNUM = 118,
- ICC_REGNUM = 119, /* 32 bit condition codes */
- XCC_REGNUM = 120, /* 64 bit condition codes */
- FCC0_REGNUM = 121, /* fp cc reg 0 */
- FCC1_REGNUM = 122, /* fp cc reg 1 */
- FCC2_REGNUM = 123, /* fp cc reg 2 */
- FCC3_REGNUM = 124 /* fp cc reg 3 */
-};
-
-/*
- * Make sparc target multi-archable: April 2000
- */
-
-/* Multi-arch definition of TARGET_IS_SPARC64, TARGET_ELF64 */
-#undef GDB_TARGET_IS_SPARC64
-#define GDB_TARGET_IS_SPARC64 \
- (sparc_intreg_size () == 8)
-#undef TARGET_ELF64
-#define TARGET_ELF64 \
- (sparc_intreg_size () == 8)
-extern int sparc_intreg_size (void);
-
-/*
- * The following defines should ONLY appear for MULTI_ARCH.
- */
-
-/* Multi-arch the nPC and Y registers. */
-#define Y_REGNUM (sparc_y_regnum ())
-
-/* On the Sun 4 under SunOS, the compile will leave a fake insn which
- encodes the structure size being returned. If we detect such
- a fake insn, step past it. */
-
-#define PC_ADJUST(PC) sparc_pc_adjust (PC)
-extern CORE_ADDR sparc_pc_adjust (CORE_ADDR);
-
-/* If an argument is declared "register", Sun cc will keep it in a register,
- never saving it onto the stack. So we better not believe the "p" symbol
- descriptor stab. */
-
-#define DEPRECATE_USE_REGISTER_NOT_ARG
-
-/* For acc, there's no need to correct LBRAC entries by guessing how
- they should work. In fact, this is harmful because the LBRAC
- entries now all appear at the end of the function, not intermixed
- with the SLINE entries. n_opt_found detects acc for Solaris binaries;
- function_stab_type detects acc for SunOS4 binaries.
-
- For binary from SunOS4 /bin/cc, need to correct LBRAC's.
-
- For gcc, like acc, don't correct. */
-
-#define SUN_FIXED_LBRAC_BUG \
- (n_opt_found \
- || function_stab_type == N_STSYM \
- || function_stab_type == N_GSYM \
- || processing_gcc_compilation)
-
-/* Do variables in the debug stabs occur after the N_LBRAC or before it?
- acc: after, gcc: before, SunOS4 /bin/cc: before. */
-
-#define VARIABLES_INSIDE_BLOCK(desc, gcc_p) \
- (!(gcc_p) \
- && (n_opt_found \
- || function_stab_type == N_STSYM \
- || function_stab_type == N_GSYM))
-
-/* Sequence of bytes for breakpoint instruction (ta 1). */
-
-extern const unsigned char *sparc_breakpoint_from_pc (CORE_ADDR *pc, int *len);
-#define BREAKPOINT_FROM_PC(PC,LEN) sparc_breakpoint_from_pc ((PC), (LEN))
-
-/* Register numbers of various important registers.
- Note that some of these values are "real" register numbers,
- and correspond to the general registers of the machine,
- and some are "phony" register numbers which are too large
- to be actual register numbers as far as the user is concerned
- but do serve to get the desired values when passed to read_register. */
-
-#define G0_REGNUM 0 /* %g0 */
-#define G1_REGNUM 1 /* %g1 */
-#define O0_REGNUM 8 /* %o0 */
-#define RP_REGNUM 15 /* Contains return address value, *before* \
- any windows get switched. */
-#define O7_REGNUM 15 /* Last local reg not saved on stack frame */
-#define L0_REGNUM 16 /* First local reg that's saved on stack frame
- rather than in machine registers */
-#define I0_REGNUM 24 /* %i0 */
-#define I7_REGNUM 31 /* Last local reg saved on stack frame */
-#define PS_REGNUM 65 /* Contains processor status */
-#define PS_FLAG_CARRY 0x100000 /* Carry bit in PS */
-#define WIM_REGNUM 66 /* Window Invalid Mask (not really supported) */
-#define TBR_REGNUM 67 /* Trap Base Register (not really supported) */
-#define FPS_REGNUM 70 /* Floating point status register */
-#define CPS_REGNUM 71 /* Coprocessor status register */
-
-/* Writing to %g0 is a noop (not an error or exception or anything like
- that, however). */
-
-#define CANNOT_STORE_REGISTER(regno) ((regno) == G0_REGNUM)
-
-#define DEPRECATED_PRINT_EXTRA_FRAME_INFO(FI) \
- sparc_print_extra_frame_info (FI)
-extern void sparc_print_extra_frame_info (struct frame_info *);
-
-/* DEPRECATED_INIT_EXTRA_FRAME_INFO needs the PC to detect flat
- frames. */
-
-#define DEPRECATED_INIT_FRAME_PC_FIRST(FROMLEAF, PREV) \
- ((FROMLEAF) ? DEPRECATED_SAVED_PC_AFTER_CALL ((PREV)->next) : \
- (PREV)->next ? DEPRECATED_FRAME_SAVED_PC ((PREV)->next) : read_pc ())
-
-/* Define other aspects of the stack frame. */
-
-/* The location of I0 w.r.t SP. This is actually dependent on how the
- system's window overflow/underflow routines are written. Most
- vendors save the L regs followed by the I regs (at the higher
- address). Some vendors get it wrong. */
-
-#define FRAME_SAVED_L0 0
-#define FRAME_SAVED_I0 (8 * DEPRECATED_REGISTER_RAW_SIZE (L0_REGNUM))
-
-/* Things needed for making the inferior call functions. */
-/*
- * First of all, let me give my opinion of what the DUMMY_FRAME
- * actually looks like.
- *
- * | |
- * | |
- * + - - - - - - - - - - - - - - - - +<-- fp (level 0)
- * | |
- * | |
- * | |
- * | |
- * | Frame of innermost program |
- * | function |
- * | |
- * | |
- * | |
- * | |
- * | |
- * |---------------------------------|<-- sp (level 0), fp (c)
- * | |
- * DUMMY | fp0-31 |
- * | |
- * | ------ |<-- fp - 0x80
- * FRAME | g0-7 |<-- fp - 0xa0
- * | i0-7 |<-- fp - 0xc0
- * | other |<-- fp - 0xe0
- * | ? |
- * | ? |
- * |---------------------------------|<-- sp' = fp - 0x140
- * | |
- * xcution start | |
- * sp' + 0x94 -->| CALL_DUMMY (x code) |
- * | |
- * | |
- * |---------------------------------|<-- sp'' = fp - 0x200
- * | align sp to 8 byte boundary |
- * | ==> args to fn <== |
- * Room for | |
- * i & l's + agg | CALL_DUMMY_STACK_ADJUST = 0x0x44|
- * |---------------------------------|<-- final sp (variable)
- * | |
- * | Where function called will |
- * | build frame. |
- * | |
- * | |
- *
- * I understand everything in this picture except what the space
- * between fp - 0xe0 and fp - 0x140 is used for. Oh, and I don't
- * understand why there's a large chunk of CALL_DUMMY that never gets
- * executed (its function is superceeded by
- * DEPRECATED_PUSH_DUMMY_FRAME; they are designed to do the same
- * thing).
- *
- * DEPRECATED_PUSH_DUMMY_FRAME saves the registers above sp' and
- * pushes the * register file stack down one.
- *
- * call_function then writes CALL_DUMMY, pushes the args onto the
- * stack, and adjusts the stack pointer.
-
- call_function_by_hand then starts execution (in the middle of
- CALL_DUMMY, as directed by call_function). */
-
-#ifndef CALL_DUMMY
-/* This sequence of words is the instructions
-
- 00: bc 10 00 01 mov %g1, %fp
- 04: 9d e3 80 00 save %sp, %g0, %sp
- 08: bc 10 00 02 mov %g2, %fp
- 0c: be 10 00 03 mov %g3, %i7
- 10: da 03 a0 58 ld [ %sp + 0x58 ], %o5
- 14: d8 03 a0 54 ld [ %sp + 0x54 ], %o4
- 18: d6 03 a0 50 ld [ %sp + 0x50 ], %o3
- 1c: d4 03 a0 4c ld [ %sp + 0x4c ], %o2
- 20: d2 03 a0 48 ld [ %sp + 0x48 ], %o1
- 24: 40 00 00 00 call <fun>
- 28: d0 03 a0 44 ld [ %sp + 0x44 ], %o0
- 2c: 01 00 00 00 nop
- 30: 91 d0 20 01 ta 1
- 34: 01 00 00 00 nop
-
- NOTES:
- * the first four instructions are necessary only on the simulator.
- * this is a multiple of 8 (not only 4) bytes.
- * the `call' insn is a relative, not an absolute call.
- * the `nop' at the end is needed to keep the trap from
- clobbering things (if NPC pointed to garbage instead).
- */
-
-#endif /* CALL_DUMMY */
-
-/* Sparc has no reliable single step ptrace call */
-
-#define SOFTWARE_SINGLE_STEP_P() 1
-extern void sparc_software_single_step (enum target_signal, int);
-#define SOFTWARE_SINGLE_STEP(sig,bp_p) sparc_software_single_step (sig,bp_p)
-
-/* We need more arguments in a frame specification for the
- "frame" or "info frame" command. */
-
-#define SETUP_ARBITRARY_FRAME(argc, argv) setup_arbitrary_frame (argc, argv)
-extern struct frame_info *setup_arbitrary_frame (int, CORE_ADDR *);
-
-extern void sparc_do_registers_info (int regnum, int all);
-#undef DEPRECATED_DO_REGISTERS_INFO
-#define DEPRECATED_DO_REGISTERS_INFO(REGNUM,ALL) sparc_do_registers_info (REGNUM, ALL)
-
-/* Optimization for storing registers to the inferior. The hook
- DO_DEFERRED_STORES
- actually executes any deferred stores. It is called any time
- we are going to proceed the child, or read its registers.
- The hook CLEAR_DEFERRED_STORES is called when we want to throw
- away the inferior process, e.g. when it dies or we kill it.
- FIXME, this does not handle remote debugging cleanly. */
-
-extern int deferred_stores;
-#define DO_DEFERRED_STORES \
- if (deferred_stores) \
- target_store_registers (-2);
-#define CLEAR_DEFERRED_STORES \
- deferred_stores = 0;
-
-/* Select the sparc disassembler */
-
-#define TM_PRINT_INSN_MACH bfd_mach_sparc
-
-#define DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED 1
diff --git a/gdb/config/sparc/tm-sparclynx.h b/gdb/config/sparc/tm-sparclynx.h
deleted file mode 100644
index e4ea4d5223d..00000000000
--- a/gdb/config/sparc/tm-sparclynx.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Macro definitions for Sparc running under LynxOS.
- Copyright 1993, 1994 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef TM_SPARCLYNX_H
-#define TM_SPARCLYNX_H
-
-#include "config/tm-lynx.h"
-
-/* Use generic Sparc definitions. */
-#include "sparc/tm-sparc.h"
-
-/* Lynx does this backwards from everybody else */
-
-#undef FRAME_SAVED_I0
-#undef FRAME_SAVED_L0
-
-#define FRAME_SAVED_I0 0
-#define FRAME_SAVED_L0 (8 * DEPRECATED_REGISTER_RAW_SIZE (I0_REGNUM))
-
-#endif /* TM_SPARCLYNX_H */
diff --git a/gdb/config/sparc/tm-spc-em.h b/gdb/config/sparc/tm-spc-em.h
deleted file mode 100644
index 760e7a4258a..00000000000
--- a/gdb/config/sparc/tm-spc-em.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Target machine definitions for GDB for an embedded SPARC.
- Copyright 1989, 1992, 1993, 2000 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "sparc/tm-sparc.h"
-
-/* Offsets into jmp_buf. Not defined by Sun, but at least documented in a
- comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4 /* Size of each element in jmp_buf */
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_NPC 4
-#define JB_PSR 5
-#define JB_G1 6
-#define JB_O0 7
-#define JB_WBCNT 8
-
-/* Figure out where the longjmp will land. We expect that we have just entered
- longjmp and haven't yet setup the stack frame, so the args are still in the
- output regs. %o0 (O0_REGNUM) points at the jmp_buf structure from which we
- extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-extern int get_longjmp_target (CORE_ADDR *);
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
diff --git a/gdb/config/sparc/tm-sun4os4.h b/gdb/config/sparc/tm-sun4os4.h
deleted file mode 100644
index e080904d927..00000000000
--- a/gdb/config/sparc/tm-sun4os4.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Macro definitions for GDB for a Sun 4 running sunos 4.
- Copyright 1989, 1992, 1994, 1995, 1998, 2000
- Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "sparc/tm-sparc.h"
-#include "config/tm-sunos.h"
-
-/* Redefine SKIP_TRAMPOLINE_CODE to handle PIC compiled modules
- in main executables. */
-
-#undef SKIP_TRAMPOLINE_CODE
-#define SKIP_TRAMPOLINE_CODE(pc) sunos4_skip_trampoline_code (pc)
-extern CORE_ADDR sunos4_skip_trampoline_code (CORE_ADDR);
-
-/* Offsets into jmp_buf. Not defined by Sun, but at least documented in a
- comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4 /* Size of each element in jmp_buf */
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_NPC 4
-#define JB_PSR 5
-#define JB_G1 6
-#define JB_O0 7
-#define JB_WBCNT 8
-
-/* Figure out where the longjmp will land. We expect that we have just entered
- longjmp and haven't yet setup the stack frame, so the args are still in the
- output regs. %o0 (O0_REGNUM) points at the jmp_buf structure from which we
- extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-extern int get_longjmp_target (CORE_ADDR *);
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
-
-extern char *sunpro_static_transform_name (char *);
-#define STATIC_TRANSFORM_NAME(x) sunpro_static_transform_name (x)
-#define IS_STATIC_TRANSFORM_NAME(name) ((name)[0] == '$')
diff --git a/gdb/config/sparc/tm-sun4sol2.h b/gdb/config/sparc/tm-sun4sol2.h
deleted file mode 100644
index 2247914c50d..00000000000
--- a/gdb/config/sparc/tm-sun4sol2.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Macro definitions for GDB for a Sun 4 running Solaris 2
- Copyright 1989, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000
- Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "sparc/tm-sparc.h"
-#include "config/tm-sysv4.h"
-
-/* With Sol2 it is no longer necessary to enable software single-step,
- since the /proc interface can take care of it for us in hardware. */
-#undef SOFTWARE_SINGLE_STEP
-#undef SOFTWARE_SINGLE_STEP_P
-
-/* There are two different signal handler trampolines in Solaris2. */
-#define IN_SIGTRAMP(pc, name) \
- ((name) \
- && (DEPRECATED_STREQ ("sigacthandler", name) || DEPRECATED_STREQ ("ucbsigvechandler", name)))
-
-/* The signal handler gets a pointer to an ucontext as third argument
- if it is called from sigacthandler. This is the offset to the saved
- PC within it. sparc_frame_saved_pc knows how to deal with
- ucbsigvechandler. */
-#define SIGCONTEXT_PC_OFFSET 44
-
-#if 0 /* FIXME Setjmp/longjmp are not as well doc'd in SunOS 5.x yet */
-
-/* Offsets into jmp_buf. Not defined by Sun, but at least documented in a
- comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4 /* Size of each element in jmp_buf */
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_NPC 4
-#define JB_PSR 5
-#define JB_G1 6
-#define JB_O0 7
-#define JB_WBCNT 8
-
-/* Figure out where the longjmp will land. We expect that we have just entered
- longjmp and haven't yet setup the stack frame, so the args are still in the
- output regs. %o0 (O0_REGNUM) points at the jmp_buf structure from which we
- extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-extern int get_longjmp_target (CORE_ADDR *);
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
-#endif /* 0 */
-
-/* The SunPRO compiler puts out 0 instead of the address in N_SO symbols,
- and for SunPRO 3.0, N_FUN symbols too. */
-#define SOFUN_ADDRESS_MAYBE_MISSING
-
-extern char *sunpro_static_transform_name (char *);
-#define STATIC_TRANSFORM_NAME(x) sunpro_static_transform_name (x)
-#define IS_STATIC_TRANSFORM_NAME(name) ((name)[0] == '$')
-
-/* Enable handling of shared libraries for a.out executables. */
-#define HANDLE_SVR4_EXEC_EMULATORS
diff --git a/gdb/config/sparc/tm-vxsparc.h b/gdb/config/sparc/tm-vxworks.h
index 95861ecf9fb..7b0474847c6 100644
--- a/gdb/config/sparc/tm-vxsparc.h
+++ b/gdb/config/sparc/tm-vxworks.h
@@ -1,5 +1,6 @@
-/* Target machine description for VxWorks sparc's, for GDB, the GNU debugger.
- Copyright 1993, 1999 Free Software Foundation, Inc.
+/* Target-dependent defenitions for VxWorks SPARC.
+
+ Copyright 1993, 1999, 2004 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GDB.
@@ -19,9 +20,12 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#include "sparc/tm-spc-em.h"
-#include "config/tm-vxworks.h"
+#ifndef TM_VXWORKS_H
+#define TM_VXWORKS_H
-/* Number of registers in a ptrace_getfpregs call. */
+#define GDB_MULTI_ARCH GDB_MULTI_ARCH_TM
+
+/* Get generic VxWorks definitions. */
+#include "config/tm-vxworks.h"
-/* #define VX_SIZE_FPREGS (don't know how many) */
+#endif /* tm-vxworks.h */
diff --git a/gdb/config/sparc/vxsparc.mt b/gdb/config/sparc/vxsparc.mt
deleted file mode 100644
index 9eadd17451d..00000000000
--- a/gdb/config/sparc/vxsparc.mt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Target: SPARC running VxWorks
-TDEPFILES= sparc-tdep.o remote-vx.o remote-vxsparc.o xdr_ld.o xdr_ptrace.o xdr_rdb.o
-TM_FILE= tm-vxsparc.h
diff --git a/gdb/config/sparc/vxworks.mt b/gdb/config/sparc/vxworks.mt
new file mode 100644
index 00000000000..175f92ed981
--- /dev/null
+++ b/gdb/config/sparc/vxworks.mt
@@ -0,0 +1,4 @@
+# Target: VxWorks SPARC
+TDEPFILES= sparc-tdep.o \
+ remote-vx.o remote-vxsparc.o xdr_ld.o xdr_ptrace.o xdr_rdb.o
+TM_FILE= tm-vxworks.h
diff --git a/gdb/config/sparc/xm-linux.h b/gdb/config/sparc/xm-linux.h
deleted file mode 100644
index b0518e650e9..00000000000
--- a/gdb/config/sparc/xm-linux.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Macro definitions for running gdb on a Sparc running GNU/Linux.
-
- Copyright 1989, 1993, 1994, 1995, 1996, 1998, 2001, 2002 Free
- Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef XM_SPARCLINUX_H
-#define XM_SPARCLINUX_H
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-#define KERNEL_U_ADDR 0x0
-
-#define U_REGS_OFFSET 0
-
-/* If you expect to use the mmalloc package to obtain mapped symbol files,
- for now you have to specify some parameters that determine how gdb places
- the mappings in it's address space. See the comments in map_to_address()
- for details. This is expected to only be a short term solution. Yes it
- is a kludge.
- FIXME: Make this more automatic. */
-
-#define MMAP_BASE_ADDRESS 0xE0000000 /* First mapping here */
-#define MMAP_INCREMENT 0x01000000 /* Increment to next mapping */
-
-#endif /* _XM_SPARCLINUX_H */
diff --git a/gdb/config/sparc/xm-sun4sol2.h b/gdb/config/sparc/xm-sun4sol2.h
deleted file mode 100644
index 490962d4495..00000000000
--- a/gdb/config/sparc/xm-sun4sol2.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Macro definitions for running gdb on a Sun 4 running Solaris 2.
- Copyright 1989, 1992, 1993, 1994, 1995, 1996, 1998, 2000
- Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* Pick up more stuff from the generic SVR4 host include file. */
-
-#include "config/xm-sysv4.h"
-
-/* These are not currently used in SVR4 (but should be, FIXME!). */
-#undef DO_DEFERRED_STORES
-#undef CLEAR_DEFERRED_STORES
-
-/* solaris doesn't have siginterrupt, though it has sigaction; however,
- in this case siginterrupt would just be setting the default. */
-#define NO_SIGINTERRUPT
-
-/* On sol2.7, <curses.h> emits a bunch of 'macro redefined'
- warnings, which makes autoconf think curses.h doesn't
- exist. Compensate for that here. */
-#define HAVE_CURSES_H 1
diff --git a/gdb/configure b/gdb/configure
index fbf9f80e36f..da58de1ff36 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -4111,8 +4111,7 @@ case $host_os in
LIBS="../libtermcap/libtermcap.a $LIBS"
ac_cv_search_tgetent="../libtermcap/libtermcap.a"
fi ;;
- go32*)
- # ??? Is this really true?
+ go32* | *djgpp*)
ac_cv_search_tgetent="none required"
;;
aix*)
@@ -4120,14 +4119,14 @@ case $host_os in
# ??? Why?
echo $ac_n "checking for library containing tgetent""... $ac_c" 1>&6
-echo "configure:4124: checking for library containing tgetent" >&5
+echo "configure:4123: checking for library containing tgetent" >&5
if eval "test \"`echo '$''{'ac_cv_search_tgetent'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_func_search_save_LIBS="$LIBS"
ac_cv_search_tgetent="no"
cat > conftest.$ac_ext <<EOF
-#line 4131 "configure"
+#line 4130 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4138,7 +4137,7 @@ int main() {
tgetent()
; return 0; }
EOF
-if { (eval echo configure:4142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_tgetent="none required"
else
@@ -4149,7 +4148,7 @@ rm -f conftest*
test "$ac_cv_search_tgetent" = "no" && for i in tinfo ncurses curses termcap; do
LIBS="-l$i $ac_func_search_save_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4153 "configure"
+#line 4152 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4160,7 +4159,7 @@ int main() {
tgetent()
; return 0; }
EOF
-if { (eval echo configure:4164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4163: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_tgetent="-l$i"
break
@@ -4187,14 +4186,14 @@ esac
# Readline doesn't, so I think we're safe with leaving them out.
echo $ac_n "checking for library containing tgetent""... $ac_c" 1>&6
-echo "configure:4191: checking for library containing tgetent" >&5
+echo "configure:4190: checking for library containing tgetent" >&5
if eval "test \"`echo '$''{'ac_cv_search_tgetent'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_func_search_save_LIBS="$LIBS"
ac_cv_search_tgetent="no"
cat > conftest.$ac_ext <<EOF
-#line 4198 "configure"
+#line 4197 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4205,7 +4204,7 @@ int main() {
tgetent()
; return 0; }
EOF
-if { (eval echo configure:4209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_tgetent="none required"
else
@@ -4216,7 +4215,7 @@ rm -f conftest*
test "$ac_cv_search_tgetent" = "no" && for i in termcap tinfo ncurses Hcurses curses; do
LIBS="-l$i $ac_func_search_save_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4220 "configure"
+#line 4219 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4227,7 +4226,7 @@ int main() {
tgetent()
; return 0; }
EOF
-if { (eval echo configure:4231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4230: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_tgetent="-l$i"
break
@@ -4261,12 +4260,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:4265: checking for $ac_hdr that defines DIR" >&5
+echo "configure:4264: checking for $ac_hdr that defines DIR" >&5
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4270 "configure"
+#line 4269 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
@@ -4274,7 +4273,7 @@ int main() {
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:4278: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4277: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
@@ -4299,7 +4298,7 @@ done
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
if test $ac_header_dirent = dirent.h; then
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:4303: checking for opendir in -ldir" >&5
+echo "configure:4302: checking for opendir in -ldir" >&5
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4307,7 +4306,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4311 "configure"
+#line 4310 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4318,7 +4317,7 @@ int main() {
opendir()
; return 0; }
EOF
-if { (eval echo configure:4322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4340,7 +4339,7 @@ fi
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:4344: checking for opendir in -lx" >&5
+echo "configure:4343: checking for opendir in -lx" >&5
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4348,7 +4347,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4352 "configure"
+#line 4351 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4359,7 +4358,7 @@ int main() {
opendir()
; return 0; }
EOF
-if { (eval echo configure:4363: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4382,12 +4381,12 @@ fi
fi
echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
-echo "configure:4386: checking whether stat file-mode macros are broken" >&5
+echo "configure:4385: checking whether stat file-mode macros are broken" >&5
if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4391 "configure"
+#line 4390 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -4438,12 +4437,12 @@ EOF
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:4442: checking for ANSI C header files" >&5
+echo "configure:4441: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4447 "configure"
+#line 4446 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -4451,7 +4450,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4468,7 +4467,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 4472 "configure"
+#line 4471 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -4486,7 +4485,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 4490 "configure"
+#line 4489 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -4507,7 +4506,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 4511 "configure"
+#line 4510 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -4518,7 +4517,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:4522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -4545,17 +4544,57 @@ for ac_hdr in link.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4549: checking for $ac_hdr" >&5
+echo "configure:4548: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4554 "configure"
+#line 4553 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4559: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4558: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in machine/reg.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:4588: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4593 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:4598: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4585,17 +4624,17 @@ for ac_hdr in nlist.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4589: checking for $ac_hdr" >&5
+echo "configure:4628: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4594 "configure"
+#line 4633 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4599: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4638: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4625,17 +4664,17 @@ for ac_hdr in poll.h sys/poll.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4629: checking for $ac_hdr" >&5
+echo "configure:4668: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4634 "configure"
+#line 4673 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4639: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4678: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4665,17 +4704,17 @@ for ac_hdr in proc_service.h thread_db.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4669: checking for $ac_hdr" >&5
+echo "configure:4708: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4674 "configure"
+#line 4713 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4679: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4718: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4705,17 +4744,17 @@ for ac_hdr in stddef.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4709: checking for $ac_hdr" >&5
+echo "configure:4748: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4714 "configure"
+#line 4753 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4719: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4758: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4745,17 +4784,17 @@ for ac_hdr in stdlib.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4749: checking for $ac_hdr" >&5
+echo "configure:4788: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4754 "configure"
+#line 4793 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4759: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4798: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4785,17 +4824,17 @@ for ac_hdr in stdint.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4789: checking for $ac_hdr" >&5
+echo "configure:4828: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4794 "configure"
+#line 4833 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4799: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4838: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4825,17 +4864,17 @@ for ac_hdr in string.h memory.h strings.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4829: checking for $ac_hdr" >&5
+echo "configure:4868: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4834 "configure"
+#line 4873 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4839: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4878: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4865,17 +4904,17 @@ for ac_hdr in sys/fault.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4869: checking for $ac_hdr" >&5
+echo "configure:4908: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4874 "configure"
+#line 4913 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4879: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4918: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4905,17 +4944,17 @@ for ac_hdr in sys/file.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4909: checking for $ac_hdr" >&5
+echo "configure:4948: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4914 "configure"
+#line 4953 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4919: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4958: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4945,17 +4984,17 @@ for ac_hdr in sys/filio.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4949: checking for $ac_hdr" >&5
+echo "configure:4988: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4954 "configure"
+#line 4993 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4985,17 +5024,17 @@ for ac_hdr in sys/ioctl.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4989: checking for $ac_hdr" >&5
+echo "configure:5028: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4994 "configure"
+#line 5033 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4999: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5038: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5025,17 +5064,17 @@ for ac_hdr in sys/param.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5029: checking for $ac_hdr" >&5
+echo "configure:5068: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5034 "configure"
+#line 5073 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5039: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5065,17 +5104,17 @@ for ac_hdr in sys/proc.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5069: checking for $ac_hdr" >&5
+echo "configure:5108: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5074 "configure"
+#line 5113 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5079: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5118: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5105,17 +5144,17 @@ for ac_hdr in sys/procfs.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5109: checking for $ac_hdr" >&5
+echo "configure:5148: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5114 "configure"
+#line 5153 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5119: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5158: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5145,17 +5184,17 @@ for ac_hdr in sys/ptrace.h ptrace.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5149: checking for $ac_hdr" >&5
+echo "configure:5188: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5154 "configure"
+#line 5193 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5159: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5198: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5185,17 +5224,17 @@ for ac_hdr in sys/reg.h sys/debugreg.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5189: checking for $ac_hdr" >&5
+echo "configure:5228: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5194 "configure"
+#line 5233 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5199: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5238: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5225,17 +5264,17 @@ for ac_hdr in sys/select.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5229: checking for $ac_hdr" >&5
+echo "configure:5268: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5234 "configure"
+#line 5273 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5239: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5278: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5265,17 +5304,17 @@ for ac_hdr in sys/syscall.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5269: checking for $ac_hdr" >&5
+echo "configure:5308: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5274 "configure"
+#line 5313 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5279: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5318: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5305,17 +5344,17 @@ for ac_hdr in sys/user.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5309: checking for $ac_hdr" >&5
+echo "configure:5348: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5314 "configure"
+#line 5353 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5319: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5358: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5345,17 +5384,17 @@ for ac_hdr in sys/wait.h wait.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5349: checking for $ac_hdr" >&5
+echo "configure:5388: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5354 "configure"
+#line 5393 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5398: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5385,17 +5424,17 @@ for ac_hdr in termios.h termio.h sgtty.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5389: checking for $ac_hdr" >&5
+echo "configure:5428: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5394 "configure"
+#line 5433 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5399: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5425,17 +5464,17 @@ for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5429: checking for $ac_hdr" >&5
+echo "configure:5468: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5434 "configure"
+#line 5473 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5439: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5478: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5478,17 +5517,17 @@ for ac_hdr in curses.h ncurses.h term.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5482: checking for $ac_hdr" >&5
+echo "configure:5521: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5487 "configure"
+#line 5526 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5492: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5531: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5521,17 +5560,17 @@ for ac_hdr in ctype.h time.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5525: checking for $ac_hdr" >&5
+echo "configure:5564: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5530 "configure"
+#line 5569 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5535: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5558,6 +5597,39 @@ fi
done
+echo $ac_n "checking for member st_blocks in struct stat""... $ac_c" 1>&6
+echo "configure:5602: checking for member st_blocks in struct stat" >&5
+if eval "test \"`echo '$''{'gdb_cv_have_struct_stat_with_st_blocks_member'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5607 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+int main() {
+struct stat st; (void) st.st_blocks;
+; return 0; }
+EOF
+if { (eval echo configure:5615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ gdb_cv_have_struct_stat_with_st_blocks_member=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ gdb_cv_have_struct_stat_with_st_blocks_member=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$gdb_cv_have_struct_stat_with_st_blocks_member" 1>&6
+if test $gdb_cv_have_struct_stat_with_st_blocks_member = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRUCT_STAT_ST_BLOCKS 1
+EOF
+
+fi
# ------------------------- #
# Checks for declarations. #
# ------------------------- #
@@ -5566,12 +5638,12 @@ for ac_func in getopt
do
ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
echo $ac_n "checking whether $ac_func is declared""... $ac_c" 1>&6
-echo "configure:5570: checking whether $ac_func is declared" >&5
+echo "configure:5642: checking whether $ac_func is declared" >&5
if eval "test \"`echo '$''{'gcc_cv_have_decl_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5575 "configure"
+#line 5647 "configure"
#include "confdefs.h"
#undef $ac_tr_decl
#define $ac_tr_decl 1
@@ -5583,7 +5655,7 @@ char *(*pfn) = (char *(*)) $ac_func ;
#endif
; return 0; }
EOF
-if { (eval echo configure:5587: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5659: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "gcc_cv_have_decl_$ac_func=yes"
else
@@ -5620,12 +5692,12 @@ fi
# ------------------ #
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:5624: checking return type of signal handlers" >&5
+echo "configure:5696: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5629 "configure"
+#line 5701 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -5642,7 +5714,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:5646: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5718: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@@ -5666,12 +5738,12 @@ EOF
# ------------------------------------- #
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:5670: checking for working const" >&5
+echo "configure:5742: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5675 "configure"
+#line 5747 "configure"
#include "confdefs.h"
int main() {
@@ -5720,7 +5792,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:5724: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5796: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -5741,21 +5813,21 @@ EOF
fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:5745: checking for inline" >&5
+echo "configure:5817: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 5752 "configure"
+#line 5824 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:5759: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5831: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -5788,19 +5860,19 @@ esac
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:5792: checking for working alloca.h" >&5
+echo "configure:5864: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5797 "configure"
+#line 5869 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:5804: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -5821,12 +5893,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:5825: checking for alloca" >&5
+echo "configure:5897: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5830 "configure"
+#line 5902 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -5854,7 +5926,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:5858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -5886,12 +5958,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:5890: checking whether alloca needs Cray hooks" >&5
+echo "configure:5962: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5895 "configure"
+#line 5967 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -5916,12 +5988,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5920: checking for $ac_func" >&5
+echo "configure:5992: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5925 "configure"
+#line 5997 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5944,7 +6016,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5971,7 +6043,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:5975: checking stack direction for C alloca" >&5
+echo "configure:6047: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5979,7 +6051,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 5983 "configure"
+#line 6055 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -5998,7 +6070,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:6002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -6023,17 +6095,17 @@ for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6027: checking for $ac_hdr" >&5
+echo "configure:6099: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6032 "configure"
+#line 6104 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6037: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6109: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -6062,12 +6134,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6066: checking for $ac_func" >&5
+echo "configure:6138: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6071 "configure"
+#line 6143 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6090,7 +6162,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6094: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6115,7 +6187,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:6119: checking for working mmap" >&5
+echo "configure:6191: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -6123,7 +6195,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 6127 "configure"
+#line 6199 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -6263,7 +6335,7 @@ main()
}
EOF
-if { (eval echo configure:6267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -6286,12 +6358,12 @@ EOF
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:6290: checking for pid_t" >&5
+echo "configure:6362: checking for pid_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6295 "configure"
+#line 6367 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -6320,17 +6392,17 @@ fi
ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:6324: checking for vfork.h" >&5
+echo "configure:6396: checking for vfork.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6329 "configure"
+#line 6401 "configure"
#include "confdefs.h"
#include <vfork.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6406: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -6355,18 +6427,18 @@ else
fi
echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:6359: checking for working vfork" >&5
+echo "configure:6431: checking for working vfork" >&5
if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
echo $ac_n "checking for vfork""... $ac_c" 1>&6
-echo "configure:6365: checking for vfork" >&5
+echo "configure:6437: checking for vfork" >&5
if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6370 "configure"
+#line 6442 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vfork(); below. */
@@ -6389,7 +6461,7 @@ vfork();
; return 0; }
EOF
-if { (eval echo configure:6393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6465: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_vfork=yes"
else
@@ -6411,7 +6483,7 @@ fi
ac_cv_func_vfork_works=$ac_cv_func_vfork
else
cat > conftest.$ac_ext <<EOF
-#line 6415 "configure"
+#line 6487 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
@@ -6506,7 +6578,7 @@ main() {
}
}
EOF
-if { (eval echo configure:6510: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_vfork_works=yes
else
@@ -6531,12 +6603,12 @@ fi
for ac_func in canonicalize_file_name realpath
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6535: checking for $ac_func" >&5
+echo "configure:6607: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6540 "configure"
+#line 6612 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6559,7 +6631,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6586,12 +6658,12 @@ done
for ac_func in poll
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6590: checking for $ac_func" >&5
+echo "configure:6662: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6595 "configure"
+#line 6667 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6614,7 +6686,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6641,12 +6713,12 @@ done
for ac_func in pread64
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6645: checking for $ac_func" >&5
+echo "configure:6717: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6650 "configure"
+#line 6722 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6669,7 +6741,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6696,12 +6768,12 @@ done
for ac_func in sbrk
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6700: checking for $ac_func" >&5
+echo "configure:6772: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6705 "configure"
+#line 6777 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6724,7 +6796,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6751,12 +6823,12 @@ done
for ac_func in setpgid setpgrp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6755: checking for $ac_func" >&5
+echo "configure:6827: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6760 "configure"
+#line 6832 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6779,7 +6851,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6806,12 +6878,12 @@ done
for ac_func in sigaction sigprocmask sigsetmask
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6810: checking for $ac_func" >&5
+echo "configure:6882: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6815 "configure"
+#line 6887 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6834,7 +6906,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6861,12 +6933,12 @@ done
for ac_func in socketpair
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6865: checking for $ac_func" >&5
+echo "configure:6937: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6870 "configure"
+#line 6942 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6889,7 +6961,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6916,12 +6988,12 @@ done
for ac_func in syscall
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6920: checking for $ac_func" >&5
+echo "configure:6992: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6925 "configure"
+#line 6997 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6944,7 +7016,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6971,7 +7043,7 @@ done
if test "$cross_compiling" = no; then
echo $ac_n "checking whether setpgrp takes no argument""... $ac_c" 1>&6
-echo "configure:6975: checking whether setpgrp takes no argument" >&5
+echo "configure:7047: checking whether setpgrp takes no argument" >&5
if eval "test \"`echo '$''{'ac_cv_func_setpgrp_void'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -6979,7 +7051,7 @@ else
{ echo "configure: error: cannot check setpgrp if cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 6983 "configure"
+#line 7055 "configure"
#include "confdefs.h"
#ifdef HAVE_UNISTD_H
@@ -6999,7 +7071,7 @@ main()
}
EOF
-if { (eval echo configure:7003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_setpgrp_void=no
else
@@ -7024,12 +7096,12 @@ fi
else
echo $ac_n "checking whether setpgrp takes no argument""... $ac_c" 1>&6
-echo "configure:7028: checking whether setpgrp takes no argument" >&5
+echo "configure:7100: checking whether setpgrp takes no argument" >&5
if eval "test \"`echo '$''{'ac_cv_func_setpgrp_void'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7033 "configure"
+#line 7105 "configure"
#include "confdefs.h"
#include <unistd.h>
@@ -7043,7 +7115,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:7047: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_func_setpgrp_void=no
else
@@ -7067,12 +7139,12 @@ fi
# Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
# since sigsetjmp might only be defined as a macro.
echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
-echo "configure:7071: checking for sigsetjmp" >&5
+echo "configure:7143: checking for sigsetjmp" >&5
if eval "test \"`echo '$''{'gdb_cv_func_sigsetjmp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7076 "configure"
+#line 7148 "configure"
#include "confdefs.h"
#include <setjmp.h>
@@ -7081,7 +7153,7 @@ int main() {
sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);
; return 0; }
EOF
-if { (eval echo configure:7085: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_func_sigsetjmp=yes
else
@@ -7107,12 +7179,12 @@ gdb_use_included_regex=yes
# However, if the system regex is GNU regex, then default to *not*
# using the included regex.
echo $ac_n "checking for GNU regex""... $ac_c" 1>&6
-echo "configure:7111: checking for GNU regex" >&5
+echo "configure:7183: checking for GNU regex" >&5
if eval "test \"`echo '$''{'gdb_cv_have_gnu_regex'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7116 "configure"
+#line 7188 "configure"
#include "confdefs.h"
#include <gnu-versions.h>
int main() {
@@ -7122,7 +7194,7 @@ int main() {
#endif
; return 0; }
EOF
-if { (eval echo configure:7126: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_gnu_regex=yes
else
@@ -7154,22 +7226,57 @@ EOF
fi
+# See if <machine/reg.h> degines `struct reg'.
+echo $ac_n "checking for struct reg in machine/reg.h""... $ac_c" 1>&6
+echo "configure:7232: checking for struct reg in machine/reg.h" >&5
+if eval "test \"`echo '$''{'gdb_cv_struct_reg'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 7237 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <machine/reg.h>
+int main() {
+struct reg r;
+; return 0; }
+EOF
+if { (eval echo configure:7245: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ gdb_cv_struct_reg=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ gdb_cv_struct_reg=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$gdb_cv_struct_reg" 1>&6
+if test $gdb_cv_struct_reg = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRUCT_REG 1
+EOF
+
+fi
+
# See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
echo $ac_n "checking for r_fs in struct reg""... $ac_c" 1>&6
-echo "configure:7161: checking for r_fs in struct reg" >&5
+echo "configure:7268: checking for r_fs in struct reg" >&5
if eval "test \"`echo '$''{'gdb_cv_struct_reg_r_fs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7166 "configure"
+#line 7273 "configure"
#include "confdefs.h"
#include <machine/reg.h>
int main() {
struct reg r; r.r_fs;
; return 0; }
EOF
-if { (eval echo configure:7173: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7280: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_struct_reg_r_fs=yes
else
@@ -7189,19 +7296,19 @@ EOF
fi
echo $ac_n "checking for r_gs in struct reg""... $ac_c" 1>&6
-echo "configure:7193: checking for r_gs in struct reg" >&5
+echo "configure:7300: checking for r_gs in struct reg" >&5
if eval "test \"`echo '$''{'gdb_cv_struct_reg_r_gs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7198 "configure"
+#line 7305 "configure"
#include "confdefs.h"
#include <machine/reg.h>
int main() {
struct reg r; r.r_gs;
; return 0; }
EOF
-if { (eval echo configure:7205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7312: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_struct_reg_r_gs=yes
else
@@ -7223,19 +7330,19 @@ fi
# See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
echo $ac_n "checking for PTRACE_GETREGS""... $ac_c" 1>&6
-echo "configure:7227: checking for PTRACE_GETREGS" >&5
+echo "configure:7334: checking for PTRACE_GETREGS" >&5
if eval "test \"`echo '$''{'gdb_cv_have_ptrace_getregs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7232 "configure"
+#line 7339 "configure"
#include "confdefs.h"
#include <sys/ptrace.h>
int main() {
PTRACE_GETREGS;
; return 0; }
EOF
-if { (eval echo configure:7239: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7346: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_ptrace_getregs=yes
else
@@ -7257,19 +7364,19 @@ fi
# See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
echo $ac_n "checking for PTRACE_GETFPXREGS""... $ac_c" 1>&6
-echo "configure:7261: checking for PTRACE_GETFPXREGS" >&5
+echo "configure:7368: checking for PTRACE_GETFPXREGS" >&5
if eval "test \"`echo '$''{'gdb_cv_have_ptrace_getfpxregs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7266 "configure"
+#line 7373 "configure"
#include "confdefs.h"
#include <sys/ptrace.h>
int main() {
PTRACE_GETFPXREGS;
; return 0; }
EOF
-if { (eval echo configure:7273: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7380: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_ptrace_getfpxregs=yes
else
@@ -7291,12 +7398,12 @@ fi
# See if <sys/ptrace.h> provides the PT_GETDBREGS request.
echo $ac_n "checking for PT_GETDBREGS""... $ac_c" 1>&6
-echo "configure:7295: checking for PT_GETDBREGS" >&5
+echo "configure:7402: checking for PT_GETDBREGS" >&5
if eval "test \"`echo '$''{'gdb_cv_have_pt_getdbregs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7300 "configure"
+#line 7407 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/ptrace.h>
@@ -7304,7 +7411,7 @@ int main() {
PT_GETDBREGS;
; return 0; }
EOF
-if { (eval echo configure:7308: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7415: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_pt_getdbregs=yes
else
@@ -7326,12 +7433,12 @@ fi
# See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
echo $ac_n "checking for PT_GETXMMREGS""... $ac_c" 1>&6
-echo "configure:7330: checking for PT_GETXMMREGS" >&5
+echo "configure:7437: checking for PT_GETXMMREGS" >&5
if eval "test \"`echo '$''{'gdb_cv_have_pt_getxmmregs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7335 "configure"
+#line 7442 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/ptrace.h>
@@ -7339,7 +7446,7 @@ int main() {
PT_GETXMMREGS;
; return 0; }
EOF
-if { (eval echo configure:7343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_pt_getxmmregs=yes
else
@@ -7362,19 +7469,19 @@ fi
# See if stdint.h provides the uintptr_t type.
# Autoconf 2.5X has an improved AC_CHECK_TYPE which will simplify this.
echo $ac_n "checking for uintptr_t in stdint.h""... $ac_c" 1>&6
-echo "configure:7366: checking for uintptr_t in stdint.h" >&5
+echo "configure:7473: checking for uintptr_t in stdint.h" >&5
if eval "test \"`echo '$''{'gdb_cv_have_uintptr_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7371 "configure"
+#line 7478 "configure"
#include "confdefs.h"
#include <stdint.h>
int main() {
uintptr_t foo = 0;
; return 0; }
EOF
-if { (eval echo configure:7378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7485: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_uintptr_t=yes
else
@@ -7395,12 +7502,12 @@ EOF
fi
echo $ac_n "checking whether malloc must be declared""... $ac_c" 1>&6
-echo "configure:7399: checking whether malloc must be declared" >&5
+echo "configure:7506: checking whether malloc must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_malloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7404 "configure"
+#line 7511 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -7421,7 +7528,7 @@ int main() {
char *(*pfn) = (char *(*)) malloc
; return 0; }
EOF
-if { (eval echo configure:7425: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7532: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_malloc=no
else
@@ -7442,12 +7549,12 @@ EOF
fi
echo $ac_n "checking whether realloc must be declared""... $ac_c" 1>&6
-echo "configure:7446: checking whether realloc must be declared" >&5
+echo "configure:7553: checking whether realloc must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_realloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7451 "configure"
+#line 7558 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -7468,7 +7575,7 @@ int main() {
char *(*pfn) = (char *(*)) realloc
; return 0; }
EOF
-if { (eval echo configure:7472: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7579: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_realloc=no
else
@@ -7489,12 +7596,12 @@ EOF
fi
echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6
-echo "configure:7493: checking whether free must be declared" >&5
+echo "configure:7600: checking whether free must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_free'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7498 "configure"
+#line 7605 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -7515,7 +7622,7 @@ int main() {
char *(*pfn) = (char *(*)) free
; return 0; }
EOF
-if { (eval echo configure:7519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7626: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_free=no
else
@@ -7536,12 +7643,12 @@ EOF
fi
echo $ac_n "checking whether strerror must be declared""... $ac_c" 1>&6
-echo "configure:7540: checking whether strerror must be declared" >&5
+echo "configure:7647: checking whether strerror must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_strerror'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7545 "configure"
+#line 7652 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -7562,7 +7669,7 @@ int main() {
char *(*pfn) = (char *(*)) strerror
; return 0; }
EOF
-if { (eval echo configure:7566: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7673: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_strerror=no
else
@@ -7583,12 +7690,12 @@ EOF
fi
echo $ac_n "checking whether strdup must be declared""... $ac_c" 1>&6
-echo "configure:7587: checking whether strdup must be declared" >&5
+echo "configure:7694: checking whether strdup must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_strdup'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7592 "configure"
+#line 7699 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -7609,7 +7716,7 @@ int main() {
char *(*pfn) = (char *(*)) strdup
; return 0; }
EOF
-if { (eval echo configure:7613: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7720: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_strdup=no
else
@@ -7630,12 +7737,12 @@ EOF
fi
echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6
-echo "configure:7634: checking whether strstr must be declared" >&5
+echo "configure:7741: checking whether strstr must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_strstr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7639 "configure"
+#line 7746 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -7656,7 +7763,7 @@ int main() {
char *(*pfn) = (char *(*)) strstr
; return 0; }
EOF
-if { (eval echo configure:7660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_strstr=no
else
@@ -7677,12 +7784,12 @@ EOF
fi
echo $ac_n "checking whether canonicalize_file_name must be declared""... $ac_c" 1>&6
-echo "configure:7681: checking whether canonicalize_file_name must be declared" >&5
+echo "configure:7788: checking whether canonicalize_file_name must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_canonicalize_file_name'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7686 "configure"
+#line 7793 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -7703,7 +7810,7 @@ int main() {
char *(*pfn) = (char *(*)) canonicalize_file_name
; return 0; }
EOF
-if { (eval echo configure:7707: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7814: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_canonicalize_file_name=no
else
@@ -7729,9 +7836,9 @@ fi
# could be expunged. --jsm 1999-03-22
echo $ac_n "checking for HPUX save_state structure""... $ac_c" 1>&6
-echo "configure:7733: checking for HPUX save_state structure" >&5
+echo "configure:7840: checking for HPUX save_state structure" >&5
cat > conftest.$ac_ext <<EOF
-#line 7735 "configure"
+#line 7842 "configure"
#include "confdefs.h"
#include <machine/save_state.h>
EOF
@@ -7746,7 +7853,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 7750 "configure"
+#line 7857 "configure"
#include "confdefs.h"
#include <machine/save_state.h>
EOF
@@ -7816,12 +7923,12 @@ fi
if test "$ac_cv_header_sys_procfs_h" = yes; then
echo $ac_n "checking for pstatus_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:7820: checking for pstatus_t in sys/procfs.h" >&5
+echo "configure:7927: checking for pstatus_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7825 "configure"
+#line 7932 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -7830,7 +7937,7 @@ int main() {
pstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:7834: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7941: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_pstatus_t=yes
else
@@ -7852,12 +7959,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus_t" 1>&6
echo $ac_n "checking for prrun_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:7856: checking for prrun_t in sys/procfs.h" >&5
+echo "configure:7963: checking for prrun_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prrun_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7861 "configure"
+#line 7968 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -7866,7 +7973,7 @@ int main() {
prrun_t avar
; return 0; }
EOF
-if { (eval echo configure:7870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prrun_t=yes
else
@@ -7888,12 +7995,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_prrun_t" 1>&6
echo $ac_n "checking for gregset_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:7892: checking for gregset_t in sys/procfs.h" >&5
+echo "configure:7999: checking for gregset_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_gregset_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7897 "configure"
+#line 8004 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -7902,7 +8009,7 @@ int main() {
gregset_t avar
; return 0; }
EOF
-if { (eval echo configure:7906: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8013: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_gregset_t=yes
else
@@ -7924,12 +8031,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_gregset_t" 1>&6
echo $ac_n "checking for fpregset_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:7928: checking for fpregset_t in sys/procfs.h" >&5
+echo "configure:8035: checking for fpregset_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_fpregset_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7933 "configure"
+#line 8040 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -7938,7 +8045,7 @@ int main() {
fpregset_t avar
; return 0; }
EOF
-if { (eval echo configure:7942: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8049: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_fpregset_t=yes
else
@@ -7960,12 +8067,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_fpregset_t" 1>&6
echo $ac_n "checking for prgregset_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:7964: checking for prgregset_t in sys/procfs.h" >&5
+echo "configure:8071: checking for prgregset_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prgregset_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7969 "configure"
+#line 8076 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -7974,7 +8081,7 @@ int main() {
prgregset_t avar
; return 0; }
EOF
-if { (eval echo configure:7978: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8085: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prgregset_t=yes
else
@@ -7996,12 +8103,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_prgregset_t" 1>&6
echo $ac_n "checking for prfpregset_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:8000: checking for prfpregset_t in sys/procfs.h" >&5
+echo "configure:8107: checking for prfpregset_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prfpregset_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8005 "configure"
+#line 8112 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -8010,7 +8117,7 @@ int main() {
prfpregset_t avar
; return 0; }
EOF
-if { (eval echo configure:8014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8121: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prfpregset_t=yes
else
@@ -8032,12 +8139,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_prfpregset_t" 1>&6
echo $ac_n "checking for prgregset32_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:8036: checking for prgregset32_t in sys/procfs.h" >&5
+echo "configure:8143: checking for prgregset32_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prgregset32_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8041 "configure"
+#line 8148 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -8046,7 +8153,7 @@ int main() {
prgregset32_t avar
; return 0; }
EOF
-if { (eval echo configure:8050: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prgregset32_t=yes
else
@@ -8068,12 +8175,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_prgregset32_t" 1>&6
echo $ac_n "checking for prfpregset32_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:8072: checking for prfpregset32_t in sys/procfs.h" >&5
+echo "configure:8179: checking for prfpregset32_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prfpregset32_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8077 "configure"
+#line 8184 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -8082,7 +8189,7 @@ int main() {
prfpregset32_t avar
; return 0; }
EOF
-if { (eval echo configure:8086: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prfpregset32_t=yes
else
@@ -8104,12 +8211,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_prfpregset32_t" 1>&6
echo $ac_n "checking for lwpid_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:8108: checking for lwpid_t in sys/procfs.h" >&5
+echo "configure:8215: checking for lwpid_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8113 "configure"
+#line 8220 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -8118,7 +8225,7 @@ int main() {
lwpid_t avar
; return 0; }
EOF
-if { (eval echo configure:8122: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8229: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_lwpid_t=yes
else
@@ -8140,12 +8247,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpid_t" 1>&6
echo $ac_n "checking for psaddr_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:8144: checking for psaddr_t in sys/procfs.h" >&5
+echo "configure:8251: checking for psaddr_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psaddr_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8149 "configure"
+#line 8256 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -8154,7 +8261,7 @@ int main() {
psaddr_t avar
; return 0; }
EOF
-if { (eval echo configure:8158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8265: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_psaddr_t=yes
else
@@ -8176,12 +8283,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_psaddr_t" 1>&6
echo $ac_n "checking for prsysent_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:8180: checking for prsysent_t in sys/procfs.h" >&5
+echo "configure:8287: checking for prsysent_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prsysent_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8185 "configure"
+#line 8292 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -8190,7 +8297,7 @@ int main() {
prsysent_t avar
; return 0; }
EOF
-if { (eval echo configure:8194: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prsysent_t=yes
else
@@ -8212,12 +8319,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_prsysent_t" 1>&6
echo $ac_n "checking for pr_sigset_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:8216: checking for pr_sigset_t in sys/procfs.h" >&5
+echo "configure:8323: checking for pr_sigset_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pr_sigset_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8221 "configure"
+#line 8328 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -8226,7 +8333,7 @@ int main() {
pr_sigset_t avar
; return 0; }
EOF
-if { (eval echo configure:8230: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8337: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_pr_sigset_t=yes
else
@@ -8248,12 +8355,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_pr_sigset_t" 1>&6
echo $ac_n "checking for pr_sigaction64_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:8252: checking for pr_sigaction64_t in sys/procfs.h" >&5
+echo "configure:8359: checking for pr_sigaction64_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pr_sigaction64_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8257 "configure"
+#line 8364 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -8262,7 +8369,7 @@ int main() {
pr_sigaction64_t avar
; return 0; }
EOF
-if { (eval echo configure:8266: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8373: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_pr_sigaction64_t=yes
else
@@ -8284,12 +8391,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_pr_sigaction64_t" 1>&6
echo $ac_n "checking for pr_siginfo64_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:8288: checking for pr_siginfo64_t in sys/procfs.h" >&5
+echo "configure:8395: checking for pr_siginfo64_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pr_siginfo64_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8293 "configure"
+#line 8400 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -8298,7 +8405,7 @@ int main() {
pr_siginfo64_t avar
; return 0; }
EOF
-if { (eval echo configure:8302: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8409: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_pr_siginfo64_t=yes
else
@@ -8325,7 +8432,7 @@ EOF
if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
echo $ac_n "checking whether prfpregset_t type is broken""... $ac_c" 1>&6
-echo "configure:8329: checking whether prfpregset_t type is broken" >&5
+echo "configure:8436: checking whether prfpregset_t type is broken" >&5
if eval "test \"`echo '$''{'gdb_cv_prfpregset_t_broken'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -8333,7 +8440,7 @@ else
gdb_cv_prfpregset_t_broken=yes
else
cat > conftest.$ac_ext <<EOF
-#line 8337 "configure"
+#line 8444 "configure"
#include "confdefs.h"
#include <sys/procfs.h>
int main ()
@@ -8343,7 +8450,7 @@ else
return 0;
}
EOF
-if { (eval echo configure:8347: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
gdb_cv_prfpregset_t_broken=no
else
@@ -8368,12 +8475,12 @@ EOF
echo $ac_n "checking for PIOCSET ioctl entry in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:8372: checking for PIOCSET ioctl entry in sys/procfs.h" >&5
+echo "configure:8479: checking for PIOCSET ioctl entry in sys/procfs.h" >&5
if eval "test \"`echo '$''{'gdb_cv_have_procfs_piocset'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8377 "configure"
+#line 8484 "configure"
#include "confdefs.h"
#include <unistd.h>
#include <sys/types.h>
@@ -8386,7 +8493,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8390: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8497: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_procfs_piocset=yes
else
@@ -8410,19 +8517,19 @@ fi
if test ${host} = ${target} ; then
echo $ac_n "checking for member l_addr in struct link_map""... $ac_c" 1>&6
-echo "configure:8414: checking for member l_addr in struct link_map" >&5
+echo "configure:8521: checking for member l_addr in struct link_map" >&5
if eval "test \"`echo '$''{'gdb_cv_have_struct_link_map_with_l_members'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8419 "configure"
+#line 8526 "configure"
#include "confdefs.h"
#include <link.h>
int main() {
struct link_map lm; (void) lm.l_addr;
; return 0; }
EOF
-if { (eval echo configure:8426: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8533: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_struct_link_map_with_l_members=yes
else
@@ -8444,12 +8551,12 @@ EOF
echo $ac_n "checking for member lm_addr in struct link_map""... $ac_c" 1>&6
-echo "configure:8448: checking for member lm_addr in struct link_map" >&5
+echo "configure:8555: checking for member lm_addr in struct link_map" >&5
if eval "test \"`echo '$''{'gdb_cv_have_struct_link_map_with_lm_members'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8453 "configure"
+#line 8560 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <link.h>
@@ -8457,7 +8564,7 @@ int main() {
struct link_map lm; (void) lm.lm_addr;
; return 0; }
EOF
-if { (eval echo configure:8461: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8568: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_struct_link_map_with_lm_members=yes
else
@@ -8479,12 +8586,12 @@ EOF
echo $ac_n "checking for member som_addr in struct so_map""... $ac_c" 1>&6
-echo "configure:8483: checking for member som_addr in struct so_map" >&5
+echo "configure:8590: checking for member som_addr in struct so_map" >&5
if eval "test \"`echo '$''{'gdb_cv_have_struct_so_map_with_som_members'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8488 "configure"
+#line 8595 "configure"
#include "confdefs.h"
#include <sys/types.h>
#ifdef HAVE_NLIST_H
@@ -8495,7 +8602,7 @@ int main() {
struct so_map lm; (void) lm.som_addr;
; return 0; }
EOF
-if { (eval echo configure:8499: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_struct_so_map_with_som_members=yes
else
@@ -8517,12 +8624,12 @@ EOF
echo $ac_n "checking for struct link_map32 in sys/link.h""... $ac_c" 1>&6
-echo "configure:8521: checking for struct link_map32 in sys/link.h" >&5
+echo "configure:8628: checking for struct link_map32 in sys/link.h" >&5
if eval "test \"`echo '$''{'gdb_cv_have_struct_link_map32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8526 "configure"
+#line 8633 "configure"
#include "confdefs.h"
#define _SYSCALL32
#include <sys/link.h>
@@ -8530,7 +8637,7 @@ int main() {
struct link_map32 l;
; return 0; }
EOF
-if { (eval echo configure:8534: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8641: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_struct_link_map32=yes
else
@@ -8557,12 +8664,12 @@ fi
echo $ac_n "checking for long long support in compiler""... $ac_c" 1>&6
-echo "configure:8561: checking for long long support in compiler" >&5
+echo "configure:8668: checking for long long support in compiler" >&5
if eval "test \"`echo '$''{'gdb_cv_c_long_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8566 "configure"
+#line 8673 "configure"
#include "confdefs.h"
int main() {
@@ -8572,7 +8679,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8576: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8683: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_c_long_long=yes
else
@@ -8594,7 +8701,7 @@ fi
echo $ac_n "checking for long long support in printf""... $ac_c" 1>&6
-echo "configure:8598: checking for long long support in printf" >&5
+echo "configure:8705: checking for long long support in printf" >&5
if eval "test \"`echo '$''{'gdb_cv_printf_has_long_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -8602,7 +8709,7 @@ else
gdb_cv_printf_has_long_long=no
else
cat > conftest.$ac_ext <<EOF
-#line 8606 "configure"
+#line 8713 "configure"
#include "confdefs.h"
int main () {
@@ -8616,7 +8723,7 @@ int main () {
return (strcmp ("0x0123456789abcdef", buf));
}
EOF
-if { (eval echo configure:8620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
gdb_cv_printf_has_long_long=yes
else
@@ -8640,19 +8747,19 @@ echo "$ac_t""$gdb_cv_printf_has_long_long" 1>&6
echo $ac_n "checking for long double support in compiler""... $ac_c" 1>&6
-echo "configure:8644: checking for long double support in compiler" >&5
+echo "configure:8751: checking for long double support in compiler" >&5
if eval "test \"`echo '$''{'ac_cv_c_long_double'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8649 "configure"
+#line 8756 "configure"
#include "confdefs.h"
int main() {
long double foo;
; return 0; }
EOF
-if { (eval echo configure:8656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8763: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_long_double=yes
else
@@ -8674,7 +8781,7 @@ fi
echo $ac_n "checking for long double support in printf""... $ac_c" 1>&6
-echo "configure:8678: checking for long double support in printf" >&5
+echo "configure:8785: checking for long double support in printf" >&5
if eval "test \"`echo '$''{'gdb_cv_printf_has_long_double'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -8682,7 +8789,7 @@ else
gdb_cv_printf_has_long_double=no
else
cat > conftest.$ac_ext <<EOF
-#line 8686 "configure"
+#line 8793 "configure"
#include "confdefs.h"
int main () {
@@ -8692,7 +8799,7 @@ int main () {
return (strncmp ("3.14159", buf, 7));
}
EOF
-if { (eval echo configure:8696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
gdb_cv_printf_has_long_double=yes
else
@@ -8716,7 +8823,7 @@ echo "$ac_t""$gdb_cv_printf_has_long_double" 1>&6
echo $ac_n "checking for long double support in scanf""... $ac_c" 1>&6
-echo "configure:8720: checking for long double support in scanf" >&5
+echo "configure:8827: checking for long double support in scanf" >&5
if eval "test \"`echo '$''{'gdb_cv_scanf_has_long_double'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -8724,7 +8831,7 @@ else
gdb_cv_scanf_has_long_double=no
else
cat > conftest.$ac_ext <<EOF
-#line 8728 "configure"
+#line 8835 "configure"
#include "confdefs.h"
int main () {
@@ -8734,7 +8841,7 @@ int main () {
return !(f > 3.14159 && f < 3.14160);
}
EOF
-if { (eval echo configure:8738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
gdb_cv_scanf_has_long_double=yes
else
@@ -8759,7 +8866,7 @@ echo "$ac_t""$gdb_cv_scanf_has_long_double" 1>&6
case ${host_os} in
aix*)
echo $ac_n "checking for -bbigtoc option""... $ac_c" 1>&6
-echo "configure:8763: checking for -bbigtoc option" >&5
+echo "configure:8870: checking for -bbigtoc option" >&5
if eval "test \"`echo '$''{'gdb_cv_bigtoc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -8773,14 +8880,14 @@ else
LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
cat > conftest.$ac_ext <<EOF
-#line 8777 "configure"
+#line 8884 "configure"
#include "confdefs.h"
int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:8784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
:
else
echo "configure: failed program was:" >&5
@@ -8803,7 +8910,7 @@ if test ${build} = ${host} -a ${host} = ${target} ; then
case ${host_os} in
hpux*)
echo $ac_n "checking for HPUX/OSF thread support""... $ac_c" 1>&6
-echo "configure:8807: checking for HPUX/OSF thread support" >&5
+echo "configure:8914: checking for HPUX/OSF thread support" >&5
if test -f /usr/include/dce/cma_config.h ; then
if test "$GCC" = "yes" ; then
echo "$ac_t""yes" 1>&6
@@ -8826,7 +8933,7 @@ EOF
# because version 0 (present on Solaris 2.4 or earlier) doesn't have
# the same API.
echo $ac_n "checking for Solaris thread debugging library""... $ac_c" 1>&6
-echo "configure:8830: checking for Solaris thread debugging library" >&5
+echo "configure:8937: checking for Solaris thread debugging library" >&5
if test -f /usr/lib/libthread_db.so.1 ; then
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
@@ -8836,7 +8943,7 @@ EOF
CONFIG_LIB_OBS="${CONFIG_LIB_OBS} sol-thread.o"
CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:8840: checking for dlopen in -ldl" >&5
+echo "configure:8947: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -8844,7 +8951,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8848 "configure"
+#line 8955 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -8855,7 +8962,7 @@ int main() {
dlopen()
; return 0; }
EOF
-if { (eval echo configure:8859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8966: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -8887,17 +8994,17 @@ fi
# all symbols visible in the dynamic symbol table.
hold_ldflags=$LDFLAGS
echo $ac_n "checking for the ld -export-dynamic flag""... $ac_c" 1>&6
-echo "configure:8891: checking for the ld -export-dynamic flag" >&5
+echo "configure:8998: checking for the ld -export-dynamic flag" >&5
LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
cat > conftest.$ac_ext <<EOF
-#line 8894 "configure"
+#line 9001 "configure"
#include "confdefs.h"
int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:8901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
found=yes
else
@@ -8916,13 +9023,13 @@ rm -f conftest*
# Sun randomly tweaked the prototypes in <proc_service.h>
# at one point.
echo $ac_n "checking if <proc_service.h> is old""... $ac_c" 1>&6
-echo "configure:8920: checking if <proc_service.h> is old" >&5
+echo "configure:9027: checking if <proc_service.h> is old" >&5
if eval "test \"`echo '$''{'gdb_cv_proc_service_is_old'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8926 "configure"
+#line 9033 "configure"
#include "confdefs.h"
#include <proc_service.h>
@@ -8933,7 +9040,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8937: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9044: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_proc_service_is_old=no
else
@@ -8959,12 +9066,12 @@ EOF
;;
aix*)
echo $ac_n "checking for AiX thread debugging library""... $ac_c" 1>&6
-echo "configure:8963: checking for AiX thread debugging library" >&5
+echo "configure:9070: checking for AiX thread debugging library" >&5
if eval "test \"`echo '$''{'gdb_cv_have_aix_thread_debug'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8968 "configure"
+#line 9075 "configure"
#include "confdefs.h"
#include <sys/pthdebug.h>
int main() {
@@ -8973,7 +9080,7 @@ int main() {
#endif
; return 0; }
EOF
-if { (eval echo configure:8977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9084: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_have_aix_thread_debug=yes
else
@@ -8998,19 +9105,19 @@ fi
if test "x$ac_cv_header_thread_db_h" = "xyes"; then
echo $ac_n "checking whether <thread_db.h> has TD_NOTALLOC""... $ac_c" 1>&6
-echo "configure:9002: checking whether <thread_db.h> has TD_NOTALLOC" >&5
+echo "configure:9109: checking whether <thread_db.h> has TD_NOTALLOC" >&5
if eval "test \"`echo '$''{'gdb_cv_thread_db_h_has_td_notalloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9007 "configure"
+#line 9114 "configure"
#include "confdefs.h"
#include <thread_db.h>
int main() {
int i = TD_NOTALLOC;
; return 0; }
EOF
-if { (eval echo configure:9014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9121: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_thread_db_h_has_td_notalloc=yes
else
@@ -9035,19 +9142,19 @@ fi
if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
echo $ac_n "checking whether <sys/syscall.h> has __NR_tkill""... $ac_c" 1>&6
-echo "configure:9039: checking whether <sys/syscall.h> has __NR_tkill" >&5
+echo "configure:9146: checking whether <sys/syscall.h> has __NR_tkill" >&5
if eval "test \"`echo '$''{'gdb_cv_sys_syscall_h_has_tkill'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9044 "configure"
+#line 9151 "configure"
#include "confdefs.h"
#include <sys/syscall.h>
int main() {
int i = __NR_tkill;
; return 0; }
EOF
-if { (eval echo configure:9051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gdb_cv_sys_syscall_h_has_tkill=yes
else
@@ -9158,7 +9265,7 @@ WERROR_CFLAGS=""
if test "x${build_warnings}" != x -a "x$GCC" = xyes
then
echo $ac_n "checking compiler warning flags""... $ac_c" 1>&6
-echo "configure:9162: checking compiler warning flags" >&5
+echo "configure:9269: checking compiler warning flags" >&5
# Separate out the -Werror flag as some files just cannot be
# compiled with it enabled.
for w in ${build_warnings}; do
@@ -9168,14 +9275,14 @@ echo "configure:9162: checking compiler warning flags" >&5
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $w"
cat > conftest.$ac_ext <<EOF
-#line 9172 "configure"
+#line 9279 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:9179: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9286: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
WARN_CFLAGS="${WARN_CFLAGS} $w"
else
@@ -9223,12 +9330,12 @@ fi
# In the Cygwin environment, we need some additional flags.
echo $ac_n "checking for cygwin""... $ac_c" 1>&6
-echo "configure:9227: checking for cygwin" >&5
+echo "configure:9334: checking for cygwin" >&5
if eval "test \"`echo '$''{'gdb_cv_os_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9232 "configure"
+#line 9339 "configure"
#include "confdefs.h"
#if defined (__CYGWIN__) || defined (__CYGWIN32__)
@@ -9306,7 +9413,7 @@ if test "${with_tclconfig+set}" = set; then
fi
echo $ac_n "checking for Tcl configuration""... $ac_c" 1>&6
-echo "configure:9310: checking for Tcl configuration" >&5
+echo "configure:9417: checking for Tcl configuration" >&5
if eval "test \"`echo '$''{'ac_cv_c_tclconfig'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -9415,7 +9522,7 @@ if test "${with_tkconfig+set}" = set; then
fi
echo $ac_n "checking for Tk configuration""... $ac_c" 1>&6
-echo "configure:9419: checking for Tk configuration" >&5
+echo "configure:9526: checking for Tk configuration" >&5
if eval "test \"`echo '$''{'ac_cv_c_tkconfig'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -9524,7 +9631,7 @@ fi
no_tcl=true
echo $ac_n "checking for Tcl private headers. dir=${configdir}""... $ac_c" 1>&6
-echo "configure:9528: checking for Tcl private headers. dir=${configdir}" >&5
+echo "configure:9635: checking for Tcl private headers. dir=${configdir}" >&5
# Check whether --with-tclinclude or --without-tclinclude was given.
if test "${with_tclinclude+set}" = set; then
withval="$with_tclinclude"
@@ -9590,17 +9697,17 @@ fi
if test x"${ac_cv_c_tclh}" = x ; then
ac_safe=`echo "tclInt.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for tclInt.h""... $ac_c" 1>&6
-echo "configure:9594: checking for tclInt.h" >&5
+echo "configure:9701: checking for tclInt.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9599 "configure"
+#line 9706 "configure"
#include "confdefs.h"
#include <tclInt.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9711: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -9660,7 +9767,7 @@ fi
#
no_tk=true
echo $ac_n "checking for Tk private headers""... $ac_c" 1>&6
-echo "configure:9664: checking for Tk private headers" >&5
+echo "configure:9771: checking for Tk private headers" >&5
# Check whether --with-tkinclude or --without-tkinclude was given.
if test "${with_tkinclude+set}" = set; then
withval="$with_tkinclude"
@@ -9726,17 +9833,17 @@ fi
if test x"${ac_cv_c_tkh}" = x ; then
ac_safe=`echo "tk.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for tk.h""... $ac_c" 1>&6
-echo "configure:9730: checking for tk.h" >&5
+echo "configure:9837: checking for tk.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9735 "configure"
+#line 9842 "configure"
#include "confdefs.h"
#include <tk.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9740: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9847: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -9782,7 +9889,7 @@ fi
echo $ac_n "checking for Itcl private headers. srcdir=${srcdir}""... $ac_c" 1>&6
-echo "configure:9786: checking for Itcl private headers. srcdir=${srcdir}" >&5
+echo "configure:9893: checking for Itcl private headers. srcdir=${srcdir}" >&5
if test x"${ac_cv_c_itclh}" = x ; then
for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itcl; do
if test -f $i/generic/itcl.h ; then
@@ -9805,7 +9912,7 @@ fi
echo $ac_n "checking for Itk private headers. srcdir=${srcdir}""... $ac_c" 1>&6
-echo "configure:9809: checking for Itk private headers. srcdir=${srcdir}" >&5
+echo "configure:9916: checking for Itk private headers. srcdir=${srcdir}" >&5
if test x"${ac_cv_c_itkh}" = x ; then
for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itk; do
if test -f $i/generic/itk.h ; then
@@ -9860,7 +9967,7 @@ if test "${with_itclconfig+set}" = set; then
fi
echo $ac_n "checking for Itcl configuration""... $ac_c" 1>&6
-echo "configure:9864: checking for Itcl configuration" >&5
+echo "configure:9971: checking for Itcl configuration" >&5
if eval "test \"`echo '$''{'ac_cv_c_itclconfig'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -9963,7 +10070,7 @@ if test "${with_itkconfig+set}" = set; then
fi
echo $ac_n "checking for Itk configuration""... $ac_c" 1>&6
-echo "configure:9967: checking for Itk configuration" >&5
+echo "configure:10074: checking for Itk configuration" >&5
if eval "test \"`echo '$''{'ac_cv_c_itkconfig'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -10106,7 +10213,7 @@ fi
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:10110: checking for X" >&5
+echo "configure:10217: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
@@ -10168,12 +10275,12 @@ if test "$ac_x_includes" = NO; then
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 10172 "configure"
+#line 10279 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10177: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10284: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -10242,14 +10349,14 @@ if test "$ac_x_libraries" = NO; then
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 10246 "configure"
+#line 10353 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:10253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10360: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
@@ -10463,7 +10570,7 @@ fi
# We only build gdbserver automatically if host and target are the same.
if test "x$target" = "x$host"; then
echo $ac_n "checking whether gdbserver is supported on this host""... $ac_c" 1>&6
-echo "configure:10467: checking whether gdbserver is supported on this host" >&5
+echo "configure:10574: checking whether gdbserver is supported on this host" >&5
if test "x$build_gdbserver" = xyes; then
configdirs="$configdirs gdbserver"
echo "$ac_t""yes" 1>&6
@@ -10527,12 +10634,12 @@ fi
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:10531: checking for Cygwin environment" >&5
+echo "configure:10638: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10536 "configure"
+#line 10643 "configure"
#include "confdefs.h"
int main() {
@@ -10543,7 +10650,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:10547: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@@ -10560,19 +10667,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:10564: checking for mingw32 environment" >&5
+echo "configure:10671: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10569 "configure"
+#line 10676 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:10576: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10683: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@@ -10591,7 +10698,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:10595: checking for executable suffix" >&5
+echo "configure:10702: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -10601,10 +10708,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:10605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:10712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *.c | *.C | *.o | *.obj | *.ilk | *.pdb) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@@ -10643,7 +10750,7 @@ fi
echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:10647: checking for iconv" >&5
+echo "configure:10754: checking for iconv" >&5
if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -10651,7 +10758,7 @@ else
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
cat > conftest.$ac_ext <<EOF
-#line 10655 "configure"
+#line 10762 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <iconv.h>
@@ -10661,7 +10768,7 @@ iconv_t cd = iconv_open("","");
iconv_close(cd);
; return 0; }
EOF
-if { (eval echo configure:10665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_func_iconv=yes
else
@@ -10673,7 +10780,7 @@ rm -f conftest*
am_save_LIBS="$LIBS"
LIBS="$LIBS -liconv"
cat > conftest.$ac_ext <<EOF
-#line 10677 "configure"
+#line 10784 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <iconv.h>
@@ -10683,7 +10790,7 @@ iconv_t cd = iconv_open("","");
iconv_close(cd);
; return 0; }
EOF
-if { (eval echo configure:10687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_lib_iconv=yes
am_cv_func_iconv=yes
@@ -10704,13 +10811,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6
EOF
echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6
-echo "configure:10708: checking for iconv declaration" >&5
+echo "configure:10815: checking for iconv declaration" >&5
if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10714 "configure"
+#line 10821 "configure"
#include "confdefs.h"
#include <stdlib.h>
@@ -10729,7 +10836,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:10733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_proto_iconv_arg1=""
else
diff --git a/gdb/configure.host b/gdb/configure.host
index 723d87c601e..6f284821015 100644
--- a/gdb/configure.host
+++ b/gdb/configure.host
@@ -22,6 +22,7 @@ s390*) gdb_host_cpu=s390 ;;
sh*) gdb_host_cpu=sh ;;
x86_64*) gdb_host_cpu=i386 ;;
xscale*) gdb_host_cpu=arm ;;
+m32r*) gdb_host_cpu=m32r ;;
*) gdb_host_cpu=$host_cpu ;;
esac
@@ -124,20 +125,16 @@ s390*-*-*) gdb_host=s390 ;;
sh*-*-netbsdelf*) gdb_host=nbsd ;;
+sparc64-*-freebsd*) gdb_host=fbsd ;;
sparc-*-linux*) gdb_host=linux ;;
-sparc-*-lynxos*) gdb_host=sparclynx ;;
+sparc64-*-linux*) gdb_host=linux64 ;;
sparc-*-netbsdelf*) gdb_host=nbsdelf ;;
sparc-*-netbsdaout*) gdb_host=nbsdaout ;;
sparc-*-netbsd*) gdb_host=nbsdaout ;;
-sparc-*-solaris2*) gdb_host=sun4sol2 ;;
-sparc-*-sunos4*) gdb_host=sun4os4 ;;
-sparc-*-sunos5*) gdb_host=sun4sol2 ;;
-sparc-*-*) gdb_host=sun4os4 ;;
-sparc64-*-freebsd*|ultrasparc-*-freebsd*|sparcv9-*-freebsd*)
- gdb_host=fbsd ;;
-sparc64-*-linux*) gdb_host=linux ;;
sparc64-*-netbsd*) gdb_host=nbsd64 ;;
-sparcv9-*-* | sparc64-*-*) gdb_host=sun4sol2 ;;
+sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
+ gdb_host=sol2
+ ;;
vax-*-bsd*) gdb_host=vaxbsd ;;
vax-*-ultrix2*) gdb_host=vaxult2 ;;
@@ -147,4 +144,6 @@ x86_64-*-linux*) gdb_host=x86-64linux ;;
x86_64-*-freebsd*) gdb_host=fbsd64 ;;
x86_64-*-netbsd*) gdb_host=nbsd64 ;;
+m32r*-*-linux*) gdb_host=linux ;;
+
esac
diff --git a/gdb/configure.in b/gdb/configure.in
index 128c744a46c..2ab32fee7e8 100644
--- a/gdb/configure.in
+++ b/gdb/configure.in
@@ -317,8 +317,7 @@ case $host_os in
LIBS="../libtermcap/libtermcap.a $LIBS"
ac_cv_search_tgetent="../libtermcap/libtermcap.a"
fi ;;
- go32*)
- # ??? Is this really true?
+ go32* | *djgpp*)
ac_cv_search_tgetent="none required"
;;
aix*)
@@ -344,6 +343,7 @@ AC_HEADER_DIRENT
AC_HEADER_STAT
AC_HEADER_STDC
AC_CHECK_HEADERS(link.h)
+AC_CHECK_HEADERS(machine/reg.h)
AC_CHECK_HEADERS(nlist.h)
AC_CHECK_HEADERS(poll.h sys/poll.h)
AC_CHECK_HEADERS(proc_service.h thread_db.h)
@@ -384,6 +384,18 @@ AC_CHECK_HEADERS(curses.h ncurses.h term.h)
# unconditionally, so what's the point in checking these?
AC_CHECK_HEADERS(ctype.h time.h)
+dnl Check for struct stat with an st_blocks member
+AC_MSG_CHECKING(for member st_blocks in struct stat)
+AC_CACHE_VAL(gdb_cv_have_struct_stat_with_st_blocks_member,
+ [AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/stat.h>],
+ [struct stat st; (void) st.st_blocks;],
+ gdb_cv_have_struct_stat_with_st_blocks_member=yes,
+ gdb_cv_have_struct_stat_with_st_blocks_member=no)])
+AC_MSG_RESULT($gdb_cv_have_struct_stat_with_st_blocks_member)
+if test $gdb_cv_have_struct_stat_with_st_blocks_member = yes; then
+ AC_DEFINE(HAVE_STRUCT_STAT_ST_BLOCKS)
+fi
# ------------------------- #
# Checks for declarations. #
# ------------------------- #
@@ -480,6 +492,16 @@ if test "$gdb_with_regex" = yes; then
[Define to 1 if the regex included in libiberty should be used.])
fi
+# See if <machine/reg.h> degines `struct reg'.
+AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
+[AC_TRY_COMPILE([#include <sys/types.h>
+#include <machine/reg.h>], [struct reg r;],
+gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
+if test $gdb_cv_struct_reg = yes; then
+ AC_DEFINE(HAVE_STRUCT_REG, 1,
+ [Define to 1 if your system has struct reg in <machine/reg.h>.])
+fi
+
# See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
AC_CACHE_CHECK([for r_fs in struct reg], gdb_cv_struct_reg_r_fs,
diff --git a/gdb/configure.tgt b/gdb/configure.tgt
index d150ccfb3b9..f974631569c 100644
--- a/gdb/configure.tgt
+++ b/gdb/configure.tgt
@@ -129,6 +129,7 @@ m68*-*-os68k*) gdb_target=os68k ;;
# OBSOLETE m68*-*-sunos3*) gdb_target=sun3os3 ;;
# OBSOLETE m68*-*-sunos4*) gdb_target=sun3os4 ;;
# OBSOLETE m68*-*-sysv4*) gdb_target=m68kv4 ;;
+m68*-*-uclinux*) gdb_target=monitor ;;
m68*-*-vxworks*) gdb_target=vxworks68 ;;
mcore*-*-*) gdb_target=mcore ;;
@@ -185,26 +186,19 @@ sh*-*-netbsdelf*) gdb_target=nbsd ;;
sh-*-nto*) gdb_target=nto ;;
sh*) gdb_target=embed ;;
-sparc-*-aout*) gdb_target=sparc-em ;;
-sparc-*-coff*) gdb_target=sparc-em ;;
-sparc-*-elf*) gdb_target=sparc-em ;;
sparc-*-linux*) gdb_target=linux ;;
-sparc-*-lynxos*) gdb_target=sparclynx ;;
+sparc64-*-linux*) gdb_target=linux64 ;;
sparc-*-netbsd*) gdb_target=nbsd ;;
-sparc-*-solaris2*) gdb_target=sun4sol2 ;;
-sparc-*-sunos4*) gdb_target=sun4os4 ;;
-sparc-*-sunos5*) gdb_target=sun4sol2 ;;
-sparc-*-vxworks*) gdb_target=vxsparc ;;
-sparc-*-*) gdb_target=sun4os4 ;;
-# It's not clear what the right solution for "v8plus" systems is yet.
-# For now, stick with sparc-sun-solaris2 since that's what config.guess
-# should return. Work is still needed to get gdb to print the 64 bit
-# regs (some of which are usable in v8plus) so sp64sol.mt hasn't been
-# deleted though presumably it should be eventually.
-#sparc64-*-solaris2*) gdb_target=sp64sol2 ;;
-sparc64-*-linux*) gdb_target=sp64linux ;;
sparc64-*-netbsd*) gdb_target=nbsd64 ;;
-sparcv9-*-* | sparc64-*-*) gdb_target=sp64 ;;
+sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
+ gdb_target=sol2
+ ;;
+sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
+ gdb_target=sol2-64
+ ;;
+sparc-*-vxworks*) gdb_target=vxworks ;;
+sparc-*-*) gdb_target=sparc ;;
+sparc64-*-*) gdb_target=sparc64 ;;
xstormy16-*-*) gdb_target=xstormy16 ;;
diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c
index 044b4737d50..a766acb470a 100644
--- a/gdb/cp-namespace.c
+++ b/gdb/cp-namespace.c
@@ -1,5 +1,5 @@
/* Helper routines for C++ support in GDB.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
Contributed by David Carlton and by Kealia, Inc.
@@ -38,14 +38,22 @@
unsigned char processing_has_namespace_info;
-/* If processing_has_namespace_info is nonzero, this string should
- contain the name of the current namespace. The string is
- temporary; copy it if you need it. */
+/* This contains our best guess as to the name of the current
+ enclosing namespace(s)/class(es), if any. For example, if we're
+ within the method foo() in the following code:
-/* FIXME: carlton/2003-06-12: This isn't entirely reliable: currently,
- we get mislead by DW_AT_specification. */
+ namespace N {
+ class C {
+ void foo () {
+ }
+ };
+ }
+
+ then processing_current_prefix should be set to "N::C". If
+ processing_has_namespace_info is false, then this variable might
+ not be reliable. */
-const char *processing_current_namespace;
+const char *processing_current_prefix;
/* List of using directives that are active in the current file. */
@@ -223,8 +231,8 @@ cp_set_block_scope (const struct symbol *symbol,
if (processing_has_namespace_info)
{
block_set_scope
- (block, obsavestring (processing_current_namespace,
- strlen (processing_current_namespace),
+ (block, obsavestring (processing_current_prefix,
+ strlen (processing_current_prefix),
obstack),
obstack);
}
diff --git a/gdb/cp-support.h b/gdb/cp-support.h
index 0e33c14c940..deebb1df28c 100644
--- a/gdb/cp-support.h
+++ b/gdb/cp-support.h
@@ -73,7 +73,7 @@ extern struct type *cp_lookup_rtti_type (const char *name,
extern unsigned char processing_has_namespace_info;
-extern const char *processing_current_namespace;
+extern const char *processing_current_prefix;
extern int cp_is_anonymous (const char *namespace);
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 9bcb50eda32..62a583f0fff 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -2087,6 +2087,7 @@ read_dbx_symtab (struct objfile *objfile)
case N_OBJ: /* useless types from Solaris */
case N_OPT:
+ case N_PATCH:
/* These symbols aren't interesting; don't worry about them */
continue;
@@ -3253,6 +3254,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
/* The following symbol types can be ignored. */
case N_OBJ: /* Solaris 2: Object file dir and name */
+ case N_PATCH: /* Solaris2: Patch Run Time Checker. */
/* N_UNDF: Solaris 2: file separator mark */
/* N_UNDF: -- we will never encounter it, since we only process one
file's symbols at once. */
diff --git a/gdb/defs.h b/gdb/defs.h
index 9db0af2cdc2..443ad6b0937 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -355,7 +355,6 @@ extern void request_quit (int);
extern void do_cleanups (struct cleanup *);
extern void do_final_cleanups (struct cleanup *);
-extern void do_my_cleanups (struct cleanup **, struct cleanup *);
extern void do_run_cleanups (struct cleanup *);
extern void do_exec_cleanups (struct cleanup *);
extern void do_exec_error_cleanups (struct cleanup *);
diff --git a/gdb/disasm.c b/gdb/disasm.c
index 20d0ab3404b..3cde2ea9040 100644
--- a/gdb/disasm.c
+++ b/gdb/disasm.c
@@ -1,6 +1,6 @@
/* Disassemble support for GDB.
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -164,6 +164,8 @@ do_mixed_source_and_assembly (struct ui_out *uiout,
CORE_ADDR pc;
int num_displayed = 0;
struct cleanup *ui_out_chain;
+ struct cleanup *ui_out_tuple_chain = make_cleanup (null_cleanup, 0);
+ struct cleanup *ui_out_list_chain = make_cleanup (null_cleanup, 0);
mle = (struct dis_line_entry *) alloca (nlines
* sizeof (struct dis_line_entry));
@@ -221,10 +223,6 @@ do_mixed_source_and_assembly (struct ui_out *uiout,
for (i = 0; i < newlines; i++)
{
- struct cleanup *ui_out_tuple_chain = NULL;
- struct cleanup *ui_out_list_chain = NULL;
- int close_list = 1;
-
/* Print out everything from next_line to the current line. */
if (mle[i].line >= next_line)
{
@@ -275,23 +273,23 @@ do_mixed_source_and_assembly (struct ui_out *uiout,
next_line = mle[i].line + 1;
ui_out_list_chain
= make_cleanup_ui_out_list_begin_end (uiout, "line_asm_insn");
- /* Don't close the list if the lines are not in order. */
- if (i < (newlines - 1) && mle[i + 1].line <= mle[i].line)
- close_list = 0;
}
num_displayed += dump_insns (uiout, di, mle[i].start_pc, mle[i].end_pc,
how_many, stb);
- if (close_list)
+
+ /* When we've reached the end of the mle array, or we've seen the last
+ assembly range for this source line, close out the list/tuple. */
+ if (i == (newlines - 1) || mle[i + 1].line > mle[i].line)
{
do_cleanups (ui_out_list_chain);
do_cleanups (ui_out_tuple_chain);
+ ui_out_tuple_chain = make_cleanup (null_cleanup, 0);
+ ui_out_list_chain = make_cleanup (null_cleanup, 0);
ui_out_text (uiout, "\n");
- close_list = 0;
}
- if (how_many >= 0)
- if (num_displayed >= how_many)
- break;
+ if (how_many >= 0 && num_displayed >= how_many)
+ break;
}
do_cleanups (ui_out_chain);
}
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 1bd740159dc..6d8fedaec65 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,13 @@
+2004-01-08 Jason Molenda <jmolenda@apple.com>
+ Eli Zaretskii <eliz@is.elta.co.il>
+
+ * gdb.texinfo: Update copyright.
+ (Objective-C): "methodName" typeo fixed. Add @code/@var markup
+ around names, as appropriate. Minor syntax cleanup of
+ _NSPrintForDebugger explanation. Two spaces after periods.
+ GDBN used instead of lit. "gdb". Index entries added for
+ print-object and _NSPrintForDebugger. @noindent added in one spot.
+
2003-11-11 Elena Zannoni <ezannoni@redhat.com>
* stabs.texinfo: Add dircategory and direntry commands.
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index f470800cdce..bc231b4db3d 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -1,6 +1,6 @@
\input texinfo @c -*-texinfo-*-
@c Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998,
-@c 1999, 2000, 2001, 2002, 2003
+@c 1999, 2000, 2001, 2002, 2003, 2004
@c Free Software Foundation, Inc.
@c
@c %**start of header
@@ -52,7 +52,7 @@ This is the @value{EDITION} Edition, of @cite{Debugging with
Version @value{GDBVN}.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998,@*
- 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
@@ -115,7 +115,7 @@ This file describes @value{GDBN}, the @sc{gnu} symbolic debugger.
This is the @value{EDITION} Edition, for @value{GDBN} Version
@value{GDBVN}.
-Copyright (C) 1988-2003 Free Software Foundation, Inc.
+Copyright (C) 1988-2004 Free Software Foundation, Inc.
@menu
* Summary:: Summary of @value{GDBN}
@@ -8482,12 +8482,13 @@ A fully qualified Objective-C method name is specified as
-[@var{Class} @var{methodName}]
@end smallexample
-where the minus sign is used to indicate an instance method and a plus
-sign (not shown) is used to indicate a class method. The
-class name @var{Class} and method name @var{methoName} are enclosed in
-brackets, similar to the way messages are specified in Objective-C source
-code. For example, to set a breakpoint at the @code{create} instance method of
-class @code{Fruit} in the program currently being debugged, enter:
+where the minus sign is used to indicate an instance method and a
+plus sign (not shown) is used to indicate a class method. The class
+name @var{Class} and method name @var{methodName} are enclosed in
+brackets, similar to the way messages are specified in Objective-C
+source code. For example, to set a breakpoint at the @code{create}
+instance method of class @code{Fruit} in the program currently being
+debugged, enter:
@smallexample
break -[Fruit create]
@@ -8500,10 +8501,10 @@ enter:
list +[NSText initialize]
@end smallexample
-In the current version of GDB, the plus or minus sign is required. In
-future versions of GDB, the plus or minus sign will be optional, but you
-can use it to narrow the search. It is also possible to specify just a
-method name:
+In the current version of @value{GDBN}, the plus or minus sign is
+required. In future versions of @value{GDBN}, the plus or minus
+sign will be optional, but you can use it to narrow the search. It
+is also possible to specify just a method name:
@smallexample
break create
@@ -8524,20 +8525,24 @@ clear -[NSWindow makeKeyAndOrderFront:]
@node The Print Command with Objective-C
@subsubsection The Print Command With Objective-C
+@kindex print-object
+@kindex po @r{(@code{print-object})}
-The print command has also been extended to accept methods. For example:
+The print command has also been extended to accept methods. For example:
@smallexample
-print -[object hash]
+print -[@var{object} hash]
@end smallexample
@cindex print an Objective-C object description
-will tell gdb to send the -hash message to object and print the
-result. Also an additional command has been added, @code{print-object}
-or @code{po} for short, which is meant to print the description of an
-object. However, this command may only work with certain Objective-C
-libraries that have a particular hook function, called
-@code{_NSPrintForDebugger} defined.
+@cindex @code{_NSPrintForDebugger}, and printing Objective-C objects
+@noindent
+will tell @value{GDBN} to send the @code{hash} message to @var{object}
+and print the result. Also, an additional command has been added,
+@code{print-object} or @code{po} for short, which is meant to print
+the description of an object. However, this command may only work
+with certain Objective-C libraries that have a particular hook
+function, @code{_NSPrintForDebugger}, defined.
@node Modula-2, , Objective-C, Support
@subsection Modula-2
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
index aed3f3a10d6..84bc1c2d50c 100644
--- a/gdb/dwarf2-frame.c
+++ b/gdb/dwarf2-frame.c
@@ -105,6 +105,7 @@ enum dwarf2_reg_rule
about a register, leaving how to obtain its value totally
unspecified. */
REG_UNSPECIFIED = 0,
+
/* The term "undefined" comes from the DWARF2 CFI spec which this
code is moddeling; it indicates that the register's value is
"undefined". GCC uses the less formal term "unsaved". Its
@@ -115,7 +116,12 @@ enum dwarf2_reg_rule
REG_SAVED_OFFSET,
REG_SAVED_REG,
REG_SAVED_EXP,
- REG_SAME_VALUE
+ REG_SAME_VALUE,
+
+ /* These aren't defined by the DWARF2 CFI specification, but are
+ used internally by GDB. */
+ REG_RA, /* Return Address. */
+ REG_CFA /* Call Frame Address. */
};
struct dwarf2_frame_state
@@ -547,13 +553,43 @@ dwarf2_frame_cache (struct frame_info *next_frame, void **this_cache)
internal_error (__FILE__, __LINE__, "Unknown CFA rule.");
}
- /* Initialize things so that all registers are marked as
- unspecified. */
+ /* Initialize the register rules. If we have a register that acts
+ as a program counter, mark it as a destination for the return
+ address. If we have a register that serves as the stack pointer,
+ arrange for it to be filled with the call frame address (CFA).
+ The other registers are marked as unspecified.
+
+ We copy the return address to the program counter, since many
+ parts in GDB assume that it is possible to get the return address
+ by unwind the program counter register. However, on ISA's with a
+ dedicated return address register, the CFI usually only contains
+ information to unwind that return address register.
+
+ The reason we're treating the stack pointer special here is
+ because in many cases GCC doesn't emit CFI for the stack pointer
+ and implicitly assumes that it is equal to the CFA. This makes
+ some sense since the DWARF specification (version 3, draft 8,
+ p. 102) says that:
+
+ "Typically, the CFA is defined to be the value of the stack
+ pointer at the call site in the previous frame (which may be
+ different from its value on entry to the current frame)."
+
+ However, this isn't true for all platforms supported by GCC
+ (e.g. IBM S/390 and zSeries). For those targets we should
+ override the defaults given here. */
{
int regnum;
for (regnum = 0; regnum < num_regs; regnum++)
- cache->reg[regnum].how = REG_UNSPECIFIED;
+ {
+ if (regnum == PC_REGNUM)
+ cache->reg[regnum].how = REG_RA;
+ else if (regnum == SP_REGNUM)
+ cache->reg[regnum].how = REG_CFA;
+ else
+ cache->reg[regnum].how = REG_UNSPECIFIED;
+ }
}
/* Go through the DWARF2 CFI generated table and save its register
@@ -590,35 +626,33 @@ dwarf2_frame_cache (struct frame_info *next_frame, void **this_cache)
complaint (&symfile_complaints,
"Incomplete CFI data; unspecified registers at 0x%s",
paddr (fs->pc));
-
- cache->reg[regnum] = fs->regs.reg[column];
+ else
+ cache->reg[regnum] = fs->regs.reg[column];
}
}
- /* Store the location of the return addess. If the return address
- column (adjusted) is not the same as GDB's PC_REGNUM, then this
- implies a copy from the return address column register. */
- if (fs->retaddr_column < fs->regs.num_regs
- && fs->regs.reg[fs->retaddr_column].how != REG_UNDEFINED)
- {
- /* See comment above about a possibly negative PC_REGNUM. If
- this assertion fails, it's a problem with this code and not
- the architecture. */
- gdb_assert (PC_REGNUM >= 0);
- cache->reg[PC_REGNUM] = fs->regs.reg[fs->retaddr_column];
- }
- else
- {
- if (DWARF2_REG_TO_REGNUM (fs->retaddr_column) != PC_REGNUM)
- {
- /* See comment above about PC_REGNUM being negative. If
- this assertion fails, it's a problem with this code and
- not the architecture. */
- gdb_assert (PC_REGNUM >= 0);
- cache->reg[PC_REGNUM].loc.reg = fs->retaddr_column;
- cache->reg[PC_REGNUM].how = REG_SAVED_REG;
- }
- }
+ /* Eliminate any REG_RA rules. */
+ {
+ int regnum;
+
+ for (regnum = 0; regnum < num_regs; regnum++)
+ {
+ if (cache->reg[regnum].how == REG_RA)
+ {
+ if (fs->retaddr_column < fs->regs.num_regs)
+ cache->reg[regnum] = fs->regs.reg[fs->retaddr_column];
+ else
+ {
+ /* It turns out that GCC assumes that if the return
+ address column is "empty" the return address can be
+ found in the register corresponding to the return
+ address column. */
+ cache->reg[regnum].loc.reg = fs->retaddr_column;
+ cache->reg[regnum].how = REG_SAVED_REG;
+ }
+ }
+ }
+ }
do_cleanups (old_chain);
@@ -654,42 +688,7 @@ dwarf2_frame_prev_register (struct frame_info *next_frame, void **this_cache,
*lvalp = not_lval;
*addrp = 0;
*realnump = -1;
- if (regnum == SP_REGNUM)
- {
- /* GCC defines the CFA as the value of the stack pointer
- just before the call instruction is executed. Do other
- compilers use the same definition? */
- /* DWARF V3 Draft 7 p102: Typically, the CFA is defined to
- be the value of the stack pointer at the call site in the
- previous frame (which may be different from its value on
- entry to the current frame). */
- /* DWARF V3 Draft 7 p103: The first column of the rules
- defines the rule which computes the CFA value; it may be
- either a register and a signed offset that are added
- together or a DWARF expression that is evaluated. */
- /* FIXME: cagney/2003-07-07: I don't understand this. The
- CFI info should have provided unwind information for the
- SP register and then pointed ->cfa_reg at it, not the
- reverse. Assuming that SP_REGNUM isn't negative, there
- is a very real posibility that CFA is an offset from some
- other register, having nothing to do with the unwound SP
- value. */
- /* FIXME: cagney/2003-09-05: I think I understand. GDB was
- lumping the two states "unspecified" and "undefined"
- together. Here SP_REGNUM was "unspecified", GCC assuming
- that in such a case CFA would be used. This branch of
- the if statement should be deleted - the problem of
- SP_REGNUM is now handed by the case REG_UNSPECIFIED
- below. */
- *optimizedp = 0;
- if (valuep)
- {
- /* Store the value. */
- store_typed_address (valuep, builtin_type_void_data_ptr,
- cache->cfa);
- }
- }
- else if (valuep)
+ if (valuep)
{
/* In some cases, for example %eflags on the i386, we have
to provide a sane value, even though this register wasn't
@@ -740,48 +739,8 @@ dwarf2_frame_prev_register (struct frame_info *next_frame, void **this_cache,
"undefined"). Code above issues a complaint about this.
Here just fudge the books, assume GCC, and that the value is
more inner on the stack. */
- if (SP_REGNUM >= 0 && regnum == SP_REGNUM)
- {
- /* Can things get worse? Yep! One of the registers GCC
- forgot to provide unwind information for was the stack
- pointer. Outch! GCC appears to assumes that the CFA
- address can be used - after all it points to the inner
- most address of the previous frame before the function
- call and that's always the same as the stack pointer on
- return, right? Wrong. See GCC's i386 STDCALL option for
- an ABI that has a different entry and return stack
- pointer. */
- /* DWARF V3 Draft 7 p102: Typically, the CFA is defined to
- be the value of the stack pointer at the call site in the
- previous frame (which may be different from its value on
- entry to the current frame). */
- /* DWARF V3 Draft 7 p103: The first column of the rules
- defines the rule which computes the CFA value; it may be
- either a register and a signed offset that are added
- together or a DWARF expression that is evaluated. */
- /* NOTE: cagney/2003-09-05: Should issue a complaint.
- Unfortunately it turns out that DWARF2 CFI has a problem.
- Since CFI specifies the location at which a register was
- saved (not its value) it isn't possible to specify
- something like "unwound(REG) == REG + constant" using CFI
- as will almost always occure with the stack pointer. I
- guess CFI should be point SP at CFA. Ref: danielj,
- "Describing unsaved stack pointers", posted to dwarf2
- list 2003-08-15. */
- *optimizedp = 0;
- *lvalp = not_lval;
- *addrp = 0;
- *realnump = -1;
- if (valuep)
- /* Store the value. */
- store_typed_address (valuep, builtin_type_void_data_ptr,
- cache->cfa);
- }
- else
- /* Assume that the register can be found in the next inner
- most frame. */
- frame_register_unwind (next_frame, regnum,
- optimizedp, lvalp, addrp, realnump, valuep);
+ frame_register_unwind (next_frame, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
break;
case REG_SAME_VALUE:
@@ -789,6 +748,18 @@ dwarf2_frame_prev_register (struct frame_info *next_frame, void **this_cache,
optimizedp, lvalp, addrp, realnump, valuep);
break;
+ case REG_CFA:
+ *optimizedp = 0;
+ *lvalp = not_lval;
+ *addrp = 0;
+ *realnump = -1;
+ if (valuep)
+ {
+ /* Store the value. */
+ store_typed_address (valuep, builtin_type_void_data_ptr, cache->cfa);
+ }
+ break;
+
default:
internal_error (__FILE__, __LINE__, "Unknown register rule.");
}
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 94951cbaa3d..b3c2be923e1 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -1,5 +1,6 @@
/* DWARF 2 debugging format support for GDB.
- Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2004
Free Software Foundation, Inc.
Adapted by Gary Funck (gary@intrepid.com), Intrepid Technology,
@@ -808,6 +809,9 @@ static void read_common_block (struct die_info *, struct dwarf2_cu *);
static void read_namespace (struct die_info *die, struct dwarf2_cu *);
+static const char *namespace_name (struct die_info *die,
+ int *is_anonymous);
+
static void read_enumeration (struct die_info *, struct dwarf2_cu *);
static struct type *dwarf_base_type (int, int, struct dwarf2_cu *);
@@ -1423,6 +1427,7 @@ add_partial_symbol (struct partial_die_info *pdi,
{
struct objfile *objfile = cu->objfile;
CORE_ADDR addr = 0;
+ char *actual_name = pdi->name;
const struct partial_symbol *psym = NULL;
switch (pdi->tag)
@@ -1430,9 +1435,9 @@ add_partial_symbol (struct partial_die_info *pdi,
case DW_TAG_subprogram:
if (pdi->is_external)
{
- /*prim_record_minimal_symbol (pdi->name, pdi->lowpc + baseaddr,
+ /*prim_record_minimal_symbol (actual_name, pdi->lowpc + baseaddr,
mst_text, objfile); */
- psym = add_psymbol_to_list (pdi->name, strlen (pdi->name),
+ psym = add_psymbol_to_list (actual_name, strlen (actual_name),
VAR_DOMAIN, LOC_BLOCK,
&objfile->global_psymbols,
0, pdi->lowpc + baseaddr,
@@ -1440,9 +1445,9 @@ add_partial_symbol (struct partial_die_info *pdi,
}
else
{
- /*prim_record_minimal_symbol (pdi->name, pdi->lowpc + baseaddr,
+ /*prim_record_minimal_symbol (actual_name, pdi->lowpc + baseaddr,
mst_file_text, objfile); */
- psym = add_psymbol_to_list (pdi->name, strlen (pdi->name),
+ psym = add_psymbol_to_list (actual_name, strlen (actual_name),
VAR_DOMAIN, LOC_BLOCK,
&objfile->static_psymbols,
0, pdi->lowpc + baseaddr,
@@ -1468,7 +1473,7 @@ add_partial_symbol (struct partial_die_info *pdi,
if (pdi->locdesc)
addr = decode_locdesc (pdi->locdesc, cu);
if (pdi->locdesc || pdi->has_type)
- psym = add_psymbol_to_list (pdi->name, strlen (pdi->name),
+ psym = add_psymbol_to_list (actual_name, strlen (actual_name),
VAR_DOMAIN, LOC_STATIC,
&objfile->global_psymbols,
0, addr + baseaddr,
@@ -1480,9 +1485,9 @@ add_partial_symbol (struct partial_die_info *pdi,
if (pdi->locdesc == NULL)
return;
addr = decode_locdesc (pdi->locdesc, cu);
- /*prim_record_minimal_symbol (pdi->name, addr + baseaddr,
+ /*prim_record_minimal_symbol (actual_name, addr + baseaddr,
mst_file_data, objfile); */
- psym = add_psymbol_to_list (pdi->name, strlen (pdi->name),
+ psym = add_psymbol_to_list (actual_name, strlen (actual_name),
VAR_DOMAIN, LOC_STATIC,
&objfile->static_psymbols,
0, addr + baseaddr,
@@ -1491,7 +1496,7 @@ add_partial_symbol (struct partial_die_info *pdi,
break;
case DW_TAG_typedef:
case DW_TAG_base_type:
- add_psymbol_to_list (pdi->name, strlen (pdi->name),
+ add_psymbol_to_list (actual_name, strlen (actual_name),
VAR_DOMAIN, LOC_TYPEDEF,
&objfile->static_psymbols,
0, (CORE_ADDR) 0, cu_language, objfile);
@@ -1504,7 +1509,7 @@ add_partial_symbol (struct partial_die_info *pdi,
references. */
if (pdi->has_children == 0)
return;
- add_psymbol_to_list (pdi->name, strlen (pdi->name),
+ add_psymbol_to_list (actual_name, strlen (actual_name),
STRUCT_DOMAIN, LOC_TYPEDEF,
&objfile->static_psymbols,
0, (CORE_ADDR) 0, cu_language, objfile);
@@ -1512,14 +1517,14 @@ add_partial_symbol (struct partial_die_info *pdi,
if (cu_language == language_cplus)
{
/* For C++, these implicitly act as typedefs as well. */
- add_psymbol_to_list (pdi->name, strlen (pdi->name),
+ add_psymbol_to_list (actual_name, strlen (actual_name),
VAR_DOMAIN, LOC_TYPEDEF,
&objfile->static_psymbols,
0, (CORE_ADDR) 0, cu_language, objfile);
}
break;
case DW_TAG_enumerator:
- add_psymbol_to_list (pdi->name, strlen (pdi->name),
+ add_psymbol_to_list (actual_name, strlen (actual_name),
VAR_DOMAIN, LOC_CONST,
&objfile->static_psymbols,
0, (CORE_ADDR) 0, cu_language, objfile);
@@ -1862,7 +1867,7 @@ process_die (struct die_info *die, struct dwarf2_cu *cu)
if (!processing_has_namespace_info)
{
processing_has_namespace_info = 1;
- processing_current_namespace = "";
+ processing_current_prefix = "";
}
read_namespace (die, cu);
break;
@@ -1877,7 +1882,7 @@ process_die (struct die_info *die, struct dwarf2_cu *cu)
if (!processing_has_namespace_info)
{
processing_has_namespace_info = 1;
- processing_current_namespace = "";
+ processing_current_prefix = "";
}
gdb_assert (die->child == NULL);
break;
@@ -3094,12 +3099,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
{
dwarf2_non_const_array_bound_ignored_complaint
(dwarf_form_name (attr->form));
-#ifdef FORTRAN_HACK
- die->type = lookup_pointer_type (element_type);
- return;
-#else
low = 0;
-#endif
}
}
attr = dwarf_attr (child_die, DW_AT_upper_bound);
@@ -3136,12 +3136,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
{
dwarf2_non_const_array_bound_ignored_complaint
(dwarf_form_name (attr->form));
-#ifdef FORTRAN_HACK
- die->type = lookup_pointer_type (element_type);
- return;
-#else
high = 1;
-#endif
}
}
@@ -3233,45 +3228,30 @@ static void
read_namespace (struct die_info *die, struct dwarf2_cu *cu)
{
struct objfile *objfile = cu->objfile;
- const char *previous_namespace = processing_current_namespace;
+ const char *previous_prefix = processing_current_prefix;
const char *name = NULL;
int is_anonymous;
struct die_info *current_die;
- /* Loop through the extensions until we find a name. */
-
- for (current_die = die;
- current_die != NULL;
- current_die = dwarf2_extension (die))
- {
- name = dwarf2_name (current_die);
- if (name != NULL)
- break;
- }
-
- /* Is it an anonymous namespace? */
-
- is_anonymous = (name == NULL);
- if (is_anonymous)
- name = "(anonymous namespace)";
+ name = namespace_name (die, &is_anonymous);
/* Now build the name of the current namespace. */
- if (previous_namespace[0] == '\0')
+ if (previous_prefix[0] == '\0')
{
- processing_current_namespace = name;
+ processing_current_prefix = name;
}
else
{
- /* We need temp_name around because processing_current_namespace
+ /* We need temp_name around because processing_current_prefix
is a const char *. */
- char *temp_name = alloca (strlen (previous_namespace)
+ char *temp_name = alloca (strlen (previous_prefix)
+ 2 + strlen(name) + 1);
- strcpy (temp_name, previous_namespace);
+ strcpy (temp_name, previous_prefix);
strcat (temp_name, "::");
strcat (temp_name, name);
- processing_current_namespace = temp_name;
+ processing_current_prefix = temp_name;
}
/* Add a symbol associated to this if we haven't seen the namespace
@@ -3285,16 +3265,16 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu)
/* FIXME: carlton/2003-06-27: Once GDB is more const-correct,
this cast will hopefully become unnecessary. */
type = init_type (TYPE_CODE_NAMESPACE, 0, 0,
- (char *) processing_current_namespace,
+ (char *) processing_current_prefix,
objfile);
TYPE_TAG_NAME (type) = TYPE_NAME (type);
new_symbol (die, type, cu);
if (is_anonymous)
- cp_add_using_directive (processing_current_namespace,
- strlen (previous_namespace),
- strlen (processing_current_namespace));
+ cp_add_using_directive (processing_current_prefix,
+ strlen (previous_prefix),
+ strlen (processing_current_prefix));
}
if (die->child != NULL)
@@ -3308,7 +3288,37 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu)
}
}
- processing_current_namespace = previous_namespace;
+ processing_current_prefix = previous_prefix;
+}
+
+/* Return the name of the namespace represented by DIE. Set
+ *IS_ANONYMOUS to tell whether or not the namespace is an anonymous
+ namespace. */
+
+static const char *
+namespace_name (struct die_info *die, int *is_anonymous)
+{
+ struct die_info *current_die;
+ const char *name = NULL;
+
+ /* Loop through the extensions until we find a name. */
+
+ for (current_die = die;
+ current_die != NULL;
+ current_die = dwarf2_extension (die))
+ {
+ name = dwarf2_name (current_die);
+ if (name != NULL)
+ break;
+ }
+
+ /* Is it an anonymous namespace? */
+
+ *is_anonymous = (name == NULL);
+ if (*is_anonymous)
+ name = "(anonymous namespace)";
+
+ return name;
}
/* Extract all information from a DW_TAG_pointer_type DIE and add to
diff --git a/gdb/exec.h b/gdb/exec.h
index e9c2d17bf7a..d0862516c97 100644
--- a/gdb/exec.h
+++ b/gdb/exec.h
@@ -28,7 +28,7 @@ struct section_table;
struct target_ops;
struct bfd;
-struct target_ops exec_ops;
+extern struct target_ops exec_ops;
/* Builds a section table, given args BFD, SECTABLE_PTR, SECEND_PTR.
Returns 0 if OK, 1 on error. */
diff --git a/gdb/frame.c b/gdb/frame.c
index 1d378913fb4..a7da9196b0f 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -1,7 +1,7 @@
/* Cache and manage frames for GDB, the GNU debugger.
Copyright 1986, 1987, 1989, 1991, 1994, 1995, 1996, 1998, 2000,
- 2001, 2002, 2003 Free Software Foundation, Inc.
+ 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -1726,7 +1726,12 @@ legacy_get_prev_frame (struct frame_info *this_frame)
/* Return a structure containing various interesting information
about the frame that called THIS_FRAME. Returns NULL
- if there is no such frame. */
+ if there is no such frame.
+
+ This function tests some target-independent conditions that should
+ terminate the frame chain, such as unwinding past main(). It
+ should not contain any target-dependent tests, such as checking
+ whether the program-counter is zero. */
struct frame_info *
get_prev_frame (struct frame_info *this_frame)
@@ -1943,37 +1948,6 @@ get_prev_frame (struct frame_info *this_frame)
prev_frame = FRAME_OBSTACK_ZALLOC (struct frame_info);
prev_frame->level = this_frame->level + 1;
- /* Try to unwind the PC. If that doesn't work, assume we've reached
- the oldest frame and simply return. Is there a better sentinal
- value? The unwound PC value is then used to initialize the new
- previous frame's type.
-
- Note that the pc-unwind is intentionally performed before the
- frame chain. This is ok since, for old targets, both
- frame_pc_unwind (nee, FRAME_SAVED_PC) and
- DEPRECATED_FRAME_CHAIN()) assume THIS_FRAME's data structures
- have already been initialized (using
- DEPRECATED_INIT_EXTRA_FRAME_INFO) and hence the call order
- doesn't matter.
-
- By unwinding the PC first, it becomes possible to, in the case of
- a dummy frame, avoid also unwinding the frame ID. This is
- because (well ignoring the PPC) a dummy frame can be located
- using THIS_FRAME's frame ID. */
-
- if (frame_pc_unwind (this_frame) == 0)
- {
- /* The allocated PREV_FRAME will be reclaimed when the frame
- obstack is next purged. */
- if (frame_debug)
- {
- fprintf_unfiltered (gdb_stdlog, "-> ");
- fprint_frame (gdb_stdlog, NULL);
- fprintf_unfiltered (gdb_stdlog, " // unwound PC zero }\n");
- }
- return NULL;
- }
-
/* Don't yet compute ->unwind (and hence ->type). It is computed
on-demand in get_frame_type, frame_register_unwind, and
get_frame_id. */
diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c
index fc4df5d65f4..0932ddb541c 100644
--- a/gdb/go32-nat.c
+++ b/gdb/go32-nat.c
@@ -1515,7 +1515,7 @@ go32_sldt (char *arg, int from_tty)
if (ldt_entry < 0
|| (ldt_entry & 4) == 0
|| (ldt_entry & 3) != (cpl & 3))
- error ("Invalid LDT entry 0x%03x.", ldt_entry);
+ error ("Invalid LDT entry 0x%03lx.", (unsigned long)ldt_entry);
}
}
@@ -1553,8 +1553,8 @@ go32_sldt (char *arg, int from_tty)
if (ldt_entry >= 0)
{
if (ldt_entry > limit)
- error ("Invalid LDT entry %#x: outside valid limits [0..%#x]",
- ldt_entry, limit);
+ error ("Invalid LDT entry %#lx: outside valid limits [0..%#x]",
+ (unsigned long)ldt_entry, limit);
display_descriptor (ldt_descr.stype, base, ldt_entry / 8, 1);
}
@@ -1584,8 +1584,8 @@ go32_sgdt (char *arg, int from_tty)
{
gdt_entry = parse_and_eval_long (arg);
if (gdt_entry < 0 || (gdt_entry & 7) != 0)
- error ("Invalid GDT entry 0x%03x: not an integral multiple of 8.",
- gdt_entry);
+ error ("Invalid GDT entry 0x%03lx: not an integral multiple of 8.",
+ (unsigned long)gdt_entry);
}
}
@@ -1595,8 +1595,8 @@ go32_sgdt (char *arg, int from_tty)
if (gdt_entry >= 0)
{
if (gdt_entry > gdtr.limit)
- error ("Invalid GDT entry %#x: outside valid limits [0..%#x]",
- gdt_entry, gdtr.limit);
+ error ("Invalid GDT entry %#lx: outside valid limits [0..%#x]",
+ (unsigned long)gdt_entry, gdtr.limit);
display_descriptor (0, gdtr.base, gdt_entry / 8, 1);
}
@@ -1625,7 +1625,7 @@ go32_sidt (char *arg, int from_tty)
{
idt_entry = parse_and_eval_long (arg);
if (idt_entry < 0)
- error ("Invalid (negative) IDT entry %d.", idt_entry);
+ error ("Invalid (negative) IDT entry %ld.", idt_entry);
}
}
@@ -1637,8 +1637,8 @@ go32_sidt (char *arg, int from_tty)
if (idt_entry >= 0)
{
if (idt_entry > idtr.limit)
- error ("Invalid IDT entry %#x: outside valid limits [0..%#x]",
- idt_entry, idtr.limit);
+ error ("Invalid IDT entry %#lx: outside valid limits [0..%#x]",
+ (unsigned long)idt_entry, idtr.limit);
display_descriptor (1, idtr.base, idt_entry, 1);
}
@@ -1834,7 +1834,7 @@ display_page_table (long n, int force)
static void
go32_pte (char *arg, int from_tty)
{
- long pde_idx = -1, i;
+ long pde_idx = -1L, i;
if (arg && *arg)
{
@@ -1845,7 +1845,7 @@ go32_pte (char *arg, int from_tty)
{
pde_idx = parse_and_eval_long (arg);
if (pde_idx < 0 || pde_idx >= 1024)
- error ("Entry %d is outside valid limits [0..1023].", pde_idx);
+ error ("Entry %ld is outside valid limits [0..1023].", pde_idx);
}
}
diff --git a/gdb/hpread.c b/gdb/hpread.c
index 40875f79377..246f77ec0c5 100644
--- a/gdb/hpread.c
+++ b/gdb/hpread.c
@@ -1,6 +1,6 @@
/* Read hp debug symbols and convert to internal format, for GDB.
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -4160,16 +4160,19 @@ hpread_read_struct_type (dnttpointer hp_type, union dnttentry *dn_bufp,
list->field.name = VT (objfile) + fieldp->dfield.name;
- /* A FIELD by itself (without a GENFIELD) can also be a static member */
- FIELD_STATIC_KIND (list->field) = 0;
+ /* A FIELD by itself (without a GENFIELD) can also be a static
+ member. Mark it as static with a physname of NULL.
+ fix_static_member_physnames will assign the physname later. */
if (fieldp->dfield.staticmem)
{
- FIELD_BITPOS (list->field) = -1;
+ SET_FIELD_PHYSNAME (list->field, NULL);
+ FIELD_BITPOS (list->field) = 0;
FIELD_BITSIZE (list->field) = 0;
}
else
/* Non-static data member */
{
+ FIELD_STATIC_KIND (list->field) = 0;
FIELD_BITPOS (list->field) = fieldp->dfield.bitoffset;
if (fieldp->dfield.bitlength % 8)
FIELD_BITSIZE (list->field) = fieldp->dfield.bitlength;
diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c
index bb161438690..16436615883 100644
--- a/gdb/i386-linux-nat.c
+++ b/gdb/i386-linux-nat.c
@@ -641,6 +641,8 @@ store_inferior_registers (int regno)
}
+/* Support for debug registers. */
+
static unsigned long
i386_linux_dr_get (int regnum)
{
diff --git a/gdb/i386-sol2-tdep.c b/gdb/i386-sol2-tdep.c
index 2aa964e8acf..0da32d5c0e2 100644
--- a/gdb/i386-sol2-tdep.c
+++ b/gdb/i386-sol2-tdep.c
@@ -53,6 +53,20 @@ i386_sol2_pc_in_sigtramp (CORE_ADDR pc, char *name)
return (pc == 0xffffffff);
}
+/* Solaris doesn't have a `struct sigcontext', but it does have a
+ `mcontext_t' that contains the saved set of machine registers. */
+
+static CORE_ADDR
+i386_sol2_mcontext_addr (struct frame_info *next_frame)
+{
+ CORE_ADDR sp, ucontext_addr;
+
+ sp = frame_unwind_register_unsigned (next_frame, I386_ESP_REGNUM);
+ ucontext_addr = get_frame_memory_unsigned (next_frame, sp + 8, 4);
+
+ return ucontext_addr + 36;
+}
+
/* Solaris 2. */
static void
@@ -71,6 +85,10 @@ i386_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->sizeof_gregset = 19 * 4;
tdep->sizeof_fpregset = 380;
+ tdep->sigcontext_addr = i386_sol2_mcontext_addr;
+ tdep->sc_reg_offset = tdep->gregset_reg_offset;
+ tdep->sc_num_regs = tdep->gregset_num_regs;
+
/* Signal trampolines are slightly different from SVR4. */
set_gdbarch_pc_in_sigtramp (gdbarch, i386_sol2_pc_in_sigtramp);
}
diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h
index c261e38c61c..70f6b8fec24 100644
--- a/gdb/i386-tdep.h
+++ b/gdb/i386-tdep.h
@@ -27,6 +27,7 @@ struct frame_info;
struct gdbarch;
struct reggroup;
struct regset;
+struct regcache;
/* GDB's i386 target supports both the 32-bit Intel Architecture
(IA-32) and the 64-bit AMD x86-64 architecture. Internally it uses
@@ -164,6 +165,8 @@ enum i386_regnum
I386_EDI_REGNUM, /* %edi */
I386_EIP_REGNUM, /* %eip */
I386_EFLAGS_REGNUM, /* %eflags */
+ I386_CS_REGNUM, /* %cs */
+ I386_SS_REGNUM, /* %ss */
I386_ST0_REGNUM = 16, /* %st(0) */
};
diff --git a/gdb/i386bsd-tdep.c b/gdb/i386bsd-tdep.c
index 80739cf572d..67d09ee14d7 100644
--- a/gdb/i386bsd-tdep.c
+++ b/gdb/i386bsd-tdep.c
@@ -144,6 +144,15 @@ i386bsd_aout_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
+static enum gdb_osabi
+i386bsd_core_osabi_sniffer (bfd *abfd)
+{
+ if (strcmp (bfd_get_target (abfd), "netbsd-core") == 0)
+ return GDB_OSABI_NETBSD_AOUT;
+
+ return GDB_OSABI_UNKNOWN;
+}
+
/* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_i386bsd_tdep (void);
@@ -153,4 +162,9 @@ _initialize_i386bsd_tdep (void)
{
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_aout_flavour,
i386bsd_aout_osabi_sniffer);
+
+ /* BFD doesn't set the architecture for NetBSD style a.out core
+ files. */
+ gdbarch_register_osabi_sniffer (bfd_arch_unknown, bfd_target_unknown_flavour,
+ i386bsd_core_osabi_sniffer);
}
diff --git a/gdb/i386obsd-tdep.c b/gdb/i386obsd-tdep.c
index a7e944150df..ed7a771a900 100644
--- a/gdb/i386obsd-tdep.c
+++ b/gdb/i386obsd-tdep.c
@@ -1,4 +1,5 @@
/* Target-dependent code for OpenBSD/i386.
+
Copyright 1988, 1989, 1991, 1992, 1994, 1996, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
@@ -23,60 +24,74 @@
#include "arch-utils.h"
#include "gdbcore.h"
#include "regcache.h"
+#include "regset.h"
#include "osabi.h"
+#include "gdb_assert.h"
+#include "gdb_string.h"
+
#include "i386-tdep.h"
#include "i387-tdep.h"
-/* Provide a prototype to silence -Wmissing-prototypes. */
-void _initialize_i386obsd_tdep (void);
-
-#define SIZEOF_STRUCT_REG (16 * 4)
+/* From <machine/reg.h>. */
+static int i386obsd_r_reg_offset[] =
+{
+ 0 * 4, /* %eax */
+ 1 * 4, /* %ecx */
+ 2 * 4, /* %edx */
+ 3 * 4, /* %ebx */
+ 4 * 4, /* %esp */
+ 5 * 4, /* %ebp */
+ 6 * 4, /* %esi */
+ 7 * 4, /* %edi */
+ 8 * 4, /* %eip */
+ 9 * 4, /* %eflags */
+ 10 * 4, /* %cs */
+ 11 * 4, /* %ss */
+ 12 * 4, /* %ds */
+ 13 * 4, /* %es */
+ 14 * 4, /* %fs */
+ 15 * 4 /* %gs */
+};
static void
-i386obsd_supply_reg (char *regs, int regno)
+i386obsd_aout_supply_regset (const struct regset *regset,
+ struct regcache *regcache, int regnum,
+ const void *regs, size_t len)
{
- int i;
+ const struct gdbarch_tdep *tdep = regset->descr;
+
+ gdb_assert (len >= tdep->sizeof_gregset + I387_SIZEOF_FSAVE);
- for (i = 0; i <= 15; i++)
- if (regno == i || regno == -1)
- supply_register (i, regs + i * 4);
+ i386_supply_gregset (regset, regcache, regnum, regs, tdep->sizeof_gregset);
+ i387_supply_fsave (regcache, regnum, (char *) regs + tdep->sizeof_gregset);
}
-static void
-fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which,
- CORE_ADDR ignore)
+const struct regset *
+i386obsd_aout_regset_from_core_section (struct gdbarch *gdbarch,
+ const char *sect_name,
+ size_t sect_size)
{
- char *regs, *fsave;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- /* We get everything from one section. */
- if (which != 0)
- return;
+ /* OpenBSD a.out core dumps don't use seperate register sets for the
+ general-purpose and floating-point registers. */
- if (core_reg_size < (SIZEOF_STRUCT_REG + 108))
+ if (strcmp (sect_name, ".reg") == 0
+ && sect_size >= tdep->sizeof_gregset + I387_SIZEOF_FSAVE)
{
- warning ("Wrong size register set in core file.");
- return;
+ if (tdep->gregset == NULL)
+ {
+ tdep->gregset = XMALLOC (struct regset);
+ tdep->gregset->descr = tdep;
+ tdep->gregset->supply_regset = i386obsd_aout_supply_regset;
+ }
+ return tdep->gregset;
}
- regs = core_reg_sect;
- fsave = core_reg_sect + SIZEOF_STRUCT_REG;
-
- /* Integer registers. */
- i386obsd_supply_reg (regs, -1);
-
- /* Floating point registers. */
- i387_supply_fsave (current_regcache, -1, fsave);
+ return NULL;
}
-static struct core_fns i386obsd_core_fns =
-{
- bfd_target_unknown_flavour, /* core_flavour */
- default_check_format, /* check_format */
- default_core_sniffer, /* core_sniffer */
- fetch_core_registers, /* core_read_registers */
- NULL /* next */
-};
CORE_ADDR i386obsd_sigtramp_start = 0xbfbfdf20;
@@ -111,6 +126,15 @@ i386obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Obviously OpenBSD is BSD-based. */
i386bsd_init_abi (info, gdbarch);
+ /* OpenBSD has a different `struct reg'. */
+ tdep->gregset_reg_offset = i386obsd_r_reg_offset;
+ tdep->gregset_num_regs = ARRAY_SIZE (i386obsd_r_reg_offset);
+ tdep->sizeof_gregset = 16 * 4;
+
+ /* OpenBSD has a single register set. */
+ set_gdbarch_regset_from_core_section
+ (gdbarch, i386obsd_aout_regset_from_core_section);
+
/* OpenBSD uses -freg-struct-return by default. */
tdep->struct_return = reg_struct_return;
@@ -121,14 +145,16 @@ i386obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* OpenBSD has a `struct sigcontext' that's different from the
origional 4.3 BSD. */
tdep->sc_reg_offset = i386obsd_sc_reg_offset;
- tdep->sc_num_regs = I386_NUM_GREGS;
+ tdep->sc_num_regs = ARRAY_SIZE (i386obsd_sc_reg_offset);
}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_i386obsd_tdep (void);
void
_initialize_i386obsd_tdep (void)
{
- add_core_fns (&i386obsd_core_fns);
-
/* FIXME: kettenis/20021020: Since OpenBSD/i386 binaries are
indistingushable from NetBSD/i386 a.out binaries, building a GDB
that should support both these targets will probably not work as
diff --git a/gdb/ia64-linux-tdep.c b/gdb/ia64-linux-tdep.c
index 25902c57000..e465c3249aa 100644
--- a/gdb/ia64-linux-tdep.c
+++ b/gdb/ia64-linux-tdep.c
@@ -1,5 +1,5 @@
/* Target-dependent code for the IA-64 for GDB, the GNU debugger.
- Copyright 2000
+ Copyright 2000, 2004
Free Software Foundation, Inc.
This file is part of GDB.
@@ -29,7 +29,7 @@
overly generous to allow for different pages sizes. */
#define GATE_AREA_START 0xa000000000000100LL
-#define GATE_AREA_END 0xa000000000010000LL
+#define GATE_AREA_END 0xa000000000020000LL
/* Offset to sigcontext structure from frame of handler */
#define IA64_LINUX_SIGCONTEXT_OFFSET 192
diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c
index 88e0e20c072..760a17d1a4f 100644
--- a/gdb/ia64-tdep.c
+++ b/gdb/ia64-tdep.c
@@ -2480,9 +2480,9 @@ ia64_find_proc_info_x (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi,
return -UNW_ENOINFO;
if (gdbarch_debug >= 1)
- fprintf_unfiltered (gdb_stdlog, "%s: %lx -> "
+ fprintf_unfiltered (gdb_stdlog, "ia64_find_proc_info_x: %lx -> "
"(name=`%s',segbase=%lx,start=%lx,end=%lx,gp=%lx,"
- "length=%lu,data=%p)\n", __FUNCTION__,
+ "length=%lu,data=%p)\n",
ip, (char *)di.u.ti.name_ptr,
di.u.ti.segbase, di.start_ip, di.end_ip,
di.gp, di.u.ti.table_len, di.u.ti.table_data);
@@ -2494,9 +2494,9 @@ ia64_find_proc_info_x (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi,
return ret;
if (gdbarch_debug >= 1)
- fprintf_unfiltered (gdb_stdlog, "%s: %lx -> "
+ fprintf_unfiltered (gdb_stdlog, "ia64_find_proc_info_x: %lx -> "
"(name=`%s',segbase=%lx,start=%lx,end=%lx,gp=%lx,"
- "length=%lu,data=%lx)\n", __FUNCTION__,
+ "length=%lu,data=%lx)\n",
ip, (char *)di.u.rti.name_ptr,
di.u.rti.segbase, di.start_ip, di.end_ip,
di.gp, di.u.rti.table_len, di.u.rti.table_data);
@@ -3356,12 +3356,14 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
0, "builtin_type_ia64_ext", NULL);
TYPE_FLOATFORMAT (builtin_type_ia64_ext) = &floatformat_ia64_ext;
- /* According to the ia64 specs, instructions that store long double floats
- in memory use a long-double format different than that used in the floating
- registers. The memory format matches the x86 extended float format which is
- 80 bits. An OS may choose to use this format (e.g. Linux) or choose to use
- a different format for storing long doubles (e.g. HPUX). In the latter case,
- the setting of the format may be moved/overridden in an OS-specific tdep file. */
+ /* According to the ia64 specs, instructions that store long double
+ floats in memory use a long-double format different than that
+ used in the floating registers. The memory format matches the
+ x86 extended float format which is 80 bits. An OS may choose to
+ use this format (e.g. GNU/Linux) or choose to use a different
+ format for storing long doubles (e.g. HPUX). In the latter case,
+ the setting of the format may be moved/overridden in an
+ OS-specific tdep file. */
set_gdbarch_long_double_format (gdbarch, &floatformat_i387_ext);
set_gdbarch_short_bit (gdbarch, 16);
diff --git a/gdb/infrun.c b/gdb/infrun.c
index b16cc62091f..4e615d519e0 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -987,6 +987,7 @@ struct execution_control_state
void init_execution_control_state (struct execution_control_state *ecs);
+static void handle_step_into_function (struct execution_control_state *ecs);
void handle_inferior_event (struct execution_control_state *ecs);
static void check_sigtramp2 (struct execution_control_state *ecs);
@@ -1236,6 +1237,95 @@ pc_in_sigtramp (CORE_ADDR pc)
return PC_IN_SIGTRAMP (pc, name);
}
+/* Handle the inferior event in the cases when we just stepped
+ into a function. */
+
+static void
+handle_step_into_function (struct execution_control_state *ecs)
+{
+ CORE_ADDR real_stop_pc;
+
+ if ((step_over_calls == STEP_OVER_NONE)
+ || ((step_range_end == 1)
+ && in_prologue (prev_pc, ecs->stop_func_start)))
+ {
+ /* I presume that step_over_calls is only 0 when we're
+ supposed to be stepping at the assembly language level
+ ("stepi"). Just stop. */
+ /* Also, maybe we just did a "nexti" inside a prolog,
+ so we thought it was a subroutine call but it was not.
+ Stop as well. FENN */
+ stop_step = 1;
+ print_stop_reason (END_STEPPING_RANGE, 0);
+ stop_stepping (ecs);
+ return;
+ }
+
+ if (step_over_calls == STEP_OVER_ALL || IGNORE_HELPER_CALL (stop_pc))
+ {
+ /* We're doing a "next". */
+
+ if (pc_in_sigtramp (stop_pc)
+ && frame_id_inner (step_frame_id,
+ frame_id_build (read_sp (), 0)))
+ /* We stepped out of a signal handler, and into its
+ calling trampoline. This is misdetected as a
+ subroutine call, but stepping over the signal
+ trampoline isn't such a bad idea. In order to do that,
+ we have to ignore the value in step_frame_id, since
+ that doesn't represent the frame that'll reach when we
+ return from the signal trampoline. Otherwise we'll
+ probably continue to the end of the program. */
+ step_frame_id = null_frame_id;
+
+ step_over_function (ecs);
+ keep_going (ecs);
+ return;
+ }
+
+ /* If we are in a function call trampoline (a stub between
+ the calling routine and the real function), locate the real
+ function. That's what tells us (a) whether we want to step
+ into it at all, and (b) what prologue we want to run to
+ the end of, if we do step into it. */
+ real_stop_pc = skip_language_trampoline (stop_pc);
+ if (real_stop_pc == 0)
+ real_stop_pc = SKIP_TRAMPOLINE_CODE (stop_pc);
+ if (real_stop_pc != 0)
+ ecs->stop_func_start = real_stop_pc;
+
+ /* If we have line number information for the function we
+ are thinking of stepping into, step into it.
+
+ If there are several symtabs at that PC (e.g. with include
+ files), just want to know whether *any* of them have line
+ numbers. find_pc_line handles this. */
+ {
+ struct symtab_and_line tmp_sal;
+
+ tmp_sal = find_pc_line (ecs->stop_func_start, 0);
+ if (tmp_sal.line != 0)
+ {
+ step_into_function (ecs);
+ return;
+ }
+ }
+
+ /* If we have no line number and the step-stop-if-no-debug
+ is set, we stop the step so that the user has a chance to
+ switch in assembly mode. */
+ if (step_over_calls == STEP_OVER_UNDEBUGGABLE && step_stop_if_no_debug)
+ {
+ stop_step = 1;
+ print_stop_reason (END_STEPPING_RANGE, 0);
+ stop_stepping (ecs);
+ return;
+ }
+
+ step_over_function (ecs);
+ keep_going (ecs);
+ return;
+}
/* Given an execution control state that has been freshly filled in
by an event from the inferior, figure out what it means and take
@@ -1244,7 +1334,6 @@ pc_in_sigtramp (CORE_ADDR pc)
void
handle_inferior_event (struct execution_control_state *ecs)
{
- CORE_ADDR real_stop_pc;
/* NOTE: cagney/2003-03-28: If you're looking at this code and
thinking that the variable stepped_after_stopped_by_watchpoint
isn't used, then you're wrong! The macro STOPPED_BY_WATCHPOINT,
@@ -2479,88 +2568,8 @@ process_event_stop_test:
|| ecs->stop_func_name == 0)
{
/* It's a subroutine call. */
-
- if ((step_over_calls == STEP_OVER_NONE)
- || ((step_range_end == 1)
- && in_prologue (prev_pc, ecs->stop_func_start)))
- {
- /* I presume that step_over_calls is only 0 when we're
- supposed to be stepping at the assembly language level
- ("stepi"). Just stop. */
- /* Also, maybe we just did a "nexti" inside a prolog,
- so we thought it was a subroutine call but it was not.
- Stop as well. FENN */
- stop_step = 1;
- print_stop_reason (END_STEPPING_RANGE, 0);
- stop_stepping (ecs);
- return;
- }
-
- if (step_over_calls == STEP_OVER_ALL || IGNORE_HELPER_CALL (stop_pc))
- {
- /* We're doing a "next". */
-
- if (pc_in_sigtramp (stop_pc)
- && frame_id_inner (step_frame_id,
- frame_id_build (read_sp (), 0)))
- /* We stepped out of a signal handler, and into its
- calling trampoline. This is misdetected as a
- subroutine call, but stepping over the signal
- trampoline isn't such a bad idea. In order to do that,
- we have to ignore the value in step_frame_id, since
- that doesn't represent the frame that'll reach when we
- return from the signal trampoline. Otherwise we'll
- probably continue to the end of the program. */
- step_frame_id = null_frame_id;
-
- step_over_function (ecs);
- keep_going (ecs);
- return;
- }
-
- /* If we are in a function call trampoline (a stub between
- the calling routine and the real function), locate the real
- function. That's what tells us (a) whether we want to step
- into it at all, and (b) what prologue we want to run to
- the end of, if we do step into it. */
- real_stop_pc = skip_language_trampoline (stop_pc);
- if (real_stop_pc == 0)
- real_stop_pc = SKIP_TRAMPOLINE_CODE (stop_pc);
- if (real_stop_pc != 0)
- ecs->stop_func_start = real_stop_pc;
-
- /* If we have line number information for the function we
- are thinking of stepping into, step into it.
-
- If there are several symtabs at that PC (e.g. with include
- files), just want to know whether *any* of them have line
- numbers. find_pc_line handles this. */
- {
- struct symtab_and_line tmp_sal;
-
- tmp_sal = find_pc_line (ecs->stop_func_start, 0);
- if (tmp_sal.line != 0)
- {
- step_into_function (ecs);
- return;
- }
- }
-
- /* If we have no line number and the step-stop-if-no-debug
- is set, we stop the step so that the user has a chance to
- switch in assembly mode. */
- if (step_over_calls == STEP_OVER_UNDEBUGGABLE && step_stop_if_no_debug)
- {
- stop_step = 1;
- print_stop_reason (END_STEPPING_RANGE, 0);
- stop_stepping (ecs);
- return;
- }
-
- step_over_function (ecs);
- keep_going (ecs);
+ handle_step_into_function (ecs);
return;
-
}
/* We've wandered out of the step range. */
@@ -2582,7 +2591,7 @@ process_event_stop_test:
if (IN_SOLIB_RETURN_TRAMPOLINE (stop_pc, ecs->stop_func_name))
{
/* Determine where this trampoline returns. */
- real_stop_pc = SKIP_TRAMPOLINE_CODE (stop_pc);
+ CORE_ADDR real_stop_pc = SKIP_TRAMPOLINE_CODE (stop_pc);
/* Only proceed through if we know where it's going. */
if (real_stop_pc)
diff --git a/gdb/jv-valprint.c b/gdb/jv-valprint.c
index 1875eefb495..87152576141 100644
--- a/gdb/jv-valprint.c
+++ b/gdb/jv-valprint.c
@@ -1,5 +1,7 @@
/* Support for printing Java values for GDB, the GNU debugger.
- Copyright 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+
+ Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free
+ Software Foundation, Inc.
This file is part of GDB.
@@ -298,9 +300,6 @@ java_print_value_fields (struct type *type, char *valaddr, CORE_ADDR address,
java_print_value_fields (baseclass, base_valaddr, address + boffset,
stream, format, recurse + 1, pretty);
fputs_filtered (", ", stream);
-
- flush_it:
- ;
}
}
diff --git a/gdb/libunwind-frame.h b/gdb/libunwind-frame.h
index bacdf87a49a..e47a792cc98 100644
--- a/gdb/libunwind-frame.h
+++ b/gdb/libunwind-frame.h
@@ -23,13 +23,14 @@
#ifdef HAVE_LIBUNWIND_H
+struct frame_info;
+struct frame_id;
+
#ifndef LIBUNWIND_FRAME_H
#define LIBUNWIND_FRAME_H 1
#include "libunwind.h"
-struct frame_info;
-
struct libunwind_descr
{
int (*gdb2uw) (int);
diff --git a/gdb/mi/ChangeLog b/gdb/mi/ChangeLog-1999-2003
index 4821597f8d6..4821597f8d6 100644
--- a/gdb/mi/ChangeLog
+++ b/gdb/mi/ChangeLog-1999-2003
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index 2c3e8c27090..fafac66be9d 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -1,7 +1,8 @@
/* Target-dependent code for the MIPS architecture, for GDB, the GNU Debugger.
Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
- 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+ Foundation, Inc.
Contributed by Alessandro Forin(af@cs.cmu.edu) at CMU
and by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin.
@@ -167,14 +168,6 @@ mips_fpa0_regnum (struct gdbarch *gdbarch)
#define MIPS_FPU_TYPE (gdbarch_tdep (current_gdbarch)->mips_fpu_type)
-/* Return the currently configured (or set) saved register size. */
-
-#define MIPS_DEFAULT_SAVED_REGSIZE (gdbarch_tdep (current_gdbarch)->mips_default_saved_regsize)
-
-static const char *mips_saved_regsize_string = size_auto;
-
-#define MIPS_SAVED_REGSIZE (mips_saved_regsize())
-
/* MIPS16 function addresses are odd (bit 0 is set). Here are some
functions to test, set, or clear bit 0 of addresses. */
@@ -240,11 +233,15 @@ mips_regsize (struct gdbarch *gdbarch)
/ gdbarch_bfd_arch_info (gdbarch)->bits_per_byte);
}
+/* Return the currently configured (or set) saved register size. */
+
+static const char *mips_saved_regsize_string = size_auto;
+
static unsigned int
-mips_saved_regsize (void)
+mips_saved_regsize (struct gdbarch_tdep *tdep)
{
if (mips_saved_regsize_string == size_auto)
- return MIPS_DEFAULT_SAVED_REGSIZE;
+ return tdep->mips_default_saved_regsize;
else if (mips_saved_regsize_string == size_64)
return 8;
else /* if (mips_saved_regsize_string == size_32) */
@@ -367,25 +364,19 @@ mips2_fp_compat (void)
different to MIPS_SAVED_REGSIZE as it determines the alignment of
data allocated after the registers have run out. */
-#define MIPS_DEFAULT_STACK_ARGSIZE (gdbarch_tdep (current_gdbarch)->mips_default_stack_argsize)
-
-#define MIPS_STACK_ARGSIZE (mips_stack_argsize ())
-
static const char *mips_stack_argsize_string = size_auto;
static unsigned int
-mips_stack_argsize (void)
+mips_stack_argsize (struct gdbarch_tdep *tdep)
{
if (mips_stack_argsize_string == size_auto)
- return MIPS_DEFAULT_STACK_ARGSIZE;
+ return tdep->mips_default_stack_argsize;
else if (mips_stack_argsize_string == size_64)
return 8;
else /* if (mips_stack_argsize_string == size_32) */
return 4;
}
-#define MIPS_DEFAULT_MASK_ADDRESS_P (gdbarch_tdep (current_gdbarch)->default_mask_address_p)
-
#define VM_MIN_ADDRESS (CORE_ADDR)0x400000
static mips_extra_func_info_t heuristic_proc_desc (CORE_ADDR, CORE_ADDR,
@@ -565,7 +556,7 @@ mips_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
int rawnum = cookednum % NUM_REGS;
gdb_assert (cookednum >= NUM_REGS && cookednum < 2 * NUM_REGS);
if (register_size (gdbarch, rawnum) == register_size (gdbarch, cookednum))
- return regcache_raw_read (regcache, rawnum, buf);
+ regcache_raw_read (regcache, rawnum, buf);
else if (register_size (gdbarch, rawnum) > register_size (gdbarch, cookednum))
{
if (gdbarch_tdep (gdbarch)->mips64_transfers_32bit_regs_p
@@ -585,7 +576,7 @@ mips_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
int rawnum = cookednum % NUM_REGS;
gdb_assert (cookednum >= NUM_REGS && cookednum < 2 * NUM_REGS);
if (register_size (gdbarch, rawnum) == register_size (gdbarch, cookednum))
- return regcache_raw_write (regcache, rawnum, buf);
+ regcache_raw_write (regcache, rawnum, buf);
else if (register_size (gdbarch, rawnum) > register_size (gdbarch, cookednum))
{
if (gdbarch_tdep (gdbarch)->mips64_transfers_32bit_regs_p
@@ -742,7 +733,7 @@ mips_read_sp (void)
enum auto_boolean mask_address_var = AUTO_BOOLEAN_AUTO;
static int
-mips_mask_address_p (void)
+mips_mask_address_p (struct gdbarch_tdep *tdep)
{
switch (mask_address_var)
{
@@ -752,7 +743,7 @@ mips_mask_address_p (void)
return 0;
break;
case AUTO_BOOLEAN_AUTO:
- return MIPS_DEFAULT_MASK_ADDRESS_P;
+ return tdep->default_mask_address_p;
default:
internal_error (__FILE__, __LINE__,
"mips_mask_address_p: bad switch");
@@ -763,6 +754,7 @@ mips_mask_address_p (void)
static void
show_mask_address (char *cmd, int from_tty, struct cmd_list_element *c)
{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
switch (mask_address_var)
{
case AUTO_BOOLEAN_TRUE:
@@ -773,7 +765,7 @@ show_mask_address (char *cmd, int from_tty, struct cmd_list_element *c)
break;
case AUTO_BOOLEAN_AUTO:
printf_filtered ("The 32 bit address mask is set automatically. Currently %s\n",
- mips_mask_address_p () ? "enabled" : "disabled");
+ mips_mask_address_p (tdep) ? "enabled" : "disabled");
break;
default:
internal_error (__FILE__, __LINE__,
@@ -787,7 +779,8 @@ show_mask_address (char *cmd, int from_tty, struct cmd_list_element *c)
static int
mips_eabi_use_struct_convention (int gcc_p, struct type *type)
{
- return (TYPE_LENGTH (type) > 2 * MIPS_SAVED_REGSIZE);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ return (TYPE_LENGTH (type) > 2 * mips_saved_regsize (tdep));
}
/* Should call_function pass struct by reference?
@@ -799,25 +792,14 @@ mips_eabi_reg_struct_has_addr (int gcc_p, struct type *type)
{
enum type_code typecode = TYPE_CODE (check_typedef (type));
int len = TYPE_LENGTH (check_typedef (type));
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
if (typecode == TYPE_CODE_STRUCT || typecode == TYPE_CODE_UNION)
- return (len > MIPS_SAVED_REGSIZE);
+ return (len > mips_saved_regsize (tdep));
return 0;
}
-static int
-mips_n32n64_reg_struct_has_addr (int gcc_p, struct type *type)
-{
- return 0; /* Assumption: N32/N64 never passes struct by ref. */
-}
-
-static int
-mips_o32_reg_struct_has_addr (int gcc_p, struct type *type)
-{
- return 0; /* Assumption: O32/O64 never passes struct by ref. */
-}
-
/* Tell if the program counter value in MEMADDR is in a MIPS16 function. */
static int
@@ -1083,7 +1065,6 @@ mips32_next_pc (CORE_ADDR pc)
case 3: /* BGEZL */
case 17: /* BGEZAL */
case 19: /* BGEZALL */
- greater_equal_branch:
if (read_signed_register (itype_rs (inst)) >= 0)
pc += mips32_relative_offset (inst) + 4;
else
@@ -1129,7 +1110,6 @@ mips32_next_pc (CORE_ADDR pc)
pc += 8;
break;
case 6: /* BLEZ, BLEZL */
- less_zero_branch:
if (read_signed_register (itype_rs (inst) <= 0))
pc += mips32_relative_offset (inst) + 4;
else
@@ -1481,6 +1461,7 @@ mips_find_saved_regs (struct frame_info *fci)
mips_extra_func_info_t proc_desc;
t_inst inst;
CORE_ADDR *saved_regs;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
if (deprecated_get_frame_saved_regs (fci) != NULL)
return;
@@ -1592,7 +1573,7 @@ mips_find_saved_regs (struct frame_info *fci)
if (gen_mask & 0x80000000)
{
set_reg_offset (saved_regs, ireg, reg_position);
- reg_position -= MIPS_SAVED_REGSIZE;
+ reg_position -= mips_saved_regsize (tdep);
}
}
@@ -1613,14 +1594,14 @@ mips_find_saved_regs (struct frame_info *fci)
CORE_ADDR reg_position = (get_frame_base (fci)
+ PROC_REG_OFFSET (proc_desc));
if (inst & 0x20)
- reg_position -= MIPS_SAVED_REGSIZE;
+ reg_position -= mips_saved_regsize (tdep);
/* Check if the s0 and s1 registers were pushed on the
stack. */
for (reg = 16; reg < sreg_count + 16; reg++)
{
set_reg_offset (saved_regs, reg, reg_position);
- reg_position -= MIPS_SAVED_REGSIZE;
+ reg_position -= mips_saved_regsize (tdep);
}
}
}
@@ -1636,7 +1617,8 @@ mips_find_saved_regs (struct frame_info *fci)
for (ireg = MIPS_NUMREGS - 1; float_mask; --ireg, float_mask <<= 1)
if (float_mask & 0x80000000)
{
- if (MIPS_SAVED_REGSIZE == 4 && TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
+ if (mips_saved_regsize (tdep) == 4
+ && TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
{
/* On a big endian 32 bit ABI, floating point registers
are paired to form doubles such that the most
@@ -1662,14 +1644,14 @@ mips_find_saved_regs (struct frame_info *fci)
loop). */
if ((ireg & 1))
set_reg_offset (saved_regs, mips_regnum (current_gdbarch)->fp0 + ireg,
- reg_position - MIPS_SAVED_REGSIZE);
+ reg_position - mips_saved_regsize (tdep));
else
set_reg_offset (saved_regs, mips_regnum (current_gdbarch)->fp0 + ireg,
- reg_position + MIPS_SAVED_REGSIZE);
+ reg_position + mips_saved_regsize (tdep));
}
else
set_reg_offset (saved_regs, mips_regnum (current_gdbarch)->fp0 + ireg, reg_position);
- reg_position -= MIPS_SAVED_REGSIZE;
+ reg_position -= mips_saved_regsize (tdep);
}
set_reg_offset (saved_regs, PC_REGNUM, saved_regs[RA_REGNUM]);
@@ -1706,7 +1688,8 @@ read_next_frame_reg (struct frame_info *fi, int regno)
static CORE_ADDR
mips_addr_bits_remove (CORE_ADDR addr)
{
- if (mips_mask_address_p ()
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ if (mips_mask_address_p (tdep)
&& (((ULONGEST) addr) >> 32 == 0xffffffffUL))
/* This hack is a work-around for existing boards using PMON, the
simulator, and any other 64-bit targets that doesn't have true
@@ -1774,6 +1757,7 @@ static CORE_ADDR
mips_frame_saved_pc (struct frame_info *frame)
{
CORE_ADDR saved_pc;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (frame), 0, 0))
{
@@ -1785,7 +1769,9 @@ mips_frame_saved_pc (struct frame_info *frame)
mips_extra_func_info_t proc_desc
= get_frame_extra_info (frame)->proc_desc;
if (proc_desc && PROC_DESC_IS_DUMMY (proc_desc))
- saved_pc = read_memory_integer (get_frame_base (frame) - MIPS_SAVED_REGSIZE, MIPS_SAVED_REGSIZE);
+ saved_pc = read_memory_integer ((get_frame_base (frame)
+ - mips_saved_regsize (tdep))
+ , mips_saved_regsize (tdep));
else
{
/* We have to get the saved pc from the sigcontext if it is
@@ -1992,6 +1978,7 @@ mips16_heuristic_proc_desc (CORE_ADDR start_pc, CORE_ADDR limit_pc,
unsigned inst = 0; /* current instruction */
unsigned entry_inst = 0; /* the entry instruction */
int reg, offset;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
PROC_FRAME_OFFSET (&temp_proc_desc) = 0; /* size of stack frame */
PROC_FRAME_ADJUST (&temp_proc_desc) = 0; /* offset of FP from SP */
@@ -2097,7 +2084,7 @@ mips16_heuristic_proc_desc (CORE_ADDR start_pc, CORE_ADDR limit_pc,
{
PROC_REG_MASK (&temp_proc_desc) |= 1 << reg;
set_reg_offset (temp_saved_regs, reg, sp + offset);
- offset += MIPS_SAVED_REGSIZE;
+ offset += mips_saved_regsize (tdep);
}
/* Check if the ra register was pushed on the stack. */
@@ -2106,7 +2093,7 @@ mips16_heuristic_proc_desc (CORE_ADDR start_pc, CORE_ADDR limit_pc,
{
PROC_REG_MASK (&temp_proc_desc) |= 1 << RA_REGNUM;
set_reg_offset (temp_saved_regs, RA_REGNUM, sp + offset);
- offset -= MIPS_SAVED_REGSIZE;
+ offset -= mips_saved_regsize (tdep);
}
/* Check if the s0 and s1 registers were pushed on the stack. */
@@ -2114,7 +2101,7 @@ mips16_heuristic_proc_desc (CORE_ADDR start_pc, CORE_ADDR limit_pc,
{
PROC_REG_MASK (&temp_proc_desc) |= 1 << reg;
set_reg_offset (temp_saved_regs, reg, sp + offset);
- offset -= MIPS_SAVED_REGSIZE;
+ offset -= mips_saved_regsize (tdep);
}
}
}
@@ -2729,6 +2716,7 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
int argnum;
int len = 0;
int stack_offset = 0;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
/* For shared libraries, "t9" needs to point at the function
address. */
@@ -2752,7 +2740,7 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
passed in registers, but that's OK. */
for (argnum = 0; argnum < nargs; argnum++)
len += align_up (TYPE_LENGTH (VALUE_TYPE (args[argnum])),
- MIPS_STACK_ARGSIZE);
+ mips_stack_argsize (tdep));
sp -= align_up (len, 16);
if (mips_debug)
@@ -2793,12 +2781,13 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
/* The EABI passes structures that do not fit in a register by
reference. */
- if (len > MIPS_SAVED_REGSIZE
+ if (len > mips_saved_regsize (tdep)
&& (typecode == TYPE_CODE_STRUCT || typecode == TYPE_CODE_UNION))
{
- store_unsigned_integer (valbuf, MIPS_SAVED_REGSIZE, VALUE_ADDRESS (arg));
+ store_unsigned_integer (valbuf, mips_saved_regsize (tdep),
+ VALUE_ADDRESS (arg));
typecode = TYPE_CODE_PTR;
- len = MIPS_SAVED_REGSIZE;
+ len = mips_saved_regsize (tdep);
val = valbuf;
if (mips_debug)
fprintf_unfiltered (gdb_stdlog, " push");
@@ -2875,8 +2864,8 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
in registers where gcc sometimes puts them on the stack.
For maximum compatibility, we will put them in both
places. */
- int odd_sized_struct = ((len > MIPS_SAVED_REGSIZE) &&
- (len % MIPS_SAVED_REGSIZE != 0));
+ int odd_sized_struct = ((len > mips_saved_regsize (tdep))
+ && (len % mips_saved_regsize (tdep) != 0));
/* Note: Floating-point values that didn't fit into an FP
register are only written to memory. */
@@ -2884,8 +2873,8 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
{
/* Remember if the argument was written to the stack. */
int stack_used_p = 0;
- int partial_len =
- len < MIPS_SAVED_REGSIZE ? len : MIPS_SAVED_REGSIZE;
+ int partial_len = (len < mips_saved_regsize (tdep)
+ ? len : mips_saved_regsize (tdep));
if (mips_debug)
fprintf_unfiltered (gdb_stdlog, " -- partial=%d",
@@ -2903,15 +2892,17 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
stack_used_p = 1;
if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
{
- if (MIPS_STACK_ARGSIZE == 8 &&
- (typecode == TYPE_CODE_INT ||
- typecode == TYPE_CODE_PTR ||
- typecode == TYPE_CODE_FLT) && len <= 4)
- longword_offset = MIPS_STACK_ARGSIZE - len;
- else if ((typecode == TYPE_CODE_STRUCT ||
- typecode == TYPE_CODE_UNION) &&
- TYPE_LENGTH (arg_type) < MIPS_STACK_ARGSIZE)
- longword_offset = MIPS_STACK_ARGSIZE - len;
+ if (mips_stack_argsize (tdep) == 8
+ && (typecode == TYPE_CODE_INT
+ || typecode == TYPE_CODE_PTR
+ || typecode == TYPE_CODE_FLT)
+ && len <= 4)
+ longword_offset = mips_stack_argsize (tdep) - len;
+ else if ((typecode == TYPE_CODE_STRUCT
+ || typecode == TYPE_CODE_UNION)
+ && (TYPE_LENGTH (arg_type)
+ < mips_stack_argsize (tdep)))
+ longword_offset = mips_stack_argsize (tdep) - len;
}
if (mips_debug)
@@ -2951,7 +2942,7 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
if (mips_debug)
fprintf_filtered (gdb_stdlog, " - reg=%d val=%s",
argreg,
- phex (regval, MIPS_SAVED_REGSIZE));
+ phex (regval, mips_saved_regsize (tdep)));
write_register (argreg, regval);
argreg++;
}
@@ -2966,7 +2957,8 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
only needs to be adjusted when it has been used. */
if (stack_used_p)
- stack_offset += align_up (partial_len, MIPS_STACK_ARGSIZE);
+ stack_offset += align_up (partial_len,
+ mips_stack_argsize (tdep));
}
}
if (mips_debug)
@@ -2992,6 +2984,7 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
int argnum;
int len = 0;
int stack_offset = 0;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
/* For shared libraries, "t9" needs to point at the function
address. */
@@ -3013,7 +3006,7 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
/* Now make space on the stack for the args. */
for (argnum = 0; argnum < nargs; argnum++)
len += align_up (TYPE_LENGTH (VALUE_TYPE (args[argnum])),
- MIPS_STACK_ARGSIZE);
+ mips_stack_argsize (tdep));
sp -= align_up (len, 16);
if (mips_debug)
@@ -3083,16 +3076,16 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
in registers where gcc sometimes puts them on the stack.
For maximum compatibility, we will put them in both
places. */
- int odd_sized_struct = ((len > MIPS_SAVED_REGSIZE) &&
- (len % MIPS_SAVED_REGSIZE != 0));
+ int odd_sized_struct = ((len > mips_saved_regsize (tdep))
+ && (len % mips_saved_regsize (tdep) != 0));
/* Note: Floating-point values that didn't fit into an FP
register are only written to memory. */
while (len > 0)
{
/* Rememer if the argument was written to the stack. */
int stack_used_p = 0;
- int partial_len = len < MIPS_SAVED_REGSIZE ?
- len : MIPS_SAVED_REGSIZE;
+ int partial_len = (len < mips_saved_regsize (tdep)
+ ? len : mips_saved_regsize (tdep));
if (mips_debug)
fprintf_unfiltered (gdb_stdlog, " -- partial=%d",
@@ -3110,11 +3103,12 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
stack_used_p = 1;
if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
{
- if (MIPS_STACK_ARGSIZE == 8 &&
- (typecode == TYPE_CODE_INT ||
- typecode == TYPE_CODE_PTR ||
- typecode == TYPE_CODE_FLT) && len <= 4)
- longword_offset = MIPS_STACK_ARGSIZE - len;
+ if (mips_stack_argsize (tdep) == 8
+ && (typecode == TYPE_CODE_INT
+ || typecode == TYPE_CODE_PTR
+ || typecode == TYPE_CODE_FLT)
+ && len <= 4)
+ longword_offset = mips_stack_argsize (tdep) - len;
}
if (mips_debug)
@@ -3162,28 +3156,29 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
cagney/2001-07-23: gdb/179: Also, GCC, when
outputting LE O32 with sizeof (struct) <
- MIPS_SAVED_REGSIZE, generates a left shift as
+ mips_saved_regsize(), generates a left shift as
part of storing the argument in a register a
register (the left shift isn't generated when
- sizeof (struct) >= MIPS_SAVED_REGSIZE). Since it
- is quite possible that this is GCC contradicting
- the LE/O32 ABI, GDB has not been adjusted to
- accommodate this. Either someone needs to
- demonstrate that the LE/O32 ABI specifies such a
- left shift OR this new ABI gets identified as
- such and GDB gets tweaked accordingly. */
+ sizeof (struct) >= mips_saved_regsize()). Since
+ it is quite possible that this is GCC
+ contradicting the LE/O32 ABI, GDB has not been
+ adjusted to accommodate this. Either someone
+ needs to demonstrate that the LE/O32 ABI
+ specifies such a left shift OR this new ABI gets
+ identified as such and GDB gets tweaked
+ accordingly. */
if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG
- && partial_len < MIPS_SAVED_REGSIZE
+ && partial_len < mips_saved_regsize (tdep)
&& (typecode == TYPE_CODE_STRUCT ||
typecode == TYPE_CODE_UNION))
- regval <<= ((MIPS_SAVED_REGSIZE - partial_len) *
+ regval <<= ((mips_saved_regsize (tdep) - partial_len) *
TARGET_CHAR_BIT);
if (mips_debug)
fprintf_filtered (gdb_stdlog, " - reg=%d val=%s",
argreg,
- phex (regval, MIPS_SAVED_REGSIZE));
+ phex (regval, mips_saved_regsize (tdep)));
write_register (argreg, regval);
argreg++;
}
@@ -3198,7 +3193,8 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
adjusted when it has been used. */
if (stack_used_p)
- stack_offset += align_up (partial_len, MIPS_STACK_ARGSIZE);
+ stack_offset += align_up (partial_len,
+ mips_stack_argsize (tdep));
}
}
if (mips_debug)
@@ -3224,6 +3220,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
int argnum;
int len = 0;
int stack_offset = 0;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
/* For shared libraries, "t9" needs to point at the function
address. */
@@ -3245,7 +3242,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
/* Now make space on the stack for the args. */
for (argnum = 0; argnum < nargs; argnum++)
len += align_up (TYPE_LENGTH (VALUE_TYPE (args[argnum])),
- MIPS_STACK_ARGSIZE);
+ mips_stack_argsize (tdep));
sp -= align_up (len, 16);
if (mips_debug)
@@ -3265,7 +3262,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
"mips_o32_push_dummy_call: struct_return reg=%d 0x%s\n",
argreg, paddr_nz (struct_addr));
write_register (argreg++, struct_addr);
- stack_offset += MIPS_STACK_ARGSIZE;
+ stack_offset += mips_stack_argsize (tdep);
}
/* Now load as many as possible of the first arguments into
@@ -3362,7 +3359,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
argreg += FP_REGISTER_DOUBLE ? 1 : 2;
}
/* Reserve space for the FP register. */
- stack_offset += align_up (len, MIPS_STACK_ARGSIZE);
+ stack_offset += align_up (len, mips_stack_argsize (tdep));
}
else
{
@@ -3374,11 +3371,11 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
in registers where gcc sometimes puts them on the stack.
For maximum compatibility, we will put them in both
places. */
- int odd_sized_struct = ((len > MIPS_SAVED_REGSIZE) &&
- (len % MIPS_SAVED_REGSIZE != 0));
+ int odd_sized_struct = ((len > mips_saved_regsize (tdep))
+ && (len % mips_saved_regsize (tdep) != 0));
/* Structures should be aligned to eight bytes (even arg registers)
on MIPS_ABI_O32, if their first member has double precision. */
- if (MIPS_SAVED_REGSIZE < 8
+ if (mips_saved_regsize (tdep) < 8
&& mips_type_needs_double_align (arg_type))
{
if ((argreg & 1))
@@ -3390,8 +3387,8 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
{
/* Remember if the argument was written to the stack. */
int stack_used_p = 0;
- int partial_len =
- len < MIPS_SAVED_REGSIZE ? len : MIPS_SAVED_REGSIZE;
+ int partial_len = (len < mips_saved_regsize (tdep)
+ ? len : mips_saved_regsize (tdep));
if (mips_debug)
fprintf_unfiltered (gdb_stdlog, " -- partial=%d",
@@ -3409,11 +3406,12 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
stack_used_p = 1;
if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
{
- if (MIPS_STACK_ARGSIZE == 8 &&
- (typecode == TYPE_CODE_INT ||
- typecode == TYPE_CODE_PTR ||
- typecode == TYPE_CODE_FLT) && len <= 4)
- longword_offset = MIPS_STACK_ARGSIZE - len;
+ if (mips_stack_argsize (tdep) == 8
+ && (typecode == TYPE_CODE_INT
+ || typecode == TYPE_CODE_PTR
+ || typecode == TYPE_CODE_FLT)
+ && len <= 4)
+ longword_offset = mips_stack_argsize (tdep) - len;
}
if (mips_debug)
@@ -3450,7 +3448,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
{
LONGEST regval = extract_signed_integer (val, partial_len);
/* Value may need to be sign extended, because
- mips_regsize() != MIPS_SAVED_REGSIZE. */
+ mips_regsize() != mips_saved_regsize(). */
/* A non-floating-point argument being passed in a
general register. If a struct or union, and if
@@ -3465,29 +3463,30 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
cagney/2001-07-23: gdb/179: Also, GCC, when
outputting LE O32 with sizeof (struct) <
- MIPS_SAVED_REGSIZE, generates a left shift as
+ mips_saved_regsize(), generates a left shift as
part of storing the argument in a register a
register (the left shift isn't generated when
- sizeof (struct) >= MIPS_SAVED_REGSIZE). Since it
- is quite possible that this is GCC contradicting
- the LE/O32 ABI, GDB has not been adjusted to
- accommodate this. Either someone needs to
- demonstrate that the LE/O32 ABI specifies such a
- left shift OR this new ABI gets identified as
- such and GDB gets tweaked accordingly. */
-
- if (MIPS_SAVED_REGSIZE < 8
+ sizeof (struct) >= mips_saved_regsize()). Since
+ it is quite possible that this is GCC
+ contradicting the LE/O32 ABI, GDB has not been
+ adjusted to accommodate this. Either someone
+ needs to demonstrate that the LE/O32 ABI
+ specifies such a left shift OR this new ABI gets
+ identified as such and GDB gets tweaked
+ accordingly. */
+
+ if (mips_saved_regsize (tdep) < 8
&& TARGET_BYTE_ORDER == BFD_ENDIAN_BIG
- && partial_len < MIPS_SAVED_REGSIZE
+ && partial_len < mips_saved_regsize (tdep)
&& (typecode == TYPE_CODE_STRUCT ||
typecode == TYPE_CODE_UNION))
- regval <<= ((MIPS_SAVED_REGSIZE - partial_len) *
+ regval <<= ((mips_saved_regsize (tdep) - partial_len) *
TARGET_CHAR_BIT);
if (mips_debug)
fprintf_filtered (gdb_stdlog, " - reg=%d val=%s",
argreg,
- phex (regval, MIPS_SAVED_REGSIZE));
+ phex (regval, mips_saved_regsize (tdep)));
write_register (argreg, regval);
argreg++;
@@ -3507,7 +3506,8 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
refered to as their "home". Consequently, space is
always allocated. */
- stack_offset += align_up (partial_len, MIPS_STACK_ARGSIZE);
+ stack_offset += align_up (partial_len,
+ mips_stack_argsize (tdep));
}
}
if (mips_debug)
@@ -3533,6 +3533,7 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
int argnum;
int len = 0;
int stack_offset = 0;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
/* For shared libraries, "t9" needs to point at the function
address. */
@@ -3554,7 +3555,7 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
/* Now make space on the stack for the args. */
for (argnum = 0; argnum < nargs; argnum++)
len += align_up (TYPE_LENGTH (VALUE_TYPE (args[argnum])),
- MIPS_STACK_ARGSIZE);
+ mips_stack_argsize (tdep));
sp -= align_up (len, 16);
if (mips_debug)
@@ -3574,7 +3575,7 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
"mips_o64_push_dummy_call: struct_return reg=%d 0x%s\n",
argreg, paddr_nz (struct_addr));
write_register (argreg++, struct_addr);
- stack_offset += MIPS_STACK_ARGSIZE;
+ stack_offset += mips_stack_argsize (tdep);
}
/* Now load as many as possible of the first arguments into
@@ -3671,7 +3672,7 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
argreg += FP_REGISTER_DOUBLE ? 1 : 2;
}
/* Reserve space for the FP register. */
- stack_offset += align_up (len, MIPS_STACK_ARGSIZE);
+ stack_offset += align_up (len, mips_stack_argsize (tdep));
}
else
{
@@ -3683,11 +3684,11 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
in registers where gcc sometimes puts them on the stack.
For maximum compatibility, we will put them in both
places. */
- int odd_sized_struct = ((len > MIPS_SAVED_REGSIZE) &&
- (len % MIPS_SAVED_REGSIZE != 0));
+ int odd_sized_struct = ((len > mips_saved_regsize (tdep))
+ && (len % mips_saved_regsize (tdep) != 0));
/* Structures should be aligned to eight bytes (even arg registers)
on MIPS_ABI_O32, if their first member has double precision. */
- if (MIPS_SAVED_REGSIZE < 8
+ if (mips_saved_regsize (tdep) < 8
&& mips_type_needs_double_align (arg_type))
{
if ((argreg & 1))
@@ -3699,8 +3700,8 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
{
/* Remember if the argument was written to the stack. */
int stack_used_p = 0;
- int partial_len =
- len < MIPS_SAVED_REGSIZE ? len : MIPS_SAVED_REGSIZE;
+ int partial_len = (len < mips_saved_regsize (tdep)
+ ? len : mips_saved_regsize (tdep));
if (mips_debug)
fprintf_unfiltered (gdb_stdlog, " -- partial=%d",
@@ -3718,11 +3719,12 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
stack_used_p = 1;
if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
{
- if (MIPS_STACK_ARGSIZE == 8 &&
- (typecode == TYPE_CODE_INT ||
- typecode == TYPE_CODE_PTR ||
- typecode == TYPE_CODE_FLT) && len <= 4)
- longword_offset = MIPS_STACK_ARGSIZE - len;
+ if (mips_stack_argsize (tdep) == 8
+ && (typecode == TYPE_CODE_INT
+ || typecode == TYPE_CODE_PTR
+ || typecode == TYPE_CODE_FLT)
+ && len <= 4)
+ longword_offset = mips_stack_argsize (tdep) - len;
}
if (mips_debug)
@@ -3759,7 +3761,7 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
{
LONGEST regval = extract_signed_integer (val, partial_len);
/* Value may need to be sign extended, because
- mips_regsize() != MIPS_SAVED_REGSIZE. */
+ mips_regsize() != mips_saved_regsize(). */
/* A non-floating-point argument being passed in a
general register. If a struct or union, and if
@@ -3774,29 +3776,30 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
cagney/2001-07-23: gdb/179: Also, GCC, when
outputting LE O32 with sizeof (struct) <
- MIPS_SAVED_REGSIZE, generates a left shift as
+ mips_saved_regsize(), generates a left shift as
part of storing the argument in a register a
register (the left shift isn't generated when
- sizeof (struct) >= MIPS_SAVED_REGSIZE). Since it
- is quite possible that this is GCC contradicting
- the LE/O32 ABI, GDB has not been adjusted to
- accommodate this. Either someone needs to
- demonstrate that the LE/O32 ABI specifies such a
- left shift OR this new ABI gets identified as
- such and GDB gets tweaked accordingly. */
-
- if (MIPS_SAVED_REGSIZE < 8
+ sizeof (struct) >= mips_saved_regsize()). Since
+ it is quite possible that this is GCC
+ contradicting the LE/O32 ABI, GDB has not been
+ adjusted to accommodate this. Either someone
+ needs to demonstrate that the LE/O32 ABI
+ specifies such a left shift OR this new ABI gets
+ identified as such and GDB gets tweaked
+ accordingly. */
+
+ if (mips_saved_regsize (tdep) < 8
&& TARGET_BYTE_ORDER == BFD_ENDIAN_BIG
- && partial_len < MIPS_SAVED_REGSIZE
+ && partial_len < mips_saved_regsize (tdep)
&& (typecode == TYPE_CODE_STRUCT ||
typecode == TYPE_CODE_UNION))
- regval <<= ((MIPS_SAVED_REGSIZE - partial_len) *
+ regval <<= ((mips_saved_regsize (tdep) - partial_len) *
TARGET_CHAR_BIT);
if (mips_debug)
fprintf_filtered (gdb_stdlog, " - reg=%d val=%s",
argreg,
- phex (regval, MIPS_SAVED_REGSIZE));
+ phex (regval, mips_saved_regsize (tdep)));
write_register (argreg, regval);
argreg++;
@@ -3816,7 +3819,8 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
refered to as their "home". Consequently, space is
always allocated. */
- stack_offset += align_up (partial_len, MIPS_STACK_ARGSIZE);
+ stack_offset += align_up (partial_len,
+ mips_stack_argsize (tdep));
}
}
if (mips_debug)
@@ -3836,6 +3840,7 @@ mips_pop_frame (void)
struct frame_info *frame = get_current_frame ();
CORE_ADDR new_sp = get_frame_base (frame);
mips_extra_func_info_t proc_desc;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (frame), 0, 0))
{
@@ -3851,17 +3856,17 @@ mips_pop_frame (void)
if (regnum != SP_REGNUM && regnum != PC_REGNUM
&& deprecated_get_frame_saved_regs (frame)[regnum])
{
- /* Floating point registers must not be sign extended,
- in case MIPS_SAVED_REGSIZE = 4 but sizeof (FP0_REGNUM) == 8. */
+ /* Floating point registers must not be sign extended, in case
+ mips_saved_regsize() = 4 but sizeof (FP0_REGNUM) == 8. */
if (mips_regnum (current_gdbarch)->fp0 <= regnum && regnum < mips_regnum (current_gdbarch)->fp0 + 32)
write_register (regnum,
read_memory_unsigned_integer (deprecated_get_frame_saved_regs (frame)[regnum],
- MIPS_SAVED_REGSIZE));
+ mips_saved_regsize (tdep)));
else
write_register (regnum,
read_memory_integer (deprecated_get_frame_saved_regs (frame)[regnum],
- MIPS_SAVED_REGSIZE));
+ mips_saved_regsize (tdep)));
}
write_register (SP_REGNUM, new_sp);
@@ -3890,15 +3895,18 @@ mips_pop_frame (void)
xfree (pi_ptr);
write_register (mips_regnum (current_gdbarch)->hi,
- read_memory_integer (new_sp - 2 * MIPS_SAVED_REGSIZE,
- MIPS_SAVED_REGSIZE));
+ read_memory_integer ((new_sp
+ - 2 * mips_saved_regsize (tdep)),
+ mips_saved_regsize (tdep)));
write_register (mips_regnum (current_gdbarch)->lo,
- read_memory_integer (new_sp - 3 * MIPS_SAVED_REGSIZE,
- MIPS_SAVED_REGSIZE));
+ read_memory_integer ((new_sp
+ - 3 * mips_saved_regsize (tdep)),
+ mips_saved_regsize (tdep)));
if (MIPS_FPU_TYPE != MIPS_FPU_NONE)
write_register (mips_regnum (current_gdbarch)->fp_control_status,
- read_memory_integer (new_sp - 4 * MIPS_SAVED_REGSIZE,
- MIPS_SAVED_REGSIZE));
+ read_memory_integer ((new_sp
+ - 4 * mips_saved_regsize (tdep)),
+ mips_saved_regsize (tdep)));
}
}
@@ -4589,6 +4597,7 @@ return_value_location (struct type *valtype,
struct return_value_word *lo)
{
int len = TYPE_LENGTH (valtype);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
if (TYPE_CODE (valtype) == TYPE_CODE_FLT
&& ((MIPS_FPU_TYPE == MIPS_FPU_DOUBLE && (len == 4 || len == 8))
@@ -4633,23 +4642,23 @@ return_value_location (struct type *valtype,
lo->reg = regnum + 0;
hi->reg = regnum + 1;
if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG
- && len < MIPS_SAVED_REGSIZE)
+ && len < mips_saved_regsize (tdep))
{
/* "un-left-justify" the value in the low register */
- lo->reg_offset = MIPS_SAVED_REGSIZE - len;
+ lo->reg_offset = mips_saved_regsize (tdep) - len;
lo->len = len;
hi->reg_offset = 0;
hi->len = 0;
}
else if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG
- && len > MIPS_SAVED_REGSIZE /* odd-size structs */
- && len < MIPS_SAVED_REGSIZE * 2
+ && len > mips_saved_regsize (tdep) /* odd-size structs */
+ && len < mips_saved_regsize (tdep) * 2
&& (TYPE_CODE (valtype) == TYPE_CODE_STRUCT ||
TYPE_CODE (valtype) == TYPE_CODE_UNION))
{
/* "un-left-justify" the value spread across two registers. */
- lo->reg_offset = 2 * MIPS_SAVED_REGSIZE - len;
- lo->len = MIPS_SAVED_REGSIZE - lo->reg_offset;
+ lo->reg_offset = 2 * mips_saved_regsize (tdep) - len;
+ lo->len = mips_saved_regsize (tdep) - lo->reg_offset;
hi->reg_offset = 0;
hi->len = len - lo->len;
}
@@ -4658,10 +4667,10 @@ return_value_location (struct type *valtype,
/* Only perform a partial copy of the second register. */
lo->reg_offset = 0;
hi->reg_offset = 0;
- if (len > MIPS_SAVED_REGSIZE)
+ if (len > mips_saved_regsize (tdep))
{
- lo->len = MIPS_SAVED_REGSIZE;
- hi->len = len - MIPS_SAVED_REGSIZE;
+ lo->len = mips_saved_regsize (tdep);
+ hi->len = len - mips_saved_regsize (tdep);
}
else
{
@@ -4671,7 +4680,7 @@ return_value_location (struct type *valtype,
}
if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG
&& register_size (current_gdbarch, regnum) == 8
- && MIPS_SAVED_REGSIZE == 4)
+ && mips_saved_regsize (tdep) == 4)
{
/* Account for the fact that only the least-signficant part
of the register is being used */
@@ -4899,9 +4908,9 @@ mips_o32_return_value (struct gdbarch *gdbarch, struct type *type,
int regnum;
for (offset = 0, regnum = V0_REGNUM;
offset < TYPE_LENGTH (type);
- offset += mips_stack_argsize (), regnum++)
+ offset += mips_stack_argsize (tdep), regnum++)
{
- int xfer = mips_stack_argsize ();
+ int xfer = mips_stack_argsize (tdep);
int pos = 0;
if (offset + xfer > TYPE_LENGTH (type))
xfer = TYPE_LENGTH (type) - offset;
@@ -4926,7 +4935,7 @@ mips_n32n64_return_value (struct gdbarch *gdbarch,
if (TYPE_CODE (type)== TYPE_CODE_STRUCT
|| TYPE_CODE (type)== TYPE_CODE_UNION
|| TYPE_CODE (type)== TYPE_CODE_ARRAY
- || TYPE_LENGTH (type) > 2 * MIPS_SAVED_REGSIZE)
+ || TYPE_LENGTH (type) > 2 * mips_saved_regsize (tdep))
return RETURN_VALUE_STRUCT_CONVENTION;
else if (TYPE_CODE (type) == TYPE_CODE_FLT
&& tdep->mips_fpu_type != MIPS_FPU_NONE)
@@ -5021,18 +5030,6 @@ mips_n32n64_return_value (struct gdbarch *gdbarch,
}
}
-static CORE_ADDR
-mips_extract_struct_value_address (struct regcache *regcache)
-{
- /* FIXME: This will only work at random. The caller passes the
- struct_return address in V0, but it is not preserved. It may
- still be there, or this may be a random value. */
- LONGEST val;
-
- regcache_cooked_read_signed (regcache, V0_REGNUM, &val);
- return val;
-}
-
/* Exported procedure: Is PC in the signal trampoline code */
static int
@@ -5098,25 +5095,43 @@ set_mipsfpu_command (char *args, int from_tty)
static void
set_mipsfpu_single_command (char *args, int from_tty)
{
+ struct gdbarch_info info;
+ gdbarch_info_init (&info);
mips_fpu_type = MIPS_FPU_SINGLE;
mips_fpu_type_auto = 0;
- gdbarch_tdep (current_gdbarch)->mips_fpu_type = MIPS_FPU_SINGLE;
+ /* FIXME: cagney/2003-11-15: Should be setting a field in "info"
+ instead of relying on globals. Doing that would let generic code
+ handle the search for this specific architecture. */
+ if (!gdbarch_update_p (info))
+ internal_error (__FILE__, __LINE__, "set mipsfpu failed");
}
static void
set_mipsfpu_double_command (char *args, int from_tty)
{
+ struct gdbarch_info info;
+ gdbarch_info_init (&info);
mips_fpu_type = MIPS_FPU_DOUBLE;
mips_fpu_type_auto = 0;
- gdbarch_tdep (current_gdbarch)->mips_fpu_type = MIPS_FPU_DOUBLE;
+ /* FIXME: cagney/2003-11-15: Should be setting a field in "info"
+ instead of relying on globals. Doing that would let generic code
+ handle the search for this specific architecture. */
+ if (!gdbarch_update_p (info))
+ internal_error (__FILE__, __LINE__, "set mipsfpu failed");
}
static void
set_mipsfpu_none_command (char *args, int from_tty)
{
+ struct gdbarch_info info;
+ gdbarch_info_init (&info);
mips_fpu_type = MIPS_FPU_NONE;
mips_fpu_type_auto = 0;
- gdbarch_tdep (current_gdbarch)->mips_fpu_type = MIPS_FPU_NONE;
+ /* FIXME: cagney/2003-11-15: Should be setting a field in "info"
+ instead of relying on globals. Doing that would let generic code
+ handle the search for this specific architecture. */
+ if (!gdbarch_update_p (info))
+ internal_error (__FILE__, __LINE__, "set mipsfpu failed");
}
static void
@@ -5644,61 +5659,65 @@ mips_gdbarch_init (struct gdbarch_info info,
int elf_flags;
enum mips_abi mips_abi, found_abi, wanted_abi;
int num_regs;
+ enum mips_fpu_type fpu_type;
- elf_flags = 0;
-
- if (info.abfd)
- {
- /* First of all, extract the elf_flags, if available. */
- if (bfd_get_flavour (info.abfd) == bfd_target_elf_flavour)
- elf_flags = elf_elfheader (info.abfd)->e_flags;
- }
+ /* First of all, extract the elf_flags, if available. */
+ if (info.abfd && bfd_get_flavour (info.abfd) == bfd_target_elf_flavour)
+ elf_flags = elf_elfheader (info.abfd)->e_flags;
+ else if (arches != NULL)
+ elf_flags = gdbarch_tdep (arches->gdbarch)->elf_flags;
+ else
+ elf_flags = 0;
+ if (gdbarch_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "mips_gdbarch_init: elf_flags = 0x%08x\n",
+ elf_flags);
/* Check ELF_FLAGS to see if it specifies the ABI being used. */
switch ((elf_flags & EF_MIPS_ABI))
{
case E_MIPS_ABI_O32:
- mips_abi = MIPS_ABI_O32;
+ found_abi = MIPS_ABI_O32;
break;
case E_MIPS_ABI_O64:
- mips_abi = MIPS_ABI_O64;
+ found_abi = MIPS_ABI_O64;
break;
case E_MIPS_ABI_EABI32:
- mips_abi = MIPS_ABI_EABI32;
+ found_abi = MIPS_ABI_EABI32;
break;
case E_MIPS_ABI_EABI64:
- mips_abi = MIPS_ABI_EABI64;
+ found_abi = MIPS_ABI_EABI64;
break;
default:
if ((elf_flags & EF_MIPS_ABI2))
- mips_abi = MIPS_ABI_N32;
+ found_abi = MIPS_ABI_N32;
else
- mips_abi = MIPS_ABI_UNKNOWN;
+ found_abi = MIPS_ABI_UNKNOWN;
break;
}
/* GCC creates a pseudo-section whose name describes the ABI. */
- if (mips_abi == MIPS_ABI_UNKNOWN && info.abfd != NULL)
- bfd_map_over_sections (info.abfd, mips_find_abi_section, &mips_abi);
+ if (found_abi == MIPS_ABI_UNKNOWN && info.abfd != NULL)
+ bfd_map_over_sections (info.abfd, mips_find_abi_section, &found_abi);
- /* If we have no bfd, then mips_abi will still be MIPS_ABI_UNKNOWN.
- Use the ABI from the last architecture if there is one. */
- if (info.abfd == NULL && arches != NULL)
- mips_abi = gdbarch_tdep (arches->gdbarch)->found_abi;
+ /* If we have no usefu BFD information, use the ABI from the last
+ MIPS architecture (if there is one). */
+ if (found_abi == MIPS_ABI_UNKNOWN && info.abfd == NULL && arches != NULL)
+ found_abi = gdbarch_tdep (arches->gdbarch)->found_abi;
/* Try the architecture for any hint of the correct ABI. */
- if (mips_abi == MIPS_ABI_UNKNOWN
+ if (found_abi == MIPS_ABI_UNKNOWN
&& info.bfd_arch_info != NULL
&& info.bfd_arch_info->arch == bfd_arch_mips)
{
switch (info.bfd_arch_info->mach)
{
case bfd_mach_mips3900:
- mips_abi = MIPS_ABI_EABI32;
+ found_abi = MIPS_ABI_EABI32;
break;
case bfd_mach_mips4100:
case bfd_mach_mips5000:
- mips_abi = MIPS_ABI_EABI64;
+ found_abi = MIPS_ABI_EABI64;
break;
case bfd_mach_mips8000:
case bfd_mach_mips10000:
@@ -5707,35 +5726,68 @@ mips_gdbarch_init (struct gdbarch_info info,
on IRIX. (Even for executables created by gcc.) */
if (bfd_get_flavour (info.abfd) == bfd_target_elf_flavour
&& elf_elfheader (info.abfd)->e_ident[EI_CLASS] == ELFCLASS64)
- mips_abi = MIPS_ABI_N64;
+ found_abi = MIPS_ABI_N64;
else
- mips_abi = MIPS_ABI_N32;
+ found_abi = MIPS_ABI_N32;
break;
}
}
- if (mips_abi == MIPS_ABI_UNKNOWN)
- mips_abi = MIPS_ABI_O32;
+ if (gdbarch_debug)
+ fprintf_unfiltered (gdb_stdlog, "mips_gdbarch_init: found_abi = %d\n",
+ found_abi);
+
+ /* What has the user specified from the command line? */
+ wanted_abi = global_mips_abi ();
+ if (gdbarch_debug)
+ fprintf_unfiltered (gdb_stdlog, "mips_gdbarch_init: wanted_abi = %d\n",
+ wanted_abi);
/* Now that we have found what the ABI for this binary would be,
check whether the user is overriding it. */
- found_abi = mips_abi;
- wanted_abi = global_mips_abi ();
if (wanted_abi != MIPS_ABI_UNKNOWN)
mips_abi = wanted_abi;
+ else if (found_abi != MIPS_ABI_UNKNOWN)
+ mips_abi = found_abi;
+ else
+ mips_abi = MIPS_ABI_O32;
+ if (gdbarch_debug)
+ fprintf_unfiltered (gdb_stdlog, "mips_gdbarch_init: mips_abi = %d\n",
+ mips_abi);
+ /* Also used when doing an architecture lookup. */
if (gdbarch_debug)
- {
- fprintf_unfiltered (gdb_stdlog,
- "mips_gdbarch_init: elf_flags = 0x%08x\n",
- elf_flags);
- fprintf_unfiltered (gdb_stdlog,
- "mips_gdbarch_init: mips_abi = %d\n",
- mips_abi);
- fprintf_unfiltered (gdb_stdlog,
- "mips_gdbarch_init: found_mips_abi = %d\n",
- found_abi);
- }
+ fprintf_unfiltered (gdb_stdlog,
+ "mips_gdbarch_init: mips64_transfers_32bit_regs_p = %d\n",
+ mips64_transfers_32bit_regs_p);
+
+ /* Determine the MIPS FPU type. */
+ if (!mips_fpu_type_auto)
+ fpu_type = mips_fpu_type;
+ else if (info.bfd_arch_info != NULL
+ && info.bfd_arch_info->arch == bfd_arch_mips)
+ switch (info.bfd_arch_info->mach)
+ {
+ case bfd_mach_mips3900:
+ case bfd_mach_mips4100:
+ case bfd_mach_mips4111:
+ fpu_type = MIPS_FPU_NONE;
+ break;
+ case bfd_mach_mips4650:
+ fpu_type = MIPS_FPU_SINGLE;
+ break;
+ default:
+ fpu_type = MIPS_FPU_DOUBLE;
+ break;
+ }
+ else if (arches != NULL)
+ fpu_type = gdbarch_tdep (arches->gdbarch)->mips_fpu_type;
+ else
+ fpu_type = MIPS_FPU_DOUBLE;
+ if (gdbarch_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "mips_gdbarch_init: fpu_type = %d\n",
+ fpu_type);
/* try to find a pre-existing architecture */
for (arches = gdbarch_list_lookup_by_info (arches, &info);
@@ -5753,6 +5805,9 @@ mips_gdbarch_init (struct gdbarch_info info,
if (gdbarch_tdep (arches->gdbarch)->mips64_transfers_32bit_regs_p
!= mips64_transfers_32bit_regs_p)
continue;
+ /* Be pedantic about which FPU is selected. */
+ if (gdbarch_tdep (arches->gdbarch)->mips_fpu_type != fpu_type)
+ continue;
return arches->gdbarch;
}
@@ -5761,6 +5816,9 @@ mips_gdbarch_init (struct gdbarch_info info,
gdbarch = gdbarch_alloc (&info, tdep);
tdep->elf_flags = elf_flags;
tdep->mips64_transfers_32bit_regs_p = mips64_transfers_32bit_regs_p;
+ tdep->found_abi = found_abi;
+ tdep->mips_abi = mips_abi;
+ tdep->mips_fpu_type = fpu_type;
/* Initially set everything according to the default ABI/ISA. */
set_gdbarch_short_bit (gdbarch, 16);
@@ -5771,17 +5829,15 @@ mips_gdbarch_init (struct gdbarch_info info,
set_gdbarch_register_reggroup_p (gdbarch, mips_register_reggroup_p);
set_gdbarch_pseudo_register_read (gdbarch, mips_pseudo_register_read);
set_gdbarch_pseudo_register_write (gdbarch, mips_pseudo_register_write);
- tdep->found_abi = found_abi;
- tdep->mips_abi = mips_abi;
set_gdbarch_elf_make_msymbol_special (gdbarch,
mips_elf_make_msymbol_special);
- /* Fill in the OS dependant register numbers. */
+ /* Fill in the OS dependant register numbers and names. */
{
+ const char **reg_names;
struct mips_regnum *regnum = GDBARCH_OBSTACK_ZALLOC (gdbarch,
struct mips_regnum);
- tdep->regnum = regnum;
if (info.osabi == GDB_OSABI_IRIX)
{
regnum->fp0 = 32;
@@ -5793,6 +5849,7 @@ mips_gdbarch_init (struct gdbarch_info info,
regnum->fp_control_status = 69;
regnum->fp_implementation_revision = 70;
num_regs = 71;
+ reg_names = mips_irix_reg_names;
}
else
{
@@ -5805,6 +5862,11 @@ mips_gdbarch_init (struct gdbarch_info info,
regnum->fp_control_status = 70;
regnum->fp_implementation_revision = 71;
num_regs = 90;
+ if (info.bfd_arch_info != NULL
+ && info.bfd_arch_info->mach == bfd_mach_mips3900)
+ reg_names = mips_tx39_reg_names;
+ else
+ reg_names = mips_generic_reg_names;
}
/* FIXME: cagney/2003-11-15: For MIPS, hasn't PC_REGNUM been
replaced by read_pc? */
@@ -5812,6 +5874,9 @@ mips_gdbarch_init (struct gdbarch_info info,
set_gdbarch_fp0_regnum (gdbarch, regnum->fp0);
set_gdbarch_num_regs (gdbarch, num_regs);
set_gdbarch_num_pseudo_regs (gdbarch, num_regs);
+ set_gdbarch_register_name (gdbarch, mips_register_name);
+ tdep->mips_processor_reg_names = reg_names;
+ tdep->regnum = regnum;
}
switch (mips_abi)
@@ -5828,8 +5893,6 @@ mips_gdbarch_init (struct gdbarch_info info,
set_gdbarch_long_bit (gdbarch, 32);
set_gdbarch_ptr_bit (gdbarch, 32);
set_gdbarch_long_long_bit (gdbarch, 64);
- set_gdbarch_deprecated_reg_struct_has_addr
- (gdbarch, mips_o32_reg_struct_has_addr);
break;
case MIPS_ABI_O64:
set_gdbarch_push_dummy_call (gdbarch, mips_o64_push_dummy_call);
@@ -5844,8 +5907,6 @@ mips_gdbarch_init (struct gdbarch_info info,
set_gdbarch_long_bit (gdbarch, 32);
set_gdbarch_ptr_bit (gdbarch, 32);
set_gdbarch_long_long_bit (gdbarch, 64);
- set_gdbarch_deprecated_reg_struct_has_addr
- (gdbarch, mips_o32_reg_struct_has_addr);
set_gdbarch_use_struct_convention (gdbarch, always_use_struct_convention);
break;
case MIPS_ABI_EABI32:
@@ -5896,8 +5957,6 @@ mips_gdbarch_init (struct gdbarch_info info,
set_gdbarch_long_bit (gdbarch, 32);
set_gdbarch_ptr_bit (gdbarch, 32);
set_gdbarch_long_long_bit (gdbarch, 64);
- set_gdbarch_deprecated_reg_struct_has_addr
- (gdbarch, mips_n32n64_reg_struct_has_addr);
break;
case MIPS_ABI_N64:
set_gdbarch_push_dummy_call (gdbarch, mips_n32n64_push_dummy_call);
@@ -5911,8 +5970,6 @@ mips_gdbarch_init (struct gdbarch_info info,
set_gdbarch_long_bit (gdbarch, 64);
set_gdbarch_ptr_bit (gdbarch, 64);
set_gdbarch_long_long_bit (gdbarch, 64);
- set_gdbarch_deprecated_reg_struct_has_addr
- (gdbarch, mips_n32n64_reg_struct_has_addr);
break;
default:
internal_error (__FILE__, __LINE__,
@@ -5940,36 +5997,6 @@ mips_gdbarch_init (struct gdbarch_info info,
the current gcc - it would make GDB treat these 64-bit programs
as 32-bit programs by default. */
- /* enable/disable the MIPS FPU */
- if (!mips_fpu_type_auto)
- tdep->mips_fpu_type = mips_fpu_type;
- else if (info.bfd_arch_info != NULL
- && info.bfd_arch_info->arch == bfd_arch_mips)
- switch (info.bfd_arch_info->mach)
- {
- case bfd_mach_mips3900:
- case bfd_mach_mips4100:
- case bfd_mach_mips4111:
- tdep->mips_fpu_type = MIPS_FPU_NONE;
- break;
- case bfd_mach_mips4650:
- tdep->mips_fpu_type = MIPS_FPU_SINGLE;
- break;
- default:
- tdep->mips_fpu_type = MIPS_FPU_DOUBLE;
- break;
- }
- else
- tdep->mips_fpu_type = MIPS_FPU_DOUBLE;
-
- /* MIPS version of register names. */
- set_gdbarch_register_name (gdbarch, mips_register_name);
- if (info.osabi == GDB_OSABI_IRIX)
- tdep->mips_processor_reg_names = mips_irix_reg_names;
- else if (info.bfd_arch_info != NULL && info.bfd_arch_info->mach == bfd_mach_mips3900)
- tdep->mips_processor_reg_names = mips_tx39_reg_names;
- else
- tdep->mips_processor_reg_names = mips_generic_reg_names;
set_gdbarch_read_pc (gdbarch, mips_read_pc);
set_gdbarch_write_pc (gdbarch, generic_target_write_pc);
set_gdbarch_deprecated_target_read_fp (gdbarch, mips_read_sp); /* Draft FRAME base. */
@@ -6043,9 +6070,6 @@ mips_gdbarch_init (struct gdbarch_info info,
/* Hook in OS ABI-specific overrides, if they have been registered. */
gdbarch_init_osabi (info, gdbarch);
- set_gdbarch_extract_struct_value_address (gdbarch,
- mips_extract_struct_value_address);
-
set_gdbarch_skip_trampoline_code (gdbarch, mips_skip_stub);
set_gdbarch_in_solib_call_trampoline (gdbarch, mips_in_call_stub);
@@ -6142,7 +6166,7 @@ mips_dump_tdep (struct gdbarch *current_gdbarch, struct ui_file *file)
mips_abi_strings[tdep->mips_abi]);
fprintf_unfiltered (file,
"mips_dump_tdep: mips_mask_address_p() %d (default %d)\n",
- mips_mask_address_p (),
+ mips_mask_address_p (tdep),
tdep->default_mask_address_p);
}
fprintf_unfiltered (file,
@@ -6166,17 +6190,11 @@ mips_dump_tdep (struct gdbarch *current_gdbarch, struct ui_file *file)
: MIPS_FPU_TYPE == MIPS_FPU_DOUBLE ? "double"
: "???"));
fprintf_unfiltered (file,
- "mips_dump_tdep: MIPS_DEFAULT_SAVED_REGSIZE = %d\n",
- MIPS_DEFAULT_SAVED_REGSIZE);
- fprintf_unfiltered (file,
"mips_dump_tdep: FP_REGISTER_DOUBLE = %d\n",
FP_REGISTER_DOUBLE);
fprintf_unfiltered (file,
- "mips_dump_tdep: MIPS_DEFAULT_STACK_ARGSIZE = %d\n",
- MIPS_DEFAULT_STACK_ARGSIZE);
- fprintf_unfiltered (file,
- "mips_dump_tdep: MIPS_STACK_ARGSIZE = %d\n",
- MIPS_STACK_ARGSIZE);
+ "mips_dump_tdep: mips_stack_argsize() = %d\n",
+ mips_stack_argsize (tdep));
fprintf_unfiltered (file,
"mips_dump_tdep: A0_REGNUM = %d\n",
A0_REGNUM);
@@ -6240,8 +6258,8 @@ mips_dump_tdep (struct gdbarch *current_gdbarch, struct ui_file *file)
"mips_dump_tdep: MIPS_NUMREGS = %d\n",
MIPS_NUMREGS);
fprintf_unfiltered (file,
- "mips_dump_tdep: MIPS_SAVED_REGSIZE = %d\n",
- MIPS_SAVED_REGSIZE);
+ "mips_dump_tdep: mips_saved_regsize() = %d\n",
+ mips_saved_regsize (tdep));
fprintf_unfiltered (file,
"mips_dump_tdep: PRID_REGNUM = %d\n",
PRID_REGNUM);
diff --git a/gdb/op50-rom.c b/gdb/op50-rom.c
deleted file mode 100644
index a256c91455b..00000000000
--- a/gdb/op50-rom.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/* Remote target glue for the Oki op50n based eval board.
-
- Copyright 1995, 1998, 1999, 2000 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "defs.h"
-#include "gdbcore.h"
-#include "target.h"
-#include "monitor.h"
-#include "serial.h"
-
-static void op50n_open (char *args, int from_tty);
-
-/*
- * this array of registers need to match the indexes used by GDB. The
- * whole reason this exists is cause the various ROM monitors use
- * different strings than GDB does, and doesn't support all the
- * registers either. So, typing "info reg sp" becomes a "r30".
- */
-
-static char *op50n_regnames[NUM_REGS] =
-{
- "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
- "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
- "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
- "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31",
- "cr11", "p", NULL, NULL, NULL, "cr15", "cr19", "cr20",
- "cr21", "cr22", NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, "cr0", "cr8", "cr9", "cr10", "cr12",
- "cr13", "cr24", "cr25", "cr26",
-};
-
-/*
- * Define the monitor command strings. Since these are passed directly
- * through to a printf style function, we need can include formatting
- * strings. We also need a CR or LF on the end.
- */
-
-static struct target_ops op50n_ops;
-
-static char *op50n_inits[] =
-{".\r", NULL};
-
-static struct monitor_ops op50n_cmds;
-
-static void
-init_op50n_cmds (void)
-{
- op50n_cmds.flags = MO_CLR_BREAK_USES_ADDR /*| MO_GETMEM_READ_SINGLE */ ; /* flags */
- op50n_cmds.init = op50n_inits; /* Init strings */
- op50n_cmds.cont = "g\r"; /* continue command */
- op50n_cmds.step = "t\r"; /* single step */
- op50n_cmds.stop = "\003.\r"; /* Interrupt char */
- op50n_cmds.set_break = "b %x\r"; /* set a breakpoint */
- op50n_cmds.clr_break = "b %x;0\r"; /* clear breakpoint at addr */
- op50n_cmds.clr_all_break = "bx\r"; /* clear all breakpoints */
- op50n_cmds.fill = "fx %x s%x %x\r"; /* memory fill cmd (addr, len, val) */
- op50n_cmds.setmem.cmdb = "sx %x %x\r"; /* setmem.cmdb (addr, value) */
- op50n_cmds.setmem.cmdw = "sh %x %x\r"; /* setmem.cmdw (addr, value) */
- op50n_cmds.setmem.cmdl = "s %x %x\r"; /* setmem.cmdl (addr, value) */
- op50n_cmds.setmem.cmdll = NULL; /* setmem.cmdll (addr, value) */
- op50n_cmds.setmem.resp_delim = NULL; /* setmem.resp_delim */
- op50n_cmds.setmem.term = NULL; /* setmem.term */
- op50n_cmds.setmem.term_cmd = NULL; /* setmem.term_cmd */
-#if 0
- {
- "sx %x\r", /* getmem.cmdb (addr, len) */
- "sh %x\r", /* getmem.cmdw (addr, len) */
- "s %x\r", /* getmem.cmdl (addr, len) */
- NULL, /* getmem.cmdll (addr, len) */
- " : ", /* getmem.resp_delim */
- " ", /* getmem.term */
- ".\r", /* getmem.term_cmd */
- };
-#else
- op50n_cmds.getmem.cmdb = "dx %x s%x\r"; /* getmem.cmdb (addr, len) */
- op50n_cmds.getmem.cmdw = NULL; /* getmem.cmdw (addr, len) */
- op50n_cmds.getmem.cmdl = NULL; /* getmem.cmdl (addr, len) */
- op50n_cmds.getmem.cmdll = NULL; /* getmem.cmdll (addr, len) */
- op50n_cmds.getmem.resp_delim = " : "; /* getmem.resp_delim */
- op50n_cmds.getmem.term = NULL; /* getmem.term */
- op50n_cmds.getmem.term_cmd = NULL; /* getmem.term_cmd */
-#endif
- op50n_cmds.setreg.cmd = "x %s %x\r"; /* setreg.cmd (name, value) */
- op50n_cmds.setreg.resp_delim = NULL; /* setreg.resp_delim */
- op50n_cmds.setreg.term = NULL; /* setreg.term */
- op50n_cmds.setreg.term_cmd = NULL; /* setreg.term_cmd */
- op50n_cmds.getreg.cmd = "x %s\r"; /* getreg.cmd (name) */
- op50n_cmds.getreg.resp_delim = "="; /* getreg.resp_delim */
- op50n_cmds.getreg.term = " "; /* getreg.term */
- op50n_cmds.getreg.term_cmd = ".\r"; /* getreg.term_cmd */
- op50n_cmds.dump_registers = NULL; /* dump_registers */
- op50n_cmds.register_pattern = NULL; /* register_pattern */
- op50n_cmds.supply_register = NULL; /* supply_register */
- op50n_cmds.load_routine = NULL; /* load routine */
- op50n_cmds.load = "r 0\r"; /* download command */
- op50n_cmds.loadresp = NULL; /* load response */
- op50n_cmds.prompt = "\n#"; /* monitor command prompt */
- op50n_cmds.line_term = "\r"; /* end-of-command delimitor */
- op50n_cmds.cmd_end = NULL; /* optional command terminator */
- op50n_cmds.target = &op50n_ops; /* target operations */
- op50n_cmds.stopbits = SERIAL_1_STOPBITS; /* number of stop bits */
- op50n_cmds.regnames = op50n_regnames; /* register names */
- op50n_cmds.magic = MONITOR_OPS_MAGIC; /* magic */
-};
-
-static void
-op50n_open (char *args, int from_tty)
-{
- monitor_open (args, &op50n_cmds, from_tty);
-}
-
-void
-_initialize_op50n (void)
-{
- init_op50n_cmds ();
- init_monitor_ops (&op50n_ops);
-
- op50n_ops.to_shortname = "op50n";
- op50n_ops.to_longname = "Oki's debug monitor for the Op50n Eval board";
- op50n_ops.to_doc = "Debug on a Oki OP50N eval board.\n\
-Specify the serial device it is connected to (e.g. /dev/ttya).";
- op50n_ops.to_open = op50n_open;
-
- add_target (&op50n_ops);
-}
diff --git a/gdb/regformats/reg-x86-64.dat b/gdb/regformats/reg-x86-64.dat
index 59ebbf5267e..dd1f78fa71b 100644
--- a/gdb/regformats/reg-x86-64.dat
+++ b/gdb/regformats/reg-x86-64.dat
@@ -18,6 +18,8 @@ expedite:rbp,rsp,rip
64:r15
64:rip
32:eflags
+32:cs
+32:ss
32:ds
32:es
32:fs
diff --git a/gdb/remote-fileio.c b/gdb/remote-fileio.c
index fd57617acd5..ead40f04783 100644
--- a/gdb/remote-fileio.c
+++ b/gdb/remote-fileio.c
@@ -411,7 +411,16 @@ remote_fileio_to_fio_stat (struct stat *st, struct fio_stat *fst)
remote_fileio_to_fio_uint ((long) st->st_rdev, fst->fst_rdev);
remote_fileio_to_fio_ulong ((LONGEST) st->st_size, fst->fst_size);
remote_fileio_to_fio_ulong ((LONGEST) st->st_blksize, fst->fst_blksize);
+#if HAVE_STRUCT_STAT_ST_BLOCKS
remote_fileio_to_fio_ulong ((LONGEST) st->st_blocks, fst->fst_blocks);
+#else
+ /* FIXME: This is correct for DJGPP, but other systems that don't
+ have st_blocks, if any, might prefer 512 instead of st_blksize.
+ (eliz, 30-12-2003) */
+ remote_fileio_to_fio_ulong (((LONGEST) st->st_size + st->st_blksize - 1)
+ / (LONGEST) st->st_blksize,
+ fst->fst_blocks);
+#endif
remote_fileio_to_fio_time (st->st_atime, fst->fst_atime);
remote_fileio_to_fio_time (st->st_mtime, fst->fst_mtime);
remote_fileio_to_fio_time (st->st_ctime, fst->fst_ctime);
@@ -1131,7 +1140,9 @@ remote_fileio_func_fstat (char *buf)
st.st_rdev = 0;
st.st_size = 0;
st.st_blksize = 512;
+#if HAVE_STRUCT_STAT_ST_BLOCKS
st.st_blocks = 0;
+#endif
if (!gettimeofday (&tv, NULL))
st.st_atime = st.st_mtime = st.st_ctime = tv.tv_sec;
else
diff --git a/gdb/remote-vxsparc.c b/gdb/remote-vxsparc.c
index d313c8f133b..118e5173e13 100644
--- a/gdb/remote-vxsparc.c
+++ b/gdb/remote-vxsparc.c
@@ -1,5 +1,4 @@
-/* sparc-dependent portions of the RPC protocol
- used with a VxWorks target
+/* SPARC-specific portions of the RPC protocol for VxWorks.
Contributed by Wind River Systems.
@@ -20,179 +19,110 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#include <stdio.h>
#include "defs.h"
-
-#include "vx-share/regPacket.h"
-#include "frame.h"
-#include "inferior.h"
-#include "target.h"
-#include "gdbcore.h"
-#include "command.h"
-#include "symtab.h"
-#include "symfile.h"
#include "regcache.h"
#include "gdb_string.h"
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/socket.h>
-
-#ifdef _AIX /* IBM claims "void *malloc()" not char * */
-#define malloc bogon_malloc
-#endif
-
-#include <rpc/rpc.h>
-#include <sys/time.h> /* UTek's <rpc/rpc.h> doesn't #incl this */
-#include <netdb.h>
-#include "vx-share/ptrace.h"
-#include "vx-share/xdr_ptrace.h"
-#include "vx-share/xdr_ld.h"
-#include "vx-share/xdr_rdb.h"
-#include "vx-share/dbgRpcLib.h"
-/* get rid of value.h if possible */
-#include <value.h>
-#include <symtab.h>
+#include "sparc-tdep.h"
-/* Flag set if target has fpu */
+#include "vx-share/ptrace.h"
+#include "vx-share/regPacket.h"
-extern int target_has_fp;
+#define SPARC_R_G1 (SPARC_R_G0 + SPARC_GREG_SIZE)
-/* sparc floating point format descriptor, from "sparc-tdep.c." */
+const struct sparc_gregset vxsparc_gregset =
+{
+ SPARC_R_PSR, /* %psr */
+ SPARC_R_PC, /* %pc */
+ SPARC_R_NPC, /* %npc */
+ SPARC_R_Y, /* %y */
+ SPARC_R_WIM, /* %wim */
+ SPARC_R_TBR, /* %tbr */
+ SPARC_R_G1, /* %g1 */
+ SPARC_R_I0 /* %l0 */
+};
+
+/* Flag set if target has an FPU. */
-extern struct ext_format ext_format_sparc;
+extern int target_has_fp;
/* Generic register read/write routines in remote-vx.c. */
extern void net_read_registers ();
extern void net_write_registers ();
-/* Read a register or registers from the VxWorks target.
- REGNO is the register to read, or -1 for all; currently,
- it is ignored. FIXME look at regno to improve efficiency. */
+/* Read a register or registers from the VxWorks target. REGNUM is
+ the register to read, or -1 for all; currently, it is ignored.
+ FIXME: Look at REGNUM to improve efficiency. */
void
-vx_read_register (int regno)
+vx_read_register (int regnum)
{
- char sparc_greg_packet[SPARC_GREG_PLEN];
- char sparc_fpreg_packet[SPARC_FPREG_PLEN];
+ struct regcache *regcache = current_regcache;
+ char gregs[SPARC_GREG_PLEN];
+ char fpregs[SPARC_FPREG_PLEN];
CORE_ADDR sp;
- /* Get general-purpose registers. When copying values into
- registers [], don't assume that a location in registers []
- is properly aligned for the target data type. */
-
- net_read_registers (sparc_greg_packet, SPARC_GREG_PLEN, PTRACE_GETREGS);
-
- /* Now copy the register values into registers[].
- Note that this code depends on the ordering of the REGNUMs
- as defined in "tm-sparc.h". */
-
- bcopy (&sparc_greg_packet[SPARC_R_G0],
- &deprecated_registers[DEPRECATED_REGISTER_BYTE (G0_REGNUM)],
- 32 * SPARC_GREG_SIZE);
- bcopy (&sparc_greg_packet[SPARC_R_Y],
- &deprecated_registers[DEPRECATED_REGISTER_BYTE (Y_REGNUM)], 6 * SPARC_GREG_SIZE);
-
- /* Now write the local and in registers to the register window spill
- area in the frame. VxWorks does not do this for the active frame
- automatically; it greatly simplifies debugging. */
-
- sp = extract_unsigned_integer (&deprecated_registers[DEPRECATED_REGISTER_BYTE (SP_REGNUM)],
- DEPRECATED_REGISTER_RAW_SIZE (SP_REGNUM));
- write_memory (sp, &deprecated_registers[DEPRECATED_REGISTER_BYTE (L0_REGNUM)],
- 16 * DEPRECATED_REGISTER_RAW_SIZE (L0_REGNUM));
-
- /* If the target has floating point registers, fetch them.
- Otherwise, zero the floating point register values in
- registers[] for good measure, even though we might not
- need to. */
+ /* Get the general-purpose registers. */
+ net_read_registers (gregs, SPARC_GREG_PLEN, PTRACE_GETREGS);
+ sparc32_supply_gregset (&vxsparc_gregset, regcache, -1, gregs);
+ /* If the target has floating-point registers, fetch them.
+ Otherwise, zero the floating-point register values in GDB's
+ register cache for good measure, even though we might not need
+ to. */
if (target_has_fp)
- {
- net_read_registers (sparc_fpreg_packet, SPARC_FPREG_PLEN,
- PTRACE_GETFPREGS);
- bcopy (&sparc_fpreg_packet[SPARC_R_FP0],
- &deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)],
- 32 * SPARC_FPREG_SIZE);
- bcopy (&sparc_fpreg_packet[SPARC_R_FSR],
- &deprecated_registers[DEPRECATED_REGISTER_BYTE (FPS_REGNUM)],
- 1 * SPARC_FPREG_SIZE);
- }
+ net_read_registers (fpregs, SPARC_FPREG_PLEN, PTRACE_GETFPREGS);
else
- {
- memset (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)],
- 0, 32 * SPARC_FPREG_SIZE);
- memset (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FPS_REGNUM)],
- 0, 1 * SPARC_FPREG_SIZE);
- }
-
- /* Mark the register cache valid. */
-
- deprecated_registers_fetched ();
+ memset (fpregs, 0, SPARC_FPREG_PLEN);
+ sparc32_supply_fpregset (regcache, -1, fpregs);
}
-/* Store a register or registers into the VxWorks target.
- REGNO is the register to store, or -1 for all; currently,
- it is ignored. FIXME look at regno to improve efficiency. */
+/* Store a register or registers into the VxWorks target. REGNUM is
+ the register to store, or -1 for all; currently, it is ignored.
+ FIXME: Look at REGNUM to improve efficiency. */
void
-vx_write_register (int regno)
+vx_write_register (int regnum)
{
- char sparc_greg_packet[SPARC_GREG_PLEN];
- char sparc_fpreg_packet[SPARC_FPREG_PLEN];
- int in_gp_regs;
- int in_fp_regs;
+ struct regcache *regcache = current_regcache;
+ char gregs[SPARC_GREG_PLEN];
+ char fpregs[SPARC_FPREG_PLEN];
+ int gregs_p = 1;
+ int fpregs_p = 1;
CORE_ADDR sp;
- /* Store general purpose registers. When copying values from
- registers [], don't assume that a location in registers []
- is properly aligned for the target data type. */
-
- in_gp_regs = 1;
- in_fp_regs = 1;
- if (regno >= 0)
+ if (regnum != -1)
{
- if ((G0_REGNUM <= regno && regno <= I7_REGNUM)
- || (Y_REGNUM <= regno && regno <= DEPRECATED_NPC_REGNUM))
- in_fp_regs = 0;
+ if ((SPARC_G0_REGNUM <= regnum && regnum <= SPARC_I7_REGNUM)
+ || (SPARC32_Y_REGNUM <= regnum && regnum <= SPARC32_NPC_REGNUM))
+ fpregs_p = 0;
else
- in_gp_regs = 0;
+ gregs_p = 0;
}
- if (in_gp_regs)
- {
- bcopy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (G0_REGNUM)],
- &sparc_greg_packet[SPARC_R_G0], 32 * SPARC_GREG_SIZE);
- bcopy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (Y_REGNUM)],
- &sparc_greg_packet[SPARC_R_Y], 6 * SPARC_GREG_SIZE);
-
- net_write_registers (sparc_greg_packet, SPARC_GREG_PLEN, PTRACE_SETREGS);
- /* If this is a local or in register, or we're storing all
- registers, update the register window spill area. */
+ /* Store the general-purpose registers. */
+ if (gregs_p)
+ {
+ sparc32_collect_gregset (&vxsparc_gregset, regcache, -1, gregs);
+ net_write_registers (gregs, SPARC_GREG_PLEN, PTRACE_SETREGS);
- if (regno < 0 || (L0_REGNUM <= regno && regno <= I7_REGNUM))
+ /* Deal with the stack regs. */
+ if (regnum == -1 || regnum == SPARC_SP_REGNUM
+ || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM))
{
- sp = extract_unsigned_integer (&deprecated_registers[DEPRECATED_REGISTER_BYTE (SP_REGNUM)],
- DEPRECATED_REGISTER_RAW_SIZE (SP_REGNUM));
- write_memory (sp, &deprecated_registers[DEPRECATED_REGISTER_BYTE (L0_REGNUM)],
- 16 * DEPRECATED_REGISTER_RAW_SIZE (L0_REGNUM));
+ ULONGEST sp;
+
+ regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM, &sp);
+ sparc_collect_rwindow (regcache, sp, regnum);
}
}
- /* Store floating point registers if the target has them. */
-
- if (in_fp_regs && target_has_fp)
+ /* Store the floating-point registers if the target has them. */
+ if (fpregs_p && target_has_fp)
{
- bcopy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)],
- &sparc_fpreg_packet[SPARC_R_FP0], 32 * SPARC_FPREG_SIZE);
- bcopy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FPS_REGNUM)],
- &sparc_fpreg_packet[SPARC_R_FSR], 1 * SPARC_FPREG_SIZE);
-
- net_write_registers (sparc_fpreg_packet, SPARC_FPREG_PLEN,
- PTRACE_SETFPREGS);
+ sparc32_collect_fpregset (regcache, -1, fpregs);
+ net_write_registers (fpregs, SPARC_FPREG_PLEN, PTRACE_SETFPREGS);
}
}
diff --git a/gdb/ser-unix.c b/gdb/ser-unix.c
index e7a5d93cef5..38b6716d2ee 100644
--- a/gdb/ser-unix.c
+++ b/gdb/ser-unix.c
@@ -1,6 +1,7 @@
/* Serial interface for local (hardwired) serial ports on Un*x like systems
- Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
- Free Software Foundation, Inc.
+
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+ 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -1324,7 +1325,7 @@ ser_unix_async (struct serial *scb,
case FD_SCHEDULED:
delete_file_handler (scb->fd);
break;
- NOTHING_SCHEDULED:
+ case NOTHING_SCHEDULED:
break;
default: /* TIMER SCHEDULED */
delete_timer (scb->async_state);
diff --git a/gdb/sparc-linux-nat.c b/gdb/sparc-linux-nat.c
deleted file mode 100644
index f43cb593b20..00000000000
--- a/gdb/sparc-linux-nat.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Native-dependent code for GNU/Linux SPARC.
-
- Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "defs.h"
-#include "regcache.h"
-#include "sparc-tdep.h"
-
-#include <sys/procfs.h>
-
-/* Prototypes for supply_gregset etc. */
-#include "gregset.h"
-
-void
-supply_gregset (elf_gregset_t *gregsetp)
-{
- elf_greg_t *regp = (elf_greg_t *) gregsetp;
- int i;
-
- for (i = G0_REGNUM; i <= I7_REGNUM; i++)
- supply_register (i, (char *) (regp + (i - G0_REGNUM)));
-
- supply_register (PS_REGNUM, (char *) (regp + 32));
-
- supply_register (PC_REGNUM, (char *) (regp + 33));
- supply_register (DEPRECATED_NPC_REGNUM, (char *) (regp + 34));
- supply_register (Y_REGNUM, (char *) (regp + 35));
-
- supply_register (WIM_REGNUM, (char *) (regp + 36));
- supply_register (TBR_REGNUM, (char *) (regp + 37));
-
- /* Fill inaccessible registers with zero. */
- supply_register (CPS_REGNUM, NULL);
-}
-
-void
-fill_gregset (elf_gregset_t *gregsetp, int regno)
-{
- elf_greg_t *regp = (elf_greg_t *) gregsetp;
- int i;
-
- for (i = G0_REGNUM; i <= I7_REGNUM; i++)
- if (regno == -1 || regno == i)
- regcache_collect (i, regp + (i - G0_REGNUM));
-
- if (regno == -1 || regno == PS_REGNUM)
- regcache_collect (PS_REGNUM, regp + 32);
-
- if (regno == -1 || regno == PC_REGNUM)
- regcache_collect (PC_REGNUM, regp + 33);
- if (regno == -1 || regno == DEPRECATED_NPC_REGNUM)
- regcache_collect (DEPRECATED_NPC_REGNUM, regp + 34);
- if (regno == -1 || regno == Y_REGNUM)
- regcache_collect (Y_REGNUM, regp + 35);
-
- if (regno == -1 || regno == WIM_REGNUM)
- regcache_collect (WIM_REGNUM, regp + 36);
- if (regno == -1 || regno == TBR_REGNUM)
- regcache_collect (TBR_REGNUM, regp + 37);
-}
-
-void
-supply_fpregset (elf_fpregset_t *fpregsetp)
-{
- int i;
-
- for (i = FP0_REGNUM; i < FP0_REGNUM + 32; i++)
- supply_register (i, (char *) &fpregsetp->pr_fr.pr_regs[i - FP0_REGNUM]);
-
- supply_register (FPS_REGNUM, (char *) &fpregsetp->pr_fsr);
-}
-
-void
-fill_fpregset (elf_fpregset_t *fpregsetp, int regno)
-{
- int i;
-
- for (i = FP0_REGNUM; i < FP0_REGNUM + 32; i++)
- if (regno == -1 || regno == i)
- regcache_collect (i, &fpregsetp->pr_fr.pr_regs[i - FP0_REGNUM]);
-
- if (regno == -1 || regno == FPS_REGNUM)
- regcache_collect (FPS_REGNUM, &fpregsetp->pr_fsr);
-}
diff --git a/gdb/sparc-linux-tdep.c b/gdb/sparc-linux-tdep.c
new file mode 100644
index 00000000000..13875af438e
--- /dev/null
+++ b/gdb/sparc-linux-tdep.c
@@ -0,0 +1,311 @@
+/* Target-dependent code for GNU/Linux SPARC.
+
+ Copyright 2003 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+#include "floatformat.h"
+#include "frame.h"
+#include "frame-unwind.h"
+#include "gdbarch.h"
+#include "gdbcore.h"
+#include "osabi.h"
+#include "regcache.h"
+#include "solib-svr4.h"
+#include "symtab.h"
+#include "trad-frame.h"
+
+#include "gdb_assert.h"
+#include "gdb_string.h"
+
+#include "sparc-tdep.h"
+
+/* Recognizing signal handler frames. */
+
+/* GNU/Linux has two flavors of signals. Normal signal handlers, and
+ "realtime" (RT) signals. The RT signals can provide additional
+ information to the signal handler if the SA_SIGINFO flag is set
+ when establishing a signal handler using `sigaction'. It is not
+ unlikely that future versions of GNU/Linux will support SA_SIGINFO
+ for normal signals too. */
+
+/* When the sparc Linux kernel calls a signal handler and the
+ SA_RESTORER flag isn't set, the return address points to a bit of
+ code on the stack. This function returns whether the PC appears to
+ be within this bit of code.
+
+ The instruction sequence for normal signals is
+ mov __NR_sigreturn, %g1 ! hex: 0x821020d8
+ ta 0x10 ! hex: 0x91d02010
+
+ Checking for the code sequence should be somewhat reliable, because
+ the effect is to call the system call sigreturn. This is unlikely
+ to occur anywhere other than a signal trampoline.
+
+ It kind of sucks that we have to read memory from the process in
+ order to identify a signal trampoline, but there doesn't seem to be
+ any other way. However, sparc32_linux_pc_in_sigtramp arranges to
+ only call us if no function name could be identified, which should
+ be the case since the code is on the stack. */
+
+#define LINUX32_SIGTRAMP_INSN0 0x821020d8 /* mov __NR_sigreturn, %g1 */
+#define LINUX32_SIGTRAMP_INSN1 0x91d02010 /* ta 0x10 */
+
+/* The instruction sequence for RT signals is
+ mov __NR_rt_sigreturn, %g1 ! hex: 0x82102065
+ ta {0x10,0x6d} ! hex: 0x91d02010 or 0x91d0206d
+
+ The effect is to call the system call rt_sigreturn. The trap number
+ is variable based upon whether this is a 32-bit or 64-bit sparc binary.
+ Note that 64-bit binaries only use this RT signal return method. */
+
+#define LINUX32_RT_SIGTRAMP_INSN0 0x82102065
+#define LINUX32_RT_SIGTRAMP_INSN1 0x91d02010
+
+/* If PC is in a sigtramp routine consisting of the instructions INSN0
+ and INSN1, return the address of the start of the routine.
+ Otherwise, return 0. */
+
+CORE_ADDR
+sparc_linux_sigtramp_start (CORE_ADDR pc, ULONGEST insn0, ULONGEST insn1)
+{
+ ULONGEST word0, word1;
+ char buf[8]; /* Two instructions. */
+
+ /* We only recognize a signal trampoline if PC is at the start of
+ one of the instructions. We optimize for finding the PC at the
+ start of the instruction sequence, as will be the case when the
+ trampoline is not the first frame on the stack. We assume that
+ in the case where the PC is not at the start of the instruction
+ sequence, there will be a few trailing readable bytes on the
+ stack. */
+
+ if (read_memory_nobpt (pc, buf, sizeof buf) != 0)
+ return 0;
+
+ word0 = extract_unsigned_integer (buf, 4);
+ if (word0 != insn0)
+ {
+ if (word0 != insn1)
+ return 0;
+
+ pc -= 4;
+ if (read_memory_nobpt (pc, buf, sizeof buf) != 0)
+ return 0;
+
+ word0 = extract_unsigned_integer (buf, 4);
+ }
+
+ word1 = extract_unsigned_integer (buf + 4, 4);
+ if (word0 != insn0 || word1 != insn1)
+ return 0;
+
+ return pc;
+}
+
+static CORE_ADDR
+sparc32_linux_sigtramp_start (CORE_ADDR pc)
+{
+ return sparc_linux_sigtramp_start (pc, LINUX32_SIGTRAMP_INSN0,
+ LINUX32_SIGTRAMP_INSN1);
+}
+
+static CORE_ADDR
+sparc32_linux_rt_sigtramp_start (CORE_ADDR pc)
+{
+ return sparc_linux_sigtramp_start (pc, LINUX32_RT_SIGTRAMP_INSN0,
+ LINUX32_RT_SIGTRAMP_INSN1);
+}
+
+static int
+sparc32_linux_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+ /* If we have NAME, we can optimize the search. The trampolines are
+ named __restore and __restore_rt. However, they aren't dynamically
+ exported from the shared C library, so the trampoline may appear to
+ be part of the preceding function. This should always be sigaction,
+ __sigaction, or __libc_sigaction (all aliases to the same function). */
+ if (name == NULL || strstr (name, "sigaction") != NULL)
+ return (sparc32_linux_sigtramp_start (pc) != 0
+ || sparc32_linux_rt_sigtramp_start (pc) != 0);
+
+ return (strcmp ("__restore", name) == 0
+ || strcmp ("__restore_rt", name) == 0);
+}
+
+static struct sparc_frame_cache *
+sparc32_linux_sigtramp_frame_cache (struct frame_info *next_frame,
+ void **this_cache)
+{
+ struct sparc_frame_cache *cache;
+ CORE_ADDR sigcontext_addr, addr;
+ int regnum;
+
+ if (*this_cache)
+ return *this_cache;
+
+ cache = sparc32_frame_cache (next_frame, this_cache);
+ gdb_assert (cache == *this_cache);
+
+ /* ??? What about signal trampolines that aren't frameless? */
+ regnum = SPARC_SP_REGNUM;
+ cache->base = frame_unwind_register_unsigned (next_frame, regnum);
+
+ regnum = SPARC_O1_REGNUM;
+ sigcontext_addr = frame_unwind_register_unsigned (next_frame, regnum);
+
+ cache->pc = frame_pc_unwind (next_frame);
+ addr = sparc32_linux_sigtramp_start (cache->pc);
+ if (addr == 0)
+ {
+ /* If this is a RT signal trampoline, adjust SIGCONTEXT_ADDR
+ accordingly. */
+ addr = sparc32_linux_rt_sigtramp_start (cache->pc);
+ if (addr)
+ sigcontext_addr += 128;
+ else
+ addr = frame_func_unwind (next_frame);
+ }
+ cache->pc = addr;
+
+ cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+ cache->saved_regs[SPARC32_PSR_REGNUM].addr = sigcontext_addr + 0;
+ cache->saved_regs[SPARC32_PC_REGNUM].addr = sigcontext_addr + 4;
+ cache->saved_regs[SPARC32_NPC_REGNUM].addr = sigcontext_addr + 8;
+ cache->saved_regs[SPARC32_Y_REGNUM].addr = sigcontext_addr + 12;
+
+ /* Since %g0 is always zero, keep the identity encoding. */
+ for (regnum = SPARC_G1_REGNUM, addr = sigcontext_addr + 20;
+ regnum <= SPARC_O7_REGNUM; regnum++, addr += 4)
+ cache->saved_regs[regnum].addr = addr;
+
+ for (regnum = SPARC_L0_REGNUM, addr = cache->base;
+ regnum <= SPARC_I7_REGNUM; regnum++, addr += 4)
+ cache->saved_regs[regnum].addr = addr;
+
+ return cache;
+}
+
+static void
+sparc32_linux_sigtramp_frame_this_id (struct frame_info *next_frame,
+ void **this_cache,
+ struct frame_id *this_id)
+{
+ struct sparc_frame_cache *cache =
+ sparc32_linux_sigtramp_frame_cache (next_frame, this_cache);
+
+ (*this_id) = frame_id_build (cache->base, cache->pc);
+}
+
+static void
+sparc32_linux_sigtramp_frame_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp,
+ CORE_ADDR *addrp,
+ int *realnump, void *valuep)
+{
+ struct sparc_frame_cache *cache =
+ sparc32_linux_sigtramp_frame_cache (next_frame, this_cache);
+
+ trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind sparc32_linux_sigtramp_frame_unwind =
+{
+ SIGTRAMP_FRAME,
+ sparc32_linux_sigtramp_frame_this_id,
+ sparc32_linux_sigtramp_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc32_linux_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+ CORE_ADDR pc = frame_pc_unwind (next_frame);
+ char *name;
+
+ find_pc_partial_function (pc, &name, NULL, NULL);
+ if (sparc32_linux_pc_in_sigtramp (pc, name))
+ return &sparc32_linux_sigtramp_frame_unwind;
+
+ return NULL;
+}
+
+
+static struct link_map_offsets *
+sparc32_linux_svr4_fetch_link_map_offsets (void)
+{
+ static struct link_map_offsets lmo;
+ static struct link_map_offsets *lmp = NULL;
+
+ if (lmp == NULL)
+ {
+ lmp = &lmo;
+
+ /* Everything we need is in the first 8 bytes. */
+ lmo.r_debug_size = 8;
+ lmo.r_map_offset = 4;
+ lmo.r_map_size = 4;
+
+ /* Everything we need is in the first 20 bytes. */
+ lmo.link_map_size = 20;
+ lmo.l_addr_offset = 0;
+ lmo.l_addr_size = 4;
+ lmo.l_name_offset = 4;
+ lmo.l_name_size = 4;
+ lmo.l_next_offset = 12;
+ lmo.l_next_size = 4;
+ lmo.l_prev_offset = 16;
+ lmo.l_prev_size = 4;
+ }
+
+ return lmp;
+}
+
+static void
+sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+ /* GNU/Linux is very similar to Solaris ... */
+ sparc32_sol2_init_abi (info, gdbarch);
+
+ /* ... but doesn't have kernel-assisted single-stepping support. */
+ set_gdbarch_software_single_step (gdbarch, sparc_software_single_step);
+
+ /* GNU/Linux doesn't support the 128-bit `long double' from the psABI. */
+ set_gdbarch_long_double_bit (gdbarch, 64);
+ set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_double_big);
+
+ set_gdbarch_pc_in_sigtramp (gdbarch, sparc32_linux_pc_in_sigtramp);
+ frame_unwind_append_sniffer (gdbarch, sparc32_linux_sigtramp_frame_sniffer);
+
+ set_solib_svr4_fetch_link_map_offsets
+ (gdbarch, sparc32_linux_svr4_fetch_link_map_offsets);
+}
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+extern void _initialize_sparc_linux_tdep (void);
+
+void
+_initialize_sparc_linux_tdep (void)
+{
+ gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_LINUX,
+ sparc32_linux_init_abi);
+}
diff --git a/gdb/sparc-nat.c b/gdb/sparc-nat.c
index a76d0e546ee..3ab21f0e160 100644
--- a/gdb/sparc-nat.c
+++ b/gdb/sparc-nat.c
@@ -1,7 +1,6 @@
-/* Functions specific to running gdb native on a SPARC running SunOS4.
+/* Native-dependent code for SPARC.
- Copyright 1989, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -22,46 +21,121 @@
#include "defs.h"
#include "inferior.h"
-#include "target.h"
-#include "gdbcore.h"
#include "regcache.h"
-#include "sparc-tdep.h"
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
#include <signal.h>
+#include "gdb_string.h"
#include <sys/ptrace.h>
#include "gdb_wait.h"
-#ifdef __linux__
-#include <asm/reg.h>
-#else
+#ifdef HAVE_MACHINE_REG_H
#include <machine/reg.h>
#endif
-#include <sys/user.h>
-/* We don't store all registers immediately when requested, since they
- get sent over in large chunks anyway. Instead, we accumulate most
- of the changes and send them over once. "deferred_stores" keeps
- track of which sets of registers we have locally-changed copies of,
- so we only need send the groups that have changed. */
+#include "sparc-tdep.h"
+#include "sparc-nat.h"
+
+/* With some trickery we can use the code in this file for most (if
+ not all) ptrace(2) based SPARC systems, which includes SunOS 4,
+ GNU/Linux and the various SPARC BSD's.
+
+ First, we need a data structure for use with ptrace(2). SunOS has
+ `struct regs' and `struct fp_status' in <machine/reg.h>. BSD's
+ have `struct reg' and `struct fpreg' in <machine/reg.h>. GNU/Linux
+ has the same structures as SunOS 4, but they're in <asm/reg.h>,
+ which is a kernel header. As a general rule we avoid including
+ GNU/Linux kernel headers. Fortunately GNU/Linux has a `gregset_t'
+ and a `fpregset_t' that are equivalent to `struct regs' and `struct
+ fp_status' in <sys/ucontext.h>, which is automatically included by
+ <signal.h>. Settling on using the `gregset_t' and `fpregset_t'
+ typedefs, providing them for the other systems, therefore solves
+ the puzzle. */
+
+#ifdef HAVE_MACHINE_REG_H
+#ifdef HAVE_STRUCT_REG
+typedef struct reg gregset_t;
+typedef struct fpreg fpregset_t;
+#else
+typedef struct regs gregset_t;
+typedef struct fp_status fpregset_t;
+#endif
+#endif
+
+/* Second, we need to remap the BSD ptrace(2) requests to their SunOS
+ equivalents. GNU/Linux already follows SunOS here. */
-#define INT_REGS 1
-#define STACK_REGS 2
-#define FP_REGS 4
+#ifndef PTRACE_GETREGS
+#define PTRACE_GETREGS PT_GETREGS
+#endif
+
+#ifndef PTRACE_SETREGS
+#define PTRACE_SETREGS PT_SETREGS
+#endif
-/* Fetch one or more registers from the inferior. REGNO == -1 to get
- them all. We actually fetch more than requested, when convenient,
- marking them as valid so we won't fetch them again. */
+#ifndef PTRACE_GETFPREGS
+#define PTRACE_GETFPREGS PT_GETFPREGS
+#endif
+
+#ifndef PTRACE_SETFPREGS
+#define PTRACE_SETFPREGS PT_SETFPREGS
+#endif
+
+/* Register set description. */
+const struct sparc_gregset *sparc_gregset;
+void (*sparc_supply_gregset) (const struct sparc_gregset *,
+ struct regcache *, int , const void *);
+void (*sparc_collect_gregset) (const struct sparc_gregset *,
+ const struct regcache *, int, void *);
+void (*sparc_supply_fpregset) (struct regcache *, int , const void *);
+void (*sparc_collect_fpregset) (const struct regcache *, int , void *);
+int (*sparc_gregset_supplies_p) (int);
+int (*sparc_fpregset_supplies_p) (int);
+
+/* Determine whether `gregset_t' contains register REGNUM. */
+
+int
+sparc32_gregset_supplies_p (int regnum)
+{
+ /* Integer registers. */
+ if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_G7_REGNUM)
+ || (regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM)
+ || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_L7_REGNUM)
+ || (regnum >= SPARC_I0_REGNUM && regnum <= SPARC_I7_REGNUM))
+ return 1;
+
+ /* Control registers. */
+ if (regnum == SPARC32_PC_REGNUM
+ || regnum == SPARC32_NPC_REGNUM
+ || regnum == SPARC32_PSR_REGNUM
+ || regnum == SPARC32_Y_REGNUM)
+ return 1;
+
+ return 0;
+}
+
+/* Determine whether `fpregset_t' contains register REGNUM. */
+
+int
+sparc32_fpregset_supplies_p (int regnum)
+{
+ /* Floating-point registers. */
+ if (regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM)
+ return 1;
+
+ /* Control registers. */
+ if (regnum == SPARC32_FSR_REGNUM)
+ return 1;
+
+ return 0;
+}
+
+/* Fetch register REGNUM from the inferior. If REGNUM is -1, do this
+ for all registers (including the floating-point registers). */
void
-fetch_inferior_registers (int regno)
+fetch_inferior_registers (int regnum)
{
- struct regs inferior_registers;
- struct fp_status inferior_fp_registers;
- int i;
- int fetch_pid;
+ struct regcache *regcache = current_regcache;
+ int pid;
/* NOTE: cagney/2002-12-03: This code assumes that the currently
selected light weight processes' registers can be written
@@ -76,309 +150,123 @@ fetch_inferior_registers (int regno)
These functions should instead be paramaterized with an explicit
object (struct regcache, struct thread_info?) into which the LWPs
registers can be written. */
+ pid = TIDGET (inferior_ptid);
+ if (pid == 0)
+ pid = PIDGET (inferior_ptid);
- fetch_pid = TIDGET (inferior_ptid);
- if (fetch_pid == 0)
- fetch_pid = PIDGET (inferior_ptid);
-
- /* We should never be called with deferred stores, because a prerequisite
- for writing regs is to have fetched them all (PREPARE_TO_STORE), sigh. */
- if (deferred_stores)
- internal_error (__FILE__, __LINE__, "failed internal consistency check");
-
- DO_DEFERRED_STORES;
-
- /* Global and Out regs are fetched directly, as well as the control
- registers. If we're getting one of the in or local regs,
- and the stack pointer has not yet been fetched,
- we have to do that first, since they're found in memory relative
- to the stack pointer. */
- if (regno < O7_REGNUM /* including -1 */
- || regno >= Y_REGNUM
- || (!deprecated_register_valid[SP_REGNUM] && regno < I7_REGNUM))
+ if (regnum == SPARC_G0_REGNUM)
{
- if (0 != ptrace (PTRACE_GETREGS, fetch_pid,
- (PTRACE_ARG3_TYPE) & inferior_registers, 0))
- perror ("ptrace_getregs");
-
- deprecated_registers[DEPRECATED_REGISTER_BYTE (0)] = 0;
- memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (1)],
- &inferior_registers.r_g1, 15 * DEPRECATED_REGISTER_RAW_SIZE (G0_REGNUM));
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (PS_REGNUM)]
- = inferior_registers.r_ps;
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (PC_REGNUM)]
- = inferior_registers.r_pc;
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (DEPRECATED_NPC_REGNUM)]
- = inferior_registers.r_npc;
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (Y_REGNUM)] = inferior_registers.r_y;
-
- for (i = G0_REGNUM; i <= O7_REGNUM; i++)
- deprecated_register_valid[i] = 1;
- deprecated_register_valid[Y_REGNUM] = 1;
- deprecated_register_valid[PS_REGNUM] = 1;
- deprecated_register_valid[PC_REGNUM] = 1;
- deprecated_register_valid[DEPRECATED_NPC_REGNUM] = 1;
- /* If we don't set these valid, read_register_bytes() rereads
- all the regs every time it is called! FIXME. */
- deprecated_register_valid[WIM_REGNUM] = 1; /* Not true yet, FIXME */
- deprecated_register_valid[TBR_REGNUM] = 1; /* Not true yet, FIXME */
- deprecated_register_valid[CPS_REGNUM] = 1; /* Not true yet, FIXME */
+ regcache_raw_supply (regcache, SPARC_G0_REGNUM, NULL);
+ return;
}
- /* Floating point registers */
- if (regno == -1 ||
- regno == FPS_REGNUM ||
- (regno >= FP0_REGNUM && regno <= FP0_REGNUM + 31))
+ if (regnum == -1 || sparc_gregset_supplies_p (regnum))
{
- if (0 != ptrace (PTRACE_GETFPREGS, fetch_pid,
- (PTRACE_ARG3_TYPE) & inferior_fp_registers,
- 0))
- perror ("ptrace_getfpregs");
- memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)],
- &inferior_fp_registers, sizeof inferior_fp_registers.fpu_fr);
- memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FPS_REGNUM)],
- &inferior_fp_registers.Fpu_fsr, sizeof (FPU_FSR_TYPE));
- for (i = FP0_REGNUM; i <= FP0_REGNUM + 31; i++)
- deprecated_register_valid[i] = 1;
- deprecated_register_valid[FPS_REGNUM] = 1;
- }
+ gregset_t regs;
- /* These regs are saved on the stack by the kernel. Only read them
- all (16 ptrace calls!) if we really need them. */
- if (regno == -1)
- {
- CORE_ADDR sp = *(unsigned int *) & deprecated_registers[DEPRECATED_REGISTER_BYTE (SP_REGNUM)];
- target_read_memory (sp, &deprecated_registers[DEPRECATED_REGISTER_BYTE (L0_REGNUM)],
- 16 * DEPRECATED_REGISTER_RAW_SIZE (L0_REGNUM));
- for (i = L0_REGNUM; i <= I7_REGNUM; i++)
- deprecated_register_valid[i] = 1;
+ if (ptrace (PTRACE_GETREGS, pid, (PTRACE_ARG3_TYPE) &regs, 0) == -1)
+ perror_with_name ("Couldn't get registers");
+
+ sparc_supply_gregset (sparc_gregset, regcache, -1, &regs);
+ if (regnum != -1)
+ return;
}
- else if (regno >= L0_REGNUM && regno <= I7_REGNUM)
+
+ if (regnum == -1 || sparc_fpregset_supplies_p (regnum))
{
- CORE_ADDR sp = *(unsigned int *) & deprecated_registers[DEPRECATED_REGISTER_BYTE (SP_REGNUM)];
- i = DEPRECATED_REGISTER_BYTE (regno);
- if (deprecated_register_valid[regno])
- printf_unfiltered ("register %d valid and read\n", regno);
- target_read_memory (sp + i - DEPRECATED_REGISTER_BYTE (L0_REGNUM),
- &deprecated_registers[i], DEPRECATED_REGISTER_RAW_SIZE (regno));
- deprecated_register_valid[regno] = 1;
+ fpregset_t fpregs;
+
+ if (ptrace (PTRACE_GETFPREGS, pid, (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
+ perror_with_name ("Couldn't get floating point status");
+
+ sparc_supply_fpregset (regcache, -1, &fpregs);
}
}
-/* Store our register values back into the inferior.
- If REGNO is -1, do this for all registers.
- Otherwise, REGNO specifies which register (so we can save time). */
-
void
-store_inferior_registers (int regno)
+store_inferior_registers (int regnum)
{
- struct regs inferior_registers;
- struct fp_status inferior_fp_registers;
- int wanna_store = INT_REGS + STACK_REGS + FP_REGS;
- int store_pid;
+ struct regcache *regcache = current_regcache;
+ int pid;
/* NOTE: cagney/2002-12-02: See comment in fetch_inferior_registers
about threaded assumptions. */
- store_pid = TIDGET (inferior_ptid);
- if (store_pid == 0)
- store_pid = PIDGET (inferior_ptid);
+ pid = TIDGET (inferior_ptid);
+ if (pid == 0)
+ pid = PIDGET (inferior_ptid);
- /* First decide which pieces of machine-state we need to modify.
- Default for regno == -1 case is all pieces. */
- if (regno >= 0)
+ if (regnum == -1 || sparc_gregset_supplies_p (regnum))
{
- if (FP0_REGNUM <= regno && regno < FP0_REGNUM + 32)
- {
- wanna_store = FP_REGS;
- }
- else
- {
- if (regno == SP_REGNUM)
- wanna_store = INT_REGS + STACK_REGS;
- else if (regno < L0_REGNUM || regno > I7_REGNUM)
- wanna_store = INT_REGS;
- else if (regno == FPS_REGNUM)
- wanna_store = FP_REGS;
- else
- wanna_store = STACK_REGS;
- }
- }
+ gregset_t regs;
- /* See if we're forcing the stores to happen now, or deferring. */
- if (regno == -2)
- {
- wanna_store = deferred_stores;
- deferred_stores = 0;
- }
- else
- {
- if (wanna_store == STACK_REGS)
- {
- /* Fall through and just store one stack reg. If we deferred
- it, we'd have to store them all, or remember more info. */
- }
- else
- {
- deferred_stores |= wanna_store;
- return;
- }
- }
+ if (ptrace (PTRACE_GETREGS, pid, (PTRACE_ARG3_TYPE) &regs, 0) == -1)
+ perror_with_name ("Couldn't get registers");
- if (wanna_store & STACK_REGS)
- {
- CORE_ADDR sp = *(unsigned int *) & deprecated_registers[DEPRECATED_REGISTER_BYTE (SP_REGNUM)];
+ sparc_collect_gregset (sparc_gregset, regcache, regnum, &regs);
- if (regno < 0 || regno == SP_REGNUM)
- {
- if (!deprecated_register_valid[L0_REGNUM + 5])
- internal_error (__FILE__, __LINE__, "failed internal consistency check");
- target_write_memory (sp,
- &deprecated_registers[DEPRECATED_REGISTER_BYTE (L0_REGNUM)],
- 16 * DEPRECATED_REGISTER_RAW_SIZE (L0_REGNUM));
- }
- else
- {
- if (!deprecated_register_valid[regno])
- internal_error (__FILE__, __LINE__, "failed internal consistency check");
- target_write_memory (sp + DEPRECATED_REGISTER_BYTE (regno) - DEPRECATED_REGISTER_BYTE (L0_REGNUM),
- &deprecated_registers[DEPRECATED_REGISTER_BYTE (regno)],
- DEPRECATED_REGISTER_RAW_SIZE (regno));
- }
+ if (ptrace (PTRACE_SETREGS, pid, (PTRACE_ARG3_TYPE) &regs, 0) == -1)
+ perror_with_name ("Couldn't write registers");
- }
+ /* Deal with the stack regs. */
+ if (regnum == -1 || regnum == SPARC_SP_REGNUM
+ || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM))
+ {
+ ULONGEST sp;
- if (wanna_store & INT_REGS)
- {
- if (!deprecated_register_valid[G1_REGNUM])
- internal_error (__FILE__, __LINE__, "failed internal consistency check");
-
- memcpy (&inferior_registers.r_g1,
- &deprecated_registers[DEPRECATED_REGISTER_BYTE (G1_REGNUM)],
- 15 * DEPRECATED_REGISTER_RAW_SIZE (G1_REGNUM));
-
- inferior_registers.r_ps =
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (PS_REGNUM)];
- inferior_registers.r_pc =
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (PC_REGNUM)];
- inferior_registers.r_npc =
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (DEPRECATED_NPC_REGNUM)];
- inferior_registers.r_y =
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (Y_REGNUM)];
-
- if (0 != ptrace (PTRACE_SETREGS, store_pid,
- (PTRACE_ARG3_TYPE) & inferior_registers, 0))
- perror ("ptrace_setregs");
- }
+ regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM, &sp);
+ sparc_collect_rwindow (regcache, sp, regnum);
+ }
- if (wanna_store & FP_REGS)
- {
- if (!deprecated_register_valid[FP0_REGNUM + 9])
- internal_error (__FILE__, __LINE__, "failed internal consistency check");
- memcpy (&inferior_fp_registers,
- &deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)],
- sizeof inferior_fp_registers.fpu_fr);
- memcpy (&inferior_fp_registers.Fpu_fsr,
- &deprecated_registers[DEPRECATED_REGISTER_BYTE (FPS_REGNUM)],
- sizeof (FPU_FSR_TYPE));
- if (0 !=
- ptrace (PTRACE_SETFPREGS, store_pid,
- (PTRACE_ARG3_TYPE) & inferior_fp_registers, 0))
- perror ("ptrace_setfpregs");
+ if (regnum != -1)
+ return;
}
-}
-
-/* Provide registers to GDB from a core file.
-
- CORE_REG_SECT points to an array of bytes, which are the contents
- of a `note' from a core file which BFD thinks might contain
- register contents. CORE_REG_SIZE is its size.
-
- WHICH says which register set corelow suspects this is:
- 0 --- the general-purpose register set
- 2 --- the floating-point register set
-
- IGNORE is unused. */
-
-static void
-fetch_core_registers (char *core_reg_sect, unsigned core_reg_size,
- int which, CORE_ADDR ignore)
-{
- if (which == 0)
+ if (regnum == -1 || sparc_fpregset_supplies_p (regnum))
{
+ fpregset_t fpregs, saved_fpregs;
- /* Integer registers */
-
-#define gregs ((struct regs *)core_reg_sect)
- /* G0 *always* holds 0. */
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (0)] = 0;
-
- /* The globals and output registers. */
- memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (G1_REGNUM)], &gregs->r_g1,
- 15 * DEPRECATED_REGISTER_RAW_SIZE (G1_REGNUM));
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (PS_REGNUM)] = gregs->r_ps;
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (PC_REGNUM)] = gregs->r_pc;
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (DEPRECATED_NPC_REGNUM)] = gregs->r_npc;
- *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (Y_REGNUM)] = gregs->r_y;
-
- /* My best guess at where to get the locals and input
- registers is exactly where they usually are, right above
- the stack pointer. If the core dump was caused by a bus error
- from blowing away the stack pointer (as is possible) then this
- won't work, but it's worth the try. */
- {
- int sp;
-
- sp = *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (SP_REGNUM)];
- if (0 != target_read_memory (sp,
- &deprecated_registers[DEPRECATED_REGISTER_BYTE (L0_REGNUM)],
- 16 * DEPRECATED_REGISTER_RAW_SIZE (L0_REGNUM)))
- {
- /* fprintf_unfiltered so user can still use gdb */
- fprintf_unfiltered (gdb_stderr,
- "Couldn't read input and local registers from core file\n");
- }
- }
- }
- else if (which == 2)
- {
+ if (ptrace (PTRACE_GETFPREGS, pid, (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
+ perror_with_name ("Couldn't get floating-point registers");
- /* Floating point registers */
+ memcpy (&saved_fpregs, &fpregs, sizeof (fpregs));
+ sparc_collect_fpregset (regcache, regnum, &fpregs);
-#define fpuregs ((struct fpu *) core_reg_sect)
- if (core_reg_size >= sizeof (struct fpu))
+ /* Writing the floating-point registers will fail on NetBSD with
+ EINVAL if the inferior process doesn't have an FPU state
+ (i.e. if it didn't use the FPU yet). Therefore we don't try
+ to write the registers if nothing changed. */
+ if (memcmp (&saved_fpregs, &fpregs, sizeof (fpregs)) != 0)
{
- memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)],
- fpuregs->fpu_regs, sizeof (fpuregs->fpu_regs));
- memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FPS_REGNUM)],
- &fpuregs->fpu_fsr, sizeof (FPU_FSR_TYPE));
+ if (ptrace (PTRACE_SETFPREGS, pid,
+ (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
+ perror_with_name ("Couldn't write floating-point registers");
}
- else
- fprintf_unfiltered (gdb_stderr, "Couldn't read float regs from core file\n");
- }
-}
-int
-kernel_u_size (void)
-{
- return (sizeof (struct user));
+ if (regnum != -1)
+ return;
+ }
}
-/* Register that we are able to handle sparc core file formats.
- FIXME: is this really bfd_target_unknown_flavour? */
-
-static struct core_fns sparc_core_fns =
-{
- bfd_target_unknown_flavour, /* core_flavour */
- default_check_format, /* check_format */
- default_core_sniffer, /* core_sniffer */
- fetch_core_registers, /* core_read_registers */
- NULL /* next */
-};
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_sparc_nat (void);
void
-_initialize_core_sparc (void)
+_initialize_sparc_nat (void)
{
- add_core_fns (&sparc_core_fns);
+ /* Deafult to using SunOS 4 register sets. */
+ if (sparc_gregset == NULL)
+ sparc_gregset = &sparc32_sunos4_gregset;
+ if (sparc_supply_gregset == NULL)
+ sparc_supply_gregset = sparc32_supply_gregset;
+ if (sparc_collect_gregset == NULL)
+ sparc_collect_gregset = sparc32_collect_gregset;
+ if (sparc_supply_fpregset == NULL)
+ sparc_supply_fpregset = sparc32_supply_fpregset;
+ if (sparc_collect_fpregset == NULL)
+ sparc_collect_fpregset = sparc32_collect_fpregset;
+ if (sparc_gregset_supplies_p == NULL)
+ sparc_gregset_supplies_p = sparc32_gregset_supplies_p;
+ if (sparc_fpregset_supplies_p == NULL)
+ sparc_fpregset_supplies_p = sparc32_fpregset_supplies_p;
}
diff --git a/gdb/sparc-nat.h b/gdb/sparc-nat.h
new file mode 100644
index 00000000000..8f99b1eea11
--- /dev/null
+++ b/gdb/sparc-nat.h
@@ -0,0 +1,40 @@
+/* Native-dependent code for SPARC.
+
+ Copyright 2003 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef SPARC_NAT_H
+#define SPARC_NAT_H 1
+
+struct sparc_gregset;
+
+extern const struct sparc_gregset *sparc_gregset;
+extern void (*sparc_supply_gregset) (const struct sparc_gregset *,
+ struct regcache *, int , const void *);
+extern void (*sparc_collect_gregset) (const struct sparc_gregset *,
+ const struct regcache *, int, void *);
+extern void (*sparc_supply_fpregset) (struct regcache *, int , const void *);
+extern void (*sparc_collect_fpregset) (const struct regcache *, int , void *);
+extern int (*sparc_gregset_supplies_p) (int);
+extern int (*sparc_fpregset_supplies_p) (int);
+
+extern int sparc32_gregset_supplies_p (int regnum);
+extern int sparc32_fpregset_supplies_p (int regnum);
+
+#endif /* sparc-nat.h */
diff --git a/gdb/sparc-sol2-nat.c b/gdb/sparc-sol2-nat.c
new file mode 100644
index 00000000000..61ca7120f32
--- /dev/null
+++ b/gdb/sparc-sol2-nat.c
@@ -0,0 +1,98 @@
+/* Native-dependent code for Solaris SPARC.
+
+ Copyright 2003, 2004 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+#include "regcache.h"
+
+#include <sys/procfs.h>
+#include "gregset.h"
+
+#include "sparc-tdep.h"
+
+/* This file provids the (temporary) glue between the Solaris SPARC
+ target dependent code and the machine independent SVR4 /proc
+ support. */
+
+/* Solaris 7 (Solaris 2.7, SunOS 5.7) and up support two process data
+ models, the traditional 32-bit data model (ILP32) and the 64-bit
+ data model (LP64). The format of /proc depends on the data model
+ of the observer (the controlling process, GDB in our case). The
+ Solaris header files conveniently define PR_MODEL_NATIVE to the
+ data model of the controlling process. If its value is
+ PR_MODEL_LP64, we know that GDB is being compiled as a 64-bit
+ program.
+
+ GNU/Linux uses the same formats as Solaris for its core files (but
+ not for ptrace(2)). The GNU/Linux headers don't define
+ PR_MODEL_NATIVE though. Therefore we rely on the __arch64__ define
+ provided by GCC to determine the appropriate data model.
+
+ Note that a 32-bit GDB won't be able to debug a 64-bit target
+ process using /proc on Solaris. */
+
+#if (defined (__arch64__) || \
+ (defined (PR_MODEL_NATIVE) && (PR_MODEL_NATIVE == PR_MODEL_LP64)))
+
+#include "sparc64-tdep.h"
+
+#define sparc_supply_gregset sparc64_supply_gregset
+#define sparc_supply_fpregset sparc64_supply_fpregset
+#define sparc_collect_gregset sparc64_collect_gregset
+#define sparc_collect_fpregset sparc64_collect_fpregset
+
+#define sparc_sol2_gregset sparc64_sol2_gregset
+#define sparc_sol2_fpregset sparc64_sol2_fpregset
+
+#else
+
+#define sparc_supply_gregset sparc32_supply_gregset
+#define sparc_supply_fpregset sparc32_supply_fpregset
+#define sparc_collect_gregset sparc32_collect_gregset
+#define sparc_collect_fpregset sparc32_collect_fpregset
+
+#define sparc_sol2_gregset sparc32_sol2_gregset
+#define sparc_sol2_fpregset sparc32_sol2_fpregset
+
+#endif
+
+void
+supply_gregset (prgregset_t *gregs)
+{
+ sparc_supply_gregset (&sparc_sol2_gregset, current_regcache, -1, gregs);
+}
+
+void
+supply_fpregset (prfpregset_t *fpregs)
+{
+ sparc_supply_fpregset (current_regcache, -1, fpregs);
+}
+
+void
+fill_gregset (prgregset_t *gregs, int regnum)
+{
+ sparc_collect_gregset (&sparc_sol2_gregset, current_regcache, regnum, gregs);
+}
+
+void
+fill_fpregset (prfpregset_t *fpregs, int regnum)
+{
+ sparc_collect_fpregset (current_regcache, regnum, fpregs);
+}
diff --git a/gdb/sparc-sol2-tdep.c b/gdb/sparc-sol2-tdep.c
new file mode 100644
index 00000000000..5f65b7826d1
--- /dev/null
+++ b/gdb/sparc-sol2-tdep.c
@@ -0,0 +1,201 @@
+/* Target-dependent code for Solaris SPARC.
+
+ Copyright 2003 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+#include "frame.h"
+#include "frame-unwind.h"
+#include "gdbcore.h"
+#include "symtab.h"
+#include "objfiles.h"
+#include "osabi.h"
+#include "regcache.h"
+#include "target.h"
+#include "trad-frame.h"
+
+#include "gdb_assert.h"
+#include "gdb_string.h"
+
+#include "sparc-tdep.h"
+
+/* From <sys/regset.h>. */
+const struct sparc_gregset sparc32_sol2_gregset =
+{
+ 32 * 4, /* %psr */
+ 33 * 4, /* %pc */
+ 34 * 4, /* %npc */
+ 35 * 4, /* %y */
+ 36 * 4, /* %wim */
+ 37 * 4, /* %tbr */
+ 1 * 4, /* %g1 */
+ 16 * 4, /* %l0 */
+};
+
+
+/* The Solaris signal trampolines reside in libc. For normal signals,
+ the function `sigacthandler' is used. This signal trampoline will
+ call the signal handler using the System V calling convention,
+ where the third argument is a pointer to an instance of
+ `ucontext_t', which has a member `uc_mcontext' that contains the
+ saved registers. Incidentally, the kernel passes the `ucontext_t'
+ pointer as the third argument of the signal trampoline too, and
+ `sigacthandler' simply passes it on. However, if you link your
+ program with "-L/usr/ucblib -R/usr/ucblib -lucb", the function
+ `ucbsigvechandler' will be used, which invokes the using the BSD
+ convention, where the third argument is a pointer to an instance of
+ `struct sigcontext'. It is the `ucbsigvechandler' function that
+ converts the `ucontext_t' to a `sigcontext', and back. Unless the
+ signal handler modifies the `struct sigcontext' we can safely
+ ignore this. */
+
+int
+sparc_sol2_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+ return (name && (strcmp (name, "sigacthandler") == 0
+ || strcmp (name, "ucbsigvechandler") == 0));
+}
+
+static struct sparc_frame_cache *
+sparc32_sol2_sigtramp_frame_cache (struct frame_info *next_frame,
+ void **this_cache)
+{
+ struct sparc_frame_cache *cache;
+ CORE_ADDR mcontext_addr, addr;
+ int regnum;
+
+ if (*this_cache)
+ return *this_cache;
+
+ cache = sparc_frame_cache (next_frame, this_cache);
+ gdb_assert (cache == *this_cache);
+
+ cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+ /* The third argument is a pointer to an instance of `ucontext_t',
+ which has a member `uc_mcontext' that contains the saved
+ registers. */
+ regnum = (cache->frameless_p ? SPARC_O2_REGNUM : SPARC_I2_REGNUM);
+ mcontext_addr = frame_unwind_register_unsigned (next_frame, regnum) + 40;
+
+ cache->saved_regs[SPARC32_PSR_REGNUM].addr = mcontext_addr + 0 * 4;
+ cache->saved_regs[SPARC32_PC_REGNUM].addr = mcontext_addr + 1 * 4;
+ cache->saved_regs[SPARC32_NPC_REGNUM].addr = mcontext_addr + 2 * 4;
+ cache->saved_regs[SPARC32_Y_REGNUM].addr = mcontext_addr + 3 * 4;
+
+ /* Since %g0 is always zero, keep the identity encoding. */
+ for (regnum = SPARC_G1_REGNUM, addr = mcontext_addr + 4 * 4;
+ regnum <= SPARC_O7_REGNUM; regnum++, addr += 4)
+ cache->saved_regs[regnum].addr = addr;
+
+ if (get_frame_memory_unsigned (next_frame, mcontext_addr + 19 * 4, 4))
+ {
+ /* The register windows haven't been flushed. */
+ for (regnum = SPARC_L0_REGNUM; regnum <= SPARC_I7_REGNUM; regnum++)
+ trad_frame_set_unknown (cache->saved_regs, regnum);
+ }
+ else
+ {
+ addr = cache->saved_regs[SPARC_SP_REGNUM].addr;
+ addr = get_frame_memory_unsigned (next_frame, addr, 4);
+ for (regnum = SPARC_L0_REGNUM;
+ regnum <= SPARC_I7_REGNUM; regnum++, addr += 4)
+ cache->saved_regs[regnum].addr = addr;
+ }
+
+ return cache;
+}
+
+static void
+sparc32_sol2_sigtramp_frame_this_id (struct frame_info *next_frame,
+ void **this_cache,
+ struct frame_id *this_id)
+{
+ struct sparc_frame_cache *cache =
+ sparc32_sol2_sigtramp_frame_cache (next_frame, this_cache);
+
+ (*this_id) = frame_id_build (cache->base, cache->pc);
+}
+
+static void
+sparc32_sol2_sigtramp_frame_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp,
+ CORE_ADDR *addrp,
+ int *realnump, void *valuep)
+{
+ struct sparc_frame_cache *cache =
+ sparc32_sol2_sigtramp_frame_cache (next_frame, this_cache);
+
+ trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind sparc32_sol2_sigtramp_frame_unwind =
+{
+ SIGTRAMP_FRAME,
+ sparc32_sol2_sigtramp_frame_this_id,
+ sparc32_sol2_sigtramp_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc32_sol2_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+ CORE_ADDR pc = frame_pc_unwind (next_frame);
+ char *name;
+
+ find_pc_partial_function (pc, &name, NULL, NULL);
+ if (sparc_sol2_pc_in_sigtramp (pc, name))
+ return &sparc32_sol2_sigtramp_frame_unwind;
+
+ return NULL;
+}
+
+
+void
+sparc32_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+ /* Solaris has SVR4-style shared libraries... */
+ set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
+ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
+
+ /* ...which means that we need some special handling when doing
+ prologue analysis. */
+ tdep->plt_entry_size = 12;
+
+ /* Solaris has kernel-assisted single-stepping support. */
+ set_gdbarch_software_single_step (gdbarch, NULL);
+
+ set_gdbarch_pc_in_sigtramp (gdbarch, sparc_sol2_pc_in_sigtramp);
+ frame_unwind_append_sniffer (gdbarch, sparc32_sol2_sigtramp_frame_sniffer);
+}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_sparc_sol2_tdep (void);
+
+void
+_initialize_sparc_sol2_tdep (void)
+{
+ gdbarch_register_osabi (bfd_arch_sparc, 0,
+ GDB_OSABI_SOLARIS, sparc32_sol2_init_abi);
+}
diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c
index d3b24186769..e79f038429f 100644
--- a/gdb/sparc-tdep.c
+++ b/gdb/sparc-tdep.c
@@ -1,8 +1,6 @@
-/* Target-dependent code for the SPARC for GDB, the GNU debugger.
+/* Target-dependent code for SPARC.
- Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
- 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation,
- Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -21,108 +19,61 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* ??? Support for calling functions from gdb in sparc64 is unfinished. */
-
#include "defs.h"
#include "arch-utils.h"
+#include "dis-asm.h"
+#include "floatformat.h"
#include "frame.h"
+#include "frame-base.h"
+#include "frame-unwind.h"
+#include "gdbcore.h"
+#include "gdbtypes.h"
#include "inferior.h"
+#include "symtab.h"
+#include "objfiles.h"
+#include "osabi.h"
+#include "regcache.h"
#include "target.h"
#include "value.h"
-#include "bfd.h"
-#include "gdb_string.h"
-#include "regcache.h"
-#include "osabi.h"
-#include "dis-asm.h"
-
-#include "sparc-tdep.h"
-#ifdef USE_PROC_FS
-#include <sys/procfs.h>
-/* Prototypes for supply_gregset etc. */
-#include "gregset.h"
-#endif
-
-#include "gdbcore.h"
#include "gdb_assert.h"
+#include "gdb_string.h"
-#include "symfile.h" /* for 'entry_point_address' */
-
-/*
- * Some local macros that have multi-arch and non-multi-arch versions:
- */
-
-#define SPARC_HAS_FPU 1
-/* Number of bytes devoted to Floating Point registers: */
-#define FP_REGISTER_BYTES (gdbarch_tdep (current_gdbarch)->fp_register_bytes)
-/* Highest numbered Floating Point register. */
-#define FP_MAX_REGNUM (gdbarch_tdep (current_gdbarch)->fp_max_regnum)
-/* Size of a general (integer) register: */
-#define SPARC_INTREG_SIZE (gdbarch_tdep (current_gdbarch)->intreg_size)
-/* Offset within the call dummy stack of the saved registers. */
-#define DUMMY_REG_SAVE_OFFSET (gdbarch_tdep (current_gdbarch)->reg_save_offset)
-
-struct gdbarch_tdep
- {
- int fp_register_bytes;
- int y_regnum;
- int fp_max_regnum;
- int intreg_size;
- int reg_save_offset;
- int call_dummy_call_offset;
- int print_insn_mach;
- };
-
-/* Now make GDB_TARGET_IS_SPARC64 a runtime test. */
-/* FIXME MVS: or try testing bfd_arch_info.arch and bfd_arch_info.mach ...
- * define GDB_TARGET_IS_SPARC64 \
- * (TARGET_ARCHITECTURE->arch == bfd_arch_sparc && \
- * (TARGET_ARCHITECTURE->mach == bfd_mach_sparc_v9 || \
- * TARGET_ARCHITECTURE->mach == bfd_mach_sparc_v9a))
- */
-
-/* We don't store all registers immediately when requested, since they
- get sent over in large chunks anyway. Instead, we accumulate most
- of the changes and send them over once. "deferred_stores" keeps
- track of which sets of registers we have locally-changed copies of,
- so we only need send the groups that have changed. */
-
-int deferred_stores = 0; /* Accumulated stores we want to do eventually. */
-
-
-const unsigned char *
-sparc_breakpoint_from_pc (CORE_ADDR *pc, int *len)
-{
- static const char breakpoint[] = {0x91, 0xd0, 0x20, 0x01};
- (*len) = sizeof (breakpoint);
- return breakpoint;
-}
-
-/* Fetch a single instruction. Even on bi-endian machines
- such as sparc86x, instructions are always big-endian. */
-
-static unsigned long
-fetch_instruction (CORE_ADDR pc)
-{
- unsigned long retval;
- int i;
- unsigned char buf[4];
-
- read_memory (pc, buf, sizeof (buf));
-
- /* Start at the most significant end of the integer, and work towards
- the least significant. */
- retval = 0;
- for (i = 0; i < sizeof (buf); ++i)
- retval = (retval << 8) | buf[i];
- return retval;
-}
-
-
-/* Branches with prediction are treated like their non-predicting cousins. */
-/* FIXME: What about floating point branches? */
+#include "sparc-tdep.h"
-/* Macros to extract fields from sparc instructions. */
+struct regset;
+
+/* This file implements the The SPARC 32-bit ABI as defined by the
+ section "Low-Level System Information" of the SPARC Compliance
+ Definition (SCD) 2.4.1, which is the 32-bit System V psABI for
+ SPARC. The SCD lists changes with respect to the origional 32-bit
+ psABI as defined in the "System V ABI, SPARC Processor
+ Supplement".
+
+ Note that if we talk about SunOS, we mean SunOS 4.x, which was
+ BSD-based, which is sometimes (retroactively?) referred to as
+ Solaris 1.x. If we talk about Solaris we mean Solaris 2.x and
+ above (Solaris 7, 8 and 9 are nothing but Solaris 2.7, 2.8 and 2.9
+ suffering from severe version number inflation). Solaris 2.x is
+ also known as SunOS 5.x, since that's what uname(1) says. Solaris
+ 2.x is SVR4-based. */
+
+/* Please use the sparc32_-prefix for 32-bit specific code, the
+ sparc64_-prefix for 64-bit specific code and the sparc_-prefix for
+ code that can handle both. The 64-bit specific code lives in
+ sparc64-tdep.c; don't add any here. */
+
+/* The SPARC Floating-Point Quad-Precision format is similar to
+ big-endian IA-64 Quad-recision format. */
+#define floatformat_sparc_quad floatformat_ia64_quad_big
+
+/* The stack pointer is offset from the stack frame by a BIAS of 2047
+ (0x7ff) for 64-bit code. BIAS is likely to be defined on SPARC
+ hosts, so undefine it first. */
+#undef BIAS
+#define BIAS 2047
+
+/* Macros to extract fields from SPARC instructions. */
#define X_OP(i) (((i) >> 30) & 0x3)
#define X_RD(i) (((i) >> 25) & 0x1f)
#define X_A(i) (((i) >> 29) & 1)
@@ -130,3235 +81,1304 @@ fetch_instruction (CORE_ADDR pc)
#define X_OP2(i) (((i) >> 22) & 0x7)
#define X_IMM22(i) ((i) & 0x3fffff)
#define X_OP3(i) (((i) >> 19) & 0x3f)
-#define X_RS1(i) (((i) >> 14) & 0x1f)
#define X_I(i) (((i) >> 13) & 1)
-#define X_IMM13(i) ((i) & 0x1fff)
/* Sign extension macros. */
-#define X_SIMM13(i) ((X_IMM13 (i) ^ 0x1000) - 0x1000)
#define X_DISP22(i) ((X_IMM22 (i) ^ 0x200000) - 0x200000)
-#define X_CC(i) (((i) >> 20) & 3)
-#define X_P(i) (((i) >> 19) & 1)
#define X_DISP19(i) ((((i) & 0x7ffff) ^ 0x40000) - 0x40000)
-#define X_RCOND(i) (((i) >> 25) & 7)
-#define X_DISP16(i) ((((((i) >> 6) && 0xc000) | ((i) & 0x3fff)) ^ 0x8000) - 0x8000)
-#define X_FCN(i) (((i) >> 25) & 31)
-
-typedef enum
-{
- Error, not_branch, bicc, bicca, ba, baa, ticc, ta, done_retry
-} branch_type;
-
-/* Simulate single-step ptrace call for sun4. Code written by Gary
- Beihl (beihl@mcc.com). */
-
-/* npc4 and next_pc describe the situation at the time that the
- step-breakpoint was set, not necessary the current value of DEPRECATED_NPC_REGNUM. */
-static CORE_ADDR next_pc, npc4, target;
-static int brknpc4, brktrg;
-typedef char binsn_quantum[BREAKPOINT_MAX];
-static binsn_quantum break_mem[3];
-
-static branch_type isbranch (long, CORE_ADDR, CORE_ADDR *);
-/* single_step() is called just before we want to resume the inferior,
- if we want to single-step it but there is no hardware or kernel single-step
- support (as on all SPARCs). We find all the possible targets of the
- coming instruction and breakpoint them.
+/* Fetch the instruction at PC. Instructions are always big-endian
+ even if the processor operates in little-endian mode. */
- single_step is also called just after the inferior stops. If we had
- set up a simulated single-step, we undo our damage. */
-
-void
-sparc_software_single_step (enum target_signal ignore, /* pid, but we don't need it */
- int insert_breakpoints_p)
+unsigned long
+sparc_fetch_instruction (CORE_ADDR pc)
{
- branch_type br;
- CORE_ADDR pc;
- long pc_instruction;
-
- if (insert_breakpoints_p)
- {
- /* Always set breakpoint for NPC. */
- next_pc = read_register (DEPRECATED_NPC_REGNUM);
- npc4 = next_pc + 4; /* branch not taken */
-
- target_insert_breakpoint (next_pc, break_mem[0]);
- /* printf_unfiltered ("set break at %x\n",next_pc); */
+ unsigned char buf[4];
+ unsigned long insn;
+ int i;
- pc = read_register (PC_REGNUM);
- pc_instruction = fetch_instruction (pc);
- br = isbranch (pc_instruction, pc, &target);
- brknpc4 = brktrg = 0;
+ read_memory (pc, buf, sizeof (buf));
- if (br == bicca)
- {
- /* Conditional annulled branch will either end up at
- npc (if taken) or at npc+4 (if not taken).
- Trap npc+4. */
- brknpc4 = 1;
- target_insert_breakpoint (npc4, break_mem[1]);
- }
- else if (br == baa && target != next_pc)
- {
- /* Unconditional annulled branch will always end up at
- the target. */
- brktrg = 1;
- target_insert_breakpoint (target, break_mem[2]);
- }
- else if (GDB_TARGET_IS_SPARC64 && br == done_retry)
- {
- brktrg = 1;
- target_insert_breakpoint (target, break_mem[2]);
- }
- }
- else
- {
- /* Remove breakpoints */
- target_remove_breakpoint (next_pc, break_mem[0]);
+ insn = 0;
+ for (i = 0; i < sizeof (buf); i++)
+ insn = (insn << 8) | buf[i];
+ return insn;
+}
+
+/* Return the contents if register REGNUM as an address. */
- if (brknpc4)
- target_remove_breakpoint (npc4, break_mem[1]);
+static CORE_ADDR
+sparc_address_from_register (int regnum)
+{
+ ULONGEST addr;
- if (brktrg)
- target_remove_breakpoint (target, break_mem[2]);
- }
+ regcache_cooked_read_unsigned (current_regcache, regnum, &addr);
+ return addr;
}
-struct frame_extra_info
-{
- CORE_ADDR bottom;
- int in_prologue;
- int flat;
- /* Following fields only relevant for flat frames. */
- CORE_ADDR pc_addr;
- CORE_ADDR fp_addr;
- /* Add this to ->frame to get the value of the stack pointer at the
- time of the register saves. */
- int sp_offset;
-};
-/* Call this for each newly created frame. For SPARC, we need to
- calculate the bottom of the frame, and do some extra work if the
- prologue has been generated via the -mflat option to GCC. In
- particular, we need to know where the previous fp and the pc have
- been stashed, since their exact position within the frame may vary. */
+/* The functions on this page are intended to be used to classify
+ function arguments. */
-void
-sparc_init_extra_frame_info (int fromleaf, struct frame_info *fi)
-{
- char *name;
- CORE_ADDR prologue_start, prologue_end;
- int insn;
-
- frame_extra_info_zalloc (fi, sizeof (struct frame_extra_info));
- frame_saved_regs_zalloc (fi);
-
- get_frame_extra_info (fi)->bottom =
- (get_next_frame (fi)
- ? (get_frame_base (fi) == get_frame_base (get_next_frame (fi))
- ? get_frame_extra_info (get_next_frame (fi))->bottom
- : get_frame_base (get_next_frame (fi)))
- : read_sp ());
-
- /* If fi->next is NULL, then we already set ->frame by passing
- deprecated_read_fp() to create_new_frame. */
- if (get_next_frame (fi))
- {
- char buf[MAX_REGISTER_SIZE];
-
- /* Compute ->frame as if not flat. If it is flat, we'll change
- it later. */
- if (get_next_frame (get_next_frame (fi)) != NULL
- && ((get_frame_type (get_next_frame (get_next_frame (fi))) == SIGTRAMP_FRAME)
- || deprecated_frame_in_dummy (get_next_frame (get_next_frame (fi))))
- && frameless_look_for_prologue (get_next_frame (fi)))
- {
- /* A frameless function interrupted by a signal did not change
- the frame pointer, fix up frame pointer accordingly. */
- deprecated_update_frame_base_hack (fi, get_frame_base (get_next_frame (fi)));
- get_frame_extra_info (fi)->bottom =
- get_frame_extra_info (get_next_frame (fi))->bottom;
- }
- else
- {
- /* Should we adjust for stack bias here? */
- ULONGEST tmp;
- tmp = get_frame_register_unsigned (fi, DEPRECATED_FP_REGNUM);
- deprecated_update_frame_base_hack (fi, tmp);
- if (GDB_TARGET_IS_SPARC64 && (get_frame_base (fi) & 1))
- deprecated_update_frame_base_hack (fi, get_frame_base (fi) + 2047);
- }
- }
+/* Check whether TYPE is "Integral or Pointer". */
- /* Decide whether this is a function with a ``flat register window''
- frame. For such functions, the frame pointer is actually in %i7. */
- get_frame_extra_info (fi)->flat = 0;
- get_frame_extra_info (fi)->in_prologue = 0;
- if (find_pc_partial_function (get_frame_pc (fi), &name, &prologue_start, &prologue_end))
- {
- /* See if the function starts with an add (which will be of a
- negative number if a flat frame) to the sp. FIXME: Does not
- handle large frames which will need more than one instruction
- to adjust the sp. */
- insn = fetch_instruction (prologue_start);
- if (X_OP (insn) == 2 && X_RD (insn) == 14 && X_OP3 (insn) == 0
- && X_I (insn) && X_SIMM13 (insn) < 0)
- {
- int offset = X_SIMM13 (insn);
-
- /* Then look for a save of %i7 into the frame. */
- insn = fetch_instruction (prologue_start + 4);
- if (X_OP (insn) == 3
- && X_RD (insn) == 31
- && X_OP3 (insn) == 4
- && X_RS1 (insn) == 14)
- {
- char buf[MAX_REGISTER_SIZE];
-
- /* We definitely have a flat frame now. */
- get_frame_extra_info (fi)->flat = 1;
-
- get_frame_extra_info (fi)->sp_offset = offset;
-
- /* Overwrite the frame's address with the value in %i7. */
- {
- ULONGEST tmp;
- tmp = get_frame_register_unsigned (fi, I7_REGNUM);
- deprecated_update_frame_base_hack (fi, tmp);
- }
-
- if (GDB_TARGET_IS_SPARC64 && (get_frame_base (fi) & 1))
- deprecated_update_frame_base_hack (fi, get_frame_base (fi) + 2047);
-
- /* Record where the fp got saved. */
- get_frame_extra_info (fi)->fp_addr =
- get_frame_base (fi) + get_frame_extra_info (fi)->sp_offset + X_SIMM13 (insn);
-
- /* Also try to collect where the pc got saved to. */
- get_frame_extra_info (fi)->pc_addr = 0;
- insn = fetch_instruction (prologue_start + 12);
- if (X_OP (insn) == 3
- && X_RD (insn) == 15
- && X_OP3 (insn) == 4
- && X_RS1 (insn) == 14)
- get_frame_extra_info (fi)->pc_addr =
- get_frame_base (fi) + get_frame_extra_info (fi)->sp_offset + X_SIMM13 (insn);
- }
- }
- else
- {
- /* Check if the PC is in the function prologue before a SAVE
- instruction has been executed yet. If so, set the frame
- to the current value of the stack pointer and set
- the in_prologue flag. */
- CORE_ADDR addr;
- struct symtab_and_line sal;
-
- sal = find_pc_line (prologue_start, 0);
- if (sal.line == 0) /* no line info, use PC */
- prologue_end = get_frame_pc (fi);
- else if (sal.end < prologue_end)
- prologue_end = sal.end;
- if (get_frame_pc (fi) < prologue_end)
- {
- for (addr = prologue_start; addr < get_frame_pc (fi); addr += 4)
- {
- insn = read_memory_integer (addr, 4);
- if (X_OP (insn) == 2 && X_OP3 (insn) == 0x3c)
- break; /* SAVE seen, stop searching */
- }
- if (addr >= get_frame_pc (fi))
- {
- get_frame_extra_info (fi)->in_prologue = 1;
- deprecated_update_frame_base_hack (fi, read_register (SP_REGNUM));
- }
- }
- }
- }
- if (get_next_frame (fi) && get_frame_base (fi) == 0)
+static int
+sparc_integral_or_pointer_p (const struct type *type)
+{
+ switch (TYPE_CODE (type))
{
- /* Kludge to cause init_prev_frame_info to destroy the new frame. */
- deprecated_update_frame_base_hack (fi, get_frame_base (get_next_frame (fi)));
- deprecated_update_frame_pc_hack (fi, get_frame_pc (get_next_frame (fi)));
+ case TYPE_CODE_INT:
+ case TYPE_CODE_BOOL:
+ case TYPE_CODE_CHAR:
+ case TYPE_CODE_ENUM:
+ case TYPE_CODE_RANGE:
+ {
+ /* We have byte, half-word, word and extended-word/doubleword
+ integral types. The doubleword is an extension to the
+ origional 32-bit ABI by the SCD 2.4.x. */
+ int len = TYPE_LENGTH (type);
+ return (len == 1 || len == 2 || len == 4 || len == 8);
+ }
+ return 1;
+ case TYPE_CODE_PTR:
+ case TYPE_CODE_REF:
+ {
+ /* Allow either 32-bit or 64-bit pointers. */
+ int len = TYPE_LENGTH (type);
+ return (len == 4 || len == 8);
+ }
+ return 1;
+ default:
+ break;
}
-}
-CORE_ADDR
-sparc_frame_chain (struct frame_info *frame)
-{
- /* Value that will cause DEPRECATED_FRAME_CHAIN_VALID to not worry
- about the chain value. If it really is zero, we detect it later
- in sparc_init_prev_frame.
-
- Note: kevinb/2003-02-18: The constant 1 used to be returned here,
- but, after some recent changes to legacy_frame_chain_valid(),
- this value is no longer suitable for causing
- legacy_frame_chain_valid() to "not worry about the chain value."
- The constant ~0 (i.e, 0xfff...) causes the failing test in
- legacy_frame_chain_valid() to succeed thus preserving the "not
- worry" property. I had considered using something like
- ``get_frame_base (frame) + 1''. However, I think a constant
- value is better, because when debugging this problem, I knew that
- something funny was going on as soon as I saw the constant 1
- being used as the frame chain elsewhere in GDB. */
-
- return ~ (CORE_ADDR) 0;
+ return 0;
}
-/* Find the pc saved in frame FRAME. */
+/* Check whether TYPE is "Floating". */
-CORE_ADDR
-sparc_frame_saved_pc (struct frame_info *frame)
+static int
+sparc_floating_p (const struct type *type)
{
- char buf[MAX_REGISTER_SIZE];
- CORE_ADDR addr;
-
- if ((get_frame_type (frame) == SIGTRAMP_FRAME))
+ switch (TYPE_CODE (type))
{
- /* This is the signal trampoline frame.
- Get the saved PC from the sigcontext structure. */
-
-#ifndef SIGCONTEXT_PC_OFFSET
-#define SIGCONTEXT_PC_OFFSET 12
-#endif
-
- CORE_ADDR sigcontext_addr;
- char *scbuf;
- int saved_pc_offset = SIGCONTEXT_PC_OFFSET;
- char *name = NULL;
-
- scbuf = alloca (TARGET_PTR_BIT / HOST_CHAR_BIT);
-
- /* Solaris2 ucbsigvechandler passes a pointer to a sigcontext
- as the third parameter. The offset to the saved pc is 12. */
- find_pc_partial_function (get_frame_pc (frame), &name,
- (CORE_ADDR *) NULL, (CORE_ADDR *) NULL);
- if (name && DEPRECATED_STREQ (name, "ucbsigvechandler"))
- saved_pc_offset = 12;
-
- /* The sigcontext address is contained in register O2. */
+ case TYPE_CODE_FLT:
{
- ULONGEST tmp;
- tmp = get_frame_register_unsigned (frame, O0_REGNUM + 2);
- sigcontext_addr = tmp;
+ int len = TYPE_LENGTH (type);
+ return (len == 4 || len == 8 || len == 16);
}
-
- /* Don't cause a memory_error when accessing sigcontext in case the
- stack layout has changed or the stack is corrupt. */
- target_read_memory (sigcontext_addr + saved_pc_offset,
- scbuf, sizeof (scbuf));
- return extract_unsigned_integer (scbuf, sizeof (scbuf));
- }
- else if (get_frame_extra_info (frame)->in_prologue ||
- (get_next_frame (frame) != NULL &&
- ((get_frame_type (get_next_frame (frame)) == SIGTRAMP_FRAME) ||
- deprecated_frame_in_dummy (get_next_frame (frame))) &&
- frameless_look_for_prologue (frame)))
- {
- /* A frameless function interrupted by a signal did not save
- the PC, it is still in %o7. */
- ULONGEST tmp;
- tmp = get_frame_register_unsigned (frame, O7_REGNUM);
- return PC_ADJUST (tmp);
+ default:
+ break;
}
- if (get_frame_extra_info (frame)->flat)
- addr = get_frame_extra_info (frame)->pc_addr;
- else
- addr = get_frame_extra_info (frame)->bottom + FRAME_SAVED_I0 +
- SPARC_INTREG_SIZE * (I7_REGNUM - I0_REGNUM);
- if (addr == 0)
- /* A flat frame leaf function might not save the PC anywhere,
- just leave it in %o7. */
- return PC_ADJUST (read_register (O7_REGNUM));
-
- read_memory (addr, buf, SPARC_INTREG_SIZE);
- return PC_ADJUST (extract_unsigned_integer (buf, SPARC_INTREG_SIZE));
+ return 0;
}
-/* Since an individual frame in the frame cache is defined by two
- arguments (a frame pointer and a stack pointer), we need two
- arguments to get info for an arbitrary stack frame. This routine
- takes two arguments and makes the cached frames look as if these
- two arguments defined a frame on the cache. This allows the rest
- of info frame to extract the important arguments without
- difficulty. */
+/* Check whether TYPE is "Structure or Union". */
-struct frame_info *
-setup_arbitrary_frame (int argc, CORE_ADDR *argv)
+static int
+sparc_structure_or_union_p (const struct type *type)
{
- struct frame_info *frame;
-
- if (argc != 2)
- error ("Sparc frame specifications require two arguments: fp and sp");
+ switch (TYPE_CODE (type))
+ {
+ case TYPE_CODE_STRUCT:
+ case TYPE_CODE_UNION:
+ return 1;
+ default:
+ break;
+ }
- frame = create_new_frame (argv[0], 0);
+ return 0;
+}
- if (!frame)
- internal_error (__FILE__, __LINE__,
- "create_new_frame returned invalid frame");
+/* Register information. */
- get_frame_extra_info (frame)->bottom = argv[1];
- deprecated_update_frame_pc_hack (frame, DEPRECATED_FRAME_SAVED_PC (frame));
- return frame;
-}
+static const char *sparc32_register_names[] =
+{
+ "g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7",
+ "o0", "o1", "o2", "o3", "o4", "o5", "sp", "o7",
+ "l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7",
+ "i0", "i1", "i2", "i3", "i4", "i5", "fp", "i7",
-/* Given a pc value, skip it forward past the function prologue by
- disassembling instructions that appear to be a prologue.
+ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
+ "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
+ "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
+ "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
- If FRAMELESS_P is set, we are only testing to see if the function
- is frameless. This allows a quicker answer.
+ "y", "psr", "wim", "tbr", "pc", "npc", "fsr", "csr"
+};
- This routine should be more specific in its actions; making sure
- that it uses the same register in the initial prologue section. */
+/* Total number of registers. */
+#define SPARC32_NUM_REGS ARRAY_SIZE (sparc32_register_names)
-static CORE_ADDR examine_prologue (CORE_ADDR, int, struct frame_info *,
- CORE_ADDR *);
+/* We provide the aliases %d0..%d30 for the floating registers as
+ "psuedo" registers. */
-static CORE_ADDR
-examine_prologue (CORE_ADDR start_pc, int frameless_p, struct frame_info *fi,
- CORE_ADDR *saved_regs)
+static const char *sparc32_pseudo_register_names[] =
{
- int insn;
- int dest = -1;
- CORE_ADDR pc = start_pc;
- int is_flat = 0;
-
- insn = fetch_instruction (pc);
+ "d0", "d2", "d4", "d6", "d8", "d10", "d12", "d14",
+ "d16", "d18", "d20", "d22", "d24", "d26", "d28", "d30"
+};
- /* Recognize the `sethi' insn and record its destination. */
- if (X_OP (insn) == 0 && X_OP2 (insn) == 4)
- {
- dest = X_RD (insn);
- pc += 4;
- insn = fetch_instruction (pc);
- }
+/* Total number of pseudo registers. */
+#define SPARC32_NUM_PSEUDO_REGS ARRAY_SIZE (sparc32_pseudo_register_names)
- /* Recognize an add immediate value to register to either %g1 or
- the destination register recorded above. Actually, this might
- well recognize several different arithmetic operations.
- It doesn't check that rs1 == rd because in theory "sub %g0, 5, %g1"
- followed by "save %sp, %g1, %sp" is a valid prologue (Not that
- I imagine any compiler really does that, however). */
- if (X_OP (insn) == 2
- && X_I (insn)
- && (X_RD (insn) == 1 || X_RD (insn) == dest))
- {
- pc += 4;
- insn = fetch_instruction (pc);
- }
+/* Return the name of register REGNUM. */
- /* Recognize any SAVE insn. */
- if (X_OP (insn) == 2 && X_OP3 (insn) == 60)
- {
- pc += 4;
- if (frameless_p) /* If the save is all we care about, */
- return pc; /* return before doing more work */
- insn = fetch_instruction (pc);
- }
- /* Recognize add to %sp. */
- else if (X_OP (insn) == 2 && X_RD (insn) == 14 && X_OP3 (insn) == 0)
- {
- pc += 4;
- if (frameless_p) /* If the add is all we care about, */
- return pc; /* return before doing more work */
- is_flat = 1;
- insn = fetch_instruction (pc);
- /* Recognize store of frame pointer (i7). */
- if (X_OP (insn) == 3
- && X_RD (insn) == 31
- && X_OP3 (insn) == 4
- && X_RS1 (insn) == 14)
- {
- pc += 4;
- insn = fetch_instruction (pc);
-
- /* Recognize sub %sp, <anything>, %i7. */
- if (X_OP (insn) == 2
- && X_OP3 (insn) == 4
- && X_RS1 (insn) == 14
- && X_RD (insn) == 31)
- {
- pc += 4;
- insn = fetch_instruction (pc);
- }
- else
- return pc;
- }
- else
- return pc;
- }
- else
- /* Without a save or add instruction, it's not a prologue. */
- return start_pc;
+static const char *
+sparc32_register_name (int regnum)
+{
+ if (regnum >= 0 && regnum < SPARC32_NUM_REGS)
+ return sparc32_register_names[regnum];
- while (1)
- {
- /* Recognize stores into the frame from the input registers.
- This recognizes all non alternate stores of an input register,
- into a location offset from the frame pointer between
- +68 and +92. */
-
- /* The above will fail for arguments that are promoted
- (eg. shorts to ints or floats to doubles), because the compiler
- will pass them in positive-offset frame space, but the prologue
- will save them (after conversion) in negative frame space at an
- unpredictable offset. Therefore I am going to remove the
- restriction on the target-address of the save, on the theory
- that any unbroken sequence of saves from input registers must
- be part of the prologue. In un-optimized code (at least), I'm
- fairly sure that the compiler would emit SOME other instruction
- (eg. a move or add) before emitting another save that is actually
- a part of the function body.
-
- Besides, the reserved stack space is different for SPARC64 anyway.
-
- MVS 4/23/2000 */
-
- if (X_OP (insn) == 3
- && (X_OP3 (insn) & 0x3c) == 4 /* Store, non-alternate. */
- && (X_RD (insn) & 0x18) == 0x18 /* Input register. */
- && X_I (insn) /* Immediate mode. */
- && X_RS1 (insn) == 30) /* Off of frame pointer. */
- ; /* empty statement -- fall thru to end of loop */
- else if (GDB_TARGET_IS_SPARC64
- && X_OP (insn) == 3
- && (X_OP3 (insn) & 0x3c) == 12 /* store, extended (64-bit) */
- && (X_RD (insn) & 0x18) == 0x18 /* input register */
- && X_I (insn) /* immediate mode */
- && X_RS1 (insn) == 30) /* off of frame pointer */
- ; /* empty statement -- fall thru to end of loop */
- else if (X_OP (insn) == 3
- && (X_OP3 (insn) & 0x3c) == 36 /* store, floating-point */
- && X_I (insn) /* immediate mode */
- && X_RS1 (insn) == 30) /* off of frame pointer */
- ; /* empty statement -- fall thru to end of loop */
- else if (is_flat
- && X_OP (insn) == 3
- && X_OP3 (insn) == 4 /* store? */
- && X_RS1 (insn) == 14) /* off of frame pointer */
- {
- if (saved_regs && X_I (insn))
- saved_regs[X_RD (insn)] =
- get_frame_base (fi) + get_frame_extra_info (fi)->sp_offset + X_SIMM13 (insn);
- }
- else
- break;
- pc += 4;
- insn = fetch_instruction (pc);
- }
+ if (regnum < SPARC32_NUM_REGS + SPARC32_NUM_PSEUDO_REGS)
+ return sparc32_pseudo_register_names[regnum - SPARC32_NUM_REGS];
- return pc;
+ return NULL;
}
-/* Advance PC across any function entry prologue instructions to reach
- some "real" code. */
+/* Return the GDB type object for the "standard" data type of data in
+ register REGNUM. */
-CORE_ADDR
-sparc_skip_prologue (CORE_ADDR start_pc)
+static struct type *
+sparc32_register_type (struct gdbarch *gdbarch, int regnum)
{
- struct symtab_and_line sal;
- CORE_ADDR func_start, func_end;
-
- /* This is the preferred method, find the end of the prologue by
- using the debugging information. */
- if (find_pc_partial_function (start_pc, NULL, &func_start, &func_end))
- {
- sal = find_pc_line (func_start, 0);
+ if (regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM)
+ return builtin_type_float;
- if (sal.end < func_end
- && start_pc <= sal.end)
- return sal.end;
- }
+ if (regnum >= SPARC32_D0_REGNUM && regnum <= SPARC32_D30_REGNUM)
+ return builtin_type_double;
- /* Oh well, examine the code by hand. */
- return examine_prologue (start_pc, 0, NULL, NULL);
-}
+ if (regnum == SPARC_SP_REGNUM || regnum == SPARC_FP_REGNUM)
+ return builtin_type_void_data_ptr;
-/* Is the prologue at IP frameless? */
+ if (regnum == SPARC32_PC_REGNUM || regnum == SPARC32_NPC_REGNUM)
+ return builtin_type_void_func_ptr;
-int
-sparc_prologue_frameless_p (CORE_ADDR ip)
-{
- return ip == examine_prologue (ip, 1, NULL, NULL);
+ return builtin_type_int32;
}
-/* Check instruction at ADDR to see if it is a branch.
- All non-annulled instructions will go to NPC or will trap.
- Set *TARGET if we find a candidate branch; set to zero if not.
+static void
+sparc32_pseudo_register_read (struct gdbarch *gdbarch,
+ struct regcache *regcache,
+ int regnum, void *buf)
+{
+ gdb_assert (regnum >= SPARC32_D0_REGNUM && regnum <= SPARC32_D30_REGNUM);
- This isn't static as it's used by remote-sa.sparc.c. */
+ regnum = SPARC_F0_REGNUM + 2 * (regnum - SPARC32_D0_REGNUM);
+ regcache_raw_read (regcache, regnum, buf);
+ regcache_raw_read (regcache, regnum + 1, ((char *)buf) + 4);
+}
-static branch_type
-isbranch (long instruction, CORE_ADDR addr, CORE_ADDR *target)
+static void
+sparc32_pseudo_register_write (struct gdbarch *gdbarch,
+ struct regcache *regcache,
+ int regnum, const void *buf)
{
- branch_type val = not_branch;
- long int offset = 0; /* Must be signed for sign-extend. */
-
- *target = 0;
-
- if (X_OP (instruction) == 0
- && (X_OP2 (instruction) == 2
- || X_OP2 (instruction) == 6
- || X_OP2 (instruction) == 1
- || X_OP2 (instruction) == 3
- || X_OP2 (instruction) == 5
- || (GDB_TARGET_IS_SPARC64 && X_OP2 (instruction) == 7)))
- {
- if (X_COND (instruction) == 8)
- val = X_A (instruction) ? baa : ba;
- else
- val = X_A (instruction) ? bicca : bicc;
- switch (X_OP2 (instruction))
- {
- case 7:
- if (!GDB_TARGET_IS_SPARC64)
- break;
- /* else fall thru */
- case 2:
- case 6:
- offset = 4 * X_DISP22 (instruction);
- break;
- case 1:
- case 5:
- offset = 4 * X_DISP19 (instruction);
- break;
- case 3:
- offset = 4 * X_DISP16 (instruction);
- break;
- }
- *target = addr + offset;
- }
- else if (GDB_TARGET_IS_SPARC64
- && X_OP (instruction) == 2
- && X_OP3 (instruction) == 62)
- {
- if (X_FCN (instruction) == 0)
- {
- /* done */
- *target = read_register (TNPC_REGNUM);
- val = done_retry;
- }
- else if (X_FCN (instruction) == 1)
- {
- /* retry */
- *target = read_register (TPC_REGNUM);
- val = done_retry;
- }
- }
+ gdb_assert (regnum >= SPARC32_D0_REGNUM && regnum <= SPARC32_D30_REGNUM);
- return val;
+ regnum = SPARC_F0_REGNUM + 2 * (regnum - SPARC32_D0_REGNUM);
+ regcache_raw_write (regcache, regnum, buf);
+ regcache_raw_write (regcache, regnum + 1, ((const char *)buf) + 4);
}
-/* Find register number REGNUM relative to FRAME and put its
- (raw) contents in *RAW_BUFFER. Set *OPTIMIZED if the variable
- was optimized out (and thus can't be fetched). If the variable
- was fetched from memory, set *ADDRP to where it was fetched from,
- otherwise it was fetched from a register.
-
- The argument RAW_BUFFER must point to aligned memory. */
-void
-sparc_get_saved_register (char *raw_buffer, int *optimized, CORE_ADDR *addrp,
- struct frame_info *frame, int regnum,
- enum lval_type *lval)
+static CORE_ADDR
+sparc32_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp,
+ CORE_ADDR funcaddr, int using_gcc,
+ struct value **args, int nargs,
+ struct type *value_type,
+ CORE_ADDR *real_pc, CORE_ADDR *bp_addr)
{
- struct frame_info *frame1;
- CORE_ADDR addr;
-
- if (!target_has_registers)
- error ("No registers.");
-
- if (optimized)
- *optimized = 0;
+ *bp_addr = sp - 4;
+ *real_pc = funcaddr;
- addr = 0;
-
- /* FIXME This code extracted from infcmd.c; should put elsewhere! */
- if (frame == NULL)
+ if (using_struct_return (value_type, using_gcc))
{
- /* error ("No selected frame."); */
- if (!target_has_registers)
- error ("The program has no registers now.");
- if (deprecated_selected_frame == NULL)
- error ("No selected frame.");
- /* Try to use selected frame */
- frame = get_prev_frame (deprecated_selected_frame);
- if (frame == 0)
- error ("Cmd not meaningful in the outermost frame.");
- }
+ char buf[4];
+ /* This is an UNIMP instruction. */
+ store_unsigned_integer (buf, 4, TYPE_LENGTH (value_type) & 0x1fff);
+ write_memory (sp - 8, buf, 4);
+ return sp - 8;
+ }
- frame1 = get_next_frame (frame);
+ return sp - 4;
+}
- /* Get saved PC from the frame info if not in innermost frame. */
- if (regnum == PC_REGNUM && frame1 != NULL)
- {
- if (lval != NULL)
- *lval = not_lval;
- if (raw_buffer != NULL)
- {
- /* Put it back in target format. */
- store_unsigned_integer (raw_buffer, DEPRECATED_REGISTER_RAW_SIZE (regnum), get_frame_pc (frame));
- }
- if (addrp != NULL)
- *addrp = 0;
- return;
- }
+static CORE_ADDR
+sparc32_store_arguments (struct regcache *regcache, int nargs,
+ struct value **args, CORE_ADDR sp,
+ int struct_return, CORE_ADDR struct_addr)
+{
+ /* Number of words in the "parameter array". */
+ int num_elements = 0;
+ int element = 0;
+ int i;
- while (frame1 != NULL)
+ for (i = 0; i < nargs; i++)
{
- /* FIXME MVS: wrong test for dummy frame at entry. */
+ struct type *type = VALUE_TYPE (args[i]);
+ int len = TYPE_LENGTH (type);
- if (get_frame_pc (frame1) >= (get_frame_extra_info (frame1)->bottom
- ? get_frame_extra_info (frame1)->bottom
- : read_sp ())
- && get_frame_pc (frame1) <= get_frame_base (frame1))
- {
- /* Dummy frame. All but the window regs are in there somewhere.
- The window registers are saved on the stack, just like in a
- normal frame. */
- if (regnum >= G1_REGNUM && regnum < G1_REGNUM + 7)
- addr = get_frame_base (frame1) + (regnum - G0_REGNUM) * SPARC_INTREG_SIZE
- - (FP_REGISTER_BYTES + 8 * SPARC_INTREG_SIZE);
- else if (regnum >= I0_REGNUM && regnum < I0_REGNUM + 8)
- /* NOTE: cagney/2002-05-04: The call to get_prev_frame()
- is safe/cheap - there will always be a prev frame.
- This is because frame1 is initialized to frame->next
- (frame1->prev == frame) and is then advanced towards
- the innermost (next) frame. */
- addr = (get_frame_extra_info (get_prev_frame (frame1))->bottom
- + (regnum - I0_REGNUM) * SPARC_INTREG_SIZE
- + FRAME_SAVED_I0);
- else if (regnum >= L0_REGNUM && regnum < L0_REGNUM + 8)
- /* NOTE: cagney/2002-05-04: The call to get_prev_frame()
- is safe/cheap - there will always be a prev frame.
- This is because frame1 is initialized to frame->next
- (frame1->prev == frame) and is then advanced towards
- the innermost (next) frame. */
- addr = (get_frame_extra_info (get_prev_frame (frame1))->bottom
- + (regnum - L0_REGNUM) * SPARC_INTREG_SIZE
- + FRAME_SAVED_L0);
- else if (regnum >= O0_REGNUM && regnum < O0_REGNUM + 8)
- addr = get_frame_base (frame1) + (regnum - O0_REGNUM) * SPARC_INTREG_SIZE
- - (FP_REGISTER_BYTES + 16 * SPARC_INTREG_SIZE);
- else if (SPARC_HAS_FPU &&
- regnum >= FP0_REGNUM && regnum < FP0_REGNUM + 32)
- addr = get_frame_base (frame1) + (regnum - FP0_REGNUM) * 4
- - (FP_REGISTER_BYTES);
- else if (GDB_TARGET_IS_SPARC64 && SPARC_HAS_FPU &&
- regnum >= FP0_REGNUM + 32 && regnum < FP_MAX_REGNUM)
- addr = get_frame_base (frame1) + 32 * 4 + (regnum - FP0_REGNUM - 32) * 8
- - (FP_REGISTER_BYTES);
- else if (regnum >= Y_REGNUM && regnum < NUM_REGS)
- addr = get_frame_base (frame1) + (regnum - Y_REGNUM) * SPARC_INTREG_SIZE
- - (FP_REGISTER_BYTES + 24 * SPARC_INTREG_SIZE);
- }
- else if (get_frame_extra_info (frame1)->flat)
+ if (sparc_structure_or_union_p (type)
+ || (sparc_floating_p (type) && len == 16))
{
+ /* Structure, Union and Quad-Precision Arguments. */
+ sp -= len;
- if (regnum == RP_REGNUM)
- addr = get_frame_extra_info (frame1)->pc_addr;
- else if (regnum == I7_REGNUM)
- addr = get_frame_extra_info (frame1)->fp_addr;
- else
- {
- CORE_ADDR func_start;
- CORE_ADDR *regs;
-
- regs = alloca (NUM_REGS * sizeof (CORE_ADDR));
- memset (regs, 0, NUM_REGS * sizeof (CORE_ADDR));
+ /* Use doubleword alignment for these values. That's always
+ correct, and wasting a few bytes shouldn't be a problem. */
+ sp &= ~0x7;
- find_pc_partial_function (get_frame_pc (frame1), NULL, &func_start, NULL);
- examine_prologue (func_start, 0, frame1, regs);
- addr = regs[regnum];
- }
+ write_memory (sp, VALUE_CONTENTS (args[i]), len);
+ args[i] = value_from_pointer (lookup_pointer_type (type), sp);
+ num_elements++;
}
- else
+ else if (sparc_floating_p (type))
{
- /* Normal frame. Local and In registers are saved on stack. */
- if (regnum >= I0_REGNUM && regnum < I0_REGNUM + 8)
- addr = (get_frame_extra_info (get_prev_frame (frame1))->bottom
- + (regnum - I0_REGNUM) * SPARC_INTREG_SIZE
- + FRAME_SAVED_I0);
- else if (regnum >= L0_REGNUM && regnum < L0_REGNUM + 8)
- addr = (get_frame_extra_info (get_prev_frame (frame1))->bottom
- + (regnum - L0_REGNUM) * SPARC_INTREG_SIZE
- + FRAME_SAVED_L0);
- else if (regnum >= O0_REGNUM && regnum < O0_REGNUM + 8)
- {
- /* Outs become ins. */
- int realnum;
- frame_register (frame1, (regnum - O0_REGNUM + I0_REGNUM),
- optimized, lval, addrp, &realnum, raw_buffer);
- return;
- }
+ /* Floating arguments. */
+ gdb_assert (len == 4 || len == 8);
+ num_elements += (len / 4);
}
- if (addr != 0)
- break;
- frame1 = get_next_frame (frame1);
- }
- if (addr != 0)
- {
- if (lval != NULL)
- *lval = lval_memory;
- if (regnum == SP_REGNUM)
+ else
{
- if (raw_buffer != NULL)
- {
- /* Put it back in target format. */
- store_unsigned_integer (raw_buffer, DEPRECATED_REGISTER_RAW_SIZE (regnum), addr);
- }
- if (addrp != NULL)
- *addrp = 0;
- return;
+ /* Integral and pointer arguments. */
+ gdb_assert (sparc_integral_or_pointer_p (type));
+
+ if (len < 4)
+ args[i] = value_cast (builtin_type_int32, args[i]);
+ num_elements += ((len + 3) / 4);
}
- if (raw_buffer != NULL)
- read_memory (addr, raw_buffer, DEPRECATED_REGISTER_RAW_SIZE (regnum));
}
- else
- {
- if (lval != NULL)
- *lval = lval_register;
- addr = DEPRECATED_REGISTER_BYTE (regnum);
- if (raw_buffer != NULL)
- deprecated_read_register_gen (regnum, raw_buffer);
- }
- if (addrp != NULL)
- *addrp = addr;
-}
-
-/* Push an empty stack frame, and record in it the current PC, regs, etc.
- We save the non-windowed registers and the ins. The locals and outs
- are new; they don't need to be saved. The i's and l's of
- the last frame were already saved on the stack. */
+ /* Always allocate at least six words. */
+ sp -= max (6, num_elements) * 4;
-/* Definitely see tm-sparc.h for more doc of the frame format here. */
-
-/* See tm-sparc.h for how this is calculated. */
-
-#define DUMMY_STACK_REG_BUF_SIZE \
- (((8+8+8) * SPARC_INTREG_SIZE) + FP_REGISTER_BYTES)
-#define DUMMY_STACK_SIZE \
- (DUMMY_STACK_REG_BUF_SIZE + DUMMY_REG_SAVE_OFFSET)
-
-void
-sparc_push_dummy_frame (void)
-{
- CORE_ADDR sp, old_sp;
- char *register_temp;
-
- register_temp = alloca (DUMMY_STACK_SIZE);
+ /* The psABI says that "Software convention requires space for the
+ struct/union return value pointer, even if the word is unused." */
+ sp -= 4;
- old_sp = sp = read_sp ();
+ /* The psABI says that "Although software convention and the
+ operating system require every stack frame to be doubleword
+ aligned." */
+ sp &= ~0x7;
- if (GDB_TARGET_IS_SPARC64)
- {
- /* PC, NPC, CCR, FSR, FPRS, Y, ASI */
- deprecated_read_register_bytes (DEPRECATED_REGISTER_BYTE (PC_REGNUM),
- &register_temp[0],
- DEPRECATED_REGISTER_RAW_SIZE (PC_REGNUM) * 7);
- deprecated_read_register_bytes (DEPRECATED_REGISTER_BYTE (PSTATE_REGNUM),
- &register_temp[7 * SPARC_INTREG_SIZE],
- DEPRECATED_REGISTER_RAW_SIZE (PSTATE_REGNUM));
- /* FIXME: not sure what needs to be saved here. */
- }
- else
+ for (i = 0; i < nargs; i++)
{
- /* Y, PS, WIM, TBR, PC, NPC, FPS, CPS regs */
- deprecated_read_register_bytes (DEPRECATED_REGISTER_BYTE (Y_REGNUM),
- &register_temp[0],
- DEPRECATED_REGISTER_RAW_SIZE (Y_REGNUM) * 8);
- }
-
- deprecated_read_register_bytes (DEPRECATED_REGISTER_BYTE (O0_REGNUM),
- &register_temp[8 * SPARC_INTREG_SIZE],
- SPARC_INTREG_SIZE * 8);
+ char *valbuf = VALUE_CONTENTS (args[i]);
+ struct type *type = VALUE_TYPE (args[i]);
+ int len = TYPE_LENGTH (type);
- deprecated_read_register_bytes (DEPRECATED_REGISTER_BYTE (G0_REGNUM),
- &register_temp[16 * SPARC_INTREG_SIZE],
- SPARC_INTREG_SIZE * 8);
+ gdb_assert (len == 4 || len == 8);
- if (SPARC_HAS_FPU)
- deprecated_read_register_bytes (DEPRECATED_REGISTER_BYTE (FP0_REGNUM),
- &register_temp[24 * SPARC_INTREG_SIZE],
- FP_REGISTER_BYTES);
+ if (element < 6)
+ {
+ int regnum = SPARC_O0_REGNUM + element;
- sp -= DUMMY_STACK_SIZE;
+ regcache_cooked_write (regcache, regnum, valbuf);
+ if (len > 4 && element < 5)
+ regcache_cooked_write (regcache, regnum + 1, valbuf + 4);
+ }
- DEPRECATED_DUMMY_WRITE_SP (sp);
+ /* Always store the argument in memory. */
+ write_memory (sp + 4 + element * 4, valbuf, len);
+ element += len / 4;
+ }
- write_memory (sp + DUMMY_REG_SAVE_OFFSET, &register_temp[0],
- DUMMY_STACK_REG_BUF_SIZE);
+ gdb_assert (element == num_elements);
- if (strcmp (target_shortname, "sim") != 0)
- {
- /* NOTE: cagney/2002-04-04: The code below originally contained
- GDB's _only_ call to write_fp(). That call was eliminated by
- inlining the corresponding code. For the 64 bit case, the
- old function (sparc64_write_fp) did the below although I'm
- not clear why. The same goes for why this is only done when
- the underlying target is a simulator. */
- if (GDB_TARGET_IS_SPARC64)
- {
- /* Target is a 64 bit SPARC. */
- CORE_ADDR oldfp = read_register (DEPRECATED_FP_REGNUM);
- if (oldfp & 1)
- write_register (DEPRECATED_FP_REGNUM, old_sp - 2047);
- else
- write_register (DEPRECATED_FP_REGNUM, old_sp);
- }
- else
- {
- /* Target is a 32 bit SPARC. */
- write_register (DEPRECATED_FP_REGNUM, old_sp);
- }
- /* Set return address register for the call dummy to the current PC. */
- write_register (I7_REGNUM, read_pc () - 8);
- }
- else
+ if (struct_return)
{
- /* The call dummy will write this value to FP before executing
- the 'save'. This ensures that register window flushes work
- correctly in the simulator. */
- write_register (G0_REGNUM + 1, read_register (DEPRECATED_FP_REGNUM));
-
- /* The call dummy will write this value to FP after executing
- the 'save'. */
- write_register (G0_REGNUM + 2, old_sp);
-
- /* The call dummy will write this value to the return address (%i7) after
- executing the 'save'. */
- write_register (G0_REGNUM + 3, read_pc () - 8);
-
- /* Set the FP that the call dummy will be using after the 'save'.
- This makes backtraces from an inferior function call work properly. */
- write_register (DEPRECATED_FP_REGNUM, old_sp);
+ char buf[4];
+
+ store_unsigned_integer (buf, 4, struct_addr);
+ write_memory (sp, buf, 4);
}
-}
-/* sparc_frame_find_saved_regs (). This function is here only because
- pop_frame uses it. Note there is an interesting corner case which
- I think few ports of GDB get right--if you are popping a frame
- which does not save some register that *is* saved by a more inner
- frame (such a frame will never be a dummy frame because dummy
- frames save all registers).
+ return sp;
+}
- NOTE: cagney/2003-03-12: Since pop_frame has been rewritten to use
- frame_unwind_register() the need for this function is questionable.
+static CORE_ADDR
+sparc32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
+ struct regcache *regcache, CORE_ADDR bp_addr,
+ int nargs, struct value **args, CORE_ADDR sp,
+ int struct_return, CORE_ADDR struct_addr)
+{
+ CORE_ADDR call_pc = (struct_return ? (bp_addr - 12) : (bp_addr - 8));
- Stores, into an array of CORE_ADDR,
- the addresses of the saved registers of frame described by FRAME_INFO.
- This includes special registers such as pc and fp saved in special
- ways in the stack frame. sp is even more special:
- the address we return for it IS the sp for the next frame.
+ /* Set return address. */
+ regcache_cooked_write_unsigned (regcache, SPARC_O7_REGNUM, call_pc);
- Note that on register window machines, we are currently making the
- assumption that window registers are being saved somewhere in the
- frame in which they are being used. If they are stored in an
- inferior frame, find_saved_register will break.
+ /* Set up function arguments. */
+ sp = sparc32_store_arguments (regcache, nargs, args, sp,
+ struct_return, struct_addr);
- On the Sun 4, the only time all registers are saved is when
- a dummy frame is involved. Otherwise, the only saved registers
- are the LOCAL and IN registers which are saved as a result
- of the "save/restore" opcodes. This condition is determined
- by address rather than by value.
+ /* Allocate the 16-word window save area. */
+ sp -= 16 * 4;
- The "pc" is not stored in a frame on the SPARC. (What is stored
- is a return address minus 8.) sparc_pop_frame knows how to
- deal with that. Other routines might or might not.
+ /* Stack should be doubleword aligned at this point. */
+ gdb_assert (sp % 8 == 0);
- See tm-sparc.h (PUSH_DUMMY_FRAME and friends) for CRITICAL information
- about how this works. */
+ /* Finally, update the stack pointer. */
+ regcache_cooked_write_unsigned (regcache, SPARC_SP_REGNUM, sp);
-static void sparc_frame_find_saved_regs (struct frame_info *, CORE_ADDR *);
+ return sp;
+}
+
-static void
-sparc_frame_find_saved_regs (struct frame_info *fi, CORE_ADDR *saved_regs_addr)
+/* Use the program counter to determine the contents and size of a
+ breakpoint instruction. Return a pointer to a string of bytes that
+ encode a breakpoint instruction, store the length of the string in
+ *LEN and optionally adjust *PC to point to the correct memory
+ location for inserting the breakpoint. */
+
+static const unsigned char *
+sparc_breakpoint_from_pc (CORE_ADDR *pc, int *len)
{
- int regnum;
- CORE_ADDR frame_addr = get_frame_base (fi);
-
- gdb_assert (fi != NULL);
-
- memset (saved_regs_addr, 0, NUM_REGS * sizeof (CORE_ADDR));
-
- if (get_frame_pc (fi) >= (get_frame_extra_info (fi)->bottom
- ? get_frame_extra_info (fi)->bottom
- : read_sp ())
- && get_frame_pc (fi) <= get_frame_base (fi))
- {
- /* Dummy frame. All but the window regs are in there somewhere. */
- for (regnum = G1_REGNUM; regnum < G1_REGNUM + 7; regnum++)
- saved_regs_addr[regnum] =
- frame_addr + (regnum - G0_REGNUM) * SPARC_INTREG_SIZE
- - DUMMY_STACK_REG_BUF_SIZE + 16 * SPARC_INTREG_SIZE;
-
- for (regnum = I0_REGNUM; regnum < I0_REGNUM + 8; regnum++)
- saved_regs_addr[regnum] =
- frame_addr + (regnum - I0_REGNUM) * SPARC_INTREG_SIZE
- - DUMMY_STACK_REG_BUF_SIZE + 8 * SPARC_INTREG_SIZE;
-
- if (SPARC_HAS_FPU)
- for (regnum = FP0_REGNUM; regnum < FP_MAX_REGNUM; regnum++)
- saved_regs_addr[regnum] = frame_addr + (regnum - FP0_REGNUM) * 4
- - DUMMY_STACK_REG_BUF_SIZE + 24 * SPARC_INTREG_SIZE;
-
- if (GDB_TARGET_IS_SPARC64)
- {
- for (regnum = PC_REGNUM; regnum < PC_REGNUM + 7; regnum++)
- {
- saved_regs_addr[regnum] =
- frame_addr + (regnum - PC_REGNUM) * SPARC_INTREG_SIZE
- - DUMMY_STACK_REG_BUF_SIZE;
- }
- saved_regs_addr[PSTATE_REGNUM] =
- frame_addr + 8 * SPARC_INTREG_SIZE - DUMMY_STACK_REG_BUF_SIZE;
- }
- else
- for (regnum = Y_REGNUM; regnum < NUM_REGS; regnum++)
- saved_regs_addr[regnum] =
- frame_addr + (regnum - Y_REGNUM) * SPARC_INTREG_SIZE
- - DUMMY_STACK_REG_BUF_SIZE;
-
- frame_addr = (get_frame_extra_info (fi)->bottom
- ? get_frame_extra_info (fi)->bottom
- : read_sp ());
- }
- else if (get_frame_extra_info (fi)->flat)
- {
- CORE_ADDR func_start;
- find_pc_partial_function (get_frame_pc (fi), NULL, &func_start, NULL);
- examine_prologue (func_start, 0, fi, saved_regs_addr);
+ static unsigned char break_insn[] = { 0x91, 0xd0, 0x20, 0x01 };
- /* Flat register window frame. */
- saved_regs_addr[RP_REGNUM] = get_frame_extra_info (fi)->pc_addr;
- saved_regs_addr[I7_REGNUM] = get_frame_extra_info (fi)->fp_addr;
- }
- else
- {
- /* Normal frame. Just Local and In registers */
- frame_addr = (get_frame_extra_info (fi)->bottom
- ? get_frame_extra_info (fi)->bottom
- : read_sp ());
- for (regnum = L0_REGNUM; regnum < L0_REGNUM + 8; regnum++)
- saved_regs_addr[regnum] =
- (frame_addr + (regnum - L0_REGNUM) * SPARC_INTREG_SIZE
- + FRAME_SAVED_L0);
- for (regnum = I0_REGNUM; regnum < I0_REGNUM + 8; regnum++)
- saved_regs_addr[regnum] =
- (frame_addr + (regnum - I0_REGNUM) * SPARC_INTREG_SIZE
- + FRAME_SAVED_I0);
- }
- if (get_next_frame (fi))
- {
- if (get_frame_extra_info (fi)->flat)
- {
- saved_regs_addr[O7_REGNUM] = get_frame_extra_info (fi)->pc_addr;
- }
- else
- {
- /* Pull off either the next frame pointer or the stack pointer */
- CORE_ADDR next_next_frame_addr =
- (get_frame_extra_info (get_next_frame (fi))->bottom
- ? get_frame_extra_info (get_next_frame (fi))->bottom
- : read_sp ());
- for (regnum = O0_REGNUM; regnum < O0_REGNUM + 8; regnum++)
- saved_regs_addr[regnum] =
- (next_next_frame_addr
- + (regnum - O0_REGNUM) * SPARC_INTREG_SIZE
- + FRAME_SAVED_I0);
- }
- }
- /* Otherwise, whatever we would get from ptrace(GETREGS) is accurate */
- /* FIXME -- should this adjust for the sparc64 offset? */
- saved_regs_addr[SP_REGNUM] = get_frame_base (fi);
+ *len = sizeof (break_insn);
+ return break_insn;
}
+
-/* Discard from the stack the innermost frame, restoring all saved registers.
-
- Note that the values stored in fsr by
- deprecated_get_frame_saved_regs are *in the context of the called
- frame*. What this means is that the i regs of fsr must be restored
- into the o regs of the (calling) frame that we pop into. We don't
- care about the output regs of the calling frame, since unless it's
- a dummy frame, it won't have any output regs in it.
-
- We never have to bother with %l (local) regs, since the called routine's
- locals get tossed, and the calling routine's locals are already saved
- on its stack. */
-
-/* Definitely see tm-sparc.h for more doc of the frame format here. */
+/* Allocate and initialize a frame cache. */
-void
-sparc_pop_frame (void)
+static struct sparc_frame_cache *
+sparc_alloc_frame_cache (void)
{
- struct frame_info *frame = get_current_frame ();
- CORE_ADDR pc;
- CORE_ADDR *fsr;
- char *raw_buffer;
- int regnum;
-
- fsr = alloca (NUM_REGS * sizeof (CORE_ADDR));
- raw_buffer = alloca (DEPRECATED_REGISTER_BYTES);
- sparc_frame_find_saved_regs (frame, &fsr[0]);
- if (SPARC_HAS_FPU)
- {
- if (fsr[FP0_REGNUM])
- {
- read_memory (fsr[FP0_REGNUM], raw_buffer, FP_REGISTER_BYTES);
- deprecated_write_register_bytes (DEPRECATED_REGISTER_BYTE (FP0_REGNUM),
- raw_buffer, FP_REGISTER_BYTES);
- }
- if (!(GDB_TARGET_IS_SPARC64))
- {
- if (fsr[FPS_REGNUM])
- {
- read_memory (fsr[FPS_REGNUM], raw_buffer, SPARC_INTREG_SIZE);
- deprecated_write_register_gen (FPS_REGNUM, raw_buffer);
- }
- if (fsr[CPS_REGNUM])
- {
- read_memory (fsr[CPS_REGNUM], raw_buffer, SPARC_INTREG_SIZE);
- deprecated_write_register_gen (CPS_REGNUM, raw_buffer);
- }
- }
- }
- if (fsr[G1_REGNUM])
- {
- read_memory (fsr[G1_REGNUM], raw_buffer, 7 * SPARC_INTREG_SIZE);
- deprecated_write_register_bytes (DEPRECATED_REGISTER_BYTE (G1_REGNUM), raw_buffer,
- 7 * SPARC_INTREG_SIZE);
- }
-
- if (get_frame_extra_info (frame)->flat)
- {
- /* Each register might or might not have been saved, need to test
- individually. */
- for (regnum = L0_REGNUM; regnum < L0_REGNUM + 8; ++regnum)
- if (fsr[regnum])
- write_register (regnum, read_memory_integer (fsr[regnum],
- SPARC_INTREG_SIZE));
- for (regnum = I0_REGNUM; regnum < I0_REGNUM + 8; ++regnum)
- if (fsr[regnum])
- write_register (regnum, read_memory_integer (fsr[regnum],
- SPARC_INTREG_SIZE));
-
- /* Handle all outs except stack pointer (o0-o5; o7). */
- for (regnum = O0_REGNUM; regnum < O0_REGNUM + 6; ++regnum)
- if (fsr[regnum])
- write_register (regnum, read_memory_integer (fsr[regnum],
- SPARC_INTREG_SIZE));
- if (fsr[O0_REGNUM + 7])
- write_register (O0_REGNUM + 7,
- read_memory_integer (fsr[O0_REGNUM + 7],
- SPARC_INTREG_SIZE));
-
- DEPRECATED_DUMMY_WRITE_SP (get_frame_base (frame));
- }
- else if (fsr[I0_REGNUM])
- {
- CORE_ADDR sp;
-
- char *reg_temp;
-
- reg_temp = alloca (SPARC_INTREG_SIZE * 16);
-
- read_memory (fsr[I0_REGNUM], raw_buffer, 8 * SPARC_INTREG_SIZE);
+ struct sparc_frame_cache *cache;
+ int i;
- /* Get the ins and locals which we are about to restore. Just
- moving the stack pointer is all that is really needed, except
- store_inferior_registers is then going to write the ins and
- locals from the registers array, so we need to muck with the
- registers array. */
- sp = fsr[SP_REGNUM];
-
- if (GDB_TARGET_IS_SPARC64 && (sp & 1))
- sp += 2047;
+ cache = FRAME_OBSTACK_ZALLOC (struct sparc_frame_cache);
- read_memory (sp, reg_temp, SPARC_INTREG_SIZE * 16);
+ /* Base address. */
+ cache->base = 0;
+ cache->pc = 0;
- /* Restore the out registers.
- Among other things this writes the new stack pointer. */
- deprecated_write_register_bytes (DEPRECATED_REGISTER_BYTE (O0_REGNUM), raw_buffer,
- SPARC_INTREG_SIZE * 8);
+ /* Frameless until proven otherwise. */
+ cache->frameless_p = 1;
- deprecated_write_register_bytes (DEPRECATED_REGISTER_BYTE (L0_REGNUM), reg_temp,
- SPARC_INTREG_SIZE * 16);
- }
+ cache->struct_return_p = 0;
- if (!(GDB_TARGET_IS_SPARC64))
- if (fsr[PS_REGNUM])
- write_register (PS_REGNUM,
- read_memory_integer (fsr[PS_REGNUM],
- DEPRECATED_REGISTER_RAW_SIZE (PS_REGNUM)));
-
- if (fsr[Y_REGNUM])
- write_register (Y_REGNUM,
- read_memory_integer (fsr[Y_REGNUM],
- DEPRECATED_REGISTER_RAW_SIZE (Y_REGNUM)));
- if (fsr[PC_REGNUM])
- {
- /* Explicitly specified PC (and maybe NPC) -- just restore them. */
- write_register (PC_REGNUM,
- read_memory_integer (fsr[PC_REGNUM],
- DEPRECATED_REGISTER_RAW_SIZE (PC_REGNUM)));
- if (fsr[DEPRECATED_NPC_REGNUM])
- write_register (DEPRECATED_NPC_REGNUM,
- read_memory_integer (fsr[DEPRECATED_NPC_REGNUM],
- DEPRECATED_REGISTER_RAW_SIZE (DEPRECATED_NPC_REGNUM)));
- }
- else if (get_frame_extra_info (frame)->flat)
- {
- if (get_frame_extra_info (frame)->pc_addr)
- pc = PC_ADJUST ((CORE_ADDR)
- read_memory_integer (get_frame_extra_info (frame)->pc_addr,
- DEPRECATED_REGISTER_RAW_SIZE (PC_REGNUM)));
- else
- {
- /* I think this happens only in the innermost frame, if so then
- it is a complicated way of saying
- "pc = read_register (O7_REGNUM);". */
- ULONGEST tmp;
- tmp = get_frame_register_unsigned (frame, O7_REGNUM);
- pc = PC_ADJUST (tmp);
- }
-
- write_register (PC_REGNUM, pc);
- write_register (DEPRECATED_NPC_REGNUM, pc + 4);
- }
- else if (fsr[I7_REGNUM])
- {
- /* Return address in %i7 -- adjust it, then restore PC and NPC from it */
- pc = PC_ADJUST ((CORE_ADDR) read_memory_integer (fsr[I7_REGNUM],
- SPARC_INTREG_SIZE));
- write_register (PC_REGNUM, pc);
- write_register (DEPRECATED_NPC_REGNUM, pc + 4);
- }
- flush_cached_frames ();
+ return cache;
}
-/* On the Sun 4 under SunOS, the compile will leave a fake insn which
- encodes the structure size being returned. If we detect such
- a fake insn, step past it. */
-
CORE_ADDR
-sparc_pc_adjust (CORE_ADDR pc)
+sparc_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
+ struct sparc_frame_cache *cache)
{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
unsigned long insn;
- char buf[4];
- int err;
+ int offset = 0;
+ int dest = -1;
- err = target_read_memory (pc + 8, buf, 4);
- insn = extract_unsigned_integer (buf, 4);
- if ((err == 0) && (insn & 0xffc00000) == 0)
- return pc + 12;
- else
- return pc + 8;
-}
+ if (current_pc <= pc)
+ return current_pc;
-/* If pc is in a shared library trampoline, return its target.
- The SunOs 4.x linker rewrites the jump table entries for PIC
- compiled modules in the main executable to bypass the dynamic linker
- with jumps of the form
- sethi %hi(addr),%g1
- jmp %g1+%lo(addr)
- and removes the corresponding jump table relocation entry in the
- dynamic relocations.
- find_solib_trampoline_target relies on the presence of the jump
- table relocation entry, so we have to detect these jump instructions
- by hand. */
+ /* We have to handle to "Procedure Linkage Table" (PLT) special. On
+ SPARC the linker usually defines a symbol (typically
+ _PROCEDURE_LINKAGE_TABLE_) at the start of the .plt section.
+ This symbol makes us end up here with PC pointing at the start of
+ the PLT and CURRENT_PC probably pointing at a PLT entry. If we
+ would do our normal prologue analysis, we would probably conclude
+ that we've got a frame when in reality we don't, since the
+ dynamic linker patches up the first PLT with some code that
+ starts with a SAVE instruction. Patch up PC such that it points
+ at the start of our PLT entry. */
+ if (tdep->plt_entry_size > 0 && in_plt_section (current_pc, NULL))
+ pc = current_pc - ((current_pc - pc) % tdep->plt_entry_size);
-CORE_ADDR
-sunos4_skip_trampoline_code (CORE_ADDR pc)
-{
- unsigned long insn1;
- char buf[4];
- int err;
+ insn = sparc_fetch_instruction (pc);
- err = target_read_memory (pc, buf, 4);
- insn1 = extract_unsigned_integer (buf, 4);
- if (err == 0 && (insn1 & 0xffc00000) == 0x03000000)
+ /* Recognize a SETHI insn and record its destination. */
+ if (X_OP (insn) == 0 && X_OP2 (insn) == 0x04)
{
- unsigned long insn2;
-
- err = target_read_memory (pc + 4, buf, 4);
- insn2 = extract_unsigned_integer (buf, 4);
- if (err == 0 && (insn2 & 0xffffe000) == 0x81c06000)
- {
- CORE_ADDR target_pc = (insn1 & 0x3fffff) << 10;
- int delta = insn2 & 0x1fff;
+ dest = X_RD (insn);
+ offset += 4;
- /* Sign extend the displacement. */
- if (delta & 0x1000)
- delta |= ~0x1fff;
- return target_pc + delta;
- }
+ insn = sparc_fetch_instruction (pc + 4);
}
- return find_solib_trampoline_target (pc);
-}
-
-#ifdef USE_PROC_FS /* Target dependent support for /proc */
-/* *INDENT-OFF* */
-/* The /proc interface divides the target machine's register set up into
- two different sets, the general register set (gregset) and the floating
- point register set (fpregset). For each set, there is an ioctl to get
- the current register set and another ioctl to set the current values.
-
- The actual structure passed through the ioctl interface is, of course,
- naturally machine dependent, and is different for each set of registers.
- For the sparc for example, the general register set is typically defined
- by:
-
- typedef int gregset_t[38];
-
- #define R_G0 0
- ...
- #define R_TBR 37
-
- and the floating point set by:
-
- typedef struct prfpregset {
- union {
- u_long pr_regs[32];
- double pr_dregs[16];
- } pr_fr;
- void * pr_filler;
- u_long pr_fsr;
- u_char pr_qcnt;
- u_char pr_q_entrysize;
- u_char pr_en;
- u_long pr_q[64];
- } prfpregset_t;
-
- These routines provide the packing and unpacking of gregset_t and
- fpregset_t formatted data.
-
- */
-/* *INDENT-ON* */
-
-/* Given a pointer to a general register set in /proc format (gregset_t *),
- unpack the register contents and supply them as gdb's idea of the current
- register values. */
-void
-supply_gregset (gdb_gregset_t *gregsetp)
-{
- prgreg_t *regp = (prgreg_t *) gregsetp;
- int regi, offset = 0;
-
- /* If the host is 64-bit sparc, but the target is 32-bit sparc,
- then the gregset may contain 64-bit ints while supply_register
- is expecting 32-bit ints. Compensate. */
- if (sizeof (regp[0]) == 8 && SPARC_INTREG_SIZE == 4)
- offset = 4;
-
- /* GDB register numbers for Gn, On, Ln, In all match /proc reg numbers. */
- /* FIXME MVS: assumes the order of the first 32 elements... */
- for (regi = G0_REGNUM; regi <= I7_REGNUM; regi++)
+ /* Allow for an arithmetic operation on DEST or %g1. */
+ if (X_OP (insn) == 2 && X_I (insn)
+ && (X_RD (insn) == 1 || X_RD (insn) == dest))
{
- supply_register (regi, ((char *) (regp + regi)) + offset);
- }
-
- /* These require a bit more care. */
- supply_register (PC_REGNUM, ((char *) (regp + R_PC)) + offset);
- supply_register (DEPRECATED_NPC_REGNUM, ((char *) (regp + R_nPC)) + offset);
- supply_register (Y_REGNUM, ((char *) (regp + R_Y)) + offset);
+ offset += 4;
- if (GDB_TARGET_IS_SPARC64)
- {
-#ifdef R_CCR
- supply_register (CCR_REGNUM, ((char *) (regp + R_CCR)) + offset);
-#else
- supply_register (CCR_REGNUM, NULL);
-#endif
-#ifdef R_FPRS
- supply_register (FPRS_REGNUM, ((char *) (regp + R_FPRS)) + offset);
-#else
- supply_register (FPRS_REGNUM, NULL);
-#endif
-#ifdef R_ASI
- supply_register (ASI_REGNUM, ((char *) (regp + R_ASI)) + offset);
-#else
- supply_register (ASI_REGNUM, NULL);
-#endif
- }
- else /* sparc32 */
- {
-#ifdef R_PS
- supply_register (PS_REGNUM, ((char *) (regp + R_PS)) + offset);
-#else
- supply_register (PS_REGNUM, NULL);
-#endif
-
- /* For 64-bit hosts, R_WIM and R_TBR may not be defined.
- Steal R_ASI and R_FPRS, and hope for the best! */
-
-#if !defined (R_WIM) && defined (R_ASI)
-#define R_WIM R_ASI
-#endif
-
-#if !defined (R_TBR) && defined (R_FPRS)
-#define R_TBR R_FPRS
-#endif
-
-#if defined (R_WIM)
- supply_register (WIM_REGNUM, ((char *) (regp + R_WIM)) + offset);
-#else
- supply_register (WIM_REGNUM, NULL);
-#endif
-
-#if defined (R_TBR)
- supply_register (TBR_REGNUM, ((char *) (regp + R_TBR)) + offset);
-#else
- supply_register (TBR_REGNUM, NULL);
-#endif
+ insn = sparc_fetch_instruction (pc + 8);
}
- /* Fill inaccessible registers with zero. */
- if (GDB_TARGET_IS_SPARC64)
+ /* Check for the SAVE instruction that sets up the frame. */
+ if (X_OP (insn) == 2 && X_OP3 (insn) == 0x3c)
{
- /*
- * don't know how to get value of any of the following:
- */
- supply_register (VER_REGNUM, NULL);
- supply_register (TICK_REGNUM, NULL);
- supply_register (PIL_REGNUM, NULL);
- supply_register (PSTATE_REGNUM, NULL);
- supply_register (TSTATE_REGNUM, NULL);
- supply_register (TBA_REGNUM, NULL);
- supply_register (TL_REGNUM, NULL);
- supply_register (TT_REGNUM, NULL);
- supply_register (TPC_REGNUM, NULL);
- supply_register (TNPC_REGNUM, NULL);
- supply_register (WSTATE_REGNUM, NULL);
- supply_register (CWP_REGNUM, NULL);
- supply_register (CANSAVE_REGNUM, NULL);
- supply_register (CANRESTORE_REGNUM, NULL);
- supply_register (CLEANWIN_REGNUM, NULL);
- supply_register (OTHERWIN_REGNUM, NULL);
- supply_register (ASR16_REGNUM, NULL);
- supply_register (ASR17_REGNUM, NULL);
- supply_register (ASR18_REGNUM, NULL);
- supply_register (ASR19_REGNUM, NULL);
- supply_register (ASR20_REGNUM, NULL);
- supply_register (ASR21_REGNUM, NULL);
- supply_register (ASR22_REGNUM, NULL);
- supply_register (ASR23_REGNUM, NULL);
- supply_register (ASR24_REGNUM, NULL);
- supply_register (ASR25_REGNUM, NULL);
- supply_register (ASR26_REGNUM, NULL);
- supply_register (ASR27_REGNUM, NULL);
- supply_register (ASR28_REGNUM, NULL);
- supply_register (ASR29_REGNUM, NULL);
- supply_register (ASR30_REGNUM, NULL);
- supply_register (ASR31_REGNUM, NULL);
- supply_register (ICC_REGNUM, NULL);
- supply_register (XCC_REGNUM, NULL);
+ cache->frameless_p = 0;
+ return pc + offset + 4;
}
- else
- {
- supply_register (CPS_REGNUM, NULL);
- }
-}
-void
-fill_gregset (gdb_gregset_t *gregsetp, int regno)
-{
- prgreg_t *regp = (prgreg_t *) gregsetp;
- int regi, offset = 0;
-
- /* If the host is 64-bit sparc, but the target is 32-bit sparc,
- then the gregset may contain 64-bit ints while supply_register
- is expecting 32-bit ints. Compensate. */
- if (sizeof (regp[0]) == 8 && SPARC_INTREG_SIZE == 4)
- offset = 4;
-
- for (regi = 0; regi <= R_I7; regi++)
- if ((regno == -1) || (regno == regi))
- deprecated_read_register_gen (regi, (char *) (regp + regi) + offset);
-
- if ((regno == -1) || (regno == PC_REGNUM))
- deprecated_read_register_gen (PC_REGNUM, (char *) (regp + R_PC) + offset);
-
- if ((regno == -1) || (regno == DEPRECATED_NPC_REGNUM))
- deprecated_read_register_gen (DEPRECATED_NPC_REGNUM, (char *) (regp + R_nPC) + offset);
-
- if ((regno == -1) || (regno == Y_REGNUM))
- deprecated_read_register_gen (Y_REGNUM, (char *) (regp + R_Y) + offset);
-
- if (GDB_TARGET_IS_SPARC64)
- {
-#ifdef R_CCR
- if (regno == -1 || regno == CCR_REGNUM)
- deprecated_read_register_gen (CCR_REGNUM, ((char *) (regp + R_CCR)) + offset);
-#endif
-#ifdef R_FPRS
- if (regno == -1 || regno == FPRS_REGNUM)
- deprecated_read_register_gen (FPRS_REGNUM, ((char *) (regp + R_FPRS)) + offset);
-#endif
-#ifdef R_ASI
- if (regno == -1 || regno == ASI_REGNUM)
- deprecated_read_register_gen (ASI_REGNUM, ((char *) (regp + R_ASI)) + offset);
-#endif
- }
- else /* sparc32 */
- {
-#ifdef R_PS
- if (regno == -1 || regno == PS_REGNUM)
- deprecated_read_register_gen (PS_REGNUM, ((char *) (regp + R_PS)) + offset);
-#endif
-
- /* For 64-bit hosts, R_WIM and R_TBR may not be defined.
- Steal R_ASI and R_FPRS, and hope for the best! */
-
-#if !defined (R_WIM) && defined (R_ASI)
-#define R_WIM R_ASI
-#endif
-
-#if !defined (R_TBR) && defined (R_FPRS)
-#define R_TBR R_FPRS
-#endif
-
-#if defined (R_WIM)
- if (regno == -1 || regno == WIM_REGNUM)
- deprecated_read_register_gen (WIM_REGNUM, ((char *) (regp + R_WIM)) + offset);
-#else
- if (regno == -1 || regno == WIM_REGNUM)
- deprecated_read_register_gen (WIM_REGNUM, NULL);
-#endif
-
-#if defined (R_TBR)
- if (regno == -1 || regno == TBR_REGNUM)
- deprecated_read_register_gen (TBR_REGNUM, ((char *) (regp + R_TBR)) + offset);
-#else
- if (regno == -1 || regno == TBR_REGNUM)
- deprecated_read_register_gen (TBR_REGNUM, NULL);
-#endif
- }
+ return pc;
}
-/* Given a pointer to a floating point register set in /proc format
- (fpregset_t *), unpack the register contents and supply them as gdb's
- idea of the current floating point register values. */
-
-void
-supply_fpregset (gdb_fpregset_t *fpregsetp)
+static CORE_ADDR
+sparc_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
{
- int regi;
- char *from;
-
- if (!SPARC_HAS_FPU)
- return;
-
- for (regi = FP0_REGNUM; regi < FP_MAX_REGNUM; regi++)
- {
- from = (char *) &fpregsetp->pr_fr.pr_regs[regi - FP0_REGNUM];
- supply_register (regi, from);
- }
-
- if (GDB_TARGET_IS_SPARC64)
- {
- /*
- * don't know how to get value of the following.
- */
- supply_register (FSR_REGNUM, NULL); /* zero it out for now */
- supply_register (FCC0_REGNUM, NULL);
- supply_register (FCC1_REGNUM, NULL); /* don't know how to get value */
- supply_register (FCC2_REGNUM, NULL); /* don't know how to get value */
- supply_register (FCC3_REGNUM, NULL); /* don't know how to get value */
- }
- else
- {
- supply_register (FPS_REGNUM, (char *) &(fpregsetp->pr_fsr));
- }
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+ return frame_unwind_register_unsigned (next_frame, tdep->pc_regnum);
}
-/* Given a pointer to a floating point register set in /proc format
- (fpregset_t *), update the register specified by REGNO from gdb's idea
- of the current floating point register set. If REGNO is -1, update
- them all. */
-/* This will probably need some changes for sparc64. */
+/* Return PC of first real instruction of the function starting at
+ START_PC. */
-void
-fill_fpregset (gdb_fpregset_t *fpregsetp, int regno)
+static CORE_ADDR
+sparc32_skip_prologue (CORE_ADDR start_pc)
{
- int regi;
- char *to;
- char *from;
-
- if (!SPARC_HAS_FPU)
- return;
+ struct symtab_and_line sal;
+ CORE_ADDR func_start, func_end;
+ struct sparc_frame_cache cache;
- for (regi = FP0_REGNUM; regi < FP_MAX_REGNUM; regi++)
+ /* This is the preferred method, find the end of the prologue by
+ using the debugging information. */
+ if (find_pc_partial_function (start_pc, NULL, &func_start, &func_end))
{
- if ((regno == -1) || (regno == regi))
- {
- from = (char *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (regi)];
- to = (char *) &fpregsetp->pr_fr.pr_regs[regi - FP0_REGNUM];
- memcpy (to, from, DEPRECATED_REGISTER_RAW_SIZE (regi));
- }
+ sal = find_pc_line (func_start, 0);
+
+ if (sal.end < func_end
+ && start_pc <= sal.end)
+ return sal.end;
}
- if (!(GDB_TARGET_IS_SPARC64)) /* FIXME: does Sparc64 have this register? */
- if ((regno == -1) || (regno == FPS_REGNUM))
- {
- from = (char *)&deprecated_registers[DEPRECATED_REGISTER_BYTE (FPS_REGNUM)];
- to = (char *) &fpregsetp->pr_fsr;
- memcpy (to, from, DEPRECATED_REGISTER_RAW_SIZE (FPS_REGNUM));
- }
+ return sparc_analyze_prologue (start_pc, 0xffffffffUL, &cache);
}
-#endif /* USE_PROC_FS */
-
-/* Because of Multi-arch, GET_LONGJMP_TARGET is always defined. So test
- for a definition of JB_PC. */
-#ifdef JB_PC
+/* Normal frames. */
-/* Figure out where the longjmp will land. We expect that we have just entered
- longjmp and haven't yet setup the stack frame, so the args are still in the
- output regs. %o0 (O0_REGNUM) points at the jmp_buf structure from which we
- extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-int
-get_longjmp_target (CORE_ADDR *pc)
+struct sparc_frame_cache *
+sparc_frame_cache (struct frame_info *next_frame, void **this_cache)
{
- CORE_ADDR jb_addr;
-#define LONGJMP_TARGET_SIZE 4
- char buf[LONGJMP_TARGET_SIZE];
+ struct sparc_frame_cache *cache;
- jb_addr = read_register (O0_REGNUM);
+ if (*this_cache)
+ return *this_cache;
- if (target_read_memory (jb_addr + JB_PC * JB_ELEMENT_SIZE, buf,
- LONGJMP_TARGET_SIZE))
- return 0;
+ cache = sparc_alloc_frame_cache ();
+ *this_cache = cache;
- *pc = extract_unsigned_integer (buf, LONGJMP_TARGET_SIZE);
+ /* In priciple, for normal frames, %fp (%i6) holds the frame
+ pointer, which holds the base address for the current stack
+ frame. */
- return 1;
-}
-#endif /* GET_LONGJMP_TARGET */
-
-#ifdef STATIC_TRANSFORM_NAME
-/* SunPRO (3.0 at least), encodes the static variables. This is not
- related to C++ mangling, it is done for C too. */
+ cache->base = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM);
+ if (cache->base == 0)
+ return cache;
-char *
-sunpro_static_transform_name (char *name)
-{
- char *p;
- if (name[0] == '$')
+ cache->pc = frame_func_unwind (next_frame);
+ if (cache->pc != 0)
{
- /* For file-local statics there will be a dollar sign, a bunch
- of junk (the contents of which match a string given in the
- N_OPT), a period and the name. For function-local statics
- there will be a bunch of junk (which seems to change the
- second character from 'A' to 'B'), a period, the name of the
- function, and the name. So just skip everything before the
- last period. */
- p = strrchr (name, '.');
- if (p != NULL)
- name = p + 1;
+ CORE_ADDR addr_in_block = frame_unwind_address_in_block (next_frame);
+ sparc_analyze_prologue (cache->pc, addr_in_block, cache);
}
- return name;
-}
-#endif /* STATIC_TRANSFORM_NAME */
-
-/* Utilities for printing registers.
- Page numbers refer to the SPARC Architecture Manual. */
-
-static void dump_ccreg (char *, int);
-
-static void
-dump_ccreg (char *reg, int val)
-{
- /* page 41 */
- printf_unfiltered ("%s:%s,%s,%s,%s", reg,
- val & 8 ? "N" : "NN",
- val & 4 ? "Z" : "NZ",
- val & 2 ? "O" : "NO",
- val & 1 ? "C" : "NC");
-}
-
-static char *
-decode_asi (int val)
-{
- /* page 72 */
- switch (val)
+ if (cache->frameless_p)
{
- case 4:
- return "ASI_NUCLEUS";
- case 0x0c:
- return "ASI_NUCLEUS_LITTLE";
- case 0x10:
- return "ASI_AS_IF_USER_PRIMARY";
- case 0x11:
- return "ASI_AS_IF_USER_SECONDARY";
- case 0x18:
- return "ASI_AS_IF_USER_PRIMARY_LITTLE";
- case 0x19:
- return "ASI_AS_IF_USER_SECONDARY_LITTLE";
- case 0x80:
- return "ASI_PRIMARY";
- case 0x81:
- return "ASI_SECONDARY";
- case 0x82:
- return "ASI_PRIMARY_NOFAULT";
- case 0x83:
- return "ASI_SECONDARY_NOFAULT";
- case 0x88:
- return "ASI_PRIMARY_LITTLE";
- case 0x89:
- return "ASI_SECONDARY_LITTLE";
- case 0x8a:
- return "ASI_PRIMARY_NOFAULT_LITTLE";
- case 0x8b:
- return "ASI_SECONDARY_NOFAULT_LITTLE";
- default:
- return NULL;
+ /* We didn't find a valid frame, which means that CACHE->base
+ currently holds the frame pointer for our calling frame. */
+ cache->base = frame_unwind_register_unsigned (next_frame,
+ SPARC_SP_REGNUM);
}
-}
-/* Pretty print various registers. */
-/* FIXME: Would be nice if this did some fancy things for 32 bit sparc. */
+ return cache;
+}
-static void
-sparc_print_register_hook (int regno)
+struct sparc_frame_cache *
+sparc32_frame_cache (struct frame_info *next_frame, void **this_cache)
{
- ULONGEST val;
+ struct sparc_frame_cache *cache;
+ struct symbol *sym;
- /* Handle double/quad versions of lower 32 fp regs. */
- if (regno >= FP0_REGNUM && regno < FP0_REGNUM + 32
- && (regno & 1) == 0)
- {
- char value[16];
+ if (*this_cache)
+ return *this_cache;
- if (frame_register_read (deprecated_selected_frame, regno, value)
- && frame_register_read (deprecated_selected_frame, regno + 1, value + 4))
- {
- printf_unfiltered ("\t");
- print_floating (value, builtin_type_double, gdb_stdout);
- }
-#if 0 /* FIXME: gdb doesn't handle long doubles */
- if ((regno & 3) == 0)
- {
- if (frame_register_read (deprecated_selected_frame, regno + 2, value + 8)
- && frame_register_read (deprecated_selected_frame, regno + 3, value + 12))
- {
- printf_unfiltered ("\t");
- print_floating (value, builtin_type_long_double, gdb_stdout);
- }
- }
-#endif
- return;
- }
+ cache = sparc_frame_cache (next_frame, this_cache);
-#if 0 /* FIXME: gdb doesn't handle long doubles */
- /* Print upper fp regs as long double if appropriate. */
- if (regno >= FP0_REGNUM + 32 && regno < FP_MAX_REGNUM
- /* We test for even numbered regs and not a multiple of 4 because
- the upper fp regs are recorded as doubles. */
- && (regno & 1) == 0)
+ sym = find_pc_function (cache->pc);
+ if (sym)
{
- char value[16];
+ struct type *type = check_typedef (SYMBOL_TYPE (sym));
+ enum type_code code = TYPE_CODE (type);
- if (frame_register_read (deprecated_selected_frame, regno, value)
- && frame_register_read (deprecated_selected_frame, regno + 1, value + 8))
+ if (code == TYPE_CODE_FUNC || code == TYPE_CODE_METHOD)
{
- printf_unfiltered ("\t");
- print_floating (value, builtin_type_long_double, gdb_stdout);
+ type = check_typedef (TYPE_TARGET_TYPE (type));
+ if (sparc_structure_or_union_p (type)
+ || (sparc_floating_p (type) && TYPE_LENGTH (type) == 16))
+ cache->struct_return_p = 1;
}
- return;
}
-#endif
-
- /* FIXME: Some of these are priviledged registers.
- Not sure how they should be handled. */
-#define BITS(n, mask) ((int) (((val) >> (n)) & (mask)))
+ return cache;
+}
- val = read_register (regno);
+static void
+sparc32_frame_this_id (struct frame_info *next_frame, void **this_cache,
+ struct frame_id *this_id)
+{
+ struct sparc_frame_cache *cache =
+ sparc32_frame_cache (next_frame, this_cache);
- /* pages 40 - 60 */
- if (GDB_TARGET_IS_SPARC64)
- switch (regno)
- {
- case CCR_REGNUM:
- printf_unfiltered ("\t");
- dump_ccreg ("xcc", val >> 4);
- printf_unfiltered (", ");
- dump_ccreg ("icc", val & 15);
- break;
- case FPRS_REGNUM:
- printf ("\tfef:%d, du:%d, dl:%d",
- BITS (2, 1), BITS (1, 1), BITS (0, 1));
- break;
- case FSR_REGNUM:
- {
- static char *fcc[4] =
- {"=", "<", ">", "?"};
- static char *rd[4] =
- {"N", "0", "+", "-"};
- /* Long, but I'd rather leave it as is and use a wide screen. */
- printf_filtered ("\t0:%s, 1:%s, 2:%s, 3:%s, rd:%s, tem:%d, ",
- fcc[BITS (10, 3)], fcc[BITS (32, 3)],
- fcc[BITS (34, 3)], fcc[BITS (36, 3)],
- rd[BITS (30, 3)], BITS (23, 31));
- printf_filtered ("ns:%d, ver:%d, ftt:%d, qne:%d, aexc:%d, cexc:%d",
- BITS (22, 1), BITS (17, 7), BITS (14, 7),
- BITS (13, 1), BITS (5, 31), BITS (0, 31));
- break;
- }
- case ASI_REGNUM:
- {
- char *asi = decode_asi (val);
- if (asi != NULL)
- printf ("\t%s", asi);
- break;
- }
- case VER_REGNUM:
- printf ("\tmanuf:%d, impl:%d, mask:%d, maxtl:%d, maxwin:%d",
- BITS (48, 0xffff), BITS (32, 0xffff),
- BITS (24, 0xff), BITS (8, 0xff), BITS (0, 31));
- break;
- case PSTATE_REGNUM:
- {
- static char *mm[4] =
- {"tso", "pso", "rso", "?"};
- printf_filtered ("\tcle:%d, tle:%d, mm:%s, red:%d, ",
- BITS (9, 1), BITS (8, 1),
- mm[BITS (6, 3)], BITS (5, 1));
- printf_filtered ("pef:%d, am:%d, priv:%d, ie:%d, ag:%d",
- BITS (4, 1), BITS (3, 1), BITS (2, 1),
- BITS (1, 1), BITS (0, 1));
- break;
- }
- case TSTATE_REGNUM:
- /* FIXME: print all 4? */
- break;
- case TT_REGNUM:
- /* FIXME: print all 4? */
- break;
- case TPC_REGNUM:
- /* FIXME: print all 4? */
- break;
- case TNPC_REGNUM:
- /* FIXME: print all 4? */
- break;
- case WSTATE_REGNUM:
- printf ("\tother:%d, normal:%d", BITS (3, 7), BITS (0, 7));
- break;
- case CWP_REGNUM:
- printf ("\t%d", BITS (0, 31));
- break;
- case CANSAVE_REGNUM:
- printf ("\t%-2d before spill", BITS (0, 31));
- break;
- case CANRESTORE_REGNUM:
- printf ("\t%-2d before fill", BITS (0, 31));
- break;
- case CLEANWIN_REGNUM:
- printf ("\t%-2d before clean", BITS (0, 31));
- break;
- case OTHERWIN_REGNUM:
- printf ("\t%d", BITS (0, 31));
- break;
- }
- else /* Sparc32 */
- switch (regno)
- {
- case PS_REGNUM:
- printf ("\ticc:%c%c%c%c, pil:%d, s:%d, ps:%d, et:%d, cwp:%d",
- BITS (23, 1) ? 'N' : '-', BITS (22, 1) ? 'Z' : '-',
- BITS (21, 1) ? 'V' : '-', BITS (20, 1) ? 'C' : '-',
- BITS (8, 15), BITS (7, 1), BITS (6, 1), BITS (5, 1),
- BITS (0, 31));
- break;
- case FPS_REGNUM:
- {
- static char *fcc[4] =
- {"=", "<", ">", "?"};
- static char *rd[4] =
- {"N", "0", "+", "-"};
- /* Long, but I'd rather leave it as is and use a wide screen. */
- printf ("\trd:%s, tem:%d, ns:%d, ver:%d, ftt:%d, qne:%d, "
- "fcc:%s, aexc:%d, cexc:%d",
- rd[BITS (30, 3)], BITS (23, 31), BITS (22, 1), BITS (17, 7),
- BITS (14, 7), BITS (13, 1), fcc[BITS (10, 3)], BITS (5, 31),
- BITS (0, 31));
- break;
- }
- }
+ /* This marks the outermost frame. */
+ if (cache->base == 0)
+ return;
-#undef BITS
+ (*this_id) = frame_id_build (cache->base, cache->pc);
}
static void
-sparc_print_registers (struct gdbarch *gdbarch,
- struct ui_file *file,
- struct frame_info *frame,
- int regnum, int print_all,
- void (*print_register_hook) (int))
+sparc32_frame_prev_register (struct frame_info *next_frame, void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp, CORE_ADDR *addrp,
+ int *realnump, void *valuep)
{
- int i;
- const int numregs = NUM_REGS + NUM_PSEUDO_REGS;
- char raw_buffer[MAX_REGISTER_SIZE];
- char virtual_buffer[MAX_REGISTER_SIZE];
+ struct sparc_frame_cache *cache =
+ sparc32_frame_cache (next_frame, this_cache);
- for (i = 0; i < numregs; i++)
+ if (regnum == SPARC32_PC_REGNUM || regnum == SPARC32_NPC_REGNUM)
{
- /* Decide between printing all regs, non-float / vector regs, or
- specific reg. */
- if (regnum == -1)
+ *optimizedp = 0;
+ *lvalp = not_lval;
+ *addrp = 0;
+ *realnump = -1;
+ if (valuep)
{
- if (!print_all)
- {
- if (TYPE_CODE (DEPRECATED_REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT)
- continue;
- if (TYPE_VECTOR (DEPRECATED_REGISTER_VIRTUAL_TYPE (i)))
- continue;
- }
- }
- else
- {
- if (i != regnum)
- continue;
- }
-
- /* If the register name is empty, it is undefined for this
- processor, so don't display anything. */
- if (REGISTER_NAME (i) == NULL || *(REGISTER_NAME (i)) == '\0')
- continue;
+ CORE_ADDR pc = (regnum == SPARC32_NPC_REGNUM) ? 4 : 0;
- fputs_filtered (REGISTER_NAME (i), file);
- print_spaces_filtered (15 - strlen (REGISTER_NAME (i)), file);
+ /* If this functions has a Structure, Union or
+ Quad-Precision return value, we have to skip the UNIMP
+ instruction that encodes the size of the structure. */
+ if (cache->struct_return_p)
+ pc += 4;
- /* Get the data in raw format. */
- if (! frame_register_read (frame, i, raw_buffer))
- {
- fprintf_filtered (file, "*value not available*\n");
- continue;
+ regnum = cache->frameless_p ? SPARC_O7_REGNUM : SPARC_I7_REGNUM;
+ pc += frame_unwind_register_unsigned (next_frame, regnum) + 8;
+ store_unsigned_integer (valuep, 4, pc);
}
+ return;
+ }
- memcpy (virtual_buffer, raw_buffer, DEPRECATED_REGISTER_VIRTUAL_SIZE (i));
-
- /* If virtual format is floating, print it that way, and in raw
- hex. */
- if (TYPE_CODE (DEPRECATED_REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT)
+ /* The previous frame's `local' and `in' registers have been saved
+ in the register save area. */
+ if (!cache->frameless_p
+ && regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM)
+ {
+ *optimizedp = 0;
+ *lvalp = lval_memory;
+ *addrp = cache->base + (regnum - SPARC_L0_REGNUM) * 4;
+ *realnump = -1;
+ if (valuep)
{
- int j;
-
- val_print (DEPRECATED_REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0,
- file, 0, 1, 0, Val_pretty_default);
+ struct gdbarch *gdbarch = get_frame_arch (next_frame);
- fprintf_filtered (file, "\t(raw 0x");
- for (j = 0; j < DEPRECATED_REGISTER_RAW_SIZE (i); j++)
- {
- int idx;
- if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
- idx = j;
- else
- idx = DEPRECATED_REGISTER_RAW_SIZE (i) - 1 - j;
- fprintf_filtered (file, "%02x", (unsigned char) raw_buffer[idx]);
- }
- fprintf_filtered (file, ")");
- }
- else
- {
- /* Print the register in hex. */
- val_print (DEPRECATED_REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0,
- file, 'x', 1, 0, Val_pretty_default);
- /* If not a vector register, print it also according to its
- natural format. */
- if (TYPE_VECTOR (DEPRECATED_REGISTER_VIRTUAL_TYPE (i)) == 0)
- {
- fprintf_filtered (file, "\t");
- val_print (DEPRECATED_REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0,
- file, 0, 1, 0, Val_pretty_default);
- }
+ /* Read the value in from memory. */
+ read_memory (*addrp, valuep, register_size (gdbarch, regnum));
}
+ return;
+ }
- /* Some sparc specific info. */
- if (print_register_hook != NULL)
- print_register_hook (i);
+ /* The previous frame's `out' registers are accessable as the
+ current frame's `in' registers. */
+ if (!cache->frameless_p
+ && regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM)
+ regnum += (SPARC_I0_REGNUM - SPARC_O0_REGNUM);
- fprintf_filtered (file, "\n");
- }
+ frame_register_unwind (next_frame, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
}
-static void
-sparc_print_registers_info (struct gdbarch *gdbarch,
- struct ui_file *file,
- struct frame_info *frame,
- int regnum, int print_all)
+static const struct frame_unwind sparc32_frame_unwind =
+{
+ NORMAL_FRAME,
+ sparc32_frame_this_id,
+ sparc32_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc32_frame_sniffer (struct frame_info *next_frame)
{
- sparc_print_registers (gdbarch, file, frame, regnum, print_all,
- sparc_print_register_hook);
+ return &sparc32_frame_unwind;
}
+
-void
-sparc_do_registers_info (int regnum, int all)
+static CORE_ADDR
+sparc32_frame_base_address (struct frame_info *next_frame, void **this_cache)
{
- sparc_print_registers_info (current_gdbarch, gdb_stdout, deprecated_selected_frame,
- regnum, all);
+ struct sparc_frame_cache *cache =
+ sparc32_frame_cache (next_frame, this_cache);
+
+ return cache->base;
}
-#define SPARC_F0_REGNUM FP0_REGNUM /* %f0 */
-#define SPARC_F1_REGNUM (FP0_REGNUM + 1)/* %f1 */
-#define SPARC_O0_REGNUM O0_REGNUM /* %o0 */
-#define SPARC_O1_REGNUM O1_REGNUM /* %o1 */
+static const struct frame_base sparc32_frame_base =
+{
+ &sparc32_frame_unwind,
+ sparc32_frame_base_address,
+ sparc32_frame_base_address,
+ sparc32_frame_base_address
+};
-/* Push the arguments onto the stack and into the appropriate registers. */
+static struct frame_id
+sparc_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
+{
+ CORE_ADDR sp;
-static CORE_ADDR
-sparc32_do_push_arguments (struct regcache *regcache, int nargs,
- struct value **args, CORE_ADDR sp)
+ sp = frame_unwind_register_unsigned (next_frame, SPARC_SP_REGNUM);
+ return frame_id_build (sp, frame_pc_unwind (next_frame));
+}
+
+
+/* Extract from an array REGBUF containing the (raw) register state, a
+ function return value of TYPE, and copy that into VALBUF. */
+
+static void
+sparc32_extract_return_value (struct type *type, struct regcache *regcache,
+ void *valbuf)
{
- CORE_ADDR *addr;
- int size = 0;
- int i;
+ int len = TYPE_LENGTH (type);
+ char buf[8];
- /* Structure, union and quad-precision arguments are passed by
- reference. We allocate space for these arguments on the stack
- and record their addresses in an array. Array elements for
- arguments that are passed by value will be set to zero.*/
- addr = alloca (nargs * sizeof (CORE_ADDR));
+ gdb_assert (!sparc_structure_or_union_p (type));
+ gdb_assert (!(sparc_floating_p (type) && len == 16));
- for (i = nargs - 1; i >= 0; i--)
+ if (sparc_floating_p (type))
{
- struct type *type = VALUE_ENCLOSING_TYPE (args[i]);
- enum type_code code = TYPE_CODE (type);
- int len = TYPE_LENGTH (type);
+ /* Floating return values. */
+ regcache_cooked_read (regcache, SPARC_F0_REGNUM, buf);
+ if (len > 4)
+ regcache_cooked_read (regcache, SPARC_F1_REGNUM, buf + 4);
+ memcpy (valbuf, buf, len);
+ }
+ else
+ {
+ /* Integral and pointer return values. */
+ gdb_assert (sparc_integral_or_pointer_p (type));
- /* Push the contents of structure, union and quad-precision
- arguments on the stack. */
- if (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION || len > 8)
+ regcache_cooked_read (regcache, SPARC_O0_REGNUM, buf);
+ if (len > 4)
{
- /* Keep the stack doubleword aligned. */
- sp -= (len + 7) & ~7;
- write_memory (sp, VALUE_CONTENTS_ALL (args[i]), len);
- addr[i] = sp;
- size += 4;
+ regcache_cooked_read (regcache, SPARC_O1_REGNUM, buf + 4);
+ gdb_assert (len == 8);
+ memcpy (valbuf, buf, 8);
}
else
{
- addr[i] = 0;
- size += (len > 4) ? 8 : 4;
+ /* Just stripping off any unused bytes should preserve the
+ signed-ness just fine. */
+ memcpy (valbuf, buf + 4 - len, len);
}
}
+}
- /* The needed space for outgoing arguments should be a multiple of 4. */
- gdb_assert (size % 4 == 0);
+/* Write into the appropriate registers a function return value stored
+ in VALBUF of type TYPE. */
- /* Make sure we reserve space for the first six words of arguments
- in the stack frame, even if we don't need them. */
- if (size < 24)
- sp -= (24 - size);
+static void
+sparc32_store_return_value (struct type *type, struct regcache *regcache,
+ const void *valbuf)
+{
+ int len = TYPE_LENGTH (type);
+ char buf[8];
- /* Make sure we end up with a doubleword aligned stack in the end.
- Reserve an extra word if necessary in order to accomplish this. */
- if ((sp - size) % 8 == 0)
- sp -= 4;
+ gdb_assert (!sparc_structure_or_union_p (type));
+ gdb_assert (!(sparc_floating_p (type) && len == 16));
- /* Now push the arguments onto the stack. */
- for (i = nargs - 1; i >=0; i--)
+ if (sparc_floating_p (type))
{
- char buf[8];
- int len;
+ /* Floating return values. */
+ memcpy (buf, valbuf, len);
+ regcache_cooked_write (regcache, SPARC_F0_REGNUM, buf);
+ if (len > 4)
+ regcache_cooked_write (regcache, SPARC_F1_REGNUM, buf + 4);
+ }
+ else
+ {
+ /* Integral and pointer return values. */
+ gdb_assert (sparc_integral_or_pointer_p (type));
- if (addr[i])
+ if (len > 4)
{
- store_unsigned_integer (buf, 4, addr[i]);
- len = 4;
+ gdb_assert (len == 8);
+ memcpy (buf, valbuf, 8);
+ regcache_cooked_write (regcache, SPARC_O1_REGNUM, buf + 4);
}
else
{
- struct value *arg = args[i];
-
- len = TYPE_LENGTH (VALUE_ENCLOSING_TYPE (arg));
-
- /* Expand signed and unsigned bytes and halfwords as needed. */
- if (len < 4)
- {
- arg = value_cast (builtin_type_long, arg);
- len = 4;
- }
- else if (len > 4 && len < 8)
- {
- arg = value_cast (builtin_type_long_long, arg);
- len = 4;
- }
-
- gdb_assert (len == 4 || len == 8);
- memcpy (buf, VALUE_CONTENTS_ALL (arg), len);
- }
-
- /* We always write the argument word on the stack. */
- sp -= len;
- write_memory (sp, buf, len);
-
- /* If this argument occupies one of the first 6 words, write it
- into the appropriate register too. */
- size -= len;
- if (size < 24)
- {
- int regnum = SPARC_O0_REGNUM + (size / 4);
-
- regcache_cooked_write (regcache, regnum, buf);
- if (len == 8 && size < 20)
- regcache_cooked_write (regcache, regnum + 1, buf + 4);
+ /* ??? Do we need to do any sign-extension here? */
+ memcpy (buf + 4 - len, valbuf, len);
}
+ regcache_cooked_write (regcache, SPARC_O0_REGNUM, buf);
}
+}
- /* Reserve space for the struct/union return value pointer. */
- sp -= 4;
+static enum return_value_convention
+sparc32_return_value (struct gdbarch *gdbarch, struct type *type,
+ struct regcache *regcache, void *readbuf,
+ const void *writebuf)
+{
+ if (sparc_structure_or_union_p (type)
+ || (sparc_floating_p (type) && TYPE_LENGTH (type) == 16))
+ return RETURN_VALUE_STRUCT_CONVENTION;
- /* Stack should be doubleword aligned at this point. */
- gdb_assert (sp % 8 == 0);
+ if (readbuf)
+ sparc32_extract_return_value (type, regcache, readbuf);
+ if (writebuf)
+ sparc32_store_return_value (type, regcache, writebuf);
- /* Return the adjusted stack pointer. */
- return sp;
+ return RETURN_VALUE_REGISTER_CONVENTION;
}
-/* The SPARC passes the arguments on the stack; arguments smaller
- than an int are promoted to an int. The first 6 words worth of
- args are also passed in registers o0 - o5. */
+/* Extract from REGCACHE, which contains the (raw) register state, the
+ address in which a function should return its structure value, as a
+ CORE_ADDR. */
-CORE_ADDR
-sparc32_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
- int struct_return, CORE_ADDR struct_addr)
+static CORE_ADDR
+sparc32_extract_struct_value_address (struct regcache *regcache)
{
- sp = sparc32_do_push_arguments (current_regcache, nargs, args, sp);
+ ULONGEST sp;
- /* FIXME: kettenis/20030525: We don't let this function set the
- struct/union return pointer just yet. */
-#if 0
- if (struct_return)
- {
- char buf[4];
-
- /* The space for the struct/union return value pointer has
- already been reserved. */
- store_unsigned_integer (buf, 4, struct_addr);
- write (sp, buf, 4);
- }
-
- return sp;
-#else
- return sp + 4;
-#endif
+ regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM, &sp);
+ return read_memory_unsigned_integer (sp + 64, 4);
}
-/* Extract from REGCACHE a function return value of type TYPE and copy
- that into VALBUF.
+static int
+sparc32_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
+{
+ return (sparc_structure_or_union_p (type)
+ || (sparc_floating_p (type) && TYPE_LENGTH (type) == 16));
+}
- Note that REGCACHE specifies the register values for the frame of
- the calling function. This means that we need to fetch the value
- form %o0 and %o1, which correspond to %i0 and %i1 in the frame of
- the called function. */
+
+/* The SPARC Architecture doesn't have hardware single-step support,
+ and most operating systems don't implement it either, so we provide
+ software single-step mechanism. */
-void
-sparc32_extract_return_value (struct type *type, struct regcache *regcache,
- void *valbuf)
+static CORE_ADDR
+sparc_analyze_control_transfer (CORE_ADDR pc, CORE_ADDR *npc)
{
- int len = TYPE_LENGTH (type);
- char buf[8];
+ unsigned long insn = sparc_fetch_instruction (pc);
+ int conditional_p = X_COND (insn) & 0x7;
+ int branch_p = 0;
+ long offset = 0; /* Must be signed for sign-extend. */
- if (TYPE_CODE (type) == TYPE_CODE_FLT && SPARC_HAS_FPU)
+ if (X_OP (insn) == 0 && X_OP2 (insn) == 3 && (insn & 0x1000000) == 0)
{
- if (len == 4 || len == 8)
- {
- regcache_cooked_read (regcache, SPARC_F0_REGNUM, buf);
- regcache_cooked_read (regcache, SPARC_F1_REGNUM, buf + 4);
- memcpy (valbuf, buf, len);
- return;
- }
- else
- internal_error (__FILE__, __LINE__, "\
-Cannot extract floating-point return value of %d bytes long.", len);
+ /* Branch on Integer Register with Prediction (BPr). */
+ branch_p = 1;
+ conditional_p = 1;
}
-
- if (len <= 4)
+ else if (X_OP (insn) == 0 && X_OP2 (insn) == 6)
{
- regcache_cooked_read (regcache, SPARC_O0_REGNUM, buf);
- memcpy (valbuf, buf + 4 - len, len);
+ /* Branch on Floating-Point Condition Codes (FBfcc). */
+ branch_p = 1;
+ offset = 4 * X_DISP22 (insn);
}
- else if (len <= 8)
+ else if (X_OP (insn) == 0 && X_OP2 (insn) == 5)
{
- regcache_cooked_read (regcache, SPARC_O0_REGNUM, buf);
- regcache_cooked_read (regcache, SPARC_O1_REGNUM, buf + 4);
- memcpy (valbuf, buf + 8 - len, len);
+ /* Branch on Floating-Point Condition Codes with Prediction
+ (FBPfcc). */
+ branch_p = 1;
+ offset = 4 * X_DISP19 (insn);
+ }
+ else if (X_OP (insn) == 0 && X_OP2 (insn) == 2)
+ {
+ /* Branch on Integer Condition Codes (Bicc). */
+ branch_p = 1;
+ offset = 4 * X_DISP22 (insn);
+ }
+ else if (X_OP (insn) == 0 && X_OP2 (insn) == 1)
+ {
+ /* Branch on Integer Condition Codes with Prediction (BPcc). */
+ branch_p = 1;
+ offset = 4 * X_DISP19 (insn);
}
- else
- internal_error (__FILE__, __LINE__,
- "Cannot extract return value of %d bytes long.", len);
-}
-/* Write into REGBUF a function return value VALBUF of type TYPE. */
+ /* FIXME: Handle DONE and RETRY instructions. */
-void
-sparc32_store_return_value (struct type *type, struct regcache *regcache,
- const void *valbuf)
-{
- int len = TYPE_LENGTH (type);
- char buf[8];
+ /* FIXME: Handle the Trap instruction. */
- if (TYPE_CODE (type) == TYPE_CODE_FLT && SPARC_HAS_FPU)
+ if (branch_p)
{
- const char *buf = valbuf;
-
- if (len == 4)
+ if (conditional_p)
{
- regcache_cooked_write (regcache, SPARC_F0_REGNUM, buf);
- return;
+ /* For conditional branches, return nPC + 4 iff the annul
+ bit is 1. */
+ return (X_A (insn) ? *npc + 4 : 0);
}
- else if (len == 8)
+ else
{
- regcache_cooked_write (regcache, SPARC_F0_REGNUM, buf);
- regcache_cooked_write (regcache, SPARC_F1_REGNUM, buf + 4);
- return;
+ /* For unconditional branches, return the target if its
+ specified condition is "always" and return nPC + 4 if the
+ condition is "never". If the annul bit is 1, set *NPC to
+ zero. */
+ if (X_COND (insn) == 0x0)
+ pc = *npc, offset = 4;
+ if (X_A (insn))
+ *npc = 0;
+
+ gdb_assert (offset != 0);
+ return pc + offset;
}
- else
- internal_error (__FILE__, __LINE__, "\
-Cannot extract floating-point return value of %d bytes long.", len);
}
- /* Add leading zeros to the value. */
- memset (buf, 0, sizeof buf);
-
- if (len <= 4)
- {
- memcpy (buf + 4 - len, valbuf, len);
- regcache_cooked_write (regcache, SPARC_O0_REGNUM, buf);
- }
- else if (len <= 8)
- {
- memcpy (buf + 8 - len, valbuf, len);
- regcache_cooked_write (regcache, SPARC_O0_REGNUM, buf);
- regcache_cooked_write (regcache, SPARC_O1_REGNUM, buf);
- }
- else
- internal_error (__FILE__, __LINE__,
- "Cannot extract return value of %d bytes long.", len);
+ return 0;
}
-/* Extract from REGCACHE the address in which a function should return
- its structure value. */
-
-CORE_ADDR
-sparc_extract_struct_value_address (struct regcache *regcache)
+void
+sparc_software_single_step (enum target_signal sig, int insert_breakpoints_p)
{
- ULONGEST addr;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ static CORE_ADDR npc, nnpc;
+ static char npc_save[4], nnpc_save[4];
- regcache_cooked_read_unsigned (regcache, SPARC_O0_REGNUM, &addr);
- return addr;
-}
+ if (insert_breakpoints_p)
+ {
+ CORE_ADDR pc;
-/* FIXME: kettenis/2003/05/24: Still used for sparc64. */
+ pc = sparc_address_from_register (tdep->pc_regnum);
+ npc = sparc_address_from_register (tdep->npc_regnum);
-static void
-sparc_store_return_value (struct type *type, char *valbuf)
-{
- int regno;
- char buffer[MAX_REGISTER_SIZE];
+ /* Analyze the instruction at PC. */
+ nnpc = sparc_analyze_control_transfer (pc, &npc);
+ if (npc != 0)
+ target_insert_breakpoint (npc, npc_save);
+ if (nnpc != 0)
+ target_insert_breakpoint (nnpc, nnpc_save);
- if (TYPE_CODE (type) == TYPE_CODE_FLT && SPARC_HAS_FPU)
- /* Floating-point values are returned in the register pair */
- /* formed by %f0 and %f1 (doubles are, anyway). */
- regno = FP0_REGNUM;
+ /* Assert that we have set at least one breakpoint, and that
+ they're not set at the same spot. */
+ gdb_assert (npc != 0 || nnpc != 0);
+ gdb_assert (nnpc != npc);
+ }
else
- /* Other values are returned in register %o0. */
- regno = O0_REGNUM;
-
- /* Add leading zeros to the value. */
- if (TYPE_LENGTH (type) < DEPRECATED_REGISTER_RAW_SIZE (regno))
{
- memset (buffer, 0, DEPRECATED_REGISTER_RAW_SIZE (regno));
- memcpy (buffer + DEPRECATED_REGISTER_RAW_SIZE (regno) - TYPE_LENGTH (type), valbuf,
- TYPE_LENGTH (type));
- deprecated_write_register_gen (regno, buffer);
+ if (npc != 0)
+ target_remove_breakpoint (npc, npc_save);
+ if (nnpc != 0)
+ target_remove_breakpoint (nnpc, nnpc_save);
}
- else
- deprecated_write_register_bytes (DEPRECATED_REGISTER_BYTE (regno), valbuf,
- TYPE_LENGTH (type));
}
-#ifndef CALL_DUMMY_CALL_OFFSET
-#define CALL_DUMMY_CALL_OFFSET \
- (gdbarch_tdep (current_gdbarch)->call_dummy_call_offset)
-#endif /* CALL_DUMMY_CALL_OFFSET */
-
-/* Insert the function address into a call dummy instruction sequence
- stored at DUMMY.
+static void
+sparc_write_pc (CORE_ADDR pc, ptid_t ptid)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
- For structs and unions, if the function was compiled with Sun cc,
- it expects 'unimp' after the call. But gcc doesn't use that
- (twisted) convention. So leave a nop there for gcc
- (DEPRECATED_FIX_CALL_DUMMY can assume it is operating on a pristine
- CALL_DUMMY, not one that has already been customized for a
- different function). */
+ write_register_pid (tdep->pc_regnum, pc, ptid);
+ write_register_pid (tdep->npc_regnum, pc + 4, ptid);
+}
+
+/* Unglobalize NAME. */
-void
-sparc_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun,
- struct type *value_type, int using_gcc)
-{
- int i;
+char *
+sparc_stabs_unglobalize_name (char *name)
+{
+ /* The Sun compilers (Sun ONE Studio, Forte Developer, Sun WorkShop,
+ SunPRO) convert file static variables into global values, a
+ process known as globalization. In order to do this, the
+ compiler will create a unique prefix and prepend it to each file
+ static variable. For static variables within a function, this
+ globalization prefix is followed by the function name (nested
+ static variables within a function are supposed to generate a
+ warning message, and are left alone). The procedure is
+ documented in the Stabs Interface Manual, which is distrubuted
+ with the compilers, although version 4.0 of the manual seems to
+ be incorrect in some places, at least for SPARC. The
+ globalization prefix is encoded into an N_OPT stab, with the form
+ "G=<prefix>". The globalization prefix always seems to start
+ with a dollar sign '$'; a dot '.' is used as a seperator. So we
+ simply strip everything up until the last dot. */
- /* Store the relative adddress of the target function into the
- 'call' instruction. */
- store_unsigned_integer (dummy + CALL_DUMMY_CALL_OFFSET, 4,
- (0x40000000
- | (((fun - (pc + CALL_DUMMY_CALL_OFFSET)) >> 2)
- & 0x3fffffff)));
-
- /* If the called function returns an aggregate value, fill in the UNIMP
- instruction containing the size of the returned aggregate return value,
- which follows the call instruction.
- For details see the SPARC Architecture Manual Version 8, Appendix D.3.
-
- Adjust the call_dummy_breakpoint_offset for the bp_call_dummy breakpoint
- to the proper address in the call dummy, so that `finish' after a stop
- in a call dummy works.
-
- Tweeking current_gdbarch is not an optimal solution, but the call
- to sparc_fix_call_dummy is immediately followed by a call to
- call_function_by_hand, which is the only function where
- dummy_breakpoint_offset is actually used, if it is non-zero. */
- if (TYPE_CODE (value_type) == TYPE_CODE_STRUCT
- || TYPE_CODE (value_type) == TYPE_CODE_UNION)
+ if (name[0] == '$')
{
- store_unsigned_integer (dummy + CALL_DUMMY_CALL_OFFSET + 8, 4,
- TYPE_LENGTH (value_type) & 0x1fff);
- set_gdbarch_deprecated_call_dummy_breakpoint_offset (current_gdbarch, 0x30);
+ char *p = strrchr (name, '.');
+ if (p)
+ return p + 1;
}
- else
- set_gdbarch_deprecated_call_dummy_breakpoint_offset (current_gdbarch, 0x2c);
- if (!(GDB_TARGET_IS_SPARC64))
- {
- /* If this is not a simulator target, change the first four
- instructions of the call dummy to NOPs. Those instructions
- include a 'save' instruction and are designed to work around
- problems with register window flushing in the simulator. */
-
- if (strcmp (target_shortname, "sim") != 0)
- {
- for (i = 0; i < 4; i++)
- store_unsigned_integer (dummy + (i * 4), 4, 0x01000000);
- }
- }
+ return name;
}
+
-/*
- * Module "constructor" function.
- */
-
-static struct gdbarch * sparc_gdbarch_init (struct gdbarch_info info,
- struct gdbarch_list *arches);
-static void sparc_dump_tdep (struct gdbarch *, struct ui_file *);
-
-extern initialize_file_ftype _initialize_sparc_tdep; /* -Wmissing-prototypes */
+/* Return the appropriate register set for the core section identified
+ by SECT_NAME and SECT_SIZE. */
-void
-_initialize_sparc_tdep (void)
+const struct regset *
+sparc_regset_from_core_section (struct gdbarch *gdbarch,
+ const char *sect_name, size_t sect_size)
{
- /* Hook us into the gdbarch mechanism. */
- gdbarch_register (bfd_arch_sparc, sparc_gdbarch_init, sparc_dump_tdep);
-}
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-/* Compensate for stack bias. Note that we currently don't handle
- mixed 32/64 bit code. */
+ if (strcmp (sect_name, ".reg") == 0 && sect_size == tdep->sizeof_gregset)
+ return tdep->gregset;
-static CORE_ADDR
-sparc64_read_sp (void)
-{
- CORE_ADDR sp = read_register (SP_REGNUM);
+ if (strcmp (sect_name, ".reg2") == 0 && sect_size == tdep->sizeof_fpregset)
+ return tdep->fpregset;
- if (sp & 1)
- sp += 2047;
- return sp;
+ return NULL;
}
+
-static CORE_ADDR
-sparc64_read_fp (void)
+static struct gdbarch *
+sparc32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
{
- CORE_ADDR fp = read_register (DEPRECATED_FP_REGNUM);
+ struct gdbarch_tdep *tdep;
+ struct gdbarch *gdbarch;
- if (fp & 1)
- fp += 2047;
- return fp;
-}
+ /* If there is already a candidate, use it. */
+ arches = gdbarch_list_lookup_by_info (arches, &info);
+ if (arches != NULL)
+ return arches->gdbarch;
-static void
-sparc64_write_sp (CORE_ADDR val)
-{
- CORE_ADDR oldsp = read_register (SP_REGNUM);
- if (oldsp & 1)
- write_register (SP_REGNUM, val - 2047);
- else
- write_register (SP_REGNUM, val);
-}
+ /* Allocate space for the new architecture. */
+ tdep = XMALLOC (struct gdbarch_tdep);
+ gdbarch = gdbarch_alloc (&info, tdep);
-/* The SPARC 64 ABI passes floating-point arguments in FP0 to FP31,
- and all other arguments in O0 to O5. They are also copied onto
- the stack in the correct places. Apparently (empirically),
- structs of less than 16 bytes are passed member-by-member in
- separate registers, but I am unable to figure out the algorithm.
- Some members go in floating point regs, but I don't know which.
+ tdep->pc_regnum = SPARC32_PC_REGNUM;
+ tdep->npc_regnum = SPARC32_NPC_REGNUM;
+ tdep->gregset = NULL;
+ tdep->sizeof_gregset = 20 * 4;
+ tdep->fpregset = NULL;
+ tdep->sizeof_fpregset = 33 * 4;
+ tdep->plt_entry_size = 0;
+
+ set_gdbarch_long_double_bit (gdbarch, 128);
+ set_gdbarch_long_double_format (gdbarch, &floatformat_sparc_quad);
+
+ set_gdbarch_num_regs (gdbarch, SPARC32_NUM_REGS);
+ set_gdbarch_register_name (gdbarch, sparc32_register_name);
+ set_gdbarch_register_type (gdbarch, sparc32_register_type);
+ set_gdbarch_num_pseudo_regs (gdbarch, SPARC32_NUM_PSEUDO_REGS);
+ set_gdbarch_pseudo_register_read (gdbarch, sparc32_pseudo_register_read);
+ set_gdbarch_pseudo_register_write (gdbarch, sparc32_pseudo_register_write);
+
+ /* Register numbers of various important registers. */
+ set_gdbarch_sp_regnum (gdbarch, SPARC_SP_REGNUM); /* %sp */
+ set_gdbarch_pc_regnum (gdbarch, SPARC32_PC_REGNUM); /* %pc */
+ set_gdbarch_fp0_regnum (gdbarch, SPARC_F0_REGNUM); /* %f0 */
+
+ /* Call dummy code. */
+ set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
+ set_gdbarch_push_dummy_code (gdbarch, sparc32_push_dummy_code);
+ set_gdbarch_push_dummy_call (gdbarch, sparc32_push_dummy_call);
+
+ set_gdbarch_return_value (gdbarch, sparc32_return_value);
+ set_gdbarch_extract_struct_value_address
+ (gdbarch, sparc32_extract_struct_value_address);
+ set_gdbarch_stabs_argument_has_addr
+ (gdbarch, sparc32_stabs_argument_has_addr);
+
+ set_gdbarch_skip_prologue (gdbarch, sparc32_skip_prologue);
+
+ /* Stack grows downward. */
+ set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
- FIXME: Handle small structs (less than 16 bytes containing floats).
+ set_gdbarch_breakpoint_from_pc (gdbarch, sparc_breakpoint_from_pc);
+ set_gdbarch_decr_pc_after_break (gdbarch, 0);
+ set_gdbarch_function_start_offset (gdbarch, 0);
- The counting regimen for using both integer and FP registers
- for argument passing is rather odd -- a single counter is used
- for both; this means that if the arguments alternate between
- int and float, we will waste every other register of both types. */
+ set_gdbarch_frame_args_skip (gdbarch, 8);
-static CORE_ADDR
-sparc64_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
- int struct_return, CORE_ADDR struct_retaddr)
-{
- int i, j, register_counter = 0;
- CORE_ADDR tempsp;
- struct type *sparc_intreg_type =
- TYPE_LENGTH (builtin_type_long) == SPARC_INTREG_SIZE ?
- builtin_type_long : builtin_type_long_long;
+ set_gdbarch_print_insn (gdbarch, print_insn_sparc);
- sp = (sp & ~(((unsigned long) SPARC_INTREG_SIZE) - 1UL));
+ set_gdbarch_software_single_step (gdbarch, sparc_software_single_step);
+ set_gdbarch_write_pc (gdbarch, sparc_write_pc);
- /* Figure out how much space we'll need. */
- for (i = nargs - 1; i >= 0; i--)
- {
- int len = TYPE_LENGTH (check_typedef (VALUE_TYPE (args[i])));
- struct value *copyarg = args[i];
- int copylen = len;
+ set_gdbarch_unwind_dummy_id (gdbarch, sparc_unwind_dummy_id);
- if (copylen < SPARC_INTREG_SIZE)
- {
- copyarg = value_cast (sparc_intreg_type, copyarg);
- copylen = SPARC_INTREG_SIZE;
- }
- sp -= copylen;
- }
+ set_gdbarch_unwind_pc (gdbarch, sparc_unwind_pc);
- /* Round down. */
- sp = sp & ~7;
- tempsp = sp;
+ frame_base_set_default (gdbarch, &sparc32_frame_base);
- /* if STRUCT_RETURN, then first argument is the struct return location. */
- if (struct_return)
- write_register (O0_REGNUM + register_counter++, struct_retaddr);
+ /* Hook in ABI-specific overrides, if they have been registered. */
+ gdbarch_init_osabi (info, gdbarch);
- /* Now write the arguments onto the stack, while writing FP
- arguments into the FP registers, and other arguments into the
- first six 'O' registers. */
+ frame_unwind_append_sniffer (gdbarch, sparc32_frame_sniffer);
- for (i = 0; i < nargs; i++)
- {
- int len = TYPE_LENGTH (check_typedef (VALUE_TYPE (args[i])));
- struct value *copyarg = args[i];
- enum type_code typecode = TYPE_CODE (VALUE_TYPE (args[i]));
- int copylen = len;
-
- if (typecode == TYPE_CODE_INT ||
- typecode == TYPE_CODE_BOOL ||
- typecode == TYPE_CODE_CHAR ||
- typecode == TYPE_CODE_RANGE ||
- typecode == TYPE_CODE_ENUM)
- if (len < SPARC_INTREG_SIZE)
- {
- /* Small ints will all take up the size of one intreg on
- the stack. */
- copyarg = value_cast (sparc_intreg_type, copyarg);
- copylen = SPARC_INTREG_SIZE;
- }
-
- write_memory (tempsp, VALUE_CONTENTS (copyarg), copylen);
- tempsp += copylen;
-
- /* Corner case: Structs consisting of a single float member are floats.
- * FIXME! I don't know about structs containing multiple floats!
- * Structs containing mixed floats and ints are even more weird.
- */
-
-
-
- /* Separate float args from all other args. */
- if (typecode == TYPE_CODE_FLT && SPARC_HAS_FPU)
- {
- if (register_counter < 16)
- {
- /* This arg gets copied into a FP register. */
- int fpreg;
-
- switch (len) {
- case 4: /* Single-precision (float) */
- fpreg = FP0_REGNUM + 2 * register_counter + 1;
- register_counter += 1;
- break;
- case 8: /* Double-precision (double) */
- fpreg = FP0_REGNUM + 2 * register_counter;
- register_counter += 1;
- break;
- case 16: /* Quad-precision (long double) */
- fpreg = FP0_REGNUM + 2 * register_counter;
- register_counter += 2;
- break;
- default:
- internal_error (__FILE__, __LINE__, "bad switch");
- }
- deprecated_write_register_bytes (DEPRECATED_REGISTER_BYTE (fpreg),
- VALUE_CONTENTS (args[i]),
- len);
- }
- }
- else /* all other args go into the first six 'o' registers */
- {
- for (j = 0;
- j < len && register_counter < 6;
- j += SPARC_INTREG_SIZE)
- {
- int oreg = O0_REGNUM + register_counter;
+ /* If we have register sets, enable the generic core file support. */
+ if (tdep->gregset && tdep->fpregset)
+ set_gdbarch_regset_from_core_section (gdbarch,
+ sparc_regset_from_core_section);
- deprecated_write_register_gen (oreg, VALUE_CONTENTS (copyarg) + j);
- register_counter += 1;
- }
- }
- }
- return sp;
+ return gdbarch;
}
+
+/* Helper functions for dealing with register windows. */
-/* Values <= 32 bytes are returned in o0-o3 (floating-point values are
- returned in f0-f3). */
-
-static void
-sp64_extract_return_value (struct type *type, char *regbuf, char *valbuf,
- int bitoffset)
+void
+sparc_supply_rwindow (struct regcache *regcache, CORE_ADDR sp, int regnum)
{
- int typelen = TYPE_LENGTH (type);
- int regsize = DEPRECATED_REGISTER_RAW_SIZE (O0_REGNUM);
+ int offset = 0;
+ char buf[8];
+ int i;
- if (TYPE_CODE (type) == TYPE_CODE_FLT && SPARC_HAS_FPU)
+ if (sp & 1)
{
- memcpy (valbuf, &regbuf[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)], typelen);
- return;
- }
+ /* Registers are 64-bit. */
+ sp += BIAS;
- if (TYPE_CODE (type) != TYPE_CODE_STRUCT
- || (TYPE_LENGTH (type) > 32))
- {
- memcpy (valbuf,
- &regbuf[O0_REGNUM * regsize +
- (typelen >= regsize ? 0 : regsize - typelen)],
- typelen);
- return;
+ for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
+ {
+ if (regnum == i || regnum == -1)
+ {
+ target_read_memory (sp + ((i - SPARC_L0_REGNUM) * 8), buf, 8);
+ regcache_raw_supply (regcache, i, buf);
+ }
+ }
}
else
{
- char *o0 = &regbuf[O0_REGNUM * regsize];
- char *f0 = &regbuf[FP0_REGNUM * regsize];
- int x;
+ /* Registers are 32-bit. Toss any sign-extension of the stack
+ pointer. */
+ sp &= 0xffffffffUL;
- for (x = 0; x < TYPE_NFIELDS (type); x++)
+ /* Clear out the top half of the temporary buffer, and put the
+ register value in the bottom half if we're in 64-bit mode. */
+ if (gdbarch_ptr_bit (current_gdbarch) == 64)
{
- struct field *f = &TYPE_FIELDS (type)[x];
- /* FIXME: We may need to handle static fields here. */
- int whichreg = (f->loc.bitpos + bitoffset) / 32;
- int remainder = ((f->loc.bitpos + bitoffset) % 32) / 8;
- int where = (f->loc.bitpos + bitoffset) / 8;
- int size = TYPE_LENGTH (f->type);
- int typecode = TYPE_CODE (f->type);
-
- if (typecode == TYPE_CODE_STRUCT)
- {
- sp64_extract_return_value (f->type,
- regbuf,
- valbuf,
- bitoffset + f->loc.bitpos);
- }
- else if (typecode == TYPE_CODE_FLT && SPARC_HAS_FPU)
- {
- memcpy (valbuf + where, &f0[whichreg * 4] + remainder, size);
- }
- else
+ memset (buf, 0, 4);
+ offset = 4;
+ }
+
+ for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
+ {
+ if (regnum == i || regnum == -1)
{
- memcpy (valbuf + where, &o0[whichreg * 4] + remainder, size);
+ target_read_memory (sp + ((i - SPARC_L0_REGNUM) * 4),
+ buf + offset, 4);
+ regcache_raw_supply (regcache, i, buf);
}
}
}
}
-static void
-sparc64_extract_return_value (struct type *type, char *regbuf, char *valbuf)
-{
- sp64_extract_return_value (type, regbuf, valbuf, 0);
-}
-
-extern CORE_ADDR
-sparc32_stack_align (CORE_ADDR addr)
-{
- return ((addr + 7) & -8);
-}
-
-static CORE_ADDR
-sparc64_stack_align (CORE_ADDR addr)
-{
- return ((addr + 15) & -16);
-}
-
-extern void
-sparc_print_extra_frame_info (struct frame_info *fi)
+void
+sparc_collect_rwindow (const struct regcache *regcache,
+ CORE_ADDR sp, int regnum)
{
- if (fi && get_frame_extra_info (fi) && get_frame_extra_info (fi)->flat)
- printf_filtered (" flat, pc saved at 0x%s, fp saved at 0x%s\n",
- paddr_nz (get_frame_extra_info (fi)->pc_addr),
- paddr_nz (get_frame_extra_info (fi)->fp_addr));
-}
+ int offset = 0;
+ char buf[8];
+ int i;
-static const char *
-sparc32_register_name (int regno)
-{
- static char *register_names[] =
- { "g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7",
- "o0", "o1", "o2", "o3", "o4", "o5", "sp", "o7",
- "l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7",
- "i0", "i1", "i2", "i3", "i4", "i5", "fp", "i7",
-
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
-
- "y", "psr", "wim", "tbr", "pc", "npc", "fpsr", "cpsr"
- };
-
- if (regno < 0 ||
- regno >= (sizeof (register_names) / sizeof (register_names[0])))
- return NULL;
- else
- return register_names[regno];
-}
+ if (sp & 1)
+ {
+ /* Registers are 64-bit. */
+ sp += BIAS;
-static const char *
-sparc64_register_name (int regno)
-{
- static char *register_names[] =
- { "g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7",
- "o0", "o1", "o2", "o3", "o4", "o5", "sp", "o7",
- "l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7",
- "i0", "i1", "i2", "i3", "i4", "i5", "fp", "i7",
-
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
- "f32", "f34", "f36", "f38", "f40", "f42", "f44", "f46",
- "f48", "f50", "f52", "f54", "f56", "f58", "f60", "f62",
-
- "pc", "npc", "ccr", "fsr", "fprs", "y", "asi", "ver",
- "tick", "pil", "pstate", "tstate", "tba", "tl", "tt", "tpc",
- "tnpc", "wstate", "cwp", "cansave", "canrestore", "cleanwin", "otherwin",
- "asr16", "asr17", "asr18", "asr19", "asr20", "asr21", "asr22", "asr23",
- "asr24", "asr25", "asr26", "asr27", "asr28", "asr29", "asr30", "asr31",
- /* These are here at the end to simplify removing them if we have to. */
- "icc", "xcc", "fcc0", "fcc1", "fcc2", "fcc3"
- };
-
- if (regno < 0 ||
- regno >= (sizeof (register_names) / sizeof (register_names[0])))
- return NULL;
+ for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
+ {
+ if (regnum == -1 || regnum == SPARC_SP_REGNUM || regnum == i)
+ {
+ regcache_raw_collect (regcache, i, buf);
+ target_write_memory (sp + ((i - SPARC_L0_REGNUM) * 8), buf, 8);
+ }
+ }
+ }
else
- return register_names[regno];
-}
-
-static CORE_ADDR
-sparc_push_return_address (CORE_ADDR pc_unused, CORE_ADDR sp)
-{
- if (CALL_DUMMY_LOCATION == AT_ENTRY_POINT)
{
- /* The return PC of the dummy_frame is the former 'current' PC
- (where we were before we made the target function call).
- This is saved in %i7 by push_dummy_frame.
+ /* Registers are 32-bit. Toss any sign-extension of the stack
+ pointer. */
+ sp &= 0xffffffffUL;
- We will save the 'call dummy location' (ie. the address
- to which the target function will return) in %o7.
- This address will actually be the program's entry point.
- There will be a special call_dummy breakpoint there. */
+ /* Only use the bottom half if we're in 64-bit mode. */
+ if (gdbarch_ptr_bit (current_gdbarch) == 64)
+ offset = 4;
- if (DEPRECATED_CALL_DUMMY_ADDRESS_P ())
- write_register (O7_REGNUM, DEPRECATED_CALL_DUMMY_ADDRESS () - 8);
- else
- write_register (O7_REGNUM, entry_point_address () - 8);
+ for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
+ {
+ if (regnum == -1 || regnum == SPARC_SP_REGNUM || regnum == i)
+ {
+ regcache_raw_collect (regcache, i, buf);
+ target_write_memory (sp + ((i - SPARC_L0_REGNUM) * 4),
+ buf + offset, 4);
+ }
+ }
}
-
- return sp;
}
-/* Should call_function allocate stack space for a struct return? */
+/* Helper functions for dealing with register sets. */
-static int
-sparc64_use_struct_convention (int gcc_p, struct type *type)
+void
+sparc32_supply_gregset (const struct sparc_gregset *gregset,
+ struct regcache *regcache,
+ int regnum, const void *gregs)
{
- return (TYPE_LENGTH (type) > 32);
-}
+ const char *regs = gregs;
+ int i;
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function_by_hand.
- The ultimate mystery is, tho, what is the value "16"?
+ if (regnum == SPARC32_PSR_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC32_PSR_REGNUM,
+ regs + gregset->r_psr_offset);
- MVS: That's the offset from where the sp is now, to where the
- subroutine is gonna expect to find the struct return address. */
+ if (regnum == SPARC32_PC_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC32_PC_REGNUM,
+ regs + gregset->r_pc_offset);
-static void
-sparc32_store_struct_return (CORE_ADDR addr, CORE_ADDR sp)
-{
- char *val;
- CORE_ADDR o7;
+ if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC32_NPC_REGNUM,
+ regs + gregset->r_npc_offset);
- val = alloca (SPARC_INTREG_SIZE);
- store_unsigned_integer (val, SPARC_INTREG_SIZE, addr);
- write_memory (sp + (16 * SPARC_INTREG_SIZE), val, SPARC_INTREG_SIZE);
+ if (regnum == SPARC32_Y_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC32_Y_REGNUM,
+ regs + gregset->r_y_offset);
- if (CALL_DUMMY_LOCATION == AT_ENTRY_POINT)
- {
- /* Now adjust the value of the link register, which was previously
- stored by push_return_address. Functions that return structs are
- peculiar in that they return to link register + 12, rather than
- link register + 8. */
+ if (regnum == SPARC_G0_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC_G0_REGNUM, NULL);
- o7 = read_register (O7_REGNUM);
- write_register (O7_REGNUM, o7 - 4);
- }
-}
-
-static void
-sparc64_store_struct_return (CORE_ADDR addr, CORE_ADDR sp)
-{
- /* FIXME: V9 uses %o0 for this. */
- /* FIXME MVS: Only for small enough structs!!! */
-
- target_write_memory (sp + (16 * SPARC_INTREG_SIZE),
- (char *) &addr, SPARC_INTREG_SIZE);
-#if 0
- if (CALL_DUMMY_LOCATION == AT_ENTRY_POINT)
+ if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
{
- /* Now adjust the value of the link register, which was previously
- stored by push_return_address. Functions that return structs are
- peculiar in that they return to link register + 12, rather than
- link register + 8. */
+ int offset = gregset->r_g1_offset;
- write_register (O7_REGNUM, read_register (O7_REGNUM) - 4);
+ for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++)
+ {
+ if (regnum == i || regnum == -1)
+ regcache_raw_supply (regcache, i, regs + offset);
+ offset += 4;
+ }
}
-#endif
-}
-
-/* Default target data type for register REGNO. */
-
-static struct type *
-sparc32_register_virtual_type (int regno)
-{
- if (regno == PC_REGNUM ||
- regno == DEPRECATED_FP_REGNUM ||
- regno == SP_REGNUM)
- return builtin_type_unsigned_int;
- if (regno < 32)
- return builtin_type_int;
- if (regno < 64)
- return builtin_type_float;
- return builtin_type_int;
-}
-
-static struct type *
-sparc64_register_virtual_type (int regno)
-{
- if (regno == PC_REGNUM ||
- regno == DEPRECATED_FP_REGNUM ||
- regno == SP_REGNUM)
- return builtin_type_unsigned_long_long;
- if (regno < 32)
- return builtin_type_long_long;
- if (regno < 64)
- return builtin_type_float;
- if (regno < 80)
- return builtin_type_double;
- return builtin_type_long_long;
-}
-
-/* Number of bytes of storage in the actual machine representation for
- register REGNO. */
-
-static int
-sparc32_register_size (int regno)
-{
- return 4;
-}
-
-static int
-sparc64_register_size (int regno)
-{
- return (regno < 32 ? 8 : regno < 64 ? 4 : 8);
-}
-
-/* Index within the `registers' buffer of the first byte of the space
- for register REGNO. */
-
-static int
-sparc32_register_byte (int regno)
-{
- return (regno * 4);
-}
-
-static int
-sparc64_register_byte (int regno)
-{
- if (regno < 32)
- return regno * 8;
- else if (regno < 64)
- return 32 * 8 + (regno - 32) * 4;
- else if (regno < 80)
- return 32 * 8 + 32 * 4 + (regno - 64) * 8;
- else
- return 64 * 8 + (regno - 80) * 8;
-}
-
-/* Immediately after a function call, return the saved pc.
- Can't go through the frames for this because on some machines
- the new frame is not set up until the new function executes
- some instructions. */
-static CORE_ADDR
-sparc_saved_pc_after_call (struct frame_info *fi)
-{
- return sparc_pc_adjust (read_register (RP_REGNUM));
-}
+ if ((regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM) || regnum == -1)
+ {
+ /* Not all of the register set variants include Locals and
+ Inputs. For those that don't, we read them off the stack. */
+ if (gregset->r_l0_offset == -1)
+ {
+ ULONGEST sp;
-/* Init saved regs: nothing to do, just a place-holder function. */
+ regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM, &sp);
+ sparc_supply_rwindow (regcache, sp, regnum);
+ }
+ else
+ {
+ int offset = gregset->r_l0_offset;
-static void
-sparc_frame_init_saved_regs (struct frame_info *fi_ignored)
-{ /* no-op */
+ for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
+ {
+ if (regnum == i || regnum == -1)
+ regcache_raw_supply (regcache, i, regs + offset);
+ offset += 4;
+ }
+ }
+ }
}
-/* gdbarch fix call dummy:
- All this function does is rearrange the arguments before calling
- sparc_fix_call_dummy (which does the real work). */
-
-static void
-sparc_gdbarch_fix_call_dummy (char *dummy,
- CORE_ADDR pc,
- CORE_ADDR fun,
- int nargs,
- struct value **args,
- struct type *type,
- int gcc_p)
+void
+sparc32_collect_gregset (const struct sparc_gregset *gregset,
+ const struct regcache *regcache,
+ int regnum, void *gregs)
{
- if (CALL_DUMMY_LOCATION == ON_STACK)
- sparc_fix_call_dummy (dummy, pc, fun, type, gcc_p);
-}
+ char *regs = gregs;
+ int i;
-/* DEPRECATED_CALL_DUMMY_ADDRESS: fetch the breakpoint address for a
- call dummy. */
+ if (regnum == SPARC32_PSR_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC32_PSR_REGNUM,
+ regs + gregset->r_psr_offset);
-static CORE_ADDR
-sparc_call_dummy_address (void)
-{
- return (DEPRECATED_CALL_DUMMY_START_OFFSET) + DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET;
-}
+ if (regnum == SPARC32_PC_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC32_PC_REGNUM,
+ regs + gregset->r_pc_offset);
-/* Supply the Y register number to those that need it. */
+ if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC32_NPC_REGNUM,
+ regs + gregset->r_npc_offset);
-int
-sparc_y_regnum (void)
-{
- return gdbarch_tdep (current_gdbarch)->y_regnum;
-}
+ if (regnum == SPARC32_Y_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC32_Y_REGNUM,
+ regs + gregset->r_y_offset);
-int
-sparc_reg_struct_has_addr (int gcc_p, struct type *type)
-{
- if (GDB_TARGET_IS_SPARC64)
- return (TYPE_LENGTH (type) > 32);
- else
- return (gcc_p != 1);
-}
+ if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
+ {
+ int offset = gregset->r_g1_offset;
-int
-sparc_intreg_size (void)
-{
- return SPARC_INTREG_SIZE;
-}
+ /* %g0 is always zero. */
+ for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++)
+ {
+ if (regnum == i || regnum == -1)
+ regcache_raw_collect (regcache, i, regs + offset);
+ offset += 4;
+ }
+ }
-static int
-sparc_return_value_on_stack (struct type *type)
-{
- if (TYPE_CODE (type) == TYPE_CODE_FLT &&
- TYPE_LENGTH (type) > 8)
- return 1;
- else
- return 0;
-}
+ if ((regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM) || regnum == -1)
+ {
+ /* Not all of the register set variants include Locals and
+ Inputs. For those that don't, we read them off the stack. */
+ if (gregset->r_l0_offset != -1)
+ {
+ int offset = gregset->r_l0_offset;
-/* Get the ith function argument for the current function. */
-static CORE_ADDR
-sparc_fetch_pointer_argument (struct frame_info *frame, int argi,
- struct type *type)
-{
- CORE_ADDR addr;
- get_frame_register (frame, O0_REGNUM + argi, &addr);
- return addr;
+ for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
+ {
+ if (regnum == i || regnum == -1)
+ regcache_raw_collect (regcache, i, regs + offset);
+ offset += 4;
+ }
+ }
+ }
}
-/*
- * Gdbarch "constructor" function.
- */
-
-#define SPARC32_CALL_DUMMY_ON_STACK
-
-#define SPARC_SP_REGNUM 14
-#define SPARC_FP_REGNUM 30
-#define SPARC_FP0_REGNUM 32
-#define SPARC32_NPC_REGNUM 69
-#define SPARC32_PC_REGNUM 68
-#define SPARC32_Y_REGNUM 64
-#define SPARC64_PC_REGNUM 80
-#define SPARC64_NPC_REGNUM 81
-#define SPARC64_Y_REGNUM 85
-
-static struct gdbarch *
-sparc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+void
+sparc32_supply_fpregset (struct regcache *regcache,
+ int regnum, const void *fpregs)
{
- struct gdbarch *gdbarch;
- struct gdbarch_tdep *tdep;
+ const char *regs = fpregs;
+ int i;
- static LONGEST call_dummy_32[] =
- { 0xbc100001, 0x9de38000, 0xbc100002, 0xbe100003,
- 0xda03a058, 0xd803a054, 0xd603a050, 0xd403a04c,
- 0xd203a048, 0x40000000, 0xd003a044, 0x01000000,
- 0x91d02001, 0x01000000
- };
- static LONGEST call_dummy_64[] =
- { 0x9de3bec0fd3fa7f7LL, 0xf93fa7eff53fa7e7LL,
- 0xf13fa7dfed3fa7d7LL, 0xe93fa7cfe53fa7c7LL,
- 0xe13fa7bfdd3fa7b7LL, 0xd93fa7afd53fa7a7LL,
- 0xd13fa79fcd3fa797LL, 0xc93fa78fc53fa787LL,
- 0xc13fa77fcc3fa777LL, 0xc83fa76fc43fa767LL,
- 0xc03fa75ffc3fa757LL, 0xf83fa74ff43fa747LL,
- 0xf03fa73f01000000LL, 0x0100000001000000LL,
- 0x0100000091580000LL, 0xd027a72b93500000LL,
- 0xd027a72791480000LL, 0xd027a72391400000LL,
- 0xd027a71fda5ba8a7LL, 0xd85ba89fd65ba897LL,
- 0xd45ba88fd25ba887LL, 0x9fc02000d05ba87fLL,
- 0x0100000091d02001LL, 0x0100000001000000LL
- };
- static LONGEST call_dummy_nil[] = {0};
-
- /* Try to determine the OS ABI of the object we are loading. */
-
- if (info.abfd != NULL
- && info.osabi == GDB_OSABI_UNKNOWN)
+ for (i = 0; i < 32; i++)
{
- /* If it's an ELF file, assume it's Solaris. */
- if (bfd_get_flavour (info.abfd) == bfd_target_elf_flavour)
- info.osabi = GDB_OSABI_SOLARIS;
+ if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
+ regcache_raw_supply (regcache, SPARC_F0_REGNUM + i, regs + (i * 4));
}
- /* First see if there is already a gdbarch that can satisfy the request. */
- arches = gdbarch_list_lookup_by_info (arches, &info);
- if (arches != NULL)
- return arches->gdbarch;
-
- /* None found: is the request for a sparc architecture? */
- if (info.bfd_arch_info->arch != bfd_arch_sparc)
- return NULL; /* No; then it's not for us. */
-
- /* Yes: create a new gdbarch for the specified machine type. */
- tdep = (struct gdbarch_tdep *) xmalloc (sizeof (struct gdbarch_tdep));
- gdbarch = gdbarch_alloc (&info, tdep);
-
- /* First set settings that are common for all sparc architectures. */
- set_gdbarch_believe_pcc_promotion (gdbarch, 1);
- set_gdbarch_breakpoint_from_pc (gdbarch, sparc_breakpoint_from_pc);
- set_gdbarch_decr_pc_after_break (gdbarch, 0);
- set_gdbarch_double_bit (gdbarch, 8 * TARGET_CHAR_BIT);
- set_gdbarch_extract_struct_value_address (gdbarch,
- sparc_extract_struct_value_address);
- set_gdbarch_deprecated_fix_call_dummy (gdbarch, sparc_gdbarch_fix_call_dummy);
- set_gdbarch_float_bit (gdbarch, 4 * TARGET_CHAR_BIT);
- set_gdbarch_deprecated_fp_regnum (gdbarch, SPARC_FP_REGNUM);
- set_gdbarch_fp0_regnum (gdbarch, SPARC_FP0_REGNUM);
- set_gdbarch_deprecated_frame_chain (gdbarch, sparc_frame_chain);
- set_gdbarch_deprecated_frame_init_saved_regs (gdbarch, sparc_frame_init_saved_regs);
- set_gdbarch_deprecated_frame_saved_pc (gdbarch, sparc_frame_saved_pc);
- set_gdbarch_frameless_function_invocation (gdbarch,
- frameless_look_for_prologue);
- set_gdbarch_deprecated_get_saved_register (gdbarch, sparc_get_saved_register);
- set_gdbarch_deprecated_init_extra_frame_info (gdbarch, sparc_init_extra_frame_info);
- set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
- set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT);
- set_gdbarch_long_double_bit (gdbarch, 16 * TARGET_CHAR_BIT);
- set_gdbarch_long_long_bit (gdbarch, 8 * TARGET_CHAR_BIT);
- set_gdbarch_deprecated_max_register_raw_size (gdbarch, 8);
- set_gdbarch_deprecated_max_register_virtual_size (gdbarch, 8);
- set_gdbarch_deprecated_pop_frame (gdbarch, sparc_pop_frame);
- set_gdbarch_deprecated_push_return_address (gdbarch, sparc_push_return_address);
- set_gdbarch_deprecated_push_dummy_frame (gdbarch, sparc_push_dummy_frame);
- set_gdbarch_deprecated_reg_struct_has_addr
- (gdbarch, sparc_reg_struct_has_addr);
- set_gdbarch_return_value_on_stack (gdbarch, sparc_return_value_on_stack);
- set_gdbarch_deprecated_saved_pc_after_call (gdbarch, sparc_saved_pc_after_call);
- set_gdbarch_prologue_frameless_p (gdbarch, sparc_prologue_frameless_p);
- set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
- set_gdbarch_skip_prologue (gdbarch, sparc_skip_prologue);
- set_gdbarch_sp_regnum (gdbarch, SPARC_SP_REGNUM);
- set_gdbarch_deprecated_use_generic_dummy_frames (gdbarch, 0);
- set_gdbarch_write_pc (gdbarch, generic_target_write_pc);
-
- /* Helper for function argument information. */
- set_gdbarch_fetch_pointer_argument (gdbarch, sparc_fetch_pointer_argument);
-
- /*
- * Settings that depend only on 32/64 bit word size
- */
-
- switch (info.bfd_arch_info->mach)
- {
- case bfd_mach_sparc:
- case bfd_mach_sparc_v8plus:
- case bfd_mach_sparc_v8plusa:
- /* 32-bit machine types: */
-
-#ifdef SPARC32_CALL_DUMMY_ON_STACK
- set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_on_stack);
- set_gdbarch_deprecated_call_dummy_address (gdbarch, sparc_call_dummy_address);
- set_gdbarch_deprecated_call_dummy_breakpoint_offset (gdbarch, 0x30);
- set_gdbarch_deprecated_call_dummy_length (gdbarch, 0x38);
-
- /* NOTE: cagney/2003-05-01: Using the just added push_dummy_code
- architecture method, it is now possible to implement a
- generic dummy frames based inferior function call that stores
- the breakpoint (and struct info) on the stack. Further, by
- treating a SIGSEG at a breakpoint as equivalent to a SIGTRAP
- it is even possible to make this work when the stack is
- no-execute.
-
- NOTE: cagney/2002-04-26: Based from info posted by Peter
- Schauer around Oct '99. Briefly, due to aspects of the SPARC
- ABI, it isn't possible to use ON_STACK with a strictly
- compliant compiler.
-
- Peter Schauer writes ...
-
- No, any call from GDB to a user function returning a
- struct/union will fail miserably. Try this:
-
- *NOINDENT*
- struct x
- {
- int a[4];
- };
-
- struct x gx;
-
- struct x
- sret ()
- {
- return gx;
- }
-
- main ()
- {
- int i;
- for (i = 0; i < 4; i++)
- gx.a[i] = i + 1;
- gx = sret ();
- }
- *INDENT*
-
- Set a breakpoint at the gx = sret () statement, run to it and
- issue a `print sret()'. It will not succed with your
- approach, and I doubt that continuing the program will work
- as well.
-
- For details of the ABI see the Sparc Architecture Manual. I
- have Version 8 (Prentice Hall ISBN 0-13-825001-4) and the
- calling conventions for functions returning aggregate values
- are explained in Appendix D.3. */
-
- set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
- set_gdbarch_deprecated_call_dummy_words (gdbarch, call_dummy_32);
-#else
- set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_at_entry_point);
- set_gdbarch_deprecated_call_dummy_words (gdbarch, call_dummy_nil);
-#endif
- set_gdbarch_deprecated_call_dummy_stack_adjust (gdbarch, 68);
- set_gdbarch_frame_args_skip (gdbarch, 68);
- set_gdbarch_function_start_offset (gdbarch, 0);
- set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
- set_gdbarch_deprecated_npc_regnum (gdbarch, SPARC32_NPC_REGNUM);
- set_gdbarch_pc_regnum (gdbarch, SPARC32_PC_REGNUM);
- set_gdbarch_ptr_bit (gdbarch, 4 * TARGET_CHAR_BIT);
- set_gdbarch_deprecated_push_arguments (gdbarch, sparc32_push_arguments);
-
- set_gdbarch_deprecated_register_byte (gdbarch, sparc32_register_byte);
- set_gdbarch_deprecated_register_raw_size (gdbarch, sparc32_register_size);
- set_gdbarch_deprecated_register_size (gdbarch, 4);
- set_gdbarch_deprecated_register_virtual_size (gdbarch, sparc32_register_size);
- set_gdbarch_deprecated_register_virtual_type (gdbarch, sparc32_register_virtual_type);
-#ifdef SPARC32_CALL_DUMMY_ON_STACK
- set_gdbarch_deprecated_sizeof_call_dummy_words (gdbarch, sizeof (call_dummy_32));
-#else
- set_gdbarch_deprecated_sizeof_call_dummy_words (gdbarch, 0);
-#endif
- set_gdbarch_deprecated_stack_align (gdbarch, sparc32_stack_align);
- set_gdbarch_deprecated_extra_stack_alignment_needed (gdbarch, 1);
- set_gdbarch_deprecated_store_struct_return (gdbarch, sparc32_store_struct_return);
- set_gdbarch_use_struct_convention (gdbarch,
- generic_use_struct_convention);
- set_gdbarch_deprecated_dummy_write_sp (gdbarch, deprecated_write_sp);
- tdep->y_regnum = SPARC32_Y_REGNUM;
- tdep->fp_max_regnum = SPARC_FP0_REGNUM + 32;
- tdep->intreg_size = 4;
- tdep->reg_save_offset = 0x60;
- tdep->call_dummy_call_offset = 0x24;
- break;
-
- case bfd_mach_sparc_v9:
- case bfd_mach_sparc_v9a:
- /* 64-bit machine types: */
- default: /* Any new machine type is likely to be 64-bit. */
-
-#ifdef SPARC64_CALL_DUMMY_ON_STACK
- set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_on_stack);
- set_gdbarch_deprecated_call_dummy_address (gdbarch, sparc_call_dummy_address);
- set_gdbarch_deprecated_call_dummy_breakpoint_offset (gdbarch, 8 * 4);
- set_gdbarch_deprecated_call_dummy_length (gdbarch, 192);
- set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
- set_gdbarch_deprecated_call_dummy_start_offset (gdbarch, 148);
- set_gdbarch_deprecated_call_dummy_words (gdbarch, call_dummy_64);
-#else
- set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_at_entry_point);
- set_gdbarch_deprecated_call_dummy_words (gdbarch, call_dummy_nil);
-#endif
- set_gdbarch_deprecated_call_dummy_stack_adjust (gdbarch, 128);
- set_gdbarch_frame_args_skip (gdbarch, 136);
- set_gdbarch_function_start_offset (gdbarch, 0);
- set_gdbarch_long_bit (gdbarch, 8 * TARGET_CHAR_BIT);
- set_gdbarch_deprecated_npc_regnum (gdbarch, SPARC64_NPC_REGNUM);
- set_gdbarch_pc_regnum (gdbarch, SPARC64_PC_REGNUM);
- set_gdbarch_ptr_bit (gdbarch, 8 * TARGET_CHAR_BIT);
- set_gdbarch_deprecated_push_arguments (gdbarch, sparc64_push_arguments);
- /* NOTE different for at_entry */
- set_gdbarch_deprecated_target_read_fp (gdbarch, sparc64_read_fp);
- set_gdbarch_read_sp (gdbarch, sparc64_read_sp);
- /* Some of the registers aren't 64 bits, but it's a lot simpler just
- to assume they all are (since most of them are). */
- set_gdbarch_deprecated_register_byte (gdbarch, sparc64_register_byte);
- set_gdbarch_deprecated_register_raw_size (gdbarch, sparc64_register_size);
- set_gdbarch_deprecated_register_size (gdbarch, 8);
- set_gdbarch_deprecated_register_virtual_size (gdbarch, sparc64_register_size);
- set_gdbarch_deprecated_register_virtual_type (gdbarch, sparc64_register_virtual_type);
-#ifdef SPARC64_CALL_DUMMY_ON_STACK
- set_gdbarch_deprecated_sizeof_call_dummy_words (gdbarch, sizeof (call_dummy_64));
-#else
- set_gdbarch_deprecated_sizeof_call_dummy_words (gdbarch, 0);
-#endif
- set_gdbarch_deprecated_stack_align (gdbarch, sparc64_stack_align);
- set_gdbarch_deprecated_extra_stack_alignment_needed (gdbarch, 1);
- set_gdbarch_deprecated_store_struct_return (gdbarch, sparc64_store_struct_return);
- set_gdbarch_use_struct_convention (gdbarch,
- sparc64_use_struct_convention);
- set_gdbarch_deprecated_dummy_write_sp (gdbarch, sparc64_write_sp);
- tdep->y_regnum = SPARC64_Y_REGNUM;
- tdep->fp_max_regnum = SPARC_FP0_REGNUM + 48;
- tdep->intreg_size = 8;
- tdep->reg_save_offset = 0x90;
- tdep->call_dummy_call_offset = 148 + 4 * 5;
- break;
- }
+ if (regnum == SPARC32_FSR_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC32_FSR_REGNUM, regs + (32 * 4) + 4);
+}
- /*
- * Settings that vary per-architecture:
- */
+void
+sparc32_collect_fpregset (const struct regcache *regcache,
+ int regnum, void *fpregs)
+{
+ char *regs = fpregs;
+ int i;
- switch (info.bfd_arch_info->mach)
+ for (i = 0; i < 32; i++)
{
- case bfd_mach_sparc:
- set_gdbarch_extract_return_value (gdbarch, sparc32_extract_return_value);
- set_gdbarch_store_return_value (gdbarch, sparc32_store_return_value);
- set_gdbarch_num_regs (gdbarch, 72);
- set_gdbarch_deprecated_register_bytes (gdbarch, 32*4 + 32*4 + 8*4);
- set_gdbarch_register_name (gdbarch, sparc32_register_name);
- tdep->fp_register_bytes = 32 * 4;
- tdep->print_insn_mach = bfd_mach_sparc;
- break;
- case bfd_mach_sparc_v8plus:
- set_gdbarch_extract_return_value (gdbarch, sparc32_extract_return_value);
- set_gdbarch_store_return_value (gdbarch, sparc32_store_return_value);
- set_gdbarch_num_regs (gdbarch, 72);
- set_gdbarch_deprecated_register_bytes (gdbarch, 32*4 + 32*4 + 8*4);
- set_gdbarch_register_name (gdbarch, sparc32_register_name);
- tdep->print_insn_mach = bfd_mach_sparc;
- tdep->fp_register_bytes = 32 * 4;
- break;
- case bfd_mach_sparc_v8plusa:
- set_gdbarch_extract_return_value (gdbarch, sparc32_extract_return_value);
- set_gdbarch_store_return_value (gdbarch, sparc32_store_return_value);
- set_gdbarch_num_regs (gdbarch, 72);
- set_gdbarch_deprecated_register_bytes (gdbarch, 32*4 + 32*4 + 8*4);
- set_gdbarch_register_name (gdbarch, sparc32_register_name);
- tdep->fp_register_bytes = 32 * 4;
- tdep->print_insn_mach = bfd_mach_sparc;
- break;
- case bfd_mach_sparc_v9:
- set_gdbarch_deprecated_extract_return_value (gdbarch, sparc64_extract_return_value);
- set_gdbarch_num_regs (gdbarch, 125);
- set_gdbarch_deprecated_register_bytes (gdbarch, 32*8 + 32*8 + 45*8);
- set_gdbarch_register_name (gdbarch, sparc64_register_name);
- set_gdbarch_deprecated_store_return_value (gdbarch, sparc_store_return_value);
- tdep->fp_register_bytes = 64 * 4;
- tdep->print_insn_mach = bfd_mach_sparc_v9a;
- break;
- case bfd_mach_sparc_v9a:
- set_gdbarch_deprecated_extract_return_value (gdbarch, sparc64_extract_return_value);
- set_gdbarch_num_regs (gdbarch, 125);
- set_gdbarch_deprecated_register_bytes (gdbarch, 32*8 + 32*8 + 45*8);
- set_gdbarch_register_name (gdbarch, sparc64_register_name);
- set_gdbarch_deprecated_store_return_value (gdbarch, sparc_store_return_value);
- tdep->fp_register_bytes = 64 * 4;
- tdep->print_insn_mach = bfd_mach_sparc_v9a;
- break;
+ if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
+ regcache_raw_collect (regcache, SPARC_F0_REGNUM + i, regs + (i * 4));
}
- set_gdbarch_print_insn (gdbarch, print_insn_sparc);
-
- /* Hook in OS ABI-specific overrides, if they have been registered. */
- gdbarch_init_osabi (info, gdbarch);
-
- return gdbarch;
+ if (regnum == SPARC32_FSR_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC32_FSR_REGNUM, regs + (32 * 4) + 4);
}
+
-static void
-sparc_dump_tdep (struct gdbarch *current_gdbarch, struct ui_file *file)
+/* SunOS 4. */
+
+/* From <machine/reg.h>. */
+const struct sparc_gregset sparc32_sunos4_gregset =
{
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ 0 * 4, /* %psr */
+ 1 * 4, /* %pc */
+ 2 * 4, /* %npc */
+ 3 * 4, /* %y */
+ -1, /* %wim */
+ -1, /* %tbr */
+ 4 * 4, /* %g1 */
+ -1 /* %l0 */
+};
+
- if (tdep == NULL)
- return;
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_sparc_tdep (void);
- fprintf_unfiltered (file, "sparc_dump_tdep: fp_register_bytes = %d\n",
- tdep->fp_register_bytes);
- fprintf_unfiltered (file, "sparc_dump_tdep: y_regnum = %d\n",
- tdep->y_regnum);
- fprintf_unfiltered (file, "sparc_dump_tdep: fp_max_regnum = %d\n",
- tdep->fp_max_regnum);
- fprintf_unfiltered (file, "sparc_dump_tdep: intreg_size = %d\n",
- tdep->intreg_size);
- fprintf_unfiltered (file, "sparc_dump_tdep: reg_save_offset = %d\n",
- tdep->reg_save_offset);
- fprintf_unfiltered (file, "sparc_dump_tdep: call_dummy_call_offset = %d\n",
- tdep->call_dummy_call_offset);
- fprintf_unfiltered (file, "sparc_dump_tdep: print_insn_match = %d\n",
- tdep->print_insn_mach);
+void
+_initialize_sparc_tdep (void)
+{
+ register_gdbarch_init (bfd_arch_sparc, sparc32_gdbarch_init);
}
diff --git a/gdb/sparc-tdep.h b/gdb/sparc-tdep.h
index 7c119b407ab..d8d05822ecb 100644
--- a/gdb/sparc-tdep.h
+++ b/gdb/sparc-tdep.h
@@ -1,6 +1,6 @@
-/* Target-dependent code for the SPARC for GDB, the GNU debugger.
+/* Target-dependent code for SPARC.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -19,4 +19,180 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-extern int sparc_y_regnum (void);
+#ifndef SPARC_TDEP_H
+#define SPARC_TDEP_H 1
+
+struct gdbarch;
+struct regcache;
+struct regset;
+struct trad_frame_saved_reg;
+struct frame_info;
+
+/* Register offsets for the general-purpose register set. */
+
+struct sparc_gregset
+{
+ int r_psr_offset;
+ int r_pc_offset;
+ int r_npc_offset;
+ int r_y_offset;
+ int r_wim_offset;
+ int r_tbr_offset;
+ int r_g1_offset;
+ int r_l0_offset;
+ int r_y_size;
+};
+
+/* SPARC architecture-specific information. */
+
+struct gdbarch_tdep
+{
+ /* Register numbers for the PN and nPC registers. The definitions
+ for (64-bit) UltraSPARC differ from the (32-bit) SPARC
+ definitions. */
+ int pc_regnum;
+ int npc_regnum;
+
+ /* Register sets. */
+ struct regset *gregset;
+ size_t sizeof_gregset;
+ struct regset *fpregset;
+ size_t sizeof_fpregset;
+
+ /* Offset of saved PC in jmp_buf. */
+ int jb_pc_offset;
+
+ /* Size of an Procedure Linkage Table (PLT) entry, 0 if we shouldn't
+ treat the PLT special when doing prologue analysis. */
+ size_t plt_entry_size;
+};
+
+/* Register numbers of various important registers. */
+
+enum sparc_regnum
+{
+ SPARC_G0_REGNUM, /* %g0 */
+ SPARC_G1_REGNUM,
+ SPARC_G2_REGNUM,
+ SPARC_G3_REGNUM,
+ SPARC_G4_REGNUM,
+ SPARC_G5_REGNUM,
+ SPARC_G6_REGNUM,
+ SPARC_G7_REGNUM, /* %g7 */
+ SPARC_O0_REGNUM, /* %o0 */
+ SPARC_O1_REGNUM,
+ SPARC_O2_REGNUM,
+ SPARC_O3_REGNUM,
+ SPARC_O4_REGNUM,
+ SPARC_O5_REGNUM,
+ SPARC_SP_REGNUM, /* %sp (%o6) */
+ SPARC_O7_REGNUM, /* %o7 */
+ SPARC_L0_REGNUM, /* %l0 */
+ SPARC_L1_REGNUM,
+ SPARC_L2_REGNUM,
+ SPARC_L3_REGNUM,
+ SPARC_L4_REGNUM,
+ SPARC_L5_REGNUM,
+ SPARC_L6_REGNUM,
+ SPARC_L7_REGNUM, /* %l7 */
+ SPARC_I0_REGNUM, /* %i0 */
+ SPARC_I1_REGNUM,
+ SPARC_I2_REGNUM,
+ SPARC_I3_REGNUM,
+ SPARC_I4_REGNUM,
+ SPARC_I5_REGNUM,
+ SPARC_FP_REGNUM, /* %fp (%i6) */
+ SPARC_I7_REGNUM, /* %i7 */
+ SPARC_F0_REGNUM, /* %f0 */
+ SPARC_F1_REGNUM,
+ SPARC_F31_REGNUM /* %f31 */
+ = SPARC_F0_REGNUM + 31
+};
+
+enum sparc32_regnum
+{
+ SPARC32_Y_REGNUM /* %y */
+ = SPARC_F31_REGNUM + 1,
+ SPARC32_PSR_REGNUM, /* %psr */
+ SPARC32_WIM_REGNUM, /* %wim */
+ SPARC32_TBR_REGNUM, /* %tbr */
+ SPARC32_PC_REGNUM, /* %pc */
+ SPARC32_NPC_REGNUM, /* %npc */
+ SPARC32_FSR_REGNUM, /* %fsr */
+ SPARC32_CSR_REGNUM, /* %csr */
+
+ /* Pseudo registers. */
+ SPARC32_D0_REGNUM, /* %d0 */
+ SPARC32_D30_REGNUM /* %d30 */
+ = SPARC32_D0_REGNUM + 15
+};
+
+
+struct sparc_frame_cache
+{
+ /* Base address. */
+ CORE_ADDR base;
+ CORE_ADDR pc;
+
+ /* Do we have a frame? */
+ int frameless_p;
+
+ /* Do we have a Structure, Union or Quad-Precision return value?. */
+ int struct_return_p;
+
+ /* Table of saved registers. */
+ struct trad_frame_saved_reg *saved_regs;
+};
+
+/* Fetch the instruction at PC. */
+extern unsigned long sparc_fetch_instruction (CORE_ADDR pc);
+
+extern CORE_ADDR sparc_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
+ struct sparc_frame_cache *cache);
+
+extern struct sparc_frame_cache *
+ sparc_frame_cache (struct frame_info *next_frame, void **this_cache);
+
+extern struct sparc_frame_cache *
+ sparc32_frame_cache (struct frame_info *next_frame, void **this_cache);
+
+
+
+extern void sparc_software_single_step (enum target_signal sig,
+ int insert_breakpoints_p);
+
+extern void sparc_supply_rwindow (struct regcache *regcache,
+ CORE_ADDR sp, int regnum);
+extern void sparc_collect_rwindow (const struct regcache *regcache,
+ CORE_ADDR sp, int regnum);
+
+/* Register offsets for SunOS 4. */
+extern const struct sparc_gregset sparc32_sunos4_gregset;
+
+extern void sparc32_supply_gregset (const struct sparc_gregset *gregset,
+ struct regcache *regcache,
+ int regnum, const void *gregs);
+extern void sparc32_collect_gregset (const struct sparc_gregset *gregset,
+ const struct regcache *regcache,
+ int regnum, void *gregs);
+extern void sparc32_supply_fpregset (struct regcache *regcache,
+ int regnum, const void *fpregs);
+extern void sparc32_collect_fpregset (const struct regcache *regcache,
+ int regnum, void *fpregs);
+
+/* Functions and variables exported from sparc-sol2-tdep.c. */
+
+/* Register offsets for Solaris 2. */
+extern const struct sparc_gregset sparc32_sol2_gregset;
+
+extern int sparc_sol2_pc_in_sigtramp (CORE_ADDR pc, char *name);
+
+extern void sparc32_sol2_init_abi (struct gdbarch_info info,
+ struct gdbarch *gdbarch);
+
+/* Functions and variables exported from sparcnbsd-tdep.c. */
+
+/* Register offsets for NetBSD. */
+extern const struct sparc_gregset sparc32nbsd_gregset;
+
+#endif /* sparc-tdep.h */
diff --git a/gdb/sparcbsd-nat.h b/gdb/sparc64-linux-nat.c
index 326d669fe28..56ee2936938 100644
--- a/gdb/sparcbsd-nat.h
+++ b/gdb/sparc64-linux-nat.c
@@ -1,4 +1,4 @@
-/* Native-dependent code for SPARC BSD's.
+/* Native-dependent code for GNU/Linux UltraSPARC.
Copyright 2003 Free Software Foundation, Inc.
@@ -19,19 +19,30 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef SPARCBSD_NAT_H
-#define SPARCBSD_NAT_H
-
-/* Functions translating between `struct reg' and `struct fpreg' and
- GDB's register cache. */
-extern void (*sparcbsd_supply_reg)(const char *, int);
-extern void (*sparcbsd_fill_reg)(char *, int);
-extern void (*sparcbsd_supply_fpreg)(const char *, int);
-extern void (*sparcbsd_fill_fpreg)(char *, int);
-
-/* Functions indication whether `struct reg' or `struct fpreg' provides
- a certain register. */
-extern int (*sparcbsd_reg_supplies_p)(int);
-extern int (*sparcbsd_fpreg_supplies_p)(int);
-
-#endif /* sparcbsd-nat.h */
+#include "defs.h"
+
+#include "sparc64-tdep.h"
+#include "sparc-nat.h"
+
+static const struct sparc_gregset sparc64_linux_ptrace_gregset =
+{
+ 16 * 8, /* "tstate" */
+ 17 * 8, /* %pc */
+ 18 * 8, /* %npc */
+ 19 * 8, /* %y */
+ -1, /* %wim */
+ -1, /* %tbr */
+ 0 * 8, /* %g1 */
+ -1, /* %l0 */
+ 4 /* sizeof (%y) */
+};
+
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_sparc64_linux_nat (void);
+
+void
+_initialize_sparc64_linux_nat (void)
+{
+ sparc_gregset = &sparc64_linux_ptrace_gregset;
+}
diff --git a/gdb/sparc64-linux-tdep.c b/gdb/sparc64-linux-tdep.c
new file mode 100644
index 00000000000..cd785571d58
--- /dev/null
+++ b/gdb/sparc64-linux-tdep.c
@@ -0,0 +1,82 @@
+/* Target-dependent code for GNU/Linux UltraSPARC.
+
+ Copyright 2003 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+#include "gdbarch.h"
+#include "osabi.h"
+#include "solib-svr4.h"
+
+#include "sparc64-tdep.h"
+
+static struct link_map_offsets *
+sparc64_linux_svr4_fetch_link_map_offsets (void)
+{
+ static struct link_map_offsets lmo;
+ static struct link_map_offsets *lmp = NULL;
+
+ if (lmp == NULL)
+ {
+ lmp = &lmo;
+
+ /* Everything we need is in the first 16 bytes. */
+ lmo.r_debug_size = 16;
+ lmo.r_map_offset = 8;
+ lmo.r_map_size = 8;
+
+ /* Everything we need is in the first 40 bytes. */
+ lmo.link_map_size = 40;
+ lmo.l_addr_offset = 0;
+ lmo.l_addr_size = 8;
+ lmo.l_name_offset = 8;
+ lmo.l_name_size = 8;
+ lmo.l_next_offset = 24;
+ lmo.l_next_size = 8;
+ lmo.l_prev_offset = 32;
+ lmo.l_prev_size = 8;
+ }
+
+ return lmp;
+}
+
+static void
+sparc64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+ /* GNU/Linux is very similar to Solaris ... */
+ sparc64_sol2_init_abi (info, gdbarch);
+
+ /* ... but doesn't have kernel-assisted single-stepping support. */
+ set_gdbarch_software_single_step (gdbarch, sparc_software_single_step);
+
+ set_solib_svr4_fetch_link_map_offsets
+ (gdbarch, sparc64_linux_svr4_fetch_link_map_offsets);
+}
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+extern void _initialize_sparc64_linux_tdep (void);
+
+void
+_initialize_sparc64_linux_tdep (void)
+{
+ gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
+ GDB_OSABI_LINUX, sparc64_linux_init_abi);
+}
diff --git a/gdb/sparc64-nat.c b/gdb/sparc64-nat.c
new file mode 100644
index 00000000000..40a8b3b3904
--- /dev/null
+++ b/gdb/sparc64-nat.c
@@ -0,0 +1,87 @@
+/* Native-dependent code for GNU/Linux UltraSPARC.
+
+ Copyright 2003 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+#include "gdbarch.h"
+
+#include "sparc64-tdep.h"
+#include "sparc-nat.h"
+
+/* Determine whether `gregset_t' contains register REGNUM. */
+
+static int
+sparc64_gregset_supplies_p (int regnum)
+{
+ if (gdbarch_ptr_bit (current_gdbarch) == 32)
+ return sparc32_gregset_supplies_p (regnum);
+
+ /* Integer registers. */
+ if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_G7_REGNUM)
+ || (regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM)
+ || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_L7_REGNUM)
+ || (regnum >= SPARC_I0_REGNUM && regnum <= SPARC_I7_REGNUM))
+ return 1;
+
+ /* Control registers. */
+ if (regnum == SPARC64_PC_REGNUM
+ || regnum == SPARC64_NPC_REGNUM
+ || regnum == SPARC64_STATE_REGNUM
+ || regnum == SPARC64_Y_REGNUM
+ || regnum == SPARC64_FPRS_REGNUM)
+ return 1;
+
+ return 0;
+}
+
+/* Determine whether `fpregset_t' contains register REGNUM. */
+
+static int
+sparc64_fpregset_supplies_p (int regnum)
+{
+ if (gdbarch_ptr_bit (current_gdbarch) == 32)
+ return sparc32_fpregset_supplies_p (regnum);
+
+ /* Floating-point registers. */
+ if ((regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM)
+ || (regnum >= SPARC64_F32_REGNUM && regnum <= SPARC64_F62_REGNUM))
+ return 1;
+
+ /* Control registers. */
+ if (regnum == SPARC64_FSR_REGNUM)
+ return 1;
+
+ return 0;
+}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_sparc64_nat (void);
+
+void
+_initialize_sparc64_nat (void)
+{
+ sparc_supply_gregset = sparc64_supply_gregset;
+ sparc_collect_gregset = sparc64_collect_gregset;
+ sparc_supply_fpregset = sparc64_supply_fpregset;
+ sparc_collect_fpregset = sparc64_collect_fpregset;
+ sparc_gregset_supplies_p = sparc64_gregset_supplies_p;
+ sparc_fpregset_supplies_p = sparc64_fpregset_supplies_p;
+}
diff --git a/gdb/sparc64-sol2-tdep.c b/gdb/sparc64-sol2-tdep.c
new file mode 100644
index 00000000000..079f3c502e7
--- /dev/null
+++ b/gdb/sparc64-sol2-tdep.c
@@ -0,0 +1,182 @@
+/* Target-dependent code for Solaris UltraSPARC.
+
+ Copyright 2003, 2004 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+#include "frame.h"
+#include "frame-unwind.h"
+#include "gdbarch.h"
+#include "symtab.h"
+#include "objfiles.h"
+#include "osabi.h"
+#include "trad-frame.h"
+
+#include "gdb_assert.h"
+
+#include "sparc64-tdep.h"
+
+/* From <sys/regset.h>. */
+const struct sparc_gregset sparc64_sol2_gregset =
+{
+ 32 * 8, /* "tstate" */
+ 33 * 8, /* %pc */
+ 34 * 8, /* %npc */
+ 35 * 8, /* %y */
+ -1, /* %wim */
+ -1, /* %tbr */
+ 1 * 8, /* %g1 */
+ 16 * 8, /* %l0 */
+ 8 /* sizeof (%y) */
+};
+
+
+static struct sparc_frame_cache *
+sparc64_sol2_sigtramp_frame_cache (struct frame_info *next_frame,
+ void **this_cache)
+{
+ struct sparc_frame_cache *cache;
+ CORE_ADDR mcontext_addr, addr;
+ int regnum;
+
+ if (*this_cache)
+ return *this_cache;
+
+ cache = sparc_frame_cache (next_frame, this_cache);
+ gdb_assert (cache == *this_cache);
+
+ cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+ /* The third argument is a pointer to an instance of `ucontext_t',
+ which has a member `uc_mcontext' that contains the saved
+ registers. */
+ regnum = (cache->frameless_p ? SPARC_O2_REGNUM : SPARC_I2_REGNUM);
+ mcontext_addr = frame_unwind_register_unsigned (next_frame, regnum) + 64;
+
+ cache->saved_regs[SPARC64_CCR_REGNUM].addr = mcontext_addr + 0 * 8;
+ cache->saved_regs[SPARC64_PC_REGNUM].addr = mcontext_addr + 1 * 8;
+ cache->saved_regs[SPARC64_NPC_REGNUM].addr = mcontext_addr + 2 * 8;
+ cache->saved_regs[SPARC64_Y_REGNUM].addr = mcontext_addr + 3 * 8;
+ cache->saved_regs[SPARC64_ASI_REGNUM].addr = mcontext_addr + 19 * 8;
+ cache->saved_regs[SPARC64_FPRS_REGNUM].addr = mcontext_addr + 20 * 8;
+
+ /* Since %g0 is always zero, keep the identity encoding. */
+ for (regnum = SPARC_G1_REGNUM, addr = mcontext_addr + 4 * 8;
+ regnum <= SPARC_O7_REGNUM; regnum++, addr += 8)
+ cache->saved_regs[regnum].addr = addr;
+
+ if (get_frame_memory_unsigned (next_frame, mcontext_addr + 21 * 8, 8))
+ {
+ /* The register windows haven't been flushed. */
+ for (regnum = SPARC_L0_REGNUM; regnum <= SPARC_I7_REGNUM; regnum++)
+ trad_frame_set_unknown (cache->saved_regs, regnum);
+ }
+ else
+ {
+ CORE_ADDR sp;
+
+ addr = cache->saved_regs[SPARC_SP_REGNUM].addr;
+ sp = get_frame_memory_unsigned (next_frame, addr, 8);
+ for (regnum = SPARC_L0_REGNUM, addr = sp + BIAS;
+ regnum <= SPARC_I7_REGNUM; regnum++, addr += 8)
+ cache->saved_regs[regnum].addr = addr;
+ }
+
+ return cache;
+}
+
+static void
+sparc64_sol2_sigtramp_frame_this_id (struct frame_info *next_frame,
+ void **this_cache,
+ struct frame_id *this_id)
+{
+ struct sparc_frame_cache *cache =
+ sparc64_sol2_sigtramp_frame_cache (next_frame, this_cache);
+
+ (*this_id) = frame_id_build (cache->base, cache->pc);
+}
+
+static void
+sparc64_sol2_sigtramp_frame_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp,
+ CORE_ADDR *addrp,
+ int *realnump, void *valuep)
+{
+ struct sparc_frame_cache *cache =
+ sparc64_sol2_sigtramp_frame_cache (next_frame, this_cache);
+
+ trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind sparc64_sol2_sigtramp_frame_unwind =
+{
+ SIGTRAMP_FRAME,
+ sparc64_sol2_sigtramp_frame_this_id,
+ sparc64_sol2_sigtramp_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc64_sol2_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+ CORE_ADDR pc = frame_pc_unwind (next_frame);
+ char *name;
+
+ find_pc_partial_function (pc, &name, NULL, NULL);
+ if (sparc_sol2_pc_in_sigtramp (pc, name))
+ return &sparc64_sol2_sigtramp_frame_unwind;
+
+ return NULL;
+}
+
+
+void
+sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+ set_gdbarch_pc_in_sigtramp (gdbarch, sparc_sol2_pc_in_sigtramp);
+ frame_unwind_append_sniffer (gdbarch, sparc64_sol2_sigtramp_frame_sniffer);
+
+ sparc64_init_abi (info, gdbarch);
+
+ /* Solaris has SVR4-style shared libraries... */
+ set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
+ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
+
+ /* ...which means that we need some special handling when doing
+ prologue analysis. */
+ tdep->plt_entry_size = 16;
+
+ /* Solaris has kernel-assisted single-stepping support. */
+ set_gdbarch_software_single_step (gdbarch, NULL);
+}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_sparc64_sol2_tdep (void);
+
+void
+_initialize_sparc64_sol2_tdep (void)
+{
+ gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
+ GDB_OSABI_SOLARIS, sparc64_sol2_init_abi);
+}
diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c
index b605a1d1862..b32a24c51b2 100644
--- a/gdb/sparc64-tdep.c
+++ b/gdb/sparc64-tdep.c
@@ -1,6 +1,6 @@
/* Target-dependent code for UltraSPARC.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -27,6 +27,9 @@
#include "frame-unwind.h"
#include "gdbcore.h"
#include "gdbtypes.h"
+#include "inferior.h"
+#include "symtab.h"
+#include "objfiles.h"
#include "osabi.h"
#include "regcache.h"
#include "target.h"
@@ -45,41 +48,6 @@
/* Please use the sparc32_-prefix for 32-bit specific code, the
sparc64_-prefix for 64-bit specific code and the sparc_-prefix for
code can handle both. */
-
-/* The stack pointer is offset from the stack frame by a BIAS of 2047
- (0x7ff) for 64-bit code. BIAS is likely to be defined on SPARC
- hosts, so undefine it first. */
-#undef BIAS
-#define BIAS 2047
-
-/* Macros to extract fields from SPARC instructions. */
-#define X_OP(i) (((i) >> 30) & 0x3)
-#define X_A(i) (((i) >> 29) & 1)
-#define X_COND(i) (((i) >> 25) & 0xf)
-#define X_OP2(i) (((i) >> 22) & 0x7)
-#define X_IMM22(i) ((i) & 0x3fffff)
-#define X_OP3(i) (((i) >> 19) & 0x3f)
-/* Sign extension macros. */
-#define X_DISP22(i) ((X_IMM22 (i) ^ 0x200000) - 0x200000)
-#define X_DISP19(i) ((((i) & 0x7ffff) ^ 0x40000) - 0x40000)
-
-/* Fetch the instruction at PC. Instructions are always big-endian
- even if the processor operates in little-endian mode. */
-
-static unsigned long
-sparc_fetch_instruction (CORE_ADDR pc)
-{
- unsigned char buf[4];
- unsigned long insn;
- int i;
-
- read_memory (pc, buf, sizeof (buf));
-
- insn = 0;
- for (i = 0; i < sizeof (buf); i++)
- insn = (insn << 8) | buf[i];
- return insn;
-}
/* The functions on this page are intended to be used to classify
function arguments. */
@@ -163,14 +131,6 @@ sparc64_structure_or_union_p (const struct type *type)
return 0;
}
-/* UltraSPARC architecture specific information. */
-
-struct gdbarch_tdep
-{
- /* Offset of saved PC in jmp_buf. */
- int jb_pc_offset;
-};
-
/* Register information. */
struct sparc64_register_info
@@ -283,8 +243,7 @@ static struct sparc64_register_info sparc64_register_info[] =
};
/* Total number of registers. */
-#define SPARC64_NUM_REGS \
- (sizeof (sparc64_register_info) / sizeof (sparc64_register_info[0]))
+#define SPARC64_NUM_REGS ARRAY_SIZE (sparc64_register_info)
/* We provide the aliases %d0..%d62 and %q0..%q60 for the floating
registers as "psuedo" registers. */
@@ -348,9 +307,7 @@ static struct sparc64_register_info sparc64_pseudo_register_info[] =
};
/* Total number of pseudo registers. */
-#define SPARC64_NUM_PSEUDO_REGS \
- (sizeof (sparc64_pseudo_register_info) \
- / sizeof (sparc64_pseudo_register_info[0]))
+#define SPARC64_NUM_PSEUDO_REGS ARRAY_SIZE (sparc64_pseudo_register_info)
/* Return the name of register REGNUM. */
@@ -499,79 +456,8 @@ sparc64_pseudo_register_write (struct gdbarch *gdbarch,
regcache_raw_write_unsigned (regcache, SPARC64_STATE_REGNUM, state);
}
}
-
-/* Use the program counter to determine the contents and size of a
- breakpoint instruction. Return a pointer to a string of bytes that
- encode a breakpoint instruction, store the length of the string in
- *LEN and optionally adjust *PC to point to the correct memory
- location for inserting the breakpoint. */
-
-static const unsigned char *
-sparc_breakpoint_from_pc (CORE_ADDR *pc, int *len)
-{
- static unsigned char break_insn[] = { 0x91, 0xd0, 0x20, 0x01 };
-
- *len = sizeof (break_insn);
- return break_insn;
-}
-struct sparc64_frame_cache
-{
- /* Base address. */
- CORE_ADDR base;
- CORE_ADDR pc;
-
- /* Do we have a frame? */
- int frameless_p;
-};
-
-/* Allocate and initialize a frame cache. */
-
-static struct sparc64_frame_cache *
-sparc64_alloc_frame_cache (void)
-{
- struct sparc64_frame_cache *cache;
- int i;
-
- cache = FRAME_OBSTACK_ZALLOC (struct sparc64_frame_cache);
-
- /* Base address. */
- cache->base = 0;
- cache->pc = 0;
-
- /* Frameless until proven otherwise. */
- cache->frameless_p = 1;
-
- return cache;
-}
-
-static CORE_ADDR
-sparc64_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
- struct sparc64_frame_cache *cache)
-{
- unsigned long insn;
-
- if (current_pc <= pc)
- return current_pc;
-
- /* Check whether the function starts with a SAVE instruction. */
- insn = sparc_fetch_instruction (pc);
- if (X_OP (insn) == 2 && X_OP3 (insn) == 0x3c)
- {
- cache->frameless_p = 0;
- return pc + 4;
- }
-
- return pc;
-}
-
-static CORE_ADDR
-sparc64_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
- return frame_unwind_register_unsigned (next_frame, SPARC64_PC_REGNUM);
-}
-
/* Return PC of first real instruction of the function starting at
START_PC. */
@@ -580,7 +466,7 @@ sparc64_skip_prologue (CORE_ADDR start_pc)
{
struct symtab_and_line sal;
CORE_ADDR func_start, func_end;
- struct sparc64_frame_cache cache;
+ struct sparc_frame_cache cache;
/* This is the preferred method, find the end of the prologue by
using the debugging information. */
@@ -593,50 +479,22 @@ sparc64_skip_prologue (CORE_ADDR start_pc)
return sal.end;
}
- return sparc64_analyze_prologue (start_pc, 0xffffffffffffffffUL, &cache);
+ return sparc_analyze_prologue (start_pc, 0xffffffffffffffffULL, &cache);
}
/* Normal frames. */
-static struct sparc64_frame_cache *
+static struct sparc_frame_cache *
sparc64_frame_cache (struct frame_info *next_frame, void **this_cache)
{
- struct sparc64_frame_cache *cache;
-
- if (*this_cache)
- return *this_cache;
-
- cache = sparc64_alloc_frame_cache ();
- *this_cache = cache;
-
- /* In priciple, for normal frames, %fp (%i6) holds the frame
- pointer, which holds the base address for the current stack
- frame. */
-
- cache->base = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM);
- if (cache->base == 0)
- return cache;
-
- cache->pc = frame_func_unwind (next_frame);
- if (cache->pc != 0)
- sparc64_analyze_prologue (cache->pc, frame_pc_unwind (next_frame), cache);
-
- if (cache->frameless_p)
- {
- /* We didn't find a valid frame, which means that CACHE->base
- currently holds the frame pointer for our calling frame. */
- cache->base = frame_unwind_register_unsigned (next_frame,
- SPARC_SP_REGNUM);
- }
-
- return cache;
+ return sparc_frame_cache (next_frame, this_cache);
}
static void
sparc64_frame_this_id (struct frame_info *next_frame, void **this_cache,
struct frame_id *this_id)
{
- struct sparc64_frame_cache *cache =
+ struct sparc_frame_cache *cache =
sparc64_frame_cache (next_frame, this_cache);
/* This marks the outermost frame. */
@@ -652,7 +510,7 @@ sparc64_frame_prev_register (struct frame_info *next_frame, void **this_cache,
enum lval_type *lvalp, CORE_ADDR *addrp,
int *realnump, void *valuep)
{
- struct sparc64_frame_cache *cache =
+ struct sparc_frame_cache *cache =
sparc64_frame_cache (next_frame, this_cache);
if (regnum == SPARC64_PC_REGNUM || regnum == SPARC64_NPC_REGNUM)
@@ -718,7 +576,7 @@ sparc64_frame_sniffer (struct frame_info *next_frame)
static CORE_ADDR
sparc64_frame_base_address (struct frame_info *next_frame, void **this_cache)
{
- struct sparc64_frame_cache *cache =
+ struct sparc_frame_cache *cache =
sparc64_frame_cache (next_frame, this_cache);
/* ??? Should we take BIAS into account here? */
@@ -732,15 +590,6 @@ static const struct frame_base sparc64_frame_base =
sparc64_frame_base_address,
sparc64_frame_base_address
};
-
-static struct frame_id
-sparc_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
- CORE_ADDR sp;
-
- sp = frame_unwind_register_unsigned (next_frame, SPARC_SP_REGNUM);
- return frame_id_build (sp, frame_pc_unwind (next_frame));
-}
/* Check whether TYPE must be 16-byte aligned. */
@@ -755,8 +604,12 @@ sparc64_16_byte_align_p (struct type *type)
int i;
for (i = 0; i < TYPE_NFIELDS (type); i++)
- if (sparc64_16_byte_align_p (TYPE_FIELD_TYPE (type, i)))
- return 1;
+ {
+ struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
+
+ if (sparc64_16_byte_align_p (subtype))
+ return 1;
+ }
}
return 0;
@@ -808,9 +661,30 @@ sparc64_store_floating_fields (struct regcache *regcache, struct type *type,
int i;
for (i = 0; i < TYPE_NFIELDS (type); i++)
- sparc64_store_floating_fields (regcache, TYPE_FIELD_TYPE (type, i),
- valbuf, element,
- bitpos + TYPE_FIELD_BITPOS (type, i));
+ {
+ struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
+ int subpos = bitpos + TYPE_FIELD_BITPOS (type, i);
+
+ sparc64_store_floating_fields (regcache, subtype, valbuf,
+ element, subpos);
+ }
+
+ /* GCC has an interesting bug. If TYPE is a structure that has
+ a single `float' member, GCC doesn't treat it as a structure
+ at all, but rather as an ordinary `float' argument. This
+ argument will be stored in %f1, as required by the psABI.
+ However, as a member of a structure the psABI requires it to
+ be stored in %f0. This bug is present in GCC 3.3.2, but
+ probably in older releases to. To appease GCC, if a
+ structure has only a single `float' member, we store its
+ value in %f1 too (we already have stored in %f0). */
+ if (TYPE_NFIELDS (type) == 1)
+ {
+ struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, 0));
+
+ if (sparc64_floating_p (subtype) && TYPE_LENGTH (subtype) == 4)
+ regcache_cooked_write (regcache, SPARC_F1_REGNUM, valbuf);
+ }
}
}
@@ -856,9 +730,12 @@ sparc64_extract_floating_fields (struct regcache *regcache, struct type *type,
int i;
for (i = 0; i < TYPE_NFIELDS (type); i++)
- sparc64_extract_floating_fields (regcache, TYPE_FIELD_TYPE (type, i),
- valbuf,
- bitpos + TYPE_FIELD_BITPOS (type, i));
+ {
+ struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
+ int subpos = bitpos + TYPE_FIELD_BITPOS (type, i);
+
+ sparc64_extract_floating_fields (regcache, subtype, valbuf, subpos);
+ }
}
}
@@ -1034,10 +911,11 @@ sparc64_store_arguments (struct regcache *regcache, int nargs,
undefined." Even though the psABI says that "the
left half is undefined", set it to zero here. */
memset (buf, 0, 4);
- valbuf = memcpy (buf + 4, valbuf, 4);
+ memcpy (buf + 4, valbuf, 4);
+ valbuf = buf;
len = 8;
if (element < 16)
- regnum = SPARC64_D0_REGNUM;
+ regnum = SPARC64_D0_REGNUM + element;
}
}
else
@@ -1170,7 +1048,7 @@ sparc64_store_return_value (struct type *type, struct regcache *regcache,
memset (buf, 0, sizeof (buf));
memcpy (buf, valbuf, len);
for (i = 0; i < ((len + 7) / 8); i++)
- regcache_cooked_write (regcache, SPARC_O0_REGNUM + i, buf + i * 4);
+ regcache_cooked_write (regcache, SPARC_O0_REGNUM + i, buf + i * 8);
if (TYPE_CODE (type) != TYPE_CODE_UNION)
sparc64_store_floating_fields (regcache, type, buf, 0, 0);
}
@@ -1193,158 +1071,48 @@ sparc64_store_return_value (struct type *type, struct regcache *regcache,
}
}
+static enum return_value_convention
+sparc64_return_value (struct gdbarch *gdbarch, struct type *type,
+ struct regcache *regcache, void *readbuf,
+ const void *writebuf)
+{
+ if (TYPE_LENGTH (type) > 32)
+ return RETURN_VALUE_STRUCT_CONVENTION;
+
+ if (readbuf)
+ sparc64_extract_return_value (type, regcache, readbuf);
+ if (writebuf)
+ sparc64_store_return_value (type, regcache, writebuf);
+
+ return RETURN_VALUE_REGISTER_CONVENTION;
+}
+
/* Extract from REGCACHE, which contains the (raw) register state, the
address in which a function should return its structure value, as a
CORE_ADDR. */
static CORE_ADDR
-sparc_extract_struct_value_address (struct regcache *regcache)
+sparc64_extract_struct_value_address (struct regcache *regcache)
{
ULONGEST addr;
regcache_cooked_read_unsigned (regcache, SPARC_O0_REGNUM, &addr);
return addr;
}
-
-static int
-sparc64_use_struct_convention (int gcc_p, struct type *type)
-{
- /* Structure and union types up to 32 bytes in size are returned in
- registers. */
- return (TYPE_LENGTH (type) > 32);
-}
-
-/* The SPARC Architecture doesn't have hardware single-step support,
- and most operating systems don't implement it either, so we provide
- software single-step mechanism. */
-
-static CORE_ADDR
-sparc_analyze_control_transfer (CORE_ADDR pc, CORE_ADDR *npc)
-{
- unsigned long insn = sparc_fetch_instruction (pc);
- int conditional_p = X_COND (insn) & 0x7;
- int branch_p = 0;
- long offset = 0; /* Must be signed for sign-extend. */
-
- if (X_OP (insn) == 0 && X_OP2 (insn) == 3 && (insn & 0x1000000) == 0)
- {
- /* Branch on Integer Register with Prediction (BPr). */
- branch_p = 1;
- conditional_p = 1;
- }
- else if (X_OP (insn) == 0 && X_OP2 (insn) == 6)
- {
- /* Branch on Floating-Point Condition Codes (FBfcc). */
- branch_p = 1;
- offset = 4 * X_DISP22 (insn);
- }
- else if (X_OP (insn) == 0 && X_OP2 (insn) == 5)
- {
- /* Branch on Floating-Point Condition Codes with Prediction
- (FBPfcc). */
- branch_p = 1;
- offset = 4 * X_DISP19 (insn);
- }
- else if (X_OP (insn) == 0 && X_OP2 (insn) == 2)
- {
- /* Branch on Integer Condition Codes (Bicc). */
- branch_p = 1;
- offset = 4 * X_DISP22 (insn);
- }
- else if (X_OP (insn) == 0 && X_OP2 (insn) == 1)
- {
- /* Branch on Integer Condition Codes with Prediction (BPcc). */
- branch_p = 1;
- offset = 4 * X_DISP19 (insn);
- }
-
- /* FIXME: Handle DONE and RETRY instructions. */
-
- /* FIXME: Handle the Trap instruction. */
-
- if (branch_p)
- {
- if (conditional_p)
- {
- /* For conditional branches, return nPC + 4 iff the annul
- bit is 1. */
- return (X_A (insn) ? *npc + 4 : 0);
- }
- else
- {
- /* For unconditional branches, return the target if its
- specified condition is "always" and return nPC + 4 if the
- condition is "never". If the annul bit is 1, set *NPC to
- zero. */
- if (X_COND (insn) == 0x0)
- pc = *npc, offset = 4;
- if (X_A (insn))
- *npc = 0;
-
- gdb_assert (offset != 0);
- return pc + offset;
- }
- }
-
- return 0;
-}
void
-sparc_software_single_step (enum target_signal sig, int insert_breakpoints_p)
+sparc64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
- static CORE_ADDR npc, nnpc;
- static char npc_save[4], nnpc_save[4];
-
- if (insert_breakpoints_p)
- {
- CORE_ADDR pc;
-
- pc = sparc_address_from_register (SPARC64_PC_REGNUM);
- npc = sparc_address_from_register (SPARC64_NPC_REGNUM);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- /* Analyze the instruction at PC. */
- nnpc = sparc_analyze_control_transfer (pc, &npc);
- if (npc != 0)
- target_insert_breakpoint (npc, npc_save);
- if (nnpc != 0)
- target_insert_breakpoint (nnpc, nnpc_save);
-
- /* Assert that we have set at least one breakpoint. */
- gdb_assert (npc != 0 || nnpc != 0);
- }
- else
- {
- if (npc != 0)
- target_remove_breakpoint (npc, npc_save);
- if (nnpc != 0)
- target_remove_breakpoint (nnpc, nnpc_save);
-
- npc = 0;
- nnpc = 0;
- }
-}
-
-
-static struct gdbarch *
-sparc64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
-{
- struct gdbarch_tdep *tdep;
- struct gdbarch *gdbarch;
-
- /* If there is already a candidate, use it. */
- arches = gdbarch_list_lookup_by_info (arches, &info);
- if (arches != NULL)
- return arches->gdbarch;
-
- /* Allocate space for the new architecture. */
- tdep = XMALLOC (struct gdbarch_tdep);
- gdbarch = gdbarch_alloc (&info, tdep);
+ tdep->pc_regnum = SPARC64_PC_REGNUM;
+ tdep->npc_regnum = SPARC64_NPC_REGNUM;
+ /* This is what all the fuss is about. */
set_gdbarch_long_bit (gdbarch, 64);
set_gdbarch_long_long_bit (gdbarch, 64);
set_gdbarch_ptr_bit (gdbarch, 64);
- set_gdbarch_long_double_bit (gdbarch, 128);
set_gdbarch_num_regs (gdbarch, SPARC64_NUM_REGS);
set_gdbarch_register_name (gdbarch, sparc64_register_name);
@@ -1354,147 +1122,327 @@ sparc64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_pseudo_register_write (gdbarch, sparc64_pseudo_register_write);
/* Register numbers of various important registers. */
- set_gdbarch_sp_regnum (gdbarch, SPARC_SP_REGNUM); /* %sp */
set_gdbarch_pc_regnum (gdbarch, SPARC64_PC_REGNUM); /* %pc */
- set_gdbarch_deprecated_npc_regnum (gdbarch, SPARC64_NPC_REGNUM);
- set_gdbarch_fp0_regnum (gdbarch, SPARC_F0_REGNUM); /* %f0 */
/* Call dummy code. */
+ set_gdbarch_call_dummy_location (gdbarch, AT_ENTRY_POINT);
+ set_gdbarch_push_dummy_code (gdbarch, NULL);
set_gdbarch_push_dummy_call (gdbarch, sparc64_push_dummy_call);
- set_gdbarch_extract_return_value (gdbarch, sparc64_extract_return_value);
- set_gdbarch_store_return_value (gdbarch, sparc64_store_return_value);
+ set_gdbarch_return_value (gdbarch, sparc64_return_value);
set_gdbarch_extract_struct_value_address
- (gdbarch, sparc_extract_struct_value_address);
- set_gdbarch_use_struct_convention (gdbarch, sparc64_use_struct_convention);
+ (gdbarch, sparc64_extract_struct_value_address);
+ set_gdbarch_stabs_argument_has_addr
+ (gdbarch, default_stabs_argument_has_addr);
set_gdbarch_skip_prologue (gdbarch, sparc64_skip_prologue);
- /* Stack grows downward. */
- set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-
- set_gdbarch_breakpoint_from_pc (gdbarch, sparc_breakpoint_from_pc);
- set_gdbarch_decr_pc_after_break (gdbarch, 0);
- set_gdbarch_function_start_offset (gdbarch, 0);
-
- set_gdbarch_frame_args_skip (gdbarch, 8);
-
- set_gdbarch_print_insn (gdbarch, print_insn_sparc);
-
- set_gdbarch_software_single_step (gdbarch, sparc_software_single_step);
-
- set_gdbarch_unwind_dummy_id (gdbarch, sparc_unwind_dummy_id);
-
- set_gdbarch_unwind_pc (gdbarch, sparc64_unwind_pc);
-
+ frame_unwind_append_sniffer (gdbarch, sparc64_frame_sniffer);
frame_base_set_default (gdbarch, &sparc64_frame_base);
+}
+
- /* Hook in ABI-specific overrides, if they have been registered. */
- gdbarch_init_osabi (info, gdbarch);
+/* Helper functions for dealing with register sets. */
- frame_unwind_append_sniffer (gdbarch, sparc64_frame_sniffer);
+#define TSTATE_CWP 0x000000000000001fULL
+#define TSTATE_ICC 0x0000000f00000000ULL
+#define TSTATE_XCC 0x000000f000000000ULL
- return gdbarch;
-}
-
-/* Helper functions for dealing with register windows. */
+#define PSR_S 0x00000080
+#define PSR_ICC 0x00f00000
+#define PSR_VERS 0x0f000000
+#define PSR_IMPL 0xf0000000
+#define PSR_V8PLUS 0xff000000
+#define PSR_XCC 0x000f0000
void
-sparc_supply_rwindow (CORE_ADDR sp, int regnum)
+sparc64_supply_gregset (const struct sparc_gregset *gregset,
+ struct regcache *regcache,
+ int regnum, const void *gregs)
{
- int offset = 0;
- char buf[8];
+ int sparc32 = (gdbarch_ptr_bit (current_gdbarch) == 32);
+ const char *regs = gregs;
int i;
- if (sp & 1)
+ if (sparc32)
{
- /* Registers are 64-bit. */
- sp += BIAS;
+ if (regnum == SPARC32_PSR_REGNUM || regnum == -1)
+ {
+ int offset = gregset->r_tstate_offset;
+ ULONGEST tstate, psr;
+ char buf[4];
+
+ tstate = extract_unsigned_integer (regs + offset, 8);
+ psr = ((tstate & TSTATE_CWP) | PSR_S | ((tstate & TSTATE_ICC) >> 12)
+ | ((tstate & TSTATE_XCC) >> 20) | PSR_V8PLUS);
+ store_unsigned_integer (buf, 4, psr);
+ regcache_raw_supply (regcache, SPARC32_PSR_REGNUM, buf);
+ }
- for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
+ if (regnum == SPARC32_PC_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC32_PC_REGNUM,
+ regs + gregset->r_pc_offset + 4);
+
+ if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC32_NPC_REGNUM,
+ regs + gregset->r_npc_offset + 4);
+
+ if (regnum == SPARC32_Y_REGNUM || regnum == -1)
{
- if (regnum == i || regnum == -1)
- {
- target_read_memory (sp + ((i - SPARC_L0_REGNUM) * 8), buf, 8);
- supply_register (i, buf);
- }
+ int offset = gregset->r_y_offset + 8 - gregset->r_y_size;
+ regcache_raw_supply (regcache, SPARC32_Y_REGNUM, regs + offset);
}
}
else
{
- /* Registers are 32-bit. Toss any sign-extension of the stack
- pointer. */
- sp &= 0xffffffffUL;
+ if (regnum == SPARC64_STATE_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC64_STATE_REGNUM,
+ regs + gregset->r_tstate_offset);
+
+ if (regnum == SPARC64_PC_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC64_PC_REGNUM,
+ regs + gregset->r_pc_offset);
+
+ if (regnum == SPARC64_NPC_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC64_NPC_REGNUM,
+ regs + gregset->r_npc_offset);
- /* Clear out the top half of the temporary buffer, and put the
- register value in the bottom half if we're in 64-bit mode. */
- if (gdbarch_ptr_bit (current_gdbarch) == 64)
+ if (regnum == SPARC64_Y_REGNUM || regnum == -1)
{
- memset (buf, 0, 4);
- offset = 4;
+ char buf[8];
+
+ memset (buf, 0, 8);
+ memcpy (buf + 8 - gregset->r_y_size,
+ regs + gregset->r_y_offset, gregset->r_y_size);
+ regcache_raw_supply (regcache, SPARC64_Y_REGNUM, buf);
}
- for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
+ if ((regnum == SPARC64_FPRS_REGNUM || regnum == -1)
+ && gregset->r_fprs_offset != -1)
+ regcache_raw_supply (regcache, SPARC64_FPRS_REGNUM,
+ regs + gregset->r_fprs_offset);
+ }
+
+ if (regnum == SPARC_G0_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC_G0_REGNUM, NULL);
+
+ if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
+ {
+ int offset = gregset->r_g1_offset;
+
+ if (sparc32)
+ offset += 4;
+
+ for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++)
{
if (regnum == i || regnum == -1)
+ regcache_raw_supply (regcache, i, regs + offset);
+ offset += 8;
+ }
+ }
+
+ if ((regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM) || regnum == -1)
+ {
+ /* Not all of the register set variants include Locals and
+ Inputs. For those that don't, we read them off the stack. */
+ if (gregset->r_l0_offset == -1)
+ {
+ ULONGEST sp;
+
+ regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM, &sp);
+ sparc_supply_rwindow (regcache, sp, regnum);
+ }
+ else
+ {
+ int offset = gregset->r_l0_offset;
+
+ if (sparc32)
+ offset += 4;
+
+ for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
{
- target_read_memory (sp + ((i - SPARC_L0_REGNUM) * 4),
- buf + offset, 4);
- supply_register (i, buf);
+ if (regnum == i || regnum == -1)
+ regcache_raw_supply (regcache, i, regs + offset);
+ offset += 8;
}
}
}
}
void
-sparc_fill_rwindow (CORE_ADDR sp, int regnum)
+sparc64_collect_gregset (const struct sparc_gregset *gregset,
+ const struct regcache *regcache,
+ int regnum, void *gregs)
{
- int offset = 0;
- char buf[8];
+ int sparc32 = (gdbarch_ptr_bit (current_gdbarch) == 32);
+ char *regs = gregs;
int i;
- if (sp & 1)
+ if (sparc32)
{
- /* Registers are 64-bit. */
- sp += BIAS;
+ if (regnum == SPARC32_PSR_REGNUM || regnum == -1)
+ {
+ int offset = gregset->r_tstate_offset;
+ ULONGEST tstate, psr;
+ char buf[8];
+
+ tstate = extract_unsigned_integer (regs + offset, 8);
+ regcache_raw_collect (regcache, SPARC32_PSR_REGNUM, buf);
+ psr = extract_unsigned_integer (buf, 4);
+ tstate |= (psr & PSR_ICC) << 12;
+ if ((psr & (PSR_VERS | PSR_IMPL)) == PSR_V8PLUS)
+ tstate |= (psr & PSR_XCC) << 20;
+ store_unsigned_integer (buf, 8, tstate);
+ memcpy (regs + offset, buf, 8);
+ }
- for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
+ if (regnum == SPARC32_PC_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC32_PC_REGNUM,
+ regs + gregset->r_pc_offset + 4);
+
+ if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC32_NPC_REGNUM,
+ regs + gregset->r_npc_offset + 4);
+
+ if (regnum == SPARC32_Y_REGNUM || regnum == -1)
{
- if (regnum == -1 || regnum == SPARC_SP_REGNUM || regnum == i)
- {
- regcache_collect (i, buf);
- target_write_memory (sp + ((i - SPARC_L0_REGNUM) * 8), buf, 8);
- }
+ int offset = gregset->r_y_offset + 8 - gregset->r_y_size;
+ regcache_raw_collect (regcache, SPARC32_Y_REGNUM, regs + offset);
}
}
else
{
- /* Registers are 32-bit. Toss any sign-extension of the stack
- pointer. */
- sp &= 0xffffffffUL;
+ if (regnum == SPARC64_STATE_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC64_STATE_REGNUM,
+ regs + gregset->r_tstate_offset);
- /* Only use the bottom half if we're in 64-bit mode. */
- if (gdbarch_ptr_bit (current_gdbarch) == 64)
- offset = 4;
+ if (regnum == SPARC64_PC_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC64_PC_REGNUM,
+ regs + gregset->r_pc_offset);
- for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
+ if (regnum == SPARC64_NPC_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC64_NPC_REGNUM,
+ regs + gregset->r_npc_offset);
+
+ if (regnum == SPARC64_Y_REGNUM || regnum == -1)
{
- if (regnum == -1 || regnum == SPARC_SP_REGNUM || regnum == i)
+ char buf[8];
+
+ regcache_raw_collect (regcache, SPARC64_Y_REGNUM, buf);
+ memcpy (regs + gregset->r_y_offset,
+ buf + 8 - gregset->r_y_size, gregset->r_y_size);
+ }
+
+ if ((regnum == SPARC64_FPRS_REGNUM || regnum == -1)
+ && gregset->r_fprs_offset != -1)
+ regcache_raw_collect (regcache, SPARC64_FPRS_REGNUM,
+ regs + gregset->r_fprs_offset);
+
+ }
+
+ if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
+ {
+ int offset = gregset->r_g1_offset;
+
+ if (sparc32)
+ offset += 4;
+
+ /* %g0 is always zero. */
+ for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++)
+ {
+ if (regnum == i || regnum == -1)
+ regcache_raw_collect (regcache, i, regs + offset);
+ offset += 8;
+ }
+ }
+
+ if ((regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM) || regnum == -1)
+ {
+ /* Not all of the register set variants include Locals and
+ Inputs. For those that don't, we read them off the stack. */
+ if (gregset->r_l0_offset != -1)
+ {
+ int offset = gregset->r_l0_offset;
+
+ if (sparc32)
+ offset += 4;
+
+ for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
{
- regcache_collect (i, buf);
- target_write_memory (sp + ((i - SPARC_L0_REGNUM) * 4),
- buf + offset, 4);
+ if (regnum == i || regnum == -1)
+ regcache_raw_collect (regcache, i, regs + offset);
+ offset += 8;
}
}
}
}
-
-/* Provide a prototype to silence -Wmissing-prototypes. */
-void _initialize_sparc64_tdep (void);
+void
+sparc64_supply_fpregset (struct regcache *regcache,
+ int regnum, const void *fpregs)
+{
+ int sparc32 = (gdbarch_ptr_bit (current_gdbarch) == 32);
+ const char *regs = fpregs;
+ int i;
+
+ for (i = 0; i < 32; i++)
+ {
+ if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
+ regcache_raw_supply (regcache, SPARC_F0_REGNUM + i, regs + (i * 4));
+ }
+
+ if (sparc32)
+ {
+ if (regnum == SPARC32_FSR_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC32_FSR_REGNUM,
+ regs + (32 * 4) + (16 * 8) + 4);
+ }
+ else
+ {
+ for (i = 0; i < 16; i++)
+ {
+ if (regnum == (SPARC64_F32_REGNUM + i) || regnum == -1)
+ regcache_raw_supply (regcache, SPARC64_F32_REGNUM + i,
+ regs + (32 * 4) + (i * 8));
+ }
+
+ if (regnum == SPARC64_FSR_REGNUM || regnum == -1)
+ regcache_raw_supply (regcache, SPARC64_FSR_REGNUM,
+ regs + (32 * 4) + (16 * 8));
+ }
+}
void
-_initialize_sparc64_tdep (void)
+sparc64_collect_fpregset (const struct regcache *regcache,
+ int regnum, void *fpregs)
{
- register_gdbarch_init (bfd_arch_sparc, sparc64_gdbarch_init);
+ int sparc32 = (gdbarch_ptr_bit (current_gdbarch) == 32);
+ char *regs = fpregs;
+ int i;
+
+ for (i = 0; i < 32; i++)
+ {
+ if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
+ regcache_raw_collect (regcache, SPARC_F0_REGNUM + i, regs + (i * 4));
+ }
+
+ if (sparc32)
+ {
+ if (regnum == SPARC32_FSR_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC32_FSR_REGNUM,
+ regs + (32 * 4) + (16 * 8) + 4);
+ }
+ else
+ {
+ for (i = 0; i < 16; i++)
+ {
+ if (regnum == (SPARC64_F32_REGNUM + i) || regnum == -1)
+ regcache_raw_collect (regcache, SPARC64_F32_REGNUM + i,
+ regs + (32 * 4) + (i * 8));
+ }
+
+ if (regnum == SPARC64_FSR_REGNUM || regnum == -1)
+ regcache_raw_collect (regcache, SPARC64_FSR_REGNUM,
+ regs + (32 * 4) + (16 * 8));
+ }
}
diff --git a/gdb/sparc64-tdep.h b/gdb/sparc64-tdep.h
index e7b910d55fe..f5ab60d87e5 100644
--- a/gdb/sparc64-tdep.h
+++ b/gdb/sparc64-tdep.h
@@ -1,6 +1,6 @@
/* Target-dependent code for UltraSPARC.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -20,84 +20,98 @@
Boston, MA 02111-1307, USA. */
#ifndef SPARC64_TDEP_H
-#define SPARC62_TDEP_H 1
+#define SPARC64_TDEP_H 1
-/* Register numbers of various important registers. */
+struct gdbarch;
+struct sparc_gregset;
+struct regcache;
-enum sparc_regnum
-{
- SPARC_G0_REGNUM, /* %g0 */
- SPARC_G1_REGNUM,
- SPARC_G2_REGNUM,
- SPARC_G3_REGNUM,
- SPARC_G4_REGNUM,
- SPARC_G5_REGNUM,
- SPARC_G6_REGNUM,
- SPARC_G7_REGNUM, /* %g7 */
- SPARC_O0_REGNUM, /* %o0 */
- SPARC_O1_REGNUM,
- SPARC_O2_REGNUM,
- SPARC_O3_REGNUM,
- SPARC_O4_REGNUM,
- SPARC_O5_REGNUM,
- SPARC_SP_REGNUM, /* %sp (%o6) */
- SPARC_O7_REGNUM, /* %o7 */
- SPARC_L0_REGNUM, /* %l0 */
- SPARC_L1_REGNUM,
- SPARC_L2_REGNUM,
- SPARC_L3_REGNUM,
- SPARC_L4_REGNUM,
- SPARC_L5_REGNUM,
- SPARC_L6_REGNUM,
- SPARC_L7_REGNUM, /* %l7 */
- SPARC_I0_REGNUM, /* %i0 */
- SPARC_I1_REGNUM,
- SPARC_I2_REGNUM,
- SPARC_I3_REGNUM,
- SPARC_I4_REGNUM,
- SPARC_I5_REGNUM,
- SPARC_FP_REGNUM, /* %fp (%i6) */
- SPARC_I7_REGNUM, /* %i7 */
- SPARC_F0_REGNUM, /* %f0 */
- SPARC_F31_REGNUM = SPARC_F0_REGNUM + 31 /* %f31 */
-};
+#include "sparc-tdep.h"
+
+/* The stack pointer is offset from the stack frame by a BIAS of 2047
+ (0x7ff) for 64-bit code. BIAS is likely to be defined on SPARC
+ hosts, so undefine it first. */
+#undef BIAS
+#define BIAS 2047
+
+/* Register offsets for the general-purpose register set. */
+
+/* UltraSPARC doesn't have %psr. */
+#define r_tstate_offset r_psr_offset
+
+/* UltraSPARC doesn't have %wim either. */
+#define r_fprs_offset r_wim_offset
+
+/* Register numbers of various important registers. */
enum sparc64_regnum
{
- SPARC64_F32_REGNUM = SPARC_F0_REGNUM + 32, /* %f32 */
- SPARC64_F62_REGNUM = SPARC64_F32_REGNUM + 15, /* %f62 */
+ SPARC64_F32_REGNUM /* %f32 */
+ = SPARC_F0_REGNUM + 32,
+ SPARC64_F62_REGNUM /* %f62 */
+ = SPARC64_F32_REGNUM + 15,
SPARC64_PC_REGNUM, /* %pc */
SPARC64_NPC_REGNUM, /* %npc */
SPARC64_STATE_REGNUM,
SPARC64_FSR_REGNUM, /* %fsr */
SPARC64_FPRS_REGNUM, /* %fprs */
SPARC64_Y_REGNUM, /* %y */
-
+
/* Pseudo registers. */
SPARC64_CWP_REGNUM, /* %cwp */
SPARC64_PSTATE_REGNUM, /* %pstate */
SPARC64_ASI_REGNUM, /* %asi */
SPARC64_CCR_REGNUM, /* %ccr */
SPARC64_D0_REGNUM, /* %d0 */
- SPARC64_D10_REGNUM = SPARC64_D0_REGNUM + 5, /* %d10 */
- SPARC64_D30_REGNUM = SPARC64_D0_REGNUM + 15, /* %d30 */
- SPARC64_D32_REGNUM = SPARC64_D0_REGNUM + 16, /* %d32 */
- SPARC64_D62_REGNUM = SPARC64_D0_REGNUM + 31, /* %d62 */
+ SPARC64_D10_REGNUM /* %d10 */
+ = SPARC64_D0_REGNUM + 5,
+ SPARC64_D30_REGNUM /* %d30 */
+ = SPARC64_D0_REGNUM + 15,
+ SPARC64_D32_REGNUM /* %d32 */
+ = SPARC64_D0_REGNUM + 16,
+ SPARC64_D62_REGNUM /* %d62 */
+ = SPARC64_D0_REGNUM + 31,
SPARC64_Q0_REGNUM, /* %q0 */
- SPARC64_Q8_REGNUM = SPARC64_Q0_REGNUM + 2, /* %q8 */
- SPARC64_Q28_REGNUM = SPARC64_Q0_REGNUM + 7, /* %q28 */
- SPARC64_Q32_REGNUM = SPARC64_Q0_REGNUM + 8, /* %q32 */
- SPARC64_Q60_REGNUM = SPARC64_Q0_REGNUM + 15 /* %q60 */
+ SPARC64_Q8_REGNUM /* %q8 */
+ = SPARC64_Q0_REGNUM + 2,
+ SPARC64_Q28_REGNUM /* %q28 */
+ = SPARC64_Q0_REGNUM + 7,
+ SPARC64_Q32_REGNUM /* %q32 */
+ = SPARC64_Q0_REGNUM + 8,
+ SPARC64_Q60_REGNUM /* %q60 */
+ = SPARC64_Q0_REGNUM + 15
};
-extern void sparc_supply_rwindow (CORE_ADDR sp, int regnum);
-extern void sparc_fill_rwindow (CORE_ADDR sp, int regnum);
+extern void sparc64_init_abi (struct gdbarch_info info,
+ struct gdbarch *gdbarch);
+
+extern void sparc64_supply_gregset (const struct sparc_gregset *gregset,
+ struct regcache *regcache,
+ int regnum, const void *gregs);
+extern void sparc64_collect_gregset (const struct sparc_gregset *gregset,
+ const struct regcache *regcache,
+ int regnum, void *gregs);
+extern void sparc64_supply_fpregset (struct regcache *regcache,
+ int regnum, const void *fpregs);
+extern void sparc64_collect_fpregset (const struct regcache *regcache,
+ int regnum, void *fpregs);
+
+/* Functions and variables exported from sparc64-sol2-tdep.c. */
+
+/* Register offsets for Solaris 2. */
+extern const struct sparc_gregset sparc64_sol2_gregset;
+
+extern void sparc64_sol2_init_abi (struct gdbarch_info info,
+ struct gdbarch *gdbarch);
+
+/* Variables exported from sparc64fbsd-tdep.c. */
+
+/* Register offsets for FreeBSD/sparc64. */
+extern const struct sparc_gregset sparc64fbsd_gregset;
-/* Functions exported from sparc64fbsd-tdep.c. */
+/* Variables exported from sparc64nbsd-tdep.c. */
-extern void sparc64fbsd_supply_reg (const char *regs, int regnum);
-extern void sparc64fbsd_fill_reg (char *regs, int regnum);
-extern void sparc64fbsd_supply_fpreg (const char *regs, int regnum);
-extern void sparc64fbsd_fill_fpreg (char *regs, int regnum);
+/* Register offsets for NetBSD/sparc64. */
+extern const struct sparc_gregset sparc64nbsd_gregset;
#endif /* sparc64-tdep.h */
diff --git a/gdb/sparc64fbsd-nat.c b/gdb/sparc64fbsd-nat.c
index 26c58d8d13b..09bf12a4c00 100644
--- a/gdb/sparc64fbsd-nat.c
+++ b/gdb/sparc64fbsd-nat.c
@@ -22,47 +22,7 @@
#include "defs.h"
#include "sparc64-tdep.h"
-#include "sparcbsd-nat.h"
-
-/* Determine whether `struct reg' contains register REGNUM. */
-
-static int
-sparc64fbsd_reg_supplies_p (int regnum)
-{
- /* Integer registers. */
- if ((regnum >= SPARC_G0_REGNUM && regnum <= SPARC_G7_REGNUM)
- || (regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM)
- || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_L7_REGNUM)
- || (regnum >= SPARC_I0_REGNUM && regnum <= SPARC_I7_REGNUM))
- return 1;
-
- /* Control registers. */
- if (regnum == SPARC64_PC_REGNUM
- || regnum == SPARC64_NPC_REGNUM
- || regnum == SPARC64_STATE_REGNUM
- || regnum == SPARC64_FPRS_REGNUM
- || regnum == SPARC64_Y_REGNUM)
- return 1;
-
- return 0;
-}
-
-/* Determine whether `struct fpreg' contains register REGNUM. */
-
-static int
-sparc64fbsd_fpreg_supplies_p (int regnum)
-{
- /* Floating-point registers. */
- if ((regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM)
- || (regnum >= SPARC64_F32_REGNUM && regnum <= SPARC64_F62_REGNUM))
- return 1;
-
- /* Control registers. */
- if (regnum == SPARC64_FSR_REGNUM)
- return 1;
-
- return 0;
-}
+#include "sparc-nat.h"
/* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_sparc64fbsd_nat (void);
@@ -70,11 +30,5 @@ void _initialize_sparc64fbsd_nat (void);
void
_initialize_sparc64fbsd_nat (void)
{
- sparcbsd_supply_reg = sparc64fbsd_supply_reg;
- sparcbsd_fill_reg = sparc64fbsd_fill_reg;
- sparcbsd_supply_fpreg = sparc64fbsd_supply_fpreg;
- sparcbsd_fill_fpreg = sparc64fbsd_fill_fpreg;
-
- sparcbsd_reg_supplies_p = sparc64fbsd_reg_supplies_p;
- sparcbsd_fpreg_supplies_p = sparc64fbsd_fpreg_supplies_p;
+ sparc_gregset = &sparc64fbsd_gregset;
}
diff --git a/gdb/sparc64fbsd-tdep.c b/gdb/sparc64fbsd-tdep.c
index 2b910c1b33d..3c1335df431 100644
--- a/gdb/sparc64fbsd-tdep.c
+++ b/gdb/sparc64fbsd-tdep.c
@@ -1,6 +1,6 @@
/* Target-dependent code for FreeBSD/sparc64.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -20,208 +20,198 @@
Boston, MA 02111-1307, USA. */
#include "defs.h"
+#include "frame.h"
+#include "frame-unwind.h"
#include "gdbcore.h"
#include "osabi.h"
#include "regcache.h"
+#include "regset.h"
#include "target.h"
+#include "trad-frame.h"
+#include "gdb_assert.h"
#include "gdb_string.h"
#include "sparc64-tdep.h"
/* From <machine/reg.h>. */
-
-/* Offset of registers in `struct reg'. */
-int sparc64fbsd_r_global_offset = (0 * 8);
-int sparc64fbsd_r_out_offset = (8 * 8);
-int sparc64fbsd_r_fprs_offset = (16 * 8);
-int sparc64fbsd_r_tnpc_offset = (24 * 8);
-int sparc64fbsd_r_tpc_offset = (25 * 8);
-int sparc64fbsd_r_tstate_offset = (26 * 8);
-int sparc64fbsd_r_y_offset = (28 * 8);
-
-/* Size of `struct reg' and `struct fpreg'. */
-int sparc64fbsd_sizeof_struct_reg = 256;
-int sparc64fbsd_sizeof_struct_fpreg = 272;
-
-void
-sparc64fbsd_supply_reg (const char *regs, int regnum)
+const struct sparc_gregset sparc64fbsd_gregset =
{
- char buf[8];
- int i;
-
- if (regnum == SPARC64_PC_REGNUM || regnum == -1)
- supply_register (SPARC64_PC_REGNUM, regs + sparc64fbsd_r_tpc_offset);
-
- if (regnum == SPARC64_NPC_REGNUM || regnum == -1)
- supply_register (SPARC64_NPC_REGNUM, regs + sparc64fbsd_r_tnpc_offset);
-
- if (regnum == SPARC64_STATE_REGNUM || regnum == -1)
- supply_register (SPARC64_STATE_REGNUM, regs + sparc64fbsd_r_tstate_offset);
-
- if (regnum == SPARC64_FPRS_REGNUM || regnum == -1)
- supply_register (SPARC64_FPRS_REGNUM, regs + sparc64fbsd_r_fprs_offset);
-
- if (regnum == SPARC64_Y_REGNUM || regnum == -1)
- supply_register (SPARC64_Y_REGNUM, regs + sparc64fbsd_r_y_offset);
-
- if ((regnum >= SPARC_G0_REGNUM && regnum <= SPARC_G7_REGNUM) || regnum == -1)
- {
- if (regnum == SPARC_G0_REGNUM || regnum == -1)
- supply_register (SPARC_G0_REGNUM, NULL); /* %g0 is always zero. */
- for (i = SPARC_G1_REGNUM; i <= SPARC_G7_REGNUM; i++)
- {
- if (regnum == i || regnum == -1)
- supply_register (i, (regs + sparc64fbsd_r_global_offset
- + ((i - SPARC_G0_REGNUM) * 8)));
- }
- }
-
- if ((regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
- {
- for (i = SPARC_O0_REGNUM; i <= SPARC_O7_REGNUM; i++)
- {
- if (regnum == i || regnum == -1)
- supply_register (i, (regs + sparc64fbsd_r_out_offset
- + ((i - SPARC_O0_REGNUM) * 8)));
- }
- }
-
- /* Inputs and Locals are stored onto the stack by by the kernel. */
- if ((regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM) || regnum == -1)
- {
- ULONGEST sp;
+ 26 * 8, /* "tstate" */
+ 25 * 8, /* %pc */
+ 24 * 8, /* %npc */
+ 28 * 8, /* %y */
+ 16 * 8, /* %fprs */
+ -1,
+ 1 * 8, /* %g1 */
+ -1, /* %l0 */
+ 8 /* sizeof (%y) */
+};
+
- regcache_cooked_read_unsigned (current_regcache, SPARC_SP_REGNUM, &sp);
- sparc_supply_rwindow (sp, regnum);
- }
+static void
+sparc64fbsd_supply_gregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *gregs, size_t len)
+{
+ sparc64_supply_gregset (regset->descr, regcache, regnum, gregs);
}
-void
-sparc64fbsd_fill_reg (char *regs, int regnum)
+static void
+sparc64fbsd_supply_fpregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *fpregs, size_t len)
{
- char buf[8];
- int i;
-
- if (regnum == SPARC64_PC_REGNUM || regnum == -1)
- regcache_collect (SPARC64_PC_REGNUM, regs + sparc64fbsd_r_tpc_offset);
-
- if (regnum == SPARC64_NPC_REGNUM || regnum == -1)
- regcache_collect (SPARC64_NPC_REGNUM, regs + sparc64fbsd_r_tnpc_offset);
-
- if (regnum == SPARC64_FPRS_REGNUM || regnum == -1)
- regcache_collect (SPARC64_FPRS_REGNUM, regs + sparc64fbsd_r_fprs_offset);
-
- if (regnum == SPARC64_Y_REGNUM || regnum == -1)
- regcache_collect (SPARC64_Y_REGNUM, regs + sparc64fbsd_r_y_offset);
-
- if ((regnum >= SPARC_G0_REGNUM && regnum <= SPARC_G7_REGNUM) || regnum == -1)
- {
- /* %g0 is always zero. */
- for (i = SPARC_G1_REGNUM; i <= SPARC_G7_REGNUM; i++)
- {
- if (regnum == i || regnum == -1)
- regcache_collect (i, (regs + sparc64fbsd_r_global_offset
- + ((i - SPARC_G0_REGNUM) * 8)));
- }
- }
+ sparc64_supply_fpregset (regcache, regnum, fpregs);
+}
+
- if ((regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
- {
- for (i = SPARC_O0_REGNUM; i <= SPARC_O7_REGNUM; i++)
- {
- if (regnum == i || regnum == -1)
- regcache_collect (i, (regs + sparc64fbsd_r_out_offset
- + ((i - SPARC_O0_REGNUM) * 8)));
- }
- }
+/* Signal trampolines. */
- /* Responsibility for the stack regs is pushed off onto the caller. */
+static int
+sparc64fbsd_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+ return (name && strcmp (name, "__sigtramp") == 0);
}
-void
-sparc64fbsd_supply_fpreg (const char *fpregs, int regnum)
+static struct sparc_frame_cache *
+sparc64fbsd_sigtramp_frame_cache (struct frame_info *next_frame,
+ void **this_cache)
{
- int i;
-
- for (i = 0; i < 32; i++)
+ struct sparc_frame_cache *cache;
+ CORE_ADDR addr, mcontext_addr, sp;
+ LONGEST fprs;
+ int regnum;
+
+ if (*this_cache)
+ return *this_cache;
+
+ cache = sparc_frame_cache (next_frame, this_cache);
+ gdb_assert (cache == *this_cache);
+
+ cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+ /* The third argument is a pointer to an instance of `ucontext_t',
+ which has a member `uc_mcontext' that contains the saved
+ registers. */
+ addr = frame_unwind_register_unsigned (next_frame, SPARC_O2_REGNUM);
+ mcontext_addr = addr + 64;
+
+ /* The following registers travel in the `mc_local' slots of
+ `mcontext_t'. */
+ addr = mcontext_addr + 16 * 8;
+ cache->saved_regs[SPARC64_FPRS_REGNUM].addr = addr + 0 * 8;
+ cache->saved_regs[SPARC64_FSR_REGNUM].addr = addr + 1 * 8;
+
+ /* The following registers travel in the `mc_in' slots of
+ `mcontext_t'. */
+ addr = mcontext_addr + 24 * 8;
+ cache->saved_regs[SPARC64_NPC_REGNUM].addr = addr + 0 * 8;
+ cache->saved_regs[SPARC64_PC_REGNUM].addr = addr + 1 * 8;
+ cache->saved_regs[SPARC64_STATE_REGNUM].addr = addr + 2 * 8;
+ cache->saved_regs[SPARC64_Y_REGNUM].addr = addr + 4 * 8;
+
+ /* The `global' and `out' registers travel in the `mc_global' and
+ `mc_out' slots of `mcontext_t', except for %g0. Since %g0 is
+ always zero, keep the identity encoding. */
+ for (regnum = SPARC_G1_REGNUM, addr = mcontext_addr + 8;
+ regnum <= SPARC_O7_REGNUM; regnum++, addr += 8)
+ cache->saved_regs[regnum].addr = addr;
+
+ /* The `local' and `in' registers have been saved in the register
+ save area. */
+ addr = cache->saved_regs[SPARC_SP_REGNUM].addr;
+ sp = get_frame_memory_unsigned (next_frame, addr, 8);
+ for (regnum = SPARC_L0_REGNUM, addr = sp + BIAS;
+ regnum <= SPARC_I7_REGNUM; regnum++, addr += 8)
+ cache->saved_regs[regnum].addr = addr;
+
+ /* The floating-point registers are only saved if the FEF bit in
+ %fprs has been set. */
+
+#define FPRS_FEF (1 << 2)
+
+ addr = cache->saved_regs[SPARC64_FPRS_REGNUM].addr;
+ fprs = get_frame_memory_unsigned (next_frame, addr, 8);
+ if (fprs & FPRS_FEF)
{
- if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
- supply_register (SPARC_F0_REGNUM + i, fpregs + (i * 4));
- }
+ for (regnum = SPARC_F0_REGNUM, addr = mcontext_addr + 32 * 8;
+ regnum <= SPARC_F31_REGNUM; regnum++, addr += 4)
+ cache->saved_regs[regnum].addr = addr;
- for (i = 0; i < 16; i++)
- {
- if (regnum == (SPARC64_F32_REGNUM + i) || regnum == -1)
- supply_register (SPARC64_F32_REGNUM + i, fpregs + (32 * 4) + (i * 8));
+ for (regnum = SPARC64_F32_REGNUM;
+ regnum <= SPARC64_F62_REGNUM; regnum++, addr += 8)
+ cache->saved_regs[regnum].addr = addr;
}
- if (regnum == SPARC64_FSR_REGNUM || regnum == -1)
- supply_register (SPARC64_FSR_REGNUM, fpregs + (32 * 4) + (16 * 8));
+ return cache;
}
-void
-sparc64fbsd_fill_fpreg (char *fpregs, int regnum)
+static void
+sparc64fbsd_sigtramp_frame_this_id (struct frame_info *next_frame,
+ void **this_cache,
+ struct frame_id *this_id)
{
- int i;
-
- for (i = 0; i < 32; i++)
- {
- if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
- regcache_collect (SPARC_F0_REGNUM + i, fpregs + (i * 4));
- }
+ struct sparc_frame_cache *cache =
+ sparc64fbsd_sigtramp_frame_cache (next_frame, this_cache);
- for (i = 0; i < 16; i++)
- {
- if (regnum == (SPARC64_F32_REGNUM + i) || regnum == -1)
- regcache_collect (SPARC64_F32_REGNUM + i, fpregs + (32 * 4) + (i * 8));
- }
-
- if (regnum == SPARC64_FSR_REGNUM || regnum == -1)
- regcache_collect (SPARC64_FSR_REGNUM, fpregs + (32 * 4) + (16 * 8));
+ (*this_id) = frame_id_build (cache->base, cache->pc);
}
-
static void
-fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which,
- CORE_ADDR ignore)
+sparc64fbsd_sigtramp_frame_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp,
+ CORE_ADDR *addrp,
+ int *realnump, void *valuep)
{
- switch (which)
- {
- case 0: /* Integer registers */
- if (core_reg_size != sparc64fbsd_sizeof_struct_reg)
- warning ("Wrong size register set in core file.");
- else
- sparc64fbsd_supply_reg (core_reg_sect, -1);
- break;
-
- case 2: /* Floating pointer registers */
- if (core_reg_size != sparc64fbsd_sizeof_struct_fpreg)
- warning ("Wrong size FP register set in core file.");
- else
- sparc64fbsd_supply_fpreg (core_reg_sect, -1);
- break;
-
- default:
- /* Don't know what kind of register request this is; just ignore it. */
- break;
- }
+ struct sparc_frame_cache *cache =
+ sparc64fbsd_sigtramp_frame_cache (next_frame, this_cache);
+
+ trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
}
-static struct core_fns sparc64fbsd_core_fns =
+static const struct frame_unwind sparc64fbsd_sigtramp_frame_unwind =
{
- bfd_target_elf_flavour, /* core_flavour */
- default_check_format, /* check_format */
- default_core_sniffer, /* core_sniffer */
- fetch_core_registers, /* core_read_registers */
- NULL
+ SIGTRAMP_FRAME,
+ sparc64fbsd_sigtramp_frame_this_id,
+ sparc64fbsd_sigtramp_frame_prev_register
};
+
+static const struct frame_unwind *
+sparc64fbsd_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+ CORE_ADDR pc = frame_pc_unwind (next_frame);
+ char *name;
+
+ find_pc_partial_function (pc, &name, NULL, NULL);
+ if (sparc64fbsd_pc_in_sigtramp (pc, name))
+ return &sparc64fbsd_sigtramp_frame_unwind;
+
+ return NULL;
+}
static void
sparc64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
- /* Nothing yet. */
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+ tdep->gregset = XMALLOC (struct regset);
+ tdep->gregset->descr = &sparc64fbsd_gregset;
+ tdep->gregset->supply_regset = sparc64fbsd_supply_gregset;
+ tdep->sizeof_gregset = 256;
+
+ tdep->fpregset = XMALLOC (struct regset);
+ tdep->fpregset->supply_regset = sparc64fbsd_supply_fpregset;
+ tdep->sizeof_fpregset = 272;
+
+ set_gdbarch_pc_in_sigtramp (gdbarch, sparc64fbsd_pc_in_sigtramp);
+ frame_unwind_append_sniffer (gdbarch, sparc64fbsd_sigtramp_frame_sniffer);
+
+ sparc64_init_abi (info, gdbarch);
}
/* Provide a prototype to silence -Wmissing-prototypes. */
@@ -232,6 +222,4 @@ _initialize_sparc64fbsd_tdep (void)
{
gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
GDB_OSABI_FREEBSD_ELF, sparc64fbsd_init_abi);
-
- add_core_fns (&sparc64fbsd_core_fns);
}
diff --git a/gdb/sparc64nbsd-nat.c b/gdb/sparc64nbsd-nat.c
index c68b96b6a73..91577039eb3 100644
--- a/gdb/sparc64nbsd-nat.c
+++ b/gdb/sparc64nbsd-nat.c
@@ -1,6 +1,6 @@
-/* Native-dependent code for UltraSPARC systems running NetBSD.
- Copyright 2002, 2003 Free Software Foundation, Inc.
- Contributed by Wasabi Systems, Inc.
+/* Native-dependent code for NetBSD/sparc64.
+
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -20,189 +20,120 @@
Boston, MA 02111-1307, USA. */
#include "defs.h"
-#include "inferior.h"
-#include "regcache.h"
-#include "sparc-tdep.h"
-#include "sparcnbsd-tdep.h"
+#include "sparc64-tdep.h"
+#include "sparc-nat.h"
-#include <sys/types.h>
-#include <sys/ptrace.h>
-#include <machine/reg.h>
+/* NetBSD is different from the other OSes that support both SPARC and
+ UltraSPARC in that the result of ptrace(2) depends on whether the
+ traced process is 32-bit or 64-bit. */
-/* NOTE: We don't bother with any of the deferred_store nonsense; it
- makes things a lot more complicated than they need to be. */
+static void
+sparc64nbsd_supply_gregset (const struct sparc_gregset *gregset,
+ struct regcache *regcache,
+ int regnum, const void *gregs)
+{
+ int sparc32 = (gdbarch_ptr_bit (current_gdbarch) == 32);
-/* Determine if PT_GETREGS fetches this register. */
-static int
-getregs_supplies (int regno)
+ if (sparc32)
+ sparc32_supply_gregset (&sparc32nbsd_gregset, regcache, regnum, gregs);
+ else
+ sparc64_supply_gregset (&sparc64nbsd_gregset, regcache, regnum, gregs);
+}
+
+static void
+sparc64nbsd_collect_gregset (const struct sparc_gregset *gregset,
+ const struct regcache *regcache,
+ int regnum, void *gregs)
+{
+ int sparc32 = (gdbarch_ptr_bit (current_gdbarch) == 32);
+
+ if (sparc32)
+ sparc32_collect_gregset (&sparc32nbsd_gregset, regcache, regnum, gregs);
+ else
+ sparc64_collect_gregset (&sparc64nbsd_gregset, regcache, regnum, gregs);
+}
+
+static void
+sparc64nbsd_supply_fpregset (struct regcache *regcache,
+ int regnum, const void *fpregs)
+{
+ int sparc32 = (gdbarch_ptr_bit (current_gdbarch) == 32);
+
+ if (sparc32)
+ sparc32_supply_fpregset (regcache, regnum, fpregs);
+ else
+ sparc64_supply_fpregset (regcache, regnum, fpregs);
+}
+
+static void
+sparc64nbsd_collect_fpregset (const struct regcache *regcache,
+ int regnum, void *fpregs)
{
- /* FIXME: PS_REGNUM for 32-bit code. */
- return (regno == TSTATE_REGNUM
- || regno == PC_REGNUM
- || regno == DEPRECATED_NPC_REGNUM
- || regno == Y_REGNUM
- || (regno >= G0_REGNUM && regno <= G7_REGNUM)
- || (regno >= O0_REGNUM && regno <= O7_REGNUM)
- /* stack regs (handled by sparcnbsd_supply_reg) */
- || (regno >= L0_REGNUM && regno <= I7_REGNUM));
+ int sparc32 = (gdbarch_ptr_bit (current_gdbarch) == 32);
+
+ if (sparc32)
+ sparc32_collect_fpregset (regcache, regnum, fpregs);
+ else
+ sparc64_collect_fpregset (regcache, regnum, fpregs);
}
-/* Determine if PT_GETFPREGS fetches this register. */
+/* Determine whether `gregset_t' contains register REGNUM. */
+
static int
-getfpregs_supplies (int regno)
+sparc64nbsd_gregset_supplies_p (int regnum)
{
- return ((regno >= FP0_REGNUM && regno <= (FP0_REGNUM + 47))
- || regno == FPS_REGNUM);
+ if (gdbarch_ptr_bit (current_gdbarch) == 32)
+ return sparc32_gregset_supplies_p (regnum);
+
+ /* Integer registers. */
+ if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_G7_REGNUM)
+ || (regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM)
+ || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_L7_REGNUM)
+ || (regnum >= SPARC_I0_REGNUM && regnum <= SPARC_I7_REGNUM))
+ return 1;
+
+ /* Control registers. */
+ if (regnum == SPARC64_PC_REGNUM
+ || regnum == SPARC64_NPC_REGNUM
+ || regnum == SPARC64_STATE_REGNUM
+ || regnum == SPARC64_Y_REGNUM)
+ return 1;
+
+ return 0;
}
-void
-fetch_inferior_registers (int regno)
+/* Determine whether `fpregset_t' contains register REGNUM. */
+
+static int
+sparc64nbsd_fpregset_supplies_p (int regnum)
{
- /* We don't use deferred stores. */
- if (deferred_stores)
- internal_error (__FILE__, __LINE__,
- "fetch_inferior_registers: deferred stores pending");
-
- if (regno == -1 || getregs_supplies (regno))
- {
- union {
- struct reg32 regs32;
- struct reg64 regs64;
- } regs;
-
- if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &regs, 0) == -1)
- perror_with_name ("Couldn't get registers");
-
- if (gdbarch_ptr_bit (current_gdbarch) == 32)
- sparcnbsd_supply_reg32 ((char *) &regs.regs32, regno);
- else
- sparcnbsd_supply_reg64 ((char *) &regs.regs64, regno);
- if (regno != -1)
- return;
- }
-
- if (regno == -1 || getfpregs_supplies (regno))
- {
- union {
- struct fpreg32 fpregs32;
- struct fpreg64 fpregs64;
- } fpregs;
-
- if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
- perror_with_name ("Couldn't get floating point registers");
-
- if (gdbarch_ptr_bit (current_gdbarch) == 32)
- sparcnbsd_supply_fpreg32 ((char *) &fpregs.fpregs32, regno);
- else
- sparcnbsd_supply_fpreg64 ((char *) &fpregs.fpregs64, regno);
- if (regno != -1)
- return;
- }
+ if (gdbarch_ptr_bit (current_gdbarch) == 32)
+ return sparc32_fpregset_supplies_p (regnum);
+
+ /* Floating-point registers. */
+ if ((regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM)
+ || (regnum >= SPARC64_F32_REGNUM && regnum <= SPARC64_F62_REGNUM))
+ return 1;
+
+ /* Control registers. */
+ if (regnum == SPARC64_FSR_REGNUM)
+ return 1;
+
+ return 0;
}
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_sparcnbsd_nat (void);
+
void
-store_inferior_registers (int regno)
+_initialize_sparcnbsd_nat (void)
{
- /* We don't use deferred stores. */
- if (deferred_stores)
- internal_error (__FILE__, __LINE__,
- "store_inferior_registers: deferred stores pending");
-
- if (regno == -1 || getregs_supplies (regno))
- {
- union {
- struct reg32 regs32;
- struct reg64 regs64;
- } regs;
-
- if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &regs, 0) == -1)
- perror_with_name ("Couldn't get registers");
-
- if (gdbarch_ptr_bit (current_gdbarch) == 32)
- sparcnbsd_fill_reg32 ((char *) &regs.regs32, regno);
- else
- sparcnbsd_fill_reg64 ((char *) &regs.regs64, regno);
-
- if (ptrace (PT_SETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &regs, 0) == -1)
- perror_with_name ("Couldn't write registers");
-
- /* Deal with the stack regs. */
- if (regno == -1 || regno == SP_REGNUM
- || (regno >= L0_REGNUM && regno <= I7_REGNUM))
- {
- CORE_ADDR sp = read_register (SP_REGNUM);
- int i;
- char buf[8];
-
- if (sp & 1)
- {
- /* Registers are 64-bit. */
- sp += 2047;
-
- for (i = L0_REGNUM; i <= I7_REGNUM; i++)
- {
- if (regno == -1 || regno == SP_REGNUM || regno == i)
- {
- regcache_collect (i, buf);
- target_write_memory (sp + ((i - L0_REGNUM) * 8),
- buf, sizeof (buf));
- }
- }
- }
- else
- {
- /* Registers are 32-bit. Toss any sign-extension of the stack
- pointer.
-
- FIXME: We don't currently handle 32-bit code in a binary
- that indicated LP64. Do we have to care about that? */
- if (gdbarch_ptr_bit (current_gdbarch) != 32)
- internal_error
- (__FILE__, __LINE__,
- "store_inferior_registers: 32-bit code in 64-bit inferior");
-
- sp &= 0xffffffffUL;
- for (i = L0_REGNUM; i <= I7_REGNUM; i++)
- {
- if (regno == -1 || regno == SP_REGNUM || regno == i)
- {
- regcache_collect (i, buf);
- target_write_memory (sp + ((i - L0_REGNUM) * 4), buf, 4);
- }
- }
- }
- }
-
- if (regno != -1)
- return;
- }
-
- if (regno == -1 || getfpregs_supplies (regno))
- {
- union {
- struct fpreg32 fpregs32;
- struct fpreg64 fpregs64;
- } fpregs;
-
- if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
- perror_with_name ("Couldn't get floating point registers");
-
- if (gdbarch_ptr_bit (current_gdbarch) == 32)
- sparcnbsd_fill_fpreg32 ((char *) &fpregs.fpregs32, regno);
- else
- sparcnbsd_fill_fpreg64 ((char *) &fpregs.fpregs64, regno);
-
- if (ptrace (PT_SETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
- perror_with_name ("Couldn't write floating point registers");
-
- if (regno != -1)
- return;
- }
+ sparc_supply_gregset = sparc64nbsd_supply_gregset;
+ sparc_collect_gregset = sparc64nbsd_collect_gregset;
+ sparc_supply_fpregset = sparc64nbsd_supply_fpregset;
+ sparc_collect_fpregset = sparc64nbsd_collect_fpregset;
+ sparc_gregset_supplies_p = sparc64nbsd_gregset_supplies_p;
+ sparc_fpregset_supplies_p = sparc64nbsd_fpregset_supplies_p;
}
diff --git a/gdb/sparc64nbsd-tdep.c b/gdb/sparc64nbsd-tdep.c
new file mode 100644
index 00000000000..58b87b3d597
--- /dev/null
+++ b/gdb/sparc64nbsd-tdep.c
@@ -0,0 +1,246 @@
+/* Target-dependent code for NetBSD/sparc64.
+
+ Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
+ Based on code contributed by Wasabi Systems, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+#include "frame.h"
+#include "frame-unwind.h"
+#include "gdbcore.h"
+#include "osabi.h"
+#include "regcache.h"
+#include "regset.h"
+#include "symtab.h"
+#include "solib-svr4.h"
+#include "trad-frame.h"
+
+#include "gdb_assert.h"
+#include "gdb_string.h"
+
+#include "sparc64-tdep.h"
+#include "nbsd-tdep.h"
+
+/* From <machine/reg.h>. */
+const struct sparc_gregset sparc64nbsd_gregset =
+{
+ 0 * 8, /* "tstate" */
+ 1 * 8, /* %pc */
+ 2 * 8, /* %npc */
+ 3 * 8, /* %y */
+ -1, /* %fprs */
+ -1,
+ 5 * 8, /* %g1 */
+ -1, /* %l0 */
+ 4 /* sizeof (%y) */
+};
+
+
+static void
+sparc64nbsd_supply_gregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *gregs, size_t len)
+{
+ sparc64_supply_gregset (regset->descr, regcache, regnum, gregs);
+}
+
+static void
+sparc64nbsd_supply_fpregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *fpregs, size_t len)
+{
+ sparc64_supply_fpregset (regcache, regnum, fpregs);
+}
+
+
+/* Signal trampolines. */
+
+/* The following variables describe the location of an on-stack signal
+ trampoline. The current values correspond to the memory layout for
+ NetBSD 1.3 and up. These shouldn't be necessary for NetBSD 2.0 and
+ up, since NetBSD uses signal trampolines provided by libc now. */
+
+static const CORE_ADDR sparc64nbsd_sigtramp_start = 0xffffffffffffdee4ULL;
+static const CORE_ADDR sparc64nbsd_sigtramp_end = 0xffffffffffffe000ULL;
+
+static int
+sparc64nbsd_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+ if (pc >= sparc64nbsd_sigtramp_start && pc < sparc64nbsd_sigtramp_end)
+ return 1;
+
+ return nbsd_pc_in_sigtramp (pc, name);
+}
+
+static struct sparc_frame_cache *
+sparc64nbsd_sigcontext_frame_cache (struct frame_info *next_frame,
+ void **this_cache)
+{
+ struct sparc_frame_cache *cache;
+ CORE_ADDR addr, sigcontext_addr, sp;
+ LONGEST fprs;
+ int regnum, delta;
+
+ if (*this_cache)
+ return *this_cache;
+
+ cache = sparc_frame_cache (next_frame, this_cache);
+ gdb_assert (cache == *this_cache);
+
+ /* The registers are saved in bits and pieces scattered all over the
+ place. The code below records their location on the assumption
+ that the part of the signal trampoline that saves the state has
+ been executed. */
+
+ /* If we couldn't find the frame's function, we're probably dealing
+ with an on-stack signal trampoline. */
+ if (cache->pc == 0)
+ {
+ cache->pc = sparc64nbsd_sigtramp_start;
+
+ /* Since we couldn't find the frame's function, the cache was
+ initialized under the assumption that we're frameless. */
+ cache->frameless_p = 0;
+ addr = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM);
+ cache->base = addr;
+ }
+
+ cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+ /* We find the appropriate instance of `struct sigcontext' at a
+ fixed offset in the signal frame. */
+ sigcontext_addr = cache->base + BIAS + 128 + 8;
+
+ cache->saved_regs[SPARC_SP_REGNUM].addr = sigcontext_addr + 8;
+ cache->saved_regs[SPARC64_PC_REGNUM].addr = sigcontext_addr + 16;
+ cache->saved_regs[SPARC64_NPC_REGNUM].addr = sigcontext_addr + 24;
+ cache->saved_regs[SPARC64_STATE_REGNUM].addr = sigcontext_addr + 32;
+ cache->saved_regs[SPARC_G1_REGNUM].addr = sigcontext_addr + 40;
+ cache->saved_regs[SPARC_O0_REGNUM].addr = sigcontext_addr + 48;
+
+ /* The remaining `global' registers and %y are saved in the `local'
+ registers. */
+ delta = SPARC_L0_REGNUM - SPARC_G0_REGNUM;
+ for (regnum = SPARC_G2_REGNUM; regnum <= SPARC_G7_REGNUM; regnum++)
+ cache->saved_regs[regnum].realreg = regnum + delta;
+ cache->saved_regs[SPARC64_Y_REGNUM].realreg = SPARC_L1_REGNUM;
+
+ /* The remaining `out' registers can be found in the current frame's
+ `in' registers. */
+ delta = SPARC_I0_REGNUM - SPARC_O0_REGNUM;
+ for (regnum = SPARC_O1_REGNUM; regnum <= SPARC_O5_REGNUM; regnum++)
+ cache->saved_regs[regnum].realreg = regnum + delta;
+ cache->saved_regs[SPARC_O7_REGNUM].realreg = SPARC_I7_REGNUM;
+
+ /* The `local' and `in' registers have been saved in the register
+ save area. */
+ addr = cache->saved_regs[SPARC_SP_REGNUM].addr;
+ sp = get_frame_memory_unsigned (next_frame, addr, 8);
+ for (regnum = SPARC_L0_REGNUM, addr = sp + BIAS;
+ regnum <= SPARC_I7_REGNUM; regnum++, addr += 8)
+ cache->saved_regs[regnum].addr = addr;
+
+ /* TODO: Handle the floating-point registers. */
+
+ return cache;
+}
+
+static void
+sparc64nbsd_sigcontext_frame_this_id (struct frame_info *next_frame,
+ void **this_cache,
+ struct frame_id *this_id)
+{
+ struct sparc_frame_cache *cache =
+ sparc64nbsd_sigcontext_frame_cache (next_frame, this_cache);
+
+ (*this_id) = frame_id_build (cache->base, cache->pc);
+}
+
+static void
+sparc64nbsd_sigcontext_frame_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp,
+ CORE_ADDR *addrp,
+ int *realnump, void *valuep)
+{
+ struct sparc_frame_cache *cache =
+ sparc64nbsd_sigcontext_frame_cache (next_frame, this_cache);
+
+ trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind sparc64nbsd_sigcontext_frame_unwind =
+{
+ SIGTRAMP_FRAME,
+ sparc64nbsd_sigcontext_frame_this_id,
+ sparc64nbsd_sigcontext_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc64nbsd_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+ CORE_ADDR pc = frame_pc_unwind (next_frame);
+ char *name;
+
+ find_pc_partial_function (pc, &name, NULL, NULL);
+ if (sparc64nbsd_pc_in_sigtramp (pc, name))
+ {
+ if (name == NULL || strncmp (name, "__sigtramp_sigcontext", 21))
+ return &sparc64nbsd_sigcontext_frame_unwind;
+ }
+
+ return NULL;
+}
+
+
+static void
+sparc64nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+ tdep->gregset = XMALLOC (struct regset);
+ tdep->gregset->descr = &sparc64nbsd_gregset;
+ tdep->gregset->supply_regset = sparc64nbsd_supply_gregset;
+ tdep->sizeof_gregset = 160;
+
+ tdep->fpregset = XMALLOC (struct regset);
+ tdep->fpregset->supply_regset = sparc64nbsd_supply_fpregset;
+ tdep->sizeof_fpregset = 272;
+
+ set_gdbarch_pc_in_sigtramp (gdbarch, sparc64nbsd_pc_in_sigtramp);
+ frame_unwind_append_sniffer (gdbarch, sparc64nbsd_sigtramp_frame_sniffer);
+
+ sparc64_init_abi (info, gdbarch);
+
+ set_solib_svr4_fetch_link_map_offsets
+ (gdbarch, nbsd_lp64_solib_svr4_fetch_link_map_offsets);
+}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_sparc64nbsd_tdep (void);
+
+void
+_initialize_sparc64nbsd_tdep (void)
+{
+ gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
+ GDB_OSABI_NETBSD_ELF, sparc64nbsd_init_abi);
+}
diff --git a/gdb/sparcbsd-nat.c b/gdb/sparcbsd-nat.c
deleted file mode 100644
index 8ab95375d08..00000000000
--- a/gdb/sparcbsd-nat.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/* Native-dependent code for SPARC BSD's.
-
- Copyright 2002, 2003 Free Software Foundation, Inc.
- Based on code contributed by Wasabi Systems, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "defs.h"
-#include "inferior.h"
-#include "regcache.h"
-
-/* FIXME: Should be changed to sparc-tdep.h when the old code is gone. */
-#include "sparc64-tdep.h"
-#include "sparcbsd-nat.h"
-
-#include <sys/types.h>
-#include <sys/ptrace.h>
-#include <machine/reg.h>
-
-/* Functions translating between `struct reg' and `struct fpreg' and
- GDB's register cache. */
-void (*sparcbsd_supply_reg)(const char *, int);
-void (*sparcbsd_fill_reg)(char *, int);
-void (*sparcbsd_supply_fpreg)(const char *, int);
-void (*sparcbsd_fill_fpreg)(char *, int);
-
-/* Functions indication whether `struct reg' or `struct fpreg' provides
- a certain register. */
-int (*sparcbsd_reg_supplies_p)(int);
-int (*sparcbsd_fpreg_supplies_p)(int);
-
-void
-fetch_inferior_registers (int regnum)
-{
- if (regnum == -1 || sparcbsd_reg_supplies_p (regnum))
- {
- struct reg regs;
-
- if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &regs, 0) == -1)
- perror_with_name ("Couldn't get registers");
-
- sparcbsd_supply_reg ((char *) &regs, regnum);
- if (regnum != -1)
- return;
- }
-
- if (regnum == -1 || sparcbsd_fpreg_supplies_p (regnum))
- {
- struct fpreg fpregs;
-
- if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
- perror_with_name ("Couldn't get floating-point registers");
-
- sparcbsd_supply_fpreg ((char *) &fpregs, regnum);
- if (regnum != -1)
- return;
- }
-}
-
-void
-store_inferior_registers (int regnum)
-{
- if (regnum == -1 || sparcbsd_reg_supplies_p (regnum))
- {
- struct reg regs;
-
- if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &regs, 0) == -1)
- perror_with_name ("Couldn't get registers");
-
- sparcbsd_fill_reg ((char *) &regs, regnum);
-
- if (ptrace (PT_SETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &regs, 0) == -1)
- perror_with_name ("Couldn't write registers");
-
- /* Deal with the stack regs. */
- if (regnum == -1 || regnum == SPARC_SP_REGNUM
- || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM))
- {
- ULONGEST sp;
-
- regcache_cooked_read_unsigned (current_regcache,
- SPARC_SP_REGNUM, &sp);
- sparc_fill_rwindow (sp, regnum);
- }
-
- if (regnum != -1)
- return;
- }
-
- if (regnum == -1 || sparcbsd_fpreg_supplies_p (regnum))
- {
- struct fpreg fpregs;
-
- if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
- perror_with_name ("Couldn't get floating-point registers");
-
- sparcbsd_fill_fpreg ((char *) &fpregs, regnum);
-
- if (ptrace (PT_SETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
- perror_with_name ("Couldn't write floating-point registers");
-
- if (regnum != -1)
- return;
- }
-}
diff --git a/gdb/sparcnbsd-nat.c b/gdb/sparcnbsd-nat.c
index ef52746deae..9038ea334b6 100644
--- a/gdb/sparcnbsd-nat.c
+++ b/gdb/sparcnbsd-nat.c
@@ -1,6 +1,6 @@
-/* Native-dependent code for SPARC systems running NetBSD.
- Copyright 2002, 2003 Free Software Foundation, Inc.
- Contributed by Wasabi Systems, Inc.
+/* Native-dependent code for NetBSD/sparc.
+
+ Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -20,136 +20,15 @@
Boston, MA 02111-1307, USA. */
#include "defs.h"
-#include "inferior.h"
-#include "regcache.h"
#include "sparc-tdep.h"
-#include "sparcnbsd-tdep.h"
-
-#include <sys/types.h>
-#include <sys/ptrace.h>
-#include <machine/reg.h>
-
-/* NOTE: We don't bother with any of the deferred_store nonsense; it
- makes things a lot more complicated than they need to be. */
-
-/* Determine if PT_GETREGS fetches this register. */
-static int
-getregs_supplies (int regno)
-{
- return (regno == PS_REGNUM
- || regno == PC_REGNUM
- || regno == DEPRECATED_NPC_REGNUM
- || regno == Y_REGNUM
- || (regno >= G0_REGNUM && regno <= G7_REGNUM)
- || (regno >= O0_REGNUM && regno <= O7_REGNUM)
- /* stack regs (handled by sparcnbsd_supply_reg) */
- || (regno >= L0_REGNUM && regno <= I7_REGNUM));
-}
+#include "sparc-nat.h"
-/* Determine if PT_GETFPREGS fetches this register. */
-static int
-getfpregs_supplies (int regno)
-{
- return ((regno >= FP0_REGNUM && regno <= (FP0_REGNUM + 31))
- || regno == FPS_REGNUM);
-}
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_sparcnbsd_nat (void);
void
-fetch_inferior_registers (int regno)
+_initialize_sparcnbsd_nat (void)
{
- /* We don't use deferred stores. */
- if (deferred_stores)
- internal_error (__FILE__, __LINE__,
- "fetch_inferior_registers: deferred stores pending");
-
- if (regno == -1 || getregs_supplies (regno))
- {
- struct reg regs;
-
- if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &regs, 0) == -1)
- perror_with_name ("Couldn't get registers");
-
- sparcnbsd_supply_reg32 ((char *) &regs, regno);
- if (regno != -1)
- return;
- }
-
- if (regno == -1 || getfpregs_supplies (regno))
- {
- struct fpreg fpregs;
-
- if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
- perror_with_name ("Couldn't get floating point registers");
-
- sparcnbsd_supply_fpreg32 ((char *) &fpregs, regno);
- if (regno != -1)
- return;
- }
-}
-
-void
-store_inferior_registers (int regno)
-{
- /* We don't use deferred stores. */
- if (deferred_stores)
- internal_error (__FILE__, __LINE__,
- "store_inferior_registers: deferred stores pending");
-
- if (regno == -1 || getregs_supplies (regno))
- {
- struct reg regs;
-
- if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &regs, 0) == -1)
- perror_with_name ("Couldn't get registers");
-
- sparcnbsd_fill_reg32 ((char *) &regs, regno);
-
- if (ptrace (PT_SETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &regs, 0) == -1)
- perror_with_name ("Couldn't write registers");
-
- /* Deal with the stack regs. */
- if (regno == -1 || regno == SP_REGNUM
- || (regno >= L0_REGNUM && regno <= I7_REGNUM))
- {
- CORE_ADDR sp = read_register (SP_REGNUM);
- int i;
- char buf[4];
-
- for (i = L0_REGNUM; i <= I7_REGNUM; i++)
- {
- if (regno == -1 || regno == SP_REGNUM || regno == i)
- {
- regcache_collect (i, buf);
- target_write_memory (sp + ((i - L0_REGNUM) * 4),
- buf, sizeof (buf));
- }
- }
- }
-
- if (regno != -1)
- return;
- }
-
- if (regno == -1 || getfpregs_supplies (regno))
- {
- struct fpreg fpregs;
-
- if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
- perror_with_name ("Couldn't get floating point registers");
-
- sparcnbsd_fill_fpreg32 ((char *) &fpregs, regno);
-
- if (ptrace (PT_SETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
- perror_with_name ("Couldn't write floating point registers");
-
- if (regno != -1)
- return;
- }
+ sparc_gregset = &sparc32nbsd_gregset;
}
diff --git a/gdb/sparcnbsd-tdep.c b/gdb/sparcnbsd-tdep.c
index f2595074048..4ea39016aa5 100644
--- a/gdb/sparcnbsd-tdep.c
+++ b/gdb/sparcnbsd-tdep.c
@@ -1,5 +1,6 @@
-/* Target-dependent code for SPARC systems running NetBSD.
- Copyright 2002, 2003 Free Software Foundation, Inc.
+/* Target-dependent code for NetBSD/sparc.
+
+ Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GDB.
@@ -20,495 +21,258 @@
Boston, MA 02111-1307, USA. */
#include "defs.h"
+#include "floatformat.h"
+#include "frame.h"
+#include "frame-unwind.h"
#include "gdbcore.h"
-#include "regcache.h"
-#include "target.h"
-#include "value.h"
#include "osabi.h"
+#include "regcache.h"
+#include "regset.h"
+#include "solib-svr4.h"
+#include "symtab.h"
+#include "trad-frame.h"
+#include "gdb_assert.h"
#include "gdb_string.h"
#include "sparc-tdep.h"
-#include "sparcnbsd-tdep.h"
#include "nbsd-tdep.h"
-#include "solib-svr4.h"
-
-#define REG32_OFFSET_PSR (0 * 4)
-#define REG32_OFFSET_PC (1 * 4)
-#define REG32_OFFSET_NPC (2 * 4)
-#define REG32_OFFSET_Y (3 * 4)
-#define REG32_OFFSET_GLOBAL (4 * 4)
-#define REG32_OFFSET_OUT (12 * 4)
-
-#define REG64_OFFSET_TSTATE (0 * 8)
-#define REG64_OFFSET_PC (1 * 8)
-#define REG64_OFFSET_NPC (2 * 8)
-#define REG64_OFFSET_Y (3 * 8)
-#define REG64_OFFSET_GLOBAL (4 * 8)
-#define REG64_OFFSET_OUT (12 * 8)
-
-void
-sparcnbsd_supply_reg32 (char *regs, int regno)
+const struct sparc_gregset sparc32nbsd_gregset =
{
- int i;
-
- if (regno == PS_REGNUM || regno == -1)
- supply_register (PS_REGNUM, regs + REG32_OFFSET_PSR);
-
- if (regno == PC_REGNUM || regno == -1)
- supply_register (PC_REGNUM, regs + REG32_OFFSET_PC);
-
- if (regno == DEPRECATED_NPC_REGNUM || regno == -1)
- supply_register (DEPRECATED_NPC_REGNUM, regs + REG32_OFFSET_NPC);
-
- if (regno == Y_REGNUM || regno == -1)
- supply_register (Y_REGNUM, regs + REG32_OFFSET_Y);
-
- if ((regno >= G0_REGNUM && regno <= G7_REGNUM) || regno == -1)
- {
- if (regno == G0_REGNUM || regno == -1)
- supply_register (G0_REGNUM, NULL); /* %g0 is always zero */
- for (i = G1_REGNUM; i <= G7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- supply_register (i, regs + REG32_OFFSET_GLOBAL +
- ((i - G0_REGNUM) * 4));
- }
- }
-
- if ((regno >= O0_REGNUM && regno <= O7_REGNUM) || regno == -1)
- {
- for (i = O0_REGNUM; i <= O7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- supply_register (i, regs + REG32_OFFSET_OUT +
- ((i - O0_REGNUM) * 4));
- }
- }
-
- /* Inputs and Locals are stored onto the stack by by the kernel. */
- if ((regno >= L0_REGNUM && regno <= I7_REGNUM) || regno == -1)
- {
- CORE_ADDR sp = read_register (SP_REGNUM);
- char buf[4];
-
- for (i = L0_REGNUM; i <= I7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- {
- target_read_memory (sp + ((i - L0_REGNUM) * 4),
- buf, sizeof (buf));
- supply_register (i, buf);
- }
- }
- }
+ 0 * 4, /* %psr */
+ 1 * 4, /* %pc */
+ 2 * 4, /* %npc */
+ 3 * 4, /* %y */
+ -1, /* %wim */
+ -1, /* %tbr */
+ 5 * 4, /* %g1 */
+ -1 /* %l0 */
+};
- /* FIXME: If we don't set these valid, read_register_bytes() rereads
- all the regs every time it is called! */
- if (regno == WIM_REGNUM || regno == -1)
- supply_register (WIM_REGNUM, NULL);
- if (regno == TBR_REGNUM || regno == -1)
- supply_register (TBR_REGNUM, NULL);
- if (regno == CPS_REGNUM || regno == -1)
- supply_register (CPS_REGNUM, NULL);
-}
+/* Unlike other NetBSD implementations, the SPARC port historically
+ used .reg and .reg2 (see bfd/netbsd-core.c), and as such, we can
+ share one routine for a.out and ELF core files. */
-void
-sparcnbsd_supply_reg64 (char *regs, int regno)
+static void
+sparc32nbsd_supply_gregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *gregs, size_t len)
{
- int i;
- char buf[8];
-
- if (regno == TSTATE_REGNUM || regno == -1)
- supply_register (PS_REGNUM, regs + REG64_OFFSET_TSTATE);
-
- if (regno == PC_REGNUM || regno == -1)
- supply_register (PC_REGNUM, regs + REG64_OFFSET_PC);
-
- if (regno == DEPRECATED_NPC_REGNUM || regno == -1)
- supply_register (DEPRECATED_NPC_REGNUM, regs + REG64_OFFSET_NPC);
-
- if (regno == Y_REGNUM || regno == -1)
- {
- memset (buf, 0, sizeof (buf));
- memcpy (&buf[4], regs + REG64_OFFSET_Y, 4);
- supply_register (Y_REGNUM, buf);
- }
-
- if ((regno >= G0_REGNUM && regno <= G7_REGNUM) || regno == -1)
- {
- if (regno == G0_REGNUM || regno == -1)
- supply_register (G0_REGNUM, NULL); /* %g0 is always zero */
- for (i = G1_REGNUM; i <= G7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- supply_register (i, regs + REG64_OFFSET_GLOBAL +
- ((i - G0_REGNUM) * 8));
- }
- }
-
- if ((regno >= O0_REGNUM && regno <= O7_REGNUM) || regno == -1)
- {
- for (i = O0_REGNUM; i <= O7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- supply_register (i, regs + REG64_OFFSET_OUT +
- ((i - O0_REGNUM) * 8));
- }
- }
-
- /* Inputs and Locals are stored onto the stack by by the kernel. */
- if ((regno >= L0_REGNUM && regno <= I7_REGNUM) || regno == -1)
- {
- CORE_ADDR sp = read_register (SP_REGNUM);
- char buf[8];
-
- if (sp & 1)
- {
- /* Registers are 64-bit. */
- sp += 2047;
-
- for (i = L0_REGNUM; i <= I7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- {
- target_read_memory (sp + ((i - L0_REGNUM) * 8),
- buf, sizeof (buf));
- supply_register (i, buf);
- }
- }
- }
- else
- {
- /* Registers are 32-bit. Toss any sign-extension of the stack
- pointer, clear out the top half of the temporary buffer, and
- put the register value in the bottom half. */
-
- sp &= 0xffffffffUL;
- memset (buf, 0, sizeof (buf));
- for (i = L0_REGNUM; i <= I7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- {
- target_read_memory (sp + ((i - L0_REGNUM) * 4),
- &buf[4], sizeof (buf));
- supply_register (i, buf);
- }
- }
- }
- }
-
- /* FIXME: If we don't set these valid, read_register_bytes() rereads
- all the regs every time it is called! */
- if (regno == WIM_REGNUM || regno == -1)
- supply_register (WIM_REGNUM, NULL);
- if (regno == TBR_REGNUM || regno == -1)
- supply_register (TBR_REGNUM, NULL);
- if (regno == CPS_REGNUM || regno == -1)
- supply_register (CPS_REGNUM, NULL);
+ sparc32_supply_gregset (regset->descr, regcache, regnum, gregs);
}
-void
-sparcnbsd_fill_reg32 (char *regs, int regno)
+static void
+sparc32nbsd_supply_fpregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *fpregs, size_t len)
{
- int i;
-
- if (regno == PS_REGNUM || regno == -1)
- regcache_collect (PS_REGNUM, regs + REG32_OFFSET_PSR);
-
- if (regno == PC_REGNUM || regno == -1)
- regcache_collect (PC_REGNUM, regs + REG32_OFFSET_PC);
+ sparc32_supply_fpregset (regcache, regnum, fpregs);
+}
- if (regno == DEPRECATED_NPC_REGNUM || regno == -1)
- regcache_collect (DEPRECATED_NPC_REGNUM, regs + REG32_OFFSET_NPC);
+
+/* Signal trampolines. */
- if (regno == Y_REGNUM || regno == -1)
- regcache_collect (Y_REGNUM, regs + REG32_OFFSET_Y);
+/* The following variables describe the location of an on-stack signal
+ trampoline. The current values correspond to the memory layout for
+ NetBSD 1.3 and up. These shouldn't be necessary for NetBSD 2.0 and
+ up, since NetBSD uses signal trampolines provided by libc now. */
- if ((regno >= G0_REGNUM && regno <= G7_REGNUM) || regno == -1)
- {
- /* %g0 is always zero */
- for (i = G1_REGNUM; i <= G7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- regcache_collect (i, regs + REG32_OFFSET_GLOBAL +
- ((i - G0_REGNUM) * 4));
- }
- }
+static const CORE_ADDR sparc32nbsd_sigtramp_start = 0xeffffef0;
+static const CORE_ADDR sparc32nbsd_sigtramp_end = 0xeffffff0;
- if ((regno >= O0_REGNUM && regno <= O7_REGNUM) || regno == -1)
- {
- for (i = O0_REGNUM; i <= O7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- regcache_collect (i, regs + REG32_OFFSET_OUT +
- ((i - O0_REGNUM) * 4));
- }
- }
+static int
+sparc32nbsd_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+ if (pc >= sparc32nbsd_sigtramp_start && pc < sparc32nbsd_sigtramp_end)
+ return 1;
- /* Responsibility for the stack regs is pushed off onto the caller. */
+ return nbsd_pc_in_sigtramp (pc, name);
}
-void
-sparcnbsd_fill_reg64 (char *regs, int regno)
+static struct sparc_frame_cache *
+sparc32nbsd_sigcontext_frame_cache (struct frame_info *next_frame,
+ void **this_cache)
{
- int i;
-
- if (regno == TSTATE_REGNUM || regno == -1)
- regcache_collect (TSTATE_REGNUM, regs + REG64_OFFSET_TSTATE);
+ struct sparc_frame_cache *cache;
+ CORE_ADDR addr, sigcontext_addr;
+ LONGEST psr;
+ int regnum, delta;
- if (regno == PC_REGNUM || regno == -1)
- regcache_collect (PC_REGNUM, regs + REG64_OFFSET_PC);
+ if (*this_cache)
+ return *this_cache;
- if (regno == DEPRECATED_NPC_REGNUM || regno == -1)
- regcache_collect (DEPRECATED_NPC_REGNUM, regs + REG64_OFFSET_NPC);
+ cache = sparc_frame_cache (next_frame, this_cache);
+ gdb_assert (cache == *this_cache);
- if (regno == Y_REGNUM || regno == -1)
- regcache_collect (Y_REGNUM, regs + REG64_OFFSET_Y);
+ /* The registers are saved in bits and pieces scattered all over the
+ place. The code below records their location on the assumption
+ that the part of the signal trampoline that saves the state has
+ been executed. */
- if ((regno >= G0_REGNUM && regno <= G7_REGNUM) || regno == -1)
+ /* If we couldn't find the frame's function, we're probably dealing
+ with an on-stack signal trampoline. */
+ if (cache->pc == 0)
{
- /* %g0 is always zero */
- for (i = G1_REGNUM; i <= G7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- regcache_collect (i, regs + REG64_OFFSET_GLOBAL +
- ((i - G0_REGNUM) * 4));
- }
- }
+ cache->pc = sparc32nbsd_sigtramp_start;
- if ((regno >= O0_REGNUM && regno <= O7_REGNUM) || regno == -1)
- {
- for (i = O0_REGNUM; i <= O7_REGNUM; i++)
- {
- if (regno == i || regno == -1)
- regcache_collect (i, regs + REG64_OFFSET_OUT +
- ((i - O0_REGNUM) * 4));
- }
+ /* Since we couldn't find the frame's function, the cache was
+ initialized under the assumption that we're frameless. */
+ cache->frameless_p = 0;
+ addr = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM);
+ cache->base = addr;
}
- /* Responsibility for the stack regs is pushed off onto the caller. */
-}
-
-void
-sparcnbsd_supply_fpreg32 (char *fpregs, int regno)
-{
- int i;
-
- for (i = 0; i <= 31; i++)
+ cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+ /* We find the appropriate instance of `struct sigcontext' at a
+ fixed offset in the signal frame. */
+ sigcontext_addr = cache->base + 64 + 16;
+
+ cache->saved_regs[SPARC_SP_REGNUM].addr = sigcontext_addr + 8;
+ cache->saved_regs[SPARC32_PC_REGNUM].addr = sigcontext_addr + 12;
+ cache->saved_regs[SPARC32_NPC_REGNUM].addr = sigcontext_addr + 16;
+ cache->saved_regs[SPARC32_PSR_REGNUM].addr = sigcontext_addr + 20;
+ cache->saved_regs[SPARC_G1_REGNUM].addr = sigcontext_addr + 24;
+ cache->saved_regs[SPARC_O0_REGNUM].addr = sigcontext_addr + 28;
+
+ /* The remaining `global' registers and %y are saved in the `local'
+ registers. */
+ delta = SPARC_L0_REGNUM - SPARC_G0_REGNUM;
+ for (regnum = SPARC_G2_REGNUM; regnum <= SPARC_G7_REGNUM; regnum++)
+ cache->saved_regs[regnum].realreg = regnum + delta;
+ cache->saved_regs[SPARC32_Y_REGNUM].realreg = SPARC_L1_REGNUM;
+
+ /* The remaining `out' registers can be found in the current frame's
+ `in' registers. */
+ delta = SPARC_I0_REGNUM - SPARC_O0_REGNUM;
+ for (regnum = SPARC_O1_REGNUM; regnum <= SPARC_O5_REGNUM; regnum++)
+ cache->saved_regs[regnum].realreg = regnum + delta;
+ cache->saved_regs[SPARC_O7_REGNUM].realreg = SPARC_I7_REGNUM;
+
+ /* The `local' and `in' registers have been saved in the register
+ save area. */
+ addr = cache->saved_regs[SPARC_SP_REGNUM].addr;
+ addr = get_frame_memory_unsigned (next_frame, addr, 4);
+ for (regnum = SPARC_L0_REGNUM;
+ regnum <= SPARC_I7_REGNUM; regnum++, addr += 4)
+ cache->saved_regs[regnum].addr = addr;
+
+ /* The floating-point registers are only saved if the EF bit in %prs
+ has been set. */
+
+#define PSR_EF 0x00001000
+
+ addr = cache->saved_regs[SPARC32_PSR_REGNUM].addr;
+ psr = get_frame_memory_unsigned (next_frame, addr, 4);
+ if (psr & PSR_EF)
{
- if (regno == (FP0_REGNUM + i) || regno == -1)
- supply_register (FP0_REGNUM + i, fpregs + (i * 4));
+ CORE_ADDR sp;
+
+ sp = frame_unwind_register_unsigned (next_frame, SPARC_SP_REGNUM);
+ cache->saved_regs[SPARC32_FSR_REGNUM].addr = sp + 96;
+ for (regnum = SPARC_F0_REGNUM, addr = sp + 96 + 8;
+ regnum <= SPARC_F31_REGNUM; regnum++, addr += 4)
+ cache->saved_regs[regnum].addr = addr;
}
- if (regno == FPS_REGNUM || regno == -1)
- supply_register (FPS_REGNUM, fpregs + (32 * 4));
+ return cache;
}
-void
-sparcnbsd_supply_fpreg64 (char *fpregs, int regno)
+static void
+sparc32nbsd_sigcontext_frame_this_id (struct frame_info *next_frame,
+ void **this_cache,
+ struct frame_id *this_id)
{
- int i;
-
- for (i = 0; i <= 31; i++)
- {
- if (regno == (FP0_REGNUM + i) || regno == -1)
- supply_register (FP0_REGNUM + i, fpregs + (i * 4));
- }
+ struct sparc_frame_cache *cache =
+ sparc32nbsd_sigcontext_frame_cache (next_frame, this_cache);
- for (; i <= 47; i++)
- {
- if (regno == (FP0_REGNUM + i) || regno == -1)
- supply_register (FP0_REGNUM + i, fpregs + (32 * 4) + (i * 8));
- }
-
- if (regno == FPS_REGNUM || regno == -1)
- supply_register (FPS_REGNUM, fpregs + (32 * 4) + (16 * 8));
-
- /* XXX %gsr */
+ (*this_id) = frame_id_build (cache->base, cache->pc);
}
-void
-sparcnbsd_fill_fpreg32 (char *fpregs, int regno)
+static void
+sparc32nbsd_sigcontext_frame_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp,
+ CORE_ADDR *addrp,
+ int *realnump, void *valuep)
{
- int i;
-
- for (i = 0; i <= 31; i++)
- {
- if (regno == (FP0_REGNUM + i) || regno == -1)
- regcache_collect (FP0_REGNUM + i, fpregs + (i * 4));
- }
+ struct sparc_frame_cache *cache =
+ sparc32nbsd_sigcontext_frame_cache (next_frame, this_cache);
- if (regno == FPS_REGNUM || regno == -1)
- regcache_collect (FPS_REGNUM, fpregs + (32 * 4));
+ trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
}
-void
-sparcnbsd_fill_fpreg64 (char *fpregs, int regno)
+static const struct frame_unwind sparc32nbsd_sigcontext_frame_unwind =
{
- int i;
-
- for (i = 0; i <= 31; i++)
- {
- if (regno == (FP0_REGNUM + i) || regno == -1)
- regcache_collect (FP0_REGNUM + i, fpregs + (i * 4));
- }
-
- for (; i <= 47; i++)
- {
- if (regno == (FP0_REGNUM + i) || regno == -1)
- regcache_collect (FP0_REGNUM + i, fpregs + (32 * 4) + (i * 8));
- }
-
- if (regno == FPS_REGNUM || regno == -1)
- regcache_collect (FPS_REGNUM, fpregs + (32 * 4) + (16 * 8));
-
- /* XXX %gsr */
-}
+ SIGTRAMP_FRAME,
+ sparc32nbsd_sigcontext_frame_this_id,
+ sparc32nbsd_sigcontext_frame_prev_register
+};
-/* Unlike other NetBSD implementations, the SPARC port historically used
- .reg and .reg2 (see bfd/netbsd-core.c), and as such, we can share one
- routine for a.out and ELF core files. */
-static void
-fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which,
- CORE_ADDR ignore)
+static const struct frame_unwind *
+sparc32nbsd_sigtramp_frame_sniffer (struct frame_info *next_frame)
{
- int reg_size, fpreg_size;
+ CORE_ADDR pc = frame_pc_unwind (next_frame);
+ char *name;
- if (gdbarch_ptr_bit (current_gdbarch) == 32)
- {
- reg_size = (20 * 4);
- fpreg_size = (33 * 4);
- }
- else
+ find_pc_partial_function (pc, &name, NULL, NULL);
+ if (sparc32nbsd_pc_in_sigtramp (pc, name))
{
- reg_size = (20 * 8);
- fpreg_size = (64 * 4)
- + 8 /* fsr */
- + 4 /* gsr */
- + 4; /* pad */
+ if (name == NULL || strncmp (name, "__sigtramp_sigcontext", 21))
+ return &sparc32nbsd_sigcontext_frame_unwind;
}
- switch (which)
- {
- case 0: /* Integer registers */
- if (core_reg_size != reg_size)
- warning ("Wrong size register set in core file.");
- else if (gdbarch_ptr_bit (current_gdbarch) == 32)
- sparcnbsd_supply_reg32 (core_reg_sect, -1);
- else
- sparcnbsd_supply_reg64 (core_reg_sect, -1);
- break;
-
- case 2: /* Floating pointer registers */
- if (core_reg_size != fpreg_size)
- warning ("Wrong size FP register set in core file.");
- else if (gdbarch_ptr_bit (current_gdbarch) == 32)
- sparcnbsd_supply_fpreg32 (core_reg_sect, -1);
- else
- sparcnbsd_supply_fpreg64 (core_reg_sect, -1);
- break;
-
- default:
- /* Don't know what kind of register request this is; just ignore it. */
- break;
- }
+ return NULL;
}
+
-static struct core_fns sparcnbsd_core_fns =
-{
- bfd_target_unknown_flavour, /* core_flavour */
- default_check_format, /* check_format */
- default_core_sniffer, /* core_sniffer */
- fetch_core_registers, /* core_read_registers */
- NULL
-};
-
-static struct core_fns sparcnbsd_elfcore_fns =
-{
- bfd_target_elf_flavour, /* core_flavour */
- default_check_format, /* check_format */
- default_core_sniffer, /* core_sniffer */
- fetch_core_registers, /* core_read_registers */
- NULL
-};
-
-/* FIXME: Need PC_IN_SIGTRAMP() support, but NetBSD/sparc signal trampolines
- aren't easily identified. */
+/* Return non-zero if we are in a shared library trampoline code stub. */
static int
-sparcnbsd_get_longjmp_target_32 (CORE_ADDR *pc)
+sparcnbsd_aout_in_solib_call_trampoline (CORE_ADDR pc, char *name)
{
- CORE_ADDR jb_addr;
- char buf[4];
-
- jb_addr = read_register (O0_REGNUM);
-
- if (target_read_memory (jb_addr + 12, buf, sizeof (buf)))
- return 0;
-
- *pc = extract_unsigned_integer (buf, sizeof (buf));
-
- return 1;
+ return (name && !strcmp (name, "_DYNAMIC"));
}
-static int
-sparcnbsd_get_longjmp_target_64 (CORE_ADDR *pc)
+static void
+sparc32nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
- CORE_ADDR jb_addr;
- char buf[8];
-
- jb_addr = read_register (O0_REGNUM);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- if (target_read_memory (jb_addr + 16, buf, sizeof (buf)))
- return 0;
+ /* NetBSD doesn't support the 128-bit `long double' from the psABI. */
+ set_gdbarch_long_double_bit (gdbarch, 64);
+ set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_double_big);
- *pc = extract_unsigned_integer (buf, sizeof (buf));
-
- return 1;
-}
+ tdep->gregset = XMALLOC (struct regset);
+ tdep->gregset->descr = &sparc32nbsd_gregset;
+ tdep->gregset->supply_regset = sparc32nbsd_supply_gregset;
-static int
-sparcnbsd_aout_in_solib_call_trampoline (CORE_ADDR pc, char *name)
-{
- if (strcmp (name, "_DYNAMIC") == 0)
- return 1;
+ tdep->fpregset = XMALLOC (struct regset);
+ tdep->fpregset->supply_regset = sparc32nbsd_supply_fpregset;
- return 0;
+ set_gdbarch_pc_in_sigtramp (gdbarch, sparc32nbsd_pc_in_sigtramp);
+ frame_unwind_append_sniffer (gdbarch, sparc32nbsd_sigtramp_frame_sniffer);
}
static void
-sparcnbsd_init_abi_common (struct gdbarch_info info,
- struct gdbarch *gdbarch)
+sparc32nbsd_aout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
- set_gdbarch_get_longjmp_target (gdbarch, gdbarch_ptr_bit (gdbarch) == 32 ?
- sparcnbsd_get_longjmp_target_32 :
- sparcnbsd_get_longjmp_target_64);
-}
-
-static void
-sparcnbsd_init_abi_aout (struct gdbarch_info info,
- struct gdbarch *gdbarch)
-{
- sparcnbsd_init_abi_common (info, gdbarch);
+ sparc32nbsd_init_abi (info, gdbarch);
- set_gdbarch_in_solib_call_trampoline (gdbarch,
- sparcnbsd_aout_in_solib_call_trampoline);
+ set_gdbarch_in_solib_call_trampoline
+ (gdbarch, sparcnbsd_aout_in_solib_call_trampoline);
}
static void
-sparcnbsd_init_abi_elf (struct gdbarch_info info,
- struct gdbarch *gdbarch)
+sparc32nbsd_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
- sparcnbsd_init_abi_common (info, gdbarch);
+ sparc32nbsd_init_abi (info, gdbarch);
- set_gdbarch_pc_in_sigtramp (gdbarch, nbsd_pc_in_sigtramp);
-
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- gdbarch_ptr_bit (gdbarch) == 32 ?
- nbsd_ilp32_solib_svr4_fetch_link_map_offsets :
- nbsd_lp64_solib_svr4_fetch_link_map_offsets);
+ set_solib_svr4_fetch_link_map_offsets
+ (gdbarch, nbsd_ilp32_solib_svr4_fetch_link_map_offsets);
}
static enum gdb_osabi
@@ -520,6 +284,10 @@ sparcnbsd_aout_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_sparcnbsd_tdep (void);
+
void
_initialize_sparnbsd_tdep (void)
{
@@ -527,10 +295,7 @@ _initialize_sparnbsd_tdep (void)
sparcnbsd_aout_osabi_sniffer);
gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_NETBSD_AOUT,
- sparcnbsd_init_abi_aout);
+ sparc32nbsd_aout_init_abi);
gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_NETBSD_ELF,
- sparcnbsd_init_abi_elf);
-
- add_core_fns (&sparcnbsd_core_fns);
- add_core_fns (&sparcnbsd_elfcore_fns);
+ sparc32nbsd_elf_init_abi);
}
diff --git a/gdb/sparcnbsd-tdep.h b/gdb/sparcnbsd-tdep.h
deleted file mode 100644
index bad2d653c8e..00000000000
--- a/gdb/sparcnbsd-tdep.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Common target dependent code for GDB on SPARC systems running NetBSD.
- Copyright 2002 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef SPARCNBSD_TDEP_H
-#define SPARCNBSD_TDEP_H
-
-void sparcnbsd_supply_reg32 (char *, int);
-void sparcnbsd_supply_reg64 (char *, int);
-void sparcnbsd_fill_reg32 (char *, int);
-void sparcnbsd_fill_reg64 (char *, int);
-
-void sparcnbsd_supply_fpreg32 (char *, int);
-void sparcnbsd_supply_fpreg64 (char *, int);
-void sparcnbsd_fill_fpreg32 (char *, int);
-void sparcnbsd_fill_fpreg64 (char *, int);
-
-#endif /* SPARCNBSD_TDEP_H */
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index 5b9dba7a4fb..948cf0eb85b 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -1118,13 +1118,8 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
if (local_symbols
&& local_symbols->nsyms > 0
-#ifndef DEPRECATED_USE_REGISTER_NOT_ARG
- /* DEPRECATED_USE_REGISTER_NOT_ARG is only defined by
- the SPARC. */
&& gdbarch_stabs_argument_has_addr (current_gdbarch,
- SYMBOL_TYPE (sym))
-#endif
- )
+ SYMBOL_TYPE (sym)))
{
struct symbol *prev_sym;
prev_sym = local_symbols->symbol[local_symbols->nsyms - 1];
diff --git a/gdb/stack.c b/gdb/stack.c
index a2b331f029e..73a6ec52e33 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -1,8 +1,8 @@
/* Print and select stack frames for GDB, the GNU debugger.
Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
- 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software
- Foundation, Inc.
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free
+ Software Foundation, Inc.
This file is part of GDB.
@@ -968,10 +968,6 @@ frame_info (char *addr_exp, int from_tty)
printf_filtered (" source language %s.\n",
language_str (s->language));
-#ifdef DEPRECATED_PRINT_EXTRA_FRAME_INFO
- DEPRECATED_PRINT_EXTRA_FRAME_INFO (fi);
-#endif
-
{
/* Address of the argument list for this frame, or 0. */
CORE_ADDR arg_list = get_frame_args_address (fi);
diff --git a/gdb/target.c b/gdb/target.c
index 4c12bda3f8a..cc3b747d4b8 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -709,8 +709,6 @@ unpush_target (struct target_ops *t)
struct target_ops **cur;
struct target_ops *tmp;
- target_close (t, 0);
-
/* Look for the specified target. Note that we assume that a target
can only occur once in the target stack. */
@@ -723,6 +721,14 @@ unpush_target (struct target_ops *t)
if ((*cur) == NULL)
return 0; /* Didn't find target_ops, quit now */
+ /* NOTE: cagney/2003-12-06: In '94 the close call was made
+ unconditional by moving it to before the above check that the
+ target was in the target stack (something about "Change the way
+ pushing and popping of targets work to support target overlays
+ and inheritance"). This doesn't make much sense - only open
+ targets should be closed. */
+ target_close (t, 0);
+
/* Unchain the target */
tmp = (*cur);
(*cur) = (*cur)->beneath;
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index aac4e5d56eb..fec3158f252 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,264 @@
+2004-01-12 Elena Zannoni <ezannoni@redhat.com>
+
+ * gdb.base/sepdebug.exp: New file.
+ * gdb.base/sepdebug.c: New file.
+ * lib/gdb.exp (separate_debug_filename): New procedure.
+ (gdb_gnu_strip_debug): New procedure.
+
+2004-01-12 Andrew Cagney <cagney@redhat.com>
+
+ * gdb.mi/ChangeLog: Delete file. Renamed to ...
+ * gdb.mi/ChangeLog-1999-2003: New file.
+
+2004-01-12 Andrew Cagney <cagney@redhat.com>
+
+ * gdb.base/fileio.exp: Update copyright year. On GNU/Linux, for
+ "Renaming a directory to a non-empty directory returns ENOTEMPTY
+ or EEXIST", treat EBUSY as an XFAIL.
+
+2004-01-11 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.base/scope.exp: Remove obsolete setup_xfail for
+ hp_cc_compiler.
+
+2004-01-10 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/classes.exp: Remove old "(obsolescent gcc or gdb)"
+ decorations.
+
+2004-01-10 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/virtfunc.exp: Remove old "(obsolescent gcc or gdb)"
+ and "(aCC)" decorations. Remove obsolete doco about old
+ test results.
+
+2004-01-09 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/exception.exp: Fix typo in doco.
+
+2004-01-09 Mark Kettenis <kettenis@gnu.org>
+
+ * gdb.base/gdb1476.exp: Fix typo.
+
+2004-01-09 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.hp/gdb.aCC/exception.exp: Re-create as a nearly empty
+ file.
+
+2004-01-09 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/exception.cc: Change <iostream.h> to <iostream>.
+ * gdb.cp/exception.exp: Use gdb test, gdb_test_multiple.
+ Use gdb_compile. Remove restriction on gcc. Add some patterns
+ for recent version of gdb. Delete second half, which was a copy
+ of the first half with different build flags. This test is
+ still disabled because it is still not ready for production.
+
+2004-01-08 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/exception.cc: Add copyright notice.
+ * gdb.cp/exception.exp: Add a notice that this file is broken
+ because of line number changes caused by addition of copyright
+ notice.
+
+2004-01-08 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/exception.cc: Renamed from gdb.hp/gdb.aCC/exception.cc.
+ * gdb.cp/exception.exp: Renamed from gdb.hp/gdb.aCC/exception.exp.
+
+2004-01-08 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/classes.exp: Accept gnu abi 2.
+ * gdb.cp/derivation.exp: Likewise.
+ * gdb.cp/overload.exp: Likewise.
+ * gdb.cp/virtfunc.exp: Likewise.
+
+2004-01-08 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.mi/pthreads.c (done_making_threads): Remove extraneous
+ semicolon after end of function.
+
+2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/bs15503.cc: Include <iostream>, not <iostream.h>.
+ * gdb.cp/bs15503.exp: Remove hp-only restriction. Use modern
+ boilerplate code for compiling and running the program under
+ test. Add some string method tests.
+
+2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/bs15503.cc: Add copyright notice.
+ * gdb.cp/bs15503.exp: Adjust line number.
+
+2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.hp/gdb.defects/bs15503.exp: Renamed to gdb.cp/bs15503.exp.
+ * gdb.hp/gdb.defects/bs15503.cc: Renamed to gdb.cp/bs15503.cc.
+
+2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.base/funcargs.exp: Remove obsolete setup_xfail for
+ hp_cc_compiler.
+
+2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/cttiadd.c: Add a marker for gdb_get_line_number.
+ * gdb.cp/ctti.exp: Use the marker instead of "next".
+ With gcc, run further before bailing.
+
+2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/cttiadd.cc: Add copyright notice.
+ * gdb.cp/cttiadd1.cc: Likewise.
+ * gdb.cp/cttiadd2.cc: Likewise.
+ * gdb.cp/cttiadd3.cc: Likewise.
+
+2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/ctti.exp: Partial rewrite. Call gdb_compile properly.
+ Use gdb_test, gdb_test_multiple. Use floating-point values that
+ have exact representations in IEEE-ish formats.
+
+2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.base/constvars.exp: Do not force lang=c++ if using HP
+ compilers. Delete duplicate call to get_compiler_info.
+ (local_compiler_xfail_check): setup_xfail if $hp_cc_compiler.
+ * gdb.base/volatile.exp: Likewise.
+
+2004-01-07 Mark Kettenis <kettenis@gnu.org>
+
+ * gdb.base/gdb1476.exp: Only run the tests if we can't read the
+ memory at address 0.
+
+2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.stabs/weird.exp: Use hp_cc_compiler and hp_aCC_compiler
+ to test for hp-ux assembler. Fix copyright years.
+
+2004-01-07 Andrew Cagney <cagney@redhat.com>
+
+ * gdb.base/fileio.c (strerrno): Add "EBUSY".
+
+2004-01-07 Andrew Cagney <cagney@redhat.com>
+
+ * gdb.base/fileio.c (test_open): Do not pass S_IWUSR to "open"
+ when creating the read-only file. From analysis by Roland McGrath
+ and Elena Zannoni.
+
+2004-01-06 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/namespace.exp: Call get_compiler_info with "c++".
+
+2004-01-06 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.base/cvexpr.c: Be type-safe with function pointers and
+ data pointers.
+
+2004-01-06 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/m-static.exp: Compile one source file at a time.
+ Delete unused call to get_compiler_info.
+
+2004-01-06 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.base/call-ar-st.exp: Delete explicit reference to ${binfile}.ci.
+ * gdb.base/call-rt-st.exp: Likewise.
+ * gdb.base/nodebug.exp: Likewise.
+ * gdb.base/volatile.exp: Likewise.
+ * gdb.cp/ref-types.exp: Likewise.
+ * gdb.cp/templates.exp: Likewise.
+
+2004-01-05 Mark Kettenis <kettenis@gnu.org>
+
+ * gdb.base/gdb1476.exp, gdb.base/gdb1476.c: New files.
+
+2004-01-05 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/funcargs.exp: Delete special timeout of 240 seconds for
+ hppa*-hp-hpux*.
+
+2004-01-04 Mark Kettenis <kettenis@gnu.org>
+
+ * gdb.base/structs.exp: Add patterns to kfail PR gdb/1447 for
+ x86_64-*-*.
+
+ * gdb.base/structs.exp: Add patterns to kfail PR gdb/1447 for
+ sparc64-*-* and sparc*-solaris2*.
+
+2004-01-04 Mark Kettenis <kettenis@gnu.org>
+
+ * gdb.base/structs.exp: Remove ${testfile} from "zed L<n> for
+ return ${tests}" test. The ${tests} already mentions the
+ filename.
+
+2004-01-02 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/local.exp: Accept gcc abi 2.
+
+2004-01-02 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/templates.exp: Accept gcc abi 2.
+
+2004-01-02 Michael Chastain <mec.gnu@mindspring.com>
+
+ * lib/compiler.cc: Remove supports_template_debugging.
+ * gdb.cp/templates.exp: Do not test supports_template_debugging.
+
+2004-01-01 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/namespace.exp: Accept gcc abi 2.
+
+2004-01-01 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/method.exp: Accept gcc abi 2.
+
+2004-01-01 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/classes.exp: Generate identical results as old version.
+ * gdb.cp/derivation.exp: Likewise.
+ * gdb.cp/overload.exp: Likewise.
+ * gdb.cp/virtfunc.exp: Likewise.
+
+2004-01-01 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/virtfunc.exp: Modify some patterns to avoid a
+ mysterious bug with sourceware version of expect.
+
+2004-01-01 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/overload.exp: Rewrite. Clean up patterns to match
+ current versions of gcc, including gcc abi 2. Remove gratuitous
+ restart of test program. Use gdb_test_multiple and gdb_test for
+ all tests. Add patterns to xfail missing "const" in "const char *"
+ and kfail PR gdb/1155.
+
+2004-01-01 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/derivation.exp: Rewrite. Clean up patterns to match
+ current versions of gcc, including gcc abi 2. Remove gratuitous
+ restart of test program. Use gdb_test_multiple and gdb_test for
+ all tests. Add patterns to kfail PR gdb/1498.
+
+2003-12-31 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/virtfunc.exp: Rewrite. Clean up patterns to match
+ current versions of gcc, including gcc abi 2. Use "breakpoint"
+ and "continue" instead of restarting the target program. Use
+ gdb_test_multiple and gdb_test for all tests.
+
+2004-01-01 Mark Kettenis <kettenis@gnu.org>
+
+ * gdb.asm/asm-source.exp: Update copyright year. Link statically
+ for *-*-solaris2*.
+
+2003-12-31 Michael Chastain <mec.gnu@mindspring.com>
+
+ * gdb.cp/classes.exp: Rewrite. Clean up patterns to match
+ current versions of gcc, including gcc abi 2. Use "breakpoint"
+ and "continue" instead of restarting the target program several
+ times. Use gdb_test_multiple and gdb_test for all tests.
+
2003-12-18 Michael Chastain <mec.gnu@mindspring.com>
* gdb.base/sect-cmd.exp: Handle compiling test case from multiple
@@ -11027,6 +11288,8 @@ Sun Feb 21 10:55:55 1993 Mike Werner (mtw@poseidon.cygnus.com)
of dejagnu. The modifications to these testcases, etc., which
will allow them to work with the new version of dejagnu will be
made in a future update.
+
+For additional changes see gdb.mi/ChangeLog-1999-2003.
Local Variables:
mode: change-log
diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp
index e41bfec1a4d..301b778a0e9 100644
--- a/gdb/testsuite/gdb.asm/asm-source.exp
+++ b/gdb/testsuite/gdb.asm/asm-source.exp
@@ -1,4 +1,4 @@
-# Copyright 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1998, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -118,13 +118,17 @@ if { "${asm-arch}" == "" } {
gdb_suppress_entire_file "Assembly source test -- not implemented for this target."
}
-# On FreeBSD and NetBSD, crt1.o the final link will fail because of
+# On FreeBSD and NetBSD, the final link will fail because of
# unresolved symbols. It turns out that libc.so references symbols
# that are normally provided by crt1.o, which isn't linked in since we
# specify -nostartfiles. Using -nostdlib doesn't help since
# target_compile automatically adds -lm. Linking statically avoids
# this mess.
-if {[istarget "*-*-freebsd*"] || [istarget "*-*-netbsd*"]} then {
+#
+# On Solaris, linking dynamically results in a binary that dumps core.
+#
+if {[istarget "*-*-freebsd*"] || [istarget "*-*-netbsd*"]
+ || [istarget "*-*-solaris2*"]} then {
append link-flags " -static"
}
diff --git a/gdb/testsuite/gdb.base/call-ar-st.exp b/gdb/testsuite/gdb.base/call-ar-st.exp
index a7ea5cf56aa..1431bc56f8f 100644
--- a/gdb/testsuite/gdb.base/call-ar-st.exp
+++ b/gdb/testsuite/gdb.base/call-ar-st.exp
@@ -1,4 +1,4 @@
-# Copyright 1998, 1999, 2000, 2001
+# Copyright 1998, 1999, 2000, 2001, 2004
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -89,8 +89,6 @@ proc set_lang_c {} {
}
}
-source ${binfile}.ci
-
# Start with a fresh gdb.
gdb_exit
diff --git a/gdb/testsuite/gdb.base/call-rt-st.exp b/gdb/testsuite/gdb.base/call-rt-st.exp
index 39242fd5b9f..4a912fcdc29 100644
--- a/gdb/testsuite/gdb.base/call-rt-st.exp
+++ b/gdb/testsuite/gdb.base/call-rt-st.exp
@@ -1,4 +1,5 @@
-# Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -91,11 +92,6 @@ proc set_lang_c {} {
}
}
-
-
-source ${binfile}.ci
-
-
# Start with a fresh gdb.
gdb_exit
diff --git a/gdb/testsuite/gdb.base/constvars.exp b/gdb/testsuite/gdb.base/constvars.exp
index 9008624a936..68732867d50 100644
--- a/gdb/testsuite/gdb.base/constvars.exp
+++ b/gdb/testsuite/gdb.base/constvars.exp
@@ -1,4 +1,4 @@
-# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -48,23 +48,10 @@ if [get_compiler_info ${binfile}] {
return -1;
}
-if {$hp_aCC_compiler || $hp_cc_compiler} {
- set lang "c++"
-} else {
- set lang ""
-}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [concat debug $lang]] != "" } {
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable debug ] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
-# Create and source the file that provides information about the compiler
-# used to compile the test case.
-
-if [get_compiler_info ${binfile}] {
- return -1;
-}
-
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
@@ -88,6 +75,11 @@ proc local_compiler_xfail_check { } {
setup_xfail "*-*-*"
}
}
+
+ global hp_cc_compiler
+ if { $hp_cc_compiler } {
+ setup_xfail "hppa*-*-hpux*"
+ }
}
send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
diff --git a/gdb/testsuite/gdb.base/cvexpr.c b/gdb/testsuite/gdb.base/cvexpr.c
index 587120928e4..afbcd3172c3 100644
--- a/gdb/testsuite/gdb.base/cvexpr.c
+++ b/gdb/testsuite/gdb.base/cvexpr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -409,26 +409,26 @@ int main ()
use (&v_boolean2);
use (&v_misordered);
- use (v_char_func);
- use (v_signed_char_func);
- use (v_unsigned_char_func);
+ use (&v_char_func);
+ use (&v_signed_char_func);
+ use (&v_unsigned_char_func);
- use (v_short_func);
- use (v_signed_short_func);
- use (v_unsigned_short_func);
+ use (&v_short_func);
+ use (&v_signed_short_func);
+ use (&v_unsigned_short_func);
- use (v_int_func);
- use (v_signed_int_func);
- use (v_unsigned_int_func);
+ use (&v_int_func);
+ use (&v_signed_int_func);
+ use (&v_unsigned_int_func);
- use (v_long_func);
- use (v_signed_long_func);
- use (v_unsigned_long_func);
+ use (&v_long_func);
+ use (&v_signed_long_func);
+ use (&v_unsigned_long_func);
- use (v_long_long_func);
- use (v_signed_long_long_func);
- use (v_unsigned_long_long_func);
+ use (&v_long_long_func);
+ use (&v_signed_long_long_func);
+ use (&v_unsigned_long_long_func);
- use (v_float_func);
- use (v_double_func);
+ use (&v_float_func);
+ use (&v_double_func);
}
diff --git a/gdb/testsuite/gdb.base/fileio.c b/gdb/testsuite/gdb.base/fileio.c
index 591b3b67588..4fda0fd80a3 100644
--- a/gdb/testsuite/gdb.base/fileio.c
+++ b/gdb/testsuite/gdb.base/fileio.c
@@ -103,7 +103,7 @@ test_open ()
close (ret);
/* Open for write but no write permission */
errno = 0;
- ret = open (NOWRITE, O_CREAT | O_RDONLY, S_IRUSR | S_IWUSR);
+ ret = open (NOWRITE, O_CREAT | O_RDONLY, S_IRUSR);
if (ret >= 0)
{
close (ret);
@@ -479,6 +479,9 @@ strerrno (int err)
#ifdef ENOTEMPTY
case ENOTEMPTY: return "ENOTEMPTY";
#endif
+#ifdef EBUSY
+ case EBUSY: return "EBUSY";
+#endif
default: return "E??";
}
}
diff --git a/gdb/testsuite/gdb.base/fileio.exp b/gdb/testsuite/gdb.base/fileio.exp
index 128cbb608f4..80dc6186957 100644
--- a/gdb/testsuite/gdb.base/fileio.exp
+++ b/gdb/testsuite/gdb.base/fileio.exp
@@ -1,4 +1,4 @@
-# Copyright 2002, 2003
+# Copyright 2002, 2003, 2004
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -216,9 +216,19 @@ gdb_test continue \
"Renaming a file to existing directory returns EISDIR"
send_gdb "tbreak 388\n" ; gdb_expect -re "$gdb_prompt $"
-gdb_test continue \
- "Continuing\\..*rename 3:.*(ENOTEMPTY|EEXIST).*test_rename \\(\\) at.*$srcfile:388.*" \
-"Renaming a directory to a non-empty directory returns ENOTEMPTY or EEXIST"
+set test "Renaming a directory to a non-empty directory returns ENOTEMPTY or EEXIST"
+gdb_test_multiple continue "${test}" {
+ -re "Continuing\\..*rename 3:.*(ENOTEMPTY|EEXIST).*test_rename \\(\\) at.*$srcfile:388.*" {
+ pass "${test}"
+ }
+ -re "Continuing\\..*rename 3:.*EBUSY.*test_rename \\(\\) at.*$srcfile:388.*" {
+ # At least version <= 2.6/2004-01-08 of the Linux Kernel gets
+ # this wrong (reporting EBUSY) when the file system is NFS
+ # mounted.
+ setup_xfail *-*-*linux* gdb/1502
+ fail "${test}"
+ }
+}
send_gdb "tbreak 393\n" ; gdb_expect -re "$gdb_prompt $"
gdb_test continue \
diff --git a/gdb/testsuite/gdb.base/funcargs.exp b/gdb/testsuite/gdb.base/funcargs.exp
index 38949f1599c..f3284c01b95 100644
--- a/gdb/testsuite/gdb.base/funcargs.exp
+++ b/gdb/testsuite/gdb.base/funcargs.exp
@@ -1,5 +1,5 @@
-# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003,
+# 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -162,7 +162,6 @@ proc float_and_integral_args {} {
global gdb_prompt
global det_file
global gcc_compiled
- global hp_cc_compiler
delete_breakpoints
@@ -178,8 +177,6 @@ proc float_and_integral_args {} {
# Run; should stop at call2a and print actual arguments.
if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "mips-sgi-irix5*" }
- # The debug info. for "f" is not correct. It's a known bug.
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
gdb_run_cmd
gdb_expect {
-re ".* call2a \\(c=97 'a', f1=4, s=1, d1=5, i=2, f2=4, l=3, d2=5\\) .*$gdb_prompt $" { pass "run to call2a" }
@@ -190,55 +187,46 @@ proc float_and_integral_args {} {
# Print each arg as a double check to see if we can print
gdb_test "print c" ".* = 97 'a'" "print c after run to call2a"
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
gdb_test "print f1" ".* = 4" "print f1 after run to call2a"
gdb_test "print s" ".* = 1" "print s after run to call2a"
gdb_test "print d1" ".* = 5" "print d1 after run to call2a"
gdb_test "print i" ".* = 2" "print i after run to call2a"
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
gdb_test "print f2" ".* = 4" "print f2 after run to call2a"
gdb_test "print l" ".* = 3" "print l after run to call2a"
gdb_test "print d2" ".* = 5" "print d2 after run to call2a"
setup_xfail "rs6000-*-*"
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" }
# Continue; should stop at call2b and print actual arguments.
if [gdb_test "cont" ".* call2b \\(f1=4, s=1, d1=5, i=2, f2=4, l=3, d2=5, c=97 'a'\\) .*" "continue to call2b"] {
gdb_suppress_tests;
}
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
# Continue; should stop at call2c and print actual arguments.
if [gdb_test "cont" ".* call2c \\(s=1, d1=5, i=2, f2=4, l=3, d2=5, c=97 'a', f1=4\\) .*" "continue to call2c"] {
gdb_suppress_tests;
}
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
# Continue; should stop at call2d and print actual arguments.
if [gdb_test "cont" ".* call2d \\(d1=5, i=2, f2=4, l=3, d2=5, c=97 'a', f1=4, s=1\\) .*" "continue to call2d"] {
gdb_suppress_tests;
}
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
# Continue; should stop at call2e and print actual arguments.
if [gdb_test "cont" ".* call2e \\(i=2, f2=4, l=3, d2=5, c=97 'a', f1=4, s=1, d1=5\\) .*" "continue to call2e"] {
gdb_suppress_tests;
}
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
# Continue; should stop at call2f and print actual arguments.
if [gdb_test "cont" ".* call2f \\(f2=4, l=3, d2=5, c=97 'a', f1=4, s=1, d1=5, i=2\\) .*" "continue to call2f"] {
gdb_suppress_tests;
}
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
# Continue; should stop at call2g and print actual arguments.
if [gdb_test "cont" ".* call2g \\(l=3, d2=5, c=97 'a', f1=4, s=1, d1=5, i=2, f2=4\\) .*" "continue to call2g"] {
gdb_suppress_tests;
}
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
# Continue; should stop at call2h and print actual arguments.
if [gdb_test "cont" ".* call2h \\(d2=5, c=97 'a', f1=4, s=1, d1=5, i=2, f2=4, l=3\\) .*" "continue to call2h"] {
gdb_suppress_tests;
@@ -249,7 +237,6 @@ proc float_and_integral_args {} {
delete_breakpoints
gdb_breakpoint call2i
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
# Continue; should stop at call2i and print actual arguments.
if [gdb_test "cont" ".* call2i \\(c1=97 'a', f1=4, c2=97 'a', c3=97 'a', d1=5, c4=97 'a', c5=97 'a', c6=97 'a', f2=4, s=1, c7=97 'a', d2=5\\) .*" "continue to call2i"] {
gdb_suppress_tests;
@@ -445,7 +432,6 @@ proc discard_and_shuffle {} {
global decimal
global det_file
global gcc_compiled
- global hp_cc_compiler
delete_breakpoints
@@ -474,8 +460,6 @@ proc discard_and_shuffle {} {
setup_xfail "mips-sgi-irix5*"
}
- # The debug info. for "f" is not correct. It's a known bug.
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
gdb_expect {
-re "backtrace 100\[\r\n\]+
@@ -505,7 +489,6 @@ $gdb_prompt $" {
gdb_continue call6b
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
if [gdb_expect_list "backtrace from call6b" ".*$gdb_prompt $" {
".*\[\r\n\]#0 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
@@ -520,7 +503,6 @@ $gdb_prompt $" {
gdb_continue call6c
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
if [gdb_expect_list "backtrace from call6c" ".*$gdb_prompt $" {
".*\[\r\n\]#0 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
@@ -535,7 +517,6 @@ $gdb_prompt $" {
gdb_continue call6d
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
if [gdb_expect_list "backtrace from call6d" ".*$gdb_prompt $" {
".*\[\r\n\]#0 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
@@ -552,7 +533,6 @@ $gdb_prompt $" {
gdb_continue call6e
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
if [gdb_expect_list "backtrace from call6e" ".*$gdb_prompt $" {
".*\[\r\n\]#0 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
@@ -570,7 +550,6 @@ $gdb_prompt $" {
gdb_continue call6f
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
if [gdb_expect_list "backtrace from call6f" ".*$gdb_prompt $" {
".*\[\r\n\]#0 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
@@ -589,7 +568,6 @@ $gdb_prompt $" {
gdb_continue call6g
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
if [gdb_expect_list "backtrace from call6g" ".*$gdb_prompt $" {
".*\[\r\n\]#0 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
@@ -609,7 +587,6 @@ $gdb_prompt $" {
gdb_continue call6h
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
if [gdb_expect_list "backtrace from call6h" ".*$gdb_prompt $" {
".*\[\r\n\]#0 .* call6h \\(us=6, ui=7, ul=8\\) "
@@ -637,7 +614,6 @@ $gdb_prompt $" {
gdb_continue call6i
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
if [gdb_expect_list "backtrace from call6i" ".*$gdb_prompt $" {
".*\[\r\n\]#0 .* call6i \\(ui=7, ul=8\\) "
@@ -659,7 +635,6 @@ $gdb_prompt $" {
gdb_continue call6j
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
if [gdb_expect_list "backtrace from call6j" ".*$gdb_prompt $" {
".*\[\r\n\]#0 .* call6j \\(ul=8\\) "
@@ -681,7 +656,6 @@ $gdb_prompt $" {
# Print backtrace.
gdb_continue call6k
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
if [gdb_expect_list "backtrace from call6k" ".*$gdb_prompt $" {
".*\[\r\n\]#0 .* call6k \\(\\) "
@@ -713,7 +687,6 @@ proc shuffle_round_robin {} {
global decimal
global det_file
global gcc_compiled
- global hp_cc_compiler
delete_breakpoints
@@ -739,8 +712,6 @@ proc shuffle_round_robin {} {
}
if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "mips-sgi-irix5*" }
- # The debug info. for "f" is not correct. It's a known bug.
- if {$hp_cc_compiler} {setup_xfail hppa2.0w-*-*}
send_gdb "backtrace 100\n"
gdb_expect {
-re "backtrace 100\[\r\n\]+
@@ -1183,8 +1154,6 @@ gdb_load ${binfile}
if [istarget "mips*tx39-*"] {
set timeout 300
-} elseif [istarget "hppa*-hp-hpux*"] then {
- set timeout 240
} else {
set timeout 60
}
diff --git a/gdb/testsuite/gdb.base/gdb1476.c b/gdb/testsuite/gdb.base/gdb1476.c
new file mode 100644
index 00000000000..c3f43760bf3
--- /dev/null
+++ b/gdb/testsuite/gdb.base/gdb1476.c
@@ -0,0 +1,12 @@
+void x()
+{
+ void (*fp)() = 0;
+ fp();
+}
+
+int
+main()
+{
+ x();
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.base/gdb1476.exp b/gdb/testsuite/gdb.base/gdb1476.exp
new file mode 100644
index 00000000000..2ac8074547d
--- /dev/null
+++ b/gdb/testsuite/gdb.base/gdb1476.exp
@@ -0,0 +1,71 @@
+# Copyright 2004 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@gnu.org
+
+# This file is part of the gdb testsuite.
+
+if $tracelevel {
+ strace $tracelevel
+}
+
+# Testcase for backtrace/gdb1476.
+
+set prms_id 0
+set bug_id 0
+
+set testfile "gdb1476"
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+#
+# Run to `main' where we begin our tests.
+#
+
+if ![runto_main] then {
+ gdb_suppress_tests
+}
+
+# If we can examine what's at memory address 0, it is possible that we
+# could also execute it. This could probably make us run away,
+# executing random code, which could have all sorts of ill effects,
+# especially on targets without an MMU. Don't run the tests in that
+# case.
+
+send_gdb "x 0\n"
+gdb_expect {
+ -re "0x0:.*Error accessing memory address 0x0.*$gdb_prompt $" { }
+ -re ".*$gdb_prompt $" {
+ untested "Memory at address 0 is possibly executable"
+ return
+ }
+}
+
+gdb_test "continue" "Program received signal SIGSEGV.*" \
+ "continue to null pointer call"
+
+gdb_test "backtrace 10" \
+ "#0\[ \t\]*0x0* in .*\r\n#1\[ \t\]*$hex in x.*\r\n#2\[ \t\]*$hex in main.*" \
+ "backtrace from null pointer call" \ No newline at end of file
diff --git a/gdb/testsuite/gdb.base/nodebug.exp b/gdb/testsuite/gdb.base/nodebug.exp
index 836ff8637e1..fc96074d8d0 100644
--- a/gdb/testsuite/gdb.base/nodebug.exp
+++ b/gdb/testsuite/gdb.base/nodebug.exp
@@ -1,4 +1,4 @@
-# Copyright 1997, 1999 Free Software Foundation, Inc.
+# Copyright 1997, 1999, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -39,8 +39,6 @@ if [get_compiler_info ${binfile}] {
return -1;
}
-source ${binfile}.ci
-
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
diff --git a/gdb/testsuite/gdb.base/scope.exp b/gdb/testsuite/gdb.base/scope.exp
index 266e0e31224..3749d2348b8 100644
--- a/gdb/testsuite/gdb.base/scope.exp
+++ b/gdb/testsuite/gdb.base/scope.exp
@@ -1,5 +1,5 @@
-# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003,
+# 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -112,7 +112,6 @@ proc test_at_main {} {
# Print scope1.c::filelocal, which is 2
if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
- if {$hp_cc_compiler} then { setup_xfail "hppa2.0w-*-*" 11747CLLbs}
if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] {
gdb_suppress_tests ;
}
@@ -121,7 +120,6 @@ proc test_at_main {} {
# Print scope1.c::filelocal_bss, which is 102
if { [test_compiler_info gcc-*-*] } then { setup_xfail "rs6000-*-*" }
- if {$hp_cc_compiler} then { setup_xfail "hppa2.0w-*-*" 11747CLLbs}
if [gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"] {
gdb_suppress_tests ;
}
diff --git a/gdb/testsuite/gdb.base/sepdebug.c b/gdb/testsuite/gdb.base/sepdebug.c
new file mode 100644
index 00000000000..adb69210a88
--- /dev/null
+++ b/gdb/testsuite/gdb.base/sepdebug.c
@@ -0,0 +1,150 @@
+/* Copyright 1994, 1995, 1999, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb@prep.ai.mit.edu */
+
+#ifdef vxworks
+
+# include <stdio.h>
+
+/* VxWorks does not supply atoi. */
+static int
+atoi (z)
+ char *z;
+{
+ int i = 0;
+
+ while (*z >= '0' && *z <= '9')
+ i = i * 10 + (*z++ - '0');
+ return i;
+}
+
+/* I don't know of any way to pass an array to VxWorks. This function
+ can be called directly from gdb. */
+
+vxmain (arg)
+char *arg;
+{
+ char *argv[2];
+
+ argv[0] = "";
+ argv[1] = arg;
+ main (2, argv, (char **) 0);
+}
+
+#else /* ! vxworks */
+# include <stdio.h>
+# include <stdlib.h>
+#endif /* ! vxworks */
+
+/*
+ * The following functions do nothing useful. They are included simply
+ * as places to try setting breakpoints at. They are explicitly
+ * "one-line functions" to verify that this case works (some versions
+ * of gcc have or have had problems with this).
+ */
+
+#ifdef PROTOTYPES
+int marker1 (void) { return (0); }
+int marker2 (int a) { return (1); } /* set breakpoint 8 here */
+void marker3 (char *a, char *b) {}
+void marker4 (long d) {} /* set breakpoint 14 here */
+#else
+int marker1 () { return (0); }
+int marker2 (a) int a; { return (1); } /* set breakpoint 9 here */
+void marker3 (a, b) char *a, *b; {}
+void marker4 (d) long d; {} /* set breakpoint 13 here */
+#endif
+
+/*
+ * This simple classical example of recursion is useful for
+ * testing stack backtraces and such.
+ */
+
+#ifdef PROTOTYPES
+int factorial(int);
+
+int
+main (int argc, char **argv, char **envp)
+#else
+int
+main (argc, argv, envp)
+int argc;
+char *argv[], **envp;
+#endif
+{
+#ifdef usestubs
+ set_debug_traps(); /* set breakpoint 5 here */
+ breakpoint();
+#endif
+ if (argc == 12345) { /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */
+ fprintf (stderr, "usage: factorial <number>\n");
+ return 1;
+ }
+ printf ("%d\n", factorial (atoi ("6"))); /* set breakpoint 1 here */
+ /* set breakpoint 12 here */
+ marker1 (); /* set breakpoint 11 here */
+ marker2 (43);
+ marker3 ("stack", "trace");
+ marker4 (177601976L);
+ argc = (argc == 12345); /* This is silly, but we can step off of it */ /* set breakpoint 2 here */
+ return argc; /* set breakpoint 10 here */
+}
+
+#ifdef PROTOTYPES
+int factorial (int value)
+#else
+int factorial (value)
+int value;
+#endif
+{
+ if (value > 1) { /* set breakpoint 7 here */
+ value *= factorial (value - 1);
+ }
+ return (value);
+}
+
+#ifdef PROTOTYPES
+int multi_line_if_conditional (int a, int b, int c)
+#else
+int multi_line_if_conditional (a, b, c)
+ int a, b, c;
+#endif
+{
+ if (a /* set breakpoint 3 here */
+ && b
+ && c)
+ return 0;
+ else
+ return 1;
+}
+
+#ifdef PROTOTYPES
+int multi_line_while_conditional (int a, int b, int c)
+#else
+int multi_line_while_conditional (a, b, c)
+ int a, b, c;
+#endif
+{
+ while (a /* set breakpoint 4 here */
+ && b
+ && c)
+ {
+ a--, b--, c--;
+ }
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.base/sepdebug.exp b/gdb/testsuite/gdb.base/sepdebug.exp
new file mode 100644
index 00000000000..7a2a55196e2
--- /dev/null
+++ b/gdb/testsuite/gdb.base/sepdebug.exp
@@ -0,0 +1,982 @@
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2002, 2003, 2004
+# Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+# Based on break.exp, written by Rob Savoye. (rob@cygnus.com)
+# Modified to test gdb's handling of separate debug info files.
+
+# This file has two parts. The first is testing that gdb behaves
+# normally after reading in an executable and its corresponding
+# separate debug file. The second moves the .debug file to a different
+# location and tests the "set debug-file-directory" command.
+
+
+if $tracelevel then {
+ strace $tracelevel
+}
+
+#
+# test running programs
+#
+set prms_id 0
+set bug_id 0
+
+set testfile "sepdebug"
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
+
+# FIXME: this is nasty. We need to check for the stabs debug format.
+# To do this we must run gdb on the unstripped executable, list 'main'
+# (as to have a default source file), use get_debug_format (which does
+# 'info source') and then see if the debug info is stabs. If so, we
+# bail out. We cannot do this any other way because get_debug_format
+# finds out the debug format using gdb itself, and in case of stabs we
+# get an error loading the program if it is already stripped. An
+# alternative would be to find out the debug info from the flags
+# passed to dejagnu when the test is run.
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+gdb_test "list main" "" ""
+get_debug_format
+if { [test_debug_format "stabs"] } then {
+ # the separate debug info feature doesn't work well in binutils with stabs.
+ # It produces a corrupted debug info only file, and gdb chokes on it.
+ # It is almost impossible to capture the failing message out of gdb,
+ # because it happens inside gdb_load. At that point any error message
+ # is intercepted by dejagnu itself, and, because of the error threshold,
+ # any faulty test result is changed into an UNRESOLVED.
+ # (see dejagnu/lib/framework.exp)
+ unsupported "no separate debug info handling with stabs"
+ return -1
+}
+gdb_exit
+
+# Note: the procedure gdb_gnu_strip_debug will produce an executable called
+# ${binfile}, which is just like the executable ($binfile) but without
+# the debuginfo. Instead $binfile has a .gnudebuglink section which contains
+# the name of a idebuginfo only file. This file will be stored in the
+# gdb.base/.debug subdirectory.
+
+if [gdb_gnu_strip_debug $binfile] {
+ unsupported "no separate debug info handling"
+ return -1
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+if [target_info exists gdb_stub] {
+ gdb_step_for_stub;
+}
+#
+# test simple breakpoint setting commands
+#
+
+# Test deleting all breakpoints when there are none installed,
+# GDB should not prompt for confirmation.
+# Note that gdb-init.exp provides a "delete_breakpoints" proc
+# for general use elsewhere.
+
+send_gdb "delete breakpoints\n"
+gdb_expect {
+ -re "Delete all breakpoints.*$" {
+ send_gdb "y\n"
+ gdb_expect {
+ -re "$gdb_prompt $" {
+ fail "Delete all breakpoints when none (unexpected prompt)"
+ }
+ timeout { fail "Delete all breakpoints when none (timeout after unexpected prompt)" }
+ }
+ }
+ -re ".*$gdb_prompt $" { pass "Delete all breakpoints when none" }
+ timeout { fail "Delete all breakpoints when none (timeout)" }
+}
+
+#
+# test break at function
+#
+gdb_test "break main" \
+ "Breakpoint.*at.* file .*$srcfile, line.*" \
+ "breakpoint function"
+
+#
+# test break at quoted function
+#
+gdb_test "break \"marker2\"" \
+ "Breakpoint.*at.* file .*$srcfile, line.*" \
+ "breakpoint quoted function"
+
+#
+# test break at function in file
+#
+gdb_test "break $srcfile:factorial" \
+ "Breakpoint.*at.* file .*$srcfile, line.*" \
+ "breakpoint function in file"
+
+set bp_location1 [gdb_get_line_number "set breakpoint 1 here"]
+
+#
+# test break at line number
+#
+# Note that the default source file is the last one whose source text
+# was printed. For native debugging, before we've executed the
+# program, this is the file containing main, but for remote debugging,
+# it's wherever the processor was stopped when we connected to the
+# board. So, to be sure, we do a list command.
+#
+gdb_test "list main" \
+ ".*main \\(argc, argv, envp\\).*" \
+ "use `list' to establish default source file"
+gdb_test "break $bp_location1" \
+ "Breakpoint.*at.* file .*$srcfile, line $bp_location1\\." \
+ "breakpoint line number"
+
+#
+# test duplicate breakpoint
+#
+gdb_test "break $bp_location1" \
+ "Note: breakpoint \[0-9\]+ also set at pc.*Breakpoint \[0-9\]+ at.* file .*$srcfile, line $bp_location1\\." \
+ "breakpoint duplicate"
+
+set bp_location2 [gdb_get_line_number "set breakpoint 2 here"]
+
+#
+# test break at line number in file
+#
+gdb_test "break $srcfile:$bp_location2" \
+ "Breakpoint.*at.* file .*$srcfile, line $bp_location2\\." \
+ "breakpoint line number in file"
+
+set bp_location3 [gdb_get_line_number "set breakpoint 3 here"]
+set bp_location4 [gdb_get_line_number "set breakpoint 4 here"]
+
+#
+# Test putting a break at the start of a multi-line if conditional.
+# Verify the breakpoint was put at the start of the conditional.
+#
+gdb_test "break multi_line_if_conditional" \
+ "Breakpoint.*at.* file .*$srcfile, line $bp_location3\\." \
+ "breakpoint at start of multi line if conditional"
+
+gdb_test "break multi_line_while_conditional" \
+ "Breakpoint.*at.* file .*$srcfile, line $bp_location4\\." \
+ "breakpoint at start of multi line while conditional"
+
+set bp_location5 [gdb_get_line_number "set breakpoint 5 here"]
+set bp_location6 [gdb_get_line_number "set breakpoint 6 here"]
+
+#
+# check to see what breakpoints are set
+#
+if [target_info exists gdb_stub] {
+ set main_line $bp_location5
+} else {
+ set main_line $bp_location6
+}
+
+set bp_location7 [gdb_get_line_number "set breakpoint 7 here"]
+set bp_location8 [gdb_get_line_number "set breakpoint 8 here"]
+set bp_location9 [gdb_get_line_number "set breakpoint 9 here"]
+
+gdb_test "info break" \
+ "Num Type\[ \]+Disp Enb Address\[ \]+What.*
+\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$main_line.*
+\[0-9\]+\[\t \]+breakpoint keep y.* in marker2 at .*$srcfile:($bp_location8|$bp_location9).*
+\[0-9\]+\[\t \]+breakpoint keep y.* in factorial at .*$srcfile:$bp_location7.*
+\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location1.*
+\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location1.*
+\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location2.*
+\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_if_conditional at .*$srcfile:$bp_location3.*
+\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_while_conditional at .*$srcfile:$bp_location4" \
+ "breakpoint info"
+
+# FIXME: The rest of this test doesn't work with anything that can't
+# handle arguments.
+# Huh? There doesn't *appear* to be anything that passes arguments
+# below.
+if [istarget "mips-idt-*"] then {
+ return
+}
+
+#
+# run until the breakpoint at main is hit. For non-stubs-using targets.
+#
+if ![target_info exists use_gdb_stub] {
+ if [istarget "*-*-vxworks*"] then {
+ send_gdb "run vxmain \"2\"\n"
+ set timeout 120
+ verbose "Timeout is now $timeout seconds" 2
+ } else {
+ send_gdb "run\n"
+ }
+ gdb_expect {
+ -re "The program .* has been started already.*y or n. $" {
+ send_gdb "y\n"
+ exp_continue
+ }
+ -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*$gdb_prompt $"\
+ { pass "run until function breakpoint" }
+ -re ".*$gdb_prompt $" { fail "run until function breakpoint" }
+ timeout { fail "run until function breakpoint (timeout)" }
+ }
+} else {
+ if ![target_info exists gdb_stub] {
+ gdb_test continue ".*Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.*\{.*" "stub continue"
+ }
+}
+
+#
+# run until the breakpoint at a line number
+#
+gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location1.*$bp_location1\[\t \]+printf.*factorial.*" \
+ "run until breakpoint set at a line number"
+
+#
+# Run until the breakpoint set in a function in a file
+#
+for {set i 6} {$i >= 1} {incr i -1} {
+ gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, factorial \\(value=$i\\) at .*$srcfile:$bp_location7.*$bp_location7\[\t \]+.*if .value > 1. \{.*" \
+ "run until file:function($i) breakpoint"
+}
+
+#
+# Run until the breakpoint set at a quoted function
+#
+gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, (0x\[0-9a-f\]+ in )?marker2 \\(a=43\\) at .*$srcfile:($bp_location8|$bp_location9).*" \
+ "run until quoted breakpoint"
+#
+# run until the file:function breakpoint at a line number in a file
+#
+gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location2.*$bp_location2\[\t \]+argc = \\(argc == 12345\\);.*" \
+ "run until file:linenum breakpoint"
+
+# Test break at offset +1
+set bp_location10 [gdb_get_line_number "set breakpoint 10 here"]
+
+gdb_test "break +1" \
+ "Breakpoint.*at.* file .*$srcfile, line $bp_location10\\." \
+ "breakpoint offset +1"
+
+# Check to see if breakpoint is hit when stepped onto
+
+gdb_test "step" \
+ ".*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location10.*$bp_location10\[\t \]+return argc;.*breakpoint 10 here.*" \
+ "step onto breakpoint"
+
+#
+# delete all breakpoints so we can start over, course this can be a test too
+#
+delete_breakpoints
+
+#
+# test temporary breakpoint at function
+#
+
+gdb_test "tbreak main" "Breakpoint.*at.* file .*$srcfile, line.*" "Temporary breakpoint function"
+
+#
+# test break at function in file
+#
+
+gdb_test "tbreak $srcfile:factorial" "Breakpoint.*at.* file .*$srcfile, line.*" \
+ "Temporary breakpoint function in file"
+
+#
+# test break at line number
+#
+send_gdb "tbreak $bp_location1\n"
+gdb_expect {
+ -re "Breakpoint.*at.* file .*$srcfile, line $bp_location1.*$gdb_prompt $" { pass "Temporary breakpoint line number #1" }
+ -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number #1" }
+ timeout { fail "breakpoint line number #1 (timeout)" }
+}
+
+gdb_test "tbreak $bp_location6" "Breakpoint.*at.* file .*$srcfile, line $bp_location6.*" "Temporary breakpoint line number #2"
+
+#
+# test break at line number in file
+#
+send_gdb "tbreak $srcfile:$bp_location2\n"
+gdb_expect {
+ -re "Breakpoint.*at.* file .*$srcfile, line $bp_location2.*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" }
+ -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" }
+ timeout { fail "Temporary breakpoint line number in file #1 (timeout)" }
+}
+
+set bp_location11 [gdb_get_line_number "set breakpoint 11 here"]
+gdb_test "tbreak $srcfile:$bp_location11" "Breakpoint.*at.* file .*$srcfile, line $bp_location11.*" "Temporary breakpoint line number in file #2"
+
+#
+# check to see what breakpoints are set (temporary this time)
+#
+gdb_test "info break" "Num Type.*Disp Enb Address.*What.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$main_line.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint del.*y.*in factorial at .*$srcfile:$bp_location7.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$bp_location1.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$bp_location6.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$bp_location2.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$bp_location11.*" \
+ "Temporary breakpoint info"
+
+
+#***********
+
+# Verify that catchpoints for fork, vfork and exec don't trigger
+# inappropriately. (There are no calls to those system functions
+# in this test program.)
+#
+if ![runto_main] then { fail "break tests suppressed" }
+
+send_gdb "catch\n"
+gdb_expect {
+ -re "Catch requires an event name.*$gdb_prompt $"\
+ {pass "catch requires an event name"}
+ -re "$gdb_prompt $"\
+ {fail "catch requires an event name"}
+ timeout {fail "(timeout) catch requires an event name"}
+}
+
+
+set name "set catch fork, never expected to trigger"
+send_gdb "catch fork\n"
+gdb_expect {
+ -re "Catchpoint \[0-9\]* .fork..*$gdb_prompt $"
+ {pass $name}
+ -re "Catch of fork not yet implemented.*$gdb_prompt $"
+ {pass $name}
+ -re "$gdb_prompt $"
+ {fail $name}
+ timeout {fail "(timeout) $name"}
+}
+
+
+set name "set catch vfork, never expected to trigger"
+send_gdb "catch vfork\n"
+
+# If we are on HP-UX 10.20, we expect an error message to be
+# printed if we type "catch vfork" at the gdb gdb_prompt. This is
+# because on HP-UX 10.20, we cannot catch vfork events.
+
+if [istarget "hppa*-hp-hpux10.20"] then {
+ gdb_expect {
+ -re "Catch of vfork events not supported on HP-UX 10.20..*$gdb_prompt $"
+ {pass $name}
+ -re "$gdb_prompt $"
+ {fail $name}
+ timeout {fail "(timeout) $name"}
+ }
+} else {
+ gdb_expect {
+ -re "Catchpoint \[0-9\]* .vfork..*$gdb_prompt $"
+ {pass $name}
+ -re "Catch of vfork not yet implemented.*$gdb_prompt $"
+ {pass $name}
+ -re "$gdb_prompt $"
+ {fail $name}
+ timeout {fail "(timeout) $name"}
+ }
+}
+
+set name "set catch exec, never expected to trigger"
+send_gdb "catch exec\n"
+gdb_expect {
+ -re "Catchpoint \[0-9\]* .exec..*$gdb_prompt $"
+ {pass $name}
+ -re "Catch of exec not yet implemented.*$gdb_prompt $"
+ {pass $name}
+ -re "$gdb_prompt $" {fail $name}
+ timeout {fail "(timeout) $name"}
+}
+
+# Verify that GDB responds gracefully when asked to set a breakpoint
+# on a nonexistent source line.
+#
+send_gdb "break 999\n"
+gdb_expect {
+ -re "No line 999 in file .*$gdb_prompt $"\
+ {pass "break on non-existent source line"}
+ -re "$gdb_prompt $"\
+ {fail "break on non-existent source line"}
+ timeout {fail "(timeout) break on non-existent source line"}
+}
+
+# Run to the desired default location. If not positioned here, the
+# tests below don't work.
+#
+gdb_test "until $bp_location1" "main .* at .*:$bp_location1.*" "until bp_location1"
+
+
+# Verify that GDB allows one to just say "break", which is treated
+# as the "default" breakpoint. Note that GDB gets cute when printing
+# the informational message about other breakpoints at the same
+# location. We'll hit that bird with this stone too.
+#
+send_gdb "break\n"
+gdb_expect {
+ -re "Breakpoint \[0-9\]*.*$gdb_prompt $"\
+ {pass "break on default location, 1st time"}
+ -re "$gdb_prompt $"\
+ {fail "break on default location, 1st time"}
+ timeout {fail "(timeout) break on default location, 1st time"}
+}
+
+send_gdb "break\n"
+gdb_expect {
+ -re "Note: breakpoint \[0-9\]* also set at .*Breakpoint \[0-9\]*.*$gdb_prompt $"\
+ {pass "break on default location, 2nd time"}
+ -re "$gdb_prompt $"\
+ {fail "break on default location, 2nd time"}
+ timeout {fail "(timeout) break on default location, 2nd time"}
+}
+
+send_gdb "break\n"
+gdb_expect {
+ -re "Note: breakpoints \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*$gdb_prompt $"\
+ {pass "break on default location, 3rd time"}
+ -re "$gdb_prompt $"\
+ {fail "break on default location, 3rd time"}
+ timeout {fail "(timeout) break on default location, 3rd time"}
+}
+
+send_gdb "break\n"
+gdb_expect {
+ -re "Note: breakpoints \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*$gdb_prompt $"\
+ {pass "break on default location, 4th time"}
+ -re "$gdb_prompt $"\
+ {fail "break on default location, 4th time"}
+ timeout {fail "(timeout) break on default location, 4th time"}
+}
+
+# Verify that a "silent" breakpoint can be set, and that GDB is indeed
+# "silent" about its triggering.
+#
+if ![runto_main] then { fail "break tests suppressed" }
+
+send_gdb "break $bp_location1\n"
+gdb_expect {
+ -re "Breakpoint (\[0-9\]*) at .*, line $bp_location1.*$gdb_prompt $"\
+ {pass "set to-be-silent break bp_location1"}
+ -re "$gdb_prompt $"\
+ {fail "set to-be-silent break bp_location1"}
+ timeout {fail "(timeout) set to-be-silent break bp_location1"}
+}
+
+send_gdb "commands $expect_out(1,string)\n"
+send_gdb "silent\n"
+send_gdb "end\n"
+gdb_expect {
+ -re ".*$gdb_prompt $"\
+ {pass "set silent break bp_location1"}
+ timeout {fail "(timeout) set silent break bp_location1"}
+}
+
+send_gdb "info break $expect_out(1,string)\n"
+gdb_expect {
+ -re "\[0-9\]*\[ \t\]*breakpoint.*:$bp_location1\r\n\[ \t\]*silent.*$gdb_prompt $"\
+ {pass "info silent break bp_location1"}
+ -re "$gdb_prompt $"\
+ {fail "info silent break bp_location1"}
+ timeout {fail "(timeout) info silent break bp_location1"}
+}
+send_gdb "continue\n"
+gdb_expect {
+ -re "Continuing.\r\n$gdb_prompt $"\
+ {pass "hit silent break bp_location1"}
+ -re "$gdb_prompt $"\
+ {fail "hit silent break bp_location1"}
+ timeout {fail "(timeout) hit silent break bp_location1"}
+}
+send_gdb "bt\n"
+gdb_expect {
+ -re "#0 main .* at .*:$bp_location1.*$gdb_prompt $"\
+ {pass "stopped for silent break bp_location1"}
+ -re "$gdb_prompt $"\
+ {fail "stopped for silent break bp_location1"}
+ timeout {fail "(timeout) stopped for silent break bp_location1"}
+}
+
+# Verify that GDB can at least parse a breakpoint with the
+# "thread" keyword. (We won't attempt to test here that a
+# thread-specific breakpoint really triggers appropriately.
+# The gdb.threads subdirectory contains tests for that.)
+#
+set bp_location12 [gdb_get_line_number "set breakpoint 12 here"]
+send_gdb "break $bp_location12 thread 999\n"
+gdb_expect {
+ -re "Unknown thread 999.*$gdb_prompt $"\
+ {pass "thread-specific breakpoint on non-existent thread disallowed"}
+ -re "$gdb_prompt $"\
+ {fail "thread-specific breakpoint on non-existent thread disallowed"}
+ timeout {fail "(timeout) thread-specific breakpoint on non-existent thread disallowed"}
+}
+send_gdb "break $bp_location12 thread foo\n"
+gdb_expect {
+ -re "Junk after thread keyword..*$gdb_prompt $"\
+ {pass "thread-specific breakpoint on bogus thread ID disallowed"}
+ -re "$gdb_prompt $"\
+ {fail "thread-specific breakpoint on bogus thread ID disallowed"}
+ timeout {fail "(timeout) thread-specific breakpoint on bogus thread ID disallowed"}
+}
+
+# Verify that GDB responds gracefully to a breakpoint command with
+# trailing garbage.
+#
+send_gdb "break $bp_location12 foo\n"
+gdb_expect {
+ -re "Junk at end of arguments..*$gdb_prompt $"\
+ {pass "breakpoint with trailing garbage disallowed"}
+ -re "$gdb_prompt $"\
+ {fail "breakpoint with trailing garbage disallowed"}
+ timeout {fail "(timeout) breakpoint with trailing garbage disallowed"}
+}
+
+# Verify that GDB responds gracefully to a "clear" command that has
+# no matching breakpoint. (First, get us off the current source line,
+# which we know has a breakpoint.)
+#
+send_gdb "next\n"
+gdb_expect {
+ -re ".*$gdb_prompt $"\
+ {pass "step over breakpoint"}
+ timeout {fail "(timeout) step over breakpoint"}
+}
+send_gdb "clear 81\n"
+gdb_expect {
+ -re "No breakpoint at 81..*$gdb_prompt $"\
+ {pass "clear line has no breakpoint disallowed"}
+ -re "$gdb_prompt $"\
+ {fail "clear line has no breakpoint disallowed"}
+ timeout {fail "(timeout) clear line has no breakpoint disallowed"}
+}
+send_gdb "clear\n"
+gdb_expect {
+ -re "No breakpoint at this line..*$gdb_prompt $"\
+ {pass "clear current line has no breakpoint disallowed"}
+ -re "$gdb_prompt $"\
+ {fail "clear current line has no breakpoint disallowed"}
+ timeout {fail "(timeout) clear current line has no breakpoint disallowed"}
+}
+
+# Verify that we can set and clear multiple breakpoints.
+#
+# We don't test that it deletes the correct breakpoints. We do at
+# least test that it deletes more than one breakpoint.
+#
+gdb_test "break marker3" "Breakpoint.*at.*" "break marker3 #1"
+gdb_test "break marker3" "Breakpoint.*at.*" "break marker3 #2"
+gdb_test "clear marker3" {Deleted breakpoints [0-9]+ [0-9]+.*}
+
+# Verify that a breakpoint can be set via a convenience variable.
+#
+send_gdb "set \$foo=$bp_location11\n"
+gdb_expect {
+ -re "$gdb_prompt $"\
+ {pass "set convenience variable \$foo to bp_location11"}
+ timeout {fail "(timeout) set convenience variable \$foo to bp_location11"}
+}
+send_gdb "break \$foo\n"
+gdb_expect {
+ -re "Breakpoint (\[0-9\]*) at .*, line $bp_location11.*$gdb_prompt $"\
+ {pass "set breakpoint via convenience variable"}
+ -re "$gdb_prompt $"\
+ {fail "set breakpoint via convenience variable"}
+ timeout {fail "(timeout) set breakpoint via convenience variable"}
+}
+
+# Verify that GDB responds gracefully to an attempt to set a
+# breakpoint via a convenience variable whose type is not integer.
+#
+send_gdb "set \$foo=81.5\n"
+gdb_expect {
+ -re "$gdb_prompt $"\
+ {pass "set convenience variable \$foo to 81.5"}
+ timeout {fail "(timeout) set convenience variable \$foo to 81.5"}
+}
+send_gdb "break \$foo\n"
+gdb_expect {
+ -re "Convenience variables used in line specs must have integer values..*$gdb_prompt $"\
+ {pass "set breakpoint via non-integer convenience variable disallowed"}
+ -re "$gdb_prompt $"\
+ {fail "set breakpoint via non-integer convenience variable disallowed"}
+ timeout {fail "(timeout) set breakpoint via non-integer convenience variable disallowed"}
+}
+
+# Verify that we can set and trigger a breakpoint in a user-called function.
+#
+send_gdb "break marker2\n"
+gdb_expect {
+ -re "Breakpoint (\[0-9\]*) at .*, line ($bp_location8|$bp_location9).*$gdb_prompt $"\
+ {pass "set breakpoint on to-be-called function"}
+ -re "$gdb_prompt $"\
+ {fail "set breakpoint on to-be-called function"}
+ timeout {fail "(timeout) set breakpoint on to-be-called function"}
+}
+send_gdb "print marker2(99)\n"
+gdb_expect {
+ -re "The program being debugged stopped while in a function called from GDB.\r\nWhen the function .marker2. is done executing, GDB will silently\r\nstop .instead of continuing to evaluate the expression containing\r\nthe function call...*$gdb_prompt $"\
+ {pass "hit breakpoint on called function"}
+ -re "$gdb_prompt $"\
+ {fail "hit breakpoint on called function"}
+ timeout {fail "(timeout) hit breakpoint on called function"}
+}
+
+# As long as we're stopped (breakpointed) in a called function,
+# verify that we can successfully backtrace & such from here.
+#
+# In this and the following test, the _sr4export check apparently is needed
+# for hppa*-*-hpux.
+#
+send_gdb "bt\n"
+gdb_expect {
+ -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*_sr4export.*$gdb_prompt $"\
+ {pass "backtrace while in called function"}
+ -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*function called from gdb.*$gdb_prompt $"\
+ {pass "backtrace while in called function"}
+ -re "$gdb_prompt $"\
+ {fail "backtrace while in called function"}
+ timeout {fail "(timeout) backtrace while in called function"}
+}
+
+# Return from the called function. For remote targets, it's important to do
+# this before runto_main, which otherwise may silently stop on the dummy
+# breakpoint inserted by GDB at the program's entry point.
+#
+send_gdb "finish\n"
+gdb_expect {
+ -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.* in _sr4export.*$gdb_prompt $"\
+ {pass "finish from called function"}
+ -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*function called from gdb.*$gdb_prompt $"\
+ {pass "finish from called function"}
+ -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*Value returned.*$gdb_prompt $"\
+ {pass "finish from called function"}
+ -re "$gdb_prompt $"\
+ {fail "finish from called function"}
+ timeout {fail "(timeout) finish from called function"}
+}
+
+# Verify that GDB responds gracefully to a "finish" command with
+# arguments.
+#
+if ![runto_main] then { fail "break tests suppressed" }
+
+send_gdb "finish 123\n"
+gdb_expect {
+ -re "The \"finish\" command does not take any arguments.\r\n$gdb_prompt $"\
+ {pass "finish with arguments disallowed"}
+ -re "$gdb_prompt $"\
+ {fail "finish with arguments disallowed"}
+ timeout {fail "(timeout) finish with arguments disallowed"}
+}
+
+# Verify that GDB responds gracefully to a request to "finish" from
+# the outermost frame. On a stub that never exits, this will just
+# run to the stubs routine, so we don't get this error... Thus the
+# second condition.
+#
+
+send_gdb "finish\n"
+gdb_expect {
+ -re "\"finish\" not meaningful in the outermost frame.\r\n$gdb_prompt $"\
+ {pass "finish from outermost frame disallowed"}
+ -re "Run till exit from.*\r\n$gdb_prompt $" {
+ pass "finish from outermost frame disallowed"
+ }
+ -re "$gdb_prompt $"\
+ {fail "finish from outermost frame disallowed"}
+ timeout {fail "(timeout) finish from outermost frame disallowed"}
+}
+
+# Verify that we can explicitly ask GDB to stop on all shared library
+# events, and that it does so.
+#
+if [istarget "hppa*-*-hpux*"] then {
+ if ![runto_main] then { fail "break tests suppressed" }
+
+ send_gdb "set stop-on-solib-events 1\n"
+ gdb_expect {
+ -re "$gdb_prompt $"\
+ {pass "set stop-on-solib-events"}
+ timeout {fail "(timeout) set stop-on-solib-events"}
+ }
+
+ send_gdb "run\n"
+ gdb_expect {
+ -re ".*Start it from the beginning.*y or n. $"\
+ {send_gdb "y\n"
+ gdb_expect {
+ -re ".*Stopped due to shared library event.*$gdb_prompt $"\
+ {pass "triggered stop-on-solib-events"}
+ -re "$gdb_prompt $"\
+ {fail "triggered stop-on-solib-events"}
+ timeout {fail "(timeout) triggered stop-on-solib-events"}
+ }
+ }
+ -re "$gdb_prompt $"\
+ {fail "rerun for stop-on-solib-events"}
+ timeout {fail "(timeout) rerun for stop-on-solib-events"}
+ }
+
+ send_gdb "set stop-on-solib-events 0\n"
+ gdb_expect {
+ -re "$gdb_prompt $"\
+ {pass "reset stop-on-solib-events"}
+ timeout {fail "(timeout) reset stop-on-solib-events"}
+ }
+}
+
+# Hardware breakpoints are unsupported on HP-UX. Verify that GDB
+# gracefully responds to requests to create them.
+#
+if [istarget "hppa*-*-hpux*"] then {
+ if ![runto_main] then { fail "break tests suppressed" }
+
+ send_gdb "hbreak\n"
+ gdb_expect {
+ -re "No hardware breakpoint support in the target.*$gdb_prompt $"\
+ {pass "hw breaks disallowed"}
+ -re "$gdb_prompt $"\
+ {fail "hw breaks disallowed"}
+ timeout {fail "(timeout) hw breaks disallowed"}
+ }
+
+ send_gdb "thbreak\n"
+ gdb_expect {
+ -re "No hardware breakpoint support in the target.*$gdb_prompt $"\
+ {pass "temporary hw breaks disallowed"}
+ -re "$gdb_prompt $"\
+ {fail "temporary hw breaks disallowed"}
+ timeout {fail "(timeout) temporary hw breaks disallowed"}
+ }
+}
+
+#********
+
+
+#
+# Test "next" over recursive function call.
+#
+
+proc test_next_with_recursion {} {
+ global gdb_prompt
+ global decimal
+ global binfile
+
+ if [target_info exists use_gdb_stub] {
+ # Reload the program.
+ delete_breakpoints
+ gdb_load ${binfile};
+ } else {
+ # FIXME: should be using runto
+ gdb_test "kill" "" "kill program" "Kill the program being debugged.*y or n. $" "y"
+
+ delete_breakpoints
+ }
+
+ gdb_test "break factorial" "Breakpoint $decimal at .*" "break at factorial"
+
+ # Run until we call factorial with 6
+
+ if [istarget "*-*-vxworks*"] then {
+ send_gdb "run vxmain \"6\"\n"
+ } else {
+ gdb_run_cmd
+ }
+ gdb_expect {
+ -re "Break.* factorial .value=6. .*$gdb_prompt $" {}
+ -re ".*$gdb_prompt $" {
+ fail "run to factorial(6)";
+ gdb_suppress_tests;
+ }
+ timeout { fail "run to factorial(6) (timeout)" ; gdb_suppress_tests }
+ }
+
+ # Continue until we call factorial recursively with 5.
+
+ if [gdb_test "continue" \
+ "Continuing.*Break.* factorial .value=5. .*" \
+ "continue to factorial(5)"] then { gdb_suppress_tests }
+
+ # Do a backtrace just to confirm how many levels deep we are.
+
+ if [gdb_test "backtrace" \
+ "#0\[ \t\]+ factorial .value=5..*" \
+ "backtrace from factorial(5)"] then { gdb_suppress_tests }
+
+ # Now a "next" should position us at the recursive call, which
+ # we will be performing with 4.
+
+ if [gdb_test "next" \
+ ".* factorial .value - 1.;.*" \
+ "next to recursive call"] then { gdb_suppress_tests }
+
+ # Disable the breakpoint at the entry to factorial by deleting them all.
+ # The "next" should run until we return to the next line from this
+ # recursive call to factorial with 4.
+ # Buggy versions of gdb will stop instead at the innermost frame on
+ # the line where we are trying to "next" to.
+
+ delete_breakpoints
+
+ if [istarget "mips*tx39-*"] {
+ set timeout 60
+ }
+ # We used to set timeout here for all other targets as well. This
+ # is almost certainly wrong. The proper timeout depends on the
+ # target system in use, and how we communicate with it, so there
+ # is no single value appropriate for all targets. The timeout
+ # should be established by the Dejagnu config file(s) for the
+ # board, and respected by the test suite.
+ #
+ # For example, if I'm running GDB over an SSH tunnel talking to a
+ # portmaster in California talking to an ancient 68k board running
+ # a crummy ROM monitor (a situation I can only wish were
+ # hypothetical), then I need a large timeout. But that's not the
+ # kind of knowledge that belongs in this file.
+
+ gdb_test next "\[0-9\]*\[\t \]+return \\(value\\);.*" \
+ "next over recursive call"
+
+ # OK, we should be back in the same stack frame we started from.
+ # Do a backtrace just to confirm.
+
+ set result [gdb_test "backtrace" \
+ "#0\[ \t\]+ factorial .value=120.*\r\n#1\[ \t\]+ \[0-9a-fx\]+ in factorial .value=6..*" \
+ "backtrace from factorial(5.1)"]
+ if { $result != 0 } { gdb_suppress_tests }
+
+ if [target_info exists gdb,noresults] { gdb_suppress_tests }
+ gdb_continue_to_end "recursive next test"
+ gdb_stop_suppressing_tests;
+}
+
+test_next_with_recursion
+
+
+#********
+
+# now move the .debug file to a different location so that we can test
+# the "set debug-file-directory" command.
+
+remote_exec build "mv ${objdir}/${subdir}/.debug/${testfile}.debug ${objdir}/${subdir}"
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_test "set debug-file-directory ${objdir}/${subdir}" ".*" "set separate debug location"
+gdb_load ${binfile}
+
+if [target_info exists gdb_stub] {
+ gdb_step_for_stub;
+}
+
+#
+# test break at function
+#
+gdb_test "break main" \
+ "Breakpoint.*at.* file .*$srcfile, line.*" \
+ "breakpoint function, optimized file"
+
+#
+# test break at function
+#
+gdb_test "break marker4" \
+ "Breakpoint.*at.* file .*$srcfile, line.*" \
+ "breakpoint small function, optimized file"
+
+#
+# run until the breakpoint at main is hit. For non-stubs-using targets.
+#
+if ![target_info exists use_gdb_stub] {
+ if [istarget "*-*-vxworks*"] then {
+ send_gdb "run vxmain \"2\"\n"
+ set timeout 120
+ verbose "Timeout is now $timeout seconds" 2
+ } else {
+ send_gdb "run\n"
+ }
+ gdb_expect {
+ -re "The program .* has been started already.*y or n. $" {
+ send_gdb "y\n"
+ exp_continue
+ }
+ -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*$gdb_prompt $"\
+ { pass "run until function breakpoint, optimized file" }
+ -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$gdb_prompt $"\
+ { pass "run until function breakpoint, optimized file (code motion)" }
+ -re ".*$gdb_prompt $" { fail "run until function breakpoint, optimized file" }
+ timeout { fail "run until function breakpoint, optimized file (timeout)" }
+ }
+} else {
+ if ![target_info exists gdb_stub] {
+ gdb_test continue ".*Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.*\{.*" "stub continue, optimized file"
+ }
+}
+
+#
+# run until the breakpoint at a small function
+#
+
+#
+# Add a second pass pattern. The behavior differs here between stabs
+# and dwarf for one-line functions. Stabs preserves two line symbols
+# (one before the prologue and one after) with the same line number,
+# but dwarf regards these as duplicates and discards one of them.
+# Therefore the address after the prologue (where the breakpoint is)
+# has no exactly matching line symbol, and GDB reports the breakpoint
+# as if it were in the middle of a line rather than at the beginning.
+
+set bp_location13 [gdb_get_line_number "set breakpoint 13 here"]
+set bp_location14 [gdb_get_line_number "set breakpoint 14 here"]
+send_gdb "continue\n"
+gdb_expect {
+ -re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
+ pass "run until breakpoint set at small function, optimized file"
+ }
+ -re "Breakpoint $decimal, $hex in marker4 \\(d=177601976\\) at .*$srcfile:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
+ pass "run until breakpoint set at small function, optimized file"
+ }
+ -re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile:$bp_location14\[\r\n\]+$bp_location14\[\t \]+void marker4.*" {
+ # marker4() is defined at line 46 when compiled with -DPROTOTYPES
+ pass "run until breakpoint set at small function, optimized file (line bp_location14)"
+ }
+ -re ".*$gdb_prompt " {
+ fail "run until breakpoint set at small function, optimized file"
+ }
+ timeout {
+ fail "run until breakpoint set at small function, optimized file (timeout)"
+ }
+}
+
+
+# Reset the default arguments for VxWorks
+if [istarget "*-*-vxworks*"] {
+ set timeout 10
+ verbose "Timeout is now $timeout seconds" 2
+ send_gdb "set args main\n"
+ gdb_expect -re ".*$gdb_prompt $" {}
+}
diff --git a/gdb/testsuite/gdb.base/structs.exp b/gdb/testsuite/gdb.base/structs.exp
index c0f596f5e25..4d282d2e58d 100644
--- a/gdb/testsuite/gdb.base/structs.exp
+++ b/gdb/testsuite/gdb.base/structs.exp
@@ -1,6 +1,6 @@
# This testcase is part of GDB, the GNU debugger.
-# Copyright 1996, 1997, 1999, 2003 Free Software Foundation, Inc.
+# Copyright 1996, 1997, 1999, 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -219,6 +219,9 @@ proc test_struct_calls { n } {
# Call fun${n}, checking the printed return-value.
setup_kfails structs-*tld* i*86-*-* gdb/1447
+ setup_kfails structs-*tld* sparc64-*-* gdb/1447
+ setup_kfails structs-*tld* sparc*-*-solaris2* gdb/1447
+ setup_kfails structs-*tld* x86_64-*-* gdb/1447
setup_compiler_kfails structs-tc-* gcc-3-3 "DWARF 2" i*86-*-* gdb/1455
gdb_test "p/c fun${n}()" "[foo ${n}]" "p/c fun<n>(); ${tests}"
@@ -231,6 +234,9 @@ proc test_struct_calls { n } {
gdb_test "call Fun${n}(foo${n})" "" "call Fun<n>(foo<n>); ${tests}"
setup_kfails structs-*tld* i*86-*-* gdb/1447
+ setup_kfails structs-*tld* sparc64-*-* gdb/1447
+ setup_kfails structs-*tld* sparc*-*-solaris2* gdb/1447
+ setup_kfails structs-*tld* x86_64-*-* gdb/1447
setup_compiler_kfails structs-tc-* gcc-3-3 "DWARF 2" i*86-*-* gdb/1455
gdb_test "p/c L${n}" [foo ${n}] "p/c L<n>; ${tests}"
}
@@ -285,7 +291,10 @@ proc test_struct_returns { n } {
# Check that the program invalidated the relevant global.
setup_kfails structs-tld i*86-*-* gdb/1447
- gdb_test "p/c L${n}" " = [zed $n]" "zed L<n> for return; ${tests} .${testfile}."
+ setup_kfails structs-tld sparc64-*-* gdb/1447
+ setup_kfails structs-tld sparc*-*-solaris2* gdb/1447
+ setup_kfails structs-tld x86_64-*-* gdb/1447
+ gdb_test "p/c L${n}" " = [zed $n]" "zed L<n> for return; ${tests}"
# Force the "return". This checks that the return is always
# performed, and that GDB correctly reported this to the user.
@@ -334,6 +343,9 @@ proc test_struct_returns { n } {
set test "value foo<n> returned; ${tests}"
setup_kfails structs-*tld* i*86-*-* gdb/1447
+ setup_kfails structs-*tld* sparc64-*-* gdb/1447
+ setup_kfails structs-*tld* sparc*-*-solaris2* gdb/1447
+ setup_kfails structs-*tld* x86_64-*-* gdb/1447
gdb_test_multiple "p/c L${n}" "${test}" {
-re " = [foo ${n}].*${gdb_prompt} $" {
if $return_value_unknown {
@@ -385,6 +397,9 @@ proc test_struct_returns { n } {
# Check that the program invalidated the relevant global.
setup_kfails structs-tld i*86-*-* gdb/1447
+ setup_kfails structs-tld sparc64-*-* gdb/1447
+ setup_kfails structs-tld sparc*-*-solaris2* gdb/1447
+ setup_kfails structs-tld x86_64-*-* gdb/1447
gdb_test "p/c L${n}" " = [zed $n]" "zed L<n> for finish; ${tests}"
# Finish the function, set 'finish_value_unknown" to non-empty if the
@@ -407,6 +422,9 @@ proc test_struct_returns { n } {
# check that the variable was cleared, is printed.
set test "value foo<n> finished; ${tests}"
setup_kfails structs-*tld* i*86-*-* gdb/1447
+ setup_kfails structs-*tld* sparc64-*-* gdb/1447
+ setup_kfails structs-*tld* sparc*-*-solaris2* gdb/1447
+ setup_kfails structs-*tld* x86_64-*-* gdb/1447
gdb_test_multiple "p/c" "${test}" {
-re "[foo ${n}]\[\r\n\]+${gdb_prompt} $" {
if $finish_value_unknown {
diff --git a/gdb/testsuite/gdb.base/volatile.exp b/gdb/testsuite/gdb.base/volatile.exp
index faf62b9847b..c12e3d88eae 100644
--- a/gdb/testsuite/gdb.base/volatile.exp
+++ b/gdb/testsuite/gdb.base/volatile.exp
@@ -1,4 +1,4 @@
-# Copyright 1997, 1998, 1999, 2003 Free Software Foundation, Inc.
+# Copyright 1997, 1998, 1999, 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -55,28 +55,15 @@ if [get_compiler_info ${binfile}] {
return -1;
}
-if {$hp_aCC_compiler || $hp_cc_compiler} {
- set lang "c++"
-} else {
- set lang ""
-}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [concat debug $lang]] != "" } {
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable debug ] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
-remote_exec build "rm -f ${binfile}.ci"
-if [get_compiler_info ${binfile}] {
- return -1
-}
-
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-source ${binfile}.ci
-
#
# set it up at a breakpoint so we can play with the variable values
#
@@ -94,6 +81,11 @@ proc local_compiler_xfail_check { } {
setup_xfail "*-*-*"
}
}
+
+ global hp_cc_compiler
+ if { $hp_cc_compiler } {
+ setup_xfail "hppa*-*-hpux*"
+ }
}
send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
diff --git a/gdb/testsuite/gdb.hp/gdb.defects/bs15503.cc b/gdb/testsuite/gdb.cp/bs15503.cc
index 759bc0f8943..aec5a0b8fcb 100644
--- a/gdb/testsuite/gdb.hp/gdb.defects/bs15503.cc
+++ b/gdb/testsuite/gdb.cp/bs15503.cc
@@ -1,5 +1,27 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 1992, 2004 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb@prep.ai.mit.edu */
+
#include <string>
-#include <iostream.h>
+#include <iostream>
+using namespace std;
template <class T>
class StringTest {
diff --git a/gdb/testsuite/gdb.cp/bs15503.exp b/gdb/testsuite/gdb.cp/bs15503.exp
new file mode 100644
index 00000000000..9b6095bec1a
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/bs15503.exp
@@ -0,0 +1,100 @@
+# Copyright 1992, 2004 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+# Test case for CLLbs15503
+# This file was written by Sue Kimura (sue_kimura@hp.com)
+# Rewritten by Michael Chastain (mec.gnu@mindspring.com)
+
+if $tracelevel {
+ strace $tracelevel
+}
+
+set testfile "bs15503"
+set srcfile ${testfile}.cc
+set binfile ${objdir}/${subdir}/${testfile}
+
+if [get_compiler_info ${binfile}] {
+ return -1
+}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "debug c++"] != "" } {
+ perror "Couldn't compile ${srcfile}"
+ return -1
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+if ![runto_main] then {
+ perror "couldn't run to breakpoint"
+ continue
+}
+
+# Set breakpoint on template function
+
+gdb_test "break StringTest<wchar_t>::testFunction" \
+ "Breakpoint $decimal at $hex: file .*${srcfile}, line $decimal."
+
+gdb_test "continue" \
+ ".*Breakpoint $decimal, StringTest<wchar_t>::testFunction \\(this=$hex\\).*" \
+ "continue to StringTest<wchar_t>"
+
+# Run to some random point in the middle of the function.
+
+gdb_breakpoint [gdb_get_line_number "find position where blank needs to be inserted"]
+gdb_continue_to_breakpoint "find position where blank needs to be inserted"
+
+# Call some string methods.
+
+gdb_test "print s.length()" "\\$\[0-9\]+ = 42"
+gdb_test "print s\[0\]" "\\$\[0-9\]+ =.* 'I'"
+gdb_test "print s\[s.length()-1\]" "\\$\[0-9\]+ =.* 'g'"
+gdb_test "print (const char *) s" \
+ "\\$\[0-9\]+ = $hex \"I am a short stringand now a longer string\""
+
+# TODO: tests that do not work with gcc 2.95.3
+# -- chastain 2004-01-07
+#
+# gdb_test "print s.compare(s)" "\\$\[0-9\]+ = 0"
+# gdb_test "print s.compare(\"AAA\")" "\\$\[0-9\]+ = 1"
+# gdb_test "print s.compare(\"ZZZ\")" "\\$\[0-9\]+ = -1"
+
+# TODO: tests that do not work with gcc 2.95.3 and gcc 3.3.2.
+# cannot call overloaded non-member operator. -- chastain 2004-01-07
+#
+# gdb_test "print s == s" "\\$\[0-9\]+ = true"
+# gdb_test "print s > "AAA" "\\$\[0-9\]+ = true"
+# gdb_test "print s < "ZZZ" "\\$\[0-9\]+ = true"
+
+# TODO crash gdb! This is going to be a great test!
+# -- chastain 2004-01-07
+#
+# gdb_test "print s == \"I am a short stringand now a longer string\"" \
+# "\\$\[0-9\]+ = "true"
+
+gdb_test "print (const char *) s.substr(0,4)" "\\$\[0-9\]+ = $hex \"I am\""
+gdb_test "print (const char *) (s=s.substr(0,4))" \
+ "\\$\[0-9\]+ = $hex \"I am\""
+
+# TODO: cannot call overloaded non-member operator again.
+# -- chastain 2004-01-07
+#
+# gdb_test "print (const char *) (s + s)" \
+# "\\$\[0-9\]+ = $hex \"I amI am\""
+# gdb_test "print (const char *) (s + \" \" + s)" \
+# "\\$\[0-9\]+ = $hex \"I am I am\""
diff --git a/gdb/testsuite/gdb.cp/classes.exp b/gdb/testsuite/gdb.cp/classes.exp
index 60f5ab75dc4..16a4c3b3f67 100644
--- a/gdb/testsuite/gdb.cp/classes.exp
+++ b/gdb/testsuite/gdb.cp/classes.exp
@@ -1,5 +1,5 @@
# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003 Free Software Foundation, Inc.
+# 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -19,12 +19,13 @@
# bug-gdb@prep.ai.mit.edu
# This file was written by Fred Fish. (fnf@cygnus.com)
+# And rewritten by Michael Chastain <mec.gnu@mindspring.com>.
set ws "\[\r\n\t \]+"
set nl "\[\r\n\]+"
if $tracelevel then {
- strace $tracelevel
+ strace $tracelevel
}
if { [skip_cplus_tests] } { continue }
@@ -33,559 +34,571 @@ set testfile "misc"
set srcfile ${testfile}.cc
set binfile ${objdir}/${subdir}/${testfile}
-# Create and source the file that provides information about the compiler
-# used to compile the test case.
-
-if [get_compiler_info ${binfile} "c++"] {
- return -1
-}
-
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
-#
# Test ptype of class objects.
#
+# This code accepts the output of gcc v2 and v3, dwarf-2 and stabs+.
+# It could use some expansion with other compilers such as hp-ux ac++.
+#
+# There are lots of variations in the output:
+#
+# . gcc -stabs+ emits debug info for implicit member functions:
+# operator=, copy ctor, ctor. gcc -gdwarf-2 does not.
+#
+# . gcc with abi version 1 puts the implicit member functions
+# at the beginning of the member function list; with abi version 2,
+# the implicit member functions are at the end of the member function
+# list. This appears as an output difference with -gstabs+.
+# gcc 3.3.X defaults to abi version 1, and gcc 3.4 will default
+# to abi version 2.
+#
+# . gcc v2 shows data members for virtual base pointers.
+# gcc v3 does not.
+#
+# . gdb always prints "class" for both "class" and "struct".
+# In the future, I should accept "struct" in case gdb improves.
proc test_ptype_class_objects {} {
global gdb_prompt
global ws
global nl
- # Note that struct members are public by default, so we don't print
- # "public:" for the public members of structs.
- # Accept it if gdb just fails to distinguish between
- # class and struct, and everything else is OK.
+ # Simple type.
- send_gdb "ptype struct default_public_struct\n"
- gdb_expect {
- -re "type = struct default_public_struct \{${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype struct default_public_struct" "ptype struct default_public_struct" {
+ -re "type = class default_public_struct \{${ws}public:${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype struct default_public_struct"
}
- -re "type = class default_public_struct \{$nl.*int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
+ -re "type = class default_public_struct \{${ws}public:${ws}int a;${ws}int b;${ws}default_public_struct ?& ?operator ?=\\(default_public_struct const ?&\\);${ws}default_public_struct\\(default_public_struct const ?&\\);${ws}default_public_struct\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
pass "ptype struct default_public_struct"
}
- -re ".*$gdb_prompt $" { fail "ptype struct default_public_struct" }
- timeout { fail "ptype struct default_public_struct (timeout)" ; return }
}
- # Note that struct members are public by default, so we don't print
- # "public:" for the public members of structs.
- # Accept it if gdb just fails to distinguish between
- # class and struct, and everything else is OK.
+ # Same test, slightly different type.
- send_gdb "ptype struct explicit_public_struct\n"
- gdb_expect {
- -re "type = struct explicit_public_struct \{${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype struct explicit_public_struct" "ptype struct explicit_public_struct" {
+ -re "type = class explicit_public_struct \{${ws}public:${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype struct explicit_public_struct"
}
- -re "type = class explicit_public_struct \{$nl.*int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
+ -re "type = class explicit_public_struct \{${ws}public:${ws}int a;${ws}int b;${ws}explicit_public_struct ?& ?operator ?=\\(explicit_public_struct const ?&\\);${ws}explicit_public_struct\\(explicit_public_struct const ?&\\);${ws}explicit_public_struct\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
pass "ptype struct explicit_public_struct"
}
- -re ".*$gdb_prompt $" { fail "ptype struct explicit_public_struct" }
- timeout { fail "ptype struct explicit_public_struct (timeout)" ; return }
}
- # Accept it if gdb just fails to distinguish between
- # class and struct, and everything else is OK.
+ # Same test, slightly different type.
- send_gdb "ptype struct protected_struct\n"
- gdb_expect {
- -re "type = struct protected_struct \{${ws}protected:${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype struct protected_struct" "ptype struct protected_struct" {
+ -re "type = class protected_struct \{${ws}protected:${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype struct protected_struct"
}
- -re "type = class protected_struct \{${ws}protected:${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
+ -re "type = class protected_struct \{${ws}protected:${ws}int a;${ws}int b;${ws}public:${ws}protected_struct ?& ?operator ?=\\(protected_struct const ?&\\);${ws}protected_struct\\(protected_struct const ?&\\);${ws}protected_struct\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
pass "ptype struct protected_struct"
}
- -re ".*$gdb_prompt $" { fail "ptype struct protected_struct" }
- timeout { fail "ptype struct protected_struct (timeout)" ; return }
}
- # Accept it if gdb just fails to distinguish between
- # class and struct, and everything else is OK.
+ # Same test, slightly different type.
- send_gdb "ptype struct private_struct\n"
- gdb_expect {
- -re "type = struct private_struct \{${ws}private:${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype struct private_struct" "ptype struct private_struct" {
+ -re "type = class private_struct \{${ws}private:${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype struct private_struct"
}
- -re "type = class private_struct \{${ws}private:${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
+ -re "type = class private_struct \{${ws}private:${ws}int a;${ws}int b;${ws}public:${ws}private_struct ?& ?operator ?=\\(private_struct const ?&\\);${ws}private_struct\\(private_struct const ?&\\);${ws}private_struct\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
pass "ptype struct private_struct"
}
- -re ".*$gdb_prompt $" { fail "ptype struct private_struct" }
- timeout { fail "ptype struct private_struct (timeout)" ; return }
}
- # Accept it if gdb just fails to distinguish between
- # class and struct, and everything else is OK.
+ # Similar test, bigger type.
- send_gdb "ptype struct mixed_protection_struct\n"
- gdb_expect {
- -re "type = struct mixed_protection_struct \{${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;$nl\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype struct mixed_protection_struct" "ptype struct mixed_protection_struct" {
+ -re "type = class mixed_protection_struct \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype struct mixed_protection_struct"
}
- -re "type = struct mixed_protection_struct \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;$nl.*\}$nl$gdb_prompt $" {
- pass "ptype struct mixed_protection_struct (extra public)"
- }
- -re "type = class mixed_protection_struct \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;$nl.*\}$nl$gdb_prompt $" {
+ -re "type = class mixed_protection_struct \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;${ws}public:${ws}mixed_protection_struct ?& ?operator ?=\\(mixed_protection_struct const ?&\\);${ws}mixed_protection_struct\\(mixed_protection_struct const ?&\\);${ws}mixed_protection_struct\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
pass "ptype struct mixed_protection_struct"
}
- -re ".*$gdb_prompt $" { fail "ptype struct mixed_protection_struct" }
- timeout { fail "ptype struct mixed_protection_struct (timeout)" ; return }
}
- # Accept it if gdb just fails to distinguish between
- # class and struct, and everything else is OK.
+ # All that again with "class" instead of "struct".
+ # gdb does not care about the difference anyways.
- send_gdb "ptype class public_class\n"
- gdb_expect {
- -re "type = class public_class \{${ws}public:${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype class public_class" "ptype class public_class" {
+ -re "type = class public_class \{${ws}public:${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class public_class"
}
- -re "type = struct public_class \{${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ -re "type = class public_class \{${ws}public:${ws}int a;${ws}int b;${ws}public_class ?& ?operator ?=\\(public_class const ?&\\);${ws}public_class\\(public_class const ?&\\);${ws}public_class\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
pass "ptype class public_class"
}
- -re ".*$gdb_prompt $" { fail "ptype class public_class" }
- timeout { fail "ptype class public_class (timeout)" ; return }
}
- send_gdb "ptype class protected_class\n"
- gdb_expect {
- -re "type = class protected_class \{${ws}protected:${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
+ # Same test, slightly different type.
+
+ gdb_test_multiple "ptype class protected_class" "ptype class protected_class" {
+ -re "type = class protected_class \{${ws}protected:${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class protected_class"
}
- -re "type = struct protected_class \{${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
- fail "ptype class protected_class"
+ -re "type = class protected_class \{${ws}protected:${ws}int a;${ws}int b;${ws}public:${ws}protected_class ?& ?operator ?=\\(protected_class const ?&\\);${ws}protected_class\\(protected_class const ?&\\);${ws}protected_class\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class protected_class"
}
- -re ".*$gdb_prompt $" { fail "ptype class protected_class" }
- timeout { fail "ptype class protected_class (timeout)" ; return }
}
- # Accept it if gdb just emits a superflous "private:"
- # attribute, since classes default to private and for consistency with
- # structs (where we don't print the "public:" attribute) we don't print
- # the "private:" attribute.
+ # Same test, slightly different type.
+ # The 'private' is optional but gdb always prints it.
- send_gdb "ptype class default_private_class\n"
- gdb_expect {
- -re "type = class default_private_class \{${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype class default_private_class" "ptype class default_private_class" {
+ -re "type = class default_private_class \{${ws}(private:${ws}|)int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class default_private_class"
}
- -re "type = class default_private_class \{${ws}private:${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
+ -re "type = class default_private_class \{${ws}(private:${ws}|)int a;${ws}int b;${ws}public:${ws}default_private_class ?& ?operator ?=\\(default_private_class const ?&\\);${ws}default_private_class\\(default_private_class const ?&\\);${ws}default_private_class\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
pass "ptype class default_private_class"
}
- -re ".*$gdb_prompt $" { fail "ptype class default_private_class" }
- timeout { fail "ptype class default_private_class (timeout)" ; return }
}
- send_gdb "ptype class explicit_private_class\n"
- gdb_expect {
- -re "type = class explicit_private_class \{${ws}private:${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
+ # Same test, slightly different type.
+
+ gdb_test_multiple "ptype class explicit_private_class" "ptype class explicit_private_class" {
+ -re "type = class explicit_private_class \{${ws}(private:${ws}|)int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class explicit_private_class"
}
- -re "type = class explicit_private_class \{${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
- pass "ptype class explicit_private_class"
- }
- -re "type = struct explicit_private_class \{${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
- fail "ptype class explicit_private_class"
+ -re "type = class explicit_private_class \{${ws}(private:${ws}|)int a;${ws}int b;${ws}public:${ws}explicit_private_class ?& ?operator ?=\\(explicit_private_class const ?&\\);${ws}explicit_private_class\\(explicit_private_class const ?&\\);${ws}explicit_private_class\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class explicit_private_class"
}
- -re ".*$gdb_prompt $" { fail "ptype class explicit_private_class" }
- timeout { fail "ptype class explicit_private_class (timeout)" ; return }
}
- send_gdb "ptype class mixed_protection_class\n"
- gdb_expect {
- -re "type = class mixed_protection_class \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;$nl.*\}$nl$gdb_prompt $" {
+ # Similar test, bigger type.
+
+ gdb_test_multiple "ptype class mixed_protection_class" "ptype struct mixed_protection_class" {
+ -re "type = class mixed_protection_class \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class mixed_protection_class"
}
- -re "type = struct mixed_protection_class \{${ws}int a;${ws}int b;${ws}int c;${ws}int d;${ws}int e;${ws}int f;${ws}int g;${ws}int h;${ws}int i;$nl.*\}$nl$gdb_prompt $" {
- fail "ptype class mixed_protection_class"
+ -re "type = class mixed_protection_class \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;${ws}public:${ws}mixed_protection_class ?& ?operator ?=\\(mixed_protection_class const ?&\\);${ws}mixed_protection_class\\(mixed_protection_class const ?&\\);${ws}mixed_protection_class\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class mixed_protection_class"
}
- -re ".*$gdb_prompt $" { fail "ptype class mixed_protection_class" }
- timeout { fail "ptype class mixed_protection_class (timeout)" ; return }
}
- # This class does not use any C++-specific features, so it's fine for
- # it to print as "struct".
- send_gdb "ptype class A\n"
- gdb_expect {
- -re "type = (class|struct) A \{(${ws}public:|)${ws}int a;${ws}int x;((${ws}A & operator=\\(A const ?&\\);)|(${ws}A\\((A const|const A) ?&\\);)|(${ws}A\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
+ # Here are some classes with inheritance.
+
+ # Base class.
+
+ gdb_test_multiple "ptype class A" "ptype class A" {
+ -re "type = class A \{${ws}public:${ws}int a;${ws}int x;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class A"
}
- -re ".*$gdb_prompt $" {
- fail "ptype class A"
- }
- timeout {
- fail "ptype class A (timeout)"
- return
+ -re "type = class A \{${ws}public:${ws}int a;${ws}int x;${ws}A ?& ?operator ?=\\(A const ?&\\);${ws}A\\(A const ?&\\);${ws}A\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class A"
}
}
- send_gdb "ptype class B\n"
- gdb_expect {
- -re "type = class B : public A \{${ws}public:${ws}int b;${ws}int x;${ws}B & operator=\\(B const ?&\\);${ws}B\\((B const|const B) ?&\\);${ws}B\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
+ # Derived class.
+
+ gdb_test_multiple "ptype class B" "ptype class B" {
+ -re "type = class B : public A \{${ws}public:${ws}int b;${ws}int x;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class B"
}
- -re "type = class B : public A \{${ws}public:${ws}int b;${ws}int x;((${ws}B & operator=\\(B const ?&\\);)|(${ws}B\\(B const ?&\\);)|(${ws}B\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype class B (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype class B"
- }
- timeout {
- fail "ptype class B (timeout)"
- return
+ -re "type = class B : public A \{${ws}public:${ws}int b;${ws}int x;${ws}B ?& ?operator ?=\\(B const ?&\\);${ws}B\\(B const ?&\\);${ws}B\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class B"
}
}
- send_gdb "ptype class C\n"
- gdb_expect {
- -re "type = class C : public A \{${ws}public:${ws}int c;${ws}int x;${ws}C & operator=\\(C const ?&\\);${ws}C\\((C const|const C) ?&\\);${ws}C\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
+ # Derived class.
+
+ gdb_test_multiple "ptype class C" "ptype class C" {
+ -re "type = class C : public A \{${ws}public:${ws}int c;${ws}int x;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class C"
}
- -re "type = class C : public A \{${ws}public:${ws}int c;${ws}int x;((${ws}C & operator=\\(C const ?&\\);)|(${ws}C\\(C const ?&\\);)|(${ws}C\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype class C (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype class C"
- }
- timeout {
- fail "ptype class C (timeout)"
- return
+ -re "type = class C : public A \{${ws}public:${ws}int c;${ws}int x;${ws}C ?& ?operator ?=\\(C const ?&\\);${ws}C\\(C const ?&\\);${ws}C\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class C"
}
}
- send_gdb "ptype class D\n"
- gdb_expect {
- -re "type = class D : public B, public C \{${ws}public:${ws}int d;${ws}int x;${ws}D & operator=\\(D const ?&\\);${ws}D\\((D const|const D) ?&\\);${ws}D\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
+ # Derived class, multiple inheritance.
+
+ gdb_test_multiple "ptype class D" "ptype class D" {
+ -re "type = class D : public B, public C \{${ws}public:${ws}int d;${ws}int x;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class D"
}
- -re "type = class D : public B, public C \{${ws}public:${ws}int d;${ws}int x;((${ws}D & operator=\\(D const ?&\\);)|(${ws}D\\(D const ?&\\);)|(${ws}D\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype class D (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype class D"
- }
- timeout {
- fail "ptype class D (timeout)"
- return
+ -re "type = class D : public B, public C \{${ws}public:${ws}int d;${ws}int x;${ws}D ?& ?operator ?=\\(D const ?&\\);${ws}D\\(D const ?&\\);${ws}D\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class D"
}
}
- send_gdb "ptype class E\n"
- gdb_expect {
- -re "type = class E : public D \{${ws}public:${ws}int e;${ws}int x;${ws}E & operator=\\(E const ?&\\);${ws}E\\((E const|const E) ?&\\);${ws}E\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
+ # Derived class.
+
+ gdb_test_multiple "ptype class E" "ptype class E" {
+ -re "type = class E : public D \{${ws}public:${ws}int e;${ws}int x;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class E"
}
- -re "type = class E : public D \{${ws}public:${ws}int e;${ws}int x;((${ws}E & operator=\\(E const ?&\\);)|(${ws}E\\((E const|const E) ?&\\);)|(${ws}E\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
+ -re "type = class E : public D \{${ws}public:${ws}int e;${ws}int x;${ws}E ?& ?operator ?=\\(E const ?&\\);${ws}E\\(E const ?&\\);${ws}E\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
pass "ptype class E"
}
- -re ".*$gdb_prompt $" {
- fail "ptype class E"
- }
- timeout {
- fail "ptype class E (timeout)"
- return
- }
}
- # With g++ 2.x and stabs debug info, we misinterpret static methods
- # whose name matches their argument mangling.
- send_gdb "ptype class Static\n"
- gdb_expect {
- -re "type = (class|struct) Static \{(${ws}public:|)${ws}Static & operator=\\(Static const ?&\\);${ws}Static\\((Static const|const Static) ?&\\);${ws}Static\\((void|)\\);${ws}static void ii\\(int, int\\);${ws}\}$nl$gdb_prompt $" {
+ # This is a break from inheritance tests.
+ #
+ # gcc 2.X with stabs (stabs or stabs+?) used to have a problem with
+ # static methods whose name is the same as their argument mangling.
+
+ gdb_test_multiple "ptype class Static" "ptype class Static" {
+ -re "type = class Static \{${ws}public:${ws}static void ii\\(int, int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class Static"
}
- -re "type = (class|struct) Static \{(${ws}public:|)${ws}static void ii\\(int, int\\);${ws}\}$nl$gdb_prompt $" {
+ -re "type = class Static \{${ws}public:${ws}Static ?& ?operator ?=\\(Static const ?&\\);${ws}Static\\(Static const ?&\\);${ws}Static\\((void|)\\);${ws}static void ii\\(int, int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
pass "ptype class Static"
}
- -re ".*$gdb_prompt $" {
- fail "ptype class Static"
- }
- timeout {
- fail "ptype class Static (timeout)"
- return
+ -re "type = class Static \{${ws}public:${ws}static void ii\\(int, int\\);${ws}Static ?& ?operator ?=\\(Static const ?&\\);${ws}Static\\(Static const ?&\\);${ws}Static\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class Static"
}
}
- send_gdb "ptype class vA\n"
- gdb_expect {
- -re "type = (class|struct) vA \{(${ws}public:|)${ws}int va;${ws}int vx;${ws}\}$nl$gdb_prompt $" {
+ # Here are some virtual inheritance tests.
+
+ gdb_test_multiple "ptype class vA" "ptype class vA" {
+ -re "type = class vA \{${ws}public:${ws}int va;${ws}int vx;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class vA"
}
- -re "type = (class|struct) vA \{(${ws}public:|)${ws}int va;${ws}int vx;${ws}vA & operator=\\(vA const ?&\\);${ws}vA\\((vA const|const vA) ?&\\);${ws}vA\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
+ -re "type = class vA \{${ws}public:${ws}int va;${ws}int vx;${ws}vA ?& ?operator ?=\\(vA const ?&\\);${ws}vA\\(vA const ?&\\);${ws}vA\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
pass "ptype class vA"
}
- -re "type = (class|struct) vA \{(${ws}public:|)${ws}int va;${ws}int vx;((${ws}vA & operator=\\(vA const ?&\\);)|(${ws}vA\\(vA const ?&\\);)|(${ws}vA\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype class vA (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype class vA"
- }
- timeout {
- fail "ptype class vA (timeout)"
- return
- }
}
- # Accept the form with embedded GNU style mangled virtual table constructs
- # for now, but with a FIXME. At some future point, gdb should use a
- # portable representation for the virtual table constructs.
-
- # The format of a g++ virtual base pointer.
- set vbptr "(_vb\[$.\]|__vb_)\[0-9\]?"
+ # With gcc 2, gdb prints the virtual base pointer.
+ # With gcc 3, gdb does not print the virtual base pointer.
+ # drow considers it a gdb bug if gdb prints the vbptr.
- send_gdb "ptype class vB\n"
- gdb_expect {
- -re "type = class vB : public virtual vA \{${ws}public:${ws}int vb;${ws}int vx;${ws}vB & operator=\\(vB const ?&\\);${ws}vB\\((vB const|const vB) ?&\\);${ws}vB\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype class vB" "ptype class vB" {
+ -re "type = class vB : public virtual vA \{${ws}private:${ws}vA ?\\* ?_vb.2vA;${ws}public:${ws}int vb;${ws}int vx;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # TODO: kfail this
+ fail "ptype class vB"
+ }
+ -re "type = class vB : public virtual vA \{${ws}public:${ws}int vb;${ws}int vx;$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class vB"
}
- -re "type = class vB : public virtual vA \{${ws}private:${ws}vA \\*${vbptr}vA;${ws}public:${ws}int vb;${ws}int vx;${ws}vB & operator=\\(vB const ?&\\);${ws}vB\\(int, vB const ?&\\);${ws}vB\\(int\\);${ws}\}$nl$gdb_prompt $" {
+ -re "type = class vB : public virtual vA \{${ws}private:${ws}vA ?\\* ?_vb.vA;${ws}public:${ws}int vb;${ws}int vx;${ws}vB ?& ?operator ?=\\(vB const ?&\\);${ws}vB\\(int, ?vB const ?&\\);${ws}vB\\(int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # See the hidden "in-charge" ctor parameter!
+ # TODO: kfail this
setup_xfail "*-*-*"
fail "ptype class vB (FIXME: non-portable virtual table constructs)"
}
- -re "type = class vB : public virtual vA \{${ws}public:${ws}int vb;${ws}int vx;${ws}\}$nl$gdb_prompt $" {
- pass "ptype class vB"
- }
- -re "type = class vB : public virtual vA \{${ws}private:${ws}vA \\*_vb.vA;${ws}public:${ws}int vb;${ws}int vx;((${ws}vB & operator=\\(vB const ?&\\);)|(${ws}vB\\(int, vB const ?&\\);)|(${ws}vB\\(int\\);))*${ws}\}$nl$gdb_prompt $" {
- setup_xfail "*-*-*"
- fail "ptype class vB (FIXME) (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype class vB"
- }
- timeout {
- fail "ptype class vB (timeout)"
- return
+ -re "type = class vB : public virtual vA \{${ws}public:${ws}int vb;${ws}int vx;${ws}vB ?& ?operator ?=\\(vB const ?&\\);${ws}vB\\(vB const ?&\\);${ws}vB\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class vB"
}
}
- # Accept the form with embedded GNU style mangled virtual table constructs
- # for now, but with a FIXME. At some future point, gdb should use a
- # portable representation for the virtual table constructs.
+ # Another class with a virtual base.
- send_gdb "ptype class vC\n"
- gdb_expect {
- -re "type = class vC : public virtual vA \{${ws}public:${ws}int vc;${ws}int vx;${ws}vC & operator=\\(vC const ?&\\);${ws}vC\\((vC const|const vC) ?&\\);${ws}vC\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype class vC" "ptype class vC" {
+ -re "type = class vC : public virtual vA \{${ws}private:${ws}vA ?\\* ?_vb.2vA;${ws}public:${ws}int vc;${ws}int vx;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # TODO: kfail
+ fail "ptype class vC"
+ }
+ -re "type = class vC : public virtual vA \{${ws}public:${ws}int vc;${ws}int vx;$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class vC"
}
- -re "type = class vC : public virtual vA \{${ws}private:${ws}vA \\*${vbptr}vA;${ws}public:${ws}int vc;${ws}int vx;${ws}vC & operator=\\(vC const ?&\\);${ws}vC\\(int, vC const ?&\\);${ws}vC\\(int\\);${ws}\}$nl$gdb_prompt $" {
+ -re "type = class vC : public virtual vA \{${ws}private:${ws}vA ?\\* ?_vb.vA;${ws}public:${ws}int vc;${ws}int vx;${ws}vC ?& ?operator ?=\\(vC const ?&\\);${ws}vC\\(int, ?vC const ?&\\);${ws}vC\\(int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # See the hidden "in-charge" ctor parameter!
+ # TODO: kfail
setup_xfail "*-*-*"
fail "ptype class vC (FIXME: non-portable virtual table constructs)"
}
- -re "type = class vC : public virtual vA \{${ws}public:${ws}int vc;${ws}int vx;${ws}\}$nl$gdb_prompt $" {
- pass "ptype class vC"
- }
- -re "type = class vC : public virtual vA \{${ws}private:${ws}vA \\*_vb.vA;${ws}public:${ws}int vc;${ws}int vx;((${ws}vC & operator=\\(vC const ?&\\);)|(${ws}vC\\(int, vC const ?&\\);)|(${ws}vC\\(int\\);))*${ws}\}$nl$gdb_prompt $" {
- setup_xfail "*-*-*"
- fail "ptype class vC (FIXME) (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype class vC"
- }
- timeout {
- fail "ptype class vC (timeout)"
- return
+ -re "type = class vC : public virtual vA \{${ws}public:${ws}int vc;${ws}int vx;${ws}vC ?& ?operator ?=\\(vC const ?&\\);${ws}vC\\(vC const ?&\\);${ws}vC\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class vC"
}
}
- # Accept the form with embedded GNU style mangled virtual table constructs
- # for now, but with a FIXME. At some future point, gdb should use a
- # portable representation for the virtual table constructs.
+ # The classic diamond inheritance.
- send_gdb "ptype class vD\n"
- gdb_expect {
- -re "type = class vD : public virtual vB, public virtual vC \{${ws}public:${ws}int vd;${ws}int vx;${ws}vD & operator=\\(vD const ?&\\);${ws}vD\\((vD const|const vD) ?&\\);${ws}vD\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype class vD" "ptype class vD" {
+ -re "type = class vD : public virtual vB, public virtual vC \{${ws}private:${ws}vC ?\\* ?_vb.2vC;${ws}vB ?\\* ?_vb.2vB;${ws}public:${ws}int vd;${ws}int vx;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # TODO: kfail
+ fail "ptype class vD"
+ }
+ -re "type = class vD : public virtual vB, public virtual vC \{${ws}public:${ws}int vd;${ws}int vx;$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class vD"
}
- -re "type = class vD : public virtual vB, public virtual vC \{${ws}private:${ws}vC \\*${vbptr}vC;${ws}vB \\*${vbptr}vB;${ws}public:${ws}int vd;${ws}int vx;${ws}vD & operator=\\(vD const ?&\\);${ws}vD\\(int, vD const ?&\\);${ws}vD\\(int\\);${ws}\}$nl$gdb_prompt $" {
+ -re "type = class vD : public virtual vB, public virtual vC \{${ws}private:${ws}vC ?\\* ?_vb.vC;${ws}vB ?\\* ?_vb.vB;${ws}public:${ws}int vd;${ws}int vx;${ws}vD ?& ?operator ?=\\(vD const ?&\\);${ws}vD\\(int, ?vD const ?&\\);${ws}vD\\(int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # See the hidden "in-charge" ctor parameter!
+ # TODO: kfail
setup_xfail "*-*-*"
fail "ptype class vD (FIXME: non-portable virtual table constructs)"
}
- -re "type = class vD : public virtual vB, public virtual vC \{${ws}public:${ws}int vd;${ws}int vx;${ws}\}$nl$gdb_prompt $" {
- pass "ptype class vD"
- }
- -re "type = class vD : public virtual vB, public virtual vC \{${ws}private:${ws}vC \\*_vb.vC;${ws}vB \\*_vb.vB;${ws}public:${ws}int vd;${ws}int vx;((${ws}vD & operator=\\(vD const ?&\\);)|(${ws}vD\\(int, vD const ?&\\);)|(${ws}vD\\(int\\);))*${ws}\}$nl$gdb_prompt $" {
- setup_xfail "*-*-*"
- fail "ptype class vD (FIXME) (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype class vD"
- }
- timeout {
- fail "ptype class vD (timeout)"
- return
+ -re "type = class vD : public virtual vB, public virtual vC \{${ws}public:${ws}int vd;${ws}int vx;${ws}vD ?& ?operator ?=\\(vD const ?&\\);${ws}vD\\(vD const ?&\\);${ws}vD\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class vD"
}
}
- # Accept the form with embedded GNU style mangled virtual table constructs
- # for now, but with a FIXME. At some future point, gdb should use a
- # portable representation for the virtual table constructs.
+ # One more case of virtual derivation.
- send_gdb "ptype class vE\n"
- gdb_expect {
- -re "type = class vE : public virtual vD \{${ws}public:${ws}int ve;${ws}int vx;${ws}vE & operator=\\(vE const ?&\\);${ws}vE\\((vE const|const vE) ?&\\);${ws}vE\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
+ gdb_test_multiple "ptype class vE" "ptype class vE" {
+ -re "type = class vE : public virtual vD \{${ws}private:${ws}vD ?\\* ?_vb.2vD;${ws}public:${ws}int ve;${ws}int vx;$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # TODO: kfail
+ fail "ptype class vE"
+ }
+ -re "type = class vE : public virtual vD \{${ws}public:${ws}int ve;${ws}int vx;$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class vE"
}
- -re "type = class vE : public virtual vD \{${ws}private:${ws}vD \\*${vbptr}vD;${ws}public:${ws}int ve;${ws}int vx;${ws}vE & operator=\\(vE const ?&\\);${ws}vE\\(int, vE const ?&\\);${ws}vE\\(int\\);${ws}\}$nl$gdb_prompt $" {
+ -re "type = class vE : public virtual vD \{${ws}private:${ws}vD ?\\* ?_vb.vD;${ws}public:${ws}int ve;${ws}int vx;${ws}vE ?& ?operator ?=\\(vE const ?&\\);${ws}vE\\(int, ?vE const ?&\\);${ws}vE\\(int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # See the hidden "in-charge" ctor parameter!
+ # TODO: kfail
setup_xfail "*-*-*"
fail "ptype class vE (FIXME: non-portable virtual table constructs)"
}
- -re "type = class vE : public virtual vD \{${ws}public:${ws}int ve;${ws}int vx;${ws}\}$nl$gdb_prompt $" {
- pass "ptype class vE"
- }
- -re "type = class vE : public virtual vD \{${ws}private:${ws}vD \\*_vb.vD;${ws}public:${ws}int ve;${ws}int vx;((${ws}vE & operator=\\(vE const ?&\\);)|(${ws}vE\\(int, vE const ?&\\);)|(${ws}vE\\(int\\);))*${ws}\}$nl$gdb_prompt $" {
- setup_xfail "*-*-*"
- fail "ptype class vE (FIXME) (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype class vE"
- }
- timeout {
- fail "ptype class vE (timeout)"
- return
+ -re "type = class vE : public virtual vD \{${ws}public:${ws}int ve;${ws}int vx;${ws}vE ?& ?operator ?=\\(vE const ?&\\);${ws}vE\\(vE const ?&\\);${ws}vE\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class vE"
}
}
- send_gdb "ptype class Base1\n"
- gdb_expect {
- -re "type = class Base1 \{${ws}public:${ws}int x;${ws}Base1 & operator=\\(Base1 const ?&\\);${ws}Base1\\(((Base1 const)|(const Base1)) ?&\\);${ws}Base1\\(int\\);${ws}\}$nl$gdb_prompt $" {
+ # Another inheritance series.
+
+ gdb_test_multiple "ptype class Base1" "ptype class Base1" {
+ -re "type = class Base1 \{${ws}public:${ws}int x;${ws}Base1\\(int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class Base1"
}
- -re "type = class Base1 \{${ws}public:${ws}int x;${ws}Base1\\(int\\);${ws}\}$nl$gdb_prompt $" {
+ -re "type = class Base1 \{${ws}public:${ws}int x;${ws}Base1 ?& ?operator ?=\\(Base1 const ?&\\);${ws}Base1\\(Base1 const ?&\\);${ws}Base1\\(int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
pass "ptype class Base1"
}
- -re "type = class Base1 \{${ws}public:${ws}int x;((${ws}Base1 & operator=\\(Base1 const ?&\\);)|(${ws}Base1\\(Base1 const ?&\\);)|(${ws}Base1\\(int\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype class Base1 (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype class Base1"
- }
- timeout {
- fail "ptype class Base1 (timeout)"
- return
+ -re "type = class Base1 \{${ws}public:${ws}int x;${ws}Base1\\(int\\);${ws}Base1 ?& ?operator ?=\\(Base1 const ?&\\);${ws}Base1\\(Base1 const ?&\\);$nl\}$nl$gdb_prompt $" {
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class Base1"
}
}
- send_gdb "ptype class Foo\n"
- gdb_expect {
- -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;\r\n${ws}Foo\\(int, int\\);${ws}int operator!\\((void|)\\);${ws}operator int\\((void|)\\);${ws}int times\\(int\\);$nl\}$nl$gdb_prompt $" {
- pass "ptype class Foo"
- }
- -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;${ws}Foo & operator=\\(Foo const ?&\\);${ws}Foo\\((Foo const|const Foo) ?&\\);${ws}Foo\\(int, int\\);${ws}int operator!\\((void|)\\);${ws}operator int\\((void|)\\);${ws}int times\\(int\\);${ws}\}$nl$gdb_prompt $" {
+ # The second base class.
+
+ gdb_test_multiple "ptype class Foo" "ptype class Foo" {
+ -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;${ws}Foo\\(int, int\\);${ws}int operator ?!\\((void|)\\);${ws}operator int\\((void|)\\);${ws}int times\\(int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class Foo"
}
- -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;((${ws}Foo & operator=\\(Foo const ?&\\);)|(${ws}Foo\\(Foo const ?&\\);)|(${ws}Foo\\(int, int\\);)|(${ws}int operator!\\((void|)\\);)|(${ws}int operator int\\((void|)\\);)|(${ws}int times\\(int\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype class Foo (obsolescent gcc or gdb)"
+ -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;${ws}Foo ?& ?operator ?=\\(Foo const ?&\\);${ws}Foo\\(Foo const ?&\\);${ws}Foo\\(int, int\\);${ws}int operator ?!\\((void|)\\);${ws}int operator int\\((void|)\\);${ws}int times\\(int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # TODO: "int operator int()" is a bug
+ # kfail "gdb/1497" "ptype class Foo"
+ pass "ptype class Foo"
}
- -re ".*$gdb_prompt $" {
- fail "ptype class Foo"
+ -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;${ws}Foo ?& ?operator ?=\\(Foo const ?&\\);${ws}Foo\\(Foo const ?&\\);${ws}Foo\\(int, int\\);${ws}int operator ?!\\((void|)\\);${ws}operator int\\((void|)\\);${ws}int times\\(int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gstabs+
+ pass "ptype class Foo"
}
- timeout {
- fail "ptype class Foo (timeout)"
- return
+ -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;${ws}Foo\\(int, int\\);${ws}int operator ?!\\((void|)\\);${ws}operator int\\((void|)\\);${ws}int times\\(int\\);${ws}Foo ?& ?operator ?=\\(Foo const ?&\\);${ws}Foo\\(Foo const ?&\\);$nl\}$nl$gdb_prompt $" {
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class Foo"
}
}
- send_gdb "ptype class Bar\n"
- gdb_expect {
- -re "type = class Bar : public Base1, public Foo \{${ws}public:${ws}int z;${ws}Bar & operator=\\(Bar const ?&\\);${ws}Bar\\((Bar const|const Bar) ?&\\);${ws}Bar\\(int, int, int\\);${ws}\}$nl$gdb_prompt $" {
+ # A multiple inheritance derived class.
+
+ gdb_test_multiple "ptype class Bar" "ptype class Bar" {
+ -re "type = class Bar : public Base1, public Foo \{${ws}public:${ws}int z;${ws}Bar\\(int, int, int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
pass "ptype class Bar"
}
- -re "type = class Bar : public Base1, public Foo \{${ws}public:${ws}int z;((${ws}Bar & operator=\\(Bar const ?&\\);)|(${ws}Bar\\(Bar const ?&\\);)|(${ws}Bar\\(int, int, int\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype class Bar (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype class Bar"
+ -re "type = class Bar : public Base1, public Foo \{${ws}public:${ws}int z;${ws}Bar ?& ?operator ?=\\(Bar const ?&\\);${ws}Bar\\(Bar const ?&\\);${ws}Bar\\(int, int, int\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ pass "ptype class Bar"
}
- timeout {
- fail "ptype class Bar (timeout)"
- return
+ -re "type = class Bar : public Base1, public Foo \{${ws}public:${ws}int z;${ws}Bar\\(int, int, int\\);${ws}Bar ?& ?operator ?=\\(Bar const ?&\\);${ws}Bar\\(Bar const ?&\\);$nl\}$nl$gdb_prompt $" {
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype class Bar"
}
}
}
-#
# Test simple access to class members.
-#
+# TODO: these test names are gross!
+# Just let the test name default.
proc test_non_inherited_member_access {} {
global gdb_prompt
# Print non-inherited members of g_A.
-
gdb_test "print g_A.a" ".* = 1" "g_A.a incorrect"
-
gdb_test "print g_A.x" ".* = 2" "g_A.x incorrect"
# Print non-inherited members of g_B.
-
gdb_test "print g_B.b" ".* = 5" "g_B.b incorrect"
-
gdb_test "print g_B.x" ".* = 6" "g_B.x incorrect"
# Print non-inherited members of g_C.
-
gdb_test "print g_C.c" ".* = 9" "g_C.c incorrect"
-
gdb_test "print g_C.x" ".* = 10" "g_C.x incorrect"
# Print non-inherited members of g_D.
-
gdb_test "print g_D.d" ".* = 19" "g_D.d incorrect"
-
gdb_test "print g_D.x" ".* = 20" "g_D.x incorrect"
# Print non-inherited members of g_E.
-
gdb_test "print g_E.e" ".* = 31" "g_E.e incorrect"
-
gdb_test "print g_E.x" ".* = 32" "g_E.x incorrect"
}
-#
-# Try access to non-members that are members of another class.
-# Should give errors.
-#
+# Test access to members of other classes.
+# gdb should refuse to print them.
+# (I feel old -- I remember when this was legal in C -- chastain).
+# TODO: Again, change the silly test names.
proc test_wrong_class_members {} {
global gdb_prompt
gdb_test "print g_A.b" "There is no member( or method|) named b." "print g_A.b should be error"
-
gdb_test "print g_B.c" "There is no member( or method|) named c." "print g_B.c should be error"
-
gdb_test "print g_B.d" "There is no member( or method|) named d." "print g_B.d should be error"
-
gdb_test "print g_C.b" "There is no member( or method|) named b." "print g_C.b should be error"
-
gdb_test "print g_C.d" "There is no member( or method|) named d." "print g_C.d should be error"
-
gdb_test "print g_D.e" "There is no member( or method|) named e." "print g_D.e should be error"
}
-#
-# Try access to non-members that are not members of any class.
-# Should give errors.
-#
+# Test access to names that are not members of any class.
+# TODO: test names again.
proc test_nonexistent_members {} {
global gdb_prompt
gdb_test "print g_A.y" "There is no member( or method|) named y." "print g_A.y should be error"
-
gdb_test "print g_B.z" "There is no member( or method|) named z." "print g_B.z should be error"
-
gdb_test "print g_C.q" "There is no member( or method|) named q." "print g_C.q should be error"
-
gdb_test "print g_D.p" "There is no member( or method|) named p." "print g_D.p should be error"
}
-#
# Call a method that expects a base class parameter with base, inherited,
# and unrelated class arguments.
-#
proc test_method_param_class {} {
gdb_test "call class_param.Aptr_a (&g_A)" ".* = 1" "base class param->a"
@@ -606,62 +619,70 @@ proc test_method_param_class {} {
gdb_test "call class_param.Aval_a (foo)" "Cannot resolve .*" "unrelated class param"
}
-#
# Examine a class with an enum field.
-#
proc test_enums {} {
global gdb_prompt
- global hp_aCC_compiler
+ global nl
+ global ws
# print the object
- send_gdb "print obj_with_enum\n"
- gdb_expect {
- -re "\\$\[0-9\]* = \\{priv_enum = red, x = 0\\}.*$gdb_prompt $" { pass "print obj_with_enum (1)" }
- -re "$gdb_prompt $" { fail "print obj_with_enum (1)" }
- timeout { fail "(timeout) print obj_with_enum (1)" }
- }
- send_gdb "next\n"
- gdb_expect {
- -re "$gdb_prompt $" { pass "next" }
- timeout { fail "(timeout) next" }
- }
+ gdb_test "print obj_with_enum" \
+ "\\$\[0-9\]+ = \{priv_enum = red, x = 0\}" \
+ "print obj_with_enum (1)"
+
+ # advance one line
+
+ gdb_test "next" ""
+
+ # TODO: with gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2,
+ # gdb says that obj_with_enum is out of scope here and the
+ # tests after this FAIL. This needs investigation.
+ # -- chastain 2003-12-30
# print the object again
- send_gdb "print obj_with_enum\n"
- gdb_expect {
- -re "\\$\[0-9\]* = \\{priv_enum = green, x = 0\\}.*$gdb_prompt $" { pass "print obj_with_enum (2)" }
- -re "$gdb_prompt $" { fail "print obj_with_enum (2)" }
- timeout { fail "(timeout) print obj_with_enum (2)" }
- }
- # print out the enum member
- send_gdb "print obj_with_enum.priv_enum\n"
- gdb_expect {
- -re "\\$\[0-9\]* = green.*$gdb_prompt $" { pass "print obj_with_enum.priv_enum" }
- -re "$gdb_prompt $" { fail "print obj_with_enum.priv_enum" }
- timeout { fail "(timeout) print obj_with_enum.priv_enum" }
- }
+ gdb_test "print obj_with_enum" \
+ "\\$\[0-9\]+ = \{priv_enum = green, x = 0\}" \
+ "print obj_with_enum (2)"
+
+ # print the enum member
+
+ gdb_test "print obj_with_enum.priv_enum" "\\$\[0-9\]+ = green"
# ptype on the enum member
- # The third success case is a little dubious, but it's not clear what
- # ought to be required of a ptype on a private enum... -sts 19990324
- send_gdb "ptype obj_with_enum.priv_enum\n"
- gdb_expect {
- -re "type = enum ClassWithEnum::PrivEnum \\{red, green, blue, yellow = 42\\}.*$gdb_prompt $" { pass "ptype obj_with_enum.priv_enum" }
- -re "type = enum PrivEnum \\{red, green, blue, yellow = 42\\}.*$gdb_prompt $" { pass "ptype obj_with_enum.priv_enum" }
- -re "type = enum \\{red, green, blue, yellow = 42\\}.*$gdb_prompt $" { pass "ptype obj_with_enum.priv_enum" }
- -re "$gdb_prompt $" { fail "ptype obj_with_enum.priv_enum" }
- timeout { fail "(timeout) ptype obj_with_enum.priv_enum" }
+
+ gdb_test_multiple "ptype obj_with_enum.priv_enum" "ptype obj_with_enum.priv_enum" {
+ -re "type = enum ClassWithEnum::PrivEnum \{ ?red, green, blue, yellow = 42 ?\}$nl$gdb_prompt $" {
+ pass "ptype obj_with_enum.priv_enum"
+ }
+ -re "type = enum PrivEnum \{ ?red, green, blue, yellow = 42 ?\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ pass "ptype obj_with_enum.priv_enum"
+ }
+ -re "type = enum \{ ?red, green, blue, yellow = 42 ?\}$nl$gdb_prompt $" {
+ # This case case is a little dubious, but it's not clear what
+ # ought to be required of a ptype on a private enum...
+ # -sts 19990324
+ #
+ # It bugs me that this happens with gcc 3.
+ # -- chastain 2003-12-30
+ #
+ # gcc 2.95.3 -gstabs+
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "ptype obj_with_enum.priv_enum"
+ }
}
# ptype on the object
- send_gdb "ptype obj_with_enum\n"
- gdb_expect {
- -re "type = class ClassWithEnum \\{\r\n\[ \t\]*public:\r\n\[ \t\]*(enum |)ClassWithEnum::PrivEnum priv_enum;\r\n\[ \t\]*int x;\r\n\\}\r\n$gdb_prompt $" { pass "ptype obj_with_enum" }
- -re "type = class ClassWithEnum \\{\r\n\[ \t\]*public:\r\n\[ \t\]*(enum |)PrivEnum priv_enum;\r\n\[ \t\]*int x;.*\\}\r\n$gdb_prompt $"
- {
+ gdb_test_multiple "ptype obj_with_enum" "ptype obj_with_enum" {
+ -re "type = class ClassWithEnum \{${ws}public:${ws}(enum |)ClassWithEnum::PrivEnum priv_enum;${ws}int x;$nl\}$nl$gdb_prompt $" {
+ pass "ptype obj_with_enum"
+ }
+ -re "type = class ClassWithEnum \{${ws}public:${ws}(enum |)PrivEnum priv_enum;${ws}int x;$nl\}$nl$gdb_prompt $" {
# NOTE: carlton/2003-02-28: One could certainly argue that
# this output is acceptable: PrivEnum is a member of
# ClassWithEnum, so there's no need to explicitly qualify
@@ -670,150 +691,85 @@ proc test_enums {} {
# of ClassWithEnum, so we do that output for a bad reason
# instead of a good reason. Under stabs, we probably
# can't get this right; under DWARF-2, we can.
+ #
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ kfail "gdb/57" "ptype obj_with_enum"
+ }
+ -re "type = class ClassWithEnum \{${ws}public:${ws}(enum |)PrivEnum priv_enum;${ws}int x;${ws}ClassWithEnum ?& ?operator ?=\\(ClassWithEnum const ?&\\);${ws}ClassWithEnum\\(ClassWithEnum const ?&\\);${ws}ClassWithEnum\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+
kfail "gdb/57" "ptype obj_with_enum"
}
- -re "$gdb_prompt $" { fail "ptype obj_with_enum" }
- timeout { fail "(timeout) ptype obj_with_enum" }
+ -re "type = class ClassWithEnum \{${ws}public:${ws}(enum |)ClassWithEnum::PrivEnum priv_enum;${ws}int x;${ws}ClassWithEnum ?& ?operator ?=\\(ClassWithEnum const ?&\\);${ws}ClassWithEnum\\(ClassWithEnum const ?&\\);${ws}ClassWithEnum\\((void|)\\);$nl\}$nl$gdb_prompt $" {
+ # I think this is a PASS, but only carlton knows for sure.
+ # -- chastain 2003-12-30
+ #
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ fail "ptype obj_with_enum"
+ }
}
- # We'll do this test twice, because of a parser bug: see
- # PR gdb/826.
+ # I'll do this test two different ways, because of a parser bug.
+ # See PR gdb/826.
- send_gdb "print (ClassWithEnum::PrivEnum) 42\n"
- gdb_expect {
- -re "\\$\[0-9\]* = yellow.*$gdb_prompt $" { pass "print (ClassWithEnum::PrivEnum) 42" }
- -re "A parse error in expression, near `42'.\r\n$gdb_prompt $" {
- # bison 1.35
- kfail "gdb/826" "print (ClassWithEnum::PrivEnum) 42"
+ gdb_test_multiple "print (ClassWithEnum::PrivEnum) 42" "print (ClassWithEnum::PrivEnum) 42" {
+ -re "\\$\[0-9\]+ = yellow$nl$gdb_prompt $" {
+ pass "print (ClassWithEnum::PrivEnum) 42"
}
- -re "A syntax error in expression, near `42'.\r\n$gdb_prompt $" {
- # bison 1.875
+ -re "A (parse|syntax) error in expression, near `42'.$nl$gdb_prompt $" {
+ # "parse error" is bison 1.35.
+ # "syntax error" is bison 1.875.
kfail "gdb/826" "print (ClassWithEnum::PrivEnum) 42"
}
- -re "$gdb_prompt $" { fail "print (ClassWithEnum::PrivEnum) 42" }
- timeout { fail "(timeout) print (ClassWithEnum::PrivEnum) 42" }
}
- send_gdb "print ('ClassWithEnum::PrivEnum') 42\n"
- gdb_expect {
- -re "\\$\[0-9\]* = yellow.*$gdb_prompt $" { pass "print ('ClassWithEnum::PrivEnum') 42" }
- -re "No symbol \"ClassWithEnum::PrivEnum\" in current context.\r\n$gdb_prompt $"
- { kfail "gdb/57" "print ('ClassWithEnum::PrivEnum') 42" }
- -re "$gdb_prompt $" { fail "print ('ClassWithEnum::PrivEnum') 42" }
- timeout { fail "(timeout) print ('ClassWithEnum::PrivEnum') 42" }
+ gdb_test_multiple "print ('ClassWithEnum::PrivEnum') 42" "print ('ClassWithEnum::PrivEnum') 42" {
+ -re "\\$\[0-9\]+ = yellow$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "print ('ClassWithEnum::PrivEnum') 42"
+ }
+ -re "No symbol \"ClassWithEnum::PrivEnum\" in current context.$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
+ # gcc 2.95.3 -gstabs+
+ kfail "gdb/57" "print ('ClassWithEnum::PrivEnum') 42"
+ }
}
}
-#
# Pointers to class members
-#
proc test_pointers_to_class_members {} {
global gdb_prompt
- global decimal
- global nl
-
- gdb_test "print Bar::z" ".* = .int\[ \]*\[( \]*Bar::&\[)\]+\[ \]*Bar::z" "print Bar::z"
- gdb_test "print &Foo::x" ".* = .int\[ \]*\[( \]*Foo::\[*)\]+\[ \]*&Foo::x" "print &Foo::x"
-
- gdb_test "print (int)&Foo::x" ".* = 0" "print (int)&Foo::x"
-
- send_gdb "print (int)&Bar::y == 2*sizeof(int)\n"
- gdb_expect {
- -re ".* = true$nl$gdb_prompt $" {
- pass "print (int)&Bar::y == 2*sizeof(int)"
- }
- -re "There is no field named y.*$gdb_prompt $" {
- setup_xfail "*-*-*"
- fail "print (int)&Bar::y == 2*sizeof(int)"
- }
- -re ".*$gdb_prompt $" { fail "print (int)&Bar::y == 2*sizeof(int)" }
- timeout { fail "print (int)&Bar::y == 2*sizeof(int) (timeout)" ; return }
- }
-
- send_gdb "next 2\n"
- setup_xfail "*-*-*"
- gdb_expect {
- -re "$decimal\[ \t\]+inheritance3 \[)(\]+;$nl$gdb_prompt $" {}
- -re ".*$gdb_prompt $" { fail "next to inheritance3" ; return }
- }
- clear_xfail "*-*-*"
-
- gdb_test "print (int)pmi == sizeof(int)" ".* = false" "print (int)pmi == sizeof(int)"
+ gdb_test "print Bar::z" "\\$\[0-9\]+ = \\(int ?\\( ?Bar::& ?\\) ?\\) ?Bar::z"
+ gdb_test "print &Foo::x" "\\$\[0-9\]+ = \\(int ?\\( ?Foo::\\* ?\\) ?\\) ?&Foo::x"
+ gdb_test "print (int)&Foo::x" "\\$\[0-9\]+ = 0"
+ gdb_test "print (int)&Bar::y == 2*sizeof(int)" "\\$\[0-9\]+ = true"
+
+ # TODO: this is a bogus test. It's looking at a variable that
+ # has not even been declared yet, so it's accessing random junk
+ # on the stack and comparing that it's NOT equal to a specific
+ # value. It's been like this since gdb 4.10 in 1993!
+ # -- chastain 2004-01-01
+ gdb_test "print (int)pmi == sizeof(int)" ".* = false"
}
-#
# Test static members.
-#
proc test_static_members {} {
global gdb_prompt
global hex
- global nl
-
- send_gdb "print Foo::st\n"
- gdb_expect {
- -re ".* = 100$nl$gdb_prompt $" {
- pass "print Foo::st"
- }
- -re "There is no field named st.*$gdb_prompt $" {
- setup_xfail "*-*-*"
- fail "print Foo::st"
- }
- -re ".*$gdb_prompt $" { fail "print Foo::st" }
- timeout { fail "print Foo::st (timeout)" ; return }
- }
-
- send_gdb "set foo.st = 200\n"
- gdb_expect {
- -re ".*$gdb_prompt $" {}
- }
-
- send_gdb "print bar.st\n"
- gdb_expect {
- -re ".* = 200$nl$gdb_prompt $" {
- pass "print bar.st"
- }
- -re "There is no member( or method|) named st.*$gdb_prompt $" {
- setup_xfail "*-*-*"
- fail "print bar.st"
- }
- -re ".*$gdb_prompt $" { fail "print bar.st" }
- timeout { fail "print bar.st (timeout)" ; return }
- }
-
- send_gdb "print &foo.st\n"
- gdb_expect {
- -re ".* = .int \[*)\]+ $hex$nl$gdb_prompt $" {
- pass "print &foo.st"
- }
- -re "There is no member( or method|) named st.*$gdb_prompt $" {
- setup_xfail "*-*-*"
- fail "print &foo.st"
- }
- -re ".*$gdb_prompt $" { fail "print &foo.st" }
- timeout { fail "print &foo.st (timeout)" ; return }
- }
-
- set got_bar_st 0
- send_gdb "print &Bar::st\n"
- gdb_expect {
- -re ".* = .int \[*)\]+ $hex$nl$gdb_prompt $" {
- pass "print &Bar::st"
- set got_bar_st 1
- }
- -re "There is no field named st.*$gdb_prompt $" {
- setup_xfail "*-*-*"
- fail "print &Bar::st"
- }
- -re ".*$gdb_prompt $" { fail "print &Bar::st" }
- timeout { fail "print &Bar::st (timeout)" ; return }
- }
- if $got_bar_st then {
- gdb_test "print *\$" ".* = 200" "print *\$"
- }
+ gdb_test "print Foo::st" "\\$\[0-9\]+ = 100"
+ gdb_test "set foo.st = 200" "" ""
+ gdb_test "print bar.st" "\\$\[0-9\]+ = 200"
+ gdb_test "print &foo.st" "\\$\[0-9\]+ = \\(int ?\\*\\) $hex"
+ gdb_test "print &Bar::st" "\\$\[0-9\]+ = \\(int ?\\*\\) $hex"
+ gdb_test "print *\$" "\\$\[0-9\]+ = 200"
gdb_test "set print static-members off" ""
gdb_test "print csi" \
@@ -840,6 +796,7 @@ proc do_tests {} {
global srcdir
global binfile
global gdb_prompt
+ global nl
set prms_id 0
set bug_id 0
@@ -851,74 +808,71 @@ proc do_tests {} {
gdb_reinitialize_dir $srcdir/$subdir
gdb_load $binfile
- send_gdb "set language c++\n"
- gdb_expect -re "$gdb_prompt $"
- send_gdb "set width 0\n"
- gdb_expect -re "$gdb_prompt $"
-
- runto_main
- test_ptype_class_objects
-
- if [ runto 'inheritance2' ] then {
- test_non_inherited_member_access
- test_wrong_class_members
- test_nonexistent_members
- test_method_param_class
- }
-
- gdb_breakpoint enums2
- if [ gdb_continue "enums2(\\(\\)|)" ]==0 then {
- gdb_test "finish" "" ""
- test_enums
- }
-
- if [istarget "mips-idt-*"] then {
- # Restart because IDT/SIM runs out of file descriptors.
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
- }
-
- if [ runto_main ] then {
- test_pointers_to_class_members
- test_static_members
- }
+ gdb_test "set language c++" "" ""
+ gdb_test "set width 0" "" ""
- if [istarget "mips-idt-*"] then {
- # Restart because IDT/SIM runs out of file descriptors.
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
+ if ![runto_main ] then {
+ perror "couldn't run to breakpoint"
+ return
}
- if [ runto marker_reg1 ] then {
-
- gdb_test "finish" "Run till exit from.*" "finish from marker_reg1"
+ gdb_breakpoint inheritance2
+ gdb_test "continue" ".*Breakpoint .* inheritance2.*" ""
- send_gdb "print v.method ()\n"
- gdb_expect {
- -re "= 82.*$gdb_prompt $" {
- pass "calling method for small class"
- }
- -re "Address requested for identifier .v. which is in register.*$gdb_prompt $" {
- setup_xfail "*-*-*" 2972
- fail "calling method for small class"
- }
- -re ".*$gdb_prompt $" { fail "calling method for small class" }
- timeout { fail "calling method for small class (timeout)" }
- eof { fail "calling method for small class (eof)" }
- }
- }
+ test_ptype_class_objects
+ test_non_inherited_member_access
+ test_wrong_class_members
+ test_nonexistent_members
+ test_method_param_class
+ gdb_breakpoint enums2
+ gdb_test "continue" ".*Breakpoint .* enums2.*" "continue to enums2(\\(\\)|)"
+ gdb_test "finish" "" ""
+ test_enums
+
+ gdb_test "finish" "" ""
+ test_pointers_to_class_members
+ test_static_members
+
+ # Now some random tests that were just thrown in here.
+
+ gdb_breakpoint marker_reg1
+ gdb_test "continue" ".*Breakpoint .* marker_reg1.*" ""
+ gdb_test "finish" "Run till exit from.*" "finish from marker_reg1"
+
+ # This class is so small that an instance of it can fit in a register.
+ # When gdb tries to call a method, it gets embarrassed about taking
+ # the address of a register.
+ #
+ # TODO: I think that message should be a PASS, not an XFAIL.
+ # gdb prints an informative message and declines to do something
+ # impossible.
+ #
+ # The method call actually succeeds if the compiler allocates very
+ # small classes in memory instead of registers. So this test does
+ # not tell us anything interesting if the call succeeds.
+ #
+ # -- chastain 2003-12-31
+ gdb_test_multiple "print v.method ()" "calling method for small class" {
+ -re "\\$\[0-9\]+ = 82$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gdwarf-2
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gdwarf-2
+ # gcc 3.3.2 -gstabs+
+ # gcc HEAD 2003-12-28 21:08:30 UTC -gstabs+
+ pass "calling method for small class"
+ }
+ -re "Address requested for identifier \"v\" which is in register .*$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 2.95.3 -gstabs+
+ setup_xfail "*-*-*" 2972
+ fail "calling method for small class"
+ }
+ }
+
+ # This is a random v2 demangling test.
+ # This is redundant with existing tests in demangle.exp.
+ # TODO: Just remove this.
+ gdb_test "maint demangle inheritance1__Fv" "inheritance1\\(void\\)" "demangle"
}
do_tests
-
-send_gdb "maint demangle inheritance1__Fv\n"
-gdb_expect {
- -re "inheritance1\\(void\\).*$gdb_prompt $" { pass "demangle" }
- -re ".*$gdb_prompt $" { fail "demangle" }
- timeout { fail "(timeout) demangle" }
-}
diff --git a/gdb/testsuite/gdb.cp/ctti.exp b/gdb/testsuite/gdb.cp/ctti.exp
index 1bc005afed5..a5e75d8136e 100644
--- a/gdb/testsuite/gdb.cp/ctti.exp
+++ b/gdb/testsuite/gdb.cp/ctti.exp
@@ -1,4 +1,4 @@
-# Copyright 1998, 1999, 2001, 2003 Free Software Foundation, Inc.
+# Copyright 1998, 1999, 2001, 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,253 +17,194 @@
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
-
# This file is part of the gdb testsuite
# file written by Elena Zannoni (ezannoni@cygnus.com)
+# rewritten by Michael Chastain (mec.gnu@mindspring.com)
#
# source files cttiadd.cc, cttiadd1.cc, cttiadd2.cc, cttiadd3.cc
-#
+# Call to template instantiations.
if $tracelevel then {
- strace $tracelevel
+ strace $tracelevel
}
if { [skip_cplus_tests] } { continue }
-# Check to see if we have an executable to test. If not, then either we
-# haven't tried to compile one, or the compilation failed for some reason.
-# In either case, just notify the user and skip the tests in this file.
-
set testfile "cttiadd"
-set srcfile ${testfile}.cc
-set srcfile1 ${testfile}1.cc
-set srcfile2 ${testfile}2.cc
-set srcfile3 ${testfile}3.cc
-set binfile ${objdir}/${subdir}/${testfile}
+set srcfile "${srcdir}/${subdir}/${testfile}.cc"
+set srcfile1 "${srcdir}/${subdir}/${testfile}1.cc"
+set srcfile2 "${srcdir}/${subdir}/${testfile}2.cc"
+set srcfile3 "${srcdir}/${subdir}/${testfile}3.cc"
+set objfile "${objdir}/${subdir}/${testfile}.o"
+set objfile1 "${objdir}/${subdir}/${testfile}1.o"
+set objfile2 "${objdir}/${subdir}/${testfile}2.o"
+set objfile3 "${objdir}/${subdir}/${testfile}3.o"
+set binfile "${objdir}/${subdir}/${testfile}"
+
+if { [gdb_compile "${srcfile}" "${objfile}" object {debug c++}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
-if [get_compiler_info ${binfile} "c++"] {
- return -1;
+if { [gdb_compile "${srcfile1}" "${objfile1}" object {debug c++}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
-if { [test_compiler_info gcc-*] } then { continue }
+if { [gdb_compile "${srcfile2}" "${objfile2}" object {debug c++}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
-#if { [gdb_compile "${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile1} ${srcdir}/${subdir}/${srcfile2} ${srcdir}/${subdir}/${srcfile3}" "${binfile}" executable {debug c++}] != "" } {
-# gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
-#}
+if { [gdb_compile "${srcfile3}" "${objfile3}" object {debug c++}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
-set cmdline "$CXX_FOR_TARGET ${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile1} ${srcdir}/${subdir}/${srcfile2} ${srcdir}/${subdir}/${srcfile3} -g -o ${binfile}"
+if { [gdb_compile "${objfile} ${objfile1} ${objfile2} ${objfile3}" "${binfile}" executable {debug c++}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
-remote_exec build $cmdline
+if [get_compiler_info ${binfile} "c++"] {
+ return -1;
+}
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
}
+gdb_breakpoint [gdb_get_line_number "marker add1"]
+gdb_continue_to_breakpoint "marker add1"
-send_gdb "n\n"
-gdb_expect {
- -re "$decimal.*i = 2;.*$gdb_prompt $" {
- pass "next "
- }
- -re ".*$gdb_prompt $" { fail "next " }
- timeout { fail "next " }
- }
-
-
-send_gdb "n\n"
-gdb_expect {
- -re "$decimal.*f = 4.5;.*$gdb_prompt $" {
- pass "next "
- }
- -re ".*$gdb_prompt $" { fail "next " }
- timeout { fail "next " }
- }
-
-send_gdb "n\n"
-gdb_expect {
- -re "$decimal.*c = add\\(c, c\\);.*$gdb_prompt $" {
- pass "next "
- }
- -re ".*$gdb_prompt $" { fail "next " }
- timeout { fail "next " }
- }
-
-send_gdb "n\n"
-gdb_expect {
- -re "$decimal.*i = add\\(i, i\\);.*$gdb_prompt $" {
- pass "next "
- }
- -re ".*$gdb_prompt $" { fail "next " }
- timeout { fail "next " }
- }
-
-send_gdb "n\n"
-gdb_expect {
- -re "$decimal.*f = add\\(f, f\\);.*$gdb_prompt $" {
- pass "next "
- }
- -re ".*$gdb_prompt $" { fail "next " }
- timeout { fail "next " }
- }
-
-send_gdb "n\n"
-gdb_expect {
- -re "$decimal.*add1\\(\\);.*$gdb_prompt $" {
- pass "next "
- }
- -re ".*$gdb_prompt $" { fail "next " }
- timeout { fail "next " }
- }
-
-send_gdb "print c\n"
-gdb_expect {
- -re ".$decimal = -62.*\r\n$gdb_prompt $" {
- pass "print value of c"
- }
- -re ".*$gdb_prompt $" { fail "print value of c" }
- timeout { fail "(timeout) print value of c" }
- }
+gdb_test "print c" "\\$\[0-9\]+ = -62 .*"
+gdb_test "print f" "\\$\[0-9\]+ = 9"
+gdb_test "print i" "\\$\[0-9\]+ = 4"
+# TODO: this needs more work before actually deploying it.
+# So bail out here.
-send_gdb "print f\n"
-gdb_expect {
- -re ".$decimal = 9\r\n$gdb_prompt $" {
- pass "print value of f"
- }
- -re ".*$gdb_prompt $" { fail "print value of f" }
- timeout { fail "(timeout) print value of f" }
- }
-
-
-send_gdb "print i\n"
-gdb_expect {
- -re ".$decimal = 4\r\n$gdb_prompt $" {
- pass "print value of i"
- }
- -re ".*$gdb_prompt $" { fail "print value of i" }
- timeout { fail "(timeout) print value of i" }
- }
-
-
-
-send_gdb "print add<int>(2,2)\n"
-gdb_expect {
- -re ".$decimal = 4\r\n$gdb_prompt $" {
- pass "print value of add<int>(2,2)"
- }
- -re ".*$gdb_prompt $" { fail "print value of add<int>(2,2)" }
- timeout { fail "(timeout) print value of add<int>(2,2)" }
- }
-
-send_gdb "print add<float>(2.3,2.3)\n"
-gdb_expect {
- -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" {
- pass "print value of add<float>(2.3,2.3)"
- }
- -re ".*$gdb_prompt $" { fail "print value of add<float>(2.3,2.3)" }
- timeout { fail "(timeout) print value of add<float>(2.3,2.3)" }
- }
-
-send_gdb "print add<char>('A','A')\n"
-gdb_expect {
- -re ".$decimal = -126.*202.\r\n$gdb_prompt $" {
- pass "print value of add<char>('A','A')"
- }
- -re ".*$gdb_prompt $" { fail "print value of add<char>('A','A')" }
- timeout { fail "(timeout) print value of add<char>('A','A')" }
- }
+if { [ test_compiler_info gcc-*] } then { continue }
+gdb_test_multiple "print add<int>(2,2)" "print add<int>(2,2)" {
+ -re "\\$\[0-9\]+ = 4\r\n$gdb_prompt $" {
+ pass "print add<int>(2,2)"
+ }
+ -re "No symbol \"add<int>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add<int>(2,2)"
+ }
+}
-send_gdb "print add2<int>(2,2)\n"
-gdb_expect {
- -re ".$decimal = 4\r\n$gdb_prompt $" {
- pass "print value of add2<int>(2,2)"
- }
- -re ".*$gdb_prompt $" { fail "print value of add2<int>(2,2)" }
- timeout { fail "(timeout) print value of add2<int>(2,2)" }
- }
+# Note: 2.25 and 4.5 are exactly representable in IEEE-ish formats
+gdb_test_multiple "print add<float>(2.25,2.25)" "print add<float>(2.25,2.25)" {
+ -re "\\$\[0-9\]+ = 4\\.5\r\n$gdb_prompt $" {
+ pass "print add<float>(2.25,2.25)"
+ }
+ -re "No symbol \"add<float>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add<float>(2.25,2.25)"
+ }
+}
-send_gdb "print add2<float>(2.3,2.3)\n"
-gdb_expect {
- -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" {
- pass "print value of add2<float>(2.3,2.3)"
- }
- -re ".*$gdb_prompt $" { fail "print value of add2<float>(2.3,2.3)" }
- timeout { fail "(timeout) print value of add2<float>(2.3,2.3)" }
- }
+gdb_test_multiple "print add<char>('A','A')" "print add<char>('A','A')" {
+ -re "\\$\[0-9\]+ = -126 .*\r\n$gdb_prompt $" {
+ pass "print add<char>('A','A')"
+ }
+ -re "No symbol \"add<char>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add<char>('A','A')"
+ }
+}
-send_gdb "print add2<char>('A','A')\n"
-gdb_expect {
- -re ".$decimal = -126.*202.\r\n$gdb_prompt $" {
- pass "print value of add2<char>('A','A')"
- }
- -re ".*$gdb_prompt $" { fail "print value of add2<char>('A','A')" }
- timeout { fail "(timeout) print value of add2<char>('A','A')" }
- }
+gdb_test_multiple "print add2<int>(2,2)" "print add2<int>(2,2)" {
+ -re "\\$\[0-9\]+ = 4\r\n$gdb_prompt $" {
+ pass "print add2<int>(2,2)"
+ }
+ -re "No symbol \"add2<int>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add2<int>(2,2)"
+ }
+}
-send_gdb "print add3<int>(2,2)\n"
-gdb_expect {
- -re ".$decimal = 4\r\n$gdb_prompt $" {
- pass "print value of add3<int>(2,2)"
- }
- -re ".*$gdb_prompt $" { fail "print value of add3<int>(2,2)" }
- timeout { fail "(timeout) print value of add3<int>(2,2)" }
- }
+gdb_test_multiple "print add2<float>(2.25,2.25)" "print add2<float>(2.25,2.25)" {
+ -re "\\$\[0-9\]+ = 4\\.5\r\n$gdb_prompt $" {
+ pass "print add2<float>(2.25,2.25)"
+ }
+ -re "No symbol \"add2<float>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add2<float>(2.25,2.25)"
+ }
+}
-send_gdb "print add3<float>(2.3,2.3)\n"
-gdb_expect {
- -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" {
- pass "print value of add3<float>(2.3,2.3)"
- }
- -re ".*$gdb_prompt $" { fail "print value of add3<float>(2.3,2.3)" }
- timeout { fail "(timeout) print value of add3<float>(2.3,2.3)" }
- }
+gdb_test_multiple "print add2<char>('A','A')" "print add2<char>('A','A')" {
+ -re "\\$\[0-9]+ = -126 .*$gdb_prompt $" {
+ pass "print add2<char>('A','A')"
+ }
+ -re "No symbol \"add2<char>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add2<char>('A','A')"
+ }
+}
-send_gdb "print add3<char>('A','A')\n"
-gdb_expect {
- -re ".$decimal = -126.*202.\r\n$gdb_prompt $" {
- pass "print value of add3<char>('A','A')"
- }
- -re ".*$gdb_prompt $" { fail "print value of add3<char>('A','A')" }
- timeout { fail "(timeout) print value of add3<char>('A','A')" }
- }
+gdb_test_multiple "print add3<int>(2,2)" "print add3<int>(2,2)" {
+ -re "\\$\[0-9\]+ = 4\r\n$gdb_prompt $" {
+ pass "print add3<int>(2,2)"
+ }
+ -re "No symbol \"add3<int>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add3<int>(2,2)"
+ }
+}
-send_gdb "print add4<int>(2,2)\n"
-gdb_expect {
- -re ".$decimal = 4\r\n$gdb_prompt $" {
- pass "print value of add4<int>(2,2)"
- }
- -re ".*$gdb_prompt $" { fail "print value of add4<int>(2,2)" }
- timeout { fail "(timeout) print value of add4<int>(2,2)" }
- }
+gdb_test_multiple "print add3<float>(2.25,2.25)" "print add3<float>(2.25,2.25)" {
+ -re "\\$\[0-9\]+ = 4\\.5\r\n$gdb_prompt $" {
+ pass "print add3<float>(2.25,2.25)"
+ }
+ -re "No symbol \"add3<float>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add3<float>(2.25,2.25)"
+ }
+}
-send_gdb "print add4<float>(2.3,2.3)\n"
-gdb_expect {
- -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" {
- pass "print value of add4<float>(2.3,2.3)"
- }
- -re ".*$gdb_prompt $" { fail "print value of add4<float>(2.3,2.3)" }
- timeout { fail "(timeout) print value of add4<float>(2.3,2.3)" }
- }
+gdb_test_multiple "print add3<char>('A','A')" "print add3<char>('A','A')" {
+ -re "\\$\[0-9]+ = -126 .*$gdb_prompt $" {
+ pass "print add3<char>('A','A')"
+ }
+ -re "No symbol \"add3<char>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add3<char>('A','A')"
+ }
+}
-send_gdb "print add4<char>('A','A')\n"
-gdb_expect {
- -re ".$decimal = -126.*202.\r\n$gdb_prompt $" {
- pass "print value of add4<char>('A','A')"
- }
- -re ".*$gdb_prompt $" { fail "print value of add4<char>('A','A')" }
- timeout { fail "(timeout) print value of add4<char>('A','A')" }
- }
+gdb_test_multiple "print add4<int>(2,2)" "print add4<int>(2,2)" {
+ -re "\\$\[0-9\]+ = 4\r\n$gdb_prompt $" {
+ pass "print add4<int>(2,2)"
+ }
+ -re "No symbol \"add4<int>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add4<int>(2,2)"
+ }
+}
+gdb_test_multiple "print add4<float>(2.25,2.25)" "print add4<float>(2.25,2.25)" {
+ -re "\\$\[0-9\]+ = 4\\.5\r\n$gdb_prompt $" {
+ pass "print add4<float>(2.25,2.25)"
+ }
+ -re "No symbol \"add4<float>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add4<float>(2.25,2.25)"
+ }
+}
-gdb_exit
-return 0
+gdb_test_multiple "print add4<char>('A','A')" "print add4<char>('A','A')" {
+ -re "\\$\[0-9]+ = -126 .*$gdb_prompt $" {
+ pass "print add4<char>('A','A')"
+ }
+ -re "No symbol \"add4<char>\" in current context.\r\n$gdb_prompt $" {
+ # TODO: kfail or xfail this
+ fail "print add4<char>('A','A')"
+ }
+}
diff --git a/gdb/testsuite/gdb.cp/cttiadd.cc b/gdb/testsuite/gdb.cp/cttiadd.cc
index 1f50fae24c1..195860531e5 100644
--- a/gdb/testsuite/gdb.cp/cttiadd.cc
+++ b/gdb/testsuite/gdb.cp/cttiadd.cc
@@ -1,3 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 1998, 1999, 2004 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb@prep.ai.mit.edu */
+
template<class T> T add(T v1, T v2)
{
T v3;
@@ -23,6 +44,7 @@ int main()
i = add(i, i);
f = add(f, f);
+ // marker add1
add1();
subr2();
subr3();
diff --git a/gdb/testsuite/gdb.cp/cttiadd1.cc b/gdb/testsuite/gdb.cp/cttiadd1.cc
index 7113ecea421..3ef318a60d6 100644
--- a/gdb/testsuite/gdb.cp/cttiadd1.cc
+++ b/gdb/testsuite/gdb.cp/cttiadd1.cc
@@ -1,3 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 1998, 1999 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb@prep.ai.mit.edu */
+
template<class T> T add(T v1, T v2);
void add1()
diff --git a/gdb/testsuite/gdb.cp/cttiadd2.cc b/gdb/testsuite/gdb.cp/cttiadd2.cc
index d0d9891fb2f..a2f04b5aaca 100644
--- a/gdb/testsuite/gdb.cp/cttiadd2.cc
+++ b/gdb/testsuite/gdb.cp/cttiadd2.cc
@@ -1,3 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 1998, 1999 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb@prep.ai.mit.edu */
+
template<class T> T add2(T v1, T v2)
{
T v3;
diff --git a/gdb/testsuite/gdb.cp/cttiadd3.cc b/gdb/testsuite/gdb.cp/cttiadd3.cc
index 7ba1b019f16..60fb61a2aba 100644
--- a/gdb/testsuite/gdb.cp/cttiadd3.cc
+++ b/gdb/testsuite/gdb.cp/cttiadd3.cc
@@ -1,3 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 1998, 1999 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb@prep.ai.mit.edu */
+
template<class T> T add3(T v1, T v2)
{
T v3;
diff --git a/gdb/testsuite/gdb.cp/derivation.exp b/gdb/testsuite/gdb.cp/derivation.exp
index 39acf2570a9..5f75899feee 100644
--- a/gdb/testsuite/gdb.cp/derivation.exp
+++ b/gdb/testsuite/gdb.cp/derivation.exp
@@ -1,4 +1,5 @@
-# Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,24 +19,23 @@
# bug-gdb@prep.ai.mit.edu
# This file was written by Elena Zannoni (ezannoni@cygnus.com)
+# And rewritten by Michael Chastain <mec.gnu@mindspring.com>
# This file is part of the gdb testsuite
-#
-#
-# tests for inheritance, with several derivations types combinations (private,
-# public, protected)
+# tests for inheritance, with several derivations types combinations
+# (private, public, protected)
# classes have simple members and member functions.
-#
+set ws "\[\r\n\t \]+"
+set nl "\[\r\n\]+"
if $tracelevel then {
- strace $tracelevel
- }
+ strace $tracelevel
+}
+
+# Start program.
-#
-# test running programs
-#
set prms_id 0
set bug_id 0
@@ -45,13 +45,6 @@ set testfile "derivation"
set srcfile ${testfile}.cc
set binfile ${objdir}/${subdir}/${testfile}
-# Create and source the file that provides information about the compiler
-# used to compile the test case.
-
-if [get_compiler_info ${binfile} "c++"] {
- return -1
-}
-
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
@@ -61,13 +54,7 @@ gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-#
-# set it up at a breakpoint so we can play with the variable values
-#
-if ![runto_main] then {
- perror "couldn't run to breakpoint"
- continue
-}
+# Set it up at a breakpoint so we can play with the variable values.
if ![runto 'marker1'] then {
perror "couldn't run to marker1"
@@ -76,236 +63,150 @@ if ![runto 'marker1'] then {
gdb_test "up" ".*main.*" "up from marker1"
+# Print class types and values.
+# See virtfunc.exp for a discussion of ptype.
+
+# class A
+
+set re_class "((struct|class) A \{${ws}public:|struct A \{)"
+set re_fields "int a;${ws}int aa;"
+set re_methods "A\\((void|)\\);${ws}int afoo\\((void|)\\);${ws}int foo\\((void|)\\);"
+set re_synth_gcc_23 "A & operator=\\(A const ?&\\);${ws}A\\(A const ?&\\);"
+set re_all_methods "($re_methods|$re_methods${ws}$re_synth_gcc_23|$re_synth_gcc_23${ws}$re_methods)"
+gdb_test "print a_instance" "\\$\[0-9\]+ = \{a = 1, aa = 2\}" "print value of a_instance"
-send_gdb "print a_instance\n"
-gdb_expect {
- -re ".\[0-9\]* = \{a = 1, aa = 2\}\r\n$gdb_prompt $" {
- pass "print value of a_instance"
- }
- -re ".*$gdb_prompt $" { fail "print value of a_instance" }
- timeout { fail "(timeout) print value of a_instance" }
- }
+gdb_test_multiple "ptype a_instance" "ptype a_instance" {
+ -re "type = $re_class${ws}$re_fields${ws}$re_methods$nl\}$nl$gdb_prompt $" {
+ pass "ptype a_instance (no synth ops)"
+ }
+ -re "type = $re_class${ws}$re_fields${ws}$re_synth_gcc_23${ws}$re_methods${ws}$nl\}$nl$gdb_prompt $" {
+ pass "ptype a_instance (with synth ops)"
+ }
+ -re "type = $re_class${ws}$re_fields${ws}$re_methods${ws}$re_synth_gcc_23$nl\}$nl$gdb_prompt $" {
+ pass "ptype a_instance (with synth ops)"
+ }
+}
+
+# class D
+set re_class "class D : private A, public B, protected C \{${ws}public:"
+set XX_class "class D : private A, public B, private C \{${ws}public:"
+set re_fields "int d;${ws}int dd;"
+set re_methods "D\\((void|)\\);${ws}int dfoo\\((void|)\\);${ws}int foo\\((void|)\\);"
+set re_synth_gcc_23 "D & operator=\\(D const ?&\\);${ws}D\\(D const ?&\\);"
+set re_all_methods "($re_methods|$re_methods${ws}$re_synth_gcc_23|$re_synth_gcc_23${ws}$re_methods)"
-send_gdb "ptype a_instance\n"
-gdb_expect {
- -re "type = class A \{\r\n\[\t \]*public:\r\n\[\t \]*int a;\r\n\[\t \]*int aa;\[\r\n\t ]+A & operator=\\(A const ?&\\);\[\r\n\t ]+A\\((A const|const A) ?&\\);\[\r\n\t ]+A\\((void|)\\);\r\n\[\t \]*int afoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype a_instance (with synth ops)" }
- -re "type = class A \{\r\n\[\t \]*public:\r\n\[\t \]*int a;\r\n\[\t \]*int aa;\[\r\n\t \]+A\\(void\\);\r\n\[\t \]*int afoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype a_instance (no synth ops)" }
- -re ".*$gdb_prompt $" { fail "ptype a_instance" }
- timeout { fail "(timeout) ptype a_instance" }
+gdb_test_multiple "print d_instance" "print value of d_instance" {
+ -re "\\$\[0-9\]+ = \{<(class A|A)> = \{a = 1, aa = 2\}, <(class B|B)> = \{b = 3, bb = 4\}, <(class C|C)> = \{c = 5, cc = 6\}, d = 7, dd = 8\}$nl$gdb_prompt $" {
+ pass "print value of d_instance"
+ }
+}
+
+gdb_test_multiple "ptype d_instance" "ptype d_instance" {
+ -re "type = $re_class${ws}$re_fields${ws}$re_methods${ws}$re_synth_gcc_23$nl\}$nl$gdb_prompt $" {
+ pass "ptype d_instance"
+ }
+ -re "type = $re_class${ws}$re_fields${ws}$re_all_methods$nl\}$nl$gdb_prompt $" {
+ pass "ptype d_instance"
+ }
+ -re "type = $XX_class${ws}$re_fields${ws}$re_methods${ws}$re_synth_gcc_23$nl\}$nl$gdb_prompt $" {
+ # TODO: this is a gcc bug
+ # kfail "gdb/1498" "ptype d_instance"
+ pass "ptype d_instance"
+ }
+ -re "type = $XX_class${ws}$re_fields${ws}$re_all_methods$nl\}$nl$gdb_prompt $" {
+ # TODO: this is a gcc bug.
+ # kfail "gdb/1498" "ptype d_instance"
+ pass "ptype d_instance"
+ }
}
+# class E
+
+set re_class "class E : public A, private B, protected C \{${ws}public:"
+set XX_class "class E : public A, private B, private C \{${ws}public:"
+set re_fields "int e;${ws}int ee;"
+set re_methods "E\\((void|)\\);${ws}int efoo\\((void|)\\);${ws}int foo\\((void|)\\);"
+set re_synth_gcc_23 "E & operator=\\(E const ?&\\);${ws}E\\(E const ?&\\);"
+set re_all_methods "($re_methods|$re_methods${ws}$re_synth_gcc_23|$re_synth_gcc_23${ws}$re_methods)"
+
+gdb_test_multiple "print e_instance" "print value of e_instance" {
+ -re "\\$\[0-9\]+ = \{<(class A|A)> = \{a = 1, aa = 2\}, <(class B|B)> = \{b = 3, bb = 4\}, <(class C|C)> = \{c = 5, cc = 6\}, e = 9, ee = 10\}$nl$gdb_prompt $" {
+ pass "print value of e_instance"
+ }
+}
-send_gdb "print d_instance\n"
-gdb_expect {
- -re ".\[0-9\]* = \{<A> = \{a = 1, aa = 2\}, <B> = \{b = 3, bb = 4\}, <C> = \{c = 5, cc = 6\}, d = 7, dd = 8\}\r\n$gdb_prompt $" {
- pass "print value of d_instance"
- }
- -re ".\[0-9\]* = \{<class A> = \{a = 1, aa = 2\}, <class B> = \{b = 3, bb = 4\}, <class C> = \{c = 5, cc = 6\}, d = 7, dd = 8\}\r\n$gdb_prompt $" {
- pass "print value of d_instance"
- }
- -re ".*$gdb_prompt $" { fail "print value of d_instance" }
- timeout { fail "(timeout) print value of d_instance" }
- }
-
- if { [test_compiler_info gcc-*] } then {
- send_gdb "ptype d_instance\n"
- gdb_expect {
- -re "type = class D : private A, public B, (protected|private) C \{\r\n\[\t \]*public:\r\n\[\t \]*int d;\r\n\[\t \]*int dd;\[\r\n\t ]+D & operator=\\(D const ?&\\);\[\r\n\t ]+D\\((D const|const D) ?&\\);\[\r\n\t \]+D\\((void|)\\);\r\n\[\t \]*int dfoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype d_instance" }
- -re "type = class D : private A, public B, (protected|private) C \{\r\n\[\t \]*public:\r\n\[\t \]*int d;\r\n\[\t \]*int dd;\[\r\n\t ]+D & operator=\\(D const ?&\\);\[\r\n\t ]+D\\((D const|const D) ?&\\);\[\r\n\t \]+D\\((void|)\\);\r\n\[\t \]*int dfoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype d_instance" }
- -re "type = class D : private A, public B, (protected|private) C \{\r\n\[\t \]*public:\r\n\[\t \]*int d;\r\n\[\t \]*int dd;\[\r\n\t \]+D\\(void\\);\r\n\[\t \]*int dfoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype d_instance" }
- -re ".*$gdb_prompt $" { fail "ptype d_instance" }
- timeout { fail "(timeout) ptype d_instance" }
- }
- } else {
- send_gdb "ptype d_instance\n"
- gdb_expect {
- -re "type = class D : private A, public B, protected C \{\r\n\[\t \]*public:\r\n\[\t \]*int d;\r\n\[\t \]*int dd;\[\r\n\t \]+D\\(void\\);\r\n\[\t \]*int dfoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype d_instance" }
- -re ".*$gdb_prompt $" { fail "ptype d_instance" }
- timeout { fail "(timeout) ptype d_instance" }
- }
- }
-
-
-send_gdb "print e_instance\n"
-gdb_expect {
- -re ".\[0-9\]* = \{<A> = \{a = 1, aa = 2\}, <B> = \{b = 3, bb = 4\}, <C> = \{c = 5, cc = 6\}, e = 9, ee = 10\}\r\n$gdb_prompt $" {
- pass "print value of e_instance"
- }
- -re ".\[0-9\]* = \{<class A> = \{a = 1, aa = 2\}, <class B> = \{b = 3, bb = 4\}, <class C> = \{c = 5, cc = 6\}, e = 9, ee = 10\}\r\n$gdb_prompt $" {
- pass "print value of e_instance"
- }
- -re ".*$gdb_prompt $" { fail "print value of e_instance" }
- timeout { fail "(timeout) print value of e_instance" }
- }
-
- if { [test_compiler_info gcc-*] } then {
- send_gdb "ptype e_instance\n"
- gdb_expect {
- -re "type = class E : public A, private B, (protected|private) C \{\r\n\[\t \]*public:\r\n\[\t \]*int e;\r\n\[\t \]*int ee;\[\r\n\t ]+E & operator=\\(E const ?&\\);\[\r\n\t ]+E\\((E const|const E) ?&\\);\[\r\n\t \]+E\\((void|)\\);\r\n\[\t \]*int efoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype e_instance" }
- -re "type = class E : public A, private B, (protected|private) C \{\r\n\[\t \]*public:\r\n\[\t \]*int e;\r\n\[\t \]*int ee;\[\r\n\t \]+E\\((void|)\\);\r\n\[\t \]*int efoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype e_instance" }
- -re ".*$gdb_prompt $" { fail "ptype e_instance" }
- timeout { fail "(timeout) ptype e_instance" }
- }
- } else {
- send_gdb "ptype e_instance\n"
- gdb_expect {
- -re "type = class E : public A, private B, protected C \{\r\n\[\t \]*public:\r\n\[\t \]*int e;\r\n\[\t \]*int ee;\[\r\n\t \]+E\\((void|)\\);\r\n\[\t \]*int efoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype e_instance" }
- -re ".*$gdb_prompt $" { fail "ptype e_instance" }
- timeout { fail "(timeout) ptype e_instance" }
- }
- }
-
-
-send_gdb "print f_instance\n"
-gdb_expect {
- -re ".\[0-9\]* = \{<A> = \{a = 1, aa = 2\}, <B> = \{b = 3, bb = 4\}, <C> = \{c = 5, cc = 6\}, f = 11, ff = 12\}\r\n$gdb_prompt $" {
- pass "print value of f_instance"
- }
- -re ".\[0-9\]* = \{<class A> = \{a = 1, aa = 2\}, <class B> = \{b = 3, bb = 4\}, <class C> = \{c = 5, cc = 6\}, f = 11, ff = 12\}\r\n$gdb_prompt $" {
- pass "print value of f_instance"
- }
- -re ".*$gdb_prompt $" { fail "print value of f_instance" }
- timeout { fail "(timeout) print value of f_instance" }
- }
-
-send_gdb "ptype f_instance\n"
-gdb_expect {
- -re "type = class F : private A, public B, private C \{\r\n\[\t \]*public:\r\n\[\t \]*int f;\r\n\[\t \]*int ff;\[\r\n\t ]+F & operator=\\(F const ?&\\);\[\r\n\t ]+F\\((F const|const F) ?&\\);\[\r\n\t \]+F\\((void|)\\);\r\n\[\t \]*int ffoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype f_instance" }
- -re "type = class F : private A, public B, private C \{\r\n\[\t \]*public:\r\n\[\t \]*int f;\r\n\[\t \]*int ff;\[\r\n\t \]+F\\((void|)\\);\r\n\[\t \]*int ffoo\\((void|)\\);\r\n\[\t \]*int foo\\((void|)\\);\r\n\}.*$gdb_prompt $" { pass "ptype f_instance" }
- -re ".*$gdb_prompt $" { fail "ptype f_instance" }
- timeout { fail "(timeout) ptype f_instance" }
+gdb_test_multiple "ptype e_instance" "ptype e_instance" {
+ -re "type = $re_class${ws}$re_fields${ws}$re_methods${ws}$re_synth_gcc_23$nl\}$nl$gdb_prompt $" {
+ pass "ptype e_instance"
+ }
+ -re "type = $re_class${ws}$re_fields${ws}$re_all_methods$nl\}$nl$gdb_prompt $" {
+ pass "ptype e_instance"
+ }
+ -re "type = $XX_class${ws}$re_fields${ws}$re_methods${ws}$re_synth_gcc_23$nl\}$nl$gdb_prompt $" {
+ # TODO: this is a gcc bug.
+ # kfail "gdb/1498" "ptype e_instance"
+ pass "ptype e_instance"
+ }
+ -re "type = $XX_class${ws}$re_fields${ws}$re_all_methods$nl\}$nl$gdb_prompt $" {
+ # TODO: this is a gcc bug.
+ # kfail "gdb/1498" "ptype e_instance"
+ pass "ptype e_instance"
+ }
}
+# class F
+set re_class "class F : private A, public B, private C \{${ws}public:"
+set re_fields "int f;${ws}int ff;"
+set re_methods "F\\((void|)\\);${ws}int ffoo\\((void|)\\);${ws}int foo\\((void|)\\);"
+set re_synth_gcc_23 "F & operator=\\(F const ?&\\);${ws}F\\(F const ?&\\);"
+set re_all_methods "($re_methods|$re_methods${ws}$re_synth_gcc_23|$re_synth_gcc_23${ws}$re_methods)"
-send_gdb "print d_instance.a\n"
-gdb_expect {
- -re ".\[0-9\]* = 1.*$gdb_prompt $" {
- pass "print value of d_instance.a"
- }
- -re ".*$gdb_prompt $" { fail "print value of d_instance.a" }
- timeout { fail "(timeout) print value of d_instance.a" }
- }
-
-send_gdb "print d_instance.aa\n"
-gdb_expect {
- -re ".\[0-9\]* = 2.*$gdb_prompt $" {
- pass "print value of d_instance.aa"
- }
- -re ".*$gdb_prompt $" { fail "print value of d_instance.aa" }
- timeout { fail "(timeout) print value of d_instance.aa" }
- }
-
-send_gdb "print d_instance.b\n"
-gdb_expect {
- -re ".\[0-9\]* = 3.*$gdb_prompt $" {
- pass "print value of d_instance.b"
- }
- -re ".*$gdb_prompt $" { fail "print value of d_instance.b" }
- timeout { fail "(timeout) print value of d_instance.b" }
- }
-
-send_gdb "print d_instance.bb\n"
-gdb_expect {
- -re ".\[0-9\]* = 4.*$gdb_prompt $" {
- pass "print value of d_instance.bb"
- }
- -re ".*$gdb_prompt $" { fail "print value of d_instance.bb" }
- timeout { fail "(timeout) print value of d_instance.bb" }
- }
-
-send_gdb "print d_instance.c\n"
-gdb_expect {
- -re ".\[0-9\]* = 5.*$gdb_prompt $" {
- pass "print value of d_instance.c"
- }
- -re ".*$gdb_prompt $" { fail "print value of d_instance.c" }
- timeout { fail "(timeout) print value of d_instance.c" }
- }
-
-send_gdb "print d_instance.cc\n"
-gdb_expect {
- -re ".\[0-9\]* = 6.*$gdb_prompt $" {
- pass "print value of d_instance.cc"
- }
- -re ".*$gdb_prompt $" { fail "print value of d_instance.cc" }
- timeout { fail "(timeout) print value of d_instance.cc" }
- }
-
-send_gdb "print d_instance.d\n"
-gdb_expect {
- -re ".\[0-9\]* = 7.*$gdb_prompt $" {
- pass "print value of d_instance.d"
- }
- -re ".*$gdb_prompt $" { fail "print value of d_instance.d" }
- timeout { fail "(timeout) print value of d_instance.d" }
- }
-
-send_gdb "print d_instance.dd\n"
-gdb_expect {
- -re ".\[0-9\]* = 8.*$gdb_prompt $" {
- pass "print value of d_instance.dd"
- }
- -re ".*$gdb_prompt $" { fail "print value of d_instance.dd" }
- timeout { fail "(timeout) print value of d_instance.dd" }
- }
-
-send_gdb "print g_instance.a\n"
-gdb_expect {
- -re "warning.*$gdb_prompt $" {
- # The compiler doesn't think this is ambiguous.
- fail "print value of g_instance.a"
+gdb_test_multiple "print f_instance" "print value of f_instance" {
+ -re "\\$\[0-9\]+ = \{<(class A|A)> = \{a = 1, aa = 2\}, <(class B|B)> = \{b = 3, bb = 4\}, <(class C|C)> = \{c = 5, cc = 6\}, f = 11, ff = 12\}$nl$gdb_prompt $" {
+ pass "print value of f_instance"
}
- -re ".\[0-9\]* = 15.*$gdb_prompt $" {
- pass "print value of g_instance.a"
- }
- -re ".*$gdb_prompt $" { fail "print value of g_instance.a" }
- timeout { fail "(timeout) print value of g_instance.a" }
- }
-
-send_gdb "print g_instance.b\n"
-gdb_expect {
- -re "warning.*$gdb_prompt $" {
- # The compiler doesn't think this is ambiguous.
- fail "print value of g_instance.b"
+}
+
+gdb_test_multiple "ptype f_instance" "ptype f_instance" {
+ -re "type = $re_class${ws}$re_fields${ws}$re_methods${ws}$re_synth_gcc_23$nl\}$nl$gdb_prompt $" {
+ pass "ptype f_instance"
}
- -re ".\[0-9\]* = 16.*$gdb_prompt $" {
- pass "print value of g_instance.b"
- }
- -re ".*$gdb_prompt $" { fail "print value of g_instance.b" }
- timeout { fail "(timeout) print value of g_instance.b" }
- }
-
-send_gdb "print g_instance.c\n"
-gdb_expect {
- -re "warning.*$gdb_prompt $" {
- # The compiler doesn't think this is ambiguous.
- fail "print value of g_instance.c"
+ -re "type = $re_class${ws}$re_fields${ws}$re_all_methods$nl\}$nl$gdb_prompt $" {
+ pass "ptype f_instance"
}
- -re ".\[0-9\]* = 17.*$gdb_prompt $" {
- pass "print value of g_instance.c"
- }
- -re ".*$gdb_prompt $" { fail "print value of g_instance.c" }
- timeout { fail "(timeout) print value of g_instance.c" }
- }
-
-send_gdb "print g_instance.afoo()\n"
-gdb_expect {
- -re ".\[0-9\]* = 1.*$gdb_prompt $" {
- pass "print value of g_instance.afoo()"
- }
- -re ".*$gdb_prompt $" { fail "print value of g_instance.afoo()" }
- timeout { fail "(timeout) print value of g_instance.afoo()" }
- }
+}
+
+# Print individual fields.
+
+gdb_test "print d_instance.a" "\\$\[0-9\]+ = 1" "print value of d_instance.a"
+gdb_test "print d_instance.aa" "\\$\[0-9\]+ = 2" "print value of d_instance.aa"
+gdb_test "print d_instance.b" "\\$\[0-9\]+ = 3" "print value of d_instance.b"
+gdb_test "print d_instance.bb" "\\$\[0-9\]+ = 4" "print value of d_instance.bb"
+gdb_test "print d_instance.c" "\\$\[0-9\]+ = 5" "print value of d_instance.c"
+gdb_test "print d_instance.cc" "\\$\[0-9\]+ = 6" "print value of d_instance.cc"
+gdb_test "print d_instance.d" "\\$\[0-9\]+ = 7" "print value of d_instance.d"
+gdb_test "print d_instance.dd" "\\$\[0-9\]+ = 8" "print value of d_instance.dd"
+# Print some fields which are defined in the top of class G
+# and in its base classes. This is not be ambiguous.
+
+gdb_test "print g_instance.a" "\\$\[0-9\]+ = 15" "print value of g_instance.a"
+gdb_test "print g_instance.b" "\\$\[0-9\]+ = 16" "print value of g_instance.b"
+gdb_test "print g_instance.c" "\\$\[0-9\]+ = 17" "print value of g_instance.c"
+
+# Print a function call.
+
+gdb_test "print g_instance.afoo()" "\\$\[0-9\]+ = 1" "print value of g_instance.afoo()"
# If GDB fails to restore the selected frame properly after the
# inferior function call above (see GDB PR 1155 for an explanation of
# why this might happen), all the subsequent tests will fail. We
# should detect report that failure, but let the marker call finish so
# that the rest of the tests can run undisturbed.
+
gdb_test_multiple "frame" "re-selected 'main' frame after inferior call" {
-re "#0 marker1.*$gdb_prompt $" {
setup_kfail "gdb/1155" s390-*-linux-gnu
@@ -317,21 +218,6 @@ gdb_test_multiple "frame" "re-selected 'main' frame after inferior call" {
pass "re-selected 'main' frame after inferior call"
}
}
-
-send_gdb "print g_instance.bfoo()\n"
-gdb_expect {
- -re ".\[0-9\]* = 2.*$gdb_prompt $" {
- pass "print value of g_instance.bfoo()"
- }
- -re ".*$gdb_prompt $" { fail "print value of g_instance.bfoo()" }
- timeout { fail "(timeout) print value of g_instance.bfoo()" }
- }
-
-send_gdb "print g_instance.cfoo()\n"
-gdb_expect {
- -re ".\[0-9\]* = 3.*$gdb_prompt $" {
- pass "print value of g_instance.cfoo()"
- }
- -re ".*$gdb_prompt $" { fail "print value of g_instance.cfoo()" }
- timeout { fail "(timeout) print value of g_instance.cfoo()" }
- }
+
+gdb_test "print g_instance.bfoo()" "\\$\[0-9\]+ = 2" "print value of g_instance.bfoo()"
+gdb_test "print g_instance.cfoo()" "\\$\[0-9\]+ = 3" "print value of g_instance.cfoo()"
diff --git a/gdb/testsuite/gdb.cp/exception.cc b/gdb/testsuite/gdb.cp/exception.cc
new file mode 100644
index 00000000000..4134fbcf7e7
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/exception.cc
@@ -0,0 +1,69 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 1997, 1998, 2004 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb@prep.ai.mit.edu */
+
+// Test file for exception handling support.
+
+#include <iostream>
+using namespace std;
+
+int foo (int i)
+{
+ if (i < 32)
+ throw (int) 13;
+ else
+ return i * 2;
+}
+
+extern "C" int bar (int k, unsigned long eharg, int flag);
+
+int bar (int k, unsigned long eharg, int flag)
+{
+ cout << "k is " << k << " eharg is " << eharg << " flag is " << flag << endl;
+ return 1;
+}
+
+int main()
+{
+ int j;
+
+ try {
+ j = foo (20);
+ }
+ catch (int x) {
+ cout << "Got an except " << x << endl;
+ }
+
+ try {
+ try {
+ j = foo (20);
+ }
+ catch (int x) {
+ cout << "Got an except " << x << endl;
+ throw;
+ }
+ }
+ catch (int y) {
+ cout << "Got an except (rethrown) " << y << endl;
+ }
+
+ // Not caught
+ foo (20);
+}
diff --git a/gdb/testsuite/gdb.cp/exception.exp b/gdb/testsuite/gdb.cp/exception.exp
new file mode 100644
index 00000000000..d921eade955
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/exception.exp
@@ -0,0 +1,222 @@
+# Copyright 1997, 1998, 2004 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+# This file is part of the gdb testsuite.
+# tests for exception-handling support
+# Written by Satish Pai <pai@apollo.hp.com> 1997-07-23
+# Rewritten by Michael Chastain <mec.gnu@mindspring.com> 2004-01-08
+
+# This file used to have two copies of the tests with different
+# compiler flags for hp-ux. Instead, the user should set CXXOPTS
+# or run runtest with --target_board unix/gdb:debug_flags="..."
+# to choose the compiler flags.
+#
+# The interesting compiler flags are: "aCC +A -Wl,-a,-archive" .
+# Static-linked executables use a different mechanism to get the
+# address of the notification hook in the C++ support library.
+
+# TODO: this file is not ready for production yet. If you are working
+# on C++ exception support for gdb, you can take out the "continue"
+# statement and try your luck. -- chastain 2004-01-09
+
+# TODO: this file has many absolute line numbers.
+# Replace them with gdb_get_line_number.
+
+set ws "\[\r\n\t \]+"
+set nl "\[\r\n\]+"
+
+if $tracelevel then {
+ strace $tracelevel
+}
+
+set testfile "exception"
+set srcfile ${testfile}.cc
+set binfile ${objdir}/${subdir}/${testfile}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
+
+# Start with a fresh gdb
+
+set prms_id 0
+set bug_id 0
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+if ![runto_main] then {
+ perror "couldn't run to breakpoint"
+ continue
+}
+
+# As I said before, this test script is not ready yet!
+
+continue
+
+# Set a catch catchpoint
+
+gdb_test "catch catch" "Catchpoint \[0-9\]+ \\(catch\\)"
+
+# Set a throw catchpoint
+
+gdb_test "catch throw" "Catchpoint \[0-9\]+ \\(throw\\)" \
+ "catch throw (static executable)"
+
+# The catchpoints should be listed in the list of breakpoints.
+
+set re_head "Num${ws}Type${ws}Disp${ws}Enb${ws}Address${ws}What"
+set re_1_main "1${ws}breakpoint${ws}keep${ws}y${ws}$hex${ws}in main.*breakpoint already hit.*"
+set re_2_catch "2${ws}catch catch${ws}keep${ws}y${ws}$hex${ws}exception catch"
+set re_3_catch "3${ws}catch throw${ws}keep${ws}y${ws}$hex${ws}exception throw"
+set re_2_bp "2${ws}breakpoint${ws}keep${ws}y${ws}$hex${ws}exception catch"
+set re_3_bp "3${ws}breakpoint${ws}keep${ws}y${ws}$hex${ws}exception throw"
+
+set name "info breakpoints"
+gdb_test_multiple "info breakpoints" $name {
+ -re "$re_head${ws}$re_1_main${ws}$re_2_catch${ws}$re_3_catch\r\n$gdb_prompt $" {
+ pass $name
+ }
+ -re "$re_head${ws}$re_1_main${ws}$re_2_bp${ws}$re_3_bp\r\n$gdb_prompt $" {
+ # TODO: gdb HEAD 2004-01-08 does this. Is this okay?
+ unresolved $name
+ }
+}
+
+# Some targets support "info catch".
+# Some do not.
+
+set name "info catch"
+gdb_test_multiple "info catch" $name {
+ -re "Info catch not supported with this target/compiler combination.\r\n$gdb_prompt $" {
+ unsupported $name
+ }
+ -re "No catches.\r\n$gdb_prompt $" {
+ # TODO: gdb HEAD 2004-01-08 does this. Is this okay?
+ unresolved $name
+ }
+}
+
+# Get the first exception thrown
+
+set name "continue to first throw"
+gdb_test_multiple "continue" $name {
+ -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception thrown\\), throw location.*${srcfile}:30, catch location .*${srcfile}:50\r\n$gdb_prompt $" {
+ pass $name
+ }
+ -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception thrown\\)\r\n.*\r\n$gdb_prompt $" {
+ # TODO: gdb HEAD 2004-01-08 does this. Is this okay?
+ unresolved $name
+ }
+}
+
+# Backtrace from the throw point.
+# This should get to user code.
+
+set name "backtrace after first throw"
+gdb_test_multiple "backtrace" $name {
+ -re ".*#\[0-9\]+${ws}$hex in foo \\(i=20\\) at .*${srcfile}:30\r\n#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*${srcfile}:48\r\n$gdb_prompt $" {
+ pass $name
+ }
+}
+
+# Continue to the catch.
+
+set name "continue to first catch"
+gdb_test_multiple "continue" $name {
+ -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\), throw location.*${srcfile}:30, catch location .*${srcfile}:50\r\n$gdb_prompt $" {
+ pass $name
+ }
+ -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\)\r\n.*\r\n$gdb_prompt $" {
+ # TODO: gdb HEAD 2004-01-08 does this. Is this okay?
+ unresolved $name
+ }
+}
+
+# Backtrace from the catch point.
+# This should get to user code.
+
+set name "backtrace after first catch"
+gdb_test_multiple "backtrace" $name {
+ -re ".*#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*$srcfile:50\r\n$gdb_prompt $" {
+ pass $name
+ }
+}
+
+# Continue to second throw.
+
+set name "continue to second throw"
+gdb_test_multiple "continue" $name {
+ -re "Continuing.${ws}Got an except 13${ws}Catchpoint \[0-9\]+ \\(exception thrown\\), throw location.*${srcfile}:30, catch location .*${srcfile}:58\r\n$gdb_prompt $" {
+ pass $name
+ }
+ -re "Continuing.${ws}Got an except 13${ws}Catchpoint \[0-9\]+ \\(exception thrown\\)\r\n.*\r\n$gdb_prompt $" {
+ # TODO: gdb HEAD 2004-01-08 does this. Is this okay?
+ unresolved $name
+ }
+}
+
+# Backtrace from the throw point.
+# This should get to user code.
+
+set name "backtrace after second throw"
+gdb_test_multiple "backtrace" $name {
+ -re ".*#\[0-9\]+${ws}$hex in foo \\(i=20\\) at .*${srcfile}:30\r\n#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*${srcfile}:56\r\n$gdb_prompt $" {
+ pass $name
+ }
+}
+
+# Continue to second catch.
+
+set name "continue to second catch"
+gdb_test_multiple "continue" $name {
+ -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\), throw location.*${srcfile}:30, catch location .*${srcfile}:58\r\n$gdb_prompt $" {
+ pass $name
+ }
+ -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\)\r\n.*\r\n$gdb_prompt $" {
+ # TODO: gdb HEAD 2004-01-08 does this. Is this okay?
+ unresolved $name
+ }
+}
+
+# Backtrace from the catch point.
+# This should get to user code.
+
+set name "backtrace after second catch"
+gdb_test_multiple "backtrace" $name {
+ -re ".*#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*$srcfile:58\r\n$gdb_prompt $" {
+ pass $name
+ }
+}
+
+# That is all for now.
+#
+# The original code had:
+#
+# continue to re-throw ; backtrace
+# continue to catch ; backtrace
+# continue to throw out of main
+#
+# The problem is that "re-throw" does not show a throw; only a catch.
+# I do not know if this is because of a bug, or because the generated
+# code is optimized for a throw into the same function.
+#
+# -- chastain 2004-01-09
diff --git a/gdb/testsuite/gdb.cp/local.exp b/gdb/testsuite/gdb.cp/local.exp
index 21ceb7ae3db..88880559489 100644
--- a/gdb/testsuite/gdb.cp/local.exp
+++ b/gdb/testsuite/gdb.cp/local.exp
@@ -1,4 +1,5 @@
-# Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -96,6 +97,13 @@ gdb_test "up" ".*foobar.*" "up from marker1"
#
# chastain 2002-04-08
+# pattern #5
+# PASS
+# stabs+
+# gcc HEAD abi-2
+#
+# chastain 2004-01-02
+
set sep "(\[.\]|___)\[0-9\]"
send_gdb "ptype Local\n"
@@ -106,6 +114,7 @@ gdb_expect {
}
-re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*Local & operator *=\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((void|)\\);\[\r\n\t \]*char loc_foo\\(char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
-re "type = class Local \{\r\n\[\t \]*public:\r\n\[\t \]*int loc1;\r\n\r\n\[\t \]*char loc_foo\\(char\\);\r\n\[\t \]*\\(Local at.*local\\.cc:\[0-9\]*\\)\r\n\}.*$gdb_prompt $" { xpass "ptype Local (old aCC)" }
+ -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*char loc_foo\\(char\\);\[\r\n\t \]*Local & operator *=\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((void|)\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
-re ".*$gdb_prompt $" { fail "ptype Local" }
timeout { fail "(timeout) ptype Local" }
}
@@ -131,6 +140,10 @@ gdb_expect {
# this right.
kfail gdb/825 "Local out of scope"
}
+ -re "ptype Local${eol}type = class Local {${eol} public:${eol} int loc1;${eol} char loc_foo\\(char\\);${eol}.*${eol}}${eol}${gdb_prompt} " {
+ # gcc 3.X abi-2 -gstabs+
+ kfail gdb/825 "Local out of scope"
+ }
-re ".*${gdb_prompt} $" {
fail "Local out of scope"
}
@@ -168,12 +181,20 @@ gdb_expect {
#
# chastain 2002-05-27
+# Pattern 5:
+# PASS
+# stabs+
+# HEAD
+#
+# chastain 2004-01-02
+
send_gdb "ptype InnerLocal\n"
gdb_expect {
-re "type = class InnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*char ilc;\[\r\n\t \]*int \\* *ip;\[\r\n\t \]*(InnerLocal::|)NestedInnerLocal nest1;\[\r\n\t \]*int il_foo\\((unsigned char const|const unsigned char) *&\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal (pattern 1)" }
-re "type = class InnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*char ilc;\[\r\n\t \]*int \\* *ip;\[\r\n\t \]*(InnerLocal::|)NestedInnerLocal nest1;\[\r\n\t \]*InnerLocal *& operator *=\\((main${sep}::|)InnerLocal const *&\\);\[\r\n\t \]*InnerLocal\\((main${sep}::|)InnerLocal const *&\\);\[\r\n\t \]*InnerLocal\\((void|)\\);\[\r\n\t \]*int il_foo\\(unsigned char const *&\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal (pattern 2)" }
-re "type = class InnerLocal \{\r\n\[\t \]*public:\r\n\[\t \]*char ilc;\r\n\[\t \]*int \\*ip;\r\n\[\t \]*InnerLocal::NestedInnerLocal nest1;\r\n\r\n\[\t \]*.int il_foo\\(unsigned char const &\\);\r\n\[\t \]*\}\[\t \]*\\(Local at.*local\\.cc:36\\).*$gdb_prompt $" { pass "ptype InnerLocal (old HP aCC)" }
-re "type = class InnerLocal \{\r\n\[\t \]*public:\r\n\[\t \]*char ilc;\r\n\[\t \]*int \\*ip;\r\n\[\t \]*class InnerLocal4::NestedInnerLocal nest1;\r\n\r\n\[\t \]*int il_foo\\(unsigned char const &\\);\r\n\[\t \]*\\(Local at.*local\.cc:\[0-9\]+\\)\r\n\}.*$gdb_prompt $" { pass "ptype InnerLocal (old HP aCC)" }
+ -re "type = class InnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*char ilc;\[\r\n\t \]*int \\* *ip;\[\r\n\t \]*(InnerLocal::|)NestedInnerLocal nest1;\[\r\n\t \]* int il_foo\\(unsigned char const *&\\);\[\r\n\t \]*InnerLocal *& operator *=\\((main${sep}::|)InnerLocal const *&\\);\[\r\n\t \]*InnerLocal\\((main${sep}::|)InnerLocal const *&\\);\[\r\n\t \]*InnerLocal\\((void|)\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal (pattern 5)" }
-re ".*$gdb_prompt $" { fail "ptype InnerLocal" }
timeout { fail "(timeout) ptype InnerLocal" }
}
diff --git a/gdb/testsuite/gdb.cp/m-static.exp b/gdb/testsuite/gdb.cp/m-static.exp
index d291135fb06..56cd7bc3bfc 100644
--- a/gdb/testsuite/gdb.cp/m-static.exp
+++ b/gdb/testsuite/gdb.cp/m-static.exp
@@ -1,4 +1,4 @@
-# Copyright 2002 Free Software Foundation, Inc.
+# Copyright 2002, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -33,16 +33,22 @@ set prms_id 0
set bug_id 0
set testfile "m-static"
-set srcfile ${testfile}.cc
-set srcfile1 ${testfile}1.cc
-set binfile ${objdir}/${subdir}/${testfile}
+set srcfile "${srcdir}/${subdir}/${testfile}.cc"
+set srcfile1 "${srcdir}/${subdir}/${testfile}1.cc"
+set objfile "${objdir}/${subdir}/${testfile}.o"
+set objfile1 "${objdir}/${subdir}/${testfile}1.o"
+set binfile "${objdir}/${subdir}/${testfile}"
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile1}" "${binfile}" executable {debug c++}] != "" } {
+if { [gdb_compile "${srcfile}" "${objfile}" object {debug c++}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
-if [get_compiler_info ${binfile} "c++"] {
- return -1
+if { [gdb_compile "${srcfile1}" "${objfile1}" object {debug c++}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
+
+if { [gdb_compile "${objfile} ${objfile1}" "${binfile}" executable {debug c++}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
gdb_exit
diff --git a/gdb/testsuite/gdb.cp/method.exp b/gdb/testsuite/gdb.cp/method.exp
index 5ae2e5b3b72..dde0a625e0a 100644
--- a/gdb/testsuite/gdb.cp/method.exp
+++ b/gdb/testsuite/gdb.cp/method.exp
@@ -1,4 +1,4 @@
-# Copyright 1998, 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1998, 1999, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -170,6 +170,9 @@ gdb_expect {
-re "type = class A \{\r\n\[ \]*public:\r\n\[ \]*int x;\r\n\[ \]*int y;\r\n\r\n\[ \]*A & operator=\\(A const ?&\\);\r\n\[ \]*A\\(A const ?&\\);\r\n\[ \]*A\\((void|)\\);\r\n\[ \]*int foo\\(int\\);\r\n\[ \]*int bar\\(int\\) const;\r\n\[ \]*int baz\\(int, char\\) volatile;\r\n\[ \]*int qux\\(int, float\\) (const volatile|volatile const);\r\n\}\r\n$gdb_prompt $" {
pass "ptype A"
}
+ -re "type = class A \{\r\n\[ \]*public:\r\n\[ \]*int x;\r\n\[ \]*int y;\r\n\r\n\[ \]*int foo\\(int\\);\r\n\[ \]*int bar\\(int\\) const;\r\n\[ \]*int baz\\(int, char\\) volatile;\r\n\[ \]*int qux\\(int, float\\) (const volatile|volatile const);\r\n\[ \]*A & operator=\\(A const ?&\\);\r\n\[ \]*A\\(A const ?&\\);\r\n\[ \]*A\\((void|)\\);\r\n\}\r\n$gdb_prompt $" {
+ pass "ptype A"
+ }
-re "type = class A \{\r\n\[ \]*public:\r\n\[ \]*int x;\r\n\[ \]*int y;\r\n\r\n\[ \]*int foo\\(int\\);\r\n\[ \]*int bar\\(int\\) const;\r\n\[ \]*int baz\\(int, char\\);\r\n\[ \]*int qux\\(int, float\\) const;\r\n\}\r\n$gdb_prompt $" {
pass "ptype A (HP aCC bug -- volatile not indicated)"
}
diff --git a/gdb/testsuite/gdb.cp/namespace.exp b/gdb/testsuite/gdb.cp/namespace.exp
index 228d791ad66..fda393e5869 100644
--- a/gdb/testsuite/gdb.cp/namespace.exp
+++ b/gdb/testsuite/gdb.cp/namespace.exp
@@ -1,4 +1,5 @@
-# Copyright 1997, 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1997, 1998, 2000, 2001, 2002, 2003, 2004
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -44,7 +45,7 @@ set srcfile1 ${testfile}1.cc
set objfile1 ${objdir}/${subdir}/${testfile}1.o
set binfile ${objdir}/${subdir}/${testfile}
-if [get_compiler_info ${binfile}] {
+if [get_compiler_info ${binfile} c++] {
return -1;
}
@@ -119,6 +120,9 @@ gdb_expect {
-re "type = class (AAA::|)inA \{\r\n\[ \]*public:\r\n\[ \]*int xx;\r\n\[ \]*\r\n\[ \]*.*int fum\\(int\\);\r\n\}\r\n$gdb_prompt $" {
pass "ptype ina"
}
+ -re "type = class (AAA::|)inA \{\r\n\[ \]*public:\r\n\[ \]*int xx;\r\n\[ \]*\r\n\[ \]*int fum\\(int\\);\r\n.*\}\r\n$gdb_prompt $" {
+ pass "ptype ina"
+ }
-re ".*$gdb_prompt $" { fail "ptype ina" }
timeout { fail "(timeout) ptype ina" }
}
diff --git a/gdb/testsuite/gdb.cp/overload.exp b/gdb/testsuite/gdb.cp/overload.exp
index 3e14678e4c2..2925b504b43 100644
--- a/gdb/testsuite/gdb.cp/overload.exp
+++ b/gdb/testsuite/gdb.cp/overload.exp
@@ -1,4 +1,5 @@
-# Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,20 +19,19 @@
# bug-gdb@prep.ai.mit.edu
# written by Elena Zannoni (ezannoni@cygnus.com)
+# Rewritten by Michael Chastain <mec.gnu@mindspring.com>
# This file is part of the gdb testsuite
-#
-# tests for overloaded member functions. Command Line calls
-#
+# Tests for overloaded member functions.
if $tracelevel then {
- strace $tracelevel
- }
+ strace $tracelevel
+}
+
+set ws "\[\r\n\t \]+"
+set nl "\[\r\n\]+"
-#
-# test running programs
-#
set prms_id 0
set bug_id 0
@@ -45,21 +45,12 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
-if [get_compiler_info ${binfile} "c++"] {
- return -1
-}
-
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-# set it up at a breakpoint so we can play with the variable values
-#
-if ![runto_main] then {
- perror "couldn't run to breakpoint"
- continue
-}
+# Set it up at a breakpoint so we can play with the variable values.
if ![runto 'marker1'] then {
perror "couldn't run to marker1"
@@ -68,63 +59,108 @@ if ![runto 'marker1'] then {
gdb_test "up" ".*main.*" "up from marker1"
-send_gdb "print foo_instance1\n"
-gdb_expect {
- -re ".\[0-9\]* = \{ifoo = 111, ccpfoo = 0x0\}\r\n$gdb_prompt $" {
- pass "print foo_instance1"
- }
- -re ".*$gdb_prompt $" { fail "print foo_instance1" }
- timeout { fail "(timeout) print foo_instance1" }
- }
-
-
-setup_xfail "hppa*-*-*" CLLbs16901
-send_gdb "ptype foo_instance1\n"
-gdb_expect {
- -re "type = class foo \{.*public:.*int ifoo;.*const char \\*ccpfoo;.*foo\\(int\\);.*foo\\(int, (const char|char const) \\*\\);.*foo\\(foo &\\);.*~foo\\(void\\);.*void foofunc\\(int\\);.*void foofunc\\(int, signed char \\*\\);.*int overload1arg\\(void\\);.*int overload1arg\\(char\\);.*int overload1arg\\(signed char\\);.*int overload1arg\\(unsigned char\\);.*int overload1arg\\(short\\);.*int overload1arg\\(unsigned short\\);.*int overload1arg\\(int\\);.*int overload1arg\\(unsigned int\\);.*int overload1arg\\(long\\);.*int overload1arg\\(unsigned long\\);.*int overload1arg\\(float\\);.*int overload1arg\\(double\\);.*int overloadargs\\(int\\);.*int overloadargs\\(int, int\\);.*int overloadargs\\(int, int, int\\);.*int overloadargs\\(int, int, int, int\\);.*int overloadargs\\(int, int, int, int, int\\);.*int overloadargs\\(int, int, int, int, int, int\\);.*int overloadargs\\(int, int, int, int, int, int, int\\);.*int overloadargs\\(int, int, int, int, int, int, int, int\\);.*int overloadargs\\(int, int, int, int, int, int, int, int, int\\);.*int overloadargs\\(int, int, int, int, int, int, int, int, int, int\\);.*int overloadargs\\(int, int, int, int, int, int, int, int, int, int, int\\);\r\n\}\r\n$gdb_prompt $" {
- pass "ptype foo_instance1 (HP aCC -- known quirk with ~foo parameter list)"
- }
- -re "type = class foo .*int overloadargs\\(int, int, int, int, int, int, int, int, int, int, int\\);\r\n\}\r\n$gdb_prompt $" {
+# Print the monster class type.
+# See virtfunc.exp for a discussion of ptype.
+#
+# This is hairy to begin with. It is even more hairy because of the
+# XX_* alternate patterns to catch the KFAIL and XFAIL cases.
+
+set re_class "((struct|class) foo \{${ws}public:|struct foo \{)"
+set re_fields "int ifoo;${ws}const char ?\\* ?ccpfoo;"
+set XX_fields "int ifoo;${ws}char ?\\* ?ccpfoo;"
+set re_ctor "foo\\(int\\);${ws}foo\\(int, (char const|const char) ?\\*\\);${ws}foo\\(foo ?&\\);"
+set re_dtor "~foo\\((void|)\\);"
+set XX_dtor "~foo\\(int\\);"
+set re_methods "void foofunc\\(int\\);"
+set re_methods "${re_methods}${ws}void foofunc\\(int, signed char ?\\*\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\((void|)\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(char\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(signed char\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(unsigned char\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(short\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(unsigned short\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(int\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(unsigned int\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(long\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(unsigned long\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(float\\);"
+set re_methods "${re_methods}${ws}int overload1arg\\(double\\);"
+set re_methods "${re_methods}${ws}int overloadfnarg\\((void|)\\);"
+set re_methods "${re_methods}${ws}int overloadfnarg\\(int\\);"
+set re_methods "${re_methods}${ws}int overloadfnarg\\(int, int ?\\(\\*\\) ?\\(int\\)\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int, int\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int, int, int\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int, int, int, int\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int, int, int, int, int\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int, int, int, int, int, int\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int, int, int, int, int, int, int\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int, int, int, int, int, int, int, int\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int, int, int, int, int, int, int, int, int\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int, int, int, int, int, int, int, int, int, int\\);"
+set re_methods "${re_methods}${ws}int overloadargs\\(int, int, int, int, int, int, int, int, int, int, int\\);"
+set re_synth "foo & operator=\\(foo const ?&\\);"
+
+gdb_test "print foo_instance1" "\\$\[0-9\]+ = \{ifoo = 111, ccpfoo = 0x0\}"
+
+gdb_test_multiple "ptype foo_instance1" "ptype foo_instance1" {
+ -re "type = $re_class${ws}$re_fields${ws}$re_ctor${ws}$re_dtor${ws}$re_methods$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gdwarf-2
+ # TODO: this is not a quirk!
+ pass "ptype foo_instance1 (HP aCC -- known quirk with ~foo parameter list)"
+ }
+ -re "type = $re_class${ws}$XX_fields${ws}$re_synth${ws}$re_dtor${ws}$re_ctor${ws}$re_methods$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+, no "const" on "const char *"
+ # TODO: gdb.base/constvar.exp has XFAILed this kind of problem for a
+ # long time, but an XFAIL really needs an external bug report.
+ # -- chastain 2003-12-31
+ # setup_xfail "*-*-*"
+ # fail "ptype foo_instance1"
+ # TODO: this should be a KFAIL.
pass "ptype foo_instance1 (shorter match)"
}
- -re ".*$gdb_prompt $" { fail "ptype foo_instance1" }
- timeout { fail "(timeout) ptype foo_instance1" }
- }
-
-send_gdb "print foo_instance2\n"
-gdb_expect {
- -re ".\[0-9\]* = \{ifoo = 222, ccpfoo = $hex \"A\"\}\r\n$gdb_prompt $" {
- pass "print foo_instance2"
- }
- -re ".*$gdb_prompt $" { fail "print foo_instance2" }
- timeout { fail "(timeout) print foo_instance2" }
- }
-
-send_gdb "print foo_instance3\n"
-gdb_expect {
- -re ".\[0-9\]* = \{ifoo = 222, ccpfoo = $hex \"A\"\}\r\n$gdb_prompt $" {
- pass "print foo_instance3"
- }
- -re ".*$gdb_prompt $" { fail "print foo_instance3" }
- timeout { fail "(timeout) print foo_instance3" }
- }
-
-
-send_gdb "print foo_instance1.overloadargs(1)\n"
-gdb_expect {
- -re ".\[0-9\]* = 1\r\n$gdb_prompt $" {
- pass "print call overloaded func 1 arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 1 arg" }
- timeout { fail "(timeout) print call overloaded func 1 arg" }
- }
+ -re "type = $re_class${ws}$re_fields${ws}$re_synth${ws}$re_dtor${ws}$re_ctor${ws}$re_methods$nl\}$nl$gdb_prompt $" {
+ # gcc 2.95.3 -gstabs+ if "const char *" ever gets fixed
+ pass "ptype foo_instance1"
+ }
+ -re "type = $re_class${ws}$re_fields${ws}$re_ctor${ws}$XX_dtor${ws}$re_methods$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gdwarf-2, "~foo(int)"
+ # TODO: kfail this
+ # kfail "gdb/1113" "ptype foo_instance1"
+ pass "ptype foo_instance1 (shorter match)"
+ }
+ -re "type = $re_class${ws}$re_fields${ws}$re_ctor${ws}$re_dtor${ws}$re_methods$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gdwarf-2, if the dtor bug gets fixed
+ # gcc HEAD -gdwarf-2 (abi-2)
+ # TODO: just pass this
+ pass "ptype foo_instance1 (shorter match)"
+ }
+ -re "type = $re_class${ws}$re_fields${ws}$re_synth${ws}$re_ctor${ws}$re_dtor${ws}$re_methods$nl\}$nl$gdb_prompt $" {
+ # gcc 3.3.2 -gstabs+
+ # TODO: enough with the "shorter match"
+ pass "ptype foo_instance1 (shorter match)"
+ }
+ -re "type = $re_class${ws}$re_fields${ws}$re_ctor${ws}$re_dtor${ws}$re_methods${ws}$re_synth$nl\}$nl$gdb_prompt $" {
+ # gcc HEAD -gstabs+ (abi-2)
+ pass "ptype foo_instance1 (shorter match)"
+ }
+}
+
+# Print variables and method calls.
+# This is a walk in the park.
+gdb_test "print foo_instance2" "\\$\[0-9\]+ = \{ifoo = 222, ccpfoo = $hex \"A\"\}"
+gdb_test "print foo_instance3" "\\$\[0-9\]+ = \{ifoo = 222, ccpfoo = $hex \"A\"\}"
+
+gdb_test "print foo_instance1.overloadargs(1)" "\\$\[0-9\]+ = 1" \
+ "print call overloaded func 1 arg"
# If GDB fails to restore the selected frame properly after the
# inferior function call above (see GDB PR 1155 for an explanation of
# why this might happen), all the subsequent tests will fail. We
# should detect and report that failure, but let the marker call
# finish so that the rest of the tests can run undisturbed.
+
gdb_test_multiple "frame" "re-selected 'main' frame after inferior call" {
-re "#0 marker1.*$gdb_prompt $" {
setup_kfail "gdb/1155" s390-*-linux-gnu
@@ -137,254 +173,118 @@ gdb_test_multiple "frame" "re-selected 'main' frame after inferior call" {
}
}
+gdb_test "print foo_instance1.overloadargs(1, 2)" \
+ "\\$\[0-9\]+ = 2" \
+ "print call overloaded func 2 args"
-send_gdb "print foo_instance1.overloadargs(1, 2)\n"
-gdb_expect {
- -re ".\[0-9\]* = 2\r\n$gdb_prompt $" {
- pass "print call overloaded func 2 args"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 2 args" }
- timeout { fail "(timeout) print call overloaded func 2 args" }
- }
-
-
-send_gdb "print foo_instance1.overloadargs(1, 2, 3)\n"
-gdb_expect {
- -re ".\[0-9\]* = 3\r\n$gdb_prompt $" {
- pass "print call overloaded func 3 args"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 3 args" }
- timeout { fail "(timeout) print call overloaded func 3 args" }
- }
-
-
-send_gdb "print foo_instance1.overloadargs(1, 2, 3, 4)\n"
-gdb_expect {
- -re ".\[0-9\]* = 4\r\n$gdb_prompt $" {
- pass "print call overloaded func 4 args"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 4 args" }
- timeout { fail "(timeout) print call overloaded func 4 args" }
- }
-
-
-send_gdb "print foo_instance1.overloadargs(1, 2, 3, 4, 5)\n"
-gdb_expect {
- -re ".\[0-9\]* = 5\r\n$gdb_prompt $" {
- pass "print call overloaded func 5 args"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 5 args" }
- timeout { fail "(timeout) print call overloaded func 5 args" }
- }
-
-
-send_gdb "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6)\n"
-gdb_expect {
- -re ".\[0-9\]* = 6\r\n$gdb_prompt $" {
- pass "print call overloaded func 6 args"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 6 args" }
- timeout { fail "(timeout) print call overloaded func 6 args" }
- }
-
-
-send_gdb "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7)\n"
-gdb_expect {
- -re ".\[0-9\]* = 7\r\n$gdb_prompt $" {
- pass "print call overloaded func 7 args"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 7 args" }
- timeout { fail "(timeout) print call overloaded func 7 args" }
- }
-
-
-send_gdb "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7, 8)\n"
-gdb_expect {
- -re ".\[0-9\]* = 8\r\n$gdb_prompt $" {
- pass "print call overloaded func 8 args"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 8 args" }
- timeout { fail "(timeout) print call overloaded func 8 args" }
- }
-
-
-send_gdb "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7, 8, 9)\n"
-gdb_expect {
- -re ".\[0-9\]* = 9\r\n$gdb_prompt $" {
- pass "print call overloaded func 9 args"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 9 args" }
- timeout { fail "(timeout) print call overloaded func 9 args" }
- }
-
-
-send_gdb "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)\n"
-gdb_expect {
- -re ".\[0-9\]* = 10\r\n$gdb_prompt $" {
- pass "print call overloaded func 10 args"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 10 args" }
- timeout { fail "(timeout) print call overloaded func 10 args" }
- }
-
-
-send_gdb "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)\n"
-gdb_expect {
- -re ".\[0-9\]* = 11\r\n$gdb_prompt $" {
- pass "print call overloaded func 11 args"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func 11 args" }
- timeout { fail "(timeout) print call overloaded func 11 args" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg()\n"
-gdb_expect {
- -re ".\[0-9\]* = 1\r\n$gdb_prompt $" {
- pass "print call overloaded func void arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func void arg" }
- timeout { fail "(timeout) print call overloaded func void arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((char)arg2)\n"
-gdb_expect {
- -re ".\[0-9\]* = 2\r\n$gdb_prompt $" {
- pass "print call overloaded func char arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func char arg" }
- timeout { fail "(timeout) print call overloaded func char arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((signed char)arg3)\n"
-gdb_expect {
- -re ".\[0-9\]* = 3\r\n$gdb_prompt $" {
- pass "print call overloaded func signed char arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func signed char arg" }
- timeout { fail "(timeout) print call overloaded func signed char arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((unsigned char)arg4)\n"
-gdb_expect {
- -re ".\[0-9\]* = 4\r\n$gdb_prompt $" {
- pass "print call overloaded func unsigned char arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func unsigned char arg" }
- timeout { fail "(timeout) print call overloaded func unsigned char arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((short)arg5)\n"
-gdb_expect {
- -re ".\[0-9\]* = 5\r\n$gdb_prompt $" {
- pass "print call overloaded func short arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func short arg" }
- timeout { fail "(timeout) print call overloaded func short arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((unsigned short)arg6)\n"
-gdb_expect {
- -re ".\[0-9\]* = 6\r\n$gdb_prompt $" {
- pass "print call overloaded func unsigned short arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func unsigned short arg" }
- timeout { fail "(timeout) print call overloaded func unsigned short arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((int)arg7)\n"
-gdb_expect {
- -re ".\[0-9\]* = 7\r\n$gdb_prompt $" {
- pass "print call overloaded func int arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func int arg" }
- timeout { fail "(timeout) print call overloaded func int arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((unsigned int)arg8)\n"
-gdb_expect {
- -re ".\[0-9\]* = 8\r\n$gdb_prompt $" {
- pass "print call overloaded func unsigned int arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func unsigned int arg" }
- timeout { fail "(timeout) print call overloaded func unsigned int arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((long)arg9)\n"
-gdb_expect {
- -re ".\[0-9\]* = 9\r\n$gdb_prompt $" {
- pass "print call overloaded func long arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func long arg" }
- timeout { fail "(timeout) print call overloaded func long arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((unsigned long)arg10)\n"
-gdb_expect {
- -re ".\[0-9\]* = 10\r\n$gdb_prompt $" {
- pass "print call overloaded func unsigned long arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func unsigned long arg" }
- timeout { fail "(timeout) print call overloaded func unsigned long arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((float)arg11)\n"
-gdb_expect {
- -re ".\[0-9\]* = 11\r\n$gdb_prompt $" {
- pass "print call overloaded func float arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func float arg" }
- timeout { fail "(timeout) print call overloaded func float arg" }
- }
-
-
-send_gdb "print foo_instance1.overload1arg((double)arg12)\n"
-gdb_expect {
- -re ".\[0-9\]* = 12\r\n$gdb_prompt $" {
- pass "print call overloaded func double arg"
- }
- -re ".*$gdb_prompt $" { fail "print call overloaded func double arg" }
- timeout { fail "(timeout) print call overloaded func double arg" }
- }
-
-# Now some tests to see if we can list overloaded functions properly:
+gdb_test "print foo_instance1.overloadargs(1, 2, 3)" \
+ "\\$\[0-9\]+ = 3" \
+ "print call overloaded func 3 args"
-gdb_test "set listsize 1" "" ""
-# send_gdb "set listsize 1\n"
-# gdb_expect -re ".*$gdb_prompt $"
+gdb_test "print foo_instance1.overloadargs(1, 2, 3, 4)" \
+ "\\$\[0-9\]+ = 4" \
+ "print call overloaded func 4 args"
-#
-# Decide whether to use "()" or "(void)"
-#
+gdb_test "print foo_instance1.overloadargs(1, 2, 3, 4, 5)" \
+ "\\$\[0-9\]+ = 5" \
+ "print call overloaded func 5 args"
+
+gdb_test "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6)" \
+ "\\$\[0-9\]+ = 6" \
+ "print call overloaded func 6 args"
+
+gdb_test "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7)" \
+ "\\$\[0-9\]+ = 7" \
+ "print call overloaded func 7 args"
+
+gdb_test "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7, 8)" \
+ "\\$\[0-9\]+ = 8" \
+ "print call overloaded func 8 args"
+
+gdb_test "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7, 8, 9)" \
+ "\\$\[0-9\]+ = 9" \
+ "print call overloaded func 9 args"
+
+gdb_test "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)" \
+ "\\$\[0-9\]+ = 10" \
+ "print call overloaded func 10 args"
+
+gdb_test "print foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)" \
+ "\\$\[0-9\]+ = 11" \
+ "print call overloaded func 11 args"
+
+gdb_test "print foo_instance1.overload1arg()" \
+ "\\$\[0-9\]+ = 1" \
+ "print call overloaded func void arg"
+
+gdb_test "print foo_instance1.overload1arg((char)arg2)" \
+ "\\$\[0-9\]+ = 2" \
+ "print call overloaded func char arg"
+
+gdb_test "print foo_instance1.overload1arg((signed char)arg3)" \
+ "\\$\[0-9\]+ = 3" \
+ "print call overloaded func signed char arg"
+
+gdb_test "print foo_instance1.overload1arg((unsigned char)arg4)" \
+ "\\$\[0-9\]+ = 4" \
+ "print call overloaded func unsigned char arg"
+
+gdb_test "print foo_instance1.overload1arg((short)arg5)" \
+ "\\$\[0-9\]+ = 5" \
+ "print call overloaded func short arg"
-send_gdb "info func overloadfnarg\n"
-gdb_expect {
+gdb_test "print foo_instance1.overload1arg((unsigned short)arg6)" \
+ "\\$\[0-9\]+ = 6" \
+ "print call overloaded func unsigned short arg"
+
+gdb_test "print foo_instance1.overload1arg((int)arg7)" \
+ "\\$\[0-9\]+ = 7" \
+ "print call overloaded func int arg"
+
+gdb_test "print foo_instance1.overload1arg((unsigned int)arg8)" \
+ "\\$\[0-9\]+ = 8" \
+ "print call overloaded func unsigned int arg"
+
+gdb_test "print foo_instance1.overload1arg((long)arg9)" \
+ "\\$\[0-9\]+ = 9" \
+ "print call overloaded func long arg"
+
+gdb_test "print foo_instance1.overload1arg((unsigned long)arg10)" \
+ "\\$\[0-9\]+ = 10" \
+ "print call overloaded func unsigned long arg"
+
+gdb_test "print foo_instance1.overload1arg((float)arg11)" \
+ "\\$\[0-9\]+ = 11" \
+ "print call overloaded func float arg"
+
+gdb_test "print foo_instance1.overload1arg((double)arg12)" \
+ "\\$\[0-9\]+ = 12" \
+ "print call overloaded func double arg"
+
+# ---
+
+# List overloaded functions.
+
+# The void case is tricky because some compilers say "(void)"
+# and some compilers say "()".
+
+gdb_test "set listsize 1" "" ""
+gdb_test_multiple "info func overloadfnarg" "list overloaded function with no args" {
-re ".*overloadfnarg\\(void\\).*$gdb_prompt $" {
+ # gcc 2
gdb_test "list foo::overloadfnarg(void)"\
".*int foo::overloadfnarg.*\\(void\\).*" \
"list overloaded function with no args"
}
-re ".*overloadfnarg\\(\\).*$gdb_prompt $" {
+ # gcc 3
gdb_test "list foo::overloadfnarg()"\
".*int foo::overloadfnarg.*\\(void\\).*" \
"list overloaded function with no args"
}
- -re ".*$gdb_prompt $" {
- fail "list overloaded function with no args (no matching symbol)"
- }
}
-gdb_test "list foo::overloadfnarg(int)"\
+gdb_test "list foo::overloadfnarg(int)" \
"int foo::overloadfnarg.*\\(int arg\\).*" \
"list overloaded function with int arg"
@@ -392,9 +292,11 @@ gdb_test "list foo::overloadfnarg(int, int (*)(int))" \
"int foo::overloadfnarg.*\\(int arg, int \\(\\*foo\\) \\(int\\)\\).*" \
"list overloaded function with function ptr args"
-# This one crashes GDB. Don't know why yet.
gdb_test "list \"foo::overloadfnarg(int, int (*)(int))\"" \
"int foo::overloadfnarg.*\\(int arg, int \\(\\*foo\\) \\(int\\)\\).*" \
"list overloaded function with function ptr args - quotes around argument"
-gdb_test "print intToChar(1)" ".\[0-9\]* = 297"
+# One last mysterious test.
+# I wonder what this is for?
+
+gdb_test "print intToChar(1)" "\\$\[0-9\]+ = 297"
diff --git a/gdb/testsuite/gdb.cp/ref-types.exp b/gdb/testsuite/gdb.cp/ref-types.exp
index dd06f027111..98dc2d68f60 100644
--- a/gdb/testsuite/gdb.cp/ref-types.exp
+++ b/gdb/testsuite/gdb.cp/ref-types.exp
@@ -1,5 +1,5 @@
# Tests for reference types with short type variables in GDB.
-# Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
+# Copyright 1998, 1999, 2000, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -72,8 +72,6 @@ proc gdb_start_again {} {
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
- source ${binfile}.ci
-
#
# set it up at a breakpoint so we can play with the variable values
#
diff --git a/gdb/testsuite/gdb.cp/templates.exp b/gdb/testsuite/gdb.cp/templates.exp
index 29fc5786848..8f94790b686 100644
--- a/gdb/testsuite/gdb.cp/templates.exp
+++ b/gdb/testsuite/gdb.cp/templates.exp
@@ -1,4 +1,4 @@
-# Copyright 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2002, 2003
+# Copyright 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2002, 2003, 2004
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -37,7 +37,6 @@ set binfile ${objdir}/${subdir}/${testfile}
if [get_compiler_info ${binfile} "c++"] {
return -1
}
-source ${binfile}.ci
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
@@ -56,6 +55,9 @@ proc test_ptype_of_templates {} {
-re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ws}int val;${ws}(T5<int> & operator=\\(T5<int> const ?&\\);${ws})?T5\\(int\\);${ws}T5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T5\\((void|)\\);${ws}static void \\* operator new\\(unsigned( int| long)?\\);${ws}static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}\\}\r\n$gdb_prompt $" {
pass "ptype T5<int>"
}
+ -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${ws}int val;${ws}T5\\(int\\);${ws}T5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T5\\((void|)\\);${ws}static void \\* operator new\\(unsigned( int| long)?\\);${ws}static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}T5<int> & operator=\\(T5<int> const ?&\\);${ws}\}\r\n$gdb_prompt $" {
+ pass "ptype T5<int>"
+ }
-re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ws}int val;${ws}${ws}T5 \\(int\\);${ws}T5 \\(const class T5<int> &\\);${ws}void ~T5 \\(int\\);${ws}static void \\* new \\(unsigned int\\);${ws}static void delete \\(void ?\\*\\);${ws}int value \\((void|)\\);${ws}\\}${ws}$gdb_prompt $" { pass "ptype T5<int> -- new with unsigned int" }
-re "type = class T5<int> \\{.*public:.*static int X;.*int x;.*int val;.*T5 \\(int\\);.*T5 \\(const class T5<int> &\\);.*void ~T5 \\(int\\);.*static void \\* new \\(unsigned long\\);.*static void delete \\(void ?\\*\\);.*int value \\((void|)\\);.*\\}\r\n$gdb_prompt $" { pass "ptype T5<int> -- new with unsigned long" }
-re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ws}int val;((${ws}T5<int> & operator=\\(T5<int> const ?&\\);)|(${ws}T5\\(int\\);)|(${ws}T5\\((T5<int> const|const T5<int>) ?&\\);)|(${ws}~T5\\((void|)\\);)|(${ws}static void \\* operator new\\(unsigned( int| long)?\\);)|(${ws}static void operator delete\\(void ?\\*\\);)|(${ws}int value\\((void|)\\);))*${ws}\\}\r\n$gdb_prompt $" {
@@ -84,6 +86,9 @@ proc test_ptype_of_templates {} {
-re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ws}int val;${ws}(T5<int> & operator=\\(T5<int> const ?&\\);${ws})?T5\\(int\\);${ws}T5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T5\\((void|)\\);${ws}static void \\* operator new\\(unsigned( int| long)?\\);${ws}static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}\\}\r\n$gdb_prompt $" {
pass "ptype t5i"
}
+ -re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ws}int val;${ws}T5\\(int\\);${ws}T5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T5\\((void|)\\);${ws}static void \\* operator new\\(unsigned( int| long)?\\);${ws}static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}T5<int> & operator=\\(T5<int> const ?&\\);${ws}\\}\r\n$gdb_prompt $" {
+ pass "ptype t5i"
+ }
-re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ws}int val;((${ws}T5<int> & operator=\\(T5<int> const ?&\\);)|(${ws}T5\\(int\\);)|(${ws}T5\\(T5<int> const ?&\\);)|(${ws}~T5\\((void|)\\);)|(${ws}static void \\* operator new\\(unsigned( int| long)?\\);)|(${ws}static void operator delete\\(void ?\\*\\);)|(${ws}int value\\((void|)\\);))*${ws}\\}\r\n$gdb_prompt $" {
pass "ptype t5i (obsolescent gcc or gdb)"
}
@@ -197,7 +202,6 @@ proc do_tests {} {
global srcdir
global binfile
global gdb_prompt
- global supports_template_debugging
set prms_id 0
set bug_id 0
@@ -209,11 +213,6 @@ proc do_tests {} {
gdb_reinitialize_dir $srcdir/$subdir
gdb_load $binfile
- if { !$supports_template_debugging } {
- warning "compiler lacks debugging info for templates; tests suppressed." 0
- return
- }
-
runto_main
test_ptype_of_templates
@@ -294,6 +293,7 @@ gdb_expect {
send_gdb "ptype fint\n"
gdb_expect {
-re "type = (class |)Foo<int> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int foo\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype fint" }
+ -re "type = (class |)Foo<int> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int foo\\(int, int\\);.*\r\n\\}\r\n$gdb_prompt $" { pass "ptype fint" }
-re "$gdb_prompt $" { fail "ptype fint" }
timeout { fail "(timeout) ptype fint" }
}
@@ -303,6 +303,7 @@ gdb_expect {
send_gdb "ptype fchar\n"
gdb_expect {
-re "type = (class |)Foo<char> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*char t;\r\n\r\n\[ \t\]*.*char foo\\(int, char\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype fchar" }
+ -re "type = (class |)Foo<char> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*char t;\r\n\r\n\[ \t\]*char foo\\(int, char\\);.*\r\n\\}\r\n$gdb_prompt $" { pass "ptype fchar" }
-re "$gdb_prompt $" { fail "ptype fchar" }
timeout { fail "(timeout) ptype fchar" }
}
@@ -311,7 +312,8 @@ gdb_expect {
send_gdb "ptype fvpchar\n"
gdb_expect {
- -re "type = (class |)Foo<.*char.* ?\\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*.*char.*\\*t;\r\n\r\n\[ \t\]*.*char.* \\* foo\\(int,.*char.*\\*\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype fvpchar" }
+ -re "type = (class |)Foo<(volatile char|char volatile) ?\\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*.*char.*\\*t;\r\n\r\n\[ \t\]*.*char \\* foo\\(int,.*char.*\\*\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype fvpchar" }
+ -re "type = (class |)Foo<(volatile char|char volatile) ?\\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*.*char.*\\*t;\r\n\r\n\[ \t\]*.*char \\* foo\\(int,.*char.*\\*\\);.*\r\n\\}\r\n$gdb_prompt $" { pass "ptype fvpchar" }
-re "$gdb_prompt $" { fail "ptype fvpchar" }
timeout { fail "(timeout) ptype fvpchar" }
}
@@ -373,7 +375,8 @@ gdb_expect {
send_gdb "ptype bint\n"
gdb_expect {
- -re "type = (class |)Bar<int, (\\(int\\)|)33> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int bar\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bint" }
+ -re "type = (class |)Bar<int, ?(\\(int\\)|)33> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int bar\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bint" }
+ -re "type = (class |)Bar<int, ?(\\(int\\)|)33> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int bar\\(int, int\\);.*\r\n\\}\r\n$gdb_prompt $" { pass "ptype bint" }
-re "$gdb_prompt $" { fail "ptype bint" }
timeout { fail "(timeout) ptype bint" }
}
@@ -382,7 +385,8 @@ gdb_expect {
send_gdb "ptype bint2\n"
gdb_expect {
- -re "type = (class |)Bar<int, (\\(int\\)|)1> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int bar\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bint2" }
+ -re "type = (class |)Bar<int, ?(\\(int\\)|)1> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int bar\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bint2" }
+ -re "type = (class |)Bar<int, ?(\\(int\\)|)1> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int bar\\(int, int\\);.*\r\n\\}\r\n$gdb_prompt $" { pass "ptype bint2" }
-re "$gdb_prompt $" { fail "ptype bint2" }
timeout { fail "(timeout) ptype bint2" }
}
@@ -409,7 +413,8 @@ gdb_expect {
send_gdb "ptype bazint\n"
gdb_expect {
- -re "type = (class |)Baz<int, (\\(char\\)|)(115|\\'s\\')> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int baz\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bazint" }
+ -re "type = (class |)Baz<int, ?(\\(char\\)|)(115|\\'s\\')> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int baz\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bazint" }
+ -re "type = (class |)Baz<int, ?(\\(char\\)|)(115|\\'s\\')> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int baz\\(int, int\\).*;\r\n\\}\r\n$gdb_prompt $" { pass "ptype bazint" }
-re "$gdb_prompt $" { fail "ptype bazint" }
timeout { fail "(timeout) ptype bazint" }
}
@@ -418,7 +423,8 @@ gdb_expect {
send_gdb "ptype bazint2\n"
gdb_expect {
- -re "type = (class |)Baz<char, (\\(char\\)|)(97|\\'a\\')> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*char t;\r\n\r\n\[ \t\]*.*char baz\\(int, char\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bazint2" }
+ -re "type = (class |)Baz<char, ?(\\(char\\)|)(97|\\'a\\')> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*char t;\r\n\r\n\[ \t\]*.*char baz\\(int, char\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bazint2" }
+ -re "type = (class |)Baz<char, ?(\\(char\\)|)(97|\\'a\\')> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*char t;\r\n\r\n\[ \t\]*char baz\\(int, char\\);.*\r\n\\}\r\n$gdb_prompt $" { pass "ptype bazint2" }
-re "$gdb_prompt $" { fail "ptype bazint2" }
timeout { fail "(timeout) ptype bazint2" }
}
@@ -443,7 +449,8 @@ gdb_expect {
send_gdb "ptype quxint\n"
gdb_expect {
- -re "type = class Qux<int, &\\(string\\)> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int qux\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype quxint" }
+ -re "type = class Qux<int, ?&\\(?string\\)?> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int qux\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype quxint" }
+ -re "type = class Qux<int, ?&\\(?string\\)?> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int qux\\(int, int\\);.*\r\n\\}\r\n$gdb_prompt $" { pass "ptype quxint" }
-re "$gdb_prompt $" { fail "ptype quxint" }
timeout { fail "(timeout) ptype quxint" }
}
@@ -480,7 +487,8 @@ gdb_expect {
send_gdb "ptype siip\n"
gdb_expect {
- -re "type = class Spec<int, int ?\\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\r\n\[ \t\]*.*int spec\\(int ?\\*\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype siip" }
+ -re "type = class Spec<int, ?int ?\\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\r\n\[ \t\]*.*int spec\\(int ?\\*\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype siip" }
+ -re "type = class Spec<int, ?int ?\\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\r\n\[ \t\]*int spec\\(int ?\\*\\);.*\r\n\\}\r\n$gdb_prompt $" { pass "ptype siip" }
-re "$gdb_prompt $" { fail "ptype siip" }
timeout { fail "(timeout) ptype siip" }
}
@@ -490,6 +498,7 @@ gdb_expect {
send_gdb "ptype Garply<int>\n"
gdb_expect {
-re "type = class Garply<int> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int garply\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype Garply<int>" }
+ -re "type = class Garply<int> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int garply\\(int, int\\);.*\r\n\\}\r\n$gdb_prompt $" { pass "ptype Garply<int>" }
-re "$gdb_prompt $" { fail "ptype Garply<int>" }
timeout { fail "(timeout) ptype Garply<int>" }
}
@@ -499,6 +508,7 @@ gdb_expect {
send_gdb "ptype Garply<Garply<char> >\n"
gdb_expect {
-re "type = (class |)Garply<Garply<char> > \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*.*(class |)Garply<char> t;\r\n\r\n\[ \t\]*.*(class |)Garply<char> garply\\(int, (class |)Garply<char>\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype Garply<Garply<char> >" }
+ -re "type = (class |)Garply<Garply<char> > \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*.*(class |)Garply<char> t;\r\n\r\n\[ \t\]*(class |)Garply<char> garply\\(int, (class |)Garply<char>\\);.*\r\n\\}\r\n$gdb_prompt $" { pass "ptype Garply<Garply<char> >" }
-re "$gdb_prompt $" { fail "ptype Garply<Garply<char> >" }
timeout { fail "(timeout) ptype Garply<Garply<char> >" }
}
diff --git a/gdb/testsuite/gdb.cp/virtfunc.exp b/gdb/testsuite/gdb.cp/virtfunc.exp
index ff36c27cc36..958900a4ef1 100644
--- a/gdb/testsuite/gdb.cp/virtfunc.exp
+++ b/gdb/testsuite/gdb.cp/virtfunc.exp
@@ -1,4 +1,4 @@
-# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003
+# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -19,12 +19,14 @@
# bug-gdb@prep.ai.mit.edu
# This file was written by Fred Fish. (fnf@cygnus.com)
+# And rewritten by Michael Chastain <mec.gnu@mindspring.com>.
-set ws "\[\r\n\t \]+"
-set nl "\[\r\n\]+"
+set wsopt "\[\r\n\t \]*"
+set ws "\[\r\n\t \]+"
+set nl "\[\r\n\]+"
if $tracelevel then {
- strace $tracelevel
+ strace $tracelevel
}
if { [skip_cplus_tests] } { continue }
@@ -33,706 +35,454 @@ set testfile "virtfunc"
set srcfile ${testfile}.cc
set binfile ${objdir}/${subdir}/${testfile}
-if [get_compiler_info ${binfile} "c++"] {
- return -1
-}
-
-source ${binfile}.ci
-
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {c++ debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
-proc gdb_virtfunc_init {} {
- global srcdir subdir binfile
- global gdb_prompt
-
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
- send_gdb "set language c++\n"
- gdb_expect -re "$gdb_prompt $"
- send_gdb "set width 0\n"
- gdb_expect -re "$gdb_prompt $"
-}
-
-proc gdb_virtfunc_restart {} {
- gdb_exit;
- gdb_start;
- gdb_virtfunc_init;
- runto 'test_calls';
-}
-
+# Test ptype of a class.
+#
+# Different C++ compilers produce different output. I build up regular
+# expressions piece by piece to accommodate all the compilers that I
+# have seen: gcc 2.95.3, gcc 3.3.2 (ABI 1), gcc 3.4 prerelease (ABI 2);
+# and all the debug formats I have seen: dwarf-2 and stabs+.
+#
+# A complicated class declaration looks like this:
+#
+# class A : public virtual V { // re_class
+# private:
+# V * _vb$V; // re_vbptr
+# int a; // re_fields
+#
+# public: // re_access_methods
+# A & operator=(A const &); // re_synth_gcc_2
+# A(int, A const &); // ...
+# A(int); // ...
+# virtual int f(void); // re_methods
+# }
+#
+# RE_CLASS matches the class declaration. C++ allows multiple ways of
+# expressing this.
+#
+# struct ... { private: ... };
+# class ... { private: ... };
+# class ... { ... };
#
-# Test printing of the types of various classes.
+# RE_VBPTR matches the virtual base declarations. gcc 2.95.3 sometimes
+# emits these, but gcc 3.X.Y never emits these. The name depends on the
+# debug format.
#
+# RE_FIELDS matches the data fields of the class.
+# RE_METHODS matches the methods explicitly declared for the class.
+#
+# RE_SYNTH_GCC_2 and RE_SYNTH_GCC_3 match the optional synthetic methods
+# of the class. gcc -gstabs+ emits these methods, and gcc -gdwarf-2
+# does not.
+#
+# RE_ACCESS_METHODS is an access specifier after RE_FIELDS and before
+# the methods (explicit methods and/or synthetic methods).
+# There is also an RE_ACCESS_FIELDS.
+#
+# When I get HP-UX aCC, I hope that I can just add RE_SYNTH_ACC_NNN.
+#
+# Yet another twist: with gcc v2, ctor and dtor methods have a hidden
+# argument in front, the "in-charge" flag. With gcc v3, there is no
+# hidden argument; instead, there are multiple object functions for
+# each ctor and dtor.
+#
+# -- chastain 2004-01-01
-proc test_ptype_of_classes {} {
+proc test_one_ptype { command testname re_class re_vbptr re_access_fields re_fields re_access_methods re_methods re_synth_gcc_2 re_synth_gcc_3 re_star } {
global gdb_prompt
+ global wsopt
global ws
global nl
- # This used to be a fail if it printed "struct" not "class". But
- # since this struct doesn't use any special C++ features, it is
- # considered right for GDB to print it as "struct".
- send_gdb "ptype VA\n"
- gdb_expect {
- -re "type = (struct|class) VA \{(${ws}public:|)${ws}int va;${ws}VA & operator=\\(VA const ?&\\);${ws}VA\\((VA const|const VA) ?&\\);${ws}VA\\((void|)\\);${ws}\}.*$gdb_prompt $" {
- pass "ptype VA"
- }
- -re "type = (struct|class) VA \{(${ws}public:|)${ws}int va;((${ws}VA & operator=\\(VA const ?&\\);)|(${ws}VA\\(VA const ?&\\);)|(${ws}VA\\((void|)\\);))*${ws}\}.*$gdb_prompt $" {
- pass "ptype VA (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype VA"
- }
- timeout {
- fail "ptype VA (timeout)"
- }
- }
-
- send_gdb "ptype VB\n"
- gdb_expect {
- -re "type = class VB \{${ws}public:${ws}int vb;${ws}VB & operator=\\(VB const ?&\\);${ws}VB\\((VB const|const VB) ?&\\);${ws}VB\\((void|)\\);${ws}int fvb\\((void|)\\);${ws}virtual int vvb\\((void|)\\);${ws}\}.*$gdb_prompt $" {
- pass "ptype VB"
- }
- -re "type = class VB \{${ws}public:${ws}int vb;${ws}int fvb \\((void|)\\);${ws}virtual int vvb \\((void|)\\);${ws}\}.*$gdb_prompt $" {
- pass "ptype VB (aCC)"
- }
- -re "type = class VB \{${ws}public:${ws}int vb;((${ws}VB & operator=\\(VB const ?&\\);)|(${ws}VB\\(VB const ?&\\);)|(${ws}VB\\((void|)\\);)|(${ws}int fvb\\((void|)\\);)|(${ws}virtual int vvb\\((void|)\\);))*${ws}\}.*$gdb_prompt $" {
- pass "ptype VB (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype VB"
- }
- timeout {
- fail "ptype VB (timeout)"
- }
- }
-
- send_gdb "ptype V\n"
- gdb_expect {
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const ?&\\);${ws}V\\((V const|const V) ?&\\);${ws}V\\((void|)\\);${ws}int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype V"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}int f \\((void|)\\);${ws}virtual int vv \\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype V (aCC)"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const ?&\\);)|(${ws}V\\(V const ?&\\);)|(${ws}V\\((void|)\\);)|(${ws}int f\\((void|)\\);)|(${ws}virtual int vv\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype V (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype V"
- }
- timeout {
- fail "ptype V (timeout)"
- }
- }
-
- # The format of a g++ virtual base pointer.
- set vbptr "(_vb\[$.\]|__vb_)\[0-9\]?"
-
- send_gdb "ptype A\n"
- gdb_expect {
- -re "type = class A : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}int a;${ws}public:${ws}A & operator=\\(A const ?&\\);${ws}A\\(int, A const ?&\\);${ws}A\\(int\\);${ws}virtual int f\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype A"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}int a;${ws}public:${ws}A & operator=\\(A const ?&\\);${ws}A\\((A const|const A) ?&\\);${ws}A\\((void|)\\);${ws}virtual int f\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype A"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}int a;${ws}public:${ws}virtual int f\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype A (aCC)"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}int a;${ws}public:((${ws}A & operator=\\(A const ?&\\);)|(${ws}A\\(int, A const ?&\\);)|(${ws}A\\(int\\);)|(${ws}virtual int f\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype A (obsolescent gcc or gdb)"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}V \\*${vbptr}FOO;${ws}int a;${ws}public:${ws}virtual int f.void.;${ws}\}$nl$gdb_prompt $" {
- # This happens because the type is defined only after it is
- # too late.
- fail "ptype A (known failure with gcc cygnus-2.4.5-930417)"
- # Many of the rest of these tests have the same problem.
- return 0
- }
- -re ".*$gdb_prompt $" {
- fail "ptype A"
- }
- timeout {
- fail "ptype A (timeout)"
- }
- }
-
- send_gdb "ptype B\n"
- gdb_expect {
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}B & operator=\\(B const ?&\\);${ws}B\\(int, B const ?&\\);${ws}B\\(int\\);${ws}virtual int f\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype B"
- }
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}B & operator=\\(B const ?&\\);${ws}B\\((B const|const B) ?&\\);${ws}B\\((void|)\\);${ws}virtual int f\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype B"
- }
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}virtual int f \\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype B (aCC)"
- }
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:((${ws}B & operator=\\(B const ?&\\);)|(${ws}B\\(int, B const ?&\\);)|(${ws}B\\(int\\);)|(${ws}virtual int f\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype B (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype B"
- }
- timeout {
- fail "ptype B (timeout)"
- }
- }
-
- send_gdb "ptype C\n"
- gdb_expect {
- -re "type = class C : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int c;${ws}C & operator=\\(C const ?&\\);${ws}C\\(int, C const ?&\\);${ws}C\\(int\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype C"
- }
- -re "type = class C : public virtual V \{${ws}public:${ws}int c;${ws}C & operator=\\(C const ?&\\);${ws}C\\((C const|const C) ?&\\);${ws}C\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype C"
- }
- -re "type = class C : public virtual V \{${ws}public:${ws}int c;${ws}\}$nl$gdb_prompt $" {
- pass "ptype C (aCC)"
- }
- -re "type = class C : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int c;((${ws}C & operator=\\(C const ?&\\);)|(${ws}C\\(int, C const ?&\\);)|(${ws}C\\(int\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype C (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype C"
- }
- timeout {
- fail "ptype C (timeout)"
- }
- }
-
- send_gdb "ptype AD\n"
- gdb_expect {
- -re "type = class AD \{${ws}public:${ws}AD & operator=\\(AD const ?&\\);${ws}AD\\((AD const|const AD) ?&\\);${ws}AD\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype AD"
- }
- -re "type = class AD \{${ws}public:${ws}virtual int vg \\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype AD (aCC)"
- }
- -re "type = class AD \{${ws}public:((${ws}AD & operator=\\(AD const ?&\\);)|(${ws}AD\\(AD const ?&\\);)|(${ws}AD\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype AD (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype AD"
- }
- timeout {
- fail "ptype AD (timeout)"
- }
- }
-
- send_gdb "ptype D\n"
- gdb_expect {
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype D"
- }
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\((D const|const D) ?&\\);${ws}D\\((void|)\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype D"
- }
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype D (aCC)"
- }
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const ?&\\);)|(${ws}D\\(int, D const ?&\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);)|(${ws}virtual int vd\\((void|)\\);)|(${ws}int fd\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype D (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype D"
- }
- timeout {
- fail "ptype D (timeout)"
- }
- }
-
- send_gdb "ptype E\n"
- gdb_expect {
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}E & operator=\\(E const ?&\\);${ws}E\\(int, E const ?&\\);${ws}E\\(int\\);${ws}virtual int f\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype E"
- }
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}E & operator=\\(E const ?&\\);${ws}E\\((E const|const E) ?&\\);${ws}E\\((void|)\\);${ws}virtual int f\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype E"
- }
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}virtual int f \\((void|)\\);${ws}virtual int vg \\((void|)\\);${ws}virtual int vv \\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype E (aCC)"
- }
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;((${ws}E & operator=\\(E const ?&\\);)|(${ws}E\\(int, E const ?&\\);)|(${ws}E\\(int\\);)|(${ws}virtual int f\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);)|(${ws}virtual int vv\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype E (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype E"
- }
- timeout {
- fail "ptype E (timeout)"
- }
- }
-
- send_gdb "ptype dd\n"
- gdb_expect {
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype dd"
- }
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\((D const|const D) ?&\\);${ws}D\\((void|)\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype dd"
- }
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype dd (aCC)"
- }
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const ?&\\);)|(${ws}D\\(int, D const ?&\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);)|(${ws}virtual int vd\\((void|)\\);)|(${ws}int fd\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype dd (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype dd"
- }
- timeout {
- fail "ptype dd (timeout)"
- }
- }
-
- send_gdb "ptype ppd\n"
- gdb_expect {
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype ppd"
- }
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\((D const|const D) ?&\\);${ws}D\\((void|)\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype ppd"
- }
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype ppd (aCC)"
- }
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const ?&\\);)|(${ws}D\\(int, D const ?&\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);)|(${ws}virtual int vd\\((void|)\\);)|(${ws}int fd\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype ppd (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype ppd"
- }
- timeout {
- fail "ptype ppd (timeout)"
- }
- }
-
- send_gdb "ptype pAd\n"
- gdb_expect {
- -re "type = class AD \{${ws}public:${ws}AD & operator=\\(AD const ?&\\);${ws}AD\\((AD const|const AD) ?&\\);${ws}AD\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAd"
- }
- -re "type = class AD \{${ws}public:${ws}virtual int vg \\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAd (aCC)"
- }
- -re "type = class AD \{${ws}public:((${ws}AD & operator=\\(AD const ?&\\);)|(${ws}AD\\(AD const ?&\\);)|(${ws}AD\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAd (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pAd"
- }
- timeout {
- fail "ptype pAd (timeout)"
- }
- }
-
- send_gdb "ptype a\n"
- gdb_expect {
- -re "type = class A : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}int a;${ws}public:${ws}A & operator=\\(A const ?&\\);${ws}A\\(int, A const ?&\\);${ws}A\\(int\\);${ws}virtual int f\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype a"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}int a;${ws}public:${ws}A & operator=\\(A const ?&\\);${ws}A\\((A const|const A) ?&\\);${ws}A\\((void|)\\);${ws}virtual int f\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype a"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}int a;${ws}public:${ws}virtual int f\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype a (aCC)"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}int a;${ws}public:((${ws}A & operator=\\(A const ?&\\);)|(${ws}A\\(int, A const ?&\\);)|(${ws}A\\(int\\);)|(${ws}virtual int f\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype a (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype a"
- }
- timeout {
- fail "ptype a (timeout)"
- }
- }
-
- send_gdb "ptype b\n"
- gdb_expect {
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}B & operator=\\(B const ?&\\);${ws}B\\(int, B const ?&\\);${ws}B\\(int\\);${ws}virtual int f\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype b"
- }
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}B & operator=\\(B const ?&\\);${ws}B\\((B const|const B) ?&\\);${ws}B\\((void|)\\);${ws}virtual int f\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype b"
- }
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}virtual int f \\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype b (aCC)"
- }
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:((${ws}B & operator=\\(B const ?&\\);)|(${ws}B\\(int, B const ?&\\);)|(${ws}B\\(int\\);)|(${ws}virtual int f\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype b (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype b"
- }
- timeout {
- fail "ptype b (timeout)"
- }
- }
-
- send_gdb "ptype c\n"
- gdb_expect {
- -re "type = class C : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int c;${ws}C & operator=\\(C const ?&\\);${ws}C\\(int, C const ?&\\);${ws}C\\(int\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype c"
- }
- -re "type = class C : public virtual V \{${ws}public:${ws}int c;${ws}C & operator=\\(C const ?&\\);${ws}C\\((C const|const C) ?&\\);${ws}C\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype c"
- }
- -re "type = class C : public virtual V \{${ws}public:${ws}int c;${ws}\}$nl$gdb_prompt $" {
- pass "ptype c (aCC)"
- }
- -re "type = class C : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int c;((${ws}C & operator=\\(C const ?&\\);)|(${ws}C\\(int, C const ?&\\);)|(${ws}C\\(int\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype c (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype c"
- }
- timeout {
- fail "ptype c (timeout)"
- }
- }
-
- send_gdb "ptype d\n"
- gdb_expect {
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype d"
- }
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\((D const|const D) ?&\\);${ws}D\\((void|)\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype d"
- }
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype d (aCC)"
- }
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const ?&\\);)|(${ws}D\\(int, D const ?&\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);)|(${ws}virtual int vd\\((void|)\\);)|(${ws}int fd\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype d (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype d"
- }
- timeout {
- fail "ptype d (timeout)"
- }
- }
-
- send_gdb "ptype e\n"
- gdb_expect {
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}E & operator=\\(E const ?&\\);${ws}E\\(int, E const ?&\\);${ws}E\\(int\\);${ws}virtual int f\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype e"
- }
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}E & operator=\\(E const ?&\\);${ws}E\\((E const|const E) ?&\\);${ws}E\\((void|)\\);${ws}virtual int f\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype e"
- }
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}virtual int f \\((void|)\\);${ws}virtual int vg \\((void|)\\);${ws}virtual int vv \\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype e (aCC)"
- }
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;((${ws}E & operator=\\(E const ?&\\);)|(${ws}E\\(int, E const ?&\\);)|(${ws}E\\(int\\);)|(${ws}virtual int f\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);)|(${ws}virtual int vv\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype e (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype e"
- }
- timeout {
- fail "ptype e (timeout)"
- }
- }
-
- send_gdb "ptype v\n"
- gdb_expect {
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const ?&\\);${ws}V\\((V const|const V) ?&\\);${ws}V\\((void|)\\);${ws}int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype v"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}int f \\((void|)\\);${ws}virtual int vv \\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype v (aCC)"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const ?&\\);)|(${ws}V\\(V const ?&\\);)|(${ws}V\\((void|)\\);)|(${ws}int f\\((void|)\\);)|(${ws}virtual int vv\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype v (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype v"
- }
- timeout {
- fail "ptype v (timeout)"
- }
- }
-
- send_gdb "ptype vb\n"
- gdb_expect {
- -re "type = class VB \{${ws}public:${ws}int vb;${ws}VB & operator=\\(VB const ?&\\);${ws}VB\\((VB const|const VB) ?&\\);${ws}VB\\((void|)\\);${ws}int fvb\\((void|)\\);${ws}virtual int vvb\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype vb"
- }
- -re "type = class VB \{${ws}public:${ws}int vb;${ws}int fvb \\((void|)\\);${ws}virtual int vvb \\((void|)\\);${ws}\}$nl$gdb_prompt $" {
- pass "ptype vb (aCC)"
- }
- -re "type = class VB \{${ws}public:${ws}int vb;((${ws}VB & operator=\\(VB const ?&\\);)|(${ws}VB\\(VB const ?&\\);)|(${ws}VB\\((void|)\\);)|(${ws}int fvb\\((void|)\\);)|(${ws}virtual int vvb\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
- pass "ptype vb (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype vb"
- }
- timeout {
- fail "ptype vb (timeout)"
- }
- }
-
- send_gdb "ptype pAa\n"
- gdb_expect {
- -re "type = class A : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}int a;${ws}public:${ws}A & operator=\\(A const ?&\\);${ws}A\\(int, A const ?&\\);${ws}A\\(int\\);${ws}virtual int f\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAa"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}int a;${ws}public:${ws}A & operator=\\(A const ?&\\);${ws}A\\((A const|const A) ?&\\);${ws}A\\((void|)\\);${ws}virtual int f\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAa"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}int a;${ws}public:${ws}virtual int f\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAa (aCC)"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}int a;${ws}public:((${ws}A & operator=\\(A const ?&\\);)|(${ws}A\\(int, A const ?&\\);)|(${ws}A\\(int\\);)|(${ws}virtual int f\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAa (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pAa"
- }
- timeout {
- fail "ptype pAa (timeout)"
- }
- }
-
- send_gdb "ptype pAe\n"
- gdb_expect {
- -re "type = class A : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}int a;${ws}public:${ws}A & operator=\\(A const ?&\\);${ws}A\\(int, A const ?&\\);${ws}A\\(int\\);${ws}virtual int f\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAe"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}int a;${ws}public:${ws}A & operator=\\(A const ?&\\);${ws}A\\((A const|const A) ?&\\);${ws}A\\((void|)\\);${ws}virtual int f\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAe"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}int a;${ws}public:${ws}virtual int f\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAe (aCC)"
- }
- -re "type = class A : public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}int a;${ws}public:((${ws}A & operator=\\(A const ?&\\);)|(${ws}A\\(int, A const ?&\\);)|(${ws}A\\(int\\);)|(${ws}virtual int f\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pAe (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pAe"
- }
- timeout {
- fail "ptype pAe (timeout)"
- }
- }
-
- send_gdb "ptype pBe\n"
- gdb_expect {
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}B & operator=\\(B const ?&\\);${ws}B\\(int, B const ?&\\);${ws}B\\(int\\);${ws}virtual int f\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pBe"
- }
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}B & operator=\\(B const ?&\\);${ws}B\\((B const|const B) ?&\\);${ws}B\\((void|)\\);${ws}virtual int f\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pBe"
- }
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}virtual int f \\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pBe (aCC)"
- }
- -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:((${ws}B & operator=\\(B const ?&\\);)|(${ws}B\\(int, B const ?&\\);)|(${ws}B\\(int\\);)|(${ws}virtual int f\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pBe (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pBe"
- }
- timeout {
- fail "ptype pBe (timeout)"
- }
- }
-
- send_gdb "ptype pDd\n"
- gdb_expect {
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pDd"
- }
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\((D const|const D) ?&\\);${ws}D\\((void|)\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pDd"
- }
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pDd (aCC)"
- }
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const ?&\\);)|(${ws}D\\(int, D const ?&\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);)|(${ws}virtual int vd\\((void|)\\);)|(${ws}int fd\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pDd (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pDd"
- }
- timeout {
- fail "ptype pDd (timeout)"
+ gdb_test_multiple "$command" "$testname" {
+ -re "type = $re_class${wsopt}$re_access_fields${wsopt}$re_fields${wsopt}$re_access_methods${wsopt}$re_methods$nl\}$re_star$nl$gdb_prompt $" {
+ # gcc 2.95.3, dwarf-2, no vbptr
+ # gcc 3.X, abi 1, dwarf-2
+ # gcc 3.X, abi 2, dwarf-2
+ pass "$testname"
}
- }
-
- send_gdb "ptype pDe\n"
- gdb_expect {
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pDe"
+ -re "type = $re_class${wsopt}$re_vbptr${wsopt}$re_access_fields${wsopt}$re_fields${wsopt}$re_access_methods${wsopt}$re_methods$nl\}$re_star$nl$gdb_prompt $" {
+ # gcc 2.95.3, dwarf-2, vbptr
+ # TODO: drow says the vbptr is a bug
+ pass "$testname"
}
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}D & operator=\\(D const ?&\\);${ws}D\\((D const|const D) ?&\\);${ws}D\\((void|)\\);${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pDe"
+ -re "type = $re_class${wsopt}$re_access_fields${wsopt}$re_fields${wsopt}$re_access_methods${wsopt}$re_synth_gcc_2${wsopt}$re_methods$nl\}$re_star$nl$gdb_prompt $" {
+ # gcc 2.95.3, stabs+, no vbptr
+ pass "$testname"
}
- -re "type = class D : public AD, public virtual V \{${ws}public:${ws}int d;${ws}static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pDe (aCC)"
- }
- -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \\*${vbptr}V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const ?&\\);)|(${ws}D\\(int, D const ?&\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);)|(${ws}virtual int vd\\((void|)\\);)|(${ws}int fd\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pDe (obsolescent gcc or gdb)"
+ -re "type = $re_class${wsopt}$re_vbptr${wsopt}$re_access_fields${wsopt}$re_fields${wsopt}$re_access_methods${wsopt}$re_synth_gcc_2${wsopt}$re_methods$nl\}$re_star$nl$gdb_prompt $" {
+ # gcc 2.95.3, stabs+, vbptr
+ # TODO: drow says the vbptr is a bug
+ pass "$testname"
}
- -re ".*$gdb_prompt $" {
- fail "ptype pDe"
+ -re "type = $re_class${wsopt}$re_access_fields${wsopt}$re_fields${wsopt}$re_access_methods${wsopt}$re_synth_gcc_3${wsopt}$re_methods$nl\}$re_star$nl$gdb_prompt $" {
+ # gcc 3.X, abi 1, stabs+
+ pass "$testname"
}
- timeout {
- fail "ptype pDe (timeout)"
+ -re "type = $re_class${wsopt}$re_access_fields${wsopt}$re_fields${wsopt}$re_access_methods${wsopt}$re_methods${wsopt}$re_synth_gcc_3$nl\}$re_star$nl$gdb_prompt $" {
+ # gcc 3.X, abi 2, stabs+
+ pass "$testname"
}
}
- send_gdb "ptype pVa\n"
- gdb_expect {
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const ?&\\);${ws}V\\((V const|const V) ?&\\);${ws}V\\((void|)\\);${ws}int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVa"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}int f \\((void|)\\);${ws}virtual int vv \\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVa (aCC)"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const ?&\\);)|(${ws}V\\(V const ?&\\);)|(${ws}V\\((void|)\\);)|(${ws}int f\\((void|)\\);)|(${ws}virtual int vv\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVa (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pVa"
- }
- timeout {
- fail "ptype pVa (timeout)"
- }
- }
-
- send_gdb "ptype pVv\n"
- gdb_expect {
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const ?&\\);${ws}V\\((V const|const V) ?&\\);${ws}V\\((void|)\\);${ws}int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVv"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}int f \\((void|)\\);${ws}virtual int vv \\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVv (aCC)"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const ?&\\);)|(${ws}V\\(V const ?&\\);)|(${ws}V\\((void|)\\);)|(${ws}int f\\((void|)\\);)|(${ws}virtual int vv\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVv (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pVv"
- }
- timeout {
- fail "ptype pVv (timeout)"
- }
- }
-
- send_gdb "ptype pVe\n"
- gdb_expect {
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const ?&\\);${ws}V\\((V const|const V) ?&\\);${ws}V\\((void|)\\);${ws}int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVe"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}int f \\((void|)\\);${ws}virtual int vv \\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVe (aCC)"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const ?&\\);)|(${ws}V\\(V const ?&\\);)|(${ws}V\\((void|)\\);)|(${ws}int f\\((void|)\\);)|(${ws}virtual int vv\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVe (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pVe"
- }
- timeout {
- fail "ptype pVe (timeout)"
- }
- }
-
- send_gdb "ptype pVd\n"
- gdb_expect {
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const ?&\\);${ws}V\\((V const|const V) ?&\\);${ws}V\\((void|)\\);${ws}int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVd"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}int f \\((void|)\\);${ws}virtual int vv \\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVd (aCC)"
- }
- -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const ?&\\);)|(${ws}V\\(V const ?&\\);)|(${ws}V\\((void|)\\);)|(${ws}int f\\((void|)\\);)|(${ws}virtual int vv\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVd (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pVd"
- }
- timeout {
- fail "ptype pVd (timeout)"
- }
- }
-
- send_gdb "ptype pADe\n"
- gdb_expect {
- -re "type = class AD \{${ws}public:${ws}AD & operator=\\(AD const ?&\\);${ws}AD\\((AD const|const AD) ?&\\);${ws}AD\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pADe"
- }
- -re "type = class AD \{${ws}public:${ws}virtual int vg \\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pADe (aCC)"
- }
- -re "type = class AD \{${ws}public:((${ws}AD & operator=\\(AD const ?&\\);)|(${ws}AD\\(AD const ?&\\);)|(${ws}AD\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pADe (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pADe"
- }
- timeout {
- fail "ptype pADe (timeout)"
- }
- }
+}
- send_gdb "ptype pEe\n"
- gdb_expect {
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}E & operator=\\(E const ?&\\);${ws}E\\(int, E const ?&\\);${ws}E\\(int\\);${ws}virtual int f\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pEe"
- }
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}E & operator=\\(E const ?&\\);${ws}E\\((E const|const E) ?&\\);${ws}E\\((void|)\\);${ws}virtual int f\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vv\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pEe"
- }
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}virtual int f \\((void|)\\);${ws}virtual int vg \\((void|)\\);${ws}virtual int vv \\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pEe (aCC)"
- }
- -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;((${ws}E & operator=\\(E const ?&\\);)|(${ws}E\\(int, E const ?&\\);)|(${ws}E\\(int\\);)|(${ws}virtual int f\\((void|)\\);)|(${ws}virtual int vg\\((void|)\\);)|(${ws}virtual int vv\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pEe (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pEe"
- }
- timeout {
- fail "ptype pEe (timeout)"
- }
- }
+proc test_ptype_of_classes {} {
+ global gdb_prompt
+ global ws
+ global nl
- send_gdb "ptype pVB\n"
- gdb_expect {
- -re "type = class VB \{${ws}public:${ws}int vb;${ws}VB & operator=\\(VB const ?&\\);${ws}VB\\((VB const|const VB) ?&\\);${ws}VB\\((void|)\\);${ws}int fvb\\((void|)\\);${ws}virtual int vvb\\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVB"
- }
- -re "type = class VB \{${ws}public:${ws}int vb;${ws}int fvb \\((void|)\\);${ws}virtual int vvb \\((void|)\\);${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVB (aCC)"
- }
- -re "type = class VB \{${ws}public:${ws}int vb;((${ws}VB & operator=\\(VB const ?&\\);)|(${ws}VB\\(VB const ?&\\);)|(${ws}VB\\((void|)\\);)|(${ws}int fvb\\((void|)\\);)|(${ws}virtual int vvb\\((void|)\\);))*${ws}\} \[*\]+$nl$gdb_prompt $" {
- pass "ptype pVB (obsolescent gcc or gdb)"
- }
- -re ".*$gdb_prompt $" {
- fail "ptype pVB"
- }
- timeout {
- fail "ptype pVB (timeout)"
- }
- }
+ # class VA
+
+ test_one_ptype "ptype VA" "ptype VA" \
+ "((struct|class) VA \{${ws}public:|struct VA \{)" \
+ "" \
+ "" "int va;" \
+ "" "" \
+ "VA & operator=\\(VA const ?&\\);${ws}VA\\(VA const ?&\\);${ws}VA\\((void|)\\);" \
+ "VA & operator=\\(VA const ?&\\);${ws}VA\\(VA const ?&\\);${ws}VA\\((void|)\\);" \
+ ""
+
+ # class VB
+
+ test_one_ptype "ptype VB" "ptype VB" \
+ "((struct|class) VB \{${ws}public:|struct VB \{)" \
+ "" \
+ "" "int vb;" \
+ "" "int fvb\\((void|)\\);${ws}virtual int vvb\\((void|)\\);" \
+ "VB & operator=\\(VB const ?&\\);${ws}VB\\(VB const ?&\\);${ws}VB\\((void|)\\);" \
+ "VB & operator=\\(VB const ?&\\);${ws}VB\\(VB const ?&\\);${ws}VB\\((void|)\\);" \
+ ""
+
+ # class V
+
+ test_one_ptype "ptype V" "ptype V" \
+ "class V : public VA, public VB \{${ws}public:" \
+ "" \
+ "" "int w;" \
+ "" "int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ ""
+
+ # class A
+
+ test_one_ptype "ptype A" "ptype A" \
+ "class A : public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "" "int a;" \
+ "public:" "virtual int f\\((void|)\\);" \
+ "A & operator=\\(A const ?&\\);${ws}A\\(int, A const ?&\\);${ws}A\\(int\\);" \
+ "A & operator=\\(A const ?&\\);${ws}A\\(A const ?&\\);${ws}A\\(\\);" \
+ ""
+
+ # class B
+
+ test_one_ptype "ptype B" "ptype B" \
+ "class B : public A \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "" "int b;" \
+ "public:" "virtual int f\\((void|)\\);" \
+ "B & operator=\\(B const ?&\\);${ws}B\\(int, B const ?&\\);${ws}B\\(int\\);" \
+ "B & operator=\\(B const ?&\\);${ws}B\\(B const ?&\\);${ws}B\\(\\);" \
+ ""
+
+ # class C
+
+ test_one_ptype "ptype C" "ptype C" \
+ "class C : public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "public:" "int c;" \
+ "" "" \
+ "C & operator=\\(C const ?&\\);${ws}C\\(int, C const ?&\\);${ws}C\\(int\\);" \
+ "C & operator=\\(C const ?&\\);${ws}C\\(C const ?&\\);${ws}C\\(\\);" \
+ ""
+
+ # class AD
+
+ test_one_ptype "ptype AD" "ptype AD" \
+ "((struct|class) AD \{${ws}public:|struct AD \{)" \
+ "" \
+ "" "" \
+ "" "virtual int vg\\((void|)\\);" \
+ "AD & operator=\\(AD const ?&\\);${ws}AD\\(AD const ?&\\);${ws}AD\\((void|)\\);" \
+ "AD & operator=\\(AD const ?&\\);${ws}AD\\(AD const ?&\\);${ws}AD\\((void|)\\);" \
+ ""
+
+ # class D
+
+ test_one_ptype "ptype D" "ptype D" \
+ "class D : public AD, public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "public:" "int d;" \
+ "" "static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(D const ?&\\);${ws}D\\(\\);" \
+ ""
+
+ # class E
+ # TODO: E does not show a vbptr for V. That seems strange.
+
+ test_one_ptype "ptype E" "ptype E" \
+ "class E : public B, public virtual V, public D, public C \{(${ws}private:|)" \
+ "" \
+ "public:" "int e;" \
+ "" "virtual int f\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vv\\((void|)\\);" \
+ "E & operator=\\(E const ?&\\);${ws}E\\(int, E const ?&\\);${ws}E\\(int\\);" \
+ "E & operator=\\(E const ?&\\);${ws}E\\(E const ?&\\);${ws}E\\(\\);" \
+ ""
+
+ # An instance of D
+
+ test_one_ptype "ptype dd" "ptype dd" \
+ "class D : public AD, public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "public:" "int d;" \
+ "" "static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(D const ?&\\);${ws}D\\(\\);" \
+ ""
+
+ # An instance of D *
+
+ test_one_ptype "ptype ppd" "ptype ppd" \
+ "class D : public AD, public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "public:" "int d;" \
+ "" "static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(D const ?&\\);${ws}D\\(\\);" \
+ " ?\\*"
+
+ # An instance of AD *
+ # TODO: this should be named pADd, not pAd.
+
+ test_one_ptype "ptype pAd" "ptype pAd" \
+ "((struct|class) AD \{${ws}public:|struct AD \{)" \
+ "" \
+ "" "" \
+ "" "virtual int vg\\((void|)\\);" \
+ "AD & operator=\\(AD const ?&\\);${ws}AD\\(AD const ?&\\);${ws}AD\\((void|)\\);" \
+ "AD & operator=\\(AD const ?&\\);${ws}AD\\(AD const ?&\\);${ws}AD\\((void|)\\);" \
+ " ?\\*"
+
+ # An instance of A
+
+ test_one_ptype "ptype a" "ptype a" \
+ "class A : public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "" "int a;" \
+ "public:" "virtual int f\\((void|)\\);" \
+ "A & operator=\\(A const ?&\\);${ws}A\\(int, A const ?&\\);${ws}A\\(int\\);" \
+ "A & operator=\\(A const ?&\\);${ws}A\\(A const ?&\\);${ws}A\\(\\);" \
+ ""
+
+ # An instance of B
+
+ test_one_ptype "ptype b" "ptype b" \
+ "class B : public A \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "" "int b;" \
+ "public:" "virtual int f\\((void|)\\);" \
+ "B & operator=\\(B const ?&\\);${ws}B\\(int, B const ?&\\);${ws}B\\(int\\);" \
+ "B & operator=\\(B const ?&\\);${ws}B\\(B const ?&\\);${ws}B\\(\\);" \
+ ""
+
+ # An instance of C
+
+ test_one_ptype "ptype c" "ptype c" \
+ "class C : public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "public:" "int c;" \
+ "" "" \
+ "C & operator=\\(C const ?&\\);${ws}C\\(int, C const ?&\\);${ws}C\\(int\\);" \
+ "C & operator=\\(C const ?&\\);${ws}C\\(C const ?&\\);${ws}C\\(\\);" \
+ ""
+
+ # An instance of D
+
+ test_one_ptype "ptype d" "ptype d" \
+ "class D : public AD, public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "public:" "int d;" \
+ "" "static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(D const ?&\\);${ws}D\\(\\);" \
+ ""
+
+ # An instance of E
+
+ test_one_ptype "ptype e" "ptype e" \
+ "class E : public B, public virtual V, public D, public C \{(${ws}private:|)" \
+ "" \
+ "public:" "int e;" \
+ "" "virtual int f\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vv\\((void|)\\);" \
+ "E & operator=\\(E const ?&\\);${ws}E\\(int, E const ?&\\);${ws}E\\(int\\);" \
+ "E & operator=\\(E const ?&\\);${ws}E\\(E const ?&\\);${ws}E\\(\\);" \
+ ""
+
+ # An instance of V
+
+ test_one_ptype "ptype v" "ptype v" \
+ "class V : public VA, public VB \{${ws}public:" \
+ "" \
+ "" "int w;" \
+ "" "int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ ""
+
+ # An instance of VB
+
+ test_one_ptype "ptype vb" "ptype vb" \
+ "((struct|class) VB \{${ws}public:|struct VB \{)" \
+ "" \
+ "" "int vb;" \
+ "" "int fvb\\((void|)\\);${ws}virtual int vvb\\((void|)\\);" \
+ "VB & operator=\\(VB const ?&\\);${ws}VB\\(VB const ?&\\);${ws}VB\\((void|)\\);" \
+ "VB & operator=\\(VB const ?&\\);${ws}VB\\(VB const ?&\\);${ws}VB\\((void|)\\);" \
+ ""
+
+ # An instance of A *
+
+ test_one_ptype "ptype pAa" "ptype pAa" \
+ "class A : public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "" "int a;" \
+ "public:" "virtual int f\\((void|)\\);" \
+ "A & operator=\\(A const ?&\\);${ws}A\\(int, A const ?&\\);${ws}A\\(int\\);" \
+ "A & operator=\\(A const ?&\\);${ws}A\\(A const ?&\\);${ws}A\\(\\);" \
+ " ?\\*"
+
+ # An instance of A *
+
+ test_one_ptype "ptype pAe" "ptype pAe" \
+ "class A : public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "" "int a;" \
+ "public:" "virtual int f\\((void|)\\);" \
+ "A & operator=\\(A const ?&\\);${ws}A\\(int, A const ?&\\);${ws}A\\(int\\);" \
+ "A & operator=\\(A const ?&\\);${ws}A\\(A const ?&\\);${ws}A\\(\\);" \
+ " ?\\*"
+
+ # An instance of B *
+
+ test_one_ptype "ptype pBe" "ptype pBe" \
+ "class B : public A \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "" "int b;" \
+ "public:" "virtual int f\\((void|)\\);" \
+ "B & operator=\\(B const ?&\\);${ws}B\\(int, B const ?&\\);${ws}B\\(int\\);" \
+ "B & operator=\\(B const ?&\\);${ws}B\\(B const ?&\\);${ws}B\\(\\);" \
+ " ?\\*"
+
+ # An instance of D *
+
+ test_one_ptype "ptype pDd" "ptype pDd" \
+ "class D : public AD, public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "public:" "int d;" \
+ "" "static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(D const ?&\\);${ws}D\\(\\);" \
+ " ?\\*"
+
+ # An instance of D *
+
+ test_one_ptype "ptype pDe" "ptype pDe" \
+ "class D : public AD, public virtual V \{(${ws}private:|)" \
+ "V \\*(_vb.1V|_vb.V);" \
+ "public:" "int d;" \
+ "" "static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);" \
+ "D & operator=\\(D const ?&\\);${ws}D\\(D const ?&\\);${ws}D\\(\\);" \
+ " ?\\*"
+
+ # An instance of V *
+
+ test_one_ptype "ptype pVa" "ptype pVa" \
+ "class V : public VA, public VB \{${ws}public:" \
+ "" \
+ "" "int w;" \
+ "" "int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ " ?\\*"
+
+ # An instance of V *
+
+ test_one_ptype "ptype pVv" "ptype pVv" \
+ "class V : public VA, public VB \{${ws}public:" \
+ "" \
+ "" "int w;" \
+ "" "int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ " ?\\*"
+
+ # An instance of V *
+
+ test_one_ptype "ptype pVe" "ptype pVe" \
+ "class V : public VA, public VB \{${ws}public:" \
+ "" \
+ "" "int w;" \
+ "" "int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ " ?\\*"
+
+ # An instance of V *
+
+ test_one_ptype "ptype pVd" "ptype pVd" \
+ "class V : public VA, public VB \{${ws}public:" \
+ "" \
+ "" "int w;" \
+ "" "int f\\((void|)\\);${ws}virtual int vv\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ "V & operator=\\(V const ?&\\);${ws}V\\(V const ?&\\);${ws}V\\((void|)\\);" \
+ " ?\\*"
+
+ # An instance of AD *
+
+ test_one_ptype "ptype pADe" "ptype pADe" \
+ "((struct|class) AD \{${ws}public:|struct AD \{)" \
+ "" \
+ "" "" \
+ "" "virtual int vg\\((void|)\\);" \
+ "AD & operator=\\(AD const ?&\\);${ws}AD\\(AD const ?&\\);${ws}AD\\((void|)\\);" \
+ "AD & operator=\\(AD const ?&\\);${ws}AD\\(AD const ?&\\);${ws}AD\\((void|)\\);" \
+ " ?\\*"
+
+ # An instance of E *
+
+ test_one_ptype "ptype pEe" "ptype pEe" \
+ "class E : public B, public virtual V, public D, public C \{(${ws}private:|)" \
+ "" \
+ "public:" "int e;" \
+ "" "virtual int f\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vv\\((void|)\\);" \
+ "E & operator=\\(E const ?&\\);${ws}E\\(int, E const ?&\\);${ws}E\\(int\\);" \
+ "E & operator=\\(E const ?&\\);${ws}E\\(E const ?&\\);${ws}E\\(\\);" \
+ " ?\\*"
+
+ # An instance of VB *
+
+ test_one_ptype "ptype pVB" "ptype pVB" \
+ "((struct|class) VB \{${ws}public:|struct VB \{)" \
+ "" \
+ "" "int vb;" \
+ "" "int fvb\\((void|)\\);${ws}virtual int vvb\\((void|)\\);" \
+ "VB & operator=\\(VB const ?&\\);${ws}VB\\(VB const ?&\\);${ws}VB\\((void|)\\);" \
+ "VB & operator=\\(VB const ?&\\);${ws}VB\\(VB const ?&\\);${ws}VB\\((void|)\\);" \
+ " ?\\*"
}
-#
-# Test calling of virtual functions.
-#
+# Call virtual functions.
proc test_virtual_calls {} {
global gdb_prompt
- global GDB
global nl
if [target_info exists gdb,cannot_call_functions] {
@@ -741,207 +491,61 @@ proc test_virtual_calls {} {
return 0
}
- send_gdb "print pAe->f()\n"
- gdb_expect {
- -re ".* = 20$nl$gdb_prompt $" { pass "print pAe->f()" }
- -re "Cannot invoke functions on this machine.*$gdb_prompt $" {
- fail "print pAe->f() (cannot invoke functions, skipping virtual calls)"
- return 0
- }
- -re ".*Cannot access memory at address 0x8.*$gdb_prompt $" {
- fail "print pAe->f() \
-(known failure with gcc cygnus-2.4.5-930417, skipping virtual calls)"
- return 0
- }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pAe->f()"
- }
- -re ".*$gdb_prompt $" { fail "print pAe->f()" }
- timeout { fail "print pAe->f() (timeout)" }
- eof { fail "print pAe->f() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
-
- send_gdb "print pAa->f()\n"
- gdb_expect {
- -re ".* = 1$nl$gdb_prompt $" { pass "print pAa->f()" }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pAa->f()"
- }
- -re ".*$gdb_prompt $" { fail "print pAa->f()" }
- timeout { fail "print pAa->f() (timeout)" }
- eof { fail "print pAa->f() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
-
- send_gdb "print pDe->vg()\n"
- gdb_expect {
- -re ".* = 202$nl$gdb_prompt $" { pass "print pDe->vg()" }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pDe->vg()"
- }
- -re ".*$gdb_prompt $" { fail "print pDe->vg()" }
- timeout { fail "print pDe->vg() (timeout)" }
- eof { fail "print pDe->vg() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
-
- send_gdb "print pADe->vg()\n"
- gdb_expect {
- -re ".* = 202$nl$gdb_prompt $" { pass "print pADe->vg()" }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pADe->vg()"
- }
- -re ".*$gdb_prompt $" { fail "print pADe->vg()" }
- timeout { fail "print pADe->vg() (timeout)" }
- eof { fail "print pADe->vg() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
-
- send_gdb "print pDd->vg()\n"
- gdb_expect {
- -re ".* = 101$nl$gdb_prompt $" { pass "print pDd->vg()" }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pDd->vg()"
- }
- -re ".*$gdb_prompt $" { fail "print pDd->vg()" }
- timeout { fail "print pDd->vg() (timeout)" }
- eof { fail "print pDd->vg() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
-
- send_gdb "print pEe->vvb()\n"
- gdb_expect {
- -re ".* = 411$nl$gdb_prompt $" { pass "print pEe->vvb()" }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pEe->vvb()"
- }
- -re ".*$gdb_prompt $" { fail "print pEe->vvb()" }
- timeout { fail "print pEe->vvb() (timeout)" }
- eof { fail "print pEe->vvb() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
-
- send_gdb "print pVB->vvb()\n"
- gdb_expect {
- -re ".* = 407$nl$gdb_prompt $" { pass "print pVB->vvb()" }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pVB->vvb()"
- }
- -re ".*$gdb_prompt $" { fail "print pVB->vvb()" }
- timeout { fail "print pVB->vvb() (timeout)" }
- eof { fail "print pVB->vvb() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
-
- send_gdb "print pBe->vvb()\n"
- gdb_expect {
- -re ".* = 411$nl$gdb_prompt $" { pass "print pBe->vvb()" }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pBe->vvb()"
- }
- -re ".*$gdb_prompt $" { fail "print pBe->vvb()" }
- timeout { fail "print pBe->vvb() (timeout)" }
- eof { fail "print pBe->vvb() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
-
- send_gdb "print pDe->vvb()\n"
- gdb_expect {
- -re ".* = 411$nl$gdb_prompt $" { pass "print pDe->vvb()" }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pDe->vvb()"
- }
- -re ".*$gdb_prompt $" { fail "print pDe->vvb()" }
- timeout { fail "print pDe->vvb() (timeout)" }
- eof { fail "print pDe->vvb() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
+ gdb_test "print pAe->f()" "\\$\[0-9\]+ = 20"
+ gdb_test "print pAa->f()" "\\$\[0-9\]+ = 1"
+ gdb_test "print pDe->vg()" "\\$\[0-9\]+ = 202"
+ gdb_test "print pADe->vg()" "\\$\[0-9\]+ = 202"
+ gdb_test "print pDd->vg()" "\\$\[0-9\]+ = 101"
+ gdb_test "print pEe->vvb()" "\\$\[0-9\]+ = 411"
+ gdb_test "print pVB->vvb()" "\\$\[0-9\]+ = 407"
+ gdb_test "print pBe->vvb()" "\\$\[0-9\]+ = 411"
+ gdb_test "print pDe->vvb()" "\\$\[0-9\]+ = 411"
+ gdb_test "print pEe->vd()" "\\$\[0-9\]+ = 282"
+ gdb_test "print pEe->fvb()" "\\$\[0-9\]+ = 311"
+
+ # more recent results:
+ # wrong value "202"
+ # gcc 2.95.3 -gdwarf-2
+ # gcc 2.95.3 -gstabs+
+ # attempt to take addres of value not located in memory
+ # gcc 3.3.2 -gdwarf-2
+ # gcc 3.3.2 -gstabs+
+ #
+ # -- chastain 2003-12-31
- send_gdb "print pEe->vd()\n"
- gdb_expect {
- -re ".* = 282$nl$gdb_prompt $" { pass "print pEe->vd()" }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pEe->vd()"
+ gdb_test_multiple "print pEe->D::vg()" "print pEe->D::vg()" {
+ -re "\\$\[0-9]+ = 102$nl$gdb_prompt $" {
+ pass "print pEe->D::vg()"
}
- -re ".*$gdb_prompt $" { fail "print pEe->vd()" }
- timeout { fail "print pEe->vd() (timeout)" }
- eof { fail "print pEe->vd() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
-
- send_gdb "print pEe->fvb()\n"
- gdb_expect {
- -re ".* = 311$nl$gdb_prompt $" { pass "print pEe->fvb()" }
- -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
- setup_xfail hppa*-*-* CLLbs16899
- fail "print pEe->fvb()"
+ -re "Attempt to take address of value not located in memory.$nl$gdb_prompt $" {
+ kfail "gdb/1064" "print pEe->D::vg()"
}
- -re ".*$gdb_prompt $" { fail "print pEe->fvb()" }
- timeout { fail "print pEe->fvb() (timeout)" }
- eof { fail "print pEe->fvb() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
- }
-
- # fails on target=native, host=i686-pc-linux-gnu%rh-7.2,
- # gdb=HEAD%2002-02-16, gcc=2.95.3, goption=-gdwarf-2.
- #
- # fails on target=native, host=i686-pc-linux-gnu%rh-7.2,
- # gdb=HEAD%2002-02-16, gcc=2.95.3, goption=-gstabs+.
- #
- # fails on target=native, host=i686-pc-linux-gnu%rh-7.2,
- # gdb=HEAD%2002-02-16, gcc=3.0.3, goption=-gdwarf-2.
- #
- # fails on target=native, host=i686-pc-linux-gnu%rh-7.2,
- # gdb=HEAD%2002-02-16, gcc=3.0.3, goption=-gstabs+.
- #
- # fails on target=native, host=i686-pc-linux-gnu%rh-7.2,
- # gdb=HEAD%2002-02-16, gcc=3.0.4-20020215, goption=-gdwarf-2.
- #
- # fails on target=native, host=i686-pc-linux-gnu%rh-7.2,
- # gdb=HEAD%2002-02-16, gcc=3.0.4-20020215, goption=-gstabs+.
- #
- # fails on target=native, host=i686-pc-linux-gnu%rh-7.2,
- # gdb=HEAD%2002-02-16, gcc=gcc-3_0-branch%2002-02-16, goption=-gdwarf-2.
- #
- # fails on target=native, host=i686-pc-linux-gnu%rh-7.2,
- # gdb=HEAD%2002-02-16, gcc=gcc-3_0-branch%2002-02-16, goption=-gstabs+.
- #
- # fails on target=native, host=i686-pc-linux-gnu%rh-7.2,
- # gdb=HEAD%2002-02-16, gcc=HEAD%2002-02-16, goption=-gdwarf-2.
- #
- # fails on target=native, host=i686-pc-linux-gnu%rh-7.2,
- # gdb=HEAD%2002-02-16, gcc=HEAD%2002-02-16, goption=-gstabs+.
- #
- # -- chastain 2002-02-20
-
- send_gdb "print pEe->D::vg()\n"
- gdb_expect {
- -re ".* = 102$nl$gdb_prompt $" { pass "print pEe->D::vg()" }
- -re "Attempt to take address of value not located in memory.\r\n$gdb_prompt $"
- { kfail "gdb/1064" "print pEe->D::vg()" }
- -re ".*$gdb_prompt $" { fail "print pEe->D::vg()" }
- timeout { fail "print pEe->D::vg() (timeout)" }
- eof { fail "print pEe->D::vg() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return }
}
}
proc do_tests {} {
global prms_id
global bug_id
+ global srcdir subdir binfile
+ global gdb_prompt
set prms_id 0
set bug_id 0
- gdb_start;
- gdb_virtfunc_init;
+ gdb_exit
+ gdb_start
+ gdb_reinitialize_dir $srcdir/$subdir
+ gdb_load $binfile
- runto_main
+ gdb_test "set language c++" "" ""
+ gdb_test "set width 0" "" ""
+ runto_main
test_ptype_of_classes
- if [ runto 'test_calls' ] then {
- test_virtual_calls
- }
+ gdb_breakpoint test_calls
+ gdb_test "continue" ".*Breakpoint .* test_calls.*" ""
+ test_virtual_calls
}
do_tests
diff --git a/gdb/testsuite/gdb.hp/gdb.aCC/exception.cc b/gdb/testsuite/gdb.hp/gdb.aCC/exception.cc
deleted file mode 100644
index 27459329a8b..00000000000
--- a/gdb/testsuite/gdb.hp/gdb.aCC/exception.cc
+++ /dev/null
@@ -1,48 +0,0 @@
-// Test file for exception handling support.
-
-#include <iostream.h>
-
-int foo (int i)
-{
- if (i < 32)
- throw (int) 13;
- else
- return i * 2;
-}
-
-extern "C" int bar (int k, unsigned long eharg, int flag);
-
-int bar (int k, unsigned long eharg, int flag)
-{
- cout << "k is " << k << " eharg is " << eharg << " flag is " << flag << endl;
- return 1;
-}
-
-int main()
-{
- int j;
-
- try {
- j = foo (20);
- }
- catch (int x) {
- cout << "Got an except " << x << endl;
- }
-
- try {
- try {
- j = foo (20);
- }
- catch (int x) {
- cout << "Got an except " << x << endl;
- throw;
- }
- }
- catch (int y) {
- cout << "Got an except (rethrown) " << y << endl;
- }
-
- // Not caught
- foo (20);
-
-}
diff --git a/gdb/testsuite/gdb.hp/gdb.aCC/exception.exp b/gdb/testsuite/gdb.hp/gdb.aCC/exception.exp
index a0914ae5ba4..85b0136399e 100644
--- a/gdb/testsuite/gdb.hp/gdb.aCC/exception.exp
+++ b/gdb/testsuite/gdb.hp/gdb.aCC/exception.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+# Copyright 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,423 +17,9 @@
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
-#
-# tests for exception-handling support
-# Written by Satish Pai <pai@apollo.hp.com> 1997-07-23
-
-# This file is part of the gdb testsuite
-
-# Note: These tests are geared to the HP aCC compiler,
-# which has an idiosyncratic way of emitting debug info
-# for exceptions -- it uses a callback mechanism, which
-# is different from the way g++ records exception info
-# for debugging
-
-# The tests are in two parts; the first part deals with
-# statically linked (archive-bound) executables, and the
-# second part repeats those tests with dynamically linked
-# (shared bound) executables. (In the latter case we use
-# a different mechanism to get the address of the notification
-# hook in the C++ support library.) The tests themselves are
-# the same in both parts.
-#
-# IMPORTANT:
-# ---------
-# IF YOU CHANGE A TEST IN ONE PART MAKE SURE YOU CHANGE IT
-# --------------------------------------------------------
-# IN THE OTHER PART TOO!
-# ----------------------
-
-
-
-if $tracelevel then {
- strace $tracelevel
- }
-
-if { [skip_hp_tests] } then { continue }
-
-#
-# test running programs
-#
-
-# Part I : Archive-bound executables
-# ----------------------------------
-
-set testfile "exception"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if [get_compiler_info ${binfile} "c++"] {
- return -1;
-}
-
-
-if { $gcc_compiled } then { continue }
-
-set cmdline "$CXX_FOR_TARGET ${srcdir}/${subdir}/${srcfile} +A -Wl,-a,archive -g -o ${binfile}"
-
-remote_exec build $cmdline
-
-# Start with a fresh gdb
-
-set prms_id 0
-set bug_id 0
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-if ![runto_main] then {
- perror "couldn't run to breakpoint"
- continue
-}
-
-# Set a catch catchpoint
-
-send_gdb "catch catch\n"
-gdb_expect {
- -re "Catchpoint \[0-9\]* \\(catch\\)\r\n$gdb_prompt $" {
- pass "catch catch (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "catch catch (static executable)" }
- timeout { fail "(timeout) catch catch (static executable)" }
-}
-
-# Set a throw catchpoint
-
-send_gdb "catch throw\n"
-gdb_expect {
- -re "Catchpoint \[0-9\]* \\(throw\\)\r\n$gdb_prompt $" {
- pass "catch throw (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "catch throw (static executable)" }
- timeout { fail "(timeout) catch throw (static executable)" }
-}
-
-# The catchpoints should be listed in the list of breakpoints.
-
-send_gdb "info break\n"
-gdb_expect {
- -re ".*\[0-9\]*\[ \]*catch catch\[ \]*keep y\[ \]*exception catch\[ \]*\r\n\[0-9\]*\[ \]*catch throw\[ \]*keep y\[ \]*exception throw\[ \]*\r\n$gdb_prompt $" {
- pass "info break with catchpoints (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "info break (static executable)" }
- timeout { fail "(timeout) info break (static executable)" }
-}
-
-# Info catch currently does not work with HP aCC. No easy way to
-# list the active handlers on the stack.
-
-send_gdb "info catch\n"
-gdb_expect {
- -re "Info catch not supported with this target/compiler combination.\r\n$gdb_prompt $" {
- pass "info catch (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "info catch (static executable)" }
- timeout { fail "(timeout) info catch (static executable)" }
-}
-
-# Get the first exception thrown
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing.*Catchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" {
- pass "caught a throw (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a throw (static executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a throw? (static executable)" }
-}
-
-send_gdb "backtrace\n"
-gdb_expect {
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_THROW.*\r\n#2\[ \]*$hex in __eh_notify_throw.*\r\n#3\[ \]*$hex in foo \\(i=20\\) at .*exception\\.cc:8\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:26\r\n$gdb_prompt $" {
- pass "backtrace after throw (static executable)"
- }
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n#2\[ \]*$hex in __eh_notify_throw.*\r\n#3\[ \]*$hex in foo \\(i=20\\) at .*exception\\.cc:8\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:26\r\n$gdb_prompt $" {
- pass "backtrace after throw (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "backtrace after throw (static executable)" }
- timeout { fail "(timeout) backtrace after throw (static executable)" }
-}
-
-# Now intercept it when it is caught.
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" {
- pass "caught a catch (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a catch (static executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a catch? (static executable)" }
-}
-
-send_gdb "backtrace\n"
-gdb_expect {
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __throw__.*\r\n#4\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#5\[ \]*$hex in main.* at .*exception.cc:26\r\n$gdb_prompt $" {
- pass "backtrace after catch (static executable)"
- }
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n.*\r\n#3\[ \]*$hex in __throw__.*\r\n#4\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#5\[ \]*$hex in main.* at .*exception.cc:26\r\n$gdb_prompt $" {
- pass "backtrace after catch (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "backtrace after catch (static executable)" }
- timeout { fail "(timeout) backtrace after catch (static executable)" }
-}
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" {
- pass "caught a throw (2) (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a throw (2) (static executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a throw (2)? (static executable)" }
-}
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" {
- pass "caught a catch (2) (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a catch (2) (static executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a catch (2)? (static executable)" }
-}
-
-# Now the exception will be rethrown.
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:38, catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" {
- pass "caught a rethrow (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a rethrow (static executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a rethrow? (static executable)" }
-}
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:3\[68\], catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" {
- # FIXME: guo: why XFAIL? need comment
- xfail "caught a catch (3) (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a catch (3) (static executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a catch (3)? (static executable)" }
-}
-
-send_gdb "backtrace\n"
-gdb_expect {
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __rethrow.*\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:3\[68\]\r\n#5\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#6\[ \]*$hex in main.* at .*exception.cc:34\r\n$gdb_prompt $" {
- # FIXME: guo: why XFAIL? need comment
- xfail "backtrace after catch (3) (static executable)"
- }
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n.*\r\n#3\[ \]*$hex in __rethrow.*\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:3\[68\]\r\n#5\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#6\[ \]*$hex in main.* at .*exception.cc:34\r\n$gdb_prompt $" {
- # FIXME: guo: why XFAIL? need comment
- xfail "backtrace after catch (3) (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "backtrace after catch (3) (static executable)" }
- timeout { fail "(timeout) backtrace after catch (3) (static executable)" }
-}
-
-# Now the exception will be thrown, but not catch-able anywhere.
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location unknown\r\n.*$gdb_prompt $" {
- pass "caught an uncatchable throw (static executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch an uncatchable throw (static executable)" }
- timeout { fail "(timeout) after continue -- didn't catch an uncatchable throw? (static executable)" }
-}
-
-# Part II : Shared-bound executables
-# ----------------------------------
-
-# Start with a fresh gdb
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-
-set prms_id 0
-set bug_id 0
-
-set testfile "exception"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will a
-utomatically fail."
-}
-
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
-if ![runto_main] then {
- perror "couldn't run to breakpoint"
- continue
-}
-
-# Set a catch catchpoint
-
-send_gdb "catch catch\n"
-gdb_expect {
- -re "Catchpoint \[0-9\]* \\(catch\\)\r\n$gdb_prompt $" {
- pass "catch catch (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "catch catch (dynamic executable)" }
- timeout { fail "(timeout) catch catch (dynamic executable)" }
-}
-
-# Set a throw catchpoint
-
-send_gdb "catch throw\n"
-gdb_expect {
- -re "Catchpoint \[0-9\]* \\(throw\\)\r\n$gdb_prompt $" {
- pass "catch throw (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "catch throw (dynamic executable)" }
- timeout { fail "(timeout) catch throw (dynamic executable)" }
-}
-
-# The catchpoints should be listed in the list of breakpoints.
-
-send_gdb "info break\n"
-gdb_expect {
- -re ".*\[0-9\]*\[ \]*catch catch\[ \]*keep y\[ \]*exception catch\[ \]*\r\n\[0-9\]*\[ \]*catch throw\[ \]*keep y\[ \]*exception throw\[ \]*\r\n$gdb_prompt $" {
- pass "info break with catchpoints (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "info break (dynamic executable)" }
- timeout { fail "(timeout) info break (dynamic executable)" }
-}
-
-# Info catch currently does not work with HP aCC. No easy way to
-# list the active handlers on the stack.
-
-send_gdb "info catch\n"
-gdb_expect {
- -re "Info catch not supported with this target/compiler combination.\r\n$gdb_prompt $" {
- pass "info catch (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "info catch (dynamic executable)" }
- timeout { fail "(timeout) info catch (dynamic executable)" }
-}
-
-# Get the first exception thrown
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing.*Catchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" {
- pass "caught a throw (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a throw (dynamic executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a throw? (dynamic executable)" }
-}
-
-send_gdb "backtrace\n"
-gdb_expect {
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_THROW.*\r\n#2\[ \]*$hex in __eh_notify_throw.*\r\n#3\[ \]*$hex in foo \\(i=20\\) at .*exception\\.cc:8\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:26\r\n$gdb_prompt $" {
- pass "backtrace after throw (dynamic executable)"
- }
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n#2\[ \]*$hex in __eh_notify_throw.*\r\n#3\[ \]*$hex in foo \\(i=20\\) at .*exception\\.cc:8\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:26\r\n$gdb_prompt $" {
- pass "backtrace after throw (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "backtrace after throw (dynamic executable)" }
- timeout { fail "(timeout) backtrace after throw (dynamic executable)" }
-}
-
-# Now intercept it when it is caught.
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" {
- pass "caught a catch (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a catch (dynamic executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a catch? (dynamic executable)" }
-}
-
-send_gdb "backtrace\n"
-gdb_expect {
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __throw__.*\r\n#4\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#5\[ \]*$hex in main.* at .*exception.cc:26\r\n$gdb_prompt $" {
- pass "backtrace after catch (dynamic executable)"
- }
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n.*\r\n#3\[ \]*$hex in __throw__.*\r\n#4\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#5\[ \]*$hex in main.* at .*exception.cc:26\r\n$gdb_prompt $" {
- pass "backtrace after catch (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "backtrace after catch (dynamic executable)" }
- timeout { fail "(timeout) backtrace after catch (dynamic executable)" }
-}
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" {
- pass "caught a throw (2) (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a throw (2) (dynamic executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a throw (2)? (dynamic executable)" }
-}
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" {
- pass "caught a catch (2) (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a catch (2) (dynamic executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a catch (2)? (dynamic executable)" }
-}
-
-# Now the exception will be rethrown.
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:38, catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" {
- pass "caught a rethrow (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a rethrow (dynamic executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a rethrow? (dynamic executable)" }
-}
-
-#DTS CLLbs14858
-#The throw location should be at line 38 instead of 36.
-setup_xfail hppa*-*-* CLLbs14858
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:3\[68\], catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" {
- # FIXME: guo: according to comment above the RE is wrong!
- pass "caught a catch (3) (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch a catch (3) (dynamic executable)" }
- timeout { fail "(timeout) after continue -- didn't catch a catch (3)? (dynamic executable)" }
-}
-
-#DTS CLLbs14858
-#The line number for main() should be at exception.cc:38 instead of exception.cc:36
-setup_xfail hppa*-*-* CLLbs14858
-send_gdb "backtrace\n"
-gdb_expect {
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __rethrow.*\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:3\[68\]\r\n#5\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#6\[ \]*$hex in main.* at .*exception.cc:34\r\n$gdb_prompt $" {
- # FIXME: guo: according to comment above the RE is wrong!
- pass "backtrace after catch (3) (dynamic executable)"
- }
- -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n.*\r\n#3\[ \]*$hex in __rethrow.*\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:3\[68\]\r\n#5\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#6\[ \]*$hex in main.* at .*exception.cc:34\r\n$gdb_prompt $" {
- # FIXME: guo: according to comment above the RE is wrong!
- pass "backtrace after catch (3) (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "backtrace after catch (3) (dynamic executable)" }
- timeout { fail "(timeout) backtrace after catch (3) (dynamic executable)" }
-}
-
-# Now the exception will be thrown, but not catch-able anywhere.
-
-send_gdb "continue\n"
-gdb_expect {
- -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location unknown\r\n.*$gdb_prompt $" {
- pass "caught an uncatchable throw (dynamic executable)"
- }
- -re ".*$gdb_prompt $" { fail "didn't catch an uncatchable throw (dynamic executable)" }
- timeout { fail "(timeout) after continue -- didn't catch an uncatchable throw? (dynamic executable)" }
-}
+# This file exists because the configure script requires it to exist.
+# It would be nice to regenerate the configure script. I can't do it
+# because I don't have autoconf 2.12.1, which is used to build it.
+# -- chastain 2004-01-09
+continue
diff --git a/gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp b/gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp
deleted file mode 100644
index ef249516bd6..00000000000
--- a/gdb/testsuite/gdb.hp/gdb.defects/bs15503.exp
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright (C) 1992 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-# Test case for CLLbs15503
-# This file was written by Sue Kimura (sue_kimura@hp.com)
-
-if $tracelevel {
- strace $tracelevel
-}
-
-if { [skip_hp_tests] } { continue }
-
-set testfile "bs15503"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-# Create and source the file that provides information about the compiler
-# used to compile the test case.
-if [get_compiler_info ${binfile}] {
- return -1
-}
-
-# The testcode is non-conforming and rejected by GCC. So bypass this
-# test completely unless we're compiling with HP's compiler.
-if {!$hp_aCC_compiler && !$hp_cc_compiler} {
- return 0
-}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "debug c++"] != "" } {
- perror "Couldn't compile ${srcfile}"
- return -1
-}
-
-
-# Start with a fresh gdb.
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-
-# Load $binfile -- there should be no warnings about "Procedure ... spans
-# file or module boundaries", "No symbols in psymtab for file ..." or
-# "File ... has ending address after starting address of next file..."
-
-if [istarget "hppa64-hp-hpux*" ] {
- gdb_test "file $binfile" \
- "Detected 64-bit executable..*Invoking .*gdb64..*Use \"run\" to continue execution." \
- "loading $binfile"
-} else {
- gdb_test "file $binfile" \
- "Reading symbols from $binfile...done." \
- "loading $binfile"
-}
-# Test setting breakpoint on template function
-#
-gdb_test "break StringTest<wchar_t>::testFunction" \
- "Breakpoint $decimal at $hex: file .*bs15503.cc, line 19." \
- "break point on function"
-
-gdb_test "run" \
- "Starting program:.*Breakpoint $decimal, StringTest<wchar_t>::testFunction \\(this=$hex\\).*cout << \"in StringTest\" << endl;.*" \
- "run to function breakpoint"
-
-#restart with fresh gdb
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load $binfile
-
-gdb_test "break 32" \
- "Breakpoint $decimal at $hex: file .*bs15503.cc, line 32." \
- "break point on line in function"
-
-gdb_test "run" \
- ".*32.*string::size_type spos = s.find\\(\"and\"\\);.*" \
- "run to break point on line in function"
diff --git a/gdb/testsuite/gdb.mi/ChangeLog b/gdb/testsuite/gdb.mi/ChangeLog-1999-2003
index 6f263c33056..6f263c33056 100644
--- a/gdb/testsuite/gdb.mi/ChangeLog
+++ b/gdb/testsuite/gdb.mi/ChangeLog-1999-2003
diff --git a/gdb/testsuite/gdb.mi/pthreads.c b/gdb/testsuite/gdb.mi/pthreads.c
index b73b0236c93..0d8f1b616fc 100644
--- a/gdb/testsuite/gdb.mi/pthreads.c
+++ b/gdb/testsuite/gdb.mi/pthreads.c
@@ -1,5 +1,5 @@
/* Pthreads test program.
- Copyright 1996, 2002, 2003
+ Copyright 1996, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Keith Seitz of Red Hat.
@@ -58,7 +58,7 @@ void
done_making_threads (void)
{
/* Nothing */
-};
+}
void
create_thread (void)
diff --git a/gdb/testsuite/gdb.stabs/weird.exp b/gdb/testsuite/gdb.stabs/weird.exp
index e3bbfb5e6cc..324f67b1f0b 100644
--- a/gdb/testsuite/gdb.stabs/weird.exp
+++ b/gdb/testsuite/gdb.stabs/weird.exp
@@ -1,4 +1,5 @@
-# Copyright 1997, 1998, 1999 Free Software Foundation, Inc.
+# Copyright 1997, 1998, 1999, 2001, 2003, 2004
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -33,6 +34,24 @@ if ![file isdirectory ${objdir}/${subdir}] then {
set prms_id 0
set bug_id 0
+set testfile weird
+set srcfile ${objdir}/${subdir}/weird.s
+set binfile ${objdir}/${subdir}/weirdx.o
+
+if { [ get_compiler_info "$binfile" ] } {
+ return -1
+}
+
+if { $hp_cc_compiler || $hp_aCC_compiler } {
+ # The native hp-ux assembler does not support stabs at all.
+ # If the compiler is native hp-ux, of course the assembler is too.
+ # But if someone builds gcc with the native assembler (not recommended)
+ # rather than the gnu assembler, then this logic will not suppress it.
+ # -- chastain 2004-01-07
+ unsupported "stabs with hp-ux assembler"
+ continue
+}
+
proc do_tests {} {
global binfile
global gdb_prompt
@@ -236,9 +255,6 @@ proc print_weird_var { var } {
# Don't use gdb_load; it doesn't bitch if the loading produced some
# error messages during symbol reading.
-set testfile weird
-set srcfile ${objdir}/${subdir}/weird.s
-set binfile ${objdir}/${subdir}/weirdx.o
global target_os
set sedscript ${srcdir}/${subdir}/aout.sed
@@ -266,7 +282,6 @@ switch -glob ${target_triplet} {
}
}
-
# Hope this is a Unix box.
set exec_output [remote_exec build "sed" "-f ${sedscript}" "${srcdir}/${subdir}/weird.def" "${srcfile}"]
if { [lindex $exec_output 0] != 0 } {
@@ -274,12 +289,6 @@ if { [lindex $exec_output 0] != 0 } {
return -1
}
-# HP's assembler has no idea of what to do with .stab directives; detect the
-# use of HP compilers and escape from here. (No doubt a better heuristic
-# could be devised.)
-
-if { [ info exists CC ] && [ string first "/opt/ansic/bin/cc" "$CC" ] >= 0 } then { continue }
-
if { [gdb_compile "${srcfile}" "${binfile}" object ""] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
diff --git a/gdb/testsuite/lib/compiler.cc b/gdb/testsuite/lib/compiler.cc
index 719b62b0b6b..bbefeaabe98 100644
--- a/gdb/testsuite/lib/compiler.cc
+++ b/gdb/testsuite/lib/compiler.cc
@@ -1,6 +1,6 @@
/* This test file is part of GDB, the GNU debugger.
- Copyright 1995, 1999, 2003 Free Software Foundation, Inc.
+ Copyright 1995, 1999, 2003, 2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -34,18 +34,6 @@
definition made with 'set" to see if one already exists, and if so
warn about conflicts if it is being set to something else. */
-#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 6))
-set supports_template_debugging 1
-#else
-set supports_template_debugging 0
-#endif
-
-#if defined(__cplusplus)
-set supports_template_debugging 1
-#else
-set supports_template_debugging 0
-#endif
-
#if defined (__GNUC__)
set gcc_compiled __GNUC__
set compiler_info [join {gcc __GNUC__ __GNUC_MINOR__ } -]
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 136f68c43b8..3f2938ef2be 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -1918,3 +1918,87 @@ proc gdb_skip_bogus_test { msg } {
return 0;
}
+
+# Note: the procedure gdb_gnu_strip_debug will produce an executable called
+# ${binfile}.dbglnk, which is just like the executable ($binfile) but without
+# the debuginfo. Instead $binfile has a .gnu_debuglink section which contains
+# the name of a idebuginfo only file. This file will be stored in the
+# gdb.base/.debug subdirectory.
+
+# Functions for separate debug info testing
+
+# starting with an executable:
+# foo --> original executable
+
+# at the end of the process we have:
+# foo.stripped --> foo w/o debug info
+# .debug/foo.debug --> foo's debug info
+# foo --> like foo, but with a new .gnu_debuglink section pointing to foo.debug.
+
+# Return the name of the file in which we should stor EXEC's separated
+# debug info. EXEC contains the full path.
+proc separate_debug_filename { exec } {
+
+ # In a .debug subdirectory off the same directory where the testcase
+ # executable is going to be. Something like:
+ # <your-path>/gdb/testsuite/gdb.base/.debug/blah.debug.
+ # This is the default location where gdb expects to findi
+ # the debug info file.
+
+ set exec_dir [file dirname $exec]
+ set exec_file [file tail $exec]
+ set debug_dir [file join $exec_dir ".debug"]
+ set debug_file [file join $debug_dir "${exec_file}.debug"]
+
+ return $debug_file
+}
+
+
+proc gdb_gnu_strip_debug { dest } {
+
+ set debug_file [separate_debug_filename $dest]
+ set strip_to_file_program strip
+ set objcopy_program objcopy
+
+ # Make sure the directory that will hold the separated debug
+ # info actually exists.
+ set debug_dir [file dirname $debug_file]
+ if {! [file isdirectory $debug_dir]} {
+ file mkdir $debug_dir
+ }
+
+ set debug_link [file tail $debug_file]
+ set stripped_file "${dest}.stripped"
+
+ # Get rid of the debug info, and store result in stripped_file
+ # something like gdb/testsuite/gdb.base/blah.stripped.
+ set result [catch "exec $strip_to_file_program --strip-debug ${dest} -o ${stripped_file}" output]
+ verbose "result is $result"
+ verbose "output is $output"
+ if {$result == 1} {
+ return 1
+ }
+
+ # Get rid of everything but the debug info, and store result in debug_file
+ # This will be in the .debug subdirectory, see above.
+ set result [catch "exec $strip_to_file_program --only-keep-debug ${dest} -o ${debug_file}" output]
+ verbose "result is $result"
+ verbose "output is $output"
+ if {$result == 1} {
+ return 1
+ }
+
+ # Link the two previous output files together, adding the .gnu_debuglink
+ # section to the stripped_file, containing a pointer to the debug_file,
+ # save the new file in dest.
+ # This will be the regular executable filename, in the usual location.
+ set result [catch "exec $objcopy_program --add-gnu-debuglink=${debug_file} ${stripped_file} ${dest}" output]
+ verbose "result is $result"
+ verbose "output is $output"
+ if {$result == 1} {
+ return 1
+ }
+
+ return 0
+}
+
diff --git a/gdb/top.c b/gdb/top.c
index c52c1765d68..8dcf73a61f8 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1,7 +1,7 @@
/* Top level stuff for GDB, the GNU debugger.
Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
- 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GDB.
@@ -1359,7 +1359,7 @@ print_gdb_version (struct ui_file *stream)
/* Second line is a copyright notice. */
- fprintf_filtered (stream, "Copyright 2003 Free Software Foundation, Inc.\n");
+ fprintf_filtered (stream, "Copyright 2004 Free Software Foundation, Inc.\n");
/* Following the copyright is a brief statement that the program is
free software, that users are free to copy and change it on
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 6e33841824f..713bf14f2cc 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -914,6 +914,10 @@ validate_actionline (char **line, struct tracepoint *t)
struct cleanup *old_chain = NULL;
char *p;
+ /* if EOF is typed, *line is NULL */
+ if (*line == NULL)
+ return END;
+
for (p = *line; isspace ((int) *p);)
p++;
diff --git a/gdb/tui/ChangeLog b/gdb/tui/ChangeLog-1998-2003
index fc5886c1ae1..fc5886c1ae1 100644
--- a/gdb/tui/ChangeLog
+++ b/gdb/tui/ChangeLog-1998-2003
diff --git a/gdb/utils.c b/gdb/utils.c
index 5868465b83e..ba936d508c2 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -96,6 +96,8 @@ static void vfprintf_maybe_filtered (struct ui_file *, const char *,
static void fputs_maybe_filtered (const char *, struct ui_file *, int);
+static void do_my_cleanups (struct cleanup **, struct cleanup *);
+
#if defined (USE_MMALLOC) && !defined (NO_MMCHECK)
static void malloc_botch (void);
#endif
@@ -311,7 +313,7 @@ do_exec_error_cleanups (struct cleanup *old_chain)
do_my_cleanups (&exec_error_cleanup_chain, old_chain);
}
-void
+static void
do_my_cleanups (struct cleanup **pmy_chain,
struct cleanup *old_chain)
{
diff --git a/gdb/version.in b/gdb/version.in
index e304c64dcb9..1e51b217313 100644
--- a/gdb/version.in
+++ b/gdb/version.in
@@ -1 +1 @@
-2003-12-23-cvs
+2004-01-12-cvs
diff --git a/gdb/w89k-rom.c b/gdb/w89k-rom.c
deleted file mode 100644
index 331358bce21..00000000000
--- a/gdb/w89k-rom.c
+++ /dev/null
@@ -1,311 +0,0 @@
-/* Remote target glue for the WinBond ROM monitor running on the "Cougar"
- W89k eval board.
-
- Copyright 1995, 1998, 2000, 2001 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "defs.h"
-#include "gdbcore.h"
-#include "target.h"
-#include "monitor.h"
-#include "serial.h"
-#include "xmodem.h"
-#include "regcache.h"
-
-
-static void w89k_open (char *args, int from_tty);
-
-/*
- * this array of registers need to match the indexes used by GDB. The
- * whole reason this exists is cause the various ROM monitors use
- * different strings than GDB does, and doesn't support all the
- * registers either. So, typing "info reg sp" becomes a "r30".
- */
-
-static char *w89k_regnames[NUM_REGS] =
-{
- "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
- "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
- "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
- "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31",
- "SAR", "PC", NULL, NULL, NULL, "EIEM", "IIR", "IVA",
- "IOR", "IPSW", NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- "CCR", NULL, NULL, "TR0", "TR1",
-};
-
-static void
-w89k_supply_register (char *regname, int regnamelen, char *val, int vallen)
-{
- int numregs;
- int regno;
-
- numregs = 1;
- regno = -1;
-
- if (regnamelen == 2)
- switch (regname[0])
- {
- case 'r':
- numregs = 4;
- switch (regname[1])
- {
- case '0':
- regno = R0_REGNUM;
- break;
- case '4':
- regno = R0_REGNUM + 4;
- break;
- case '8':
- regno = R0_REGNUM + 8;
- break;
- }
- break;
- case 'P':
- if (regname[1] == 'C')
- regno = PC_REGNUM;
- break;
- }
- else if (regnamelen == 3)
- switch (regname[0])
- {
- case 'r':
- numregs = 4;
- if (regname[1] == '1' && regname[2] == '2')
- regno = R0_REGNUM + 12;
- else if (regname[1] == '1' && regname[2] == '6')
- regno = R0_REGNUM + 16;
- else if (regname[1] == '2' && regname[2] == '0')
- regno = R0_REGNUM + 20;
- else if (regname[1] == '2' && regname[2] == '4')
- regno = R0_REGNUM + 24;
- else if (regname[1] == '2' && regname[2] == '8')
- regno = R0_REGNUM + 28;
- break;
- case 'R':
- if (regname[1] == 'C' && regname[2] == 'R')
- regno = RCR_REGNUM;
- break;
- case 'C':
- if (regname[1] == 'C' && regname[2] == 'R')
- regno = CCR_REGNUM;
- break;
- case 'S':
- if (regname[1] == 'A' && regname[2] == 'R')
- regno = SAR_REGNUM;
- break;
- case 'I':
- if (regname[1] == 'I' && regname[2] == 'R')
- regno = IIR_REGNUM;
- else if (regname[1] == 'O' && regname[2] == 'R')
- regno = IOR_REGNUM;
- break;
- case 'T':
- numregs = 4;
- if (regname[1] == 'R')
- if (regname[2] == '0')
- regno = TR0_REGNUM;
- else if (regname[2] == '4')
- regno = TR0_REGNUM + 4;
- break;
- }
- else if (regnamelen == 4)
- switch (regname[0])
- {
- case 'E':
- if (regname[1] == 'I')
- if (regname[2] == 'E' && regname[3] == 'M')
- regno = EIEM_REGNUM;
- break;
- case 'I':
- if (regname[1] == 'P' && regname[2] == 'S' && regname[3] == 'W')
- regno = IPSW_REGNUM;
- break;
- }
- else if (regnamelen == 5)
- switch (regname[0])
- {
- case 'I':
- if (regname[1] == 'A'
- && regname[2] == 'O'
- && regname[3] == 'Q'
- && regname[4] == 'B')
- regno = PCOQ_TAIL_REGNUM;
- break;
- }
-
- if (regno >= 0)
- while (numregs-- > 0)
- val = monitor_supply_register (regno++, val);
-}
-
-static int hashmark = 1; /* flag set by "set hash" */
-
-extern struct monitor_ops w89k_cmds; /* fwd decl */
-
-static void
-w89k_load (struct serial *desc, char *file, int hashmark)
-{
- bfd *abfd;
- asection *s;
- char *buffer;
- int i;
-
- buffer = alloca (XMODEM_PACKETSIZE);
-
- abfd = bfd_openr (file, 0);
- if (!abfd)
- {
- printf_filtered ("Unable to open file %s\n", file);
- return;
- }
-
- if (bfd_check_format (abfd, bfd_object) == 0)
- {
- printf_filtered ("File is not an object file\n");
- return;
- }
-
- for (s = abfd->sections; s; s = s->next)
- if (s->flags & SEC_LOAD)
- {
- bfd_size_type section_size;
-
- printf_filtered ("%s\t: 0x%4x .. 0x%4x ", s->name, s->vma,
- s->vma + s->_raw_size);
- gdb_flush (gdb_stdout);
-
- monitor_printf (w89k_cmds.load, s->vma);
- if (w89k_cmds.loadresp)
- monitor_expect (w89k_cmds.loadresp, NULL, 0);
-
- xmodem_init_xfer (desc);
-
- section_size = bfd_section_size (abfd, s);
-
- for (i = 0; i < section_size; i += XMODEM_DATASIZE)
- {
- int numbytes;
-
- numbytes = min (XMODEM_DATASIZE, section_size - i);
-
- bfd_get_section_contents (abfd, s, buffer + XMODEM_DATAOFFSET, i,
- numbytes);
-
- xmodem_send_packet (desc, buffer, numbytes, hashmark);
-
- if (hashmark)
- {
- putchar_unfiltered ('#');
- gdb_flush (gdb_stdout);
- }
- } /* Per-packet (or S-record) loop */
-
- xmodem_finish_xfer (desc);
-
- monitor_expect_prompt (NULL, 0);
-
- putchar_unfiltered ('\n');
- } /* Loadable sections */
-
- if (hashmark)
- putchar_unfiltered ('\n');
-}
-
-/*
- * Define the monitor command strings. Since these are passed directly
- * through to a printf style function, we need can include formatting
- * strings. We also need a CR or LF on the end.
- */
-
-static struct target_ops w89k_ops;
-
-static char *w89k_inits[] =
-{"\n", NULL};
-
-static struct monitor_ops w89k_cmds;
-static void
-init_w89k_cmds (void)
-{
- w89k_cmds.flags = MO_GETMEM_NEEDS_RANGE | MO_FILL_USES_ADDR; /* flags */
- w89k_cmds.init = w89k_inits; /* Init strings */
- w89k_cmds.cont = "g\n"; /* continue command */
- w89k_cmds.step = "t\n"; /* single step */
- w89k_cmds.stop = "\003"; /* Interrupt char (^C) */
- w89k_cmds.set_break = "bp %x\n"; /* set a breakpoint */
- w89k_cmds.clr_break = "bc %x\n"; /* clear a breakpoint */
- w89k_cmds.clr_all_break = "bc *\n"; /* clear all breakpoints */
- w89k_cmds.fill = "f %x %x %x\n"; /* memory fill cmd */
- w89k_cmds.setmem.cmdb = "eb %x %x\n"; /* setmem.cmdb (addr, value) */
- w89k_cmds.setmem.cmdw = "eh %x %x\n"; /* setmem.cmdw (addr, value) */
- w89k_cmds.setmem.cmdl = "ew %x %x\n"; /* setmem.cmdl (addr, value) */
- w89k_cmds.setmem.cmdll = NULL; /* setmem.cmdll (addr, value) */
- w89k_cmds.setmem.resp_delim = NULL; /* setreg.resp_delim */
- w89k_cmds.setmem.term = NULL; /* setreg.term */
- w89k_cmds.setmem.term_cmd = NULL; /* setreg.term_cmd */
- w89k_cmds.getmem.cmdb = "db %x %x\n"; /* getmem.cmdb (startaddr, endaddr) */
- w89k_cmds.getmem.cmdw = "dh %x %x\n"; /* getmem.cmdw (startaddr, endaddr) */
- w89k_cmds.getmem.cmdl = "dw %x %x\n"; /* getmem.cmdl (startaddr, endaddr) */
- w89k_cmds.getmem.cmdll = NULL; /* getmem.cmdll (startaddr, endaddr) */
- w89k_cmds.getmem.resp_delim = " "; /* getmem.resp_delim */
- w89k_cmds.getmem.term = NULL; /* getmem.term */
- w89k_cmds.getmem.term_cmd = NULL; /* getmem.term_cmd */
- w89k_cmds.setreg.cmd = "r %s %x\n"; /* setreg.cmd (name, value) */
- w89k_cmds.setreg.resp_delim = NULL; /* setreg.resp_delim */
- w89k_cmds.setreg.term = NULL; /* setreg.term */
- w89k_cmds.setreg.term_cmd = NULL; /* setreg.term_cmd */
- w89k_cmds.getreg.cmd = "r %s\n"; /* getreg.cmd (name) */
- w89k_cmds.getreg.resp_delim = "\r"; /* getreg.resp_delim */
- w89k_cmds.getreg.term = NULL; /* getreg.term */
- w89k_cmds.getreg.term_cmd = NULL; /* getreg.term_cmd */
- w89k_cmds.dump_registers = "r\n"; /* dump_registers */
- w89k_cmds.register_pattern = "\\(\\w+\\)\\( +[0-9a-fA-F]+\\b\\)+";
- w89k_cmds.supply_register = w89k_supply_register; /* supply_register */
- w89k_cmds.load_routine = w89k_load; /* load routine */
- w89k_cmds.load = "u %x\n"; /* download command */
- w89k_cmds.loadresp = "\021"; /* load response (^Q) */
- w89k_cmds.prompt = "ROM>"; /* monitor command prompt */
- w89k_cmds.line_term = "\n"; /* end-of-line terminator */
- w89k_cmds.cmd_end = NULL; /* optional command terminator */
- w89k_cmds.target = &w89k_ops; /* target operations */
- w89k_cmds.stopbits = SERIAL_1_STOPBITS; /* number of stop bits */
- w89k_cmds.regnames = w89k_regnames; /* register names */
- w89k_cmds.magic = MONITOR_OPS_MAGIC; /* magic */
-} /* init_w89k_cmds */
-
-static void
-w89k_open (char *args, int from_tty)
-{
- monitor_open (args, &w89k_cmds, from_tty);
-}
-
-void
-_initialize_w89k (void)
-{
- init_w89k_cmds ();
- init_monitor_ops (&w89k_ops);
-
- w89k_ops.to_shortname = "w89k";
- w89k_ops.to_longname = "WinBond's debug monitor for the W89k Eval board";
- w89k_ops.to_doc = "Debug on a WinBond W89K eval board.\n\
-Specify the serial device it is connected to (e.g. /dev/ttya).";
- w89k_ops.to_open = w89k_open;
-
- add_target (&w89k_ops);
-}
diff --git a/gdb/win32-nat.c b/gdb/win32-nat.c
index 358bdf7a9f5..8b26916e2b7 100644
--- a/gdb/win32-nat.c
+++ b/gdb/win32-nat.c
@@ -76,8 +76,8 @@ enum
| CONTEXT_EXTENDED_REGISTERS
static unsigned dr[8];
-static int debug_registers_changed = 0;
-static int debug_registers_used = 0;
+static int debug_registers_changed;
+static int debug_registers_used;
/* The string sent by cygwin when it processes a signal.
FIXME: This should be in a cygwin include file. */
@@ -108,6 +108,7 @@ typedef struct thread_info_struct
HANDLE h;
char *name;
int suspend_count;
+ int reload_context;
CONTEXT context;
STACKFRAME sf;
}
@@ -228,7 +229,6 @@ check (BOOL ok, const char *file, int line)
GetLastError ());
}
-
/* Find a thread record given a thread id.
If get_context then also retrieve the context for this
thread. */
@@ -246,19 +246,7 @@ thread_rec (DWORD id, int get_context)
th->suspend_count = SuspendThread (th->h) + 1;
else if (get_context < 0)
th->suspend_count = -1;
-
- th->context.ContextFlags = CONTEXT_DEBUGGER_DR;
- GetThreadContext (th->h, &th->context);
- if (id == current_event.dwThreadId)
- {
- /* Copy dr values from that thread. */
- dr[0] = th->context.Dr0;
- dr[1] = th->context.Dr1;
- dr[2] = th->context.Dr2;
- dr[3] = th->context.Dr3;
- dr[6] = th->context.Dr6;
- dr[7] = th->context.Dr7;
- }
+ th->reload_context = 1;
}
return th;
}
@@ -349,6 +337,25 @@ do_child_fetch_inferior_registers (int r)
char *context_offset = ((char *) &current_thread->context) + mappings[r];
long l;
+ if (!current_thread)
+ return; /* Windows sometimes uses a non-existent thread id in its
+ events */
+
+ if (current_thread->reload_context)
+ {
+ thread_info *th = current_thread;
+ th->context.ContextFlags = CONTEXT_DEBUGGER_DR;
+ GetThreadContext (th->h, &th->context);
+ /* Copy dr values from that thread. */
+ dr[0] = th->context.Dr0;
+ dr[1] = th->context.Dr1;
+ dr[2] = th->context.Dr2;
+ dr[3] = th->context.Dr3;
+ dr[6] = th->context.Dr6;
+ dr[7] = th->context.Dr7;
+ current_thread->reload_context = 0;
+ }
+
#define I387_ST0_REGNUM I386_ST0_REGNUM
if (r == I387_FISEG_REGNUM)
@@ -376,13 +383,18 @@ static void
child_fetch_inferior_registers (int r)
{
current_thread = thread_rec (PIDGET (inferior_ptid), TRUE);
- do_child_fetch_inferior_registers (r);
+ /* Check if current_thread exists. Windows sometimes uses a non-existent
+ thread id in its events */
+ if (current_thread)
+ do_child_fetch_inferior_registers (r);
}
static void
do_child_store_inferior_registers (int r)
{
- if (r >= 0)
+ if (!current_thread)
+ /* Windows sometimes uses a non-existent thread id in its events */;
+ else if (r >= 0)
regcache_collect (r, ((char *) &current_thread->context) + mappings[r]);
else
{
@@ -396,7 +408,10 @@ static void
child_store_inferior_registers (int r)
{
current_thread = thread_rec (PIDGET (inferior_ptid), TRUE);
- do_child_store_inferior_registers (r);
+ /* Check if current_thread exists. Windows sometimes uses a non-existent
+ thread id in its events */
+ if (current_thread)
+ do_child_store_inferior_registers (r);
}
static int psapi_loaded = 0;
@@ -1179,7 +1194,7 @@ child_continue (DWORD continue_status, int id)
th->suspend_count = 0;
if (debug_registers_changed)
{
- /* Only change the value of the debug reisters */
+ /* Only change the value of the debug registers */
th->context.ContextFlags = CONTEXT_DEBUG_REGISTERS;
th->context.Dr0 = dr[0];
th->context.Dr1 = dr[1];
@@ -1197,6 +1212,19 @@ child_continue (DWORD continue_status, int id)
return res;
}
+/* Called in pathological case where Windows fails to send a
+ CREATE_PROCESS_DEBUG_EVENT after an attach. */
+DWORD
+fake_create_process (void)
+{
+ current_process_handle = OpenProcess (PROCESS_ALL_ACCESS, FALSE,
+ current_event.dwProcessId);
+ main_thread_id = current_event.dwThreadId;
+ current_thread = child_add_thread (main_thread_id,
+ current_event.u.CreateThread.hThread);
+ return main_thread_id;
+}
+
/* Get the next event from the child. Return 1 if the event requires
handling by WFI (or whatever).
*/
@@ -1205,7 +1233,7 @@ get_child_debug_event (int pid, struct target_waitstatus *ourstatus)
{
BOOL debug_event;
DWORD continue_status, event_code;
- thread_info *th = NULL;
+ thread_info *th;
static thread_info dummy_thread_info;
int retval = 0;
@@ -1219,6 +1247,7 @@ get_child_debug_event (int pid, struct target_waitstatus *ourstatus)
event_code = current_event.dwDebugEventCode;
ourstatus->kind = TARGET_WAITKIND_SPURIOUS;
+ th = NULL;
switch (event_code)
{
@@ -1228,7 +1257,17 @@ get_child_debug_event (int pid, struct target_waitstatus *ourstatus)
(unsigned) current_event.dwThreadId,
"CREATE_THREAD_DEBUG_EVENT"));
if (saw_create != 1)
- break;
+ {
+ if (!saw_create && attach_flag)
+ {
+ /* Kludge around a Windows bug where first event is a create
+ thread event. Caused when attached process does not have
+ a main thread. */
+ retval = ourstatus->value.related_pid = fake_create_process ();
+ saw_create++;
+ }
+ break;
+ }
/* Record the existence of this thread */
th = child_add_thread (current_event.dwThreadId,
current_event.u.CreateThread.hThread);
@@ -1244,10 +1283,11 @@ get_child_debug_event (int pid, struct target_waitstatus *ourstatus)
(unsigned) current_event.dwProcessId,
(unsigned) current_event.dwThreadId,
"EXIT_THREAD_DEBUG_EVENT"));
- if (saw_create != 1)
- break;
- child_delete_thread (current_event.dwThreadId);
- th = &dummy_thread_info;
+ if (current_event.dwThreadId != main_thread_id)
+ {
+ child_delete_thread (current_event.dwThreadId);
+ th = &dummy_thread_info;
+ }
break;
case CREATE_PROCESS_DEBUG_EVENT:
@@ -1263,12 +1303,10 @@ get_child_debug_event (int pid, struct target_waitstatus *ourstatus)
}
current_process_handle = current_event.u.CreateProcessInfo.hProcess;
+ if (main_thread_id)
+ child_delete_thread (main_thread_id);
main_thread_id = current_event.dwThreadId;
/* Add the main thread */
-#if 0
- th = child_add_thread (current_event.dwProcessId,
- current_event.u.CreateProcessInfo.hProcess);
-#endif
th = child_add_thread (main_thread_id,
current_event.u.CreateProcessInfo.hThread);
retval = ourstatus->value.related_pid = current_event.dwThreadId;
@@ -1353,8 +1391,8 @@ get_child_debug_event (int pid, struct target_waitstatus *ourstatus)
CHECK (child_continue (continue_status, -1));
else
{
- current_thread = th ? : thread_rec (current_event.dwThreadId, TRUE);
inferior_ptid = pid_to_ptid (retval);
+ current_thread = th ?: thread_rec (current_event.dwThreadId, TRUE);
}
out:
@@ -1569,10 +1607,9 @@ child_attach (char *args, int from_tty)
}
if (has_detach_ability ())
- {
- attach_flag = 1;
- DebugSetProcessKillOnExit (FALSE);
- }
+ DebugSetProcessKillOnExit (FALSE);
+
+ attach_flag = 1;
if (from_tty)
{
@@ -1694,6 +1731,8 @@ child_create_inferior (char *exec_file, char *allargs, char **env)
if (new_console)
flags |= CREATE_NEW_CONSOLE;
+ attach_flag = 0;
+
args = alloca (strlen (toexec) + strlen (allargs) + 2);
strcpy (args, toexec);
strcat (args, " ");
@@ -1895,7 +1934,8 @@ child_kill_inferior (void)
CHECK (CloseHandle (current_process_handle));
/* this may fail in an attached process so don't check. */
- (void) CloseHandle (current_thread->h);
+ if (current_thread && current_thread->h)
+ (void) CloseHandle (current_thread->h);
target_mourn_inferior (); /* or just child_mourn_inferior? */
}
@@ -2147,7 +2187,6 @@ cygwin_get_dr6 (void)
return dr[6];
}
-
/* Determine if the thread referenced by "pid" is alive
by "polling" it. If WaitForSingleObject returns WAIT_OBJECT_0
it means that the pid has died. Otherwise it is assumed to be alive. */
@@ -2199,65 +2238,65 @@ core_dll_symbols_add (char *dll_name, DWORD base_addr)
}
}
- register_loaded_dll (dll_name, base_addr + 0x1000);
- solib_symbols_add (dll_name, 0, (CORE_ADDR) base_addr + 0x1000);
+ register_loaded_dll (dll_name, base_addr + 0x1000);
+ solib_symbols_add (dll_name, 0, (CORE_ADDR) base_addr + 0x1000);
-out:
- return 1;
-}
+ out:
+ return 1;
+ }
-typedef struct
-{
- struct target_ops *target;
- bfd_vma addr;
-} map_code_section_args;
+ typedef struct
+ {
+ struct target_ops *target;
+ bfd_vma addr;
+ } map_code_section_args;
-static void
-map_single_dll_code_section (bfd * abfd, asection * sect, void *obj)
-{
- int old;
- int update_coreops;
- struct section_table *new_target_sect_ptr;
+ static void
+ map_single_dll_code_section (bfd * abfd, asection * sect, void *obj)
+ {
+ int old;
+ int update_coreops;
+ struct section_table *new_target_sect_ptr;
- map_code_section_args *args = (map_code_section_args *) obj;
- struct target_ops *target = args->target;
- if (sect->flags & SEC_CODE)
- {
- update_coreops = core_ops.to_sections == target->to_sections;
+ map_code_section_args *args = (map_code_section_args *) obj;
+ struct target_ops *target = args->target;
+ if (sect->flags & SEC_CODE)
+ {
+ update_coreops = core_ops.to_sections == target->to_sections;
- if (target->to_sections)
- {
- old = target->to_sections_end - target->to_sections;
- target->to_sections = (struct section_table *)
- xrealloc ((char *) target->to_sections,
- (sizeof (struct section_table)) * (1 + old));
- }
- else
- {
- old = 0;
- target->to_sections = (struct section_table *)
- xmalloc ((sizeof (struct section_table)));
- }
- target->to_sections_end = target->to_sections + (1 + old);
+ if (target->to_sections)
+ {
+ old = target->to_sections_end - target->to_sections;
+ target->to_sections = (struct section_table *)
+ xrealloc ((char *) target->to_sections,
+ (sizeof (struct section_table)) * (1 + old));
+ }
+ else
+ {
+ old = 0;
+ target->to_sections = (struct section_table *)
+ xmalloc ((sizeof (struct section_table)));
+ }
+ target->to_sections_end = target->to_sections + (1 + old);
- /* Update the to_sections field in the core_ops structure
- if needed. */
- if (update_coreops)
- {
- core_ops.to_sections = target->to_sections;
- core_ops.to_sections_end = target->to_sections_end;
- }
- new_target_sect_ptr = target->to_sections + old;
- new_target_sect_ptr->addr = args->addr + bfd_section_vma (abfd, sect);
- new_target_sect_ptr->endaddr = args->addr + bfd_section_vma (abfd, sect) +
- bfd_section_size (abfd, sect);;
- new_target_sect_ptr->the_bfd_section = sect;
- new_target_sect_ptr->bfd = abfd;
- }
-}
+ /* Update the to_sections field in the core_ops structure
+ if needed. */
+ if (update_coreops)
+ {
+ core_ops.to_sections = target->to_sections;
+ core_ops.to_sections_end = target->to_sections_end;
+ }
+ new_target_sect_ptr = target->to_sections + old;
+ new_target_sect_ptr->addr = args->addr + bfd_section_vma (abfd, sect);
+ new_target_sect_ptr->endaddr = args->addr + bfd_section_vma (abfd, sect) +
+ bfd_section_size (abfd, sect);;
+ new_target_sect_ptr->the_bfd_section = sect;
+ new_target_sect_ptr->bfd = abfd;
+ }
+ }
-static int
-dll_code_sections_add (const char *dll_name, int base_addr, struct target_ops *target)
+ static int
+ dll_code_sections_add (const char *dll_name, int base_addr, struct target_ops *target)
{
bfd *dll_bfd;
map_code_section_args map_args;
diff --git a/gdb/x86-64-linux-nat.c b/gdb/x86-64-linux-nat.c
index 4ed859bc727..98d30aaa258 100644
--- a/gdb/x86-64-linux-nat.c
+++ b/gdb/x86-64-linux-nat.c
@@ -1,7 +1,6 @@
/* Native-dependent code for GNU/Linux x86-64.
- Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
-
+ Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Jiri Smid, SuSE Labs.
This file is part of GDB.
@@ -67,6 +66,7 @@ static int x86_64_linux_gregset64_reg_offset[] =
R12 * 8, R13 * 8,
R14 * 8, R15 * 8, /* ... %r15 */
RIP * 8, EFLAGS * 8, /* %rip, %eflags */
+ CS * 8, SS * 8, /* %cs, %ss */
DS * 8, ES * 8, /* %ds, %es */
FS * 8, GS * 8 /* %fs, %gs */
};
diff --git a/gdb/x86-64-linux-tdep.c b/gdb/x86-64-linux-tdep.c
index 71a5364f0e6..fee1233f4fc 100644
--- a/gdb/x86-64-linux-tdep.c
+++ b/gdb/x86-64-linux-tdep.c
@@ -1,7 +1,6 @@
/* Target-dependent code for GNU/Linux running on x86-64, for GDB.
- Copyright 2001, 2003 Free Software Foundation, Inc.
-
+ Copyright 2001, 2003, 2004 Free Software Foundation, Inc.
Contributed by Jiri Smid, SuSE Labs.
This file is part of GDB.
@@ -69,6 +68,7 @@ static int user_to_gdb_regmap[] =
USER_R8, USER_R9, USER_R10, USER_R11,
USER_R12, USER_R13, USER_R14, USER_R15,
USER_RIP, USER_EFLAGS,
+ USER_CS, USER_SS,
USER_DS, USER_ES, USER_FS, USER_GS
};
@@ -254,13 +254,15 @@ static int x86_64_linux_sc_reg_offset[] =
7 * 8, /* %r15 */
16 * 8, /* %rip */
17 * 8, /* %eflags */
- -1, /* %ds */
- -1, /* %es */
- /* FIXME: kettenis/2002030531: The registers %fs and %gs are
+ /* FIXME: kettenis/2002030531: The registers %cs, %fs and %gs are
available in `struct sigcontext'. However, they only occupy two
bytes instead of four, which makes using them here rather
difficult. Leave them out for now. */
+ -1, /* %cs */
+ -1, /* %ss */
+ -1, /* %ds */
+ -1, /* %es */
-1, /* %fs */
-1 /* %gs */
};
diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c
index 56b1e9bea85..fcb29edc257 100644
--- a/gdb/x86-64-tdep.c
+++ b/gdb/x86-64-tdep.c
@@ -1,6 +1,6 @@
-/* Target-dependent code for the x86-64 for GDB, the GNU debugger.
+/* Target-dependent code for AMD64.
- Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Jiri Smid, SuSE Labs.
This file is part of GDB.
@@ -40,15 +40,22 @@
#include "x86-64-tdep.h"
#include "i387-tdep.h"
+/* Note that the AMD64 architecture was previously known as x86-64.
+ The latter is (forever) engraved into the canonical system name as
+ returned bu config.guess, and used as the name for the AMD64 port
+ of GNU/Linux. The BSD's have renamed their ports to amd64; they
+ don't like to shout. For GDB we prefer the amd64_-prefix over the
+ x86_64_-prefix since it's so much easier to type. */
+
/* Register information. */
-struct x86_64_register_info
+struct amd64_register_info
{
char *name;
struct type **type;
};
-static struct x86_64_register_info x86_64_register_info[] =
+static struct amd64_register_info amd64_register_info[] =
{
{ "rax", &builtin_type_int64 },
{ "rbx", &builtin_type_int64 },
@@ -70,12 +77,14 @@ static struct x86_64_register_info x86_64_register_info[] =
{ "r15", &builtin_type_int64 },
{ "rip", &builtin_type_void_func_ptr },
{ "eflags", &builtin_type_int32 },
+ { "cs", &builtin_type_int32 },
+ { "ss", &builtin_type_int32 },
{ "ds", &builtin_type_int32 },
{ "es", &builtin_type_int32 },
{ "fs", &builtin_type_int32 },
{ "gs", &builtin_type_int32 },
- /* %st0 is register number 22. */
+ /* %st0 is register number 24. */
{ "st0", &builtin_type_i387_ext },
{ "st1", &builtin_type_i387_ext },
{ "st2", &builtin_type_i387_ext },
@@ -93,7 +102,7 @@ static struct x86_64_register_info x86_64_register_info[] =
{ "fooff", &builtin_type_int32 },
{ "fop", &builtin_type_int32 },
- /* %xmm0 is register number 38. */
+ /* %xmm0 is register number 40. */
{ "xmm0", &builtin_type_v4sf },
{ "xmm1", &builtin_type_v4sf },
{ "xmm2", &builtin_type_v4sf },
@@ -114,16 +123,16 @@ static struct x86_64_register_info x86_64_register_info[] =
};
/* Total number of registers. */
-#define X86_64_NUM_REGS \
- (sizeof (x86_64_register_info) / sizeof (x86_64_register_info[0]))
+#define AMD64_NUM_REGS \
+ (sizeof (amd64_register_info) / sizeof (amd64_register_info[0]))
/* Return the name of register REGNUM. */
static const char *
-x86_64_register_name (int regnum)
+amd64_register_name (int regnum)
{
- if (regnum >= 0 && regnum < X86_64_NUM_REGS)
- return x86_64_register_info[regnum].name;
+ if (regnum >= 0 && regnum < AMD64_NUM_REGS)
+ return amd64_register_info[regnum].name;
return NULL;
}
@@ -132,17 +141,17 @@ x86_64_register_name (int regnum)
register REGNUM. */
static struct type *
-x86_64_register_type (struct gdbarch *gdbarch, int regnum)
+amd64_register_type (struct gdbarch *gdbarch, int regnum)
{
- gdb_assert (regnum >= 0 && regnum < X86_64_NUM_REGS);
+ gdb_assert (regnum >= 0 && regnum < AMD64_NUM_REGS);
- return *x86_64_register_info[regnum].type;
+ return *amd64_register_info[regnum].type;
}
/* DWARF Register Number Mapping as defined in the System V psABI,
section 3.6. */
-static int x86_64_dwarf_regmap[] =
+static int amd64_dwarf_regmap[] =
{
/* General Purpose Registers RAX, RDX, RCX, RBX, RSI, RDI. */
X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, 2, 1,
@@ -179,19 +188,19 @@ static int x86_64_dwarf_regmap[] =
X86_64_ST0_REGNUM + 6, X86_64_ST0_REGNUM + 7
};
-static const int x86_64_dwarf_regmap_len =
- (sizeof (x86_64_dwarf_regmap) / sizeof (x86_64_dwarf_regmap[0]));
+static const int amd64_dwarf_regmap_len =
+ (sizeof (amd64_dwarf_regmap) / sizeof (amd64_dwarf_regmap[0]));
/* Convert DWARF register number REG to the appropriate register
number used by GDB. */
static int
-x86_64_dwarf_reg_to_regnum (int reg)
+amd64_dwarf_reg_to_regnum (int reg)
{
int regnum = -1;
- if (reg >= 0 || reg < x86_64_dwarf_regmap_len)
- regnum = x86_64_dwarf_regmap[reg];
+ if (reg >= 0 || reg < amd64_dwarf_regmap_len)
+ regnum = amd64_dwarf_regmap[reg];
if (regnum == -1)
warning ("Unmapped DWARF Register #%d encountered\n", reg);
@@ -203,7 +212,7 @@ x86_64_dwarf_reg_to_regnum (int reg)
needs any special handling. */
static int
-x86_64_convert_register_p (int regnum, struct type *type)
+amd64_convert_register_p (int regnum, struct type *type)
{
return i386_fp_regnum_p (regnum);
}
@@ -261,6 +270,19 @@ amd64_merge_classes (enum amd64_reg_class class1, enum amd64_reg_class class2)
static void amd64_classify (struct type *type, enum amd64_reg_class class[2]);
+/* Return non-zero if TYPE is a non-POD structure or union type. */
+
+static int
+amd64_non_pod_p (struct type *type)
+{
+ /* ??? A class with a base class certainly isn't POD, but does this
+ catch all non-POD structure types? */
+ if (TYPE_CODE (type) == TYPE_CODE_STRUCT && TYPE_N_BASECLASSES (type) > 0)
+ return 1;
+
+ return 0;
+}
+
/* Classify TYPE according to the rules for aggregate (structures and
arrays) and union types, and store the result in CLASS. */
@@ -272,7 +294,7 @@ amd64_classify_aggregate (struct type *type, enum amd64_reg_class class[2])
/* 1. If the size of an object is larger than two eightbytes, or in
C++, is a non-POD structure or union type, or contains
unaligned fields, it has class memory. */
- if (len > 16)
+ if (len > 16 || amd64_non_pod_p (type))
{
class[0] = class[1] = AMD64_MEMORY;
return;
@@ -309,6 +331,10 @@ amd64_classify_aggregate (struct type *type, enum amd64_reg_class class[2])
int pos = TYPE_FIELD_BITPOS (type, i) / 64;
enum amd64_reg_class subclass[2];
+ /* Ignore static fields. */
+ if (TYPE_FIELD_STATIC (type, i))
+ continue;
+
gdb_assert (pos == 0 || pos == 1);
amd64_classify (subtype, subclass);
@@ -468,7 +494,7 @@ amd64_return_value (struct gdbarch *gdbarch, struct type *type,
static CORE_ADDR
amd64_push_arguments (struct regcache *regcache, int nargs,
- struct value **args, CORE_ADDR sp)
+ struct value **args, CORE_ADDR sp, int struct_return)
{
static int integer_regnum[] =
{
@@ -492,6 +518,10 @@ amd64_push_arguments (struct regcache *regcache, int nargs,
int sse_reg = 0;
int i;
+ /* Reserve a register for the "hidden" argument. */
+ if (struct_return)
+ integer_reg++;
+
for (i = 0; i < nargs; i++)
{
struct type *type = VALUE_TYPE (args[i]);
@@ -592,15 +622,15 @@ amd64_push_arguments (struct regcache *regcache, int nargs,
}
static CORE_ADDR
-x86_64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
- struct regcache *regcache, CORE_ADDR bp_addr,
- int nargs, struct value **args, CORE_ADDR sp,
- int struct_return, CORE_ADDR struct_addr)
+amd64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
+ struct regcache *regcache, CORE_ADDR bp_addr,
+ int nargs, struct value **args, CORE_ADDR sp,
+ int struct_return, CORE_ADDR struct_addr)
{
char buf[8];
/* Pass arguments. */
- sp = amd64_push_arguments (regcache, nargs, args, sp);
+ sp = amd64_push_arguments (regcache, nargs, args, sp, struct_return);
/* Pass "hidden" argument". */
if (struct_return)
@@ -626,9 +656,9 @@ x86_64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
/* The maximum number of saved registers. This should include %rip. */
-#define X86_64_NUM_SAVED_REGS X86_64_NUM_GREGS
+#define AMD64_NUM_SAVED_REGS X86_64_NUM_GREGS
-struct x86_64_frame_cache
+struct amd64_frame_cache
{
/* Base address. */
CORE_ADDR base;
@@ -636,7 +666,7 @@ struct x86_64_frame_cache
CORE_ADDR pc;
/* Saved registers. */
- CORE_ADDR saved_regs[X86_64_NUM_SAVED_REGS];
+ CORE_ADDR saved_regs[AMD64_NUM_SAVED_REGS];
CORE_ADDR saved_sp;
/* Do we have a frame? */
@@ -645,13 +675,13 @@ struct x86_64_frame_cache
/* Allocate and initialize a frame cache. */
-static struct x86_64_frame_cache *
-x86_64_alloc_frame_cache (void)
+static struct amd64_frame_cache *
+amd64_alloc_frame_cache (void)
{
- struct x86_64_frame_cache *cache;
+ struct amd64_frame_cache *cache;
int i;
- cache = FRAME_OBSTACK_ZALLOC (struct x86_64_frame_cache);
+ cache = FRAME_OBSTACK_ZALLOC (struct amd64_frame_cache);
/* Base address. */
cache->base = 0;
@@ -660,7 +690,7 @@ x86_64_alloc_frame_cache (void)
/* Saved registers. We initialize these to -1 since zero is a valid
offset (that's where %rbp is supposed to be stored). */
- for (i = 0; i < X86_64_NUM_SAVED_REGS; i++)
+ for (i = 0; i < AMD64_NUM_SAVED_REGS; i++)
cache->saved_regs[i] = -1;
cache->saved_sp = 0;
@@ -683,8 +713,8 @@ x86_64_alloc_frame_cache (void)
to have no prologue and thus no valid frame pointer in %rbp. */
static CORE_ADDR
-x86_64_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
- struct x86_64_frame_cache *cache)
+amd64_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
+ struct amd64_frame_cache *cache)
{
static unsigned char proto[3] = { 0x48, 0x89, 0xe5 };
unsigned char buf[3];
@@ -722,12 +752,12 @@ x86_64_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
/* Return PC of first real instruction. */
static CORE_ADDR
-x86_64_skip_prologue (CORE_ADDR start_pc)
+amd64_skip_prologue (CORE_ADDR start_pc)
{
- struct x86_64_frame_cache cache;
+ struct amd64_frame_cache cache;
CORE_ADDR pc;
- pc = x86_64_analyze_prologue (start_pc, 0xffffffffffffffff, &cache);
+ pc = amd64_analyze_prologue (start_pc, 0xffffffffffffffff, &cache);
if (cache.frameless_p)
return start_pc;
@@ -737,22 +767,22 @@ x86_64_skip_prologue (CORE_ADDR start_pc)
/* Normal frames. */
-static struct x86_64_frame_cache *
-x86_64_frame_cache (struct frame_info *next_frame, void **this_cache)
+static struct amd64_frame_cache *
+amd64_frame_cache (struct frame_info *next_frame, void **this_cache)
{
- struct x86_64_frame_cache *cache;
+ struct amd64_frame_cache *cache;
char buf[8];
int i;
if (*this_cache)
return *this_cache;
- cache = x86_64_alloc_frame_cache ();
+ cache = amd64_alloc_frame_cache ();
*this_cache = cache;
cache->pc = frame_func_unwind (next_frame);
if (cache->pc != 0)
- x86_64_analyze_prologue (cache->pc, frame_pc_unwind (next_frame), cache);
+ amd64_analyze_prologue (cache->pc, frame_pc_unwind (next_frame), cache);
if (cache->frameless_p)
{
@@ -784,7 +814,7 @@ x86_64_frame_cache (struct frame_info *next_frame, void **this_cache)
/* Adjust all the saved registers such that they contain addresses
instead of offsets. */
- for (i = 0; i < X86_64_NUM_SAVED_REGS; i++)
+ for (i = 0; i < AMD64_NUM_SAVED_REGS; i++)
if (cache->saved_regs[i] != -1)
cache->saved_regs[i] += cache->base;
@@ -792,11 +822,11 @@ x86_64_frame_cache (struct frame_info *next_frame, void **this_cache)
}
static void
-x86_64_frame_this_id (struct frame_info *next_frame, void **this_cache,
- struct frame_id *this_id)
+amd64_frame_this_id (struct frame_info *next_frame, void **this_cache,
+ struct frame_id *this_id)
{
- struct x86_64_frame_cache *cache =
- x86_64_frame_cache (next_frame, this_cache);
+ struct amd64_frame_cache *cache =
+ amd64_frame_cache (next_frame, this_cache);
/* This marks the outermost frame. */
if (cache->base == 0)
@@ -806,13 +836,13 @@ x86_64_frame_this_id (struct frame_info *next_frame, void **this_cache,
}
static void
-x86_64_frame_prev_register (struct frame_info *next_frame, void **this_cache,
- int regnum, int *optimizedp,
- enum lval_type *lvalp, CORE_ADDR *addrp,
- int *realnump, void *valuep)
+amd64_frame_prev_register (struct frame_info *next_frame, void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp, CORE_ADDR *addrp,
+ int *realnump, void *valuep)
{
- struct x86_64_frame_cache *cache =
- x86_64_frame_cache (next_frame, this_cache);
+ struct amd64_frame_cache *cache =
+ amd64_frame_cache (next_frame, this_cache);
gdb_assert (regnum >= 0);
@@ -830,7 +860,7 @@ x86_64_frame_prev_register (struct frame_info *next_frame, void **this_cache,
return;
}
- if (regnum < X86_64_NUM_SAVED_REGS && cache->saved_regs[regnum] != -1)
+ if (regnum < AMD64_NUM_SAVED_REGS && cache->saved_regs[regnum] != -1)
{
*optimizedp = 0;
*lvalp = lval_memory;
@@ -849,17 +879,17 @@ x86_64_frame_prev_register (struct frame_info *next_frame, void **this_cache,
optimizedp, lvalp, addrp, realnump, valuep);
}
-static const struct frame_unwind x86_64_frame_unwind =
+static const struct frame_unwind amd64_frame_unwind =
{
NORMAL_FRAME,
- x86_64_frame_this_id,
- x86_64_frame_prev_register
+ amd64_frame_this_id,
+ amd64_frame_prev_register
};
static const struct frame_unwind *
-x86_64_frame_sniffer (struct frame_info *next_frame)
+amd64_frame_sniffer (struct frame_info *next_frame)
{
- return &x86_64_frame_unwind;
+ return &amd64_frame_unwind;
}
@@ -869,10 +899,10 @@ x86_64_frame_sniffer (struct frame_info *next_frame)
64-bit variants. This would require using identical frame caches
on both platforms. */
-static struct x86_64_frame_cache *
-x86_64_sigtramp_frame_cache (struct frame_info *next_frame, void **this_cache)
+static struct amd64_frame_cache *
+amd64_sigtramp_frame_cache (struct frame_info *next_frame, void **this_cache)
{
- struct x86_64_frame_cache *cache;
+ struct amd64_frame_cache *cache;
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
CORE_ADDR addr;
char buf[8];
@@ -881,14 +911,14 @@ x86_64_sigtramp_frame_cache (struct frame_info *next_frame, void **this_cache)
if (*this_cache)
return *this_cache;
- cache = x86_64_alloc_frame_cache ();
+ cache = amd64_alloc_frame_cache ();
frame_unwind_register (next_frame, X86_64_RSP_REGNUM, buf);
cache->base = extract_unsigned_integer (buf, 8) - 8;
addr = tdep->sigcontext_addr (next_frame);
gdb_assert (tdep->sc_reg_offset);
- gdb_assert (tdep->sc_num_regs <= X86_64_NUM_SAVED_REGS);
+ gdb_assert (tdep->sc_num_regs <= AMD64_NUM_SAVED_REGS);
for (i = 0; i < tdep->sc_num_regs; i++)
if (tdep->sc_reg_offset[i] != -1)
cache->saved_regs[i] = addr + tdep->sc_reg_offset[i];
@@ -898,38 +928,38 @@ x86_64_sigtramp_frame_cache (struct frame_info *next_frame, void **this_cache)
}
static void
-x86_64_sigtramp_frame_this_id (struct frame_info *next_frame,
- void **this_cache, struct frame_id *this_id)
+amd64_sigtramp_frame_this_id (struct frame_info *next_frame,
+ void **this_cache, struct frame_id *this_id)
{
- struct x86_64_frame_cache *cache =
- x86_64_sigtramp_frame_cache (next_frame, this_cache);
+ struct amd64_frame_cache *cache =
+ amd64_sigtramp_frame_cache (next_frame, this_cache);
(*this_id) = frame_id_build (cache->base + 16, frame_pc_unwind (next_frame));
}
static void
-x86_64_sigtramp_frame_prev_register (struct frame_info *next_frame,
- void **this_cache,
- int regnum, int *optimizedp,
- enum lval_type *lvalp, CORE_ADDR *addrp,
- int *realnump, void *valuep)
+amd64_sigtramp_frame_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp, CORE_ADDR *addrp,
+ int *realnump, void *valuep)
{
/* Make sure we've initialized the cache. */
- x86_64_sigtramp_frame_cache (next_frame, this_cache);
+ amd64_sigtramp_frame_cache (next_frame, this_cache);
- x86_64_frame_prev_register (next_frame, this_cache, regnum,
- optimizedp, lvalp, addrp, realnump, valuep);
+ amd64_frame_prev_register (next_frame, this_cache, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
}
-static const struct frame_unwind x86_64_sigtramp_frame_unwind =
+static const struct frame_unwind amd64_sigtramp_frame_unwind =
{
SIGTRAMP_FRAME,
- x86_64_sigtramp_frame_this_id,
- x86_64_sigtramp_frame_prev_register
+ amd64_sigtramp_frame_this_id,
+ amd64_sigtramp_frame_prev_register
};
static const struct frame_unwind *
-x86_64_sigtramp_frame_sniffer (struct frame_info *next_frame)
+amd64_sigtramp_frame_sniffer (struct frame_info *next_frame)
{
CORE_ADDR pc = frame_pc_unwind (next_frame);
char *name;
@@ -939,7 +969,7 @@ x86_64_sigtramp_frame_sniffer (struct frame_info *next_frame)
{
gdb_assert (gdbarch_tdep (current_gdbarch)->sigcontext_addr);
- return &x86_64_sigtramp_frame_unwind;
+ return &amd64_sigtramp_frame_unwind;
}
return NULL;
@@ -947,24 +977,24 @@ x86_64_sigtramp_frame_sniffer (struct frame_info *next_frame)
static CORE_ADDR
-x86_64_frame_base_address (struct frame_info *next_frame, void **this_cache)
+amd64_frame_base_address (struct frame_info *next_frame, void **this_cache)
{
- struct x86_64_frame_cache *cache =
- x86_64_frame_cache (next_frame, this_cache);
+ struct amd64_frame_cache *cache =
+ amd64_frame_cache (next_frame, this_cache);
return cache->base;
}
-static const struct frame_base x86_64_frame_base =
+static const struct frame_base amd64_frame_base =
{
- &x86_64_frame_unwind,
- x86_64_frame_base_address,
- x86_64_frame_base_address,
- x86_64_frame_base_address
+ &amd64_frame_unwind,
+ amd64_frame_base_address,
+ amd64_frame_base_address,
+ amd64_frame_base_address
};
static struct frame_id
-x86_64_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
+amd64_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
{
char buf[8];
CORE_ADDR fp;
@@ -978,7 +1008,7 @@ x86_64_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
/* 16 byte align the SP per frame requirements. */
static CORE_ADDR
-x86_64_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
+amd64_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
{
return sp & -(CORE_ADDR)16;
}
@@ -989,8 +1019,8 @@ x86_64_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
registers in REGSET. */
static void
-x86_64_supply_fpregset (const struct regset *regset, struct regcache *regcache,
- int regnum, const void *fpregs, size_t len)
+amd64_supply_fpregset (const struct regset *regset, struct regcache *regcache,
+ int regnum, const void *fpregs, size_t len)
{
const struct gdbarch_tdep *tdep = regset->descr;
@@ -1002,8 +1032,8 @@ x86_64_supply_fpregset (const struct regset *regset, struct regcache *regcache,
by SECT_NAME and SECT_SIZE. */
static const struct regset *
-x86_64_regset_from_core_section (struct gdbarch *gdbarch,
- const char *sect_name, size_t sect_size)
+amd64_regset_from_core_section (struct gdbarch *gdbarch,
+ const char *sect_name, size_t sect_size)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -1013,7 +1043,7 @@ x86_64_regset_from_core_section (struct gdbarch *gdbarch,
{
tdep->fpregset = XMALLOC (struct regset);
tdep->fpregset->descr = tdep;
- tdep->fpregset->supply_regset = x86_64_supply_fpregset;
+ tdep->fpregset->supply_regset = amd64_supply_fpregset;
}
return tdep->fpregset;
@@ -1041,14 +1071,14 @@ x86_64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_long_long_bit (gdbarch, 64);
set_gdbarch_ptr_bit (gdbarch, 64);
- /* In contrast to the i386, on the x86-64 a `long double' actually
- takes up 128 bits, even though it's still based on the i387
- extended floating-point format which has only 80 significant bits. */
+ /* In contrast to the i386, on AMD64 a `long double' actually takes
+ up 128 bits, even though it's still based on the i387 extended
+ floating-point format which has only 80 significant bits. */
set_gdbarch_long_double_bit (gdbarch, 128);
- set_gdbarch_num_regs (gdbarch, X86_64_NUM_REGS);
- set_gdbarch_register_name (gdbarch, x86_64_register_name);
- set_gdbarch_register_type (gdbarch, x86_64_register_type);
+ set_gdbarch_num_regs (gdbarch, AMD64_NUM_REGS);
+ set_gdbarch_register_name (gdbarch, amd64_register_name);
+ set_gdbarch_register_type (gdbarch, amd64_register_type);
/* Register numbers of various important registers. */
set_gdbarch_sp_regnum (gdbarch, X86_64_RSP_REGNUM); /* %rsp */
@@ -1056,53 +1086,53 @@ x86_64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_ps_regnum (gdbarch, X86_64_EFLAGS_REGNUM); /* %eflags */
set_gdbarch_fp0_regnum (gdbarch, X86_64_ST0_REGNUM); /* %st(0) */
- /* The "default" register numbering scheme for the x86-64 is
- referred to as the "DWARF Register Number Mapping" in the System
- V psABI. The preferred debugging format for all known x86-64
- targets is actually DWARF2, and GCC doesn't seem to support DWARF
- (that is DWARF-1), but we provide the same mapping just in case.
- This mapping is also used for stabs, which GCC does support. */
- set_gdbarch_stab_reg_to_regnum (gdbarch, x86_64_dwarf_reg_to_regnum);
- set_gdbarch_dwarf_reg_to_regnum (gdbarch, x86_64_dwarf_reg_to_regnum);
- set_gdbarch_dwarf2_reg_to_regnum (gdbarch, x86_64_dwarf_reg_to_regnum);
+ /* The "default" register numbering scheme for AMD64 is referred to
+ as the "DWARF Register Number Mapping" in the System V psABI.
+ The preferred debugging format for all known AMD64 targets is
+ actually DWARF2, and GCC doesn't seem to support DWARF (that is
+ DWARF-1), but we provide the same mapping just in case. This
+ mapping is also used for stabs, which GCC does support. */
+ set_gdbarch_stab_reg_to_regnum (gdbarch, amd64_dwarf_reg_to_regnum);
+ set_gdbarch_dwarf_reg_to_regnum (gdbarch, amd64_dwarf_reg_to_regnum);
+ set_gdbarch_dwarf2_reg_to_regnum (gdbarch, amd64_dwarf_reg_to_regnum);
/* We don't override SDB_REG_RO_REGNUM, since COFF doesn't seem to
- be in use on any of the supported x86-64 targets. */
+ be in use on any of the supported AMD64 targets. */
/* Call dummy code. */
- set_gdbarch_push_dummy_call (gdbarch, x86_64_push_dummy_call);
- set_gdbarch_frame_align (gdbarch, x86_64_frame_align);
+ set_gdbarch_push_dummy_call (gdbarch, amd64_push_dummy_call);
+ set_gdbarch_frame_align (gdbarch, amd64_frame_align);
set_gdbarch_frame_red_zone_size (gdbarch, 128);
- set_gdbarch_convert_register_p (gdbarch, x86_64_convert_register_p);
+ set_gdbarch_convert_register_p (gdbarch, amd64_convert_register_p);
set_gdbarch_register_to_value (gdbarch, i387_register_to_value);
set_gdbarch_value_to_register (gdbarch, i387_value_to_register);
set_gdbarch_return_value (gdbarch, amd64_return_value);
- /* Override, since this is handled by x86_64_extract_return_value. */
+ /* Override, since this is handled by amd64_extract_return_value. */
set_gdbarch_extract_struct_value_address (gdbarch, NULL);
- set_gdbarch_skip_prologue (gdbarch, x86_64_skip_prologue);
+ set_gdbarch_skip_prologue (gdbarch, amd64_skip_prologue);
/* Avoid wiring in the MMX registers for now. */
set_gdbarch_num_pseudo_regs (gdbarch, 0);
tdep->mm0_regnum = -1;
- set_gdbarch_unwind_dummy_id (gdbarch, x86_64_unwind_dummy_id);
+ set_gdbarch_unwind_dummy_id (gdbarch, amd64_unwind_dummy_id);
/* FIXME: kettenis/20021026: This is ELF-specific. Fine for now,
- since all supported x86-64 targets are ELF, but that might change
+ since all supported AMD64 targets are ELF, but that might change
in the future. */
set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
- frame_unwind_append_sniffer (gdbarch, x86_64_sigtramp_frame_sniffer);
- frame_unwind_append_sniffer (gdbarch, x86_64_frame_sniffer);
- frame_base_set_default (gdbarch, &x86_64_frame_base);
+ frame_unwind_append_sniffer (gdbarch, amd64_sigtramp_frame_sniffer);
+ frame_unwind_append_sniffer (gdbarch, amd64_frame_sniffer);
+ frame_base_set_default (gdbarch, &amd64_frame_base);
/* If we have a register mapping, enable the generic core file support. */
if (tdep->gregset_reg_offset)
set_gdbarch_regset_from_core_section (gdbarch,
- x86_64_regset_from_core_section);
+ amd64_regset_from_core_section);
}
diff --git a/gdb/x86-64-tdep.h b/gdb/x86-64-tdep.h
index 17d2cdfa441..4aa0e7faf9f 100644
--- a/gdb/x86-64-tdep.h
+++ b/gdb/x86-64-tdep.h
@@ -1,8 +1,6 @@
/* Target-dependent code for the x86-64.
- Copyright 2001, 2003
- Free Software Foundation, Inc.
-
+ Copyright 2001, 2003, 2004 Free Software Foundation, Inc.
Contributed by Jiri Smid, SuSE Labs.
This file is part of GDB.
@@ -40,12 +38,12 @@ struct regcache;
#define X86_64_RSP_REGNUM 7 /* %rsp */
#define X86_64_RIP_REGNUM 16 /* %rip */
#define X86_64_EFLAGS_REGNUM 17 /* %eflags */
-#define X86_64_ST0_REGNUM 22 /* %st0 */
-#define X86_64_XMM0_REGNUM 38 /* %xmm0 */
-#define X86_64_XMM1_REGNUM 39 /* %xmm1 */
+#define X86_64_ST0_REGNUM 24 /* %st0 */
+#define X86_64_XMM0_REGNUM 40 /* %xmm0 */
+#define X86_64_XMM1_REGNUM 41 /* %xmm1 */
/* Number of general purpose registers. */
-#define X86_64_NUM_GREGS 22
+#define X86_64_NUM_GREGS 24
void x86_64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch);
diff --git a/include/ChangeLog b/include/ChangeLog
index 670fe38b312..ee8677e16fb 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,18 @@
+2004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * demangle.h (enum demangle_component_type): Define.
+ (struct demangle_operator_info): Declare.
+ (struct demangle_builtin_type_info): Declare.
+ (struct demangle_component): Define.
+ (cplus_demangle_fill_component): Declare.
+ (cplus_demangle_fill_name): Declare.
+ (cplus_demangle_fill_builtin_type): Declare.
+ (cplus_demangle_fill_operator): Declare.
+ (cplus_demangle_fill_extended_operator): Declare.
+ (cplus_demangle_fill_ctor, cplus_demangle_fill_dtor): Declare.
+ (cplus_demangle_v3_components): Declare.
+ (cplus_demangle_print): Declare.
+
2003-12-19 Andreas Tobler <a.tobler@schweiz.ch>
* include/fibheap.h (fibnode): Use __extension__ for
@@ -8,43 +23,6 @@
* include/fibheap.h (fibnode): Use unsigned long int for
bit-fields if __GNUC__ is defined.
-2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * bfdlink.h (bfd_link_info): Change relax_finalizing to
- need_relax_finalize.
-
-2003-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h (struct bfd_link_hash_entry): Rename "next" to "und_next".
-
-2003-12-02 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h (struct bfd_link_info): Remove mpc860c0 field.
-
-2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * opcode/mips.h: Define new enum members, M_LCA_AB and M_DLCA_AB.
-
-2003-11-14 Nick Clifton <nickc@redhat.com>
-
- * dis-asm.h (struct disassemble_info): Add new field
- 'symbol_is_valid' which is a function which can tell the
- disassembler to skip certain symbols as they should not be
- displayed to the user.
- (arm_symbol_is_valid): New prototype. This is the ARM
- specific function for the symbol_is_valid field.
- (generic_symbol_is_valid): New prototype. This is the default
- function pointed to by the symbol_is_valid field.
-
-2003-11-06 Bruno Rohee <bruno@rohee.com>
-
- * hp-symtab.h: Fix "the the" typo.
-
-2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * bfdlink.h (bfd_elf_version_expr): Add "symbol" and remove
- "wildcard".
-
2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
* obstack.h: Merge the following change from gnulib:
@@ -60,23 +38,6 @@
definiens of the fast variant; that way, we'll be more likely to
catch future bugs in the fast variants.
-2003-10-22 Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (struct bfd_elf_version_expr): Remove match field.
- Add wildcard and mask fields.
- (BFD_ELF_VERSION_C_TYPE): Define.
- (BFD_ELF_VERSION_CXX_TYPE): Likewise.
- (BFD_ELF_VERSION_JAVA_TYPE): Likewise.
- (struct bfd_elf_version_expr_head): New.
- (struct bfd_elf_version_tree): Add match field.
- Change type of globals and locals fields
- to struct bfd_elf_version_expr_head.
-
-2003-10-14 Bob Wilson <bob.wilson@acm.org>
-
- * elf/xtensa.h: Formatting. Fix comments about property section
- names for linkonce sections.
-
2003-09-22 Andrew Cagney <cagney@redhat.com>
* floatformat.h (struct floatformat): Add field "is_valid".
@@ -94,27 +55,6 @@
* floatformat.h (floatformat_is_valid): Add prototype.
-2003-08-27 Andrew Cagney <cagney@redhat.com>
-
- * dis-asm.h (init_disassemble_info): Declare.
- (INIT_DISASSEMBLE_INFO): Redefine as a call to
- init_disassemble_info.
- (INIT_DISASSEMBLE_INFO_NO_ARCH): Ditto.
-
-2003-08-20 Nick Clifton <nickc@redhat.com>
-
- * bfdlink.h (enum report_method): New enum. Describes how to
- report something.
- (struct bfd_link_info): Delete fields 'no_undefined' and
- 'allow_shlib_undefined'. Replace with
- 'unresolved_symbols_in_objects' and
- 'unresolved_symbols_in_shared_libs'.
-
-2003-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h: Remove PARAMS macro. Replace PTR with void *.
- * dis-asm.h: Likewise.
-
2003-07-09 Bob Wilson <bob.wilson@acm.org>
* xtensa-config.h: Undef all macros before defining them.
@@ -131,15 +71,6 @@
* xtensa-config.h: New file imported from binutils.
-2003-06-30 Bob Wilson <bob.wilson@acm.org>
-
- * xtensa-config.h (XCHAL_HAVE_CONST16, XCHAL_HAVE_ABS,
- XCHAL_HAVE_ADDX, XCHAL_HAVE_L32R): Define.
-
-2003-06-25 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h: Correct spelling of "relocatable".
-
2003-06-22 Zack Weinberg <zack@codesourcery.com>
* safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC): Rename to
@@ -155,25 +86,6 @@
* ansidecl.h: Delete HAVE_LONG_DOUBLE GCC bootstrap support.
-2003-05-23 Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (struct bfd_link_info): Add execstack and noexecstack.
- * elf/common.h (PT_GNU_STACK): Define.
-
-2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
-
- * bfdlink.h (LD_DEFINITION_IN_DISCARDED_SECTION): New.
-
-2003-05-30 Ulrich Drepper <drepper@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (struct bfd_link_info): Add pie and executable
- bits.
-
-2003-05-21 Nick Clifton <nickc@redhat.com>
-
- * bfdlink.h (struct bfd_link_hash_table): Fix typo in comment.
-
2003-05-15 Jim Blandy <jimb@redhat.com>
* libiberty.h (hex_value): Make the value an unsigned int, to
@@ -181,43 +93,11 @@
than int --- like bfd_vma, on some platforms.
(_hex_value): Update declaration.
-2003-05-09 Alan Modra <amodra@bigpond.net.au>
-
- * xtensa-isa-internal.h (xtensa_isa_module_struct): Remove const on
- gen_num_opcodes_fn return type.
-
2003-05-07 Jason Merrill <jason@redhat.com>
* hashtab.h (iterative_hash): Prototype.
(iterative_hash_object): New macro.
-2003-04-28 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_info): Add relax_finalizing.
-
-2003-04-23 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_callbacks): Add error_handler.
-
-2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff/tic4x.h: Namespace cleanup. Replace s/c4x/tic4x
- and s/c3x/tic3x/
- * coff/tc-tic4x.h: Ditto
- * opcode/tic4x.h: Ditto
-
-2003-04-02 Bob Wilson <bob.wilson@acm.org>
-
- * xtensa-config.h: Remove comment indicating that this is a
- generated file.
-
-2003-04-01 Bob Wilson <bob.wilson@acm.org>
-
- * dis-asm.h (print_insn_xtensa): Declare.
- * xtensa-config.h: New file.
- * xtensa-isa-internal.h: Likewise.
- * xtensa-isa.h: Likewise.
-
2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF,
@@ -242,10 +122,6 @@
* libiberty.h (lrealpath): Add declaration.
-2003-01-31 Grant Grundler <grundler@dsl2.external.hp.com>
-
- * hppa.h (ldwa, ldda): Add ordered opcodes.
-
2003-01-26 Daniel Jacobowitz <drow@mvista.com>
* hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types.
@@ -253,15 +129,6 @@
(htab_create_alloc_ex): New prototype.
(htab_set_functions_ex): New prototype.
-2003-01-25 Jakub Jelinek <jakub@redhat.com>
-
- * elf/sparc.h: Add TLS relocs. Move R_SPARC_REV32 to 252.
-
-2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug
- * coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros
-
2002-07-17 Geoffrey Keating <geoffk@redhat.com>
* splay-tree.h (GTY): Define if undefined.
@@ -270,31 +137,6 @@
(struct splay_tree_s): Likewise. Make allocate_data a PTR,
not a void *.
-2002-01-02 Ben Elliston <bje@redhat.com>
-
- * dis-asm.h (print_insn_iq2000): Declare.
-
-2002-12-24 Dmitry Diky <diwil@mail.ru>
-
- * dis-asm.h: Add msp430 disassembler prototype.
-
-2002-12-27 Chris Demetriou <cgd@broadcom.com>
-
- * dis-asm.h (print_mips_disassembler_options): Prototype.
-
-2002-12-23 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h (struct bfd_link_info): Add "strip_discarded".
-
-2002-12-20 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h (struct bfd_link_info): Replace bfd_boolean fields with
- bit-fields. Rearrange to put all like types together.
-
-2002-11-30 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h: Replace boolean with bfd_boolean. Formatting.
-
2002-11-23 Simon Burge <simonb@wasabisystems.com>
* libiberty.h (basename): Add NetBSD to the list.
@@ -303,17 +145,6 @@
* libiberty.h (make_relative_prefix): Add prototype.
-2002-11-16 Klee Dienes <kdienes@apple.com>
-
- * opcode/m88k.h (INSTAB): Remove 'next' field.
- (instruction): Remove definition; replace with extern declaration
- and mark as const.
-
-2002-11-14 Egor Duda <deo@logos-m.ru>
-
- * bfdlink.h (struct bfd_link_info): Add new boolean
- field pei386_runtime_pseudo_reloc.
-
2002-10-26 Roger Sayle <roger@eyesopen.com>
* partition.h: Close the extern "C" scope when compiling with C++.
@@ -334,70 +165,11 @@
* getopt.h: getopt is in unistd.h (based on SUSv2).
-2002-09-26 Jakub Jelinek <jakub@redhat.com>
-
- * elf/x86-64.h: Add TLS relocs.
-
-2002-09-26 Andrew Cagney <ac131313@redhat.com>
-
- * regs/: Delete directory.
-
2002-09-19 Alexandre Oliva <aoliva@redhat.com>
* libiberty.h (asprintf, vasprintf): Don't declare them if the
corresponding HAVE_DECL_ macro is 1.
-2002-09-19 Jakub Jelinek <jakub@redhat.com>
-
- * elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE):
- Define.
-
-2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * dis-asm.h: Remove (errant) trailing semicolon (;) from the
- extern "C" { } declaration.
-
-2002-09-04 Nick Clifton <nickc@redhat.com>
-
- * dis-asm.h (print_ppc_disassembler_options): Prototype.
-
-2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * coff/internal.h: Add new relocation types.
- * coff/ti.h: Add file-header flags for tic4x code.
- * dis-asm.h: Add standard disassembler for tic4x.
- * opcode/tic4x.h: New file.
- * coff/tic4x.h: New file
-
-2002-08-07 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_info): Add allow_undefined_version.
- (bfd_elf_version_expr): Add symver and script.
-
-2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
-
- * bfdlink.h (bfd_link_common_skip_ar_symbols): New enum.
- (struct bfd_link_info): Add new field 'common_skip_ar_symbols'.
-
-2002-07-25 Richard Sandiford <rsandifo@redhat.com>
-
- * opcode/mips.h (CPU_R2000): Remove.
-
-2002-07-19 Denis Chertykov <denisc@overta.ru>
- Matthew Green <mrg@redhat.com>
-
- * dis-asm.h (print_insn_ip2k): Declare.
-
-2002-07-10 Jakub Jelinek <jakub@redhat.com>
-
- * elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED,
- DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define.
-
-2002-07-01 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h (struct bfd_sym_chain): Declare.
- (struct bfd_link_info): Add gc_sym_list. Formatting fixes.
-
2002-06-25 Alan Modra <amodra@bigpond.net.au>
* demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>.
@@ -412,22 +184,6 @@
* libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME.
* getopt.h (getopt): Don't declare if HAVE_DECL_GETOPT.
-2002-06-18 Dave Brolley <brolley@redhat.com>
-
- From Catherine Moore:
- * dis-asm.h (print_insn_frv): New prototype.
-
-2002-06-09 Andrew Cagney <cagney@redhat.com>
-
- * remote-sim.h: Move to directory gdb/.
- * callback.h: Move to directory gdb/.
-
-2002-06-07 Charles Wilson <cwilson@ece.gatech.edu>
-
- * bfdlink.h (struct bfd_link_info): Change type of
- pei386_auto_import field to int so that -1 can mean enabled by
- default and 1 can mean enabled by command line switch.
-
2002-06-06 DJ Delorie <dj@redhat.com>
* hashtab.h (htab): Rearrange new members for backward
@@ -455,33 +211,6 @@
(htab_create): Replace with #define.
(htab_try_create): Delete.
-2002-05-31 Michal Ludvig <mludvig@suse.cz>
-
- * elf/dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed
- to DW_CFA_lo_user, DW_CFA_hi_user respectively.
-
-2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
-
- * dis-asm.h: Prototype print_insn_dlx.
-
-2002-05-23 Andrew Cagney <ac131313@redhat.com>
-
- * sim-d10v.h: Delete file. Moved to include/gdb/.
-
-2002-05-23 Jakub Jelinek <jakub@redhat.com>
-
- * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
- * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
- * elf/i386.h: Add TLS relocs.
-
-2002-05-21 H.J. Lu (hjl@gnu.org)
-
- * bfdlink.h (bfd_link_info): Add allow_multiple_definition.
-
-2002-05-17 J"orn Rennecke <joern.rennecke@superh.com>
-
- * dis-asm.h (print_insn_shl, print_insn_sh64l): Remove prototype.
-
2002-04-16 David S. Miller <davem@redhat.com>
* xregex2.h (__restrict_arr): Define to __restrict on GCC
@@ -491,15 +220,11 @@
* dyn-string.h: Also allow IN_GLIBCPP_V3 to redefine names.
-2002-03-10 Daniel Jacobowitz <drow@mvista.com>
-
- * gdb: New directory.
-
2002-03-06 Andrew Cagney <ac131313@redhat.com>
* floatformat.h (floatformat_arm_ext): Delete declaration.
-2002-02-21 Jim Blandy <jimb@redhat.com>
+2002-02-22 Jim Blandy <jimb@redhat.com>
Allow the user to specify functions for allocating memory for
splay tree roots and nodes.
@@ -509,25 +234,6 @@
`allocate_data'.
(splay_tree_new_with_allocator): New function declaration.
-2002-02-15 Alan Modra <amodra@bigpond.net.au>
-
- Support arbitrary length fill patterns.
- * bfdlink.h (enum bfd_link_order_type): Remove bfd_fill_link_order.
- (struct bfd_link_order): Remove fill. Add data.size.
-
-2002-02-08 Alexandre Oliva <aoliva@redhat.com>
-
- Contribute sh64-elf.
- 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com>
- * dis-asm.h (print_insn_sh64): New prototype.
- (print_insn_sh64l): New prototype.
- (print_insn_sh64x_media): New prototype.
-
-2002-02-05 Frank Ch. Eigler <fche@redhat.com>
-
- * dis-asm.h (disassemble_info): New field `insn_sets'.
- (INIT_DISASSEMBLE_INFO): Clear it.
-
2002-02-05 Jason Merrill <jason@redhat.com>
* demangle.h (cplus_demangle_v3): Add "options" parm.
@@ -539,48 +245,15 @@
* demangle.h (cplus_demangle_v3_type): New prototype.
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * dis-asm.h : Add support for or32 targets
-
2002-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* libiberty.h (C_alloca): Add ATTRIBUTE_MALLOC.
-2002-01-27 David O'Brien <obrien@FreeBSD.org>
-
- * cgen.h (BFD_VERSION): Use BFD_VERSION_DATE instead.
-
-2001-12-14 Nick Clifton <nickc@cambridge.redhat.com>
-
- * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise the
- disassembler_options field (to NULL).
-
-2001-12-13 Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field.
-
-2001-12-07 Geoffrey Keating <geoffk@redhat.com>
-
- * dis-asm.h (print_insn_xstormy16): Declare.
-
2001-12-06 Richard Henderson <rth@redhat.com>
* demangle.h (no_demangling): New.
(NO_DEMANGLING_STYLE_STRING): New.
-2001-11-14 Alan Modra <amodra@bigpond.net.au>
-
- * dis-asm.h (print_insn_i386): Declare.
-
-2001-11-11 Timothy Wall <twall@alum.mit.edu>
-
- * dis-asm.h: Fix comment to refer to octets rather than bytes.
-
-2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * dis-asm.h (print_insn_mmix): Add prototype.
-
2001-10-24 Neil Booth <neil@daikokuya.demon.co.uk>
* safe-ctype.h (_sch_isbasic, IS_ISOBASIC): New.
@@ -592,19 +265,11 @@
* libiberty.h (_hex_value): Const-ify.
(hex_init): Delete.
-2001-10-16 Christopher Faylor <cgf@redhat.com>
-
- * filenames.h: Add cygwin to the list of dosish style path systems.
-
2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* demangle.h (demangler_engine): Const-ify.
* libiberty.h (buildargv): Likewise.
-2001-10-03 Vassili Karpov <malc@pulsesoft.com>
-
- * bfdlink.h (struct bfd_link_info): Add nocopyreloc field.
-
2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* libiberty.h (reconcat): New function.
@@ -634,24 +299,6 @@
* ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.
-2001-08-25 Nick Clifton <nickc@cambridge.redhat.com>
-
- * bfdlink.h (struct bfd_link_info): Change 'spare_dynamic_tags' to
- unsigned to remove a compile time warning message.
-
-2001-08-24 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_hash_table_type): New. The linker hash
- table type, bfd_link_generic_hash_table and
- bfd_link_elf_hash_table.
- (bfd_link_hash_table): Add a new field, type, for the linker
- hash table type.
-
-2001-08-23 Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (struct bfd_link_info): Add combreloc and
- spare_dynamic_tags fields.
-
2001-08-23 Lars Brinkhoff <lars@nocrew.org>
* dyn-string.h, fibheap.h, partition.h, sort.h, splay-tree.h:
@@ -662,10 +309,6 @@
* fibheap.h: Tidy formatting.
(fibnode_t): Limit degree to 31 bits to avoid warning.
-2001-08-20 Daniel Berlin <dan@cgsoftware.com>
-
- * fibheap.h: New file. Fibonacci heap.
-
2001-08-20 Andrew Cagney <ac131313@redhat.com>
* floatformat.h (floatformat_arm_ext): Document as deprecated.
@@ -674,6 +317,10 @@
(floatformat_ia64_spill_big, floatformat_ia64_quad_big)
(floatformat_m88110_harris_ext): Declare.
+2001-08-20 Daniel Berlin <dan@cgsoftware.com>
+
+ * fibheap.h: New file. Fibonacci heap.
+
2001-08-18 Zack Weinberg <zackw@panix.com>
* ansidecl.h: Reorganize for readability, remove documentation
@@ -696,11 +343,6 @@
(re_comp): Define to xre_comp.
(re_exec): Define to xre_exec.
-2001-08-02 Charles Wilson <cwilson@ece.gatech.edu>
-
- * bfdlink.h (struct bfd_link_info): add new boolean
- field pei386_auto_import.
-
2001-07-18 Andreas Jaeger <aj@suse.de>
* xregex2.h: Place under LGPL version 2.1.
@@ -710,10 +352,6 @@
* xregex.h: New file to support libiberty regex.
* xregex2.h: Ditto.
-2001-06-15 Hans-Peter Nilsson <hp@axis.com>
-
- * bfdlink.h (struct bfd_link_info): New member export_dynamic.
-
2001-05-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
* partition.h: Fix misspelling of `implementation'.
@@ -733,18 +371,10 @@
* splay-tree.h (splay_tree_max): New function.
(splay_tree_min): Likewise.
-2001-04-27 Johan Rydberg <jrydberg@opencores.org>
-
- * dis-asm.h (print_insn_openrisc): Add prototype.
-
2001-04-15 Daniel Berlin <dan@cgsoftware.com>
* ternary.h: New file - Ternary search tree header.
-2001-04-13 Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (bfd_link_discard): Add discard_sec_merge.
-
2001-04-03 Zack Weinberg <zackw@stanford.edu>
* ansidecl.h: All logic from gcc/gansidecl.h moved here.
@@ -786,46 +416,17 @@
* safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc
compatibility.
-2001-02-18 lars brinkhoff <lars@nocrew.org>
-
- * dis-asm.h: Add PDP-11 target.
-
-2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * dis-asm.h: Add linux target for S/390.
-
-2001-01-11 Peter Targett <peter.targett@arccores.com>
-
- * dis-asm.h (arc_get_disassembler): Correct declaration.
-
-2001-01-09 Philip Blundell <philb@gnu.org>
-
- * bin-bugs.h (REPORT_BUGS_TO): Set to `bug-binutils@gnu.org'.
-
2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
* COPYING: Update to current
ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
to 19yy as example year in copyright notice).
-2000-12-19 Hans-Peter Nilsson <hp@bitrange.com>
-
- * dis-asm.h (struct disassemble_info): New member "section".
- (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize private_data member.
- Initialize section member.
-
2000-12-16 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
* safe-ctype.h: Make code work on all targets and not just on
targets where a char is 8 bits.
-2000-12-10 Fred Fish <fnf@be.com>
-
- * bfdlink.h (struct bfd_link_info): Add new allow_shlib_undefined
- member to struct for systems where it is normal to have undefined
- symbols in shared libraries at runtime and the runtime linker
- takes care of redirecting them.
-
2000-12-07 Zack Weinberg <zack@wolery.stanford.edu>
* safe-ctype.h: New file.
@@ -856,19 +457,10 @@
* hashtab.h: Change void * to PTR where necessary.
-2000-10-11 Mark Mitchell <mark@codesourcery.com>
+2000-09-10 Mark Mitchell <mark@codesourcery.com>
* splay-tree.h (splay_tree_predecessor): Declare.
-2000-09-29 Hans-Peter Nilsson <hp@axis.com>
-
- * dis-asm.h: Declare cris_get_disassembler, not print_insn_cris.
- Fix typo in comment.
-
-2000-09-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * alloca-conf.h: New file (copied from libiberty).
-
2000-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
* md5.h (md5_uint32): Choose via INT_MAX instead of UINT_MAX.
@@ -886,31 +478,6 @@
* libiberty.h (ARRAY_SIZE): New macro.
-2000-07-29 Nick Clifton <nickc@cygnus.com>
-
- * os9k.h: Add copyright notice.
- Fix formatting.
-
-2000-07-22 Jason Eckhardt <jle@cygnus.com>
-
- * dis-asm.h (print_insn_i860): Add prototype.
-
-2000-07-20 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_info): Add new_dtags.
-
-2000-07-20 Hans-Peter Nilsson <hp@axis.com>
-
- * dis-asm.h (print_insn_cris): Declare.
-
-2000-07-19 H.J. Lu (hjl@gnu.org)
-
- * bfdlink.h (bfd_link_info): Add flags and flags_1.
-
-2000-06-05 DJ Delorie <dj@redhat.com>
-
- * MAINTAINERS: new
-
2000-06-21 Alex Samuel <samuel@codesourcery.com>
* dyn-string.h (dyn_string_init, dyn_string_new,
@@ -926,16 +493,6 @@
dyn_string_append_char, dyn_string_substring): Change return type
to int.
-2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
-
- * dis-asm.h (print_insn_m68hc12): Define.
- (print_insn_m68hc11): Likewise.
-
-2000-06-18 Nick Clifton <nickc@redhat.com>
-
- * os9k.h: Change values of MODSYNC and CRCCON due to bug report
- from Russ Magee <rmagee@home.com>.
-
2000-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* demangle.h (demangling_styles): Remove trailing comma in enum.
@@ -958,27 +515,12 @@ Tue May 30 16:53:34 2000 Andrew Cagney <cagney@b1.cygnus.com>
* floatformat.h (struct floatformat): Add field name.
-2000-05-26 Eli Zaretskii <eliz@is.elta.co.il>
-
- * filenames.h: New file.
- (HAVE_DOS_BASED_FILE_SYSTEM, IS_DIR_SEPARATOR)
- (IS_ABSOLUTE_PATH, FILENAME_CMP): New macros.
-
2000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* getopt.h (getopt): Also check HAVE_DECL_* when prototyping.
* libiberty.h (basename): Likewise.
-2000-05-17 S. Bharadwaj Yadavalli <sby@scrugs.lkg.dec.com>
- Rick Gorton <gorton@scrugs.lkg.dec.com>
-
- * bfdlink.h (struct bfd_link_info): Add emitrelocations flag.
-
-2000-05-08 Alan Modra <alan@linuxcare.com.au>
-
- * dis-asm.h (print_insn_tic54x): Declare.
-
2000-05-06 Zack Weinberg <zack@wolery.cumb.org>
* ansidecl.h: #define __extension__ to nothing if
@@ -1013,11 +555,6 @@ Thu May 4 17:15:26 2000 Philippe De Muyter <phdm@macqel.be>
* sort.h: New file.
-Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
- David Mosberger <davidm@hpl.hp.com>
-
- * dis-asm.h (print_insn_ia64): Declare.
-
Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* hashtab.h (enum insert_option): New type.
@@ -1032,24 +569,12 @@ Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* splay-tree.h (splay_tree_remove): Declare.
-2000-04-04 Alan Modra <alan@linuxcare.com.au>
-
- * bin-bugs.h (REPORT_BUGS_TO): Remove translated part.
-
-2000-04-03 Alan Modra <alan@linuxcare.com.au>
-
- * bin-bugs.h: New file.
-
2000-03-30 Mark Mitchell <mark@codesourcery.com>
* hashtab.h (hashval_t): New type.
(htab_find_with_hash): Use it as an argument.
(htab_find_slot_with_hash): Likewise.
-2000-03-27 Denis Chertykov <denisc@overta.ru>
-
- * dis-asm.h (print_insn_avr): Declare.
-
2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk>
* hashtab.h (htab_trav): Modify type so that first arg is of type
@@ -1077,1657 +602,13 @@ Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
(hash_table_entry_t): Discard; just use void * for element
type.
-2000-03-01 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_callbacks): Add a boolean arg to
- the undefined_symbol callback.
-
-2000-02-23 Linas Vepstas <linas@linas.org>
-
- * dis-asm.h (print_insn_i370): Declare.
-
-Tue Feb 22 15:19:54 2000 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_trace): Document return values.
- (sim_set_trace): Declare. Deprecate.
-
-2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * dis-asm.h (struct disassemble_info): Change `length' param of
- read_memory_func to unsigned. Change type of `buffer_length' and
- `octets_per_byte' to unsigned.
- (buffer_read_memory): Change `length' param to unsigned.
-
-2000-02-16 Nick Clifton <nickc@cygnus.com>
-
- * dis-asm.h: Add prototypes for ARM register name functions.
-
-Wed Feb 9 18:45:49 2000 Andrew Cagney <cagney@b1.cygnus.com>
-
- * wait.h: Delete. No longer used by GDB.
-
-Tue Feb 8 17:01:13 2000 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_resume): Clarify use of SIGGNAL.
- (sim_stop_reason): Clarify meaning of sim_signalled.
-
-2000-02-03 Timothy Wall <twall@redhat.com>
-
- * dis-asm.h (struct disassemble_info): Added octets_per_byte
- field and initialize it to one (1).
-
-2000-01-27 Nick Clifton <nickc@redhat.com>
-
- * dis-asm.h: Add prototype for disassembler_usage().
- Add prototype for arm_disassembler_options().
- Remove prototype for arm_toggle_regnames().
- Add prototype for parse_arm_disassembler_option().
-
Sat Jan 1 19:06:52 2000 Hans-Peter Nilsson <hp@bitrange.com>
* symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s"
to stringify argument s.
-Wed Dec 15 11:22:56 1999 Jeffrey A Law (law@cygnus.com)
-
- * hp-symtab.h (HP_LANGUAGE_FORTRAN): New enumeration constant.
- (HP_LANGUAGE_F77): Define using HP_LANGUAGE_FORTRAN.
-
-1999-12-15 Doug Evans <dje@transmeta.com>
-
- * dis-asm.h: Enclose in extern "C" ifdef __cplusplus.
-
-1999-12-05 Mark Mitchell <mark@codesourcery.com>
-
- * splay-tree.h (struct splay_tree_node): Rename to ...
- (struct splay_tree_node_s): ... this.
- (struct splay_tree): Rename to ...
- (struct splay_tree_s): ... this.
-
-1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * ansidecl.h (ATTRIBUTE_MALLOC): New macro.
-
- * libiberty.h (buildargv, dupargv, concat, choose_temp_base,
- make_temp_file, xmalloc, xcalloc, xstrdup, xmemdup): Add
- ATTRIBUTE_MALLOC.
- (xatexit): Remove __GNUC__ check, add ATTRIBUTE_NORETURN.
-
-1999-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * libiberty.h: Include stdarg.h when ANSI_PROTOTYPES is defined.
- (asprintf, vasprintf): Provide declarations.
-
-Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be>
- Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * ansidecl.h: Define and test `GCC_VERSION', not `HAVE_GCC_VERSION'.
-
-1999-11-04 Jimmy Guo <guo@cup.hp.com>
-
- * hp-symtab.h (dntt_type_fparam): Add doc_ranges, misc_kind
- fields, change location type to CORE_ADDR from int.
- (dntt_type_const): Name the 5th field location_type.
-
-Sun Oct 24 19:11:32 1999 Andrew Cagney <cagney@b1.cygnus.com>
-
- * sim-d10v.h (SIM_D10V_TS2_DMAP_REGNUM): Define.
-
-1999-10-23 08:51 -0700 Zack Weinberg <zack@bitmover.com>
-
- * hashtab.h: Give hash_table_t a struct tag. Add prototypes
- for clear_hash_table_slot and traverse_hash_table. Correct
- prototype of all_hash_table_collisions.
-
-Sat Oct 23 19:00:13 1999 Andrew Cagney <cagney@b1.cygnus.com>
-
- * sim-d10v.h: New file.
-
-Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com>
-
- * hashtab.h: New file.
-
-1999-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * ansidecl.h (HAVE_GCC_VERSION): New macro. Use it instead of
- explicitly testing __GNUC__ and __GNUC_MINOR__.
-
- (ATTRIBUTE_PRINTF): Use `__format__', not `format'.
-
-1999-09-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * libiberty.h (make_temp_file): Add a prototype.
-
-Tue Sep 14 00:35:02 1999 Marc Espie <espie@cvs.openbsd.org>
-
- * libiberty.h (basename): OpenBSD has a correct prototype.
- (xrealloc): Remove outdated comment.
-
-1999-09-07 Jeff Garzik <jgarzik@pobox.com>
-
- * libiberty.h (xmemdup): Add prototype for new function.
-
-1999-09-04 Steve Chamberlain <sac@pobox.com>
-
- * dis-asm.h (print_insn_pj): Declare.
-
-1999-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * obstack.h (obstack_grow, obstack_grow0): Move (char*) casts
- in calls to `_obstack_memcpy' from here ...
-
- (_obstack_memcpy): ... to here, except in the __STDC__ case which
- doesn't need it.
-
-1999-08-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * libiberty.h (getpwd): Prototype.
-
-1999-08-01 Mark Mitchell <mark@codesourcery.com>
-
- * splay-tree.h (splay_tree_insert): Return the new node.
-
-1999-07-11 Ian Lance Taylor <ian@zembu.com>
-
- * ansidecl.h: Copy attribute support macros from egcs.
-
-1999-06-22 Mark Mitchell <mark@codesourcery.com>
-
- * bfdlink.h (struct bfd_link_hash_entry): Add init_function and
- fini_function.
-
-1999-06-20 Mark Mitchell <mark@codesourcery.com>
-
- * mips.h (Elf32_Internal_Msym): New structure.
- (Elf32_External_Msym): Likewise.
- (ELF32_MS_REL_INDEX): New macro.
- (ELF32_MS_FLAGS): Likewise.
- (ELF32_MS_INFO): Likewise.
-
-1999-06-14 Nick Clifton <nickc@cygnus.com>
-
- * dis-asm.h (arm_toggle_regnames): New prototype.
- (struct diassemble_info): New field: disassembler_options.
-
-1999-04-11 Richard Henderson <rth@cygnus.com>
-
- * bfdlink.h (bfd_elf_version_expr): Rename `match' to `pattern'.
- Add `match' callback function.
-
-1999-04-10 Richard Henderson <rth@cygnus.com>
-
- * bfdlink.h (bfd_link_info): Add no_undefined.
-
-1999-04-08 Nick Clifton <nickc@cygnus.com>
-
- * dis-asm.h: Add prototype for print_insn_mcore.
-
-1999-04-02 Mark Mitchell <mark@codesourcery.com>
-
- * splay-tree.h (splay_tree_compare_pointers): Declare.
-
-1999-03-30 Mark Mitchell <mark@codesourcery.com>
-
- * splay-tree.h (splay_tree_compare_ints): Declare.
-
-Wed Mar 24 12:46:29 1999 Andrew Cagney <cagney@amy.cygnus.com>
-
- * libiberty.h (basename): Cygwin{,32} should have the prototype.
-
-1999-02-22 Jim Lemke <jlemke@cygnus.com>
-
- * bfdlink.h (bfd_link_info): add field "mpc860c0".
-
-Mon Feb 1 21:05:46 1999 Catherine Moore <clm@cygnus.com>
-
- * dis-asm.h (print_insn_i386_att): Declare.
- (print_insn_i386_intel): Declare.
-
-1998-12-30 Michael Meissner <meissner@cygnus.com>
-
- * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Cast STREAM and
- FPRINTF_FUNC to avoid compiler warnings.
-
-Wed Dec 30 16:07:14 1998 David Taylor <taylor@texas.cygnus.com>
-
- * dis-asm.h: change void * to PTR (two places).
-
-Mon Dec 14 09:53:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * demangle.h: Don't check IN_GCC anymore.
- * splay-tree.h: Likewise.
-
-Tue Dec 8 00:30:31 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
-
- The following changes were made by Elena Zannoni
- <ezannoni@kwikemart.cygnus.com> and Edith Epstein
- <eepstein@sophia.cygnus.com> as part of a project to merge in
- changes made by HP; HP did not create ChangeLog entries.
-
- * dis-asm.h (struct disassemble_info): change the type of stream
- from FILE* to void*, for use with gdb's new type GDB_FILE.
- (fprintf_ftype): change FILE* parameter type to void*.
-
- * demangle.h: (DMGL_EDG): new macro for Kuck and Associates
- (DMGL_STYLE_MASK): modify to include Kuck and Assoc style
- (demangling_styles): add new edg_demangling style
- (EDG_DEMANGLING_STYLE_STRING): new macro
- (EDG_DEMANGLING): new macro
- (DMGL_HP): new macro, for HP/aCC compiler.
- (DMGL_STYLE_MASK): modify to include new HP's style.
- (demangling_styles): add new hp_demangling value.
- (HP_DEMANGLING_STYLE_STRING): new macro.
- (ARM_DEMANGLING): coerce to int.
- (HP_DEMANGLING): new macro.
-
- * hp-symtab.h: rewritten, from HP.
- (quick_procedure): change type of language field to unsigned int
- (quick_module): change type of language field to unsigned int
- (struct dntt_type_svar): add field thread_specific.
- (hp_language): add languages modcal and dmpascal.
-
-Fri Nov 20 13:14:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
-
- * libiberty.h (basename): Add prototype for FreeBSD.
-
-Fri Nov 13 19:19:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * libiberty.h: Prototype xcalloc.
-
-Sun Nov 8 17:42:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * ansidecl.h: Wrap problematic macros with !IN_GCC.
-
- * demangle.h: Never define PARAMS().
- * splay-tree.h: Likewise.
-
-Sat Nov 7 18:30:20 1998 Peter Schauer <peter.schauer@regent.e-technik.tu-muenchen.de>
-
- * dis-asm.h (print_insn_vax): Declare.
-
-Sat Nov 7 16:04:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * demangle.h: Don't include gansidecl.h.
- * splay-tree.h: Likewise.
-
-1998-10-26 16:03 Ulrich Drepper <drepper@cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Add new field optimize.
-
-Thu Oct 22 19:58:00 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * splay-tree.h: Wrap function pointer parameter declarations in
- PARAMS() macro.
-
-1998-10-21 Mark Mitchell <mark@markmitchell.com>
-
- * splay-tree.h: New file.
-
-Fri Oct 9 00:02:03 1998 Jeffrey A Law (law@cygnus.com)
-
- * Merge devo and egcs include directories.
-
-Sat Sep 5 12:16:33 1998 Jeffrey A Law (law@cygnus.com)
-
- * getopt.h, obstack.h: Updated from gcc.
-
-1998-08-03 Jason Molenda (jsm@bugshack.cygnus.com)
-
- * libiberty.h (xexit): Change decl to use modern GCC attribute
- to indicate exit does not return.
-
-Mon Jun 1 13:48:32 1998 Jason Molenda (crash@bugshack.cygnus.com)
-
- * obstack.h: Update to latest FSF version.
-
-Tue Feb 24 13:05:02 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * dis-asm.h (disassemble_info): Member `symbol' renamed to `symbols'
- and made an "asymbol **". New member num_symbols.
- (INIT_DISASSEMBLE_INFO_NO_ARCH): Update.
-
-Tue Feb 17 12:32:18 1998 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_fetch_register, sim_store_register): Add
- register length parameter. Functions return actual length of
- register.
-
-Thu Feb 12 16:29:01 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * getopt.h: Update to latest FSF version.
-
-Wed Feb 11 16:56:06 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * symcat.h: New file.
-
-Mon Feb 2 17:13:31 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
-
- * dis-asm.h (print_insn_tic30): Declare.
-
-Thu Jan 22 16:23:59 1998 Fred Fish <fnf@cygnus.com>
-
- * dis-asm.h: Add flag INSN_HAS_RELOC to tell disassembly
- function there is a reloc on this line.
-
-Mon Dec 8 11:22:23 1997 Nick Clifton <nickc@cygnus.com>
-
- * dis-asm.h: Remove prototype of disasm_symaddr() as this function
- no longer exists.
-
-Tue Dec 2 10:20:53 1997 Nick Clifton <nickc@cygnus.com>
-
- * dis-asm.h (disasm_symaddr): New prototype.
-
-Mon Dec 1 11:29:35 1997 Doug Evans <devans@canuck.cygnus.com>
-
- * callback.h (CB_SYSCALL): Comment out arg names in prototypes.
-
-Wed Nov 26 16:47:58 1997 Michael Meissner <meissner@cygnus.com>
-
- * callback.h (CB_SYSCALL): Consistantly use names for prototype
- arguments.
-
-Wed Nov 26 11:39:30 1997 Doug Evans <devans@canuck.cygnus.com>
-
- * callback.h (CB_SYSCALL): Change byte count arguments to
- {read,write}_mem to `int'. New member `magic'.
- (CB_SYSCALL_MAGIC,CB_SYSCALL_INIT): New macros.
-
-Tue Nov 25 01:35:52 1997 Doug Evans <devans@seba.cygnus.com>
-
- * callback.h (struct stat): Move forward decl up.
- (host_callback): Pass stat struct pointer to stat,fstat.
- (CB_SYS_nnn): Reorganize.
- (CB_SYSCALL): New members p1,p2.
- (cb_host_to_target_stat): Delete fourth arg.
-
-Sat Nov 22 23:34:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_stop_reason): Clarify sim_signalled SIGRC
- argument.
-
-Mon Nov 17 14:00:51 1997 Doug Evans <devans@seba.cygnus.com>
-
- * callback.h (CB_TARGET_DEFS_MAP): Renamed from target_defs_map.
- (host_callback): Add stat, fstat, syscall_map, errno_map, open_map,
- signal_map, stat_map.
- (errn_map,open_map): Renamed to cb_init_foo_map.
- (cb_host_to_target_errno,cb_target_to_host_open): Renamed from
- host_to_target_errno,target_to_host_open.
- (cb_read_target_syscall_maps): Add prototype.
- (cb_target_to_host_syscall): Likewise.
- (cb_host_to_target_stat): Likewise.
- (cb_syscall): Likewise.
- (CB_SYS_{exit,open,close,read,write,lseek,unlink,getpid,kill,fstat,
- argvlen,argv,chdir,stat,chmod,utime,time}): Define.
- (CB_SYSCALL): New type.
- (CB_RC): New enum.
-
-Fri Nov 7 10:34:09 1997 Rob Savoye <rob@darkstar.cygnus.com>
-
- * libiberty.h: Add extern "C" { so it can be used with C++
- programs.
- * remote-sim.h: Add extern "C" { so it can be used with C++
- programs.
-
-Tue Oct 14 16:07:51 1997 Nick Clifton <nickc@cygnus.com>
-
- * dis-asm.h (struct disassemble_info): New field
- 'symbol_at_address_func'.
- (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise new field with
- generic_symbol_at_address.
-
-Mon Oct 13 10:17:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h: Clarify sim_read, sim_write MEM argument.
-
-Wed Sep 24 18:03:10 1997 Stu Grossman <grossman@babylon-5.cygnus.com>
-
- * remote-sim.h (SIM_RC): Add a bunch of new return codes for
- breakpoint stuff.
- * Add functions to tell the simulator to set/clear/enable/disable
- intrinsic breakpoints.
-
-Thu Aug 28 19:41:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * libiberty.h (dupargv): Add prototype.
-
-Tue Aug 26 12:25:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_create_inferior): Add ABFD arg. Document.
-
-Mon Aug 25 10:50:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_open): Add ABFD arg. Document.
-
-Fri Aug 8 16:43:56 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * dis-asm.h (arc_get_disassembler): Declare.
-
-Wed Jul 30 11:39:50 1997 Per Bothner <bothner@deneb.cygnus.com>
-
- * demangle.h (DMGL_JAVA): New option to request Java demangling.
-
-Tue Jul 22 17:59:54 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * libiberty.h (PEXECUTE_*): Define.
- (pexecute, pwait): Declare.
-
-Fri Jun 6 13:02:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_kill): Mark as depreciated.
-
-Fri May 23 13:43:41 1997 Fred Fish <fnf@cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Add task_link member.
-
-Thu May 22 11:32:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h: Review documentation. Clarify restrictions on
- when functions can be called.
-
-Wed May 21 16:47:53 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_set_profile_size): Add prototype, document as
- depreciated.
-
-Tue May 20 09:32:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_open): Add callback struct.
- (sim_set_callbacks): Drop SIM_DESC argument. Document.
- (sim_size): Remove recently added SIM_DESC argument. Document.
-
-Mon May 19 19:14:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h: Pass SD into sim_size.
-
-Thu May 15 01:24:16 1997 Mark Alexander <marka@cygnus.com>
-
- * obstack.h (obstack_specify_allocation_with_arg, obstack_chunkfun,
- obstack_freefun): Eliminate compile warnings in gdb.
-
-Tue Apr 22 10:24:34 1997 Fred Fish <fnf@cygnus.com>
-
- * floatformat.h (floatformat_byteorders): Add comments for previous
- formats and add floatformat_littlebyte_bigword, primarily for ARM.
- Add declaration for floatformat_ieee_double_littlebyte_bigword.
-
-Fri Apr 18 13:04:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_stop): New interface - asynchronous
- notification of a request to stop / suspend the running
- simulation.
-
- * remote-sim.h (enum sim_stop): Add sim_running and sim_polling as
- states for use internal to simulators.
-
- * callback.h (struct host_callback_strut): Put a magic number at
- the end of the struct to allow basic checking.
- (struct host_callback_struct ): Add poll_quit - so
- that the console etc can be polled at regular intervals.
-
-Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * remote-sim.h (struct _bfd): Declare.
- (sim_load): Return SIM_RC. New arg `abfd'.
- (sim_create_inferior): Return SIM_RC. Delete arg `start_address'.
-
-Wed Apr 2 17:09:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
-
- * remote-sim.h (sim_trace, sim_size): Make these global. They
- will go away shortly.
-
-Wed Apr 2 15:23:49 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * remote-sim.h (SIM_OPEN_KIND, SIM_RC): New enums.
- (sim_open): New argument `kind'.
-
-Wed Apr 2 14:45:51 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * COPYING: Update FSF address.
-
-Fri Mar 28 15:29:54 1997 Mike Meissner <meissner@cygnus.com>
-
- * callback.h (top level): Include stdarg.h or varargs.h if
- va_start is not defined.
- (host_callback_struct): Make {,e}vprintf_filtered take a va_list
- instead of void *, since va_list might be an array or structure
- type.
-
-Fri Mar 28 15:44:41 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
-
- * libiberty.h (basename): Add prototype for glibc and linux.
-
-Mon Mar 17 19:22:12 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * objalloc.h: New file.
-
-Mon Mar 17 14:57:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
-
- * remote-sim.h: New file, copied in from gdb/remote-sim.h. One
- day this will be placed in a directory of its own.
-
-Sat Mar 15 19:00:14 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * obstack.h: Update to current FSF version.
-
-Thu Mar 6 15:46:59 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
-
- * callback.h (struct host_callback_struct): Add callbacks -
- flush_stdout, write_stderr, flush_stderr, vprintf_filtered,
- evprintf_filtered. Delete redundant callbacks - printf_filtered.
-
-Thu Feb 27 23:18:27 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Remove lprefix and lprefix_len
- fields.
-
-Tue Feb 25 00:10:49 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize
- bytes_per_chunk and display_endian.
-
-Mon Feb 24 17:47:02 1997 Ian Lance Taylor <ian@cygnus.com>
-
- From Eric Youngdale <eric@andante.jic.com>:
- * bfdlink.h (struct bfd_elf_version_expr): Define.
- (struct bfd_elf_version_deps): Define.
- (struct bfd_elf_version_tree): Define.
-
-Thu Feb 6 14:20:01 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * dis-asm.h: (disassemble_info): Add new fields
- bytes_per_chunk and display_endian to control the
- display of raw instructions.
-
-Fri Dec 27 22:17:37 1996 Fred Fish <fnf@cygnus.com>
-
- * dis-asm.h (print_insn_tic80): Declare.
-
-Sun Dec 8 17:11:12 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * callback.h (host_callback): New member `error'.
-
-Wed Nov 20 00:40:23 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * callback.h: New file, moved here from gdb.
-
-Mon Nov 18 16:34:00 1996 Dawn Perchik <dawn@critters.cygnus.com>
-
- * libiberty.h: Checkin again; last checkin failed due to sticky tag.
-
-Wed Nov 13 08:22:00 1996 Dawn Perchik <dawn@critters.cygnus.com>
-
- * libiberty.h: Revert last commit due to conflicts with hpux
- system headers.
-
-Tue Nov 12 16:31:00 1996 Dawn Perchik <dawn@critters.cygnus.com>
-
- * libiberty.h: Move prototypes from argv.c here.
-
-Thu Oct 31 14:56:18 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * ansidecl.h (VPARAMS,VA_START): Define.
-
-Fri Oct 25 12:08:04 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * dis-asm.h (disassemble_info): Add bytes_per_line field.
- (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize bytes_per_line field.
-
-Thu Oct 24 17:10:01 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * dis-asm.h (disassemble_info): Add symbol field.
- (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize symbol field.
-
-Thu Oct 17 11:17:40 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * dis-asm.h (print_insn_m32r): Declare.
-
-Mon Oct 14 23:56:52 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * libiberty.h: Declare parameter types for xmalloc and xrealloc.
-
-Thu Oct 3 13:45:27 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * fnmatch.h: New file.
-
-Thu Oct 3 10:33:14 1996 Jeffrey A Law (law@cygnus.com)
-
- * dis-asm.h (print_insn_mn10x00): Delete declaration.
- (print_insn_mn10200, print_insn_mn10300): Declare.
-
-Wed Oct 2 21:24:43 1996 Jeffrey A Law (law@cygnus.com)
-
- * dis-asm.h (print_insn_mn10x00): Declare.
-
-Mon Sep 30 13:56:11 1996 Fred Fish <fnf@cygnus.com>
-
- * libiberty.h: Remove #ifndef PRIVATE_XMALLOC.
-
-Sat Aug 31 13:27:06 1996 Jeffrey A Law (law@cygnus.com)
-
- * dis-asm.h (print_insn_v850): Declare.
-
-Tue Aug 13 16:10:30 1996 Stu Grossman (grossman@critters.cygnus.com)
-
- * obstack.h: Change bcopy to memcpy. Works better on Posix
- systems, which generally lack bcopy.
-
-Mon Aug 12 17:03:18 1996 Stu Grossman (grossman@critters.cygnus.com)
-
- * ansidecl.h: Change WIN32 to _WIN32.
-
-Fri Jul 26 13:58:18 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * dis-asm.h: Add flavour field.
- (print_insn_alpha): Declare.
- (print_insn_alpha_osf, print_insn_alpha_vms): Don't declare.
- (INIT_DISASSEMBLE_INFO): Initialize flavour field.
-
-Tue Jul 23 17:37:58 1996 Fred Fish <fnf@cygnus.com>
-
- * 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.
-
-Mon Jul 22 13:16:13 1996 Richard Henderson <rth@tamu.edu>
-
- * dis-asm.h (print_insn_alpha): Don't declare.
- (print_insn_alpha_osf, print_insn_alpha_vms): Declare.
-
-Wed Jul 17 14:45:12 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * dis-asm.h: (print_insn_d10v): Declare.
-
-Mon Jul 15 16:55:38 1996 Stu Grossman (grossman@critters.cygnus.com)
-
- * dis-asm.h: Get rid of decls for print_insn_i8086,
- print_insn_sparc64 and print_insn_sparclite.
- * (INIT_DISASSEMBLE_INFO): Split into two pieces. One,
- INIT_DISASSEMBLE_INFO_NO_ARCH inits everything except for endian,
- mach, and arch.
-
-Fri Jul 12 10:19:27 1996 Stu Grossman (grossman@critters.cygnus.com)
-
- * dis-asm.h (print_insn_i8086): Declare.
-
-Wed Jul 3 16:02:39 1996 Stu Grossman (grossman@critters.cygnus.com)
-
- * dis-asm.h (print_insn_sparclite): Declare.
-
-Tue Jun 18 16:02:46 1996 Jeffrey A. Law <law@rtl.cygnus.com>
-
- * dis-asm.h (print_insn_h8300s): Declare.
-
-Tue Jun 18 15:11:33 1996 Klaus Kaempf <kkaempf@progis.de>
-
- * fopen-vms.h: New file.
-
-Tue Jun 4 18:58:16 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Add notice_all field.
-
-Fri Apr 26 10:33:12 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * demangle.h (#ifdef IN_GCC): #include "gansidecl.h".
- (PROTO,PTR,const): Delete.
-
-Mon Apr 22 17:27:42 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Add traditional_format field.
-
-Mon Apr 15 15:16:56 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * libiberty.h (choose_temp_base): Add prototype.
-
-Tue Mar 12 17:29:46 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdlink.h (bfd_wrapped_link_hash_lookup): Declare.
- (struct bfd_link_info): Add wrap_hash field.
-
-Wed Feb 14 16:49:17 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
-
- * ieee.h (ieee_record_enum_type): Define
- ieee_external_reference_info_enum.
-
-Fri Feb 2 17:09:25 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * dis-asm.h (DISASM_RAW_INSN): Delete.
-
-Tue Jan 23 09:21:47 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * dis-asm.h (INIT_DISASSEMBLE_INFO): Set endian to BFD_ENDIAN_UNKNOWN.
- New argument FPRINTF_FUNC.
-
-Mon Jan 22 16:37:59 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * dis-asm.h (disassemble_info): New members arch, mach, endian.
- (INIT_DISASSEMBLE_INFO): Initialize them.
- (DISASM_RAW_INSN{,FLAG}): Define.
-
-Thu Jan 18 11:32:38 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * demangle.h (cplus_demangle_opname): Change opname parameter to
- const char *.
- (cplus_mangle_opname): Change return type and opname parameter to
- const char *.
-
-Fri Jan 5 00:01:22 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * ieee.h (enum ieee_record): Add ieee_asn_record_enum,
- ieee_at_record_enum, ieee_ty_record_enum, ieee_atn_record_enum,
- ieee_bb_record_enum, and ieee_be_record_enum.
-
-Wed Jan 3 13:12:09 1996 Fred Fish <fnf@cygnus.com>
-
- * obstack.h: Update copyright to 1996.
- (_obstack_memory_used): Declare.
- (obstack_memory_used): Define macro.
-
-Thu Dec 28 11:42:12 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * libiberty.h (xstrdup): Declare.
-
-Thu Dec 21 14:47:17 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * wait.h: Protect all macros with #ifndef.
-
-Tue Oct 24 21:45:40 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Add static_link field.
-
-Tue Sep 12 16:28:04 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdlink.h (struct bfd_link_callbacks): Add symbol parameter to
- warning callback.
-
-Fri Sep 1 13:11:51 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdlink.h (struct bfd_link_callbacks): Change warning callback
- to take BFD, section, and address arguments.
-
-Thu Aug 31 16:45:12 1995 steve chamberlain <sac@slash.cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Remove PE stuff.
-
-Tue Aug 22 03:18:23 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
-
- * libiberty.h: Declare xstrerror. From Pat Rankin.
-
-Mon Aug 21 18:11:36 1995 steve chamberlain <sac@slash.cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Remove PE stuff.
-
-Wed Aug 2 08:14:12 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * dis-asm.h (print_insn_sparc64): Declare.
-
-Mon Jul 10 13:26:49 1995 Eric Youngdale <eric@aib.com>
-
- * bfdlink.h (struct bfd_link_info): Add new field symbolic.
-
-Sun Jul 2 17:48:40 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Change type of base_file to
- PTR.
-
-Thu Jun 29 00:02:45 1995 Steve Chamberlain <sac@slash.cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Added base_file member.
-
-Tue Jun 20 16:40:04 1995 Steve Chamberlain <sac@slash.cygnus.com>
-
- * ansidecl.h: win32s is ANSI enough.
-
-Thu May 18 04:25:50 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
-
- Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
-
- * dis-asm.h (print_insn_arm): Delete declaration.
- (print_insn_{little,big}_arm): New declarations.
-
- * floatformat.h (floatformat_arm_ext): Declare.
-
-Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
-
- * bfdlink.h (subsytem, stack_heap_parameters): New.
-
-Thu May 4 14:36:42 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * demangle.h: Don't include ansidecl.h if IN_GCC.
-
-Tue Feb 21 00:37:28 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * hp-symtab.h: Don't use bitfield enumerations, the HP C compiler
- does not handle them correctly.
-
-Thu Feb 9 14:20:27 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * libiberty.h (basename): Don't declare parameter type; some
- systems have this in their header files.
-
-Wed Feb 8 17:35:38 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdlink.h (struct bfd_link_hash_entry): Change format of common
- symbol information, to remove restrictions on maximum size and
- alignment power, by using a pointer to a structure instead.
-
-Mon Feb 6 14:55:32 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdlink.h (enum bfd_link_hash_type): Rename bfd_link_hash_weak
- to bfd_link_hash_undefweak. Add bfd_link_hash_defweak.
-
-Mon Jan 16 21:00:23 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * dis-asm.h (GDB_INIT_DISASSEMBLE_INFO, etc): Remove all
- GDB-specific definitions.
-
-Sun Jan 15 18:39:35 1995 Steve Chamberlain <sac@splat>
-
- * dis-asm.h (print_insn_w65): Declare.
-
-Thu Jan 12 17:51:17 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * libiberty.h (hex_p): Fix sense of test.
-
-Wed Jan 11 22:36:40 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * libiberty.h (_hex_array_size, _hex_bad, _hex_value, hex_init,
- hex_p, hex_value): New macros and declarations, for hex.c.
-
-Fri Jan 6 17:44:14 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * dis-asm.h: Make idempotent.
-
-Wed Dec 14 13:08:43 1994 Stan Shebs <shebs@andros.cygnus.com>
-
- * progress.h: New file, empty definitions for progress macros.
-
-Fri Nov 25 00:14:05 1994 Jeff Law (law@snake.cs.utah.edu)
-
- * hp-symtab.h: New file describing the debug symbols emitted
- by the HP C compilers.
-
-Fri Nov 11 15:48:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * bfdlink.h (struct bfd_link_hash_entry): Change u.c.size from 24
- to 26 bits, and change u.c.alignment_power from 8 to 6 bits. 6
- bit in the alignment power is enough for a 64 bit address space.
-
-Mon Oct 31 13:02:51 1994 Stan Shebs (shebs@andros.cygnus.com)
-
- * demangle.h (cplus_mangle_opname): Declare.
-
-Tue Oct 25 11:38:02 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * bfdlink.h (struct bfd_link_callbacks): Fix comments for
- multiple_common field.
-
-Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
-
- * dis-asm.h: Add support for the ARM.
-
-Wed Aug 10 12:51:41 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * libiberty.h (strsignal): Document its existence even if we
- can't declare it.
-
-Tue Aug 2 14:40:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * os9k.h: Remove u_int16, u_int32, and owner_id typedefs and
- expand their uses. Those names conflict with Mach headers.
-
-Fri Jul 22 14:17:12 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * bfdlink.h (struct bfd_link_hash_entry): Change u.c.size into a
- bitfield. Add field u.c.alignment_power.
-
-Sun Jul 10 00:26:39 1994 Ian Dall (dall@hfrd.dsto.gov.au)
-
- * dis-asm.h: Add print_insn_ns32k declaration.
-
-Mon Jun 20 17:13:29 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * bfdlink.h (bfd_link_hash_table): Make creator a const pointer.
-
-Sat Jun 18 16:09:32 1994 Stan Shebs (shebs@andros.cygnus.com)
-
- * demangle.h (cplus_demangle_opname): Declare.
-
-Thu Jun 16 15:19:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfdlink.h (struct bfd_link_info): Add new field shared.
-
-Mon Jun 6 14:39:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfdlink.h (struct bfd_link_hash_entry): Remove written field:
- not needed for all backends.
-
-Thu Apr 28 19:06:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * dis-asm.h (disassembler): Declare.
-
-Fri Apr 1 00:38:17 1994 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
-
- * obstack.h: Delete use of IN_GCC to control whether
- stddef.h or gstddef.h is included.
-
-Tue Mar 22 13:06:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfdlink.h (enum bfd_link_order_type): Add bfd_data_link_order.
- (struct bfd_link_order): Add data field to union.
-
-Mon Mar 21 18:45:26 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfdlink.h (struct bfd_link_callbacks): Change bitsize argument
- to add_to_set to reloc. Remove bitsize argument from constructor.
- Comment that reloc_overflow, reloc_dangerous and unattached_reloc
- must handle NULL pointers for reloc location.
- (enum bfd_link_order_type): Add bfd_section_reloc_link_order and
- bfd_symbol_reloc_link_order.
- (struct bfd_link_order): Add reloc field to union.
- (struct bfd_link_order_reloc): Define.
-
-Mon Mar 14 12:27:50 1994 Ian Lance Taylor (ian@cygnus.com)
-
- * ieee-float.h: Removed; no longer used.
-
-Tue Mar 1 18:10:49 1994 Kung Hsu (kung@mexican.cygnus.com)
-
- * os9k.h: os9000 target specific header file, the header of the
- object file is used now.
-
-Sun Feb 27 21:52:26 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
-
- * floatformat.h: New file, intended to replace ieee-float.h.
-
-Sun Feb 20 17:15:42 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
-
- * ansidecl.h (ANSI_PROTOTYPES): Define if using ANSI prototypes.
-
-Wed Feb 16 01:07:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * libiberty.h: Don't declare strsignal, to avoid conflicts with
- Solaris system header files.
-
-Sat Feb 12 22:11:32 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * libiberty.h (xexit): Use __volatile__ to avoid losing if
- compiling with gcc -traditional.
-
-Thu Feb 10 14:05:41 1994 Ian Lance Taylor (ian@cygnus.com)
-
- * libiberty.h: New file. Declares functions provided by
- libiberty.
-
-Tue Feb 8 05:19:52 1994 David J. Mackenzie (djm@thepub.cygnus.com)
-
- Handle obstack_chunk_alloc returning NULL. This allows
- obstacks to be used by libraries, without forcing them
- to call exit or longjmp.
- * obstack.h (struct obstack): Add alloc_failed flag.
- _obstack_begin, _obstack_begin_1): Declare to return int, not void.
- (obstack_finish): If alloc_failed, return NULL.
- (obstack_base, obstack_next_free, objstack_object_size):
- If alloc_failed, return 0.
- (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
- obstack_int_grow, obstack_blank): If alloc_failed, do nothing that
- could corrupt the obstack.
-
-Mon Jan 24 15:06:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfdlink.h (struct bfd_link_callbacks): Add name, reloc_name and
- addend argments to reloc_overflow callback.
-
-Fri Jan 21 19:13:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * dis-asm.h (print_insn_big_powerpc, print_insn_little_powerpc,
- print_insn_rs6000): Declare.
-
-Thu Jan 6 14:15:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfdlink.h (struct bfd_link_callbacks): Add bitsize argument to
- add_to_set field. Add new callback named constructor.
-
-Thu Dec 30 10:44:06 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
-
- * bfdlink.h: New file for new BFD linker backend routines.
-
-Mon Nov 29 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * dis-asm.h (enum dis_insn_tyupe): Remove non-ANSI trailing comma.
-
-Sat Oct 2 20:42:26 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * dis-asm.h: Move comment to right place.
-
-Mon Aug 9 19:03:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
-
- * obstack.h (obstack_chunkfun, obstack_freefun): Add defns from
- previous version. Are these Cygnus local changes?
-
-Fri Aug 6 17:05:47 1993 David J. Mackenzie (djm@thepub.cygnus.com)
-
- * getopt.h, obstack.h: Update to latest FSF version.
-
-Mon Aug 2 14:45:29 1993 John Gilmore (gnu@cygnus.com)
-
- * dis-asm.h: Move enum outside of struct defn to avoid warnings.
-
-Mon Aug 2 08:49:30 1993 Stu Grossman (grossman at cygnus.com)
-
- * wait.h (WEXITSTATUS, WSTOPSIG): Mask down to 8 bits. This is
- for systems that store stuff into the high 16 bits of a wait
- status.
-
-Fri Jul 30 18:38:02 1993 John Gilmore (gnu@cygnus.com)
-
- * dis-asm.h: Add new fields insn_info_valid, branch_delay_insns,
- data_size, insn_type, target, target2. These are used to return
- information from the instruction decoders back to the calling
- program. Add comments, make more readable.
-
-Mon Jul 19 22:14:14 1993 Fred Fish (fnf@deneb.cygnus.com)
-
- * nlm: New directory containing NLM/NetWare includes.
-
-Thu Jul 15 12:10:04 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * dis-asm.h (struct disassemble_info): New field application_data.
-
-Thu Jul 15 12:41:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * dis-asm.h: Added declaration of print_insn_m88k.
-
-Fri Jul 2 10:31:59 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * ansidecl.h: Use ANSI macros if __mips and _SYSTYPE_SVR4 are
- defined, since RISC/OS cc handles ANSI declarations in SVR4 mode
- but does not define __STDC__.
-
-Sun Jun 20 18:27:52 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
-
- * dis-asm.h: Don't need to include ansidecl.h any more.
-
-Fri Jun 18 03:22:10 1993 John Gilmore (gnu@cygnus.com)
-
- * oasys.h: Eliminate "int8_type", "int16_type", "int32_type", and
- their variants. These changes are coordinated with corresponding
- changes in ../bfd/oasys.c.
-
-Wed Jun 16 10:43:08 1993 Fred Fish (fnf@cygnus.com)
-
- * bfd.h: Note that it has been removed.
-
-Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
-
- Support for H8/300-H
- * dis-asm.h (print_insn_h8300, print_insn_h8300h): Declare it.
-
-Tue Jun 1 07:35:03 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
-
- * ansidecl.h (const): Don't define it if it's already defined.
-
-Thu May 27 18:19:51 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * dis-asm.h (print_insn_hppa): Declare it.
-
- * bfd.h: Moved to bfd directory. Small stub here includes it
- without requiring "-I../bfd".
-
-Thu Apr 29 12:06:13 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
-
- * bfd.h: Updated with BSF_FUNCTION.
-
-Mon Apr 26 18:15:50 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * bfd.h, dis-asm.h: Updated with Hitachi SH.
-
-Fri Apr 23 18:41:38 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * bfd.h: Updated with alpha changes.
- * dis-asm.h: Added alpha.
-
-Fri Apr 16 17:35:30 1993 Jim Kingdon (kingdon@cygnus.com)
-
- * bfd.h: Update for signed bfd_*get_*.
-
-Thu Apr 15 09:24:21 1993 Jim Kingdon (kingdon@cygnus.com)
-
- * bfd.h: Updated for file_truncated error.
-
-Thu Apr 8 10:53:47 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * ansidecl.h: If no ANSI, define const to be empty.
-
-Thu Apr 1 09:00:10 1993 Jim Kingdon (kingdon@cygnus.com)
-
- * dis-asm.h: Declare a29k and i960 print_insn_*.
-
- * dis-asm.h: Add print_address_func and related stuff.
-
- * dis-asm.h (dis_asm_read_memory): Fix prototype.
-
-Wed Mar 31 17:40:16 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * dis-asm.h: Add print_insn_sparc.
-
-Wed Mar 31 17:51:42 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * bfd.h: Updated for BFD_RELOC_MIPS_GPREL and bfd_[gs]et_gp_size
- prototypes.
-
-Wed Mar 31 16:35:12 1993 Stu Grossman (grossman@cygnus.com)
-
- * dis-asm.h: (disassemble_info): Fix typo in prototype of
- dis_asm_memory_error().
-
-Tue Mar 30 19:09:23 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * dis-asm.h (disassembler_info): Add read_memory_func,
- memory_error_func, buffer, and length.
- ({GDB_,}INIT_DISASSEMBLE_INFO): Set them.
- print_insn_*: Remove second argument.
-
-Tue Mar 30 14:48:55 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * bfd.h: Update for lma field of section.
-
-Tue Mar 30 12:22:55 1993 Jim Kingdon (kingdon@cygnus.com)
-
- * ansidecl.h: Use ANSI versions on AIX regardless of __STDC__.
-
-Fri Mar 19 14:49:49 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * dis-asm.h: Add h8500.
-
-Thu Mar 18 13:49:09 1993 Per Bothner (bothner@rtl.cygnus.com)
-
- * ieee-float.h: Moved from ../gdb.
- * dis-asm.h: New file. Interface to dis-assembler.
-
-Thu Mar 11 10:52:57 1993 Fred Fish (fnf@cygnus.com)
-
- * demangle.h (DMGL_NO_OPTS): Add define (set to 0) to use
- in place of bare 0, for readability reasons.
-
-Tue Mar 2 17:50:11 1993 Fred Fish (fnf@cygnus.com)
-
- * demangle.h: Replace all references to cfront with ARM.
-
-Tue Feb 23 12:21:14 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * bfd.h: Update for new elements in JUMP_TABLE.
-
-Tue Feb 16 00:51:30 1993 John Gilmore (gnu@cygnus.com)
-
- * bfd.h: Update for BFD_VERSION 2.1.
-
-Tue Jan 26 11:49:20 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * bfd.h: Update for SEC_IS_COMMON flag.
-
-Tue Jan 19 12:25:12 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfd.h: Update for bfd_asymbol_value bug fix.
-
-Fri Jan 8 16:37:18 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfd.h: Update to include ECOFF tdata and target_flavour.
-
-Sun Dec 27 17:52:30 1992 Fred Fish (fnf@cygnus.com)
-
- * bfd.h: Add declaration for bfd_get_size().
-
-Tue Dec 22 22:42:46 1992 Fred Fish (fnf@cygnus.com)
-
- * demangle.h: Protect file from multiple inclusions with
- #if !defined(DEMANGLE_H)...#define DEMANGLE_H...#endif.
-
-Mon Dec 21 21:25:50 1992 Stu Grossman (grossman at cygnus.com)
-
- * bfd.h: Update to get hppa_core_struct from bfd.c.
-
-Thu Dec 17 00:42:35 1992 John Gilmore (gnu@cygnus.com)
-
- * bfd.h: Update to get tekhex tdata name change from bfd.
-
-Mon Nov 9 23:55:42 1992 John Gilmore (gnu@cygnus.com)
-
- * ansidecl.h: Update comments to discourage use of EXFUN.
-
-Thu Nov 5 16:35:44 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * bfd.h: Update to bring in SEC_SHARED_LIBRARY.
-
-Thu Nov 5 03:21:32 1992 John Gilmore (gnu@cygnus.com)
-
- * bfd.h: Update to match EXFUN, bfd_seclet_struct, and SDEF
- cleanups in bfd.
-
-Wed Nov 4 07:28:05 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * bout.h (N_CALLNAME, N_BALNAME): Define as char-type values, so
- widening works consistently.
-
-Fri Oct 16 03:17:08 1992 John Gilmore (gnu@cygnus.com)
-
- * getopt.h: Update to Revised Standard FSF Version.
-
-Thu Oct 15 21:43:22 1992 K. Richard Pixley (rich@sendai.cygnus.com)
-
- * getopt.h (struct option): use the provided enum for has_arg.
-
- * demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING,
- LUCID_DEMANGLING): ultrix compilers require enums to be
- enums and ints to be ints and casts where they meet. cast some
- enums into ints.
-
-Thu Oct 15 04:35:51 1992 John Gilmore (gnu@cygnus.com)
-
- * bfd.h: Update after comment changes.
-
-Thu Oct 8 09:03:02 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * bfd.h (bfd_get_symbol_leading_char): new macro for getting in xvec
-
-Thu Sep 3 09:10:50 1992 Stu Grossman (grossman at cygnus.com)
-
- * bfd.h (struct reloc_howto_struct): size needs to be signed if
- it's going to hold negative values.
-
-Sun Aug 30 17:50:27 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * demangle.h: New file, moved from ../gdb. Made independent
- of gdb. Allow demangling style option to be passed as a
- parameter to cplus_demangle(), but using the
- current_demangling_style global as the default.
-
-Sat Aug 29 10:07:55 1992 Fred Fish (fnf@cygnus.com)
-
- * obstack.h: Merge comment change from current FSF version.
-
-Thu Aug 27 12:59:29 1992 Brendan Kehoe (brendan@cygnus.com)
-
- * bfd.h: add we32k
-
-Tue Aug 25 15:07:47 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * bfd.h: new after Z8000 stuff
-
-Mon Aug 17 09:01:23 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * bfd.h: Regenerated after page/segment size changes.
-
-Sat Aug 1 13:46:31 1992 Fred Fish (fnf@cygnus.com)
-
- * obstack.h: Merge changes from current FSF version.
-
-Mon Jul 20 21:06:23 1992 Fred Fish (fnf@cygnus.com)
-
- * obstack.h (area_id, flags): Remove, replace with extra_arg,
- use_extra_arg, and maybe_empty_object.
- * obstack.h (OBSTACK_MAYBE_EMPTY_OBJECT, OBSTACK_MMALLOC_LIKE):
- Remove, replaced by maybe_empty_object and use_extra_arg bitfields.
- * obstack.h (obstack_full_begin, _obstack_begin): Remove area_id
- and flags arguments.
- * obstack.h (obstack_alloc_arg): New macro to set extra_arg.
-
-Thu Jul 16 08:12:44 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * bfd.h: new after adding BFD_IS_RELAXABLE
-
-Sat Jul 4 03:22:23 1992 John Gilmore (gnu at cygnus.com)
-
- * bfd.h: Regen after adding BSF_FILE.
-
-Mon Jun 29 14:18:36 1992 Fred Fish (fnf at sunfish)
-
- * obstack.h: Convert bcopy() use to memcpy(), which is more
- portable, more standard, and can take advantage of gcc's builtin
- functions for increased performance.
-
-Thu Jun 25 04:46:08 1992 John Gilmore (gnu at cygnus.com)
-
- * ansidecl.h (PARAMS): Incorporate this macro from gdb's defs.h.
- It's a cleaner way to forward-declare function prototypes.
-
-Fri Jun 19 15:46:32 1992 Stu Grossman (grossman at cygnus.com)
-
- * bfd.h: HPPA merge.
-
-Tue Jun 16 21:30:56 1992 K. Richard Pixley (rich@cygnus.com)
-
- * getopt.h: gratuitous white space changes merged from other prep
- releases.
-
-Thu Jun 11 01:10:55 1992 John Gilmore (gnu at cygnus.com)
-
- * bfd.h: Regen'd from bfd.c after removing elf_core_tdata_struct.
-
-Mon May 18 17:29:03 1992 K. Richard Pixley (rich@cygnus.com)
-
- * getopt.h: merged changes from make-3.62.11.
-
- * getopt.h: merged changes from grep-1.6 (alpha).
-
-Fri May 8 14:53:32 1992 K. Richard Pixley (rich@cygnus.com)
-
- * getopt.h: merged changes from bison-1.18.
-
-Sat Mar 14 17:25:20 1992 Fred Fish (fnf@cygnus.com)
-
- * obstack.h: Add "area_id" and "flags" members to obstack
- structure. Add obstack_chunkfun() and obstack_freefun() to
- set functions explicitly. Convert maybe_empty_object to
- a bit in "flags".
-
-Thu Feb 27 22:01:02 1992 Per Bothner (bothner@cygnus.com)
-
- * wait.h (WIFSTOPPED): Add IBM rs6000-specific version.
-
-Fri Feb 21 20:49:20 1992 John Gilmore (gnu at cygnus.com)
-
- * obstack.h: Add obstack_full_begin.
- * bfd.h, obstack.h: Protolint.
-
-Thu Jan 30 01:18:42 1992 John Gilmore (gnu at cygnus.com)
-
- * bfd.h: Remove comma from enum declaration.
-
-Mon Jan 27 22:01:13 1992 Steve Chamberlain (sac at cygnus.com)
-
- * bfd.h : new target entr, bfd_relax_section
-
-Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com)
-
- * bfd.h, ieee.h: ANSIfy enums.
-
-Thu Dec 12 20:59:56 1991 John Gilmore (gnu at cygnus.com)
-
- * fopen-same.h, fopen-bin.h: New files for configuring
- whether fopen distinguishes binary files or not. For use
- by host-dependent config files.
-
-Sat Nov 30 20:46:43 1991 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * bfd.h: change the documentation format.
-
- * created coff, elf and opcode and aout directories. Moved:
-
- aout64.h ==> aout/aout64.h
- ar.h ==> aout/ar.h
- a.out.encap.h ==> aout/encap.h
- a.out.host.h ==> aout/host.h
- a.out.hp.h ==> aout/hp.h
- a.out.sun4.h ==> aout/sun4.h
- ranlib.h ==> aout/ranlib.h
- reloc.h ==> aout/reloc.h
- stab.def ==> aout/stab.def
- stab.gnu.h ==> aout/stab_gnu.h
-
- coff-a29k.h ==> coff/a29k.h
- coff-h8300.h ==> coff/h8300.h
- coff-i386.h ==> coff/i386.h
- coff-i960.h ==> coff/i960.h
- internalcoff.h ==> coff/internal.h
- coff-m68k.h ==> coff/m68k.h
- coff-m88k.h ==> coff/m88k.h
- coff-mips.h ==> coff/mips.h
- coff-rs6000.h ==> coff/rs6000.h
-
- elf-common.h ==> elf/common.h
- dwarf.h ==> elf/dwarf.h
- elf-external.h ==> elf/external.h
- elf-internal.h ==> elf/internal.h
-
- a29k-opcode.h ==> opcode/a29k.h
- arm-opcode.h ==> opcode/arm.h
- h8300-opcode.h ==> opcode/h8300.h
- i386-opcode.h ==> opcode/i386.h
- i860-opcode.h ==> opcode/i860.h
- i960-opcode.h ==> opcode/i960.h
- m68k-opcode.h ==> opcode/m68k.h
- m88k-opcode.h ==> opcode/m88k.h
- mips-opcode.h ==> opcode/mips.h
- np1-opcode.h ==> opcode/np1.h
- ns32k-opcode.h ==> opcode/ns32k.h
- pn-opcode.h ==> opcode/pn.h
- pyr-opcode.h ==> opcode/pyr.h
- sparc-opcode.h ==> opcode/sparc.h
- tahoe-opcode.h ==> opcode/tahoe.h
- vax-opcode.h ==> opcode/vax.h
-
-
-
-Wed Nov 27 10:38:31 1991 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * internalcoff.h: (internal_scnhdr) took out #def dependency, now
- s_nreloc and s_nlnno are always long. (internal_reloc): allways
- has an offset field now.
-
-Fri Nov 22 08:12:58 1991 John Gilmore (gnu at cygnus.com)
-
- * coff-rs6000.h: Lint; use unsigned chars for external fields.
- * internalcoff.h: Lint; cast storage classes to signed char.
-
-Thu Nov 21 21:01:05 1991 Per Bothner (bothner at cygnus.com)
-
- * stab.def: Remove the GNU extended type codes (e.g. N_SETT).
- * aout64.h: The heuristic for distinguishing between
- sunos-style and bsd-style ZMAGIC files (wrt. where the
- text segment starts) is moved into (the default definition of)
- the macro N_HEADER_IN_TEXT. This definition is only used
- if no other definition is used - e.g. bfd/newsos3.c defines
- N_HEADER_IN_TEXT(x) to be always 0 (as before).
-
-Thu Nov 21 11:53:03 1991 John Gilmore (gnu at cygnus.com)
-
- * aout64.h (N_TXTADDR, N_TXTOFF, N_TXTSIZE): New definitions
- that should handle all uses. LOGICAL_ versions deleted.
- Eliminate N_HEADER_IN_TEXT, using a_entry to determine which
- kind of zmagic a.out file we are looking at.
- * coff-rs6000.h: Typo.
-
-Tue Nov 19 18:43:37 1991 Per Bothner (bothner at cygnus.com)
-
- (Note: This is a revised entry, as was aout64.h.)
- * aout64.h: Some cleanups of N_TXTADDR and N_TXTOFF:
- Will now work for both old- and new-style ZMAGIC files,
- depending on N_HEADER_IN_TEXT macro.
- Add LOGICAL_TXTADDR, LOICAL_TXTOFF and LOGICAL_TXTSIZE
- that don't count the exec header as part
- of the text segment, to be consistent with bfd.
- * a.out.sun4.h: Simplified/fixed for previous change.
-
-Mon Nov 18 00:02:06 1991 Fred Fish (fnf at cygnus.com)
-
- * dwarf.h: Update to DWARF draft 5 version from gcc2.
-
-Thu Nov 14 19:44:59 1991 Per Bothner (bothner at cygnus.com)
-
- * stab.def: Added defs for extended GNU symbol types,
- such as N_SETT. These are normally ifdef'd out (because
- of conflicts with a.out.gnu.h), but are used by bfb_stab_name().
-
-Thu Nov 14 19:17:03 1991 Fred Fish (fnf at cygnus.com)
-
- * elf-common.h: Add defines to support ELF symbol table code.
-
-Mon Nov 11 19:01:06 1991 Fred Fish (fnf at cygnus.com)
-
- * elf-internal.h, elf-external.h, elf-common.h: Add support for
- note sections, which are used in ELF core files to hold copies
- of various /proc structures.
-
-Thu Nov 7 08:58:26 1991 Steve Chamberlain (sac at cygnus.com)
-
- * internalcoff.h: took out the M88 dependency in the lineno
- struct.
- * coff-m88k.h: defines GET_LINENO_LNNO and PUT_LINENO_LNNO to use
- 32bit linno entries.
- * a29k-opcode.h: fixed encoding of mtacc
-
-Sun Nov 3 11:54:22 1991 Per Bothner (bothner at cygnus.com)
-
- * bfd.h: Updated from ../bfd/bfd-in.h (q.v).
-
-Fri Nov 1 11:13:53 1991 John Gilmore (gnu at cygnus.com)
-
- * internalcoff.h: Add x_csect defines.
-
-Fri Oct 25 03:18:20 1991 John Gilmore (gnu at cygnus.com)
-
- * Rename COFF-related files in `coff-ARCH.h' form.
- coff-a29k.h, coff-i386.h, coff-i960.h, coff-m68k.h, coff-m88k.h,
- coff-mips.h, coff-rs6000.h to be exact.
-
-Thu Oct 24 22:11:11 1991 John Gilmore (gnu at cygnus.com)
-
- RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and
- John Gilmore.
-
- * a.out.gnu.h: Update slightly.
- * bfd.h: Add new error code, fix doc, add bfd_arch_rs6000.
- * internalcoff.h: Add more F_ codes for filehdr. Add
- rs/6000-dependent fields to aouthdr. Add storage classes
- to syments. Add 6000-specific auxent. Add r_size in reloc.
- * rs6000coff.c: New file.
-
-Thu Oct 24 04:13:20 1991 Fred Fish (fnf at cygnus.com)
-
- * dwarf.h: New file for dwarf support. Copied from gcc2
- distribution.
-
-Wed Oct 16 13:31:45 1991 John Gilmore (gnu at cygnus.com)
-
- * aout64.h: Remove PAGE_SIZE defines; they are target-dependent.
- Add N_FN_SEQ for N_FN symbol type used on Sequent machines.
- * stab.def: Include N_FN_SEQ in table.
- * bout.h: External formats of structures use unsigned chars.
-
-Fri Oct 11 12:40:43 1991 Steve Chamberlain (steve at cygnus.com)
-
- * bfd.h:upgrade from bfd.c
- * internalcoff.h: add n_name, n_zeroes and n_offset macros
- * amdcoff.h: Define OMAGIC and AOUTHDRSZ.
-
-Fri Oct 11 10:58:06 1991 Per Bothner (bothner at cygnus.com)
-
- * a.out.host.h: Change SEGMENT_SIZE to 0x1000 for Sony.
- * bfd.h (align_power): Add (actually move) comment.
-
-Tue Oct 8 15:29:32 1991 Per Bothner (bothner at cygnus.com)
-
- * sys/h-rtbsd.h: Define MISSING_VFPRINT (for binutils/bucomm.c).
-
-Sun Oct 6 19:24:39 1991 John Gilmore (gnu at cygnus.com)
-
- * aout64.h: Move struct internal_exec to ../bfd/libaout.h so
- it can be shared by all `a.out-family' code. Rename
- EXTERNAL_LIST_SIZE to EXTERNAL_NLIST_SIZE. Use basic types
- for nlist members, and make strx integral rather than pointer.
- More commentary on n_type values.
- * bout.h: Provide a struct external_exec rather than an
- internal_exec.
- * m68kcoff.h: Remove `tagentries' which snuck in from the i960
- COFF port.
-
-Fri Oct 4 01:25:59 1991 John Gilmore (gnu at cygnus.com)
-
- * h8300-opcode.h: Remove `_enum' from the typedef for an enum.
- * bfd.h: Update to match bfd changes.
-
- * sys/h-i386mach.h, sysdep.h: Add 386 Mach host support.
-
-Tue Oct 1 04:58:42 1991 John Gilmore (gnu at cygnus.com)
-
- * bfd.h, elf-common.h, elf-external.h, elf-internal.h:
- Add preliminary ELF support, sufficient for GDB, from Fred Fish.
- * sysdep.h, sys/h-amix.h: Support Amiga SVR4.
-
- * sys/h-vaxult.h: Make it work. (David Taylor <taylor@think.com>)
- * a.out.vax.h: Remove unused and confusing file.
-
-Mon Sep 30 12:52:35 1991 Per Bothner (bothner at cygnus.com)
-
- * sysdep.h: Define NEWSOS3_SYS, and use it.
-
-Fri Sep 20 13:38:21 1991 John Gilmore (gnu at cygnus.com)
-
- * a.out.gnu.h (N_FN): Its value *really is* 0x1F.
- Fix it, and add comments warning about or-ing N_EXT with it
- and/or N_WARNING.
- * aout64.h (N_FN): Fix value, add comments about N_EXT.
- * stab.def (table at end): Update to show all the type
- values <0x20, including low order bits. Move N_FN to
- its rightful place.
-
-Tue Sep 17 17:41:37 1991 Stu Grossman (grossman at cygnus.com)
-
- * sys/h-irix3.h: sgi/irix support.
-
-Tue Sep 17 07:52:59 1991 John Gilmore (gnu at cygint.cygnus.com)
-
- * stab.def (N_DEFD): Add GNU Modula-2 debug stab, from Andrew
- Beers.
-
-Thu Sep 12 14:12:59 1991 John Gilmore (gnu at cygint.cygnus.com)
-
- * internalcoff.h (SYMNMLEN, FILNMLEN, DIMNUM): Define these
- for internalcoff, separately from the various external coff's.
- * amdcoff.h, bcs88kcoff.h, i386coff.h, intel-coff.h, m68kcoff.h,
- m88k-bcs.h: Prefix SYMNMLEN, FILNMLEN, and DIMNUM with E_'s for
- the external struct definitions.
- * ecoff.h: Remove these #define's, kludge no longer needed.
-
- * sys/h-ultra3.h: Add new Ultracomputer host.
- * sysdep.h: Add ULTRA3_SYM1_SYS and use it.
-
-Tue Sep 10 10:11:46 1991 John Gilmore (gnu at cygint.cygnus.com)
-
- * i386coff.h (LINESZ): Always 6, not based on sizeof().
- (Fix from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.)
-
-Wed Sep 4 08:58:37 1991 John Gilmore (gnu at cygint.cygnus.com)
-
- * a.out.gnu.h, aout64.h: Add N_WARNING. Change N_FN to 0x0E,
- to match SunOS and BSD. Add N_COMM as 0x12 for SunOS shared lib
- support.
- * stab.def: Add N_COMM to table, fix overlap comment.
-
-Tue Sep 3 06:29:20 1991 John Gilmore (gnu at cygint.cygnus.com)
-
- Merge with latest FSF versions of these files.
-
- * stab.gnu.h: Add LAST_UNUSED_STAB_CODE.
- * stab.def: Update to GPL2. Move N_WARNING out, since not a
- debug symbol. Change comments, and reorder table to numeric
- order. Update final table comment.
- (N_DSLINE, N_BSLINE): Renumber from 0x66 and 0x68, to 0x46 and 0x48.
-
- * obstack.h: GPL2. Merge.
-
-Fri Aug 23 01:54:23 1991 John Gilmore (gnu at cygint.cygnus.com)
-
- * a.out.gnu.h, a.out.sun4.h: Make SEGMENT_SIZE able to depend
- on the particular a.out being examined.
- * a.out.sun4.h: Define segment sizes for Sun-3's and Sun-4's.
- * FIXME: a.out.gnu.h is almost obsolete.
- * FIXME: a.out.sun4.h should be renamed a.out.sun.h now.
-
-Wed Aug 21 20:32:13 1991 John Gilmore (gnu at cygint.cygnus.com)
-
- * Start a ChangeLog for the includes directory.
-
- * a.out.gnu.h (N_FN): Fix value -- was 15, should be 0x1E.
- * stab.def: Update allocation table in comments at end,
- to reflect reality as I know it.
+For older changes see ChangeLog-9103
Local Variables:
mode: change-log
diff --git a/include/ChangeLog-9103 b/include/ChangeLog-9103
new file mode 100644
index 00000000000..670fe38b312
--- /dev/null
+++ b/include/ChangeLog-9103
@@ -0,0 +1,2737 @@
+2003-12-19 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * include/fibheap.h (fibnode): Use __extension__ for
+ bit-fields mark and degree if __GNUC__.
+
+2003-12-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * include/fibheap.h (fibnode): Use unsigned long int for
+ bit-fields if __GNUC__ is defined.
+
+2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfdlink.h (bfd_link_info): Change relax_finalizing to
+ need_relax_finalize.
+
+2003-12-03 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h (struct bfd_link_hash_entry): Rename "next" to "und_next".
+
+2003-12-02 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h (struct bfd_link_info): Remove mpc860c0 field.
+
+2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * opcode/mips.h: Define new enum members, M_LCA_AB and M_DLCA_AB.
+
+2003-11-14 Nick Clifton <nickc@redhat.com>
+
+ * dis-asm.h (struct disassemble_info): Add new field
+ 'symbol_is_valid' which is a function which can tell the
+ disassembler to skip certain symbols as they should not be
+ displayed to the user.
+ (arm_symbol_is_valid): New prototype. This is the ARM
+ specific function for the symbol_is_valid field.
+ (generic_symbol_is_valid): New prototype. This is the default
+ function pointed to by the symbol_is_valid field.
+
+2003-11-06 Bruno Rohee <bruno@rohee.com>
+
+ * hp-symtab.h: Fix "the the" typo.
+
+2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfdlink.h (bfd_elf_version_expr): Add "symbol" and remove
+ "wildcard".
+
+2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * obstack.h: Merge the following change from gnulib:
+ 2003-10-21 Paul Eggert <eggert@twinsun.com>
+ * obstack.h (obstack_1grow_fast): Properly parenthesize arg.
+ (obstack_ptr_grow_fast, obstack_int_grow_fast):
+ Don't use lvalue casts, as GCC plans to remove support for them
+ in GCC 3.5. Reported by Joseph S. Myers. This bug
+ was also present in the non-GCC version, indicating that this
+ code had always been buggy and had never been widely used.
+ (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
+ Use the fast variant of each macro, rather than copying the
+ definiens of the fast variant; that way, we'll be more likely to
+ catch future bugs in the fast variants.
+
+2003-10-22 Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (struct bfd_elf_version_expr): Remove match field.
+ Add wildcard and mask fields.
+ (BFD_ELF_VERSION_C_TYPE): Define.
+ (BFD_ELF_VERSION_CXX_TYPE): Likewise.
+ (BFD_ELF_VERSION_JAVA_TYPE): Likewise.
+ (struct bfd_elf_version_expr_head): New.
+ (struct bfd_elf_version_tree): Add match field.
+ Change type of globals and locals fields
+ to struct bfd_elf_version_expr_head.
+
+2003-10-14 Bob Wilson <bob.wilson@acm.org>
+
+ * elf/xtensa.h: Formatting. Fix comments about property section
+ names for linkonce sections.
+
+2003-09-22 Andrew Cagney <cagney@redhat.com>
+
+ * floatformat.h (struct floatformat): Add field "is_valid".
+
+2003-09-15 Andrew Cagney <cagney@redhat.com>
+
+ * floatformat.h (floatformat_to_double): Make input buffer constant.
+ (floatformat_from_double, floatformat_is_valid): Ditto.
+
+2003-09-15 Andrew Cagney <cagney@redhat.com>
+
+ * floatformat.h (struct floatformat): Make "exp_bias" signed.
+
+2003-09-15 Daniel Jacobowitz <drow@mvista.com>
+
+ * floatformat.h (floatformat_is_valid): Add prototype.
+
+2003-08-27 Andrew Cagney <cagney@redhat.com>
+
+ * dis-asm.h (init_disassemble_info): Declare.
+ (INIT_DISASSEMBLE_INFO): Redefine as a call to
+ init_disassemble_info.
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Ditto.
+
+2003-08-20 Nick Clifton <nickc@redhat.com>
+
+ * bfdlink.h (enum report_method): New enum. Describes how to
+ report something.
+ (struct bfd_link_info): Delete fields 'no_undefined' and
+ 'allow_shlib_undefined'. Replace with
+ 'unresolved_symbols_in_objects' and
+ 'unresolved_symbols_in_shared_libs'.
+
+2003-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h: Remove PARAMS macro. Replace PTR with void *.
+ * dis-asm.h: Likewise.
+
+2003-07-09 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-config.h: Undef all macros before defining them.
+
+2003-07-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * demangle.h: Support C++.
+
+2003-07-01 Zack Weinberg <zack@codesourcery.com>
+
+ * filenames.h: New file imported from binutils.
+
+2003-06-30 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-config.h: New file imported from binutils.
+
+2003-06-30 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-config.h (XCHAL_HAVE_CONST16, XCHAL_HAVE_ABS,
+ XCHAL_HAVE_ADDX, XCHAL_HAVE_L32R): Define.
+
+2003-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h: Correct spelling of "relocatable".
+
+2003-06-22 Zack Weinberg <zack@codesourcery.com>
+
+ * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC): Rename to
+ HOST_CHARSET_UNKNOWN, HOST_CHARSET_ASCII, HOST_CHARSET_EBCDIC
+ respectively.
+
+2003-06-21 Zack Weinberg <zack@codesourcery.com>
+
+ * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC, HOST_CHARSET):
+ New #defines.
+
+2003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h: Delete HAVE_LONG_DOUBLE GCC bootstrap support.
+
+2003-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (struct bfd_link_info): Add execstack and noexecstack.
+ * elf/common.h (PT_GNU_STACK): Define.
+
+2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfdlink.h (LD_DEFINITION_IN_DISCARDED_SECTION): New.
+
+2003-05-30 Ulrich Drepper <drepper@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (struct bfd_link_info): Add pie and executable
+ bits.
+
+2003-05-21 Nick Clifton <nickc@redhat.com>
+
+ * bfdlink.h (struct bfd_link_hash_table): Fix typo in comment.
+
+2003-05-15 Jim Blandy <jimb@redhat.com>
+
+ * libiberty.h (hex_value): Make the value an unsigned int, to
+ avoid unexpected sign-extension when cast to unsigned types larger
+ than int --- like bfd_vma, on some platforms.
+ (_hex_value): Update declaration.
+
+2003-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * xtensa-isa-internal.h (xtensa_isa_module_struct): Remove const on
+ gen_num_opcodes_fn return type.
+
+2003-05-07 Jason Merrill <jason@redhat.com>
+
+ * hashtab.h (iterative_hash): Prototype.
+ (iterative_hash_object): New macro.
+
+2003-04-28 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_info): Add relax_finalizing.
+
+2003-04-23 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_callbacks): Add error_handler.
+
+2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff/tic4x.h: Namespace cleanup. Replace s/c4x/tic4x
+ and s/c3x/tic3x/
+ * coff/tc-tic4x.h: Ditto
+ * opcode/tic4x.h: Ditto
+
+2003-04-02 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-config.h: Remove comment indicating that this is a
+ generated file.
+
+2003-04-01 Bob Wilson <bob.wilson@acm.org>
+
+ * dis-asm.h (print_insn_xtensa): Declare.
+ * xtensa-config.h: New file.
+ * xtensa-isa-internal.h: Likewise.
+ * xtensa-isa.h: Likewise.
+
+2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF,
+ ATTRIBUTE_NULL_PRINTF_1, ATTRIBUTE_NULL_PRINTF_2,
+ ATTRIBUTE_NULL_PRINTF_3, ATTRIBUTE_NULL_PRINTF_4,
+ ATTRIBUTE_NULL_PRINTF_5): New.
+ (ATTRIBUTE_PRINTF): Add ATTRIBUTE_NONNULL.
+
+2003-03-17 Jan Hubicka <jh@suse.cz>
+
+ * hashtab.h (htab_traverse_noresize): Declare.
+
+2003-02-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h: Document return value of physmem routines.
+
+2003-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (physmem_total, physmem_available): Prototype.
+
+2003-02-20 Daniel Jacobowitz <drow@mvista.com>
+
+ * libiberty.h (lrealpath): Add declaration.
+
+2003-01-31 Grant Grundler <grundler@dsl2.external.hp.com>
+
+ * hppa.h (ldwa, ldda): Add ordered opcodes.
+
+2003-01-26 Daniel Jacobowitz <drow@mvista.com>
+
+ * hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types.
+ (struct htab): Add alloc_arg, alloc_with_arg_f, free_with_arg_f.
+ (htab_create_alloc_ex): New prototype.
+ (htab_set_functions_ex): New prototype.
+
+2003-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/sparc.h: Add TLS relocs. Move R_SPARC_REV32 to 252.
+
+2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug
+ * coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros
+
+2002-07-17 Geoffrey Keating <geoffk@redhat.com>
+
+ * splay-tree.h (GTY): Define if undefined.
+ (splay_tree_allocate_fn): Return PTR for compatibility, not void *.
+ (struct splay_tree_node_s): Support gengtype.
+ (struct splay_tree_s): Likewise. Make allocate_data a PTR,
+ not a void *.
+
+2002-01-02 Ben Elliston <bje@redhat.com>
+
+ * dis-asm.h (print_insn_iq2000): Declare.
+
+2002-12-24 Dmitry Diky <diwil@mail.ru>
+
+ * dis-asm.h: Add msp430 disassembler prototype.
+
+2002-12-27 Chris Demetriou <cgd@broadcom.com>
+
+ * dis-asm.h (print_mips_disassembler_options): Prototype.
+
+2002-12-23 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h (struct bfd_link_info): Add "strip_discarded".
+
+2002-12-20 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h (struct bfd_link_info): Replace bfd_boolean fields with
+ bit-fields. Rearrange to put all like types together.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h: Replace boolean with bfd_boolean. Formatting.
+
+2002-11-23 Simon Burge <simonb@wasabisystems.com>
+
+ * libiberty.h (basename): Add NetBSD to the list.
+
+2002-11-22 Daniel Jacobowitz <drow@mvista.com>
+
+ * libiberty.h (make_relative_prefix): Add prototype.
+
+2002-11-16 Klee Dienes <kdienes@apple.com>
+
+ * opcode/m88k.h (INSTAB): Remove 'next' field.
+ (instruction): Remove definition; replace with extern declaration
+ and mark as const.
+
+2002-11-14 Egor Duda <deo@logos-m.ru>
+
+ * bfdlink.h (struct bfd_link_info): Add new boolean
+ field pei386_runtime_pseudo_reloc.
+
+2002-10-26 Roger Sayle <roger@eyesopen.com>
+
+ * partition.h: Close the extern "C" scope when compiling with C++.
+
+2002-10-26 Roger Sayle <roger@eyesopen.com>
+ DJ Delorie <dj@redhat.com>
+
+ PR bootstrap/8351
+ * getopt.h: Avoid prototyping getopt with no arguments in C++.
+
+2002-10-24 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * ansidecl.h (__STDC__): Add (__alpha && __cplusplus) to the
+ list of platform compilers that may look, smell and act
+ like __STDC__ but that may not define it.
+
+2002-10-11 David O'Brien <obrien@FreeBSD.org>
+
+ * getopt.h: getopt is in unistd.h (based on SUSv2).
+
+2002-09-26 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/x86-64.h: Add TLS relocs.
+
+2002-09-26 Andrew Cagney <ac131313@redhat.com>
+
+ * regs/: Delete directory.
+
+2002-09-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * libiberty.h (asprintf, vasprintf): Don't declare them if the
+ corresponding HAVE_DECL_ macro is 1.
+
+2002-09-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE):
+ Define.
+
+2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * dis-asm.h: Remove (errant) trailing semicolon (;) from the
+ extern "C" { } declaration.
+
+2002-09-04 Nick Clifton <nickc@redhat.com>
+
+ * dis-asm.h (print_ppc_disassembler_options): Prototype.
+
+2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * coff/internal.h: Add new relocation types.
+ * coff/ti.h: Add file-header flags for tic4x code.
+ * dis-asm.h: Add standard disassembler for tic4x.
+ * opcode/tic4x.h: New file.
+ * coff/tic4x.h: New file
+
+2002-08-07 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_info): Add allow_undefined_version.
+ (bfd_elf_version_expr): Add symver and script.
+
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * bfdlink.h (bfd_link_common_skip_ar_symbols): New enum.
+ (struct bfd_link_info): Add new field 'common_skip_ar_symbols'.
+
+2002-07-25 Richard Sandiford <rsandifo@redhat.com>
+
+ * opcode/mips.h (CPU_R2000): Remove.
+
+2002-07-19 Denis Chertykov <denisc@overta.ru>
+ Matthew Green <mrg@redhat.com>
+
+ * dis-asm.h (print_insn_ip2k): Declare.
+
+2002-07-10 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED,
+ DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define.
+
+2002-07-01 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h (struct bfd_sym_chain): Declare.
+ (struct bfd_link_info): Add gc_sym_list. Formatting fixes.
+
+2002-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>.
+ * fibheap.h: Likewise.
+ * hashtab.h: Likewise.
+ * partition.h: Likewise.
+ * sort.h: Likewise.
+ * splay-tree.h: Likewise.
+
+2002-06-24 Alan Modra <amodra@bigpond.net.au>
+
+ * libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME.
+ * getopt.h (getopt): Don't declare if HAVE_DECL_GETOPT.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ From Catherine Moore:
+ * dis-asm.h (print_insn_frv): New prototype.
+
+2002-06-09 Andrew Cagney <cagney@redhat.com>
+
+ * remote-sim.h: Move to directory gdb/.
+ * callback.h: Move to directory gdb/.
+
+2002-06-07 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * bfdlink.h (struct bfd_link_info): Change type of
+ pei386_auto_import field to int so that -1 can mean enabled by
+ default and 1 can mean enabled by command line switch.
+
+2002-06-06 DJ Delorie <dj@redhat.com>
+
+ * hashtab.h (htab): Rearrange new members for backward
+ compatibility.
+ (htab_create): Don't use a macro that requires other headers.
+
+2002-06-05 Geoffrey Keating <geoffk@redhat.com>
+
+ * hashtab.h (htab_create): Restore prototype for backward
+ compatibility.
+ (htab_try_create): Likewise.
+
+2002-05-22 Geoffrey Keating <geoffk@redhat.com>
+
+ * hashtab.h (struct htab): Update for change to length specifier.
+
+2002-05-10 Geoffrey Keating <geoffk@redhat.com>
+
+ * hashtab.h (GTY): Define if undefined.
+ (htab_alloc): New typedef.
+ (htab_free): New typedef.
+ (struct htab): Support gengtype; allow user-specified memory
+ allocation.
+ (htab_create_alloc): New.
+ (htab_create): Replace with #define.
+ (htab_try_create): Delete.
+
+2002-05-31 Michal Ludvig <mludvig@suse.cz>
+
+ * elf/dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed
+ to DW_CFA_lo_user, DW_CFA_hi_user respectively.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * dis-asm.h: Prototype print_insn_dlx.
+
+2002-05-23 Andrew Cagney <ac131313@redhat.com>
+
+ * sim-d10v.h: Delete file. Moved to include/gdb/.
+
+2002-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
+ * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
+ * elf/i386.h: Add TLS relocs.
+
+2002-05-21 H.J. Lu (hjl@gnu.org)
+
+ * bfdlink.h (bfd_link_info): Add allow_multiple_definition.
+
+2002-05-17 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * dis-asm.h (print_insn_shl, print_insn_sh64l): Remove prototype.
+
+2002-04-16 David S. Miller <davem@redhat.com>
+
+ * xregex2.h (__restrict_arr): Define to __restrict on GCC
+ 3.1 and later. Do not redefine.
+
+2002-04-01 Phil Edwards <pme@gcc.gnu.org>
+
+ * dyn-string.h: Also allow IN_GLIBCPP_V3 to redefine names.
+
+2002-03-10 Daniel Jacobowitz <drow@mvista.com>
+
+ * gdb: New directory.
+
+2002-03-06 Andrew Cagney <ac131313@redhat.com>
+
+ * floatformat.h (floatformat_arm_ext): Delete declaration.
+
+2002-02-21 Jim Blandy <jimb@redhat.com>
+
+ Allow the user to specify functions for allocating memory for
+ splay tree roots and nodes.
+ * splay-tree.h (splay_tree_allocate_fn, splay_tree_deallocate_fn):
+ New types.
+ (splay_tree): New fields: `allocate', `deallocate', and
+ `allocate_data'.
+ (splay_tree_new_with_allocator): New function declaration.
+
+2002-02-15 Alan Modra <amodra@bigpond.net.au>
+
+ Support arbitrary length fill patterns.
+ * bfdlink.h (enum bfd_link_order_type): Remove bfd_fill_link_order.
+ (struct bfd_link_order): Remove fill. Add data.size.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ Contribute sh64-elf.
+ 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com>
+ * dis-asm.h (print_insn_sh64): New prototype.
+ (print_insn_sh64l): New prototype.
+ (print_insn_sh64x_media): New prototype.
+
+2002-02-05 Frank Ch. Eigler <fche@redhat.com>
+
+ * dis-asm.h (disassemble_info): New field `insn_sets'.
+ (INIT_DISASSEMBLE_INFO): Clear it.
+
+2002-02-05 Jason Merrill <jason@redhat.com>
+
+ * demangle.h (cplus_demangle_v3): Add "options" parm.
+ (cplus_demangle_v3_type): Remove prototype.
+ (DMGL_VERBOSE): New macro.
+ (DMGL_TYPES): New macro.
+
+2002-02-02 H.J. Lu (hjl@gnu.org)
+
+ * demangle.h (cplus_demangle_v3_type): New prototype.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * dis-asm.h : Add support for or32 targets
+
+2002-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (C_alloca): Add ATTRIBUTE_MALLOC.
+
+2002-01-27 David O'Brien <obrien@FreeBSD.org>
+
+ * cgen.h (BFD_VERSION): Use BFD_VERSION_DATE instead.
+
+2001-12-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise the
+ disassembler_options field (to NULL).
+
+2001-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field.
+
+2001-12-07 Geoffrey Keating <geoffk@redhat.com>
+
+ * dis-asm.h (print_insn_xstormy16): Declare.
+
+2001-12-06 Richard Henderson <rth@redhat.com>
+
+ * demangle.h (no_demangling): New.
+ (NO_DEMANGLING_STYLE_STRING): New.
+
+2001-11-14 Alan Modra <amodra@bigpond.net.au>
+
+ * dis-asm.h (print_insn_i386): Declare.
+
+2001-11-11 Timothy Wall <twall@alum.mit.edu>
+
+ * dis-asm.h: Fix comment to refer to octets rather than bytes.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * dis-asm.h (print_insn_mmix): Add prototype.
+
+2001-10-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * safe-ctype.h (_sch_isbasic, IS_ISOBASIC): New.
+
+2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (hex_init): Revert delete.
+
+ * libiberty.h (_hex_value): Const-ify.
+ (hex_init): Delete.
+
+2001-10-16 Christopher Faylor <cgf@redhat.com>
+
+ * filenames.h: Add cygwin to the list of dosish style path systems.
+
+2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * demangle.h (demangler_engine): Const-ify.
+ * libiberty.h (buildargv): Likewise.
+
+2001-10-03 Vassili Karpov <malc@pulsesoft.com>
+
+ * bfdlink.h (struct bfd_link_info): Add nocopyreloc field.
+
+2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (reconcat): New function.
+
+2001-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (concat, concat_length, concat_copy, concat_copy2,
+ ACONCAT): Improve comments.
+
+2001-09-18 Alan Modra <amodra@bigpond.net.au>
+
+ * objalloc.h (OBJALLOC_ALIGN): Define using offsetof.
+
+2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (concat_length, concat_copy, concat_copy2,
+ libiberty_concat_ptr, ACONCAT): New.
+
+ * libiberty.h (ASTRDUP): New macro.
+ libiberty_optr, libiberty_nptr, libiberty_len): Declare.
+
+2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h: Update comments reflecting previous change.
+
+2001-08-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.
+
+2001-08-25 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * bfdlink.h (struct bfd_link_info): Change 'spare_dynamic_tags' to
+ unsigned to remove a compile time warning message.
+
+2001-08-24 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_hash_table_type): New. The linker hash
+ table type, bfd_link_generic_hash_table and
+ bfd_link_elf_hash_table.
+ (bfd_link_hash_table): Add a new field, type, for the linker
+ hash table type.
+
+2001-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (struct bfd_link_info): Add combreloc and
+ spare_dynamic_tags fields.
+
+2001-08-23 Lars Brinkhoff <lars@nocrew.org>
+
+ * dyn-string.h, fibheap.h, partition.h, sort.h, splay-tree.h:
+ replace "GNU CC" with "GCC".
+
+2001-08-21 Richard Henderson <rth@redhat.com>
+
+ * fibheap.h: Tidy formatting.
+ (fibnode_t): Limit degree to 31 bits to avoid warning.
+
+2001-08-20 Daniel Berlin <dan@cgsoftware.com>
+
+ * fibheap.h: New file. Fibonacci heap.
+
+2001-08-20 Andrew Cagney <ac131313@redhat.com>
+
+ * floatformat.h (floatformat_arm_ext): Document as deprecated.
+ (floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword)
+ (floatformat_ia64_spill_little, floatformat_ia64_quad_little)
+ (floatformat_ia64_spill_big, floatformat_ia64_quad_big)
+ (floatformat_m88110_harris_ext): Declare.
+
+2001-08-18 Zack Weinberg <zackw@panix.com>
+
+ * ansidecl.h: Reorganize for readability, remove documentation
+ of obsolete macros, document PARAMS and VPARAMS. Add new
+ macros VA_OPEN, VA_CLOSE, and VA_FIXEDARG for nicer variadic
+ function implementation.
+
+2001-08-16 Richard Henderson <rth@redhat.com>
+
+ * hashtab.h (htab_hash_string): Declare.
+
+2001-08-10 Andrew Cagney <ac131313@redhat.com>
+
+ * libiberty.h (lbasename): Change function declaration to return a
+ const char pointer.
+
+2001-08-02 Mark Kettenis <kettenis@gnu.org>
+
+ * xregex.h (_REGEX_RE_COMP): Define.
+ (re_comp): Define to xre_comp.
+ (re_exec): Define to xre_exec.
+
+2001-08-02 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * bfdlink.h (struct bfd_link_info): add new boolean
+ field pei386_auto_import.
+
+2001-07-18 Andreas Jaeger <aj@suse.de>
+
+ * xregex2.h: Place under LGPL version 2.1.
+
+2001-07-10 Jeff Johnston <jjohnstn@redhat.com>
+
+ * xregex.h: New file to support libiberty regex.
+ * xregex2.h: Ditto.
+
+2001-06-15 Hans-Peter Nilsson <hp@axis.com>
+
+ * bfdlink.h (struct bfd_link_info): New member export_dynamic.
+
+2001-05-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
+
+ * partition.h: Fix misspelling of `implementation'.
+
+2001-05-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (NULL_PTR): Delete.
+
+2001-05-07 Zack Weinberg <zackw@stanford.edu>
+
+ * demangle.h: Use PARAMS for all prototypes.
+ * ternary.h: Use PARAMS for all prototypes. Use PTR, not void *.
+ Make arguments constant where possible.
+
+2001-05-07 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (splay_tree_max): New function.
+ (splay_tree_min): Likewise.
+
+2001-04-27 Johan Rydberg <jrydberg@opencores.org>
+
+ * dis-asm.h (print_insn_openrisc): Add prototype.
+
+2001-04-15 Daniel Berlin <dan@cgsoftware.com>
+
+ * ternary.h: New file - Ternary search tree header.
+
+2001-04-13 Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (bfd_link_discard): Add discard_sec_merge.
+
+2001-04-03 Zack Weinberg <zackw@stanford.edu>
+
+ * ansidecl.h: All logic from gcc/gansidecl.h moved here.
+
+2001-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (alloca): Handle setting C_ALLOCA.
+
+2001-03-20 Jim Blandy <jimb@redhat.com>
+
+ * demangle.h (enum gnu_v3_constructor_kinds,
+ is_gnu_v3_mangled_ctor, enum gnu_v3_destructor_kinds,
+ is_gnu_v3_mangled_dtor): New declarations.
+
+2001-03-14 Nick Clifton <nickc@redhat.com>
+
+ * ansidecl.h: Fix copyright dates.
+ * demangle.h: Fix copyright dates.
+ * floatformat.h: Fix copyright dates.
+ * fnmatch.h: Fix copyright dates.
+ * getopt.h: Fix copyright dates.
+ * libiberty.h: Add FSF copyright notice.
+ * md5.h: Fix copyright dates.
+ * obstack.h: Fix copyright dates.
+ * splay-tree.h: Fix copyright dates.
+
+2001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
+ John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * libiberty.h: Add lbasename.
+
+2001-03-06 Zack Weinberg <zackw@stanford.edu>
+
+ * libiberty.h: Prototype C_alloca; define alloca to either
+ __builtin_alloca or C_alloca as appropriate.
+
+2001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc
+ compatibility.
+
+2001-02-18 lars brinkhoff <lars@nocrew.org>
+
+ * dis-asm.h: Add PDP-11 target.
+
+2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * dis-asm.h: Add linux target for S/390.
+
+2001-01-11 Peter Targett <peter.targett@arccores.com>
+
+ * dis-asm.h (arc_get_disassembler): Correct declaration.
+
+2001-01-09 Philip Blundell <philb@gnu.org>
+
+ * bin-bugs.h (REPORT_BUGS_TO): Set to `bug-binutils@gnu.org'.
+
+2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * COPYING: Update to current
+ ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
+ to 19yy as example year in copyright notice).
+
+2000-12-19 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * dis-asm.h (struct disassemble_info): New member "section".
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize private_data member.
+ Initialize section member.
+
+2000-12-16 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+ * safe-ctype.h: Make code work on all targets and not just on
+ targets where a char is 8 bits.
+
+2000-12-10 Fred Fish <fnf@be.com>
+
+ * bfdlink.h (struct bfd_link_info): Add new allow_shlib_undefined
+ member to struct for systems where it is normal to have undefined
+ symbols in shared libraries at runtime and the runtime linker
+ takes care of redirecting them.
+
+2000-12-07 Zack Weinberg <zack@wolery.stanford.edu>
+
+ * safe-ctype.h: New file.
+
+2000-12-06 Rodney Brown <RodneyBrown@mynd.com>
+
+ * getopt.h obstack.h: Standarize copyright statement.
+
+2000-12-04 Richard Henderson <rth@redhat.com>
+
+ * demangle.h: Change "new_abi" to "v3" everywhere.
+
+2000-11-22 Zack Weinberg <zack@wolery.stanford.edu>
+
+ * libiberty.h: Move #includes to top. Prototype xmalloc_failed.
+
+2000-11-15 Kenneth Block <kenneth.block@compaq.com>
+
+ * demangle.h: Add gnat and java demangle styles.
+
+2000-11-04 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * hashtab.h (struct htab): Add member return_allocation_failure.
+ (htab_try_create): New prototype. Mention which functions may
+ return NULL when this is used.
+
+2000-11-03 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * hashtab.h: Change void * to PTR where necessary.
+
+2000-10-11 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (splay_tree_predecessor): Declare.
+
+2000-09-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * dis-asm.h: Declare cris_get_disassembler, not print_insn_cris.
+ Fix typo in comment.
+
+2000-09-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * alloca-conf.h: New file (copied from libiberty).
+
+2000-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * md5.h (md5_uint32): Choose via INT_MAX instead of UINT_MAX.
+
+2000-09-04 Alex Samuel <samuel@codesourcery.com>
+
+ * dyn-string.h: Adjust formatting.
+ (dyn_string_insert_char): New macro. New declaration.
+
+2000-08-28 Jason Merrill <jason@redhat.com>
+
+ * md5.h: New file.
+
+2000-08-24 Greg McGary <greg@mcgary.org>
+
+ * libiberty.h (ARRAY_SIZE): New macro.
+
+2000-07-29 Nick Clifton <nickc@cygnus.com>
+
+ * os9k.h: Add copyright notice.
+ Fix formatting.
+
+2000-07-22 Jason Eckhardt <jle@cygnus.com>
+
+ * dis-asm.h (print_insn_i860): Add prototype.
+
+2000-07-20 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_info): Add new_dtags.
+
+2000-07-20 Hans-Peter Nilsson <hp@axis.com>
+
+ * dis-asm.h (print_insn_cris): Declare.
+
+2000-07-19 H.J. Lu (hjl@gnu.org)
+
+ * bfdlink.h (bfd_link_info): Add flags and flags_1.
+
+2000-06-05 DJ Delorie <dj@redhat.com>
+
+ * MAINTAINERS: new
+
+2000-06-21 Alex Samuel <samuel@codesourcery.com>
+
+ * dyn-string.h (dyn_string_init, dyn_string_new,
+ dyn_string_delete, dyn_string_release, dyn_string_resize,
+ dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr,
+ dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
+ dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
+ dyn_string_append_char, dyn_string_substring_dyn_string_eq):
+ Define as same name with __cxa_ prepended, if IN_LIBGCC2.
+ (dyn_string_init, dyn_string_copy, dyn_string_copy_cstr,
+ dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
+ dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
+ dyn_string_append_char, dyn_string_substring): Change return type
+ to int.
+
+2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * dis-asm.h (print_insn_m68hc12): Define.
+ (print_insn_m68hc11): Likewise.
+
+2000-06-18 Nick Clifton <nickc@redhat.com>
+
+ * os9k.h: Change values of MODSYNC and CRCCON due to bug report
+ from Russ Magee <rmagee@home.com>.
+
+2000-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * demangle.h (demangling_styles): Remove trailing comma in enum.
+
+ * dyn-string.h (dyn_string_append_char): Change parameter from
+ char to int.
+
+2000-06-04 Alex Samuel <samuel@codesourcery.com>
+
+ * dyn-string.h: Move here from gcc/dyn-string.h. Add new functions.
+
+ * demangle.h (DMGL_GNU_NEW_ABI): New macro.
+ (DMGL_STYLE_MASK): Or in DMGL_GNU_NEW_ABI.
+ (current_demangling_style): Add gnu_new_abi_demangling.
+ (GNU_NEW_ABI_DEMANGLING_STYLE_STRING): New macro.
+ (GNU_NEW_ABI_DEMANGLING): Likewise.
+ (cplus_demangle_new_abi): New declaration.
+
+Tue May 30 16:53:34 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * floatformat.h (struct floatformat): Add field name.
+
+2000-05-26 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * filenames.h: New file.
+ (HAVE_DOS_BASED_FILE_SYSTEM, IS_DIR_SEPARATOR)
+ (IS_ABSOLUTE_PATH, FILENAME_CMP): New macros.
+
+2000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * getopt.h (getopt): Also check HAVE_DECL_* when prototyping.
+
+ * libiberty.h (basename): Likewise.
+
+2000-05-17 S. Bharadwaj Yadavalli <sby@scrugs.lkg.dec.com>
+ Rick Gorton <gorton@scrugs.lkg.dec.com>
+
+ * bfdlink.h (struct bfd_link_info): Add emitrelocations flag.
+
+2000-05-08 Alan Modra <alan@linuxcare.com.au>
+
+ * dis-asm.h (print_insn_tic54x): Declare.
+
+2000-05-06 Zack Weinberg <zack@wolery.cumb.org>
+
+ * ansidecl.h: #define __extension__ to nothing if
+ GCC_VERSION < 2008.
+
+2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * demangle.h (demangler_engine): Constify.
+
+Thu May 4 17:15:26 2000 Philippe De Muyter <phdm@macqel.be>
+
+ * sort.h (sys/types.h): File included unconditionnaly.
+ (stddef.h): File include only #ifdef __STDC__.
+
+2000-05-03 Zack Weinberg <zack@wolery.cumb.org>
+
+ * symcat.h: Remove #endif label.
+
+2000-04-28 Kenneth Block <block@zk3.dec.com>
+ Jason Merrill <jason@casey.cygnus.com>
+
+ * demangle.h (libiberty_demanglers): new table for different styles.
+ (cplus_demangle_set_style): New function for setting style.
+ (cplus_demangle_name_to_style): New function to translate name.
+
+2000-04-24 Mark Mitchell <mark@codesourcery.com>
+
+ * hashtab.h (hash_pointer): Declare.
+ (eq_pointer): Likewise.
+
+2000-04-23 Mark Mitchell <mark@codesourcery.com>
+
+ * sort.h: New file.
+
+Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
+ David Mosberger <davidm@hpl.hp.com>
+
+ * dis-asm.h (print_insn_ia64): Declare.
+
+Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * hashtab.h (enum insert_option): New type.
+ (htab_find_slot, htab_find_slot_with_hash): Use it.
+
+2000-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * symcat.h: Honor autoconf macro HAVE_STRINGIZE. Add
+ comments/caveats with regard to traditional C behavior.
+
+2000-04-05 Richard Henderson <rth@cygnus.com>
+
+ * splay-tree.h (splay_tree_remove): Declare.
+
+2000-04-04 Alan Modra <alan@linuxcare.com.au>
+
+ * bin-bugs.h (REPORT_BUGS_TO): Remove translated part.
+
+2000-04-03 Alan Modra <alan@linuxcare.com.au>
+
+ * bin-bugs.h: New file.
+
+2000-03-30 Mark Mitchell <mark@codesourcery.com>
+
+ * hashtab.h (hashval_t): New type.
+ (htab_find_with_hash): Use it as an argument.
+ (htab_find_slot_with_hash): Likewise.
+
+2000-03-27 Denis Chertykov <denisc@overta.ru>
+
+ * dis-asm.h (print_insn_avr): Declare.
+
+2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * hashtab.h (htab_trav): Modify type so that first arg is of type
+ void **.
+ (htab_find_with_hash, htab_find_slot_with_hash): Declare new
+ functions.
+
+2000-03-09 Alex Samuel <samuel@codesourcery.com>
+
+ * partition.h: New file.
+
+2000-03-09 Zack Weinberg <zack@wolery.cumb.org>
+
+ * hashtab.h (struct htab): Add del_f.
+ (htab_del): New type.
+ (htab_create): Add fourth argument.
+
+2000-03-08 Zack Weinberg <zack@wolery.cumb.org>
+
+ * hashtab.h (hash_table_t): Rename to htab_t.
+ (struct hash_table): Rename to struct htab. Shorten element
+ names. Reorder elements by size.
+ (htab_hash, htab_eq, htab_trav): New typedefs for the callback
+ function pointers.
+ (hash_table_entry_t): Discard; just use void * for element
+ type.
+
+2000-03-01 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_callbacks): Add a boolean arg to
+ the undefined_symbol callback.
+
+2000-02-23 Linas Vepstas <linas@linas.org>
+
+ * dis-asm.h (print_insn_i370): Declare.
+
+Tue Feb 22 15:19:54 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_trace): Document return values.
+ (sim_set_trace): Declare. Deprecate.
+
+2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * dis-asm.h (struct disassemble_info): Change `length' param of
+ read_memory_func to unsigned. Change type of `buffer_length' and
+ `octets_per_byte' to unsigned.
+ (buffer_read_memory): Change `length' param to unsigned.
+
+2000-02-16 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h: Add prototypes for ARM register name functions.
+
+Wed Feb 9 18:45:49 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * wait.h: Delete. No longer used by GDB.
+
+Tue Feb 8 17:01:13 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_resume): Clarify use of SIGGNAL.
+ (sim_stop_reason): Clarify meaning of sim_signalled.
+
+2000-02-03 Timothy Wall <twall@redhat.com>
+
+ * dis-asm.h (struct disassemble_info): Added octets_per_byte
+ field and initialize it to one (1).
+
+2000-01-27 Nick Clifton <nickc@redhat.com>
+
+ * dis-asm.h: Add prototype for disassembler_usage().
+ Add prototype for arm_disassembler_options().
+ Remove prototype for arm_toggle_regnames().
+ Add prototype for parse_arm_disassembler_option().
+
+Sat Jan 1 19:06:52 2000 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s"
+ to stringify argument s.
+
+Wed Dec 15 11:22:56 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hp-symtab.h (HP_LANGUAGE_FORTRAN): New enumeration constant.
+ (HP_LANGUAGE_F77): Define using HP_LANGUAGE_FORTRAN.
+
+1999-12-15 Doug Evans <dje@transmeta.com>
+
+ * dis-asm.h: Enclose in extern "C" ifdef __cplusplus.
+
+1999-12-05 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (struct splay_tree_node): Rename to ...
+ (struct splay_tree_node_s): ... this.
+ (struct splay_tree): Rename to ...
+ (struct splay_tree_s): ... this.
+
+1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (ATTRIBUTE_MALLOC): New macro.
+
+ * libiberty.h (buildargv, dupargv, concat, choose_temp_base,
+ make_temp_file, xmalloc, xcalloc, xstrdup, xmemdup): Add
+ ATTRIBUTE_MALLOC.
+ (xatexit): Remove __GNUC__ check, add ATTRIBUTE_NORETURN.
+
+1999-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h: Include stdarg.h when ANSI_PROTOTYPES is defined.
+ (asprintf, vasprintf): Provide declarations.
+
+Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be>
+ Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h: Define and test `GCC_VERSION', not `HAVE_GCC_VERSION'.
+
+1999-11-04 Jimmy Guo <guo@cup.hp.com>
+
+ * hp-symtab.h (dntt_type_fparam): Add doc_ranges, misc_kind
+ fields, change location type to CORE_ADDR from int.
+ (dntt_type_const): Name the 5th field location_type.
+
+Sun Oct 24 19:11:32 1999 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-d10v.h (SIM_D10V_TS2_DMAP_REGNUM): Define.
+
+1999-10-23 08:51 -0700 Zack Weinberg <zack@bitmover.com>
+
+ * hashtab.h: Give hash_table_t a struct tag. Add prototypes
+ for clear_hash_table_slot and traverse_hash_table. Correct
+ prototype of all_hash_table_collisions.
+
+Sat Oct 23 19:00:13 1999 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-d10v.h: New file.
+
+Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com>
+
+ * hashtab.h: New file.
+
+1999-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (HAVE_GCC_VERSION): New macro. Use it instead of
+ explicitly testing __GNUC__ and __GNUC_MINOR__.
+
+ (ATTRIBUTE_PRINTF): Use `__format__', not `format'.
+
+1999-09-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (make_temp_file): Add a prototype.
+
+Tue Sep 14 00:35:02 1999 Marc Espie <espie@cvs.openbsd.org>
+
+ * libiberty.h (basename): OpenBSD has a correct prototype.
+ (xrealloc): Remove outdated comment.
+
+1999-09-07 Jeff Garzik <jgarzik@pobox.com>
+
+ * libiberty.h (xmemdup): Add prototype for new function.
+
+1999-09-04 Steve Chamberlain <sac@pobox.com>
+
+ * dis-asm.h (print_insn_pj): Declare.
+
+1999-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * obstack.h (obstack_grow, obstack_grow0): Move (char*) casts
+ in calls to `_obstack_memcpy' from here ...
+
+ (_obstack_memcpy): ... to here, except in the __STDC__ case which
+ doesn't need it.
+
+1999-08-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (getpwd): Prototype.
+
+1999-08-01 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (splay_tree_insert): Return the new node.
+
+1999-07-11 Ian Lance Taylor <ian@zembu.com>
+
+ * ansidecl.h: Copy attribute support macros from egcs.
+
+1999-06-22 Mark Mitchell <mark@codesourcery.com>
+
+ * bfdlink.h (struct bfd_link_hash_entry): Add init_function and
+ fini_function.
+
+1999-06-20 Mark Mitchell <mark@codesourcery.com>
+
+ * mips.h (Elf32_Internal_Msym): New structure.
+ (Elf32_External_Msym): Likewise.
+ (ELF32_MS_REL_INDEX): New macro.
+ (ELF32_MS_FLAGS): Likewise.
+ (ELF32_MS_INFO): Likewise.
+
+1999-06-14 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h (arm_toggle_regnames): New prototype.
+ (struct diassemble_info): New field: disassembler_options.
+
+1999-04-11 Richard Henderson <rth@cygnus.com>
+
+ * bfdlink.h (bfd_elf_version_expr): Rename `match' to `pattern'.
+ Add `match' callback function.
+
+1999-04-10 Richard Henderson <rth@cygnus.com>
+
+ * bfdlink.h (bfd_link_info): Add no_undefined.
+
+1999-04-08 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h: Add prototype for print_insn_mcore.
+
+1999-04-02 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (splay_tree_compare_pointers): Declare.
+
+1999-03-30 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (splay_tree_compare_ints): Declare.
+
+Wed Mar 24 12:46:29 1999 Andrew Cagney <cagney@amy.cygnus.com>
+
+ * libiberty.h (basename): Cygwin{,32} should have the prototype.
+
+1999-02-22 Jim Lemke <jlemke@cygnus.com>
+
+ * bfdlink.h (bfd_link_info): add field "mpc860c0".
+
+Mon Feb 1 21:05:46 1999 Catherine Moore <clm@cygnus.com>
+
+ * dis-asm.h (print_insn_i386_att): Declare.
+ (print_insn_i386_intel): Declare.
+
+1998-12-30 Michael Meissner <meissner@cygnus.com>
+
+ * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Cast STREAM and
+ FPRINTF_FUNC to avoid compiler warnings.
+
+Wed Dec 30 16:07:14 1998 David Taylor <taylor@texas.cygnus.com>
+
+ * dis-asm.h: change void * to PTR (two places).
+
+Mon Dec 14 09:53:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * demangle.h: Don't check IN_GCC anymore.
+ * splay-tree.h: Likewise.
+
+Tue Dec 8 00:30:31 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
+
+ The following changes were made by Elena Zannoni
+ <ezannoni@kwikemart.cygnus.com> and Edith Epstein
+ <eepstein@sophia.cygnus.com> as part of a project to merge in
+ changes made by HP; HP did not create ChangeLog entries.
+
+ * dis-asm.h (struct disassemble_info): change the type of stream
+ from FILE* to void*, for use with gdb's new type GDB_FILE.
+ (fprintf_ftype): change FILE* parameter type to void*.
+
+ * demangle.h: (DMGL_EDG): new macro for Kuck and Associates
+ (DMGL_STYLE_MASK): modify to include Kuck and Assoc style
+ (demangling_styles): add new edg_demangling style
+ (EDG_DEMANGLING_STYLE_STRING): new macro
+ (EDG_DEMANGLING): new macro
+ (DMGL_HP): new macro, for HP/aCC compiler.
+ (DMGL_STYLE_MASK): modify to include new HP's style.
+ (demangling_styles): add new hp_demangling value.
+ (HP_DEMANGLING_STYLE_STRING): new macro.
+ (ARM_DEMANGLING): coerce to int.
+ (HP_DEMANGLING): new macro.
+
+ * hp-symtab.h: rewritten, from HP.
+ (quick_procedure): change type of language field to unsigned int
+ (quick_module): change type of language field to unsigned int
+ (struct dntt_type_svar): add field thread_specific.
+ (hp_language): add languages modcal and dmpascal.
+
+Fri Nov 20 13:14:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * libiberty.h (basename): Add prototype for FreeBSD.
+
+Fri Nov 13 19:19:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h: Prototype xcalloc.
+
+Sun Nov 8 17:42:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h: Wrap problematic macros with !IN_GCC.
+
+ * demangle.h: Never define PARAMS().
+ * splay-tree.h: Likewise.
+
+Sat Nov 7 18:30:20 1998 Peter Schauer <peter.schauer@regent.e-technik.tu-muenchen.de>
+
+ * dis-asm.h (print_insn_vax): Declare.
+
+Sat Nov 7 16:04:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * demangle.h: Don't include gansidecl.h.
+ * splay-tree.h: Likewise.
+
+1998-10-26 16:03 Ulrich Drepper <drepper@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Add new field optimize.
+
+Thu Oct 22 19:58:00 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * splay-tree.h: Wrap function pointer parameter declarations in
+ PARAMS() macro.
+
+1998-10-21 Mark Mitchell <mark@markmitchell.com>
+
+ * splay-tree.h: New file.
+
+Fri Oct 9 00:02:03 1998 Jeffrey A Law (law@cygnus.com)
+
+ * Merge devo and egcs include directories.
+
+Sat Sep 5 12:16:33 1998 Jeffrey A Law (law@cygnus.com)
+
+ * getopt.h, obstack.h: Updated from gcc.
+
+1998-08-03 Jason Molenda (jsm@bugshack.cygnus.com)
+
+ * libiberty.h (xexit): Change decl to use modern GCC attribute
+ to indicate exit does not return.
+
+Mon Jun 1 13:48:32 1998 Jason Molenda (crash@bugshack.cygnus.com)
+
+ * obstack.h: Update to latest FSF version.
+
+Tue Feb 24 13:05:02 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * dis-asm.h (disassemble_info): Member `symbol' renamed to `symbols'
+ and made an "asymbol **". New member num_symbols.
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Update.
+
+Tue Feb 17 12:32:18 1998 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_fetch_register, sim_store_register): Add
+ register length parameter. Functions return actual length of
+ register.
+
+Thu Feb 12 16:29:01 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * getopt.h: Update to latest FSF version.
+
+Wed Feb 11 16:56:06 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * symcat.h: New file.
+
+Mon Feb 2 17:13:31 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
+
+ * dis-asm.h (print_insn_tic30): Declare.
+
+Thu Jan 22 16:23:59 1998 Fred Fish <fnf@cygnus.com>
+
+ * dis-asm.h: Add flag INSN_HAS_RELOC to tell disassembly
+ function there is a reloc on this line.
+
+Mon Dec 8 11:22:23 1997 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h: Remove prototype of disasm_symaddr() as this function
+ no longer exists.
+
+Tue Dec 2 10:20:53 1997 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h (disasm_symaddr): New prototype.
+
+Mon Dec 1 11:29:35 1997 Doug Evans <devans@canuck.cygnus.com>
+
+ * callback.h (CB_SYSCALL): Comment out arg names in prototypes.
+
+Wed Nov 26 16:47:58 1997 Michael Meissner <meissner@cygnus.com>
+
+ * callback.h (CB_SYSCALL): Consistantly use names for prototype
+ arguments.
+
+Wed Nov 26 11:39:30 1997 Doug Evans <devans@canuck.cygnus.com>
+
+ * callback.h (CB_SYSCALL): Change byte count arguments to
+ {read,write}_mem to `int'. New member `magic'.
+ (CB_SYSCALL_MAGIC,CB_SYSCALL_INIT): New macros.
+
+Tue Nov 25 01:35:52 1997 Doug Evans <devans@seba.cygnus.com>
+
+ * callback.h (struct stat): Move forward decl up.
+ (host_callback): Pass stat struct pointer to stat,fstat.
+ (CB_SYS_nnn): Reorganize.
+ (CB_SYSCALL): New members p1,p2.
+ (cb_host_to_target_stat): Delete fourth arg.
+
+Sat Nov 22 23:34:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_stop_reason): Clarify sim_signalled SIGRC
+ argument.
+
+Mon Nov 17 14:00:51 1997 Doug Evans <devans@seba.cygnus.com>
+
+ * callback.h (CB_TARGET_DEFS_MAP): Renamed from target_defs_map.
+ (host_callback): Add stat, fstat, syscall_map, errno_map, open_map,
+ signal_map, stat_map.
+ (errn_map,open_map): Renamed to cb_init_foo_map.
+ (cb_host_to_target_errno,cb_target_to_host_open): Renamed from
+ host_to_target_errno,target_to_host_open.
+ (cb_read_target_syscall_maps): Add prototype.
+ (cb_target_to_host_syscall): Likewise.
+ (cb_host_to_target_stat): Likewise.
+ (cb_syscall): Likewise.
+ (CB_SYS_{exit,open,close,read,write,lseek,unlink,getpid,kill,fstat,
+ argvlen,argv,chdir,stat,chmod,utime,time}): Define.
+ (CB_SYSCALL): New type.
+ (CB_RC): New enum.
+
+Fri Nov 7 10:34:09 1997 Rob Savoye <rob@darkstar.cygnus.com>
+
+ * libiberty.h: Add extern "C" { so it can be used with C++
+ programs.
+ * remote-sim.h: Add extern "C" { so it can be used with C++
+ programs.
+
+Tue Oct 14 16:07:51 1997 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h (struct disassemble_info): New field
+ 'symbol_at_address_func'.
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise new field with
+ generic_symbol_at_address.
+
+Mon Oct 13 10:17:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h: Clarify sim_read, sim_write MEM argument.
+
+Wed Sep 24 18:03:10 1997 Stu Grossman <grossman@babylon-5.cygnus.com>
+
+ * remote-sim.h (SIM_RC): Add a bunch of new return codes for
+ breakpoint stuff.
+ * Add functions to tell the simulator to set/clear/enable/disable
+ intrinsic breakpoints.
+
+Thu Aug 28 19:41:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * libiberty.h (dupargv): Add prototype.
+
+Tue Aug 26 12:25:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_create_inferior): Add ABFD arg. Document.
+
+Mon Aug 25 10:50:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_open): Add ABFD arg. Document.
+
+Fri Aug 8 16:43:56 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * dis-asm.h (arc_get_disassembler): Declare.
+
+Wed Jul 30 11:39:50 1997 Per Bothner <bothner@deneb.cygnus.com>
+
+ * demangle.h (DMGL_JAVA): New option to request Java demangling.
+
+Tue Jul 22 17:59:54 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libiberty.h (PEXECUTE_*): Define.
+ (pexecute, pwait): Declare.
+
+Fri Jun 6 13:02:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_kill): Mark as depreciated.
+
+Fri May 23 13:43:41 1997 Fred Fish <fnf@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Add task_link member.
+
+Thu May 22 11:32:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h: Review documentation. Clarify restrictions on
+ when functions can be called.
+
+Wed May 21 16:47:53 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_set_profile_size): Add prototype, document as
+ depreciated.
+
+Tue May 20 09:32:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_open): Add callback struct.
+ (sim_set_callbacks): Drop SIM_DESC argument. Document.
+ (sim_size): Remove recently added SIM_DESC argument. Document.
+
+Mon May 19 19:14:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h: Pass SD into sim_size.
+
+Thu May 15 01:24:16 1997 Mark Alexander <marka@cygnus.com>
+
+ * obstack.h (obstack_specify_allocation_with_arg, obstack_chunkfun,
+ obstack_freefun): Eliminate compile warnings in gdb.
+
+Tue Apr 22 10:24:34 1997 Fred Fish <fnf@cygnus.com>
+
+ * floatformat.h (floatformat_byteorders): Add comments for previous
+ formats and add floatformat_littlebyte_bigword, primarily for ARM.
+ Add declaration for floatformat_ieee_double_littlebyte_bigword.
+
+Fri Apr 18 13:04:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_stop): New interface - asynchronous
+ notification of a request to stop / suspend the running
+ simulation.
+
+ * remote-sim.h (enum sim_stop): Add sim_running and sim_polling as
+ states for use internal to simulators.
+
+ * callback.h (struct host_callback_strut): Put a magic number at
+ the end of the struct to allow basic checking.
+ (struct host_callback_struct ): Add poll_quit - so
+ that the console etc can be polled at regular intervals.
+
+Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * remote-sim.h (struct _bfd): Declare.
+ (sim_load): Return SIM_RC. New arg `abfd'.
+ (sim_create_inferior): Return SIM_RC. Delete arg `start_address'.
+
+Wed Apr 2 17:09:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+ * remote-sim.h (sim_trace, sim_size): Make these global. They
+ will go away shortly.
+
+Wed Apr 2 15:23:49 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * remote-sim.h (SIM_OPEN_KIND, SIM_RC): New enums.
+ (sim_open): New argument `kind'.
+
+Wed Apr 2 14:45:51 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * COPYING: Update FSF address.
+
+Fri Mar 28 15:29:54 1997 Mike Meissner <meissner@cygnus.com>
+
+ * callback.h (top level): Include stdarg.h or varargs.h if
+ va_start is not defined.
+ (host_callback_struct): Make {,e}vprintf_filtered take a va_list
+ instead of void *, since va_list might be an array or structure
+ type.
+
+Fri Mar 28 15:44:41 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * libiberty.h (basename): Add prototype for glibc and linux.
+
+Mon Mar 17 19:22:12 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * objalloc.h: New file.
+
+Mon Mar 17 14:57:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+ * remote-sim.h: New file, copied in from gdb/remote-sim.h. One
+ day this will be placed in a directory of its own.
+
+Sat Mar 15 19:00:14 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * obstack.h: Update to current FSF version.
+
+Thu Mar 6 15:46:59 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+ * callback.h (struct host_callback_struct): Add callbacks -
+ flush_stdout, write_stderr, flush_stderr, vprintf_filtered,
+ evprintf_filtered. Delete redundant callbacks - printf_filtered.
+
+Thu Feb 27 23:18:27 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Remove lprefix and lprefix_len
+ fields.
+
+Tue Feb 25 00:10:49 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize
+ bytes_per_chunk and display_endian.
+
+Mon Feb 24 17:47:02 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ From Eric Youngdale <eric@andante.jic.com>:
+ * bfdlink.h (struct bfd_elf_version_expr): Define.
+ (struct bfd_elf_version_deps): Define.
+ (struct bfd_elf_version_tree): Define.
+
+Thu Feb 6 14:20:01 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * dis-asm.h: (disassemble_info): Add new fields
+ bytes_per_chunk and display_endian to control the
+ display of raw instructions.
+
+Fri Dec 27 22:17:37 1996 Fred Fish <fnf@cygnus.com>
+
+ * dis-asm.h (print_insn_tic80): Declare.
+
+Sun Dec 8 17:11:12 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * callback.h (host_callback): New member `error'.
+
+Wed Nov 20 00:40:23 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * callback.h: New file, moved here from gdb.
+
+Mon Nov 18 16:34:00 1996 Dawn Perchik <dawn@critters.cygnus.com>
+
+ * libiberty.h: Checkin again; last checkin failed due to sticky tag.
+
+Wed Nov 13 08:22:00 1996 Dawn Perchik <dawn@critters.cygnus.com>
+
+ * libiberty.h: Revert last commit due to conflicts with hpux
+ system headers.
+
+Tue Nov 12 16:31:00 1996 Dawn Perchik <dawn@critters.cygnus.com>
+
+ * libiberty.h: Move prototypes from argv.c here.
+
+Thu Oct 31 14:56:18 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * ansidecl.h (VPARAMS,VA_START): Define.
+
+Fri Oct 25 12:08:04 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * dis-asm.h (disassemble_info): Add bytes_per_line field.
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize bytes_per_line field.
+
+Thu Oct 24 17:10:01 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * dis-asm.h (disassemble_info): Add symbol field.
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize symbol field.
+
+Thu Oct 17 11:17:40 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * dis-asm.h (print_insn_m32r): Declare.
+
+Mon Oct 14 23:56:52 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * libiberty.h: Declare parameter types for xmalloc and xrealloc.
+
+Thu Oct 3 13:45:27 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * fnmatch.h: New file.
+
+Thu Oct 3 10:33:14 1996 Jeffrey A Law (law@cygnus.com)
+
+ * dis-asm.h (print_insn_mn10x00): Delete declaration.
+ (print_insn_mn10200, print_insn_mn10300): Declare.
+
+Wed Oct 2 21:24:43 1996 Jeffrey A Law (law@cygnus.com)
+
+ * dis-asm.h (print_insn_mn10x00): Declare.
+
+Mon Sep 30 13:56:11 1996 Fred Fish <fnf@cygnus.com>
+
+ * libiberty.h: Remove #ifndef PRIVATE_XMALLOC.
+
+Sat Aug 31 13:27:06 1996 Jeffrey A Law (law@cygnus.com)
+
+ * dis-asm.h (print_insn_v850): Declare.
+
+Tue Aug 13 16:10:30 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * obstack.h: Change bcopy to memcpy. Works better on Posix
+ systems, which generally lack bcopy.
+
+Mon Aug 12 17:03:18 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * ansidecl.h: Change WIN32 to _WIN32.
+
+Fri Jul 26 13:58:18 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * dis-asm.h: Add flavour field.
+ (print_insn_alpha): Declare.
+ (print_insn_alpha_osf, print_insn_alpha_vms): Don't declare.
+ (INIT_DISASSEMBLE_INFO): Initialize flavour field.
+
+Tue Jul 23 17:37:58 1996 Fred Fish <fnf@cygnus.com>
+
+ * 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.
+
+Mon Jul 22 13:16:13 1996 Richard Henderson <rth@tamu.edu>
+
+ * dis-asm.h (print_insn_alpha): Don't declare.
+ (print_insn_alpha_osf, print_insn_alpha_vms): Declare.
+
+Wed Jul 17 14:45:12 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * dis-asm.h: (print_insn_d10v): Declare.
+
+Mon Jul 15 16:55:38 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * dis-asm.h: Get rid of decls for print_insn_i8086,
+ print_insn_sparc64 and print_insn_sparclite.
+ * (INIT_DISASSEMBLE_INFO): Split into two pieces. One,
+ INIT_DISASSEMBLE_INFO_NO_ARCH inits everything except for endian,
+ mach, and arch.
+
+Fri Jul 12 10:19:27 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * dis-asm.h (print_insn_i8086): Declare.
+
+Wed Jul 3 16:02:39 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * dis-asm.h (print_insn_sparclite): Declare.
+
+Tue Jun 18 16:02:46 1996 Jeffrey A. Law <law@rtl.cygnus.com>
+
+ * dis-asm.h (print_insn_h8300s): Declare.
+
+Tue Jun 18 15:11:33 1996 Klaus Kaempf <kkaempf@progis.de>
+
+ * fopen-vms.h: New file.
+
+Tue Jun 4 18:58:16 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Add notice_all field.
+
+Fri Apr 26 10:33:12 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * demangle.h (#ifdef IN_GCC): #include "gansidecl.h".
+ (PROTO,PTR,const): Delete.
+
+Mon Apr 22 17:27:42 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Add traditional_format field.
+
+Mon Apr 15 15:16:56 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libiberty.h (choose_temp_base): Add prototype.
+
+Tue Mar 12 17:29:46 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (bfd_wrapped_link_hash_lookup): Declare.
+ (struct bfd_link_info): Add wrap_hash field.
+
+Wed Feb 14 16:49:17 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
+
+ * ieee.h (ieee_record_enum_type): Define
+ ieee_external_reference_info_enum.
+
+Fri Feb 2 17:09:25 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * dis-asm.h (DISASM_RAW_INSN): Delete.
+
+Tue Jan 23 09:21:47 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * dis-asm.h (INIT_DISASSEMBLE_INFO): Set endian to BFD_ENDIAN_UNKNOWN.
+ New argument FPRINTF_FUNC.
+
+Mon Jan 22 16:37:59 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * dis-asm.h (disassemble_info): New members arch, mach, endian.
+ (INIT_DISASSEMBLE_INFO): Initialize them.
+ (DISASM_RAW_INSN{,FLAG}): Define.
+
+Thu Jan 18 11:32:38 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * demangle.h (cplus_demangle_opname): Change opname parameter to
+ const char *.
+ (cplus_mangle_opname): Change return type and opname parameter to
+ const char *.
+
+Fri Jan 5 00:01:22 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * ieee.h (enum ieee_record): Add ieee_asn_record_enum,
+ ieee_at_record_enum, ieee_ty_record_enum, ieee_atn_record_enum,
+ ieee_bb_record_enum, and ieee_be_record_enum.
+
+Wed Jan 3 13:12:09 1996 Fred Fish <fnf@cygnus.com>
+
+ * obstack.h: Update copyright to 1996.
+ (_obstack_memory_used): Declare.
+ (obstack_memory_used): Define macro.
+
+Thu Dec 28 11:42:12 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * libiberty.h (xstrdup): Declare.
+
+Thu Dec 21 14:47:17 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * wait.h: Protect all macros with #ifndef.
+
+Tue Oct 24 21:45:40 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Add static_link field.
+
+Tue Sep 12 16:28:04 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_callbacks): Add symbol parameter to
+ warning callback.
+
+Fri Sep 1 13:11:51 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_callbacks): Change warning callback
+ to take BFD, section, and address arguments.
+
+Thu Aug 31 16:45:12 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Remove PE stuff.
+
+Tue Aug 22 03:18:23 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
+
+ * libiberty.h: Declare xstrerror. From Pat Rankin.
+
+Mon Aug 21 18:11:36 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Remove PE stuff.
+
+Wed Aug 2 08:14:12 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * dis-asm.h (print_insn_sparc64): Declare.
+
+Mon Jul 10 13:26:49 1995 Eric Youngdale <eric@aib.com>
+
+ * bfdlink.h (struct bfd_link_info): Add new field symbolic.
+
+Sun Jul 2 17:48:40 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Change type of base_file to
+ PTR.
+
+Thu Jun 29 00:02:45 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Added base_file member.
+
+Tue Jun 20 16:40:04 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * ansidecl.h: win32s is ANSI enough.
+
+Thu May 18 04:25:50 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
+
+ Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
+
+ * dis-asm.h (print_insn_arm): Delete declaration.
+ (print_insn_{little,big}_arm): New declarations.
+
+ * floatformat.h (floatformat_arm_ext): Declare.
+
+Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * bfdlink.h (subsytem, stack_heap_parameters): New.
+
+Thu May 4 14:36:42 1995 Jason Merrill <jason@phydeaux.cygnus.com>
+
+ * demangle.h: Don't include ansidecl.h if IN_GCC.
+
+Tue Feb 21 00:37:28 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * hp-symtab.h: Don't use bitfield enumerations, the HP C compiler
+ does not handle them correctly.
+
+Thu Feb 9 14:20:27 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * libiberty.h (basename): Don't declare parameter type; some
+ systems have this in their header files.
+
+Wed Feb 8 17:35:38 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_hash_entry): Change format of common
+ symbol information, to remove restrictions on maximum size and
+ alignment power, by using a pointer to a structure instead.
+
+Mon Feb 6 14:55:32 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (enum bfd_link_hash_type): Rename bfd_link_hash_weak
+ to bfd_link_hash_undefweak. Add bfd_link_hash_defweak.
+
+Mon Jan 16 21:00:23 1995 Stan Shebs <shebs@andros.cygnus.com>
+
+ * dis-asm.h (GDB_INIT_DISASSEMBLE_INFO, etc): Remove all
+ GDB-specific definitions.
+
+Sun Jan 15 18:39:35 1995 Steve Chamberlain <sac@splat>
+
+ * dis-asm.h (print_insn_w65): Declare.
+
+Thu Jan 12 17:51:17 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * libiberty.h (hex_p): Fix sense of test.
+
+Wed Jan 11 22:36:40 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * libiberty.h (_hex_array_size, _hex_bad, _hex_value, hex_init,
+ hex_p, hex_value): New macros and declarations, for hex.c.
+
+Fri Jan 6 17:44:14 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * dis-asm.h: Make idempotent.
+
+Wed Dec 14 13:08:43 1994 Stan Shebs <shebs@andros.cygnus.com>
+
+ * progress.h: New file, empty definitions for progress macros.
+
+Fri Nov 25 00:14:05 1994 Jeff Law (law@snake.cs.utah.edu)
+
+ * hp-symtab.h: New file describing the debug symbols emitted
+ by the HP C compilers.
+
+Fri Nov 11 15:48:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * bfdlink.h (struct bfd_link_hash_entry): Change u.c.size from 24
+ to 26 bits, and change u.c.alignment_power from 8 to 6 bits. 6
+ bit in the alignment power is enough for a 64 bit address space.
+
+Mon Oct 31 13:02:51 1994 Stan Shebs (shebs@andros.cygnus.com)
+
+ * demangle.h (cplus_mangle_opname): Declare.
+
+Tue Oct 25 11:38:02 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * bfdlink.h (struct bfd_link_callbacks): Fix comments for
+ multiple_common field.
+
+Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
+
+ * dis-asm.h: Add support for the ARM.
+
+Wed Aug 10 12:51:41 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libiberty.h (strsignal): Document its existence even if we
+ can't declare it.
+
+Tue Aug 2 14:40:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * os9k.h: Remove u_int16, u_int32, and owner_id typedefs and
+ expand their uses. Those names conflict with Mach headers.
+
+Fri Jul 22 14:17:12 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_hash_entry): Change u.c.size into a
+ bitfield. Add field u.c.alignment_power.
+
+Sun Jul 10 00:26:39 1994 Ian Dall (dall@hfrd.dsto.gov.au)
+
+ * dis-asm.h: Add print_insn_ns32k declaration.
+
+Mon Jun 20 17:13:29 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * bfdlink.h (bfd_link_hash_table): Make creator a const pointer.
+
+Sat Jun 18 16:09:32 1994 Stan Shebs (shebs@andros.cygnus.com)
+
+ * demangle.h (cplus_demangle_opname): Declare.
+
+Thu Jun 16 15:19:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_info): Add new field shared.
+
+Mon Jun 6 14:39:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_hash_entry): Remove written field:
+ not needed for all backends.
+
+Thu Apr 28 19:06:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * dis-asm.h (disassembler): Declare.
+
+Fri Apr 1 00:38:17 1994 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
+
+ * obstack.h: Delete use of IN_GCC to control whether
+ stddef.h or gstddef.h is included.
+
+Tue Mar 22 13:06:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (enum bfd_link_order_type): Add bfd_data_link_order.
+ (struct bfd_link_order): Add data field to union.
+
+Mon Mar 21 18:45:26 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_callbacks): Change bitsize argument
+ to add_to_set to reloc. Remove bitsize argument from constructor.
+ Comment that reloc_overflow, reloc_dangerous and unattached_reloc
+ must handle NULL pointers for reloc location.
+ (enum bfd_link_order_type): Add bfd_section_reloc_link_order and
+ bfd_symbol_reloc_link_order.
+ (struct bfd_link_order): Add reloc field to union.
+ (struct bfd_link_order_reloc): Define.
+
+Mon Mar 14 12:27:50 1994 Ian Lance Taylor (ian@cygnus.com)
+
+ * ieee-float.h: Removed; no longer used.
+
+Tue Mar 1 18:10:49 1994 Kung Hsu (kung@mexican.cygnus.com)
+
+ * os9k.h: os9000 target specific header file, the header of the
+ object file is used now.
+
+Sun Feb 27 21:52:26 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
+
+ * floatformat.h: New file, intended to replace ieee-float.h.
+
+Sun Feb 20 17:15:42 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
+
+ * ansidecl.h (ANSI_PROTOTYPES): Define if using ANSI prototypes.
+
+Wed Feb 16 01:07:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * libiberty.h: Don't declare strsignal, to avoid conflicts with
+ Solaris system header files.
+
+Sat Feb 12 22:11:32 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * libiberty.h (xexit): Use __volatile__ to avoid losing if
+ compiling with gcc -traditional.
+
+Thu Feb 10 14:05:41 1994 Ian Lance Taylor (ian@cygnus.com)
+
+ * libiberty.h: New file. Declares functions provided by
+ libiberty.
+
+Tue Feb 8 05:19:52 1994 David J. Mackenzie (djm@thepub.cygnus.com)
+
+ Handle obstack_chunk_alloc returning NULL. This allows
+ obstacks to be used by libraries, without forcing them
+ to call exit or longjmp.
+ * obstack.h (struct obstack): Add alloc_failed flag.
+ _obstack_begin, _obstack_begin_1): Declare to return int, not void.
+ (obstack_finish): If alloc_failed, return NULL.
+ (obstack_base, obstack_next_free, objstack_object_size):
+ If alloc_failed, return 0.
+ (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
+ obstack_int_grow, obstack_blank): If alloc_failed, do nothing that
+ could corrupt the obstack.
+
+Mon Jan 24 15:06:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_callbacks): Add name, reloc_name and
+ addend argments to reloc_overflow callback.
+
+Fri Jan 21 19:13:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * dis-asm.h (print_insn_big_powerpc, print_insn_little_powerpc,
+ print_insn_rs6000): Declare.
+
+Thu Jan 6 14:15:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_callbacks): Add bitsize argument to
+ add_to_set field. Add new callback named constructor.
+
+Thu Dec 30 10:44:06 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
+
+ * bfdlink.h: New file for new BFD linker backend routines.
+
+Mon Nov 29 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * dis-asm.h (enum dis_insn_tyupe): Remove non-ANSI trailing comma.
+
+Sat Oct 2 20:42:26 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * dis-asm.h: Move comment to right place.
+
+Mon Aug 9 19:03:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
+
+ * obstack.h (obstack_chunkfun, obstack_freefun): Add defns from
+ previous version. Are these Cygnus local changes?
+
+Fri Aug 6 17:05:47 1993 David J. Mackenzie (djm@thepub.cygnus.com)
+
+ * getopt.h, obstack.h: Update to latest FSF version.
+
+Mon Aug 2 14:45:29 1993 John Gilmore (gnu@cygnus.com)
+
+ * dis-asm.h: Move enum outside of struct defn to avoid warnings.
+
+Mon Aug 2 08:49:30 1993 Stu Grossman (grossman at cygnus.com)
+
+ * wait.h (WEXITSTATUS, WSTOPSIG): Mask down to 8 bits. This is
+ for systems that store stuff into the high 16 bits of a wait
+ status.
+
+Fri Jul 30 18:38:02 1993 John Gilmore (gnu@cygnus.com)
+
+ * dis-asm.h: Add new fields insn_info_valid, branch_delay_insns,
+ data_size, insn_type, target, target2. These are used to return
+ information from the instruction decoders back to the calling
+ program. Add comments, make more readable.
+
+Mon Jul 19 22:14:14 1993 Fred Fish (fnf@deneb.cygnus.com)
+
+ * nlm: New directory containing NLM/NetWare includes.
+
+Thu Jul 15 12:10:04 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * dis-asm.h (struct disassemble_info): New field application_data.
+
+Thu Jul 15 12:41:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * dis-asm.h: Added declaration of print_insn_m88k.
+
+Fri Jul 2 10:31:59 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * ansidecl.h: Use ANSI macros if __mips and _SYSTYPE_SVR4 are
+ defined, since RISC/OS cc handles ANSI declarations in SVR4 mode
+ but does not define __STDC__.
+
+Sun Jun 20 18:27:52 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
+
+ * dis-asm.h: Don't need to include ansidecl.h any more.
+
+Fri Jun 18 03:22:10 1993 John Gilmore (gnu@cygnus.com)
+
+ * oasys.h: Eliminate "int8_type", "int16_type", "int32_type", and
+ their variants. These changes are coordinated with corresponding
+ changes in ../bfd/oasys.c.
+
+Wed Jun 16 10:43:08 1993 Fred Fish (fnf@cygnus.com)
+
+ * bfd.h: Note that it has been removed.
+
+Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ Support for H8/300-H
+ * dis-asm.h (print_insn_h8300, print_insn_h8300h): Declare it.
+
+Tue Jun 1 07:35:03 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
+
+ * ansidecl.h (const): Don't define it if it's already defined.
+
+Thu May 27 18:19:51 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * dis-asm.h (print_insn_hppa): Declare it.
+
+ * bfd.h: Moved to bfd directory. Small stub here includes it
+ without requiring "-I../bfd".
+
+Thu Apr 29 12:06:13 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
+
+ * bfd.h: Updated with BSF_FUNCTION.
+
+Mon Apr 26 18:15:50 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h, dis-asm.h: Updated with Hitachi SH.
+
+Fri Apr 23 18:41:38 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h: Updated with alpha changes.
+ * dis-asm.h: Added alpha.
+
+Fri Apr 16 17:35:30 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * bfd.h: Update for signed bfd_*get_*.
+
+Thu Apr 15 09:24:21 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * bfd.h: Updated for file_truncated error.
+
+Thu Apr 8 10:53:47 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * ansidecl.h: If no ANSI, define const to be empty.
+
+Thu Apr 1 09:00:10 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * dis-asm.h: Declare a29k and i960 print_insn_*.
+
+ * dis-asm.h: Add print_address_func and related stuff.
+
+ * dis-asm.h (dis_asm_read_memory): Fix prototype.
+
+Wed Mar 31 17:40:16 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * dis-asm.h: Add print_insn_sparc.
+
+Wed Mar 31 17:51:42 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * bfd.h: Updated for BFD_RELOC_MIPS_GPREL and bfd_[gs]et_gp_size
+ prototypes.
+
+Wed Mar 31 16:35:12 1993 Stu Grossman (grossman@cygnus.com)
+
+ * dis-asm.h: (disassemble_info): Fix typo in prototype of
+ dis_asm_memory_error().
+
+Tue Mar 30 19:09:23 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * dis-asm.h (disassembler_info): Add read_memory_func,
+ memory_error_func, buffer, and length.
+ ({GDB_,}INIT_DISASSEMBLE_INFO): Set them.
+ print_insn_*: Remove second argument.
+
+Tue Mar 30 14:48:55 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h: Update for lma field of section.
+
+Tue Mar 30 12:22:55 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * ansidecl.h: Use ANSI versions on AIX regardless of __STDC__.
+
+Fri Mar 19 14:49:49 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * dis-asm.h: Add h8500.
+
+Thu Mar 18 13:49:09 1993 Per Bothner (bothner@rtl.cygnus.com)
+
+ * ieee-float.h: Moved from ../gdb.
+ * dis-asm.h: New file. Interface to dis-assembler.
+
+Thu Mar 11 10:52:57 1993 Fred Fish (fnf@cygnus.com)
+
+ * demangle.h (DMGL_NO_OPTS): Add define (set to 0) to use
+ in place of bare 0, for readability reasons.
+
+Tue Mar 2 17:50:11 1993 Fred Fish (fnf@cygnus.com)
+
+ * demangle.h: Replace all references to cfront with ARM.
+
+Tue Feb 23 12:21:14 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * bfd.h: Update for new elements in JUMP_TABLE.
+
+Tue Feb 16 00:51:30 1993 John Gilmore (gnu@cygnus.com)
+
+ * bfd.h: Update for BFD_VERSION 2.1.
+
+Tue Jan 26 11:49:20 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * bfd.h: Update for SEC_IS_COMMON flag.
+
+Tue Jan 19 12:25:12 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfd.h: Update for bfd_asymbol_value bug fix.
+
+Fri Jan 8 16:37:18 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfd.h: Update to include ECOFF tdata and target_flavour.
+
+Sun Dec 27 17:52:30 1992 Fred Fish (fnf@cygnus.com)
+
+ * bfd.h: Add declaration for bfd_get_size().
+
+Tue Dec 22 22:42:46 1992 Fred Fish (fnf@cygnus.com)
+
+ * demangle.h: Protect file from multiple inclusions with
+ #if !defined(DEMANGLE_H)...#define DEMANGLE_H...#endif.
+
+Mon Dec 21 21:25:50 1992 Stu Grossman (grossman at cygnus.com)
+
+ * bfd.h: Update to get hppa_core_struct from bfd.c.
+
+Thu Dec 17 00:42:35 1992 John Gilmore (gnu@cygnus.com)
+
+ * bfd.h: Update to get tekhex tdata name change from bfd.
+
+Mon Nov 9 23:55:42 1992 John Gilmore (gnu@cygnus.com)
+
+ * ansidecl.h: Update comments to discourage use of EXFUN.
+
+Thu Nov 5 16:35:44 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * bfd.h: Update to bring in SEC_SHARED_LIBRARY.
+
+Thu Nov 5 03:21:32 1992 John Gilmore (gnu@cygnus.com)
+
+ * bfd.h: Update to match EXFUN, bfd_seclet_struct, and SDEF
+ cleanups in bfd.
+
+Wed Nov 4 07:28:05 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * bout.h (N_CALLNAME, N_BALNAME): Define as char-type values, so
+ widening works consistently.
+
+Fri Oct 16 03:17:08 1992 John Gilmore (gnu@cygnus.com)
+
+ * getopt.h: Update to Revised Standard FSF Version.
+
+Thu Oct 15 21:43:22 1992 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * getopt.h (struct option): use the provided enum for has_arg.
+
+ * demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING,
+ LUCID_DEMANGLING): ultrix compilers require enums to be
+ enums and ints to be ints and casts where they meet. cast some
+ enums into ints.
+
+Thu Oct 15 04:35:51 1992 John Gilmore (gnu@cygnus.com)
+
+ * bfd.h: Update after comment changes.
+
+Thu Oct 8 09:03:02 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h (bfd_get_symbol_leading_char): new macro for getting in xvec
+
+Thu Sep 3 09:10:50 1992 Stu Grossman (grossman at cygnus.com)
+
+ * bfd.h (struct reloc_howto_struct): size needs to be signed if
+ it's going to hold negative values.
+
+Sun Aug 30 17:50:27 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * demangle.h: New file, moved from ../gdb. Made independent
+ of gdb. Allow demangling style option to be passed as a
+ parameter to cplus_demangle(), but using the
+ current_demangling_style global as the default.
+
+Sat Aug 29 10:07:55 1992 Fred Fish (fnf@cygnus.com)
+
+ * obstack.h: Merge comment change from current FSF version.
+
+Thu Aug 27 12:59:29 1992 Brendan Kehoe (brendan@cygnus.com)
+
+ * bfd.h: add we32k
+
+Tue Aug 25 15:07:47 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h: new after Z8000 stuff
+
+Mon Aug 17 09:01:23 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * bfd.h: Regenerated after page/segment size changes.
+
+Sat Aug 1 13:46:31 1992 Fred Fish (fnf@cygnus.com)
+
+ * obstack.h: Merge changes from current FSF version.
+
+Mon Jul 20 21:06:23 1992 Fred Fish (fnf@cygnus.com)
+
+ * obstack.h (area_id, flags): Remove, replace with extra_arg,
+ use_extra_arg, and maybe_empty_object.
+ * obstack.h (OBSTACK_MAYBE_EMPTY_OBJECT, OBSTACK_MMALLOC_LIKE):
+ Remove, replaced by maybe_empty_object and use_extra_arg bitfields.
+ * obstack.h (obstack_full_begin, _obstack_begin): Remove area_id
+ and flags arguments.
+ * obstack.h (obstack_alloc_arg): New macro to set extra_arg.
+
+Thu Jul 16 08:12:44 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h: new after adding BFD_IS_RELAXABLE
+
+Sat Jul 4 03:22:23 1992 John Gilmore (gnu at cygnus.com)
+
+ * bfd.h: Regen after adding BSF_FILE.
+
+Mon Jun 29 14:18:36 1992 Fred Fish (fnf at sunfish)
+
+ * obstack.h: Convert bcopy() use to memcpy(), which is more
+ portable, more standard, and can take advantage of gcc's builtin
+ functions for increased performance.
+
+Thu Jun 25 04:46:08 1992 John Gilmore (gnu at cygnus.com)
+
+ * ansidecl.h (PARAMS): Incorporate this macro from gdb's defs.h.
+ It's a cleaner way to forward-declare function prototypes.
+
+Fri Jun 19 15:46:32 1992 Stu Grossman (grossman at cygnus.com)
+
+ * bfd.h: HPPA merge.
+
+Tue Jun 16 21:30:56 1992 K. Richard Pixley (rich@cygnus.com)
+
+ * getopt.h: gratuitous white space changes merged from other prep
+ releases.
+
+Thu Jun 11 01:10:55 1992 John Gilmore (gnu at cygnus.com)
+
+ * bfd.h: Regen'd from bfd.c after removing elf_core_tdata_struct.
+
+Mon May 18 17:29:03 1992 K. Richard Pixley (rich@cygnus.com)
+
+ * getopt.h: merged changes from make-3.62.11.
+
+ * getopt.h: merged changes from grep-1.6 (alpha).
+
+Fri May 8 14:53:32 1992 K. Richard Pixley (rich@cygnus.com)
+
+ * getopt.h: merged changes from bison-1.18.
+
+Sat Mar 14 17:25:20 1992 Fred Fish (fnf@cygnus.com)
+
+ * obstack.h: Add "area_id" and "flags" members to obstack
+ structure. Add obstack_chunkfun() and obstack_freefun() to
+ set functions explicitly. Convert maybe_empty_object to
+ a bit in "flags".
+
+Thu Feb 27 22:01:02 1992 Per Bothner (bothner@cygnus.com)
+
+ * wait.h (WIFSTOPPED): Add IBM rs6000-specific version.
+
+Fri Feb 21 20:49:20 1992 John Gilmore (gnu at cygnus.com)
+
+ * obstack.h: Add obstack_full_begin.
+ * bfd.h, obstack.h: Protolint.
+
+Thu Jan 30 01:18:42 1992 John Gilmore (gnu at cygnus.com)
+
+ * bfd.h: Remove comma from enum declaration.
+
+Mon Jan 27 22:01:13 1992 Steve Chamberlain (sac at cygnus.com)
+
+ * bfd.h : new target entr, bfd_relax_section
+
+Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com)
+
+ * bfd.h, ieee.h: ANSIfy enums.
+
+Thu Dec 12 20:59:56 1991 John Gilmore (gnu at cygnus.com)
+
+ * fopen-same.h, fopen-bin.h: New files for configuring
+ whether fopen distinguishes binary files or not. For use
+ by host-dependent config files.
+
+Sat Nov 30 20:46:43 1991 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * bfd.h: change the documentation format.
+
+ * created coff, elf and opcode and aout directories. Moved:
+
+ aout64.h ==> aout/aout64.h
+ ar.h ==> aout/ar.h
+ a.out.encap.h ==> aout/encap.h
+ a.out.host.h ==> aout/host.h
+ a.out.hp.h ==> aout/hp.h
+ a.out.sun4.h ==> aout/sun4.h
+ ranlib.h ==> aout/ranlib.h
+ reloc.h ==> aout/reloc.h
+ stab.def ==> aout/stab.def
+ stab.gnu.h ==> aout/stab_gnu.h
+
+ coff-a29k.h ==> coff/a29k.h
+ coff-h8300.h ==> coff/h8300.h
+ coff-i386.h ==> coff/i386.h
+ coff-i960.h ==> coff/i960.h
+ internalcoff.h ==> coff/internal.h
+ coff-m68k.h ==> coff/m68k.h
+ coff-m88k.h ==> coff/m88k.h
+ coff-mips.h ==> coff/mips.h
+ coff-rs6000.h ==> coff/rs6000.h
+
+ elf-common.h ==> elf/common.h
+ dwarf.h ==> elf/dwarf.h
+ elf-external.h ==> elf/external.h
+ elf-internal.h ==> elf/internal.h
+
+ a29k-opcode.h ==> opcode/a29k.h
+ arm-opcode.h ==> opcode/arm.h
+ h8300-opcode.h ==> opcode/h8300.h
+ i386-opcode.h ==> opcode/i386.h
+ i860-opcode.h ==> opcode/i860.h
+ i960-opcode.h ==> opcode/i960.h
+ m68k-opcode.h ==> opcode/m68k.h
+ m88k-opcode.h ==> opcode/m88k.h
+ mips-opcode.h ==> opcode/mips.h
+ np1-opcode.h ==> opcode/np1.h
+ ns32k-opcode.h ==> opcode/ns32k.h
+ pn-opcode.h ==> opcode/pn.h
+ pyr-opcode.h ==> opcode/pyr.h
+ sparc-opcode.h ==> opcode/sparc.h
+ tahoe-opcode.h ==> opcode/tahoe.h
+ vax-opcode.h ==> opcode/vax.h
+
+
+
+Wed Nov 27 10:38:31 1991 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * internalcoff.h: (internal_scnhdr) took out #def dependency, now
+ s_nreloc and s_nlnno are always long. (internal_reloc): allways
+ has an offset field now.
+
+Fri Nov 22 08:12:58 1991 John Gilmore (gnu at cygnus.com)
+
+ * coff-rs6000.h: Lint; use unsigned chars for external fields.
+ * internalcoff.h: Lint; cast storage classes to signed char.
+
+Thu Nov 21 21:01:05 1991 Per Bothner (bothner at cygnus.com)
+
+ * stab.def: Remove the GNU extended type codes (e.g. N_SETT).
+ * aout64.h: The heuristic for distinguishing between
+ sunos-style and bsd-style ZMAGIC files (wrt. where the
+ text segment starts) is moved into (the default definition of)
+ the macro N_HEADER_IN_TEXT. This definition is only used
+ if no other definition is used - e.g. bfd/newsos3.c defines
+ N_HEADER_IN_TEXT(x) to be always 0 (as before).
+
+Thu Nov 21 11:53:03 1991 John Gilmore (gnu at cygnus.com)
+
+ * aout64.h (N_TXTADDR, N_TXTOFF, N_TXTSIZE): New definitions
+ that should handle all uses. LOGICAL_ versions deleted.
+ Eliminate N_HEADER_IN_TEXT, using a_entry to determine which
+ kind of zmagic a.out file we are looking at.
+ * coff-rs6000.h: Typo.
+
+Tue Nov 19 18:43:37 1991 Per Bothner (bothner at cygnus.com)
+
+ (Note: This is a revised entry, as was aout64.h.)
+ * aout64.h: Some cleanups of N_TXTADDR and N_TXTOFF:
+ Will now work for both old- and new-style ZMAGIC files,
+ depending on N_HEADER_IN_TEXT macro.
+ Add LOGICAL_TXTADDR, LOICAL_TXTOFF and LOGICAL_TXTSIZE
+ that don't count the exec header as part
+ of the text segment, to be consistent with bfd.
+ * a.out.sun4.h: Simplified/fixed for previous change.
+
+Mon Nov 18 00:02:06 1991 Fred Fish (fnf at cygnus.com)
+
+ * dwarf.h: Update to DWARF draft 5 version from gcc2.
+
+Thu Nov 14 19:44:59 1991 Per Bothner (bothner at cygnus.com)
+
+ * stab.def: Added defs for extended GNU symbol types,
+ such as N_SETT. These are normally ifdef'd out (because
+ of conflicts with a.out.gnu.h), but are used by bfb_stab_name().
+
+Thu Nov 14 19:17:03 1991 Fred Fish (fnf at cygnus.com)
+
+ * elf-common.h: Add defines to support ELF symbol table code.
+
+Mon Nov 11 19:01:06 1991 Fred Fish (fnf at cygnus.com)
+
+ * elf-internal.h, elf-external.h, elf-common.h: Add support for
+ note sections, which are used in ELF core files to hold copies
+ of various /proc structures.
+
+Thu Nov 7 08:58:26 1991 Steve Chamberlain (sac at cygnus.com)
+
+ * internalcoff.h: took out the M88 dependency in the lineno
+ struct.
+ * coff-m88k.h: defines GET_LINENO_LNNO and PUT_LINENO_LNNO to use
+ 32bit linno entries.
+ * a29k-opcode.h: fixed encoding of mtacc
+
+Sun Nov 3 11:54:22 1991 Per Bothner (bothner at cygnus.com)
+
+ * bfd.h: Updated from ../bfd/bfd-in.h (q.v).
+
+Fri Nov 1 11:13:53 1991 John Gilmore (gnu at cygnus.com)
+
+ * internalcoff.h: Add x_csect defines.
+
+Fri Oct 25 03:18:20 1991 John Gilmore (gnu at cygnus.com)
+
+ * Rename COFF-related files in `coff-ARCH.h' form.
+ coff-a29k.h, coff-i386.h, coff-i960.h, coff-m68k.h, coff-m88k.h,
+ coff-mips.h, coff-rs6000.h to be exact.
+
+Thu Oct 24 22:11:11 1991 John Gilmore (gnu at cygnus.com)
+
+ RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and
+ John Gilmore.
+
+ * a.out.gnu.h: Update slightly.
+ * bfd.h: Add new error code, fix doc, add bfd_arch_rs6000.
+ * internalcoff.h: Add more F_ codes for filehdr. Add
+ rs/6000-dependent fields to aouthdr. Add storage classes
+ to syments. Add 6000-specific auxent. Add r_size in reloc.
+ * rs6000coff.c: New file.
+
+Thu Oct 24 04:13:20 1991 Fred Fish (fnf at cygnus.com)
+
+ * dwarf.h: New file for dwarf support. Copied from gcc2
+ distribution.
+
+Wed Oct 16 13:31:45 1991 John Gilmore (gnu at cygnus.com)
+
+ * aout64.h: Remove PAGE_SIZE defines; they are target-dependent.
+ Add N_FN_SEQ for N_FN symbol type used on Sequent machines.
+ * stab.def: Include N_FN_SEQ in table.
+ * bout.h: External formats of structures use unsigned chars.
+
+Fri Oct 11 12:40:43 1991 Steve Chamberlain (steve at cygnus.com)
+
+ * bfd.h:upgrade from bfd.c
+ * internalcoff.h: add n_name, n_zeroes and n_offset macros
+ * amdcoff.h: Define OMAGIC and AOUTHDRSZ.
+
+Fri Oct 11 10:58:06 1991 Per Bothner (bothner at cygnus.com)
+
+ * a.out.host.h: Change SEGMENT_SIZE to 0x1000 for Sony.
+ * bfd.h (align_power): Add (actually move) comment.
+
+Tue Oct 8 15:29:32 1991 Per Bothner (bothner at cygnus.com)
+
+ * sys/h-rtbsd.h: Define MISSING_VFPRINT (for binutils/bucomm.c).
+
+Sun Oct 6 19:24:39 1991 John Gilmore (gnu at cygnus.com)
+
+ * aout64.h: Move struct internal_exec to ../bfd/libaout.h so
+ it can be shared by all `a.out-family' code. Rename
+ EXTERNAL_LIST_SIZE to EXTERNAL_NLIST_SIZE. Use basic types
+ for nlist members, and make strx integral rather than pointer.
+ More commentary on n_type values.
+ * bout.h: Provide a struct external_exec rather than an
+ internal_exec.
+ * m68kcoff.h: Remove `tagentries' which snuck in from the i960
+ COFF port.
+
+Fri Oct 4 01:25:59 1991 John Gilmore (gnu at cygnus.com)
+
+ * h8300-opcode.h: Remove `_enum' from the typedef for an enum.
+ * bfd.h: Update to match bfd changes.
+
+ * sys/h-i386mach.h, sysdep.h: Add 386 Mach host support.
+
+Tue Oct 1 04:58:42 1991 John Gilmore (gnu at cygnus.com)
+
+ * bfd.h, elf-common.h, elf-external.h, elf-internal.h:
+ Add preliminary ELF support, sufficient for GDB, from Fred Fish.
+ * sysdep.h, sys/h-amix.h: Support Amiga SVR4.
+
+ * sys/h-vaxult.h: Make it work. (David Taylor <taylor@think.com>)
+ * a.out.vax.h: Remove unused and confusing file.
+
+Mon Sep 30 12:52:35 1991 Per Bothner (bothner at cygnus.com)
+
+ * sysdep.h: Define NEWSOS3_SYS, and use it.
+
+Fri Sep 20 13:38:21 1991 John Gilmore (gnu at cygnus.com)
+
+ * a.out.gnu.h (N_FN): Its value *really is* 0x1F.
+ Fix it, and add comments warning about or-ing N_EXT with it
+ and/or N_WARNING.
+ * aout64.h (N_FN): Fix value, add comments about N_EXT.
+ * stab.def (table at end): Update to show all the type
+ values <0x20, including low order bits. Move N_FN to
+ its rightful place.
+
+Tue Sep 17 17:41:37 1991 Stu Grossman (grossman at cygnus.com)
+
+ * sys/h-irix3.h: sgi/irix support.
+
+Tue Sep 17 07:52:59 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * stab.def (N_DEFD): Add GNU Modula-2 debug stab, from Andrew
+ Beers.
+
+Thu Sep 12 14:12:59 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * internalcoff.h (SYMNMLEN, FILNMLEN, DIMNUM): Define these
+ for internalcoff, separately from the various external coff's.
+ * amdcoff.h, bcs88kcoff.h, i386coff.h, intel-coff.h, m68kcoff.h,
+ m88k-bcs.h: Prefix SYMNMLEN, FILNMLEN, and DIMNUM with E_'s for
+ the external struct definitions.
+ * ecoff.h: Remove these #define's, kludge no longer needed.
+
+ * sys/h-ultra3.h: Add new Ultracomputer host.
+ * sysdep.h: Add ULTRA3_SYM1_SYS and use it.
+
+Tue Sep 10 10:11:46 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * i386coff.h (LINESZ): Always 6, not based on sizeof().
+ (Fix from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.)
+
+Wed Sep 4 08:58:37 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * a.out.gnu.h, aout64.h: Add N_WARNING. Change N_FN to 0x0E,
+ to match SunOS and BSD. Add N_COMM as 0x12 for SunOS shared lib
+ support.
+ * stab.def: Add N_COMM to table, fix overlap comment.
+
+Tue Sep 3 06:29:20 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ Merge with latest FSF versions of these files.
+
+ * stab.gnu.h: Add LAST_UNUSED_STAB_CODE.
+ * stab.def: Update to GPL2. Move N_WARNING out, since not a
+ debug symbol. Change comments, and reorder table to numeric
+ order. Update final table comment.
+ (N_DSLINE, N_BSLINE): Renumber from 0x66 and 0x68, to 0x46 and 0x48.
+
+ * obstack.h: GPL2. Merge.
+
+Fri Aug 23 01:54:23 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * a.out.gnu.h, a.out.sun4.h: Make SEGMENT_SIZE able to depend
+ on the particular a.out being examined.
+ * a.out.sun4.h: Define segment sizes for Sun-3's and Sun-4's.
+ * FIXME: a.out.gnu.h is almost obsolete.
+ * FIXME: a.out.sun4.h should be renamed a.out.sun.h now.
+
+Wed Aug 21 20:32:13 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * Start a ChangeLog for the includes directory.
+
+ * a.out.gnu.h (N_FN): Fix value -- was 15, should be 0x1E.
+ * stab.def: Update allocation table in comments at end,
+ to reflect reality as I know it.
+
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/include/aout/ChangeLog b/include/aout/ChangeLog
index 0d054eae3c1..148a020e5cb 100644
--- a/include/aout/ChangeLog
+++ b/include/aout/ChangeLog
@@ -1,3 +1,7 @@
+2004-01-06 Mark Kettenis <kettenis@gnu.org>
+
+ * stab.def: Add N_PATCH to DO definition.
+
2003-03-06 Elias Athanasopoulos <elathan@phys.uoa.gr>
* aout64.h (BYTES_IN_WORD): Define if necessary.
diff --git a/include/aout/stab.def b/include/aout/stab.def
index 67bde35f10d..8188b845fc7 100644
--- a/include/aout/stab.def
+++ b/include/aout/stab.def
@@ -1,20 +1,20 @@
/* Table of DBX symbol codes for the GNU system.
- Copyright 1988, 1991, 1992, 1993, 1994, 1996, 1998
+ Copyright 1988, 1991, 1992, 1993, 1994, 1996, 1998, 2004
Free Software Foundation, Inc.
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* New stab from Solaris 2. This uses an n_type of 0, which in a.out files
overlaps the N_UNDF used for ordinary symbols. In ELF files, the
@@ -181,6 +181,9 @@ __define_stab (N_EXCL, 0xc2, "EXCL")
/* Modula-2 scope information. Can someone say what info it contains? */
__define_stab (N_SCOPE, 0xc4, "SCOPE")
+/* Solaris2: Patch Run Time Checker. */
+__define_stab (N_PATCH, 0xd0, "PATCH")
+
/* End of a lexical block. Desc matches the N_LBRAC's desc.
The value is the address of the end of the text for the block.
On Solaris2, the value is relative to the start of the current function. */
@@ -256,7 +259,7 @@ __define_stab (N_LENG, 0xfe, "LENG")
| B8 | BA | BC | BE |
| C0 LBRAC | C2 EXCL | C4 SCOPE | C6 |
| C8 | CA | CC | CE |
- | D0 | D2 | D4 | D6 |
+ | D0 PATCH | D2 | D4 | D6 |
| D8 | DA | DC | DE |
| E0 RBRAC | E2 BCOMM | E4 ECOMM | E6 |
| E8 ECOML | EA WITH | EC | EE |
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog
index d18113d52e9..33163834229 100644
--- a/include/coff/ChangeLog
+++ b/include/coff/ChangeLog
@@ -1,1160 +1,9 @@
-2003-12-02 Graham Reed <grahamr@algorithmics.com>
-
- * internal.h (C_WEAKEXT): Add alternative value for AIX 5.2
- based targets.
-
-2003-08-23 Jason Eckhardt <jle@rice.edu>
-
- * coff/i860.h (COFF860_R_PAIR, COFF860_R_LOW0, COFF860_R_LOW1,
- COFF860_R_LOW2, COFF860_R_LOW3, COFF860_R_LOW4, COFF860_R_SPLIT0,
- COFF860_R_SPLIT1, COFF860_R_SPLIT2, COFF860_R_HIGHADJ,
- COFF860_R_BRADDR): Define new relocation constants and document.
- Minor formatting adjustments.
-
-2003-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * ti.h (GET_SCNHDR_NRELOC): Rename PTR param to LOC.
- (PUT_SCNHDR_NRELOC, GET_SCNHDR_NLNNO, PUT_SCNHDR_NLNNO): Likewise.
- (GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Likewise.
- (GET_SCNHDR_PAGE, PUT_SCNHDR_PAGE): Likewise.
-
-2003-07-17 Jeff Muizelaar <muizelaar@rogers.com>
-
- * pe.h: (IMAGE_FILE_NET_RUN_FROM_SWAP): Define.
- (IMAGE_FILE_MACHINE_WCEMIPSV2): Define.
- (IMAGE_FILE_MACHINE_SH3DSP): Define.
- (IMAGE_FILE_MACHINE_SH3E): Define.
- (IMAGE_FILE_MACHINE_SH5): Define.
- (IMAGE_FILE_MACHINE_AM33): Define.
- (IMAGE_FILE_MACHINE_POWERPCFP): Define.
- (IMAGE_FILE_MACHINE_AXP64): Define.
- (IMAGE_FILE_MACHINE_TRICORE): Define.
- (IMAGE_FILE_MACHINE_CEF): Define.
- (IMAGE_FILE_MACHINE_EBC): Define.
- (IMAGE_FILE_MACHINE_AMD64): Define.
- (IMAGE_FILE_MACHINE_M32R): Define.
- (IMAGE_FILE_MACHINE_CEE): Define.
-
-2003-07-14 Christian Groessler <chris@groessler.org>
-
- * i860.h (AOUTSZ): Define for i860 coff.
-
-2003-06-29 Andreas Jaeger <aj@suse.de>
-
- * xcoff.h (struct __rtinit ): Convert to ISO C90 prototypes.
-
- * ecoff.h: Convert to ISO C90 prototypes. Replace PTR by void *.
-
-2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * coff/h8300.h (H8300HNMAGIC, H8300SNMAGIC): New.
- (H8300HNBADMAG, H8300SNBADMAG): New.
-
-2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
-
- * sh.h: Replace occurrances of 'Hitachi' with 'Renesas'.
- * h8300.h: Likewise.
- * h8500.h: Likewise.
-
-2003-03-25 Stan Cox <scox@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- Contribute support for Intel's iWMMXt chip - an ARM variant:
-
- * arm.h (ARM_NOTE_SECTION): Define.
-
-2002-11-30 Alan Modra <amodra@bigpond.net.au>
-
- * ecoff.h: Replace boolean with bfd_boolean.
- * xcoff.h: Likewise.
-
-2002-03-18 Tom Rix <trix@redhat.com>
-
- * rs6k64.h: Add U64_TOCMAGIC, AIX 5 64 bit magic number.
-
-2002-02-01 Tom Rix <trix@redhat.com>
-
- * xcoff.h: Conditionally support <aiaff> for pre AIX 4.3.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * or32.h: New file.
-
-2001-12-24 Tom Rix <trix@redhat.com>
-
- * xcoff.h (xcoff_big_format_p): Make <bigaf> the default archive
- format.
- (XCOFFARMAG_ELEMENT_SIZE, XCOFFARMAGBIG_ELEMENT_SIZE): Define for
- archive header ascii elements.
-
-2001-12-17 Tom Rix <trix@redhat.com>
-
- * xcoff.h : Add .except and .typchk section string and styp flags.
- Fix xcoff_big_format_p macro.
-
-2001-12-16 Tom Rix <trix@redhat.com>
-
- * xcoff.h : Clean up formatting.
-
-2002-01-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (F_VFP_FLOAT): Define.
-
-2001-11-11 Timothy Wall <twall@alum.mit.edu>
-
- * ti.h: Move arch-specific stuff from here...
- (COFF_ADJUST_SYM_IN/OUT): Optionally put page flag into symbol
- value.
- * tic54x.h: ...to here.
-
-2001-10-26 Christian Groessler <cpg@aladdin.de>
-
- * external.h (GET_LINENO_LNNO): Fix usage of H_GET_32/16.
- (PUT_LINENO_LNNO): Likewise with H_PUT_32/16.
-
-2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
-
- * ti.h (GET_SCNHDR_PAGE): Fix compile time warning.
-
-2001-09-18 Alan Modra <amodra@bigpond.net.au>
-
- * external.h (GET_LINENO_LNNO): Use H_GET_32/16.
- (PUT_LINENO_LNNO): Use H_PUT_32/16.
- * m88k.h (GET_LNSZ_SIZE, GET_LNSZ_LNNO, GET_SCN_NRELOC,
- GET_SCN_NLINNO): Use H_GET_32.
- (PUT_LNSZ_LNNO, PUT_LNSZ_SIZE, PUT_SCN_NRELOC, PUT_SCN_NLINNO):
- Use H_PUT_32.
- * ti.h: Formatting fixes. Make use of H_GET_* and H_PUT_* throughout.
- * xcoff.h: White space changes.
-
-2001-09-05 Tom Rix <trix@redhat.com>
-
- * xcoff.h : Add XCOFF_SYSCALL32 and XCOFF_SYSCALL64 hash table flags.
-
-2001-08-27 Andreas Jaeger <aj@suse.de>
-
- * xcoff.h (struct __rtinit): Make proper prototype for rtl.
-
-Fri Aug 24 01:18:51 2001 J"orn Rennecke <amylaar@redhat.com>
-
- * internal.h (R_JMP2, R_JMPL2, R_MOVL2): Comment spelling fix.
-
-2001-04-05 Tom Rix <trix@redhat.com>
-
- * rs6000.h : move xcoff32 external structures from xcofflink.
- * rs6k64.h : move xcoff64 external structures from xcofflink.
- * internal.h : promote 32 bit structure elements to 64 bit
- for xcoff64 support
- * xcoff.h : New file.
-
-2001-03-23 Nick Clifton <nickc@redhat.com>
-
- * a29k.h: Fix compile time warning.
- * external.h: Fix compile time warning.
- * m88k.h: Fix compile time warning.
-
-2001-03-13 Nick Clifton <nickc@redhat.com>
-
- * external.h: New file. Common structure definitions found in
- other COFF header files.
-
- * a29k.h: Use external.h.
- * apollo.h: Use external.h.
- * arm.h: Use external.h.
- * h8300.h: Use external.h.
- * h8500.h: Use external.h.
- * i386.h: Use external.h.
- * i860.h: Use external.h.
- * ia64.h: Use external.h.
- * m68k.h: Use external.h.
- * m88k.h: Use external.h.
- * mcore.h: Use external.h.
- * mips.h: Use external.h.
- * mipspe.h: Use external.h.
- * powerpc.h: Use external.h.
- * rs6000.h: Use external.h.
- * rs6k64.h: Use external.h.
- * sh.h: Use external.h.
- * sparc.h: Use external.h.
- * tic30.h: Use external.h.
- * tic80.h: Use external.h.
- * w65.h: Use external.h.
- * we32k.h: Use external.h.
- * z8k.h: Use external.h.
-
-2001-02-09 David Mosberger <davidm@hpl.hp.com>
-
- * pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ.
- Rename from PEPAOUTHDR.
-
-2001-01-23 H.J. Lu <hjl@gnu.org>
-
- * pe.h (struct external_PEI_DOS_hdr): New.
- (struct external_PEI_IMAGE_hdr): New.
-
-2000-12-11 Alan Modra <alan@linuxcare.com.au>
-
- * ti.h (OCTETS_PER_BYTE_POWER): Change #warning to #error.
-
-2000-12-08 Alan Modra <alan@linuxcare.com.au>
-
- * ti.h (OCTETS_PER_BYTE_POWER): Change #warn to #warning.
-
-2000-06-30 DJ Delorie <dj@cygnus.com>
-
- * pe.h: Clarify a comment.
-
-2000-05-05 Clinton Popetz <cpopetz@cygnus.com>
-
- * rs6k64.h (U802TOC64MAGIC): Change to U803XTOCMAGIC.
-
-2000-04-24 Clinton Popetz <cpopetz@cygnus.com>
-
- * rs6k64.h: New file.
-
-2000-04-17 Timothy Wall <twall@cygnus.com>
-
- * ti.h: Load page cleanup.
- * intental.h: Add load page field.
-
-Mon Apr 17 16:44:01 2000 David Mosberger <davidm@hpl.hp.com>
-
- * pe.h (PEP64AOUTHDR): New header for PE+.
- (PEP64AOUTSZ): New macro.
- (IMAGE_SUBSYSTEM_UNKNOWN): New macro.
- (IMAGE_SUBSYSTEM_NATIVE): Ditto.
- (IMAGE_SUBSYSTEM_WINDOWS_GUI): Ditto.
- (IMAGE_SUBSYSTEM_WINDOWS_CUI): Ditto.
- (IMAGE_SUBSYSTEM_POSIX_CUI): Ditto.
- (IMAGE_SUBSYSTEM_WINDOWS_CE_GUI): Ditto.
- (IMAGE_SUBSYSTEM_EFI_APPLICATION): Ditto.
- (IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER): Ditto.
- (IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER): Ditto.
- * internal.h (PE_DEF_FILE_ALIGNMENT): Define only if not defined
- already.
- * ia64.h: New file.
-
-2000-04-13 Alan Modra <alan@linuxcare.com.au>
-
- * ti.h (ADDR_MASK): Don't use ul suffix on constants.
- (PG_MASK): Ditto.
-
-2000-04-11 Timothy Wall <twall@cygnus.com>
-
- * ti.h: Remove load page references until load pages are
- reimplemented.
- * tic54x.h: Ditto.
-
-2000-04-07 Timothy Wall <twall@cygnus.com>
-
- * internal.h: Fix some comments related to TI COFF (instead of tic80).
- * ti.h: New.
- * tic54x.h: New.
-
-Wed Apr 5 22:08:41 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define.
-
-2000-03-15 Kazu Hirata <kazu@hxi.com>
-
- * internal.h: Fix a typo in the comment for R_MOVL2.
-
-2000-02-28 Nick Clifton <nickc@cygnus.com>
-
- * mipspe.h (MIPS_PE_MAGIC): Define.
- * sh.h (SH_PE_MAGIC): Define.
-
-2000-02-22 Nick Clifton <nickc@cygnus.com> DJ Delorie <dj@cygnus.com>
-
- * sh.h: Add Windows CE definitions.
- * arm.h: Add Windows CE definitions.
- * mipspe.h: New file: Windows CE definitions for MIPS.
- * pe.h: Add constants for ILF support.
-
-2000-01-05 Nick Clifton <nickc@cygnus.com>
-
- * pe.h: Fix formatting of comments.
- (IMAGE_FILE_AGGRESSIVE_WS_TRIM): Define.
- (IMAGE_FILE_LARGE_ADDRESS_AWARE): Define.
- (IMAGE_FILE_16BIT_MACHINE): Define.
- (IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP): Define.
- (IMAGE_FILE_UP_SYSTEM_ONLY): Define.
- (IMAGE_FILE_MACHINE_UNKNOWN): Define.
- (IMAGE_FILE_MACHINE_ALPHA): Define.
- (IMAGE_FILE_MACHINE_ALPHA64): Define.
- (IMAGE_FILE_MACHINE_I386): Define.
- (IMAGE_FILE_MACHINE_IA64): Define.
- (IMAGE_FILE_MACHINE_M68K): Define.
- (IMAGE_FILE_MACHINE_MIPS16): Define.
- (IMAGE_FILE_MACHINE_MIPSFPU): Define.
- (IMAGE_FILE_MACHINE_MIPSFPU16): Define.
- (IMAGE_FILE_MACHINE_POWERPC): Define.
- (IMAGE_FILE_MACHINE_R3000): Define.
- (IMAGE_FILE_MACHINE_R4000): Define.
- (IMAGE_FILE_MACHINE_R10000): Define.
- (IMAGE_FILE_MACHINE_SH3): Define.
- (IMAGE_FILE_MACHINE_SH4): Define.
- (IMAGE_FILE_MACHINE_THUMB): Define.
-
-1999-09-20 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * internal.h: Delete bogus R_PCLONG, duplicate R_RELBYTE and
- R_RELWORD, and rewrite some R_* as decimal.
-
-1999-09-06 Donn Terry <donn@interix.com>
-
- * internal.h (DTYPE): Define.
- * pe.h (struct external_PEI_filehdr): Rename from
- external_PE_filehdr. Define even if COFF_IMAGE_WITH_PE is not
- defined.
-
-1999-07-17 Nick Clifton <nickc@cygnus.com>
-
- * arm.h (F_SOFT_FLOAT): Rename from F_SOFTFLOAT.
-
-1999-06-21 Philip Blundell <pb@nexus.co.uk>
-
- * arm.h (F_SOFTFLOAT): Define.
-
-1999-07-05 Nick Clifton <nickc@cygnus.com>
-
- * arm.h (F_ARM_5): Define.
-
-Wed Jun 2 18:08:18 1999 Richard Henderson <rth@cygnus.com>
-
- * internal.h (BEOS_EXE_IMAGE_BASE, BEOS_DLL_IMAGE_BASE): New.
-
-Mon May 17 13:35:35 1999 Stan Cox <scox@cygnus.com>
-
- * arm.h (F_PIC, F_ARM_2, F_ARM_2a, F_ARM_3, F_ARM_3M,
- F_ARM_4, F_ARM_4T, F_APCS26): Changed values to distinguish
- F_ARM_2a, F_ARM_3M, F_ARM_4T.
-
-1999-05-15 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h (IMAGE_REL_MCORE_RVA): Define.
-
-1999-04-21 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h (GET_LINENO_LNNO): New macro.
- (PUT_LINENO_LNNO): New macro.
-
-1999-04-08 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h: New header file. Defines for Motorola's MCore
- processor.
-
-Sun Dec 6 21:36:37 1998 Mark Elbrecht <snowball3@usa.net>
-
- * internal.h (C_WEAKEXT): Define.
-
-Wed Jan 27 13:35:35 1999 Stan Cox <scox@cygnus.com>
-
- * arm.h (F_PIC_INT, F_ARM_2, F_ARM_3, F_ARM_4, F_APCS26):
- Changed values to avoid clashing with IMAGE_FILE_* coff header
- flag values.
-
-Wed Apr 1 16:06:15 1998 Nick Clifton <nickc@cygnus.com>
-
- * internal.h: Document numbers associated with Thumb symbol
- types.
-
-Fri Mar 27 17:16:57 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (ISPTR, ISFCN, ISARY): Add casts to unsigned long.
-
-Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
-
- * tic30.h: New file.
-
-Fri Dec 12 11:49:07 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (R_MPPCR15W): New relocation type, for 15 bit PC relative
- offsets.
-
-Tue Dec 2 10:21:40 1997 Nick Clifton <nickc@cygnus.com>
-
- * arm.h (COFFARM): New define.
-
-Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (R_SH_SWITCH8): New.
-
-Sat Nov 22 15:10:14 1997 Nick Clifton <nickc@cygnus.com>
-
- * internal.h (C_THUMBEXTFUNC, C_THUMBSTATFUNC): Constants to
- define static and external functions.
-
- * arm.h: Add bits to support PIC and APCS-FLOAT type binaries,
- when implemented.
-
-Fri Oct 3 14:25:17 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (R_PPL16B): Make constant uppercase for consistency.
-
-Tue Jul 22 18:18:58 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
-
- * go32exe.h: New file.
-
-Tue Jul 8 12:23:55 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_TARGET_ID): Add define.
- * internal.h (struct internal_filehdr): Add f_target_id field.
-
-Tue Jun 3 16:44:18 1997 Nick Clifton <nickc@cygnus.com>
-
- * internal.h: Add storage classes for Thumb symbols
-
-Mon May 26 14:07:55 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * tic80.h (R_PPL16B): Correct value.
-
-Tue May 13 10:21:14 1997 Nick Clifton <nickc@cygnus.com>
-
- * arm.h (constants): Added new flag bits F_APCS_26 and
- F_APCS_SET for the f_flags field of the filehdr structure. Added new
- flags: F_APCS26, F_ARM_2, F_ARM_3, F_ARM_7, F_ARM_7T to store
- information in the flags field of the internal_f structure used by BFD
- routines.
-
-Sat May 3 08:24:59 1997 Fred Fish <fnf@cygnus.com>
-
- * internal.h (C_UEXT, C_STATLAB, C_EXTLAB, C_SYSTEM):
- New storage classes for TIc80.
-
-Fri Apr 18 11:52:55 1997 Niklas Hallqvist <niklas@appli.se>
-
- * alpha.h (ALPHA_ECOFF_BADMAG): Recognize *BSD/alpha magic too.
- (ALPHA_R_LITERALSLEAZY): Define.
- * ecoff.h (ALPHA_MAGIC_BSD): Define.
-
-Wed Jan 29 11:31:51 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i960.h (R_IPR13, R_ALIGN): Define.
-
-Mon Jan 27 13:34:30 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): Move definitions
- from here...
- * i960.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): ...to here.
-
-Wed Jan 22 20:10:47 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80MAGIC): Renamed to TIC80_AOUTHDR_MAGIC.
-
-Fri Dec 27 22:05:45 1996 Fred Fish <fnf@cygnus.com>
-
- * tic80.h: New file for TIc80 support.
-
-Thu Dec 19 16:18:11 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * arm.h (_LIT): Define.
-
-Fri Jun 28 12:54:38 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * pe.h (FILHSZ): Define.
-
-Wed Jun 26 16:24:26 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * All files: Define FILHSZ, AOUTSZ, AOUTHDRSZ, SCNHSZ, SYMESZ,
- AUXESZ, LINESZ, RELSZ as numeric constants rather than uses of
- sizeof. Define AOUTHDRSZ in all files.
- * pe.h (AOUTSZ): Define by adding to AOUTHDRSZ.
-
-Fri Jun 21 11:17:46 1996 Richard Henderson <rth@tamu.edu>
-
- * alpha.h: Add declarations for relocation types added for Alpha
- OSF/1 3.0.
-
-Tue Jun 18 16:04:29 1996 Jeffrey A. Law <law@rtl.cygnus.com>
-
- * h8300.h (H8300SMAGIC): Define.
- (H8300SBADMAG): Define.
-
-Mon Jun 10 11:53:28 1996 Jeffrey A Law (law@cygnus.com)
-
- * internal.h (R_BCC_INV, R_JMP_DEL): New relocations for
- relaxing in the H8/300 series.
-
-Thu May 16 15:49:22 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * sh.h (R_SH_CODE, R_SH_DATA, R_SH_LABEL): Define.
-
-Tue May 7 00:36:39 1996 Jeffrey A Law (law@cygnus.com)
-
- * internal.h (R_JMPL2): Renamed from R_JMPL_B8 to be
- consistent with other similar relocs.
-
- * 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.
-
-Fri May 3 13:01:12 1996 Jeffrey A Law (law@cygnus.com)
-
- * internal.h (R_PCRWORD_B): Define for the h8300 relaxing
- linker.
-
-Wed May 1 19:21:03 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (SCNNMLEN): Define.
- (struct internal_scnhdr): Use SCNNMLEN for s_name field.
-
-Fri Mar 29 13:41:25 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * pe.h: Define IMAGE_COMDAT codes.
-
-Wed Mar 27 17:29:42 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * arm.h (union external_auxent): Add x_checksum, x_associated, and
- x_comdat fields to x_scn struct.
- * i386.h (union external_auxent): Likewise.
- * powerpc.h (union external_auxent): Likewise.
- * internal.h (union internal_auxent): Likewise.
-
-Thu Mar 21 16:25:57 1996 David Mosberger-Tang <davidm@azstarnet.com>
-
- * ecoff.h (struct ecoff_find_line): Add caching fields.
-
-Thu Mar 14 15:22:44 1996 Jeffrey A Law (law@cygnus.com)
-
- * internal.h (R_MEM_INDIRECT): New reloc for the h8300.
-
-Fri Feb 9 10:44:11 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * aux-coff.h: Rename from aux.h, to avoid problems on hapless DOS
- systems which think that aux is a com port.
-
-Mon Feb 5 18:35:00 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * i960.h (F_I960HX): Define.
-
-Wed Jan 31 13:11:54 1996 Richard Henderson <rth@tamu.edu>
-
- * aux.h: New file.
- * internal.h, m68k.h: Protect against multiple inclusion.
-
-Wed Nov 22 13:48:39 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * ecoff.h (_RCONST, STYP_RCONST, RELOC_SECTION_RCONST): Define.
- (NUM_RELOC_SECTIONS): Update.
- * symconst.h (scRConst): Define.
-
-Tue Nov 14 18:54:29 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (C_NT_WEAK): Define.
-
-Thu Nov 9 14:08:30 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * rs6000.h (STYP_OVRFLO): Define.
-
-Tue Nov 7 14:38:45 1995 Kim Knuttila <krk@cygnus.com>
-
- * powerpc.h (IMAGE_NT_OPTIONAL_HDR_MAGIC): Added define.
- * pe.h: Added defines for file level flags
-
-Mon Nov 6 17:28:01 1995 Harry Dolan <dolan@ssd.intel.com>
-
- * i860.h: New file, based on i386.h.
-
-Wed Nov 1 15:25:18 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
-
- * m68k.h (PAGEMAGICEXECSWAPPED): Define.
- (PAGEMAGICPEXECSWAPPED): Define.
- (PAGEMAGICPEXECTSHLIB): Define.
- (PAGEMAGICPEXECPAGED): Define.
- (_COMMENT): DEFINE.
- * m88k.h (_COMMENT): Define.
-
-Wed Oct 18 18:36:19 1995 Geoffrey Noer <noer@cygnus.com>
-
- * sym.h: #if 0'd out runtime_pdr struct because it chokes
- Visual C++ and there aren't any references to it elsewhere in gdb.
-
-Mon Oct 16 11:12:24 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * rs6000.h (SMALL_AOUTSZ): Define.
-
- * internal.h (XMC_TD): Define.
-
-Tue Oct 10 18:41:03 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (struct internal_aouthdr): Add o_cputype field.
- * rs6000.h (AOUTHDR): Rename o_resv1 to o_cputype.
-
-Mon Oct 9 14:45:46 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * rs6000.h (AOUTHDR): Add o_maxdata field. Add comments.
- (_PAD, _LOADER): Define.
- (STYP_LOADER): Define.
- * internal.h (struct internal_aouthdr): Add o_maxdata field.
-
-Thu Oct 5 10:02:57 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * ecoff.h: Define section name macros and STYP macros for various
- Alpha sections: .got, .hash, .dynsym, .dynstr, .rel.dyn, .conflic,
- .comment, .liblist, .dynamic.
-
-Wed Oct 4 10:56:35 1995 Kim Knuttila <krk@cygnus.com>
-
- * pe.h: Moved DOSMAGIC and NT_SIGNATURE defines here
- * powerpc.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
- Also removed other unused defines (various MAGIC ones)
- * i386.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
- * arm.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
- * apollo.h: removed unused DEFAULT_* defines
- * alpha.h: removed unused DEFAULT_* defines
- * h8500.h: removed unused DEFAULT_* defines
- * h8300.h: removed unused DEFAULT_* defines
- * i960.h: removed unused DEFAULT_* defines
- * m88k.h: removed unused DEFAULT_* defines
- * we32k.h: removed unused DEFAULT_* defines
- * rs6000.h: removed unused DEFAULT_* defines
- * mips.h: removed unused DEFAULT_* defines
- * m68k.h: removed unused DEFAULT_* defines
- * z8k.h: removed unused DEFAULT_* defines
- * w65.h: removed unused DEFAULT_* defines
- * sparc.h: removed unused DEFAULT_* defines
- * sh.h: removed unused DEFAULT_* defines
-
-Fri Sep 29 08:40:08 1995 Kim Knuttila <krk@cygnus.com>
-
- * powerpc.h: Reformatted to GNU coding conventions.
-
-Wed Sep 27 06:50:50 1995 Kim Knuttila <krk@nellie>
-
- * pe.h: added defines for more section characteristics
- * powerpc.h (new file): base coff definitions for ppc PE
-
-Tue Sep 12 12:08:20 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (struct internal_syment): Change n_numaux field from
- char to unsigned char.
-
-Fri Sep 1 15:39:36 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
-
- * mips.h (struct rpdr_ext): Define.
-
-Thu Aug 31 16:51:50 1995 steve chamberlain <sac@slash.cygnus.com>
-
- * internal.h (internal_aouthdr, internal_filehdr):
- don't indirect the pe stuff.
-
-Tue Aug 29 14:16:07 1995 steve chamberlain <sac@slash.cygnus.com>
-
- * i386.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Make the same
- as 'the other' compiler.
- * internal.h (NT_IMAGE_BASE): Deleted.
- (NT_EXE_IMAGE_BASE, NT_DLL_IMAGE_BASE): New.
- (PE_DEF_SECTION_ALIGNMENT, PE_DEF_FILE_ALIGNMENT): New.
- (R_IMAGEBASE): New.
-
-Mon Aug 21 18:12:19 1995 steve chamberlain <sac@slash.cygnus.com>
-
- * internal.h: (internal_filehdr): Moved PE stuff into
- internal_extra_pe_filehdr.
- (internal_aouthdr): Moved PE stuff into
- interanl_extra_pe_aouthdr.
-
-Mon Jul 24 14:05:39 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h: Move R_SH_* relocs from here...
- * sh.h: ...to here.
- (R_SH_SWITCH16, R_SH_SWITCH32): Define.
- (R_SH_USES, R_SH_COUNT, R_SH_ALIGN): Define.
-
-Thu Jun 29 00:04:25 1995 Steve Chamberlain <sac@slash.cygnus.com>
-
- * internal.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Increase a lot.
-
-Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * internal.h (NT_subsystem, NT_stack_heap): Delete
-
-Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * internal.h (NT_subsystem, NT_stack_heap): Now extern.
-
-Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
-
- * pe.h: New file.
- * i386.h (NT_SECTION_ALIGNMENT, NT_FILE_ALIGNMENT,
- NT_DEF_RESERVE, NT_DEF_COMMIT): New.
- * internal.h (internal_filehdr): New fields for PE.
- (IMAGE_DATA_DIRECTORY): New.
- (internal_aouthdr): New fields for PE.
-
-Tue Feb 14 17:59:37 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * ecoff.h (struct ecoff_fdrtab_entry): Define.
- (struct ecoff_find_line): Define.
-
-Sat Feb 4 14:38:03 1995 David Mosberger-Tang <davidm@piston.cs.arizona.edu>
-
- * sym.h (struct pdr): field "prof" added.
-
- * alpha.h (PDR_BITS1_PROF_*): added, macros for PDR_BITS*_RESERVED_*
- updated accordingly.
-
-Sun Jan 15 18:38:33 1995 Steve Chamberlain <sac@splat>
-
- * w65.h: New file.
-
-Wed Nov 23 22:43:38 1994 Steve Chamberlain (sac@jonny.cygnus.com)
-
- * sh.h (SH_ARCH_MAGIC_BIG, SH_ARCH_MAGIC_LITTLE): New.
- (SHBADMAG): Changed to suit.
-
-Tue Jul 26 17:46:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i960.h (F_I960JX): New macro.
-
-Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * alpha.h: Add definitions for alpha file header flags, encoding
- the object type of the file.
-
-Mon Jun 20 13:47:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * ecoff.h (ecoff_swap_tir_in): Remove declaration.
- (ecoff_swap_tir_out): Likewise.
- (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
- (struct ecoff_debug_swap): Add new fields: swap_tir_in,
- swap_rndx_in, swap_tir_out, swap_rndx_out, read_debug_info.
-
-Sun Jun 12 03:51:52 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * symconst.h: Pick up SGI define for stIndirect.
-
-Fri Apr 22 13:05:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (REGINFO): Don't define.
- (struct ecoff_reginfo): Don't define.
-
- * sh.h (SH_ARCH_MAGIC): Rename from SHMAGIC. SHMAGIC is used by
- several targets to mean a shared library.
- (SHBADMAG): Corresponding change.
-
-Thu Apr 14 13:00:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (RELOC_BITS3_TYPE_BIG): Changed from 0x1e to 0x3e.
- (RELOC_BITS3_TYPEHI_LITTLE): Define.
- (RELOC_BITS3_TYPEHI_SH_LITTLE): Define.
- (MIPS_R_PCREL16): Change value from 8 to 12 to match Irix 4.
- (MIPS_R_RELHI): Define.
- (MIPS_R_RELLO): Define.
- (MIPS_R_SWITCH): Change value from 9 to 22.
-
-Thu Apr 7 14:19:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (MIPS_R_SWITCH): Define.
-
-Thu Mar 31 19:28:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * internal.h (internal_aouthdr): Added comments for Apollo fields.
-
-Thu Mar 31 16:28:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (STYP_ECOFF_LIB): Define as used on Irix 4.
-
-Fri Mar 25 17:16:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (struct ecoff_debug_info): Add adjust field.
- (struct ecoff_value_adjust): Define.
-
-Tue Mar 22 13:22:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (MIPS_R_PCREL16): Define.
-
-Sat Feb 26 10:26:38 1994 Ian Lance Taylor (ian@cygnus.com)
-
- * ecoff.h: Add casts to avoid warnings from SVR4 cc.
-
-Mon Feb 21 09:48:46 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
-
- * sym.h (struct runtime_pdr): Make field adr bfd_vma, not unsigned
- long.
- (SYMR): Make field value bfd_vma, not long.
-
-Fri Feb 4 23:35:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * rs6000.h (STYP_DEBUG): Define.
-
-Wed Feb 2 14:31:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * internal.h (union internal_auxent): Change x_csect.x_scnlen into
- a union of a long and a pointer to a symbol. XCOFF sometimes uses
- this field as a symbol index.
-
-Mon Jan 10 23:54:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (ecoff_debug_info): Remove fields line_end,
- external_dnr_end, external_pdr_end, external_sym_end,
- external_opt_end, external_aux_end, ss_end, external_fdr_end.
- Replace ifdbase with ifdmap.
-
-Wed Jan 5 17:05:36 1994 Ken Raeburn (raeburn@deneb.cygnus.com)
-
- * ecoff.h (STYP_EXTENDESC, STYP_COMMENT, STYP_XDATA, STYP_PDATA):
- Define.
-
-Wed Jan 5 16:58:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (NUM_RELOC_SECTIONS): Define.
-
-Tue Dec 21 09:24:56 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
-
- * sparc.h (struct external_reloc): Rename field r_addend to
- r_offset.
-
-Sat Dec 11 16:12:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h (R_DISP7, R_SH_IMM16): New reloc types.
-
-Tue Nov 23 14:23:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (struct ecoff_debug_swap): Added *_end fields for all
- the symbolic information pointers.
-
- * sym.h: Named the EXTR structure ecoff_extr.
-
-Fri Nov 19 08:21:18 1993 Ken Raeburn (raeburn@rover.cygnus.com)
-
- * sparc.h (RELSZ): Use correct size.
-
-Wed Nov 17 17:18:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (struct ecoff_debug_info): Define.
-
-Tue Nov 2 17:56:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (struct ecoff_debug_swap): Define.
-
-Thu Oct 28 17:07:50 1993 Stan Shebs (shebs@rtl.cygnus.com)
-
- * i386.h (I386LYNXMAGIC): Rename to LYNXCOFFMAGIC.
- * m68k.h (LYNXCOFFMAGIC): Define.
- * sparc.h: New file.
-
-Tue Oct 19 15:34:50 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * alpha.h (external_aouthdr): Split four byte padding field into
- two byte bldrev field and two byte padding field.
-
- * ecoff.h (_LITA, _PDATA, _XDATA, STYP_LITA): Defined.
-
-Wed Oct 13 15:52:34 1993 Ken Raeburn (raeburn@cygnus.com)
-
- Sun Oct 10 17:27:10 1993 Troy Rollo (troy@cbme.unsw.edu.au)
-
- * internal.h: Added o_sri, o_inlib and o_vid for Apollos as well
- as R_DIR16.
-
- * apollo.h: New file
-
-Mon Oct 11 17:16:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (REGINFO, struct ecoff_reginfo): Define.
-
-Tue Oct 5 10:52:53 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * rs6000.h: Change non-ASCII characters in comment to octal
- escapes.
-
-Tue Sep 28 03:27:04 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * ecoff.h (_FINI, STYP_ECOFF_FINI): Add to support .fini section.
-
-Fri Sep 24 11:53:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
- * ecoff.h: Define MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
-
-Thu Sep 23 21:07:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
- * ecoff.h: Define MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
-
-Thu Sep 16 20:27:21 1993 Jim Kingdon (kingdon@cirdan.cygnus.com)
-
- * sym.h, symconst.h: Add comment stating these files are not part
- of GDB, GAS, etc. In 1991, when we asked rms whether we could
- include these files in GDB (although they are copyrighted by
- someone besides the FSF), he said it was OK if they were not
- considered part of GDB.
-
-Fri Sep 10 17:40:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (AUX_PUT_ANY): Cast val argument to bfd_vma.
-
- * alpha.c (external_aouthdr): Need four bytes of padding between
- vstamp and tsize.
-
-Tue Sep 7 14:20:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (AUX_GET_ANY, AUX_PUT_ANY): Changed to reflect further
- change in bfd swapping routine names.
-
-Tue Sep 7 10:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * ecoff.h (AUX_GET_ANY): Change name of _do_getb32 to reflect bfd
- changes.
-
-Fri Aug 13 14:30:32 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * ecoff.h (RELOC_SECTION_NONE): Define.
-
-Thu Aug 12 11:24:42 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * alpha.h (struct external_reloc): Add r_symndx field.
- (RELSZ): Correct.
- (RELOC_BITS*): Correct.
- (ALPHA_R_*): Define.
- * ecoff.h (RELOC_SECTION_{XDATA,PDATA,FINI,LITA,ABS}): Define.
- (r_extern): Undefine.
- * internal.h (struct internal_reloc): Make r_vaddr bfd_vma rather
- than long. Add r_extern field.
-
- * alpha.h (PDR_BITS*): Define.
- * sym.h (PDR): Give correct names to new fields.
-
- * ecoff.h: Moved MIPS reloc definitions from here...
- * mips.h: to here.
-
-Mon Aug 2 16:37:14 1993 Stu Grossman (grossman at cygnus.com)
-
- * i386.h: Add Lynx magic number.
-
-Tue Aug 3 11:17:53 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * alpha.h: Corrected external symbolic debugging structures to
- match actual usage.
- * internal.h (internal_filehdr, internal_aouthdr,
- internal_scnhdr): Changed type of some fields to bfd_vma so they
- can hold 64 bits.
- * sym.h (HDRR, FDR, PDR, EXTR): Likewise.
- (PDR): Added new fields found on Alpha.
- * symconst.h (magicSym2): Define; new value found on Alpha.
-
- * ecoff.h: New file.
- * alpha.h, mips.h: Moved common information into ecoff.h. Moved
- external structure definitions in from ecoff-ext.h.
- * ecoff-ext.h: Removed; information now in alpha.h and mips.h.
-
-Sun Jul 18 21:43:59 1993 Jim Kingdon (kingdon@rtl.cygnus.com)
-
- * i386.h: Recognize I386PTXMAGIC.
-
-Fri Jul 16 09:54:35 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (MIPS_AOUT_{OZ}MAGIC): Renamed from {OZ}MAGIC.
-
-Thu Jul 15 12:23:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * m88k.h (union external_auxent): Move x_fcn back inside x_fcnary.
- ({GET,PUT}_FCN_{LNNOPTR,ENDNDX}): Adjust accordingly.
-
-Sun Jul 11 18:00:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * m68k.h: Define MC68KBCSMAGIC.
-
-Thu Jun 10 11:46:28 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (_INIT, STYP_MIPS_INIT): Define (used on Irix4).
- (STYP_OTHER_LOAD): Define as STYP_MIPS_INIT.
-
-Wed Jun 9 15:09:09 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (OMAGIC): Define.
-
-Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
-
- Support for H8/300-H
- * h8300.h: New magic number.
- * internal.h: New relocations.
-
-Mon Apr 26 18:04:47 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h, sh.h: Support for SH.
-
-Sat Apr 24 21:34:59 1993 Jim Kingdon (kingdon@cygnus.com)
-
- * a29k.h: Define _LIT.
-
-Fri Apr 23 18:41:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * alpha.h: New file.
-
-Thu Apr 8 12:36:34 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * internal.h (C_SHADOW, C_VERSION): Copied in from m88k.h.
- * m88k.h, i386.h, we32k.h: Don't define all the storage classes;
- they're already in internal.h.
-
-Wed Apr 7 11:51:24 1993 Jim Kingdon (kingdon@cygnus.com)
-
- * internal.h: Change n_sclass to unsigned char.
- Change C_EFCN to 0xff, change RS/6000 dbx symbols
- to no longer be signed.
-
-Fri Mar 19 14:52:56 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h: Add H8/500 reloc types.
-
-Wed Mar 17 09:46:03 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * ecoff-ext.h (AUX_PUT_ANY): Don't use void values in branches of
- conditional expression.
-
-Thu Mar 4 14:12:06 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * ecoff-ext.h (AUX_GET_*): Rewrote to use new macro AUX_GET_ANY.
- (AUX_PUT_*): New macros corresponding to the AUX_GET macros.
- (ecoff_swap_tir_out): Added prototype.
-
- * mips.h (N_BTMASK, N_TMASK, N_BTSHFT, N_TSHIFT): Define; these
- are needed to interpret gcc debugging output.
-
-Tue Feb 9 07:43:27 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * we32k.h (BTYPE, ISPTR, ISFCN, ISARY, DECREF): Removed
- more definitions duplicated in internal.h.
-
-Wed Feb 3 09:18:24 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (RELOC_BITS3_TYPE_*): Correct for big endian machines.
-
-Mon Jan 25 11:35:51 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * internal.h (internal_aouthdr): Added additional fields used only
- by MIPS ECOFF.
-
-Thu Jan 21 10:28:38 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (AOUTHDR): Added additional fields used by ECOFF.
-
-Tue Jan 19 12:21:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * i386.h, we32k.h (N_*, T_*, DT_*): Removed still more definitions
- duplicated in internal.h.
-
- * mips.h (RELOC_SECTION_*, ECOFF_R_*): Defined constants for ECOFF
- relocs.
-
-Fri Jan 15 18:17:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff-ext.h: Added prototypes for new ECOFF swapping functions.
- (opt_ext): New structure.
- * mips.h (ZMAGIC): Defined to be 0413.
- (_LIB): Defined to be ".lib"
- (external_reloc): MIPS ECOFF relocs are only 8 bytes. Added
- macros to aid in swapping.
-
-Fri Jan 8 16:19:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff-ext.h: Added prototypes for ECOFF swapping functions.
- * internal.h (internal_scnhdr): Always provide s_align field, not
- just on i960.
- (internal_reloc): Always provide r_size field, not just on
- RS/6000.
- * mips.h (_RDATA, _SDATA, _SBSS, _LIT4, _LIT8, STYP_RDATA,
- STYP_SDATA, STYP_SBSS, STYP_LIT4, STYP_LIT8): Defined.
- (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB,
- STABS_SYMBOL): Moved in from gdb/mipsread.c.
-
-Wed Jan 6 14:01:46 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * i386.h, we32k.h: removed STYP_* defines, since they duplicated
- those in internal.h.
-
-Tue Dec 29 15:40:07 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * i386.h: define I386AIXMAGIC for Danbury AIX PS/2 compiler.
-
-Sat Dec 12 16:07:57 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * i386.h: don't define BTYPE, ISPTR, ISFCN, ISARY, DECREF: they
- are defined in internal.h.
-
-Thu Nov 12 09:52:01 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h: (internal_reloc): r_offset is now a long.
- * z8k.h: slight comment enhancement
-
-Wed Sep 30 07:46:08 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h: changed z8k reloc types
-
-Fri Aug 28 10:16:31 1992 Brendan Kehoe (brendan@cygnus.com)
-
- * we32k.h: new file
-
-Thu Aug 27 13:00:01 1992 Brendan Kehoe (brendan@cygnus.com)
-
- * symconst.h: comment out cruft at the end of #endif
-
-Tue Aug 25 15:06:49 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h: added #define for STYP_LIT, removed from a29k and
- h8300.
-
- * z8k.h: added z8000 support
-
-Thu Jul 16 16:32:00 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h: added R_RELLONG_NEG reloc type
-
-Fri Jun 12 20:11:04 1992 John Gilmore (gnu at cygnus.com)
-
- * symconst.h: Fix unterminated comment.
-
-Wed Jun 10 07:57:49 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * i386.h: a.out magic numbers from
- mohring@informatik.tu-muenchen.de
-
-Mon Jun 8 20:13:33 1992 John Gilmore (gnu at cygnus.com)
-
- * ecoff-ext.h, mips.h: Use unsigned chars everywhere.
- (Suggested by Antti Miettinen.)
-
-Tue Apr 14 15:18:44 1992 John Gilmore (gnu at cygnus.com)
-
- * sym.h: Add comments.
- * symconst.h: Merge with Fred's changes.
-
-Tue Apr 14 14:30:05 1992 Fred Fish (fnf@cygnus.com)
-
- * symconst.h: Pick up SGI defines for stStruct, stUnion, stEnum,
- langCplusplus, and langCplusplusV2.
-
-Thu Apr 2 19:47:43 1992 John Gilmore (gnu at cygnus.com)
-
- * sym.h, symconst.h: MIPS has provided redistributable versions
- of these files. Thanks!
- * ecoff-ext.h: Add weakext bit to match new sym.h.
-
-Fri Mar 6 00:10:46 1992 John Gilmore (gnu at cygnus.com)
-
- * ecoff-ext.h: Add relative file descriptors.
-
-Thu Feb 27 11:53:04 1992 John Gilmore (gnu at cygnus.com)
-
- * ecoff-ext.h: New file for external (in-file) form of ecoff
- symbol structures.
-
-Thu Feb 6 11:33:32 1992 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * h8300.h: made the external_lineno l_lnno field 4 bytes wide.
- andded GET/PUT_LINENO_LNNO macros
-
-Sat Nov 30 20:38:35 1991 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * a29k.h, h8300.h, i386.h, i960.h, internal.h, m68k.h, m88k.h,
- mips.h, rs6000.h: Move from above coff-<foo>.h.
+For older changes see ChangeLog-9103
Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
version-control: never
End:
diff --git a/include/coff/ChangeLog-9103 b/include/coff/ChangeLog-9103
new file mode 100644
index 00000000000..d18113d52e9
--- /dev/null
+++ b/include/coff/ChangeLog-9103
@@ -0,0 +1,1160 @@
+2003-12-02 Graham Reed <grahamr@algorithmics.com>
+
+ * internal.h (C_WEAKEXT): Add alternative value for AIX 5.2
+ based targets.
+
+2003-08-23 Jason Eckhardt <jle@rice.edu>
+
+ * coff/i860.h (COFF860_R_PAIR, COFF860_R_LOW0, COFF860_R_LOW1,
+ COFF860_R_LOW2, COFF860_R_LOW3, COFF860_R_LOW4, COFF860_R_SPLIT0,
+ COFF860_R_SPLIT1, COFF860_R_SPLIT2, COFF860_R_HIGHADJ,
+ COFF860_R_BRADDR): Define new relocation constants and document.
+ Minor formatting adjustments.
+
+2003-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * ti.h (GET_SCNHDR_NRELOC): Rename PTR param to LOC.
+ (PUT_SCNHDR_NRELOC, GET_SCNHDR_NLNNO, PUT_SCNHDR_NLNNO): Likewise.
+ (GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Likewise.
+ (GET_SCNHDR_PAGE, PUT_SCNHDR_PAGE): Likewise.
+
+2003-07-17 Jeff Muizelaar <muizelaar@rogers.com>
+
+ * pe.h: (IMAGE_FILE_NET_RUN_FROM_SWAP): Define.
+ (IMAGE_FILE_MACHINE_WCEMIPSV2): Define.
+ (IMAGE_FILE_MACHINE_SH3DSP): Define.
+ (IMAGE_FILE_MACHINE_SH3E): Define.
+ (IMAGE_FILE_MACHINE_SH5): Define.
+ (IMAGE_FILE_MACHINE_AM33): Define.
+ (IMAGE_FILE_MACHINE_POWERPCFP): Define.
+ (IMAGE_FILE_MACHINE_AXP64): Define.
+ (IMAGE_FILE_MACHINE_TRICORE): Define.
+ (IMAGE_FILE_MACHINE_CEF): Define.
+ (IMAGE_FILE_MACHINE_EBC): Define.
+ (IMAGE_FILE_MACHINE_AMD64): Define.
+ (IMAGE_FILE_MACHINE_M32R): Define.
+ (IMAGE_FILE_MACHINE_CEE): Define.
+
+2003-07-14 Christian Groessler <chris@groessler.org>
+
+ * i860.h (AOUTSZ): Define for i860 coff.
+
+2003-06-29 Andreas Jaeger <aj@suse.de>
+
+ * xcoff.h (struct __rtinit ): Convert to ISO C90 prototypes.
+
+ * ecoff.h: Convert to ISO C90 prototypes. Replace PTR by void *.
+
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * coff/h8300.h (H8300HNMAGIC, H8300SNMAGIC): New.
+ (H8300HNBADMAG, H8300SNBADMAG): New.
+
+2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+ * sh.h: Replace occurrances of 'Hitachi' with 'Renesas'.
+ * h8300.h: Likewise.
+ * h8500.h: Likewise.
+
+2003-03-25 Stan Cox <scox@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ Contribute support for Intel's iWMMXt chip - an ARM variant:
+
+ * arm.h (ARM_NOTE_SECTION): Define.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * ecoff.h: Replace boolean with bfd_boolean.
+ * xcoff.h: Likewise.
+
+2002-03-18 Tom Rix <trix@redhat.com>
+
+ * rs6k64.h: Add U64_TOCMAGIC, AIX 5 64 bit magic number.
+
+2002-02-01 Tom Rix <trix@redhat.com>
+
+ * xcoff.h: Conditionally support <aiaff> for pre AIX 4.3.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * or32.h: New file.
+
+2001-12-24 Tom Rix <trix@redhat.com>
+
+ * xcoff.h (xcoff_big_format_p): Make <bigaf> the default archive
+ format.
+ (XCOFFARMAG_ELEMENT_SIZE, XCOFFARMAGBIG_ELEMENT_SIZE): Define for
+ archive header ascii elements.
+
+2001-12-17 Tom Rix <trix@redhat.com>
+
+ * xcoff.h : Add .except and .typchk section string and styp flags.
+ Fix xcoff_big_format_p macro.
+
+2001-12-16 Tom Rix <trix@redhat.com>
+
+ * xcoff.h : Clean up formatting.
+
+2002-01-15 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (F_VFP_FLOAT): Define.
+
+2001-11-11 Timothy Wall <twall@alum.mit.edu>
+
+ * ti.h: Move arch-specific stuff from here...
+ (COFF_ADJUST_SYM_IN/OUT): Optionally put page flag into symbol
+ value.
+ * tic54x.h: ...to here.
+
+2001-10-26 Christian Groessler <cpg@aladdin.de>
+
+ * external.h (GET_LINENO_LNNO): Fix usage of H_GET_32/16.
+ (PUT_LINENO_LNNO): Likewise with H_PUT_32/16.
+
+2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * ti.h (GET_SCNHDR_PAGE): Fix compile time warning.
+
+2001-09-18 Alan Modra <amodra@bigpond.net.au>
+
+ * external.h (GET_LINENO_LNNO): Use H_GET_32/16.
+ (PUT_LINENO_LNNO): Use H_PUT_32/16.
+ * m88k.h (GET_LNSZ_SIZE, GET_LNSZ_LNNO, GET_SCN_NRELOC,
+ GET_SCN_NLINNO): Use H_GET_32.
+ (PUT_LNSZ_LNNO, PUT_LNSZ_SIZE, PUT_SCN_NRELOC, PUT_SCN_NLINNO):
+ Use H_PUT_32.
+ * ti.h: Formatting fixes. Make use of H_GET_* and H_PUT_* throughout.
+ * xcoff.h: White space changes.
+
+2001-09-05 Tom Rix <trix@redhat.com>
+
+ * xcoff.h : Add XCOFF_SYSCALL32 and XCOFF_SYSCALL64 hash table flags.
+
+2001-08-27 Andreas Jaeger <aj@suse.de>
+
+ * xcoff.h (struct __rtinit): Make proper prototype for rtl.
+
+Fri Aug 24 01:18:51 2001 J"orn Rennecke <amylaar@redhat.com>
+
+ * internal.h (R_JMP2, R_JMPL2, R_MOVL2): Comment spelling fix.
+
+2001-04-05 Tom Rix <trix@redhat.com>
+
+ * rs6000.h : move xcoff32 external structures from xcofflink.
+ * rs6k64.h : move xcoff64 external structures from xcofflink.
+ * internal.h : promote 32 bit structure elements to 64 bit
+ for xcoff64 support
+ * xcoff.h : New file.
+
+2001-03-23 Nick Clifton <nickc@redhat.com>
+
+ * a29k.h: Fix compile time warning.
+ * external.h: Fix compile time warning.
+ * m88k.h: Fix compile time warning.
+
+2001-03-13 Nick Clifton <nickc@redhat.com>
+
+ * external.h: New file. Common structure definitions found in
+ other COFF header files.
+
+ * a29k.h: Use external.h.
+ * apollo.h: Use external.h.
+ * arm.h: Use external.h.
+ * h8300.h: Use external.h.
+ * h8500.h: Use external.h.
+ * i386.h: Use external.h.
+ * i860.h: Use external.h.
+ * ia64.h: Use external.h.
+ * m68k.h: Use external.h.
+ * m88k.h: Use external.h.
+ * mcore.h: Use external.h.
+ * mips.h: Use external.h.
+ * mipspe.h: Use external.h.
+ * powerpc.h: Use external.h.
+ * rs6000.h: Use external.h.
+ * rs6k64.h: Use external.h.
+ * sh.h: Use external.h.
+ * sparc.h: Use external.h.
+ * tic30.h: Use external.h.
+ * tic80.h: Use external.h.
+ * w65.h: Use external.h.
+ * we32k.h: Use external.h.
+ * z8k.h: Use external.h.
+
+2001-02-09 David Mosberger <davidm@hpl.hp.com>
+
+ * pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ.
+ Rename from PEPAOUTHDR.
+
+2001-01-23 H.J. Lu <hjl@gnu.org>
+
+ * pe.h (struct external_PEI_DOS_hdr): New.
+ (struct external_PEI_IMAGE_hdr): New.
+
+2000-12-11 Alan Modra <alan@linuxcare.com.au>
+
+ * ti.h (OCTETS_PER_BYTE_POWER): Change #warning to #error.
+
+2000-12-08 Alan Modra <alan@linuxcare.com.au>
+
+ * ti.h (OCTETS_PER_BYTE_POWER): Change #warn to #warning.
+
+2000-06-30 DJ Delorie <dj@cygnus.com>
+
+ * pe.h: Clarify a comment.
+
+2000-05-05 Clinton Popetz <cpopetz@cygnus.com>
+
+ * rs6k64.h (U802TOC64MAGIC): Change to U803XTOCMAGIC.
+
+2000-04-24 Clinton Popetz <cpopetz@cygnus.com>
+
+ * rs6k64.h: New file.
+
+2000-04-17 Timothy Wall <twall@cygnus.com>
+
+ * ti.h: Load page cleanup.
+ * intental.h: Add load page field.
+
+Mon Apr 17 16:44:01 2000 David Mosberger <davidm@hpl.hp.com>
+
+ * pe.h (PEP64AOUTHDR): New header for PE+.
+ (PEP64AOUTSZ): New macro.
+ (IMAGE_SUBSYSTEM_UNKNOWN): New macro.
+ (IMAGE_SUBSYSTEM_NATIVE): Ditto.
+ (IMAGE_SUBSYSTEM_WINDOWS_GUI): Ditto.
+ (IMAGE_SUBSYSTEM_WINDOWS_CUI): Ditto.
+ (IMAGE_SUBSYSTEM_POSIX_CUI): Ditto.
+ (IMAGE_SUBSYSTEM_WINDOWS_CE_GUI): Ditto.
+ (IMAGE_SUBSYSTEM_EFI_APPLICATION): Ditto.
+ (IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER): Ditto.
+ (IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER): Ditto.
+ * internal.h (PE_DEF_FILE_ALIGNMENT): Define only if not defined
+ already.
+ * ia64.h: New file.
+
+2000-04-13 Alan Modra <alan@linuxcare.com.au>
+
+ * ti.h (ADDR_MASK): Don't use ul suffix on constants.
+ (PG_MASK): Ditto.
+
+2000-04-11 Timothy Wall <twall@cygnus.com>
+
+ * ti.h: Remove load page references until load pages are
+ reimplemented.
+ * tic54x.h: Ditto.
+
+2000-04-07 Timothy Wall <twall@cygnus.com>
+
+ * internal.h: Fix some comments related to TI COFF (instead of tic80).
+ * ti.h: New.
+ * tic54x.h: New.
+
+Wed Apr 5 22:08:41 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define.
+
+2000-03-15 Kazu Hirata <kazu@hxi.com>
+
+ * internal.h: Fix a typo in the comment for R_MOVL2.
+
+2000-02-28 Nick Clifton <nickc@cygnus.com>
+
+ * mipspe.h (MIPS_PE_MAGIC): Define.
+ * sh.h (SH_PE_MAGIC): Define.
+
+2000-02-22 Nick Clifton <nickc@cygnus.com> DJ Delorie <dj@cygnus.com>
+
+ * sh.h: Add Windows CE definitions.
+ * arm.h: Add Windows CE definitions.
+ * mipspe.h: New file: Windows CE definitions for MIPS.
+ * pe.h: Add constants for ILF support.
+
+2000-01-05 Nick Clifton <nickc@cygnus.com>
+
+ * pe.h: Fix formatting of comments.
+ (IMAGE_FILE_AGGRESSIVE_WS_TRIM): Define.
+ (IMAGE_FILE_LARGE_ADDRESS_AWARE): Define.
+ (IMAGE_FILE_16BIT_MACHINE): Define.
+ (IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP): Define.
+ (IMAGE_FILE_UP_SYSTEM_ONLY): Define.
+ (IMAGE_FILE_MACHINE_UNKNOWN): Define.
+ (IMAGE_FILE_MACHINE_ALPHA): Define.
+ (IMAGE_FILE_MACHINE_ALPHA64): Define.
+ (IMAGE_FILE_MACHINE_I386): Define.
+ (IMAGE_FILE_MACHINE_IA64): Define.
+ (IMAGE_FILE_MACHINE_M68K): Define.
+ (IMAGE_FILE_MACHINE_MIPS16): Define.
+ (IMAGE_FILE_MACHINE_MIPSFPU): Define.
+ (IMAGE_FILE_MACHINE_MIPSFPU16): Define.
+ (IMAGE_FILE_MACHINE_POWERPC): Define.
+ (IMAGE_FILE_MACHINE_R3000): Define.
+ (IMAGE_FILE_MACHINE_R4000): Define.
+ (IMAGE_FILE_MACHINE_R10000): Define.
+ (IMAGE_FILE_MACHINE_SH3): Define.
+ (IMAGE_FILE_MACHINE_SH4): Define.
+ (IMAGE_FILE_MACHINE_THUMB): Define.
+
+1999-09-20 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * internal.h: Delete bogus R_PCLONG, duplicate R_RELBYTE and
+ R_RELWORD, and rewrite some R_* as decimal.
+
+1999-09-06 Donn Terry <donn@interix.com>
+
+ * internal.h (DTYPE): Define.
+ * pe.h (struct external_PEI_filehdr): Rename from
+ external_PE_filehdr. Define even if COFF_IMAGE_WITH_PE is not
+ defined.
+
+1999-07-17 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (F_SOFT_FLOAT): Rename from F_SOFTFLOAT.
+
+1999-06-21 Philip Blundell <pb@nexus.co.uk>
+
+ * arm.h (F_SOFTFLOAT): Define.
+
+1999-07-05 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (F_ARM_5): Define.
+
+Wed Jun 2 18:08:18 1999 Richard Henderson <rth@cygnus.com>
+
+ * internal.h (BEOS_EXE_IMAGE_BASE, BEOS_DLL_IMAGE_BASE): New.
+
+Mon May 17 13:35:35 1999 Stan Cox <scox@cygnus.com>
+
+ * arm.h (F_PIC, F_ARM_2, F_ARM_2a, F_ARM_3, F_ARM_3M,
+ F_ARM_4, F_ARM_4T, F_APCS26): Changed values to distinguish
+ F_ARM_2a, F_ARM_3M, F_ARM_4T.
+
+1999-05-15 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h (IMAGE_REL_MCORE_RVA): Define.
+
+1999-04-21 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h (GET_LINENO_LNNO): New macro.
+ (PUT_LINENO_LNNO): New macro.
+
+1999-04-08 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h: New header file. Defines for Motorola's MCore
+ processor.
+
+Sun Dec 6 21:36:37 1998 Mark Elbrecht <snowball3@usa.net>
+
+ * internal.h (C_WEAKEXT): Define.
+
+Wed Jan 27 13:35:35 1999 Stan Cox <scox@cygnus.com>
+
+ * arm.h (F_PIC_INT, F_ARM_2, F_ARM_3, F_ARM_4, F_APCS26):
+ Changed values to avoid clashing with IMAGE_FILE_* coff header
+ flag values.
+
+Wed Apr 1 16:06:15 1998 Nick Clifton <nickc@cygnus.com>
+
+ * internal.h: Document numbers associated with Thumb symbol
+ types.
+
+Fri Mar 27 17:16:57 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (ISPTR, ISFCN, ISARY): Add casts to unsigned long.
+
+Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
+
+ * tic30.h: New file.
+
+Fri Dec 12 11:49:07 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (R_MPPCR15W): New relocation type, for 15 bit PC relative
+ offsets.
+
+Tue Dec 2 10:21:40 1997 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (COFFARM): New define.
+
+Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h (R_SH_SWITCH8): New.
+
+Sat Nov 22 15:10:14 1997 Nick Clifton <nickc@cygnus.com>
+
+ * internal.h (C_THUMBEXTFUNC, C_THUMBSTATFUNC): Constants to
+ define static and external functions.
+
+ * arm.h: Add bits to support PIC and APCS-FLOAT type binaries,
+ when implemented.
+
+Fri Oct 3 14:25:17 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (R_PPL16B): Make constant uppercase for consistency.
+
+Tue Jul 22 18:18:58 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
+
+ * go32exe.h: New file.
+
+Tue Jul 8 12:23:55 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_TARGET_ID): Add define.
+ * internal.h (struct internal_filehdr): Add f_target_id field.
+
+Tue Jun 3 16:44:18 1997 Nick Clifton <nickc@cygnus.com>
+
+ * internal.h: Add storage classes for Thumb symbols
+
+Mon May 26 14:07:55 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * tic80.h (R_PPL16B): Correct value.
+
+Tue May 13 10:21:14 1997 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (constants): Added new flag bits F_APCS_26 and
+ F_APCS_SET for the f_flags field of the filehdr structure. Added new
+ flags: F_APCS26, F_ARM_2, F_ARM_3, F_ARM_7, F_ARM_7T to store
+ information in the flags field of the internal_f structure used by BFD
+ routines.
+
+Sat May 3 08:24:59 1997 Fred Fish <fnf@cygnus.com>
+
+ * internal.h (C_UEXT, C_STATLAB, C_EXTLAB, C_SYSTEM):
+ New storage classes for TIc80.
+
+Fri Apr 18 11:52:55 1997 Niklas Hallqvist <niklas@appli.se>
+
+ * alpha.h (ALPHA_ECOFF_BADMAG): Recognize *BSD/alpha magic too.
+ (ALPHA_R_LITERALSLEAZY): Define.
+ * ecoff.h (ALPHA_MAGIC_BSD): Define.
+
+Wed Jan 29 11:31:51 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i960.h (R_IPR13, R_ALIGN): Define.
+
+Mon Jan 27 13:34:30 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): Move definitions
+ from here...
+ * i960.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): ...to here.
+
+Wed Jan 22 20:10:47 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80MAGIC): Renamed to TIC80_AOUTHDR_MAGIC.
+
+Fri Dec 27 22:05:45 1996 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h: New file for TIc80 support.
+
+Thu Dec 19 16:18:11 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * arm.h (_LIT): Define.
+
+Fri Jun 28 12:54:38 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * pe.h (FILHSZ): Define.
+
+Wed Jun 26 16:24:26 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * All files: Define FILHSZ, AOUTSZ, AOUTHDRSZ, SCNHSZ, SYMESZ,
+ AUXESZ, LINESZ, RELSZ as numeric constants rather than uses of
+ sizeof. Define AOUTHDRSZ in all files.
+ * pe.h (AOUTSZ): Define by adding to AOUTHDRSZ.
+
+Fri Jun 21 11:17:46 1996 Richard Henderson <rth@tamu.edu>
+
+ * alpha.h: Add declarations for relocation types added for Alpha
+ OSF/1 3.0.
+
+Tue Jun 18 16:04:29 1996 Jeffrey A. Law <law@rtl.cygnus.com>
+
+ * h8300.h (H8300SMAGIC): Define.
+ (H8300SBADMAG): Define.
+
+Mon Jun 10 11:53:28 1996 Jeffrey A Law (law@cygnus.com)
+
+ * internal.h (R_BCC_INV, R_JMP_DEL): New relocations for
+ relaxing in the H8/300 series.
+
+Thu May 16 15:49:22 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * sh.h (R_SH_CODE, R_SH_DATA, R_SH_LABEL): Define.
+
+Tue May 7 00:36:39 1996 Jeffrey A Law (law@cygnus.com)
+
+ * internal.h (R_JMPL2): Renamed from R_JMPL_B8 to be
+ consistent with other similar relocs.
+
+ * 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.
+
+Fri May 3 13:01:12 1996 Jeffrey A Law (law@cygnus.com)
+
+ * internal.h (R_PCRWORD_B): Define for the h8300 relaxing
+ linker.
+
+Wed May 1 19:21:03 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (SCNNMLEN): Define.
+ (struct internal_scnhdr): Use SCNNMLEN for s_name field.
+
+Fri Mar 29 13:41:25 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * pe.h: Define IMAGE_COMDAT codes.
+
+Wed Mar 27 17:29:42 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * arm.h (union external_auxent): Add x_checksum, x_associated, and
+ x_comdat fields to x_scn struct.
+ * i386.h (union external_auxent): Likewise.
+ * powerpc.h (union external_auxent): Likewise.
+ * internal.h (union internal_auxent): Likewise.
+
+Thu Mar 21 16:25:57 1996 David Mosberger-Tang <davidm@azstarnet.com>
+
+ * ecoff.h (struct ecoff_find_line): Add caching fields.
+
+Thu Mar 14 15:22:44 1996 Jeffrey A Law (law@cygnus.com)
+
+ * internal.h (R_MEM_INDIRECT): New reloc for the h8300.
+
+Fri Feb 9 10:44:11 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * aux-coff.h: Rename from aux.h, to avoid problems on hapless DOS
+ systems which think that aux is a com port.
+
+Mon Feb 5 18:35:00 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * i960.h (F_I960HX): Define.
+
+Wed Jan 31 13:11:54 1996 Richard Henderson <rth@tamu.edu>
+
+ * aux.h: New file.
+ * internal.h, m68k.h: Protect against multiple inclusion.
+
+Wed Nov 22 13:48:39 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * ecoff.h (_RCONST, STYP_RCONST, RELOC_SECTION_RCONST): Define.
+ (NUM_RELOC_SECTIONS): Update.
+ * symconst.h (scRConst): Define.
+
+Tue Nov 14 18:54:29 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (C_NT_WEAK): Define.
+
+Thu Nov 9 14:08:30 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * rs6000.h (STYP_OVRFLO): Define.
+
+Tue Nov 7 14:38:45 1995 Kim Knuttila <krk@cygnus.com>
+
+ * powerpc.h (IMAGE_NT_OPTIONAL_HDR_MAGIC): Added define.
+ * pe.h: Added defines for file level flags
+
+Mon Nov 6 17:28:01 1995 Harry Dolan <dolan@ssd.intel.com>
+
+ * i860.h: New file, based on i386.h.
+
+Wed Nov 1 15:25:18 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
+
+ * m68k.h (PAGEMAGICEXECSWAPPED): Define.
+ (PAGEMAGICPEXECSWAPPED): Define.
+ (PAGEMAGICPEXECTSHLIB): Define.
+ (PAGEMAGICPEXECPAGED): Define.
+ (_COMMENT): DEFINE.
+ * m88k.h (_COMMENT): Define.
+
+Wed Oct 18 18:36:19 1995 Geoffrey Noer <noer@cygnus.com>
+
+ * sym.h: #if 0'd out runtime_pdr struct because it chokes
+ Visual C++ and there aren't any references to it elsewhere in gdb.
+
+Mon Oct 16 11:12:24 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * rs6000.h (SMALL_AOUTSZ): Define.
+
+ * internal.h (XMC_TD): Define.
+
+Tue Oct 10 18:41:03 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (struct internal_aouthdr): Add o_cputype field.
+ * rs6000.h (AOUTHDR): Rename o_resv1 to o_cputype.
+
+Mon Oct 9 14:45:46 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * rs6000.h (AOUTHDR): Add o_maxdata field. Add comments.
+ (_PAD, _LOADER): Define.
+ (STYP_LOADER): Define.
+ * internal.h (struct internal_aouthdr): Add o_maxdata field.
+
+Thu Oct 5 10:02:57 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * ecoff.h: Define section name macros and STYP macros for various
+ Alpha sections: .got, .hash, .dynsym, .dynstr, .rel.dyn, .conflic,
+ .comment, .liblist, .dynamic.
+
+Wed Oct 4 10:56:35 1995 Kim Knuttila <krk@cygnus.com>
+
+ * pe.h: Moved DOSMAGIC and NT_SIGNATURE defines here
+ * powerpc.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
+ Also removed other unused defines (various MAGIC ones)
+ * i386.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
+ * arm.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
+ * apollo.h: removed unused DEFAULT_* defines
+ * alpha.h: removed unused DEFAULT_* defines
+ * h8500.h: removed unused DEFAULT_* defines
+ * h8300.h: removed unused DEFAULT_* defines
+ * i960.h: removed unused DEFAULT_* defines
+ * m88k.h: removed unused DEFAULT_* defines
+ * we32k.h: removed unused DEFAULT_* defines
+ * rs6000.h: removed unused DEFAULT_* defines
+ * mips.h: removed unused DEFAULT_* defines
+ * m68k.h: removed unused DEFAULT_* defines
+ * z8k.h: removed unused DEFAULT_* defines
+ * w65.h: removed unused DEFAULT_* defines
+ * sparc.h: removed unused DEFAULT_* defines
+ * sh.h: removed unused DEFAULT_* defines
+
+Fri Sep 29 08:40:08 1995 Kim Knuttila <krk@cygnus.com>
+
+ * powerpc.h: Reformatted to GNU coding conventions.
+
+Wed Sep 27 06:50:50 1995 Kim Knuttila <krk@nellie>
+
+ * pe.h: added defines for more section characteristics
+ * powerpc.h (new file): base coff definitions for ppc PE
+
+Tue Sep 12 12:08:20 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (struct internal_syment): Change n_numaux field from
+ char to unsigned char.
+
+Fri Sep 1 15:39:36 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
+
+ * mips.h (struct rpdr_ext): Define.
+
+Thu Aug 31 16:51:50 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * internal.h (internal_aouthdr, internal_filehdr):
+ don't indirect the pe stuff.
+
+Tue Aug 29 14:16:07 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * i386.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Make the same
+ as 'the other' compiler.
+ * internal.h (NT_IMAGE_BASE): Deleted.
+ (NT_EXE_IMAGE_BASE, NT_DLL_IMAGE_BASE): New.
+ (PE_DEF_SECTION_ALIGNMENT, PE_DEF_FILE_ALIGNMENT): New.
+ (R_IMAGEBASE): New.
+
+Mon Aug 21 18:12:19 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * internal.h: (internal_filehdr): Moved PE stuff into
+ internal_extra_pe_filehdr.
+ (internal_aouthdr): Moved PE stuff into
+ interanl_extra_pe_aouthdr.
+
+Mon Jul 24 14:05:39 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h: Move R_SH_* relocs from here...
+ * sh.h: ...to here.
+ (R_SH_SWITCH16, R_SH_SWITCH32): Define.
+ (R_SH_USES, R_SH_COUNT, R_SH_ALIGN): Define.
+
+Thu Jun 29 00:04:25 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * internal.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Increase a lot.
+
+Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * internal.h (NT_subsystem, NT_stack_heap): Delete
+
+Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * internal.h (NT_subsystem, NT_stack_heap): Now extern.
+
+Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * pe.h: New file.
+ * i386.h (NT_SECTION_ALIGNMENT, NT_FILE_ALIGNMENT,
+ NT_DEF_RESERVE, NT_DEF_COMMIT): New.
+ * internal.h (internal_filehdr): New fields for PE.
+ (IMAGE_DATA_DIRECTORY): New.
+ (internal_aouthdr): New fields for PE.
+
+Tue Feb 14 17:59:37 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * ecoff.h (struct ecoff_fdrtab_entry): Define.
+ (struct ecoff_find_line): Define.
+
+Sat Feb 4 14:38:03 1995 David Mosberger-Tang <davidm@piston.cs.arizona.edu>
+
+ * sym.h (struct pdr): field "prof" added.
+
+ * alpha.h (PDR_BITS1_PROF_*): added, macros for PDR_BITS*_RESERVED_*
+ updated accordingly.
+
+Sun Jan 15 18:38:33 1995 Steve Chamberlain <sac@splat>
+
+ * w65.h: New file.
+
+Wed Nov 23 22:43:38 1994 Steve Chamberlain (sac@jonny.cygnus.com)
+
+ * sh.h (SH_ARCH_MAGIC_BIG, SH_ARCH_MAGIC_LITTLE): New.
+ (SHBADMAG): Changed to suit.
+
+Tue Jul 26 17:46:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i960.h (F_I960JX): New macro.
+
+Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * alpha.h: Add definitions for alpha file header flags, encoding
+ the object type of the file.
+
+Mon Jun 20 13:47:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * ecoff.h (ecoff_swap_tir_in): Remove declaration.
+ (ecoff_swap_tir_out): Likewise.
+ (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
+ (struct ecoff_debug_swap): Add new fields: swap_tir_in,
+ swap_rndx_in, swap_tir_out, swap_rndx_out, read_debug_info.
+
+Sun Jun 12 03:51:52 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * symconst.h: Pick up SGI define for stIndirect.
+
+Fri Apr 22 13:05:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (REGINFO): Don't define.
+ (struct ecoff_reginfo): Don't define.
+
+ * sh.h (SH_ARCH_MAGIC): Rename from SHMAGIC. SHMAGIC is used by
+ several targets to mean a shared library.
+ (SHBADMAG): Corresponding change.
+
+Thu Apr 14 13:00:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (RELOC_BITS3_TYPE_BIG): Changed from 0x1e to 0x3e.
+ (RELOC_BITS3_TYPEHI_LITTLE): Define.
+ (RELOC_BITS3_TYPEHI_SH_LITTLE): Define.
+ (MIPS_R_PCREL16): Change value from 8 to 12 to match Irix 4.
+ (MIPS_R_RELHI): Define.
+ (MIPS_R_RELLO): Define.
+ (MIPS_R_SWITCH): Change value from 9 to 22.
+
+Thu Apr 7 14:19:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (MIPS_R_SWITCH): Define.
+
+Thu Mar 31 19:28:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * internal.h (internal_aouthdr): Added comments for Apollo fields.
+
+Thu Mar 31 16:28:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (STYP_ECOFF_LIB): Define as used on Irix 4.
+
+Fri Mar 25 17:16:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (struct ecoff_debug_info): Add adjust field.
+ (struct ecoff_value_adjust): Define.
+
+Tue Mar 22 13:22:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (MIPS_R_PCREL16): Define.
+
+Sat Feb 26 10:26:38 1994 Ian Lance Taylor (ian@cygnus.com)
+
+ * ecoff.h: Add casts to avoid warnings from SVR4 cc.
+
+Mon Feb 21 09:48:46 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
+
+ * sym.h (struct runtime_pdr): Make field adr bfd_vma, not unsigned
+ long.
+ (SYMR): Make field value bfd_vma, not long.
+
+Fri Feb 4 23:35:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * rs6000.h (STYP_DEBUG): Define.
+
+Wed Feb 2 14:31:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * internal.h (union internal_auxent): Change x_csect.x_scnlen into
+ a union of a long and a pointer to a symbol. XCOFF sometimes uses
+ this field as a symbol index.
+
+Mon Jan 10 23:54:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (ecoff_debug_info): Remove fields line_end,
+ external_dnr_end, external_pdr_end, external_sym_end,
+ external_opt_end, external_aux_end, ss_end, external_fdr_end.
+ Replace ifdbase with ifdmap.
+
+Wed Jan 5 17:05:36 1994 Ken Raeburn (raeburn@deneb.cygnus.com)
+
+ * ecoff.h (STYP_EXTENDESC, STYP_COMMENT, STYP_XDATA, STYP_PDATA):
+ Define.
+
+Wed Jan 5 16:58:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (NUM_RELOC_SECTIONS): Define.
+
+Tue Dec 21 09:24:56 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
+
+ * sparc.h (struct external_reloc): Rename field r_addend to
+ r_offset.
+
+Sat Dec 11 16:12:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h (R_DISP7, R_SH_IMM16): New reloc types.
+
+Tue Nov 23 14:23:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (struct ecoff_debug_swap): Added *_end fields for all
+ the symbolic information pointers.
+
+ * sym.h: Named the EXTR structure ecoff_extr.
+
+Fri Nov 19 08:21:18 1993 Ken Raeburn (raeburn@rover.cygnus.com)
+
+ * sparc.h (RELSZ): Use correct size.
+
+Wed Nov 17 17:18:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (struct ecoff_debug_info): Define.
+
+Tue Nov 2 17:56:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (struct ecoff_debug_swap): Define.
+
+Thu Oct 28 17:07:50 1993 Stan Shebs (shebs@rtl.cygnus.com)
+
+ * i386.h (I386LYNXMAGIC): Rename to LYNXCOFFMAGIC.
+ * m68k.h (LYNXCOFFMAGIC): Define.
+ * sparc.h: New file.
+
+Tue Oct 19 15:34:50 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * alpha.h (external_aouthdr): Split four byte padding field into
+ two byte bldrev field and two byte padding field.
+
+ * ecoff.h (_LITA, _PDATA, _XDATA, STYP_LITA): Defined.
+
+Wed Oct 13 15:52:34 1993 Ken Raeburn (raeburn@cygnus.com)
+
+ Sun Oct 10 17:27:10 1993 Troy Rollo (troy@cbme.unsw.edu.au)
+
+ * internal.h: Added o_sri, o_inlib and o_vid for Apollos as well
+ as R_DIR16.
+
+ * apollo.h: New file
+
+Mon Oct 11 17:16:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (REGINFO, struct ecoff_reginfo): Define.
+
+Tue Oct 5 10:52:53 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * rs6000.h: Change non-ASCII characters in comment to octal
+ escapes.
+
+Tue Sep 28 03:27:04 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * ecoff.h (_FINI, STYP_ECOFF_FINI): Add to support .fini section.
+
+Fri Sep 24 11:53:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
+ * ecoff.h: Define MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
+
+Thu Sep 23 21:07:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
+ * ecoff.h: Define MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
+
+Thu Sep 16 20:27:21 1993 Jim Kingdon (kingdon@cirdan.cygnus.com)
+
+ * sym.h, symconst.h: Add comment stating these files are not part
+ of GDB, GAS, etc. In 1991, when we asked rms whether we could
+ include these files in GDB (although they are copyrighted by
+ someone besides the FSF), he said it was OK if they were not
+ considered part of GDB.
+
+Fri Sep 10 17:40:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (AUX_PUT_ANY): Cast val argument to bfd_vma.
+
+ * alpha.c (external_aouthdr): Need four bytes of padding between
+ vstamp and tsize.
+
+Tue Sep 7 14:20:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (AUX_GET_ANY, AUX_PUT_ANY): Changed to reflect further
+ change in bfd swapping routine names.
+
+Tue Sep 7 10:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * ecoff.h (AUX_GET_ANY): Change name of _do_getb32 to reflect bfd
+ changes.
+
+Fri Aug 13 14:30:32 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * ecoff.h (RELOC_SECTION_NONE): Define.
+
+Thu Aug 12 11:24:42 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * alpha.h (struct external_reloc): Add r_symndx field.
+ (RELSZ): Correct.
+ (RELOC_BITS*): Correct.
+ (ALPHA_R_*): Define.
+ * ecoff.h (RELOC_SECTION_{XDATA,PDATA,FINI,LITA,ABS}): Define.
+ (r_extern): Undefine.
+ * internal.h (struct internal_reloc): Make r_vaddr bfd_vma rather
+ than long. Add r_extern field.
+
+ * alpha.h (PDR_BITS*): Define.
+ * sym.h (PDR): Give correct names to new fields.
+
+ * ecoff.h: Moved MIPS reloc definitions from here...
+ * mips.h: to here.
+
+Mon Aug 2 16:37:14 1993 Stu Grossman (grossman at cygnus.com)
+
+ * i386.h: Add Lynx magic number.
+
+Tue Aug 3 11:17:53 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * alpha.h: Corrected external symbolic debugging structures to
+ match actual usage.
+ * internal.h (internal_filehdr, internal_aouthdr,
+ internal_scnhdr): Changed type of some fields to bfd_vma so they
+ can hold 64 bits.
+ * sym.h (HDRR, FDR, PDR, EXTR): Likewise.
+ (PDR): Added new fields found on Alpha.
+ * symconst.h (magicSym2): Define; new value found on Alpha.
+
+ * ecoff.h: New file.
+ * alpha.h, mips.h: Moved common information into ecoff.h. Moved
+ external structure definitions in from ecoff-ext.h.
+ * ecoff-ext.h: Removed; information now in alpha.h and mips.h.
+
+Sun Jul 18 21:43:59 1993 Jim Kingdon (kingdon@rtl.cygnus.com)
+
+ * i386.h: Recognize I386PTXMAGIC.
+
+Fri Jul 16 09:54:35 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h (MIPS_AOUT_{OZ}MAGIC): Renamed from {OZ}MAGIC.
+
+Thu Jul 15 12:23:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * m88k.h (union external_auxent): Move x_fcn back inside x_fcnary.
+ ({GET,PUT}_FCN_{LNNOPTR,ENDNDX}): Adjust accordingly.
+
+Sun Jul 11 18:00:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * m68k.h: Define MC68KBCSMAGIC.
+
+Thu Jun 10 11:46:28 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h (_INIT, STYP_MIPS_INIT): Define (used on Irix4).
+ (STYP_OTHER_LOAD): Define as STYP_MIPS_INIT.
+
+Wed Jun 9 15:09:09 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h (OMAGIC): Define.
+
+Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ Support for H8/300-H
+ * h8300.h: New magic number.
+ * internal.h: New relocations.
+
+Mon Apr 26 18:04:47 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h, sh.h: Support for SH.
+
+Sat Apr 24 21:34:59 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * a29k.h: Define _LIT.
+
+Fri Apr 23 18:41:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * alpha.h: New file.
+
+Thu Apr 8 12:36:34 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * internal.h (C_SHADOW, C_VERSION): Copied in from m88k.h.
+ * m88k.h, i386.h, we32k.h: Don't define all the storage classes;
+ they're already in internal.h.
+
+Wed Apr 7 11:51:24 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * internal.h: Change n_sclass to unsigned char.
+ Change C_EFCN to 0xff, change RS/6000 dbx symbols
+ to no longer be signed.
+
+Fri Mar 19 14:52:56 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h: Add H8/500 reloc types.
+
+Wed Mar 17 09:46:03 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * ecoff-ext.h (AUX_PUT_ANY): Don't use void values in branches of
+ conditional expression.
+
+Thu Mar 4 14:12:06 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * ecoff-ext.h (AUX_GET_*): Rewrote to use new macro AUX_GET_ANY.
+ (AUX_PUT_*): New macros corresponding to the AUX_GET macros.
+ (ecoff_swap_tir_out): Added prototype.
+
+ * mips.h (N_BTMASK, N_TMASK, N_BTSHFT, N_TSHIFT): Define; these
+ are needed to interpret gcc debugging output.
+
+Tue Feb 9 07:43:27 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * we32k.h (BTYPE, ISPTR, ISFCN, ISARY, DECREF): Removed
+ more definitions duplicated in internal.h.
+
+Wed Feb 3 09:18:24 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h (RELOC_BITS3_TYPE_*): Correct for big endian machines.
+
+Mon Jan 25 11:35:51 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * internal.h (internal_aouthdr): Added additional fields used only
+ by MIPS ECOFF.
+
+Thu Jan 21 10:28:38 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h (AOUTHDR): Added additional fields used by ECOFF.
+
+Tue Jan 19 12:21:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * i386.h, we32k.h (N_*, T_*, DT_*): Removed still more definitions
+ duplicated in internal.h.
+
+ * mips.h (RELOC_SECTION_*, ECOFF_R_*): Defined constants for ECOFF
+ relocs.
+
+Fri Jan 15 18:17:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff-ext.h: Added prototypes for new ECOFF swapping functions.
+ (opt_ext): New structure.
+ * mips.h (ZMAGIC): Defined to be 0413.
+ (_LIB): Defined to be ".lib"
+ (external_reloc): MIPS ECOFF relocs are only 8 bytes. Added
+ macros to aid in swapping.
+
+Fri Jan 8 16:19:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff-ext.h: Added prototypes for ECOFF swapping functions.
+ * internal.h (internal_scnhdr): Always provide s_align field, not
+ just on i960.
+ (internal_reloc): Always provide r_size field, not just on
+ RS/6000.
+ * mips.h (_RDATA, _SDATA, _SBSS, _LIT4, _LIT8, STYP_RDATA,
+ STYP_SDATA, STYP_SBSS, STYP_LIT4, STYP_LIT8): Defined.
+ (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB,
+ STABS_SYMBOL): Moved in from gdb/mipsread.c.
+
+Wed Jan 6 14:01:46 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * i386.h, we32k.h: removed STYP_* defines, since they duplicated
+ those in internal.h.
+
+Tue Dec 29 15:40:07 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * i386.h: define I386AIXMAGIC for Danbury AIX PS/2 compiler.
+
+Sat Dec 12 16:07:57 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * i386.h: don't define BTYPE, ISPTR, ISFCN, ISARY, DECREF: they
+ are defined in internal.h.
+
+Thu Nov 12 09:52:01 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h: (internal_reloc): r_offset is now a long.
+ * z8k.h: slight comment enhancement
+
+Wed Sep 30 07:46:08 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h: changed z8k reloc types
+
+Fri Aug 28 10:16:31 1992 Brendan Kehoe (brendan@cygnus.com)
+
+ * we32k.h: new file
+
+Thu Aug 27 13:00:01 1992 Brendan Kehoe (brendan@cygnus.com)
+
+ * symconst.h: comment out cruft at the end of #endif
+
+Tue Aug 25 15:06:49 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h: added #define for STYP_LIT, removed from a29k and
+ h8300.
+
+ * z8k.h: added z8000 support
+
+Thu Jul 16 16:32:00 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h: added R_RELLONG_NEG reloc type
+
+Fri Jun 12 20:11:04 1992 John Gilmore (gnu at cygnus.com)
+
+ * symconst.h: Fix unterminated comment.
+
+Wed Jun 10 07:57:49 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * i386.h: a.out magic numbers from
+ mohring@informatik.tu-muenchen.de
+
+Mon Jun 8 20:13:33 1992 John Gilmore (gnu at cygnus.com)
+
+ * ecoff-ext.h, mips.h: Use unsigned chars everywhere.
+ (Suggested by Antti Miettinen.)
+
+Tue Apr 14 15:18:44 1992 John Gilmore (gnu at cygnus.com)
+
+ * sym.h: Add comments.
+ * symconst.h: Merge with Fred's changes.
+
+Tue Apr 14 14:30:05 1992 Fred Fish (fnf@cygnus.com)
+
+ * symconst.h: Pick up SGI defines for stStruct, stUnion, stEnum,
+ langCplusplus, and langCplusplusV2.
+
+Thu Apr 2 19:47:43 1992 John Gilmore (gnu at cygnus.com)
+
+ * sym.h, symconst.h: MIPS has provided redistributable versions
+ of these files. Thanks!
+ * ecoff-ext.h: Add weakext bit to match new sym.h.
+
+Fri Mar 6 00:10:46 1992 John Gilmore (gnu at cygnus.com)
+
+ * ecoff-ext.h: Add relative file descriptors.
+
+Thu Feb 27 11:53:04 1992 John Gilmore (gnu at cygnus.com)
+
+ * ecoff-ext.h: New file for external (in-file) form of ecoff
+ symbol structures.
+
+Thu Feb 6 11:33:32 1992 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * h8300.h: made the external_lineno l_lnno field 4 bytes wide.
+ andded GET/PUT_LINENO_LNNO macros
+
+Sat Nov 30 20:38:35 1991 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * a29k.h, h8300.h, i386.h, i960.h, internal.h, m68k.h, m88k.h,
+ mips.h, rs6000.h: Move from above coff-<foo>.h.
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/include/demangle.h b/include/demangle.h
index bff266931c8..c3fdb036d53 100644
--- a/include/demangle.h
+++ b/include/demangle.h
@@ -1,6 +1,6 @@
/* Defs for interface to demanglers.
- Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002
- Free Software Foundation, Inc.
+ Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002,
+ 2003, 2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -164,6 +164,368 @@ enum gnu_v3_dtor_kinds {
extern enum gnu_v3_dtor_kinds
is_gnu_v3_mangled_dtor PARAMS ((const char *name));
+/* The V3 demangler works in two passes. The first pass builds a tree
+ representation of the mangled name, and the second pass turns the
+ tree representation into a demangled string. Here we define an
+ interface to permit a caller to build their own tree
+ representation, which they can pass to the demangler to get a
+ demangled string. This can be used to canonicalize user input into
+ something which the demangler might output. It could also be used
+ by other demanglers in the future. */
+
+/* These are the component types which may be found in the tree. Many
+ component types have one or two subtrees, referred to as left and
+ right (a component type with only one subtree puts it in the left
+ subtree). */
+
+enum demangle_component_type
+{
+ /* A name, with a length and a pointer to a string. */
+ DEMANGLE_COMPONENT_NAME,
+ /* A qualified name. The left subtree is a class or namespace or
+ some such thing, and the right subtree is a name qualified by
+ that class. */
+ DEMANGLE_COMPONENT_QUAL_NAME,
+ /* A local name. The left subtree describes a function, and the
+ right subtree is a name which is local to that function. */
+ DEMANGLE_COMPONENT_LOCAL_NAME,
+ /* A typed name. The left subtree is a name, and the right subtree
+ describes that name as a function. */
+ DEMANGLE_COMPONENT_TYPED_NAME,
+ /* A template. The left subtree is a template name, and the right
+ subtree is a template argument list. */
+ DEMANGLE_COMPONENT_TEMPLATE,
+ /* A template parameter. This holds a number, which is the template
+ parameter index. */
+ DEMANGLE_COMPONENT_TEMPLATE_PARAM,
+ /* A constructor. This holds a name and the kind of
+ constructor. */
+ DEMANGLE_COMPONENT_CTOR,
+ /* A destructor. This holds a name and the kind of destructor. */
+ DEMANGLE_COMPONENT_DTOR,
+ /* A vtable. This has one subtree, the type for which this is a
+ vtable. */
+ DEMANGLE_COMPONENT_VTABLE,
+ /* A VTT structure. This has one subtree, the type for which this
+ is a VTT. */
+ DEMANGLE_COMPONENT_VTT,
+ /* A construction vtable. The left subtree is the type for which
+ this is a vtable, and the right subtree is the derived type for
+ which this vtable is built. */
+ DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE,
+ /* A typeinfo structure. This has one subtree, the type for which
+ this is the tpeinfo structure. */
+ DEMANGLE_COMPONENT_TYPEINFO,
+ /* A typeinfo name. This has one subtree, the type for which this
+ is the typeinfo name. */
+ DEMANGLE_COMPONENT_TYPEINFO_NAME,
+ /* A typeinfo function. This has one subtree, the type for which
+ this is the tpyeinfo function. */
+ DEMANGLE_COMPONENT_TYPEINFO_FN,
+ /* A thunk. This has one subtree, the name for which this is a
+ thunk. */
+ DEMANGLE_COMPONENT_THUNK,
+ /* A virtual thunk. This has one subtree, the name for which this
+ is a virtual thunk. */
+ DEMANGLE_COMPONENT_VIRTUAL_THUNK,
+ /* A covariant thunk. This has one subtree, the name for which this
+ is a covariant thunk. */
+ DEMANGLE_COMPONENT_COVARIANT_THUNK,
+ /* A Java class. This has one subtree, the type. */
+ DEMANGLE_COMPONENT_JAVA_CLASS,
+ /* A guard variable. This has one subtree, the name for which this
+ is a guard variable. */
+ DEMANGLE_COMPONENT_GUARD,
+ /* A reference temporary. This has one subtree, the name for which
+ this is a temporary. */
+ DEMANGLE_COMPONENT_REFTEMP,
+ /* A standard substitution. This holds the name of the
+ substitution. */
+ DEMANGLE_COMPONENT_SUB_STD,
+ /* The restrict qualifier. The one subtree is the type which is
+ being qualified. */
+ DEMANGLE_COMPONENT_RESTRICT,
+ /* The volatile qualifier. The one subtree is the type which is
+ being qualified. */
+ DEMANGLE_COMPONENT_VOLATILE,
+ /* The const qualifier. The one subtree is the type which is being
+ qualified. */
+ DEMANGLE_COMPONENT_CONST,
+ /* The restrict qualifier modifying a member function. The one
+ subtree is the type which is being qualified. */
+ DEMANGLE_COMPONENT_RESTRICT_THIS,
+ /* The volatile qualifier modifying a member function. The one
+ subtree is the type which is being qualified. */
+ DEMANGLE_COMPONENT_VOLATILE_THIS,
+ /* The const qualifier modifying a member function. The one subtree
+ is the type which is being qualified. */
+ DEMANGLE_COMPONENT_CONST_THIS,
+ /* A vendor qualifier. The left subtree is the type which is being
+ qualified, and the right subtree is the name of the
+ qualifier. */
+ DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL,
+ /* A pointer. The one subtree is the type which is being pointed
+ to. */
+ DEMANGLE_COMPONENT_POINTER,
+ /* A reference. The one subtree is the type which is being
+ referenced. */
+ DEMANGLE_COMPONENT_REFERENCE,
+ /* A complex type. The one subtree is the base type. */
+ DEMANGLE_COMPONENT_COMPLEX,
+ /* An imaginary type. The one subtree is the base type. */
+ DEMANGLE_COMPONENT_IMAGINARY,
+ /* A builtin type. This holds the builtin type information. */
+ DEMANGLE_COMPONENT_BUILTIN_TYPE,
+ /* A vendor's builtin type. This holds the name of the type. */
+ DEMANGLE_COMPONENT_VENDOR_TYPE,
+ /* A function type. The left subtree is the return type. The right
+ subtree is a list of ARGLIST nodes. Either or both may be
+ NULL. */
+ DEMANGLE_COMPONENT_FUNCTION_TYPE,
+ /* An array type. The left subtree is the dimension, which may be
+ NULL, or a string (represented as DEMANGLE_COMPONENT_NAME), or an
+ expression. The right subtree is the element type. */
+ DEMANGLE_COMPONENT_ARRAY_TYPE,
+ /* A pointer to member type. The left subtree is the class type,
+ and the right subtree is the member type. CV-qualifiers appear
+ on the latter. */
+ DEMANGLE_COMPONENT_PTRMEM_TYPE,
+ /* An argument list. The left subtree is the current argument, and
+ the right subtree is either NULL or another ARGLIST node. */
+ DEMANGLE_COMPONENT_ARGLIST,
+ /* A template argument list. The left subtree is the current
+ template argument, and the right subtree is either NULL or
+ another TEMPLATE_ARGLIST node. */
+ DEMANGLE_COMPONENT_TEMPLATE_ARGLIST,
+ /* An operator. This holds information about a standard
+ operator. */
+ DEMANGLE_COMPONENT_OPERATOR,
+ /* An extended operator. This holds the number of arguments, and
+ the name of the extended operator. */
+ DEMANGLE_COMPONENT_EXTENDED_OPERATOR,
+ /* A typecast, represented as a unary operator. The one subtree is
+ the type to which the argument should be cast. */
+ DEMANGLE_COMPONENT_CAST,
+ /* A unary expression. The left subtree is the operator, and the
+ right subtree is the single argument. */
+ DEMANGLE_COMPONENT_UNARY,
+ /* A binary expression. The left subtree is the operator, and the
+ right subtree is a BINARY_ARGS. */
+ DEMANGLE_COMPONENT_BINARY,
+ /* Arguments to a binary expression. The left subtree is the first
+ argument, and the right subtree is the second argument. */
+ DEMANGLE_COMPONENT_BINARY_ARGS,
+ /* A trinary expression. The left subtree is the operator, and the
+ right subtree is a TRINARY_ARG1. */
+ DEMANGLE_COMPONENT_TRINARY,
+ /* Arguments to a trinary expression. The left subtree is the first
+ argument, and the right subtree is a TRINARY_ARG2. */
+ DEMANGLE_COMPONENT_TRINARY_ARG1,
+ /* More arguments to a trinary expression. The left subtree is the
+ second argument, and the right subtree is the third argument. */
+ DEMANGLE_COMPONENT_TRINARY_ARG2,
+ /* A literal. The left subtree is the type, and the right subtree
+ is the value, represented as a DEMANGLE_COMPONENT_NAME. */
+ DEMANGLE_COMPONENT_LITERAL,
+ /* A negative literal. Like LITERAL, but the value is negated.
+ This is a minor hack: the NAME used for LITERAL points directly
+ to the mangled string, but since negative numbers are mangled
+ using 'n' instead of '-', we want a way to indicate a negative
+ number which involves neither modifying the mangled string nor
+ allocating a new copy of the literal in memory. */
+ DEMANGLE_COMPONENT_LITERAL_NEG
+};
+
+/* Types which are only used internally. */
+
+struct demangle_operator_info;
+struct demangle_builtin_type_info;
+
+/* A node in the tree representation is an instance of a struct
+ demangle_component. Note that the field names of the struct are
+ not well protected against macros defined by the file including
+ this one. We can fix this if it ever becomes a problem. */
+
+struct demangle_component
+{
+ /* The type of this component. */
+ enum demangle_component_type type;
+
+ union
+ {
+ /* For DEMANGLE_COMPONENT_NAME. */
+ struct
+ {
+ /* A pointer to the name (which need not NULL terminated) and
+ its length. */
+ const char *s;
+ int len;
+ } s_name;
+
+ /* For DEMANGLE_COMPONENT_OPERATOR. */
+ struct
+ {
+ /* Operator. */
+ const struct demangle_operator_info *op;
+ } s_operator;
+
+ /* For DEMANGLE_COMPONENT_EXTENDED_OPERATOR. */
+ struct
+ {
+ /* Number of arguments. */
+ int args;
+ /* Name. */
+ struct demangle_component *name;
+ } s_extended_operator;
+
+ /* For DEMANGLE_COMPONENT_CTOR. */
+ struct
+ {
+ /* Kind of constructor. */
+ enum gnu_v3_ctor_kinds kind;
+ /* Name. */
+ struct demangle_component *name;
+ } s_ctor;
+
+ /* For DEMANGLE_COMPONENT_DTOR. */
+ struct
+ {
+ /* Kind of destructor. */
+ enum gnu_v3_dtor_kinds kind;
+ /* Name. */
+ struct demangle_component *name;
+ } s_dtor;
+
+ /* For DEMANGLE_COMPONENT_BUILTIN_TYPE. */
+ struct
+ {
+ /* Builtin type. */
+ const struct demangle_builtin_type_info *type;
+ } s_builtin;
+
+ /* For DEMANGLE_COMPONENT_SUB_STD. */
+ struct
+ {
+ /* Standard substitution string. */
+ const char* string;
+ /* Length of string. */
+ int len;
+ } s_string;
+
+ /* For DEMANGLE_COMPONENT_TEMPLATE_PARAM. */
+ struct
+ {
+ /* Template parameter index. */
+ long number;
+ } s_number;
+
+ /* For other types. */
+ struct
+ {
+ /* Left (or only) subtree. */
+ struct demangle_component *left;
+ /* Right subtree. */
+ struct demangle_component *right;
+ } s_binary;
+
+ } u;
+};
+
+/* People building mangled trees are expected to allocate instances of
+ struct demangle_component themselves. They can then call one of
+ the following functions to fill them in. */
+
+/* Fill in most component types with a left subtree and a right
+ subtree. Returns non-zero on success, zero on failure, such as an
+ unrecognized or inappropriate component type. */
+
+extern int
+cplus_demangle_fill_component PARAMS ((struct demangle_component *fill,
+ enum demangle_component_type,
+ struct demangle_component *left,
+ struct demangle_component *right));
+
+/* Fill in a DEMANGLE_COMPONENT_NAME. Returns non-zero on success,
+ zero for bad arguments. */
+
+extern int
+cplus_demangle_fill_name PARAMS ((struct demangle_component *fill,
+ const char *, int));
+
+/* Fill in a DEMANGLE_COMPONENT_BUILTIN_TYPE, using the name of the
+ builtin type (e.g., "int", etc.). Returns non-zero on success,
+ zero if the type is not recognized. */
+
+extern int
+cplus_demangle_fill_builtin_type PARAMS ((struct demangle_component *fill,
+ const char *typename));
+
+/* Fill in a DEMANGLE_COMPONENT_OPERATOR, using the name of the
+ operator and the number of arguments which it takes (the latter is
+ used to disambiguate operators which can be both binary and unary,
+ such as '-'). Returns non-zero on success, zero if the operator is
+ not recognized. */
+
+extern int
+cplus_demangle_fill_operator PARAMS ((struct demangle_component *fill,
+ const char *opname, int args));
+
+/* Fill in a DEMANGLE_COMPONENT_EXTENDED_OPERATOR, providing the
+ number of arguments and the name. Returns non-zero on success,
+ zero for bad arguments. */
+
+extern int
+cplus_demangle_fill_extended_operator PARAMS ((struct demangle_component *fill,
+ int numargs,
+ struct demangle_component *nm));
+
+/* Fill in a DEMANGLE_COMPONENT_CTOR. Returns non-zero on success,
+ zero for bad arguments. */
+
+extern int
+cplus_demangle_fill_ctor PARAMS ((struct demangle_component *fill,
+ enum gnu_v3_ctor_kinds kind,
+ struct demangle_component *name));
+
+/* Fill in a DEMANGLE_COMPONENT_DTOR. Returns non-zero on success,
+ zero for bad arguments. */
+
+extern int
+cplus_demangle_fill_dtor PARAMS ((struct demangle_component *fill,
+ enum gnu_v3_dtor_kinds kind,
+ struct demangle_component *name));
+
+/* This function translates a mangled name into a struct
+ demangle_component tree. The first argument is the mangled name.
+ The second argument is DMGL_* options. This returns a pointer to a
+ tree on success, or NULL on failure. On success, the third
+ argument is set to a block of memory allocated by malloc. This
+ block should be passed to free when the tree is no longer
+ needed. */
+
+extern struct demangle_component *
+cplus_demangle_v3_components PARAMS ((const char *mangled,
+ int options,
+ void **mem));
+
+/* This function takes a struct demangle_component tree and returns
+ the corresponding demangled string. The first argument is DMGL_*
+ options. The second is the tree to demangle. The third is a guess
+ at the length of the demangled string, used to initially allocate
+ the return buffer. The fourth is a pointer to a size_t. On
+ success, this function returns a buffer allocated by malloc(), and
+ sets the size_t pointed to by the fourth argument to the size of
+ the allocated buffer (not the length of the returned string). On
+ failure, this function returns NULL, and sets the size_t pointed to
+ by the fourth argument to 0 for an invalid tree, or to 1 for a
+ memory allocation error. */
+
+extern char *
+cplus_demangle_print PARAMS ((int options,
+ const struct demangle_component *tree,
+ int estimated_length,
+ size_t *p_allocated_size));
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 713d80d1440..9c7b588e456 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,1914 +1,23 @@
-2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * elf/m32r.h : Added m32r-linux and PIC support. Add new ABI that
- uses RELA.
- (R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
- R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
- R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
- R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
- R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
- R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
- R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
- R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
- R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
- R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
- R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
- R_M32R_GOTPC_LO): New relocs.
-
-2003-12-06 Alan Modra <amodra@bigpond.net.au>
-
- From Jan Beulich <JBeulich@novell.com>
- * common.h (DT_HIOS): Correct value.
-
-2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * elf/m32r.h: Add new machine type m32r2 and instruction modes.
-
-2003-11-06 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (R_PPC_RELAX32PC): Define.
-
-2003-10-22 Alexandre Oliva <aoliva@redhat.com>,
- Michael Snyder <msnyder@redhat.com>
-
- * sh.h (EF_SH4A, EF_SH4AL_DSP, EF_SH4_NOFPU, EF_SH4A_NOFPU): New.
- (EF_SH_MERGE_MACH): Combine them.
-
-2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix.h (R_MMIX_PUSHJ_STUBBABLE): New reloc number.
- (_bfd_mmix_before_linker_allocation): Rename from
- _bfd_mmix_prepare_linker_allocated_gregs.
- (_bfd_mmix_after_linker_allocation): Rename from
- _bfd_mmix_finalize_linker_allocated_gregs.
-
-2003-10-06 Dave Brolley <brolley@redhat.com>
-
- * frv.h (EF_FRV_CPU_FR550): New macro.
-
-2003-09-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (E_MIPS_ARCH_64R2): New define.
-
-2003-09-23 DJ Delorie <dj@redhat.com>
-
- * sh.h (R_SH_SWITCH8, R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
- R_SH_LOOP_START,R_SH_LOOP_END): Move to "reserved" spaces.
- (R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
- R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
- R_SH_PSHA, R_SH_PSHL): New.
-
-2003-09-11 James Cownie <jcownie@etnus.com>
-
- * dwarf2.h: Add HP dwarf extensions from their hacked gdb
- header files (ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz).
-
-2003-09-04 Nick Clifton <nickc@redhat.com>
-
- * v850.h (E_V850E1_ARCH): Define.
-
-2003-08-21 James Cownie <jcownie@etnus.com>
-
- * dwarf2.h: Add PGI dwarf extensions.
-
-2003-08-08 Dmitry Diky <diwil@mail.ru>
-
- * msp430.h: Add xW42 and xE42 parts. Sort MPU list according to
- gcc order.
-
-2003-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * reloc-macros.h (START_RELOC_NUMBERS) : Remove PARAMS macro. Use
- C90 function definition. Formatting.
- (RELOC_NUMBER): Remove !__STDC__ code.
-
-2003-07-28 Eric Christopher <echristo@redhat.com>
-
- * ppc.h (R_PPC_RELAX32): New. Fake relocation.
-
-2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * v850.h (SHF_V850_GPREL): New.
- (SHF_V850_EPREL): Likewise.
- (SHF_V850_R0REL): Likewise.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
- * mn10300.h: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
- PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
- Renumbered all relocs.
- 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
- * mn10300.h (R_MN10300_GOTPC, R_MN10300_GOTOFF,
- R_MN10300_PLT32, R_MN10300_GOT32, R_MN10300_GOT24,
- R_MN10300_GOT16, R_MN10300_COPY, R_MN10300_GLOB_DAT,
- R_MN10300_JMP_SLOT, R_MN10300_RELATIVE): New relocs.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
- * mn10300.h (E_MN10300_MACH_AM33_2): Renamed from
- E_MN10300_MACH_AM332.
- 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
- * mn10300.h (E_MN10300_MACH_AM332): Defined.
-
-2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h (elf_s390_reloc_type): Add long displacement relocations
- R_390_20, R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
-
-2003-06-29 Andreas Jaeger <aj@suse.de>
-
- * mmix.h: Convert to ISO C90 prototypes.
- * mips.h: Likewise.
-
-2003-06-13 Robert Millan <zeratul2@wanadoo.es>
-
- * common.h (GNU_ABI_TAG_NETBSD): New tag.
- (GNU_ABI_TAG_FREEBSD): New tag.
-
-2003-06-10 Richard Sandiford <rsandifo@redhat.com>
-
- * h8.h (E_H8_MACH_H8300SXN): New flag.
-
-2003-06-03 Nick Clifton <nickc@redhat.com>
-
- * v850.h (R_V850_32): Rename to R_V850_ABS32.
- Add R_V850_REL32.
-
-2003-05-15 Roland McGrath <roland@redhat.com>
-
- * common.h (NT_AUXV, AT_*): New macros.
- * external.h (Elf32_External_Auxv, Elf64_External_Auxv): New types.
- * internal.h (Elf_Internal_Auxv): New type.
-
-2003-05-14 Michael Snyder <msnyder@redhat.com>
- From Bernd Schmidt <bernds@redhat.com>
- * h8.h (E_H8_MACH_H8300SX): New.
-
-2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * elf/h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New
-
-2003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
-
- * common.h (EM_SH): Amend comment to refer to SuperH.
-
-2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * common.h: Replace references to Mitsubishi M32R with
- references to Renesas M32R.
-
-2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
-
- * common.h: Replace occurrances of 'Hitachi' with 'Renesas'.
-
-2003-04-01 Bob Wilson <bob.wilson@acm.org>
-
- * elf/common.h (EM_XTENSA_OLD): Define.
- * elf/xtensa.h: New file.
-
-2003-04-01 Nick Clifton <nickc@redhat.com>
-
- * arm.h (ARM_NOTE_SECTION): Include .gnu in the string.
-
-2003-03-25 Stan Cox <scox@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- Contribute support for Intel's iWMMXt chip - an ARM variant:
-
- * arm.h (ARM_NOTE_SECTION): Define.
-
-2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
-
- * sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E,
- and SH2E & SH4 merge to SH4, not SH2E.
-
-2003-02-21 Ian Wienand <ianw@gelato.unsw.edu.au>
-
- * ia64.h (SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG,
- SHT_IA_64_PRIORITY_INIT): Define.
-
-2003-02-18 Alan Modra <amodra@bigpond.net.au>
-
- * ppc64.h (IS_PPC64_TLS_RELOC): Rename from IS_TLS_RELOC.
-
- * ppc.h: Replace DTPMOD64, TPREL64, DTPREL64 with DTPMOD32 etc.
- (IS_PPC_TLS_RELOC): Define.
-
-2003-02-10 Nick Clifton <nickc@redhat.com>
-
- * arm.h (EF_ARM_MAVERICK_FLOAT): Define.
-
-2003-02-05 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h: Add TLS relocs. Format.
- * ppc64.h: Likewise.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * mips.h (EF_MIPS_XGOT): Define.
-
-2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h: Add s390 TLS relocations.
-
-2003-01-23 Nick Clifton <nickc@redhat.com>
-
- * Add sh2e support:
-
- 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
-
- * sh.h (EF_SH_MERGE_MACH): Handle SH2E.
-
- 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
-
- * sh.h (EF_SH2E): New.
-
-2003-01-23 Alan Modra <amodra@bigpond.net.au>
-
- * sh.h: Split out various bits to bfd/elf32-sh64.h.
-
-2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff,
- gotplt and pltoff relocations.
-
-2003-01-17 Alan Modra <amodra@bigpond.net.au>
-
- * common.h: Formatting, typo fixes.
- (DT_ENCODING): Correct value.
-
-2003-01-17 Fabio Alemagna <falemagn@aros.org>
-
- * common.h (ELFOSABI_AROS): Define.
- (ELFOSABI_OPENVMS): Likewise.
- (ELFOSABI_NSK): Likewise.
-
-2003-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h: Split out ppc64 definitions to..
- * pcc64.h: ..here. New file.
- (R_PPC64_REL30): Rename from R_PPC64_ADDR30.
-
-2003-01-13 Dmitry Diky <diwil@mail.ru>
-
- * elf/common.h (EM_MSP430): Change e_machine value to officially
- assigned.
-
-2003-01-02 Ben Elliston <bje@redhat.com>
-
- * common.h (EM_IQ2000): Define.
- * iq2000.h: New file.
-
-2002-12-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (E_MIPS_ARCH_32R2): New define.
-
-2002-12-24 Dmitry Diky <diwil@mail.ru>
-
- * common.h: Define msp430 machine numbers.
- * msp430.h: New file. Define msp430 relocs.
-
-2002-12-20 DJ Delorie <dj@redhat.com>
-
- * xstormy16.h: Add XSTORMY16_12.
-
-2002-12-16 Andrew MacLeod <amacleod@redhat.com>
-
- * xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers
- for R_XSTORMY16_LO16 and R_XSTORMY16_HI16.
-
-2002-12-10 James Cownie <jcownie@etnus.com>
-
- * dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type,
- DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc):
- Define.
-
-2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define.
- (EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define.
- (EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define.
-
-2002-11-30 Alan Modra <amodra@bigpond.net.au>
-
- * mmix.h: Replace boolean with bfd_boolean.
- * sh.h: Likewise.
-
-2002-11-28 Alan Modra <amodra@bigpond.net.au>
-
- * internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr,
- elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr,
- Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr,
- elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr,
- Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym,
- Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note,
- elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel,
- elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela,
- elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela,
- elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn,
- Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef,
- elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed,
- elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux,
- elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef,
- Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux,
- Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux,
- Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym,
- Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete.
- (Elf_Internal_Rel): Delete.
-
-2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * sh.h: Add SH TLS relocs.
-
-2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
- Ken Raeburn <raeburn@cygnus.com>
- Aldy Hernandez <aldyh@redhat.com>
- Eric Christopher <echristo@redhat.com>
- Richard Sandiford <rsandifo@redhat.com>
-
- * mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New.
-
-2002-09-12 Roland McGrath <roland@redhat.com>
-
- * dwarf2.h: Updates from GCC version of thie file:
- (enum dwarf_location_atom): DW_OP_calli -> DW_OP_call_ref.
- Add DW_OP_GNU_push_tls_address.
- (DW_OP_lo_user): Change to 0xe0.
-
-2002-08-28 Catherine Moore <clm@redhat.com>
-
- * elf/v850.h (R_V850_LONGCALL, R_V850_ALIGN,
- R_V850_LONGJUMP): New relocations.
-
-2002-08-15 Alan Modra <amodra@bigpond.net.au>
-
- * i370.h: Define relocs using reloc-macros.h.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64,
- EF_M68HC11_ABI): Define for ABI specification.
- (STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for
- linker and debugger.
- (R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs.
- (R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker
- relaxation.
-
-2002-07-15 Denis Chertykov <denisc@overta.ru>
- Frank Ch. Eigler <fche@redhat.com>
- Ben Elliston <bje@redhat.com>
- Alan Lehotsky <alehotsky@cygnus.com>
- John Healy <jhealy@redhat.com>
- Graham Stott <grahams@redhat.com>
- Jeff Johnston <jjohnstn@redhat.com>
-
- * common.h (EM_IP2K): New macro.
- (EM_IP2K_OLD): New macro.
- * ip2k.h: New file.
-
-2002-07-01 Matt Thomas <matt@3am-software.com>
-
- * vax.h: Rename EF_* to EF_VAX_*.
-
-2002-06-18 Dave Brolley <brolley@redhat.com>
-
- From Catherine Moore, Michael Meissner, Dave Brolley:
- * common.h (EM_CYGNUS_FRV): New macro.
- * frv.h: New file.
-
-2002-06-06 Lars Brinkhoff <lars@nocrew.org>
-
- * common.h: Change registry@sco.com to registry@caldera.com.
- (EM_PDP10, EM_PDP11): Define.
-
-2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
-
- * sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl)
- (_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New
- prototypes.
-
-2002-06-01 Richard Henderson <rth@redhat.com>
-
- * alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF,
- LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New.
-
-2002-05-30 Richard Henderson <rth@redhat.com>
-
- * alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64,
- R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI,
- R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64,
- R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New.
-
-2002-05-29 Matt Thomas <matt@3am-software.com>
-
- * vax.h: New file
-
-2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
-
- * common.h (EM_DLX): Define.
- * dlx.h: New file.
-
-2002-05-08 Jason Thorpe <thorpej@wasabisystems.com>
-
- * common.h (NT_GNU_ABI_TAG): Define.
- (GNU_ABI_TAG_LINUX): Define.
- (GNU_ABI_TAG_HURD): Define.
- (GNU_ABI_TAG_SOLARIS): Define.
- (NT_NETBSD_IDENT): Define.
- (NT_FREEBSD_ABI_TAG): Define.
-
-2002-04-24 Elena Zannoni <ezannoni@redhat.com>
-
- * dwarf2.h: Add DW_AT_GNU_vector.
-
-2002-02-13 Matt Fredette <fredette@netbsd.org>
-
- * m68k.h (EF_M68000): Define.
-
-2002-02-12 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define.
-
-2002-02-09 Richard Henderson <rth@redhat.com>
-
- * alpha.h (R_ALPHA_BRSGP): New.
-
-2002-02-08 Alexandre Oliva <aoliva@redhat.com>
-
- Contribute sh64-elf.
- 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
- * sh.h (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
- R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
- R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
- R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
- R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
- R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
- R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
- R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8,
- R_SH_GOTPLT10BY8, R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64,
- R_SH_RELATIVE64): New relocs.
- (R_SH_FIRST_INVALID_RELOC_4): Adjust.
- 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
- * sh.h: Renumbered and renamed some SH5 relocations to match
- official numbers and names; moved unmaching ones to the range
- 0xf2-0xff.
- 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (sh64_get_contents_type): Declare.
- (sh64_address_is_shmedia): Likewise.
- 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (sh64_elf_crange): New type.
- (struct sh64_section_data): New.
- (sh64_elf_section_data): New macro.
- (EF_SH5): Rename back from EF_SH64.
- 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (SHF_SH5_ISA32_MIXED, SHT_SH5_CR_SORTED,
- SH64_CRANGES_SECTION_NAME, SH64_CRANGE_SIZE,
- SH64_CRANGE_CR_ADDR_OFFSET, SH64_CRANGE_CR_SIZE_OFFSET,
- SH64_CRANGE_CR_TYPE_OFFSET): New macros.
- 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (EF_SH64): Don't define EF_SH64_ABI64.
- 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (EF_SH64_32BIT_ABI, EF_SH64_64BIT_ABI): Delete.
- (EF_SH64_ABI64): New.
- 2000-11-23 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (EF_SH64): Rename from EF_SH5.
- (EF_SH64_32BIT_ABI): New.
- (EF_SH64_64BIT_ABI): New.
- (R_SH_PT_16, R_SH_SHMEDIA_CODE
- R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
- R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
- R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
- R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
- R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL): New
- relocs.
- 2000-09-01 Ben Elliston <bje@redhat.com>
- * sh.h (EF_SH5): Define.
-
-2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix.h: Tweak comments.
- (MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME): New.
- [BFD_ARCH_SIZE] (_bfd_mmix_prepare_linker_allocated_gregs,
- _bfd_mmix_finalize_linker_allocated_gregs,
- _bfd_mmix_check_all_relocs): Provide prototypes.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * or32.h: New file.
- * common.h: Add support for or32 targets.
-
-2002-01-28 Jason Merrill <jason@redhat.com>
-
- * dwarf2.h: Sync with gcc version.
-
-2002-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (DT_PPC64_GLINK): Define.
-
-2002-01-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define.
-
-2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
-
- * common.h: Update copyright years.
- (NT_NETBSDCORE_PROCINFO): Define.
- (NT_NETBSDCORE_FIRSTMACH): Define.
-
-2002-01-06 Steve Ellcey <sje@cup.hp.com>
-
- * ia64.h (ELF_STRING_ia64_unwind_hdr): New Macro for HP-UX.
- (SHT_IA_64_HP_OPT_ANOT): Ditto
- (PT_IA_64_HP_OPT_ANOT): Ditto
- (PT_IA_64_HP_HSL_ANOT): Ditto
- (PT_IA_64_HP_STACK): Ditto
- (SHN_IA_64_ANSI_COMMON): Ditto
-
-2001-12-17 Alan Modra <amodra@bigpond.net.au>
-
- * external.h (Elf_External_Sym_Shndx): Declare.
- * internal.h (struct elf_internal_sym <st_shndx>): Make it an
- unsigned int.
- * common.h (SHN_BAD): Define.
-
-2001-12-13 Jakub Jelinek <jakub@redhat.com>
-
- * elf/common.h (PT_GNU_EH_FRAME): Define.
-
-2001-12-11 Alan Modra <amodra@bigpond.net.au>
-
- * common.h (SHN_XINDEX): Comment typo fix.
- * internal.h (Elf_Internal_Ehdr): Change existing "unsigned short"
- size, count and index fields to "unsigned int".
-
-2001-12-07 Geoffrey Keating <geoffk@redhat.com>
- Richard Henderson <rth@redhat.com>
-
- * common.h (EM_XSTORMY16): Define.
- * xstormy16.h: New file.
-
-2001-11-15 Alan Modra <amodra@bigpond.net.au>
-
- * common.h (NT_ARCH): Define. Remove incorrect comment.
-
-2001-11-11 Geoffrey Keating <geoffk@redhat.com>
-
- * dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes.
-
-2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix.h: New file.
-
-2001-10-23 Alan Modra <amodra@bigpond.net.au>
-
- * internal.h: White space changes to keep lines under 80 chars.
-
-2001-10-16 Jeff Holcomb <jeffh@redhat.com>
-
- * internal.h (elf_internal_shdr): Make contents a unsigned char *.
-
-2001-09-18 Alan Modra <amodra@bigpond.net.au>
-
- * internal.h (elf_internal_rela): Make r_addend a bfd_vma.
-
-2001-09-13 Alexandre Oliva <aoliva@redhat.com>
-
- * common.h (EM_OPENRISC_OLD): Renamed the old EM_OPENRISC entry.
-
-2001-09-12 Alexandre Oliva <aoliva@redhat.com>
-
- * common.h (EM_AVR_OLD): Renamed from...
- (EM_AVR): this, redefined as in the current ELF standard.
- (EM_PJ_OLD): Renamed from...
- (EM_PJ): this, redefined as in the current ELF standard.
- (EM_R30, EM_D10V, EM_D30V, EM_V850, EM_M32R, EM_MN10300,
- EM_MN10200, EM_OPENRISC, EM_ARC_A5, EM_XTENSA): Defined as in
- the current ELF standard.
- (EM_CYGNUS_ARC): Removed, unused for a long time.
-
-2001-09-04 Richard Henderson <rth@redhat.com>
-
- * alpha.h (R_ALPHA_OP*, R_ALPHA_IMMED*, R_ALPHA_GPVALUE): Remove.
- (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16.
-
-2001-08-30 Eric Christopher <echristo@redhat.com>
-
- * mips.h: Remove E_MIPS_MACH_MIPS32_4K.
-
-2001-08-29 Jeff Law <law@redhat.com>
-
- * h8.h (EF_H8_MACH): New mask for encoded machine type.
- (E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New
- machine types.
-
-2001-08-26 J"orn Rennecke <amylaar@redhat.com>
-
- * h8.h: New file.
-
-2001-08-27 Staffan Ulfberg <staffanu@swox.se>
-
- * ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2.
-
-2001-06-30 Daniel Berlin <dan@cgsoftware.com>
-
- * dwarf2.h: Remerge with gcc version,
- including all new DWARF 2.1 extensions.
-
-2001-06-29 James Cownie <jcownie@etnus.com>
-
- * dwarf2.h: Add DWARF 2.1 attribues.
-
-2001-06-15 Per Bothner <per@bothner.com>
-
- * dwarf2.h: Partial merge with gcc version.
- (enum dwarf_descrim_list): Fix typo -> dwarf_discrim_list.
- (DW_LANG_Java): Use value from dwarf 2.1 draft (also used in gcc).
-
-2001-05-15 Ralf Baechle <ralf@gnu.org>
-
- * common.h: Remove definition of EM_MIPS_RS4_BE. The constant was
- never in active use and is used otherwise by the ABI.
-
-2001-05-11 Jakub Jelinek <jakub@redhat.com>
-
- * ia64.h (ELF_STRING_ia64_unwind_once): Define.
- (ELF_STRING_ia64_unwind_info_once): Define.
-
-2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * external.h: Fix typo.
- * mips.h: Add/Extend many comments with reference to the MIPS ELF64
- spec v. 2.4, available at e.g.
- ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps.
- (EF_MIPS_UCODE): Define.
- (EF_MIPS_OPTIONS_FIRST): Define.
- (EF_MIPS_ARCH_ASE): Define.
- (EF_MIPS_ARCH_ASE_MDMX): Define.
- (EF_MIPS_ARCH_ASE_M16): Define.
- (SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32.
- (SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64.
- (SHF_MIPS_NODUPES): Define.
- (ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro.
- (ELF64_MIPS_R_TYPE3): Likewise.
- (ELF64_MIPS_R_TYPE2): Likewise.
- (ELF64_MIPS_R_TYPE): Likewise.
- (OHW_R10KLDL): Define.
-
-2001-04-24 Todd Fries <todd@fries.net>
-
- * sparc.h: Fix typo.
-
-2001-04-20 Johan Rydberg <jrydberg@opencores.org>
-
- * openrisc.h: New file.
- * common.h (EM_OPENRISC): New constant.
-
-2001-04-23 Bo Thorsen <bo@suse.de>
-
- * x86-64.h: Add vtable support.
-
-2001-03-23 Nick Clifton <nickc@redhat.com>
-
- * mips.h: Remove extraneous whitespace.
-
-2001-03-22 Hans-Peter Nilsson <hp@axis.com>
-
- * cris.h: Add leading comment about PC-relative location.
- (R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE,
- R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT,
- R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL):
- New relocs.
-
-2001-02-27 Philip Blundell <pb@futuretv.com>
-
- * arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01.
- (EF_PIC, et al.): Rename to EF_ARM_xx.
-
-2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * common.h: Add linux target for S/390.
- * s390.h: New file.
-
-2001-01-11 Peter Targett <peter.targett@arccores.com>
-
- * arc.h (E_ARC_MACH_ARC5, E_ARC_MACH_ARC6, E_ARC_MACH_ARC7,
- E_ARC_MACH_ARC8): New definitions for cpu types.
-
- * common.h (EM_ARC): Change comment.
-
-2000-12-12 Nick Clifton <nickc@redhat.com>
-
- * mips.h: Fix formatting.
-
-2000-12-11 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (DT_HP_*): Define relative to OLD_DT_LOOS for hpux
- compatibility.
-
-2000-10-16 Chris Demetriou <cgd@sibyte.com>
-
- * mips.h (E_MIPS_ARCH_32): New constant.
- (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the
- former with the latter.
-
- * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions.
-
- * mips.h (E_MIPS_MACH_SB1): New constant.
-
-2000-11-30 Jan Hubicka <jh@suse.cz>
-
- * common.h (EM_X86_64): New macro.
- * x86-64.h: New file.
-
-2000-11-27 Hans-Peter Nilsson <hp@axis.com>
-
- * common.h (e_machine numbers): Clarify comments to describe how
- EM_* constants are assigned. Move EM_PJ from official section to
- ad-hoc section.
- (EM_CRIS): Correct comment to match official description.
- (EM_MMIX): Ditto.
-
-2000-11-22 Nick Clifton <nickc@redhat.com>
-
- * common.h (EM_JAVELIN): New machine number.
- (EM_FIREPATH): New machine number.
- (EM_ZSP): New machine number.
- (EM_MMIX): New machine number.
- (EM_HUANY): New machine number.
- (EM_PRISM): New machine number.
- (SHT_GROUP): New section type.
- (SHT_SYMTAB_SHNDX): New section type.
- (SHF_GROUP): New section flag.
- (SHN_XINDEX): New section index.
- (GRP_COMDAT): New section group flag.
-
-2000-11-20 H.J. Lu <hjl@gnu.org>
-
- * common.h (ELFOSABI_MONTEREY): Renamed to ...
- (ELFOSABI_AIX): This.
-
-2000-11-16 Richard Henderson <rth@redhat.com>
-
- Update relocations per August psABI docs.
- * ia64.h (R_IA64_SEGBASE): Remove.
- (R_IA64_LTV*): Renumber to 0x74 to 0x77.
- (R_IA64_EPLTMSB, R_IA64_EPLTLSB): Remove.
- (R_IA64_TPREL14, R_IA64_TPREL64I): New.
- (R_IA64_DTPMOD*): New.
- (R_IA64_DTPREL*): New.
-
-2000-09-29 Hans-Peter Nilsson <hp@axis.com>
-
- * cris.h (EF_CRIS_UNDERSCORE): New.
-
-2000-09-27 Alan Modra <alan@linuxcare.com.au>
-
- * hppa.h (R_PARISC_DIR14F): Add.
-
-2000-09-14 Alexandre Oliva <aoliva@redhat.com>
-
- * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
- R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Change
- numbers to the range from 160 to 167.
- (R_SH_FIRST_INVALID_RELOC): Adjust.
- (R_SH_FIRST_INVALID_RELOC_2, R_SH_LAST_INVALID_RELOC_2):
- New relocs to fill in the gap.
-
-2000-09-13 Anders Norlander <anorland@acc.umu.se>
-
- * mips.h (E_MIPS_MACH_4K): New define.
-
-2000-09-05 Alan Modra <alan@linuxcare.com.au>
-
- * hppa.h: Fix a comment.
- (R_PARISC_PCREL12F): Define.
- (R_PARISC_GNU_VTENTRY): Define.
- (R_PARISC_GNU_VTINHERIT): Define.
-
-2000-09-01 Alexandre Oliva <aoliva@redhat.com>
-
- * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
- R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New relocs.
- (R_SH_FIRST_INVALID_RELOC): Adjust.
-
-2000-08-14 Jim Wilson <wilson@cygnus.com>
-
- * ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP,
- EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define.
-
-2000-08-07 Nick Clifton <nickc@cygnus.com>
-
- * ppc.h: Remove spurious CYGNUS LOCAL comments.
- * v850.h: Likewise.
-
-2000-07-22 Jason Eckhardt <jle@cygnus.com>
-
- * i860.h: New file.
- (elf_i860_reloc_type): Defined ELF32 i860 relocations.
-
-2000-07-20 Hans-Peter Nilsson <hp@axis.com>
-
- common.h (EM_CRIS): New machine number.
- cris.h: New file.
-
-2000-07-19 H.J. Lu <hjl@gnu.org>
-
- * common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB.
-
-2000-07-19 H.J. Lu <hjl@gnu.org>
-
- * common.h (DT_CHECKSUM): Set to 0x6ffffdf8.
- (DTF_1_CONFEXP): It is 0x00000002 as suspected.
-
-2000-07-19 H.J. Lu <hjl@gnu.org>
-
- * common.h (DT_FEATURE): Renamed from DT_FEATURE_1.
- (DT_CONFIG): New. From Solaris 8.
- (DT_DEPAUDIT): Likewise.
- (DT_AUDIT): Likewise.
- (DT_PLTPAD): Likewise.
- (DT_MOVETAB): Likewise.
- (DF_1_NODEPLIB): Likewise.
- (DF_1_NODUMP): Likewise.
- (DF_1_CONLFAT): Likewise.
- (DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8.
- (DTF_1_CONFEXP): Likewise.
-
-2000-07-18 H.J. Lu <hjl@gnu.org>
-
- * common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS.
-
-2000-07-12 Alan Modra <alan@linuxcare.com.au>
-
- * internal.h (struct elf_internal_sym): Update comment for st_other.
-
-2000-07-10 Alan Modra <alan@linuxcare.com.au>
-
- * hppa.h: Add comments to all the relocs.
-
-2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
-
- * avr.h (E_AVR_MACH_AVR5): Define.
-
-2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
-
- * m68hc11.h: New file, definitions for the Motorola 68hc11.
-
-2000-06-06 Alan Modra <alan@linuxcare.com.au>
-
- * reloc-macros.h (START_RELOC_NUMBERS): Don't define initial dummy
- -1 valued enum.
- (RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC): Append rather than
- prepend comma.
- (END_RELOC_NUMBERS): Give macro an arg to define as last enum.
-
- * alpha.h (R_ALPHA_max): Define via END_RELOC_NUMBERS rather than
- with EMPTY_RELOC.
- * arc.h (R_ARC_max): Likewise.
- * avr.h (R_AVR_max): Likewise.
- * fr30.h (R_FR30_max): Likewise.
- * hppa.h (R_PARISC_UNIMPLEMENTED): Likewise.
- * i960.h (R_960_max): Likewise.
- * m32r.h (R_M32R_max): Likewise.
- * m68k.h (R_68K_max): Likewise.
- * mcore.h (R_MCORE_max): Likewise.
- * mn10300.h (R_MN10300_MAX): Likewise.
- * pj.h (R_PJ_max): Likewise.
- * ppc.h (R_PPC_max): Likewise.
- * sh.h (R_SH_max): Likewise.
- * sparc.h (R_SPARC_max): Likewise.
- * v850.h (R_V850_max): Likewise.
-
- * arm.h (R_ARM_max): Define via END_RELOC_NUMBERS.
- * d10v.h (R_D10V_max): Likewise.
- * d30v.h (R_D30V_max): Likewise.
- * ia64.h (R_IA64_max): Likewise.
- * mips.h (R_MIPS_maxext): Likewise.
- * mn10200.h (R_MN10200_max): Likewise.
-
- * i386.h (R_386_max): Remove old RELOC_NUMBER definition, and
- define via END_RELOC_NUMBERS.
-
-2000-06-03 Alan Modra <alan@linuxcare.com.au>
-
- * reloc-macros.h (START_RELOC_NUMBERS): Fix name clash for
- !__STDC__ case.
- (RELOC_NUMBER): Use ansi stringify if ALMOST_STDC defined.
-
-2000-05-22 Richard Henderson <rth@cygnus.com>
-
- * ia64.h (R_IA64_PCREL60B, R_IA64_PCREL21BI): New.
- (R_IA64_PCREL22, R_IA64_PCREL64I): New.
-
-2000-05-02 H.J. Lu <hjl@gnu.org>
-
- * common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV.
- (ELFOSABI_MODESTO): Defined.
- (ELFOSABI_OPENBSD): Likewise.
-
-2000-04-21 Richard Henderson <rth@cygnus.com>
- David Mosberger <davidm@hpl.hp.com>
-
- * ia64.h: New file.
-
-2000-04-14 H.J. Lu <hjl@gnu.org>
-
- * common.h (ELFOSABI_TRUE64): Renamed to ELFOSABI_TRU64.
-
-2000-04-14 H.J. Lu <hjl@gnu.org>
-
- * common.h (ELFOSABI_NETBSD): Defined.
- (ELFOSABI_HURD): Likewise.
- (ELFOSABI_SOLARIS): Likewise.
- (ELFOSABI_MONTEREY): Likewise.
- (ELFOSABI_IRIX): Likewise.
- (ELFOSABI_FREEBSD): Likewise.
- (ELFOSABI_TRUE64): Likewise.
-
-2000-04-07 Nick Clifton <nickc@cygnus.com>
-
- * arm-oabi.h: Delete.
- * arm.h: Merge in definitions of old reloc numbers from
- arm-oabi.h.
-
-2000-04-06 Nick Clifton <nickc@cygnus.com>
-
- * arm.h (EF_ARM_SYMSARESORTED): Define.
- (EF_ARM_EABIMASK): Define.
- (EF_ARM_EABI_VERSION): Define.
- (EF_ARM_EABI_UNKNOWN): Define.
- (EF_ARM_EABI_VER1): Define.
- (PF_ARM_PI): Define.
- (PF_ARM_ABS): Define.
-
-2000-04-05 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs.
-
-2000-03-27 Denis Chertykov <denisc@overta.ru>
-
- * avr.h: New file. AVR ELF support for BFD.
- * common.h: Add AVR magic number.
-
-2000-03-10 Geoffrey Keating <geoffk@cygnus.com>
-
- * mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16,
- R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation
- numbers.
-
-2000-02-23 Linas Vepstas <linas@linas.org>
-
- * i370.h: New file.
-
-2000-02-22 Nick Clifton <nickc@cygnus.com>
-
- * common.h (ELF_ST_OTHER): Remove definition.
- (ELF32_ST_OTHER): Remove definition.
- (ELF64_ST_OTHER): Remove definition.
-
-2000-02-22 H.J. Lu <hjl@gnu.org>
-
- * common.h (ELFOSABI_LINUX): Define.
-
-2000-02-17 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros.
- (EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise.
- (EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise.
-
-2000-02-03 H.J. Lu <hjl@gnu.org>
-
- * arm-oabi.h: Duplicate changes made to arm.h on Jan. 27,
- 2000 by Thomas de Lellis <tdel@windriver.com>.
-
-2000-01-27 Thomas de Lellis <tdel@windriver.com>
-
- * arm.h (STT_ARM_TFUNC): Define in terms of STT_LOPROC.
- (STT_ARM_16BIT): New flag. Denotes a label that was defined in
- Thumb block but was does not identify a function.
-
-2000-01-20 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_MCORE): Fix spelling of Motorola.
- * mcore.h (EM_MCORE): Fix spelling of Motorola.
-
-2000-01-13 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_S370): Change comment - this is now the IBM
- System/370.
- (EM_IA_64): Change comment - this is now the IA-64.
-
-2000-01-11 Nick Clifton <nickc@cygnus.com>
-
- * common.h (DT_ENCODING): Fix definition of this value.
- (DT_LOOS): Fix definition of this value.
- (DT_HIOS): Fix definition of this value.
- (OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft
- of ELF spec changed it.
- (OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft
- of ELF spec changed it.
-
-2000-01-10 Egor Duda <deo@logos-m.ru>
-
- * common.h (NT_WIN32PSTATUS): Define. (cygwin elf core dumps).
-
-1999-12-28 Nick Clifton <nickc@cygnus.com>
-
- * mips.h (STO_*): Redefine in terms of STV_* values now in
- common.h.
-
-1999-12-27 Nick Clifton <nickc@cygnus.com>
-
- * common.h: Upgrade to match Oct4, 1999 Draft ELF ABI Spec.
- (EM_MIPS_RS3_LE): New machine number.
- (EM_RCE): New machine number.
- (EM_MMA): New machine number.
- (EM_PCP): New machine number.
- (EM_NCPU): New machine number.
- (EM_NDR1): New machine number.
- (EM_STARCORE): New machine number.
- (EM_ME16): New machine number.
- (EM_ST100): New machine number.
- (EM_TINYJ): New machine number.
- (EM_FX66): New machine number.
- (EM_ST9PLUS): New machine number.
- (EM_ST7): New machine number.
- (EM_68HC16): New machine number.
- (EM_68HC11): New machine number.
- (EM_68HC08): New machine number.
- (EM_68HC05): New machine number.
- (EM_SVX): New machine number.
- (EM_VAX): New machine number.
- (PF_MASKOS): Change value.
- (SHT_INIT_ARRAY): New value for sh_type field.
- (SHT_FINI_ARRAY): New value for sh_type field.
- (SHT_PREINIT_ARRAY): New value for sh_type field.
- (SHT_HIUSER): Change value.
- (SHF_MERGE): New valye for sh_flags field.
- (SHF_STRINGS): New valye for sh_flags field.
- (SHF_INFO_LINK): New valye for sh_flags field.
- (SHF_OS_NONCONFORMING): New valye for sh_flags field.
- (SHF_MASKOS): Change value.
- (ELF_ST_VISIBILITY): New macro.
- (ELF_ST_OTHER): New macro.
- (STT_COMMON): New symbol type.
- (STV_DEFAULT): Value for symbol visibility.
- (STV_INTERNAL): Value for symbol visibility.
- (STV_HIDDEN): Value for symbol visibility.
- (STV_PROTECTED): Value for symbol visibility.
- (DT_RUNPATH): New dynamic section tag.
- (DT_FLAGS): New dynamic section tag.
- (DT_ENCODING): New dynamic section tag.
- (DT_PREINIT_ARRAY): New dynamic section tag.
- (DT_PREINIT_ARRAYSZ): New dynamic section tag.
- (DT_LOPROC): New dynamic section tag index.
- (DT_HIPROC): New dynamic section tag index.
- (DF_ORIGIN): Value for dynamic section flag.
- (DF_SYMBOLIC): Value for dynamic section flag.
- (DF_TEXTREL): Value for dynamic section flag.
- (DF_BIND_NOW): Value for dynamic section flag.
-
-1999-12-09 Fred Fish <fnf@cygnus.com>
-
- * i960.h (reloc-macros.h): Include using relative dir elf/.
- * i386.h (reloc-macros.h): Include using relative dir elf/.
- * hppa.h (reloc-macros.h): Include using relative dir elf/.
-
-1999-12-07 Jim Blandy <jimb@cygnus.com>
-
- * common.h (NT_PRXFPREG): New definition.
-
-Wed Dec 1 03:02:15 1999 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (E_MN10300_MACH_AM33): Define.
-
-Mon Oct 11 22:42:37 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (PF_HP_PAGE_SIZE): Define.
- (PF_HP_FAR_SHARED, PF_HP_NEAR_SHARED, PF_HP_CODE): Likewise.
- (PF_HP_MODIFY, PF_HP_LAZYSWAP, PF_HP_SBP): Likewise.
-
-Mon Oct 4 17:42:38 1999 Doug Evans <devans@canuck.cygnus.com>
-
- * m32r.h (E_M32RX_ARCH): Define.
-
-1999-09-15 Ulrich Drepper <drepper@cygnus.com>
-
- * hppa.h: Add DT_HP_GST_SIZE, DT_HP_GST_VERSION, and DT_HP_GST_HASHVAL.
-
-1999-09-04 Steve Chamberlain <sac@pobox.com>
-
- * pj.h: New file.
- * common.h (EM_PJ): Define.
-
-1999-09-02 Ulrich Drepper <drepper@cygnus.com>
-
- * hppa.h: Add HPUX specific symbol type definitions.
-
- * hppa.h: Add HPUX specific dynamic and program header table
- specific definitions.
-
-1999-08-31 Scott Bambrough <scottb@netwinder.org>
-
- * common.h (NT_TASKSTRUCT): Define.
-
-1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
-
- * sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions
- flag (as per SCD2.4.1).
-
-1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
-
- * sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not
- ELF64_R_SYM bits.
-
-1999-06-21 Philip Blundell <pb@nexus.co.uk>
-
- * arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define.
-
-1999-07-13 Andreas Schwab <schwab@suse.de>
-
- * m68k.h (EF_CPU32): Move definition inside multiple inclusion
- guard.
-
-1999-07-08 Richard Henderson <rth@cygnus.com>
-
- * sparc.h (ELF64_R_TYPE_DATA): Sign extend the value.
- (ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data.
- (DT_SPARC_PLTFMT): Delete.
- Based on a patch from Jakub Jelinek.
-
-Mon Jun 21 16:36:02 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type.
-
-1999-06-10 Jakub Jelinek <jj@ultra.linux.cz>
-
- * sparc.h (R_SPARC_max_std): Define.
-
-Wed Jun 9 15:16:34 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h: Update with various changes from newest PA ELF
- specifications.
-
-1999-06-03 Ian Lance Taylor <ian@zembu.com>
-
- * common.h (EM_PPC64): Define.
-
-1999-06-02 Stu Grossman <grossman@babylon-5.cygnus.com>
-
- * dwarf.h: Add LANG_JAVA.
- * dwarf2.h: Add DW_LANG_Java.
-
-1999-05-29 Nick Clifton <nickc@cygnus.com>
-
- * common.h (ELFOSABI_ARM): Define.
-
-1999-05-28 Nick Clifton <nickc@cygnus.com>
-
- * reloc-macros.h: Update comment.
-
-1999-05-28 Ian Lance Taylor <ian@zembu.com>
-
- * i960.h: New file.
-
-1999-05-16 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h (R_MCORE_COPY): Define.
- (R_MCORE_GLOB_DAT): Define.
- (R_MCORE_JUMP_SLOT): Define.
-
-1999-05-15 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h (R_MCORE_RELATIVE): Define.
-
-1999-05-05 Catherine Moore <clm@cygnus.com>
-
- * m68k.h (EF_CPU32): Define.
-
-1999-04-21 Nick Clifton <nickc@cygnus.com>
-
- * reloc-macros.h (START_RELOC_NUMBERS): Prepend an underscore to
- fake reloc entry name (if possible), in order to avoid conflicts
- with typedefs of the same name.
-
-1999-04-16 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (EF_MIPS_32BITMODE): New.
-
-1999-04-08 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h: New header file. Defines for Motorola's MCore
- processor.
-
-1999-04-08 Nick Clifton <nickc@cygnus.com>
-
- * common.h: Add new constants defined in: "System V Application
- Binary Interface - DRAFT - April 29, 1998" found at the web site:
- http://www.sco.com/developer/gabi/contents.html
-
- (EM_MMA): Removed. Replaced with EM_MCORE as Motorolla own this
- value.
-
-1999-03-31 Nick Clifton <nickc@cygnus.com>
-
- * reloc-macros.h: Fixed to not generate an enum with a trailing
- comma.
-
-1999-03-16 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (E_MIPS_MACH_5000): New.
-
-1999-03-10 Ulrich Drepper <drepper@cygnus.com>
-
- * common.h: Add definitions for a few more Solaris ELF extensions.
-
-Thu Feb 18 18:58:26 1999 Ian Lance Taylor <ian@cygnus.com>
-
- * external.h: Only use attribute if __GNUC__ is defined.
-
-1999-02-17 Nick Clifton <nickc@cygnus.com>
-
- Patch submitted by: Scott Bambrough <scottb@corelcomputer.com>
-
- * external.h: struct Elf_External_Versym must be packed on
- ARM. Code uses sizeof(Elf_External_Versym) and assumes it is
- equal to sizeof(char[2]). Reported by Jim Pick <jim@jimpick.com>
-
-1999-02-02 Nick Clifton <nickc@cygnus.com>
-
- * dwarf2.h (DWARF2_External_ARange): New structure.
- (DWARF2_Internal_ARange): New structure.
-
-Mon Feb 1 11:33:56 1999 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Renumber relocs to conform to standard.
- (EF_NEW_ABI): Define.
- (EF_OLD_ABI): Define.
- * arm-oabi.h: New file.
-
-1999-01-28 Nick Clifton <nickc@cygnus.com>
-
- * fr30.h: Add R_FR30_GNU_VT{INHERIT,ENTRY} relocs.
-
-1999-01-27 Nick Clifton <nickc@cygnus.com>
-
- * dwarf2.h: Add typedefs for structures found in dwarf2 sections.
-
-1998-12-16 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (E_MIPS_MACH_4111): New.
-
-1998-12-15 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64,
- E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64):
-
-1998-12-03 Nick Clifton <nickc@cygnus.com>
-
- * fr30.h: Add R_FR30_48 reloc.
-
-1998-12-02 Ulrich Drepper <drepper@cygnus.com>
-
- * mips.h: Add external data type for conflict section.
-
- * mips.h: Add more LL_* options from Irix 6.5.
-
- * mips.h: Add R_MIPS_JALR and adjust R_MIPS_max appropriately.
-
-Mon Nov 30 15:25:58 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (elf_sh_reloc_type): Add R_SH_FIRST_INVALID_RELOC,
- R_SH_LAST_INVALID_RELOC, R_SH_SWITCH8 and R_SH_max.
-
-Tue Nov 10 15:12:28 1998 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_CYGNUS_FR30): Reduce to a 16 bit value.
-
-Tue Nov 10 15:17:28 1998 Catherine Moore <clm@cygnus.com>
-
- * d10v.h: Add vtable relocs.
-
-Wed Nov 4 15:56:50 1998 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_CYGNUS_FR30): New machine number.
-
- * fr30.h: New file: Definitions for the FR30.
-
-Fri Oct 30 11:54:15 1998 Catherine Moore <clm@cygnus.com>
-
- From Philip Blundell <pb@nexus.co.uk>:
- * arm.h (R_ARM_COPY, et al.): New relocs, used by Linux for PIC.
- (EF_ALIGN8): New flag.
-
-Tue Oct 20 11:19:50 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * common.h (NT_LWPSTATUS): Close comment accidentally left open.
-
-Mon Oct 19 20:24:11 1998 Catherine Moore <clm@cygnus.com>
-
- * sh.h: Add vtable relocs.
-
-Mon Oct 19 01:44:42 1998 Felix Lee <flee@cygnus.com>
-
- * common.h (NT_PSTATUS, NT_FPREGS, NT_PSINFO,
- NT_LWPSTATUS,NT_LWPSINFO): added.
- * internal.h (Elf_Internal_Note): new structure members.
-
-Fri Oct 16 14:11:25 1998 Catherine Moore <clm@cygnus.com>
-
- * m32r.h: Add vtable relocs.
-
-Tue Oct 6 09:22:22 1998 Catherine Moore <clm@cygnus.com>
-
- * sparc.h: Add vtable relocs.
-
-Mon Oct 5 09:39:22 1998 Catherine Moore <clm@cygnus.com>
-
- * v850.h: Add vtable relocs.
-
-Sun Oct 4 21:17:51 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h (R_386_max): Change from 252 to 24.
-
-Mon Sep 21 12:24:44 1998 Catherine Moore <clm@cygnus.com>
-
- * i386.h: Change vtable reloc numbers.
-
-Sun Sep 20 00:54:22 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.h: Add vtable relocs and R_68K_max.
-
-Tue Sep 15 09:56:49 CDT 1998 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Add vtable relocs.
-
-Mon Aug 31 11:25:27 1998 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Define STT_ARM_TFUNC. Remove ST_THUMB_xxxx
- definitions.
-
-Sat Aug 29 22:25:51 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.h: Add vtable relocs.
-
-1998-08-25 16:42 Ulrich Drepper <drepper@cygnus.com>
-
- * common.h: Add SYMINFO_* macros to access Elf*_Syminfo information.
-
- * external.h: Add Elf_External_Syminfo definition.
-
- * internal.h: Add Elf_Internal_Syminfo, Elf32_Internal_Syminfo,
- and Elf64_Syminfo definitions.
-
-Sun Aug 9 20:26:49 CDT 1998 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Add ST_THUMB definitions.
-
-Wed Aug 5 15:52:35 1998 Nick Clifton <nickc@cygnus.com>
-
- * arm.h: Add ELF header flags to specify compile time optins:
- EF_INTERWORK: New flag.
- EF_APCS_26: New flag.
- EF_APCS_FLOAT: New flag.
- EF_PIC: New flag.
-
-1998-07-31 21:28 Ulrich Drepper <drepper@cygnus.com>
-
- * mips.h: Add missing RHF_* constants.
-
-Fri Jul 31 10:01:40 1998 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Add R_ARM_THM_PC9 relocation.
-
-1998-07-30 16:25 Ulrich Drepper <drepper@cygnus.com>
-
- * common.h: Add new DT_* entries and there flag macros from Solaris.
-
-Tue Jul 28 18:14:07 1998 Stan Cox <scox@equinox.cygnus.com>
-
- * sparc.h: (R_SPARC_REV32): Added for little endian data e.g. sparc 86x.
-
-Fri Jul 24 11:22:06 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h: Add R_MN10300_24 relocation.
-
-1998-07-24 Ulrich Drepper <drepper@cygnus.com>
-
- * mips.h: Add MIPS64 relocation names and values.
-
-Wed Jul 22 19:29:00 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Rename relocations.
-
-1998-07-22 Ulrich Drepper <drepper@cygnus.com>
-
- * ppc.h: Define enum as elf_ppc_reloc_type.
-
-Wed Jul 22 16:22:11 1998 Nick Clifton <nickc@cygnus.com>
-
- * reloc-macros.h: New file. Provides relocation macros:
- START_RELOC_NUMBERS, RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC and
- END_RELOC_NUMBERS used by other elf header files.
-
- * alpha.h: Use reloc-macros.h.
- * arc.h: Use reloc-macros.h.
- * arm.h: Use reloc-macros.h.
- * d10v.h: Use reloc-macros.h.
- * d30v.h: Use reloc-macros.h.
- * hppa.h: Use reloc-macros.h.
- * i386.h: Use reloc-macros.h.
- * m32r.h: Use reloc-macros.h.
- * m68k.h: Use reloc-macros.h.
- * mips.h: Use reloc-macros.h.
- * mn10200.h: Use reloc-macros.h.
- * mn10300.h: Use reloc-macros.h.
- * ppc.h: Use reloc-macros.h.
- * sh.h: Use reloc-macros.h.
- * sparc.h: Use reloc-macros.h.
- * v850.h: Use reloc-macros.h.
-
-1998-07-22 13:07 Ulrich Drepper <drepper@cygnus.com>
-
- * mn10300.h: Rewrite relocation definition using macros.
- * mips.h: Likewise.
- * ppc.h: Likewise.
- * alpha.h: Likewise.
- * arm.h: Likewise.
- * d10v.h: Likewise.
- * d30v.h: Likewise.
- * m32r.h: Likewise.
- * m68k.h: Likewise.
- * mn10200.h: Likewise.
- * sh.h: Likewise.
- * sparc.h: Likewise.
-
-1998-07-21 13:07 Ulrich Drepper <drepper@cygnus.com>
-
- * arm.h: New file.
- * d10v.h: New file.
- * d30v.h: New file.
- * i386.h: New file.
- * m68k.h: New file.
- * mn10200.h: New file.
- * sh.h: New file.
-
- * mips.h: Add R_MIPS_* and SHT_MIPS_* entries.
-
- * mn10300.h: Add R_MN10300_* entries.
-
- * ppc.h: Add R_PPC_* entries.
-
-1998-07-20 07:11 Ulrich Drepper <drepper@cygnus.com>
-
- * mips.h: Add ODK_*, OEX_*, OPAD_*, OHW_*, and OGP_* constants.
- Define Elf32_External_Lib.
-
-1998-07-19 15:24 Ulrich Drepper <drepper@cygnus.com>
-
- * mips.h (PT_MIPS_OPTIONS): New symbol.
- Add lots of DT_MIPS_* symbols.
-
-Fri Jun 26 10:46:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h: New file.
-
-Thu Jun 18 19:27:56 1998 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_960, EM_V800, EM_FR20, EM_RH32, EM_MMA,
- EM_OLD_ALPHA): Add these constants.
-
-Thu Jun 11 17:59:01 1998 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_486, EM_S370): Add these constants.
-
-Tue Jun 9 09:35:29 1998 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_ARM): Add this constant.
-
-Wed May 6 09:45:30 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips.h (EF_MIPS_MACH,E_MIPS_MACH_*): Added.
-
-Sat Apr 25 18:35:06 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New.
-
-Wed Apr 15 15:42:45 1998 Richard Henderson <rth@cygnus.com>
-
- * common.h (EM_SPARC64): Move and rename to EM_OLD_SPARCV9.
- (EM_SPARCV9): New. This is the official ABI name and number.
-
-Sat Feb 28 17:04:41 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (EF_ALPHA_32BIT, EF_ALPHA_CANRELAX): New.
-
-Mon Dec 15 15:07:49 1997 Nick Clifton <nickc@cygnus.com>
-
- * m32r.h (EF_M32R_ARCH, E_M32R_ARCH): New flags to
- specify machine architecture.
-
-Fri Dec 5 11:20:08 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h: New constants: SHN_V850_SCOMMON, SHN_V850_TCOMMON,
- SHN_V850_ZCOMMON, SHT_V850_SCOMMON, SHT_V850_TCOMMON,
- SHT_V850_ZCOMMON to handle v850 common sections.
- enum reloc_type renamed to v850_reloc_type to avoid name
- conflict.
-
-Thu Oct 23 13:55:24 1997 Richard Henderson <rth@cygnus.com>
-
- * sparc.h (enum elf_sparc_reloc_type): Add UA64 & UA16.
-
-Thu Oct 23 00:42:04 1997 Richard Henderson <rth@dot.cygnus.com>
-
- * sparc.h (DT_SPARC_REGISTER): New macro.
- (DT_SPARC_PLTFMT): In support of old sparc64-linux .plts; will
- go away soon.
-
-Tue Sep 30 13:26:58 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (EF_SPARC_HAL_R1, EF_SPARC_EXT_MASK): New macros.
- (EF_SPARCV9_{MM,TSO,PSO,RMO}): New macros.
- (SHN_BEFORE,SHN_AFTER): New macros.
- (SHF_EXCLUDE,SHF_ORDERED): New macros.
- (STT_REGISTER): New macro.
- (R_SPARC_GLOB_JMP): Deleted, but slot reserved.
- (R_SPARC_{DISP64,PLT64,HIX22,LOX10}): New relocations.
- (R_SPARC_{H44,M44,L44,REGISTER}): New relocations.
- (ELF64_R_TYPE_{DATA,ID,INFO}): New macros.
-
-Wed Sep 17 16:41:42 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h: Add R_V850_CALLT_6_7_OFFSET and R_V850_CALLT_16_16_OFFSET.
-
-Tue Sep 16 14:16:17 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (reloc_type): Add R_V850_TDA_16_16_OFFSET.
-
-Wed Sep 3 15:11:14 1997 Richard Henderson <rth@cygnus.com>
-
- * mips.h: Correct typo in comment.
-
-Wed Sep 3 11:25:57 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (reloc_type): Remove R_V850_16_PCREL.
-
-Tue Sep 2 17:41:05 1997 Nick Clifton <nickc@cygnus.com>
-
- * common.h: Remove magic number for V850E.
- * common.h: Remove magic number for V850EA.
- * v850.h: Add new flags for e_flags field in elf header.
-
-Mon Aug 25 16:06:47 1997 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_CYGNUS_V850E): backend magic number for v850e.
- * common.h (EM_CYGNUS_V850EA): backend magic number for v850ea.
-
-Mon Aug 18 11:05:23 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (reloc_type): Add 16 bit PC relative relocation.
-
-Fri Aug 15 05:10:09 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * arc.h (enum reloc): Move here from elf32-arc.c.
-
-Fri Aug 8 17:05:29 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * arc.h: New file.
- * common.h (EM_CYGNUS_ARC): Define.
-
-Mon Jun 16 14:46:12 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (Elf_Internal_Ehdr): Change e_phoff and e_shoff from
- bfd_signed_vma to bfd_size_type, as they are not signed.
-
-Wed Mar 5 15:35:26 1997 Doug Evans <dje@seba.cygnus.com>
-
- * m32r.h (SHF_M32R_CAN_RELAX): Define.
-
-Mon Feb 24 17:49:01 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * external.h: Dump the 32/64 bit specific forms of the version
- structures, and just define them as size independent.
-
- * common.h (VERSYM_HIDDEN, VERSYM_VERSION): Define.
-
-Fri Feb 21 13:00:34 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * m32r.h (enum reloc_type): Add R_M32R_SDA16.
- (SHN_M32R_SCOMMON): Define.
-
-Wed Feb 19 15:35:31 1997 Ian Lance Taylor <ian@cygnus.com>
-
- From Eric Youngdale <eric@andante.jic.com>:
- * external.h, internal.h, common.h: Added new structures and
- definitions for ELF versions.
-
-Tue Feb 18 17:40:36 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * common.h (EM_CYGNUS_D30V): Define.
-
-Mon Jan 27 11:54:44 1997 Doug Evans <dje@seba.cygnus.com>
-
- * m32r.h (enum reloc_type): Add R_M32R_HI16_[SU]LO,R_M32R_LO16.
-
-Fri Jan 3 11:32:51 1997 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * v850.h (V850_OTHER_{TDA_BYTE,ERROR}): New bits for the st_other
- field.
- (SHN_V850_*): Remove v850 specific section indexes, which are not
- needed.
- (enum reloc_type): Move the v850 relocations here from
- elf32-v850.c
-
-Thu Jan 2 19:30:23 1997 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * v850.h: New file, provide V850 specific definitions.
-
-Tue Dec 31 14:44:32 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * common.h (DT_AUXILIARY): Define.
- (DT_FILTER): Define.
-
-Wed Dec 4 05:03:37 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2.h: Update.
-
-Tue Nov 26 10:44:47 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (STO_MIPS16): Define.
-
-Tue Nov 12 15:45:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h: Remove empty file.
-
-Tue Oct 8 11:31:24 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (EF_MIPS_ABI2): Define.
-
-Thu Oct 3 10:01:40 1996 Jeffrey A Law (law@cygnus.com)
-
- * common.h: Break mn10x00 support into mn10200 and mn10300.
-
-Wed Oct 2 21:26:43 1996 Jeffrey A Law (law@cygnus.com)
-
- * common.h (EM_CYGNUS_MN10x00): Define.
-
-Mon Sep 23 09:18:04 1996 Doug Evans <dje@seba.cygnus.com>
-
- * m32r.h: New file.
-
-Fri Aug 30 17:06:21 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * common.h (EM_SH): Define.
-
-Tue Aug 20 14:47:54 1996 J.T. Conklin <jtc@hippo.cygnus.com>
-
- * common.h (EM_CYGNUS_V850): Define.
-
-Mon Aug 19 10:59:10 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * common.h (EM_CYGNUS_M32R): Define.
-
-Mon Jul 22 18:59:55 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (SHT_MIPS_IFACE, SHT_MIPS_CONTENT): Define.
- (SHT_MIPS_SYMBOL_LIB): Define.
- (SHF_MIPS_MERGE, SHF_MIPS_ADDR32, SHF_MIPS_ADDR64): Define.
- (SHF_MIPS_NOSTRIP, SHF_MIPS_LOCAL, SHF_MIPS_NAMES): Define.
-
-Thu Jul 18 19:12:15 1996 Stan Shebs <shebs@andros.cygnus.com>
-
- * dwarf2.h: New file.
-
-Jul 18 13:20:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * common.h (EM_CYGNUS_D10V): Define.
- * d10v.h: New file.
-
-Fri Jun 21 12:33:24 1996 Richard Henderson <rth@tamu.edu>
-
- * alpha.h: New file.
- * common.h (EM_ALPHA): Define.
-
-Fri May 31 17:28:05 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (Elf_External_Options, Elf_Internal_Options): Define.
- (bfd_mips_elf_swap_options_in): Declare.
- (bfd_mips_elf_swap_options_out): Declare.
- (ODK_*): Define.
- (Elf64_External_RegInfo, Elf64_Internal_RegInfo): Define.
- (bfd_mips_elf64_swap_reginfo_in): Declare.
- (bfd_mips_elf64_swap_reginfo_out): Declare.
-
-Thu May 30 12:35:57 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (E_MIPS_ARCH_4): Define.
-
-Wed May 29 15:35:33 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (Elf64_Mips_External_Rel): Define.
- (Elf64_Mips_Internal_Rel): Define.
- (Elf64_Mips_External_Rela, Elf64_Mips_Internal_Rela): Define.
- (RSS_*): Define.
-
-Mon Apr 22 18:26:30 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (R_SPARC_[56]): Always define.
-
-Mon Feb 19 01:55:56 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (R_SPARC_{PLT32,HIPLT22,LOPLT10,PCPLT32,PCPLT22,
- PCPLT10,5,6}): Don't define ifdef SPARC64_OLD_RELOCS.
-
-Tue Feb 6 11:33:58 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (enum sparc_elf_reloc_type): Define.
-
-Wed Jan 17 09:09:16 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * common.h: Define EM_SPARC32PLUS.
- * sparc.h: New file.
-
-Thu Jan 11 16:27:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * ppc.h (SHF_EXCLUDE, SHT_ORDERED): New fields from the abi.
-
-Thu Nov 30 16:47:18 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (struct elf_segment_map): Add includes_filehdr and
- includes_phdrs fields.
-
-Tue Nov 28 16:58:10 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (struct elf_segment_map): Define.
-
-Tue Oct 31 15:19:36 1995 Fred Fish <fnf@cygnus.com>
-
- * common.h, dwarf.h, external.h, hppa.h, internal.h,
- mips.h, ppc.h: Protect against multiple inclusions.
-
-Thu Sep 21 13:51:58 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * ppc.h (EF_PPC_RELOCATABLE_LIB): Add new flag bit.
-
-Fri Sep 1 15:32:17 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
-
- * mips.h: Add some definitions used on Irix 5.
-
-Tue Jun 20 10:18:28 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * hppa.h (CPU_PA_RISC1_0): Protect from redefinitions.
- (CPU_PA_RISC1_1): Likewise.
-
-Wed Mar 8 18:14:37 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * ppc.h: New file for PowerPC support.
-
-Tue Feb 14 13:59:13 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * common.h (EM_PPC): Use offical value of 20, not 17.
- (EM_PPC_OLD): Define this to be the old value of EM_PPC.
-
-Tue Jan 24 09:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * common.h (EM_PPC): New macro, PowerPC machine id.
-
-Tue Jan 17 10:51:38 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * mips.h (SHT_MIPS_MSYM, SHT_MIPS_DWARF, SHT_MIPS_EVENTS): Define.
-
-Mon Oct 17 13:43:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * internal.h (Elf_Internal_Shdr): Remove rawdata and size fields.
- Add bfd_section field.
-
-Tue May 24 16:11:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (Elf32_External_gptab): Define.
-
-Mon May 16 13:22:04 1994 Jeff Law (law@snake.cs.utah.edu)
-
- * common.h (EM_HPPA): Delete.
- (EM_PARISC): Add.
- * hppa.h: New file.
-
-Mon May 9 13:27:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * common.h (SHN_LORESERVE): Rename from SHN_LORESERV.
- (ELF32_R_TYPE, ELF32_R_INFO): Don't rely on size of unsigned char.
- (ELF64_R_TYPE): Don't rely on size of unsigned long.
-
-Mon Apr 25 15:53:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * internal.h (Elf_Internal_Shdr): Use PTR, not void *.
-
-Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * mips.h (SHN_MIPS_TEXT, SHN_MIPS_DATA): Define.
-
-Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * internal.h: Remove Elf32_*, Elf64_* typedefs. These names
- cause conflicts with system headers, e.g. link.h in gdb/solib.c.
- Combine 32- and 64-bit versions of *_Internal_Dyn.
- * common.h: Replace uses of Elf64_Word, Elf64_Xword typedefs
- by their expansion.
- * mips.h: Replace uses of Elf32_Word, Elf32_Sword, Elf32_Addr
- typedefs by their expansion. Add DT_MIPS_RLD_MAP definition.
-
-Fri Feb 18 10:39:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * common.h (EM_CYGNUS_POWERPC): Define. This may be temporary,
- depending upon how quickly I can find a real PowerPC ABI.
-
-Mon Feb 7 08:27:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT.
-
-Wed Feb 2 14:12:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * common.h: Add comments regarding value of EM_HPPA and how to
- pick an unofficial value.
-
-Wed Nov 17 17:14:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (SHT_MIPS_OPTIONS): Define.
-
-Mon Nov 8 17:57:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h: Added some more MIPS ABI macro definitions.
-
-Wed Nov 3 22:07:17 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
-
- * common.h (EM_MIPS_RS4_BE): New macro.
-
-Tue Oct 12 07:28:18 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h: New file. MIPS ABI specific information.
-
-Mon Jun 21 13:13:43 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
-
- * internal.h: Combined 32- and 64-bit versions of all structures
- except *_Internal_Dyn. This will simply the assembler interface,
- and some bfd code.
-
-Tue May 25 02:00:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * external.h, internal.h, common.h: Added 64-bit versions of some
- structures and macros. Renamed old versions to put "32" in the
- name. Some are unchanged.
-
-Thu Apr 29 12:12:20 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
-
- * common.h (EM_HPPA, NT_VERSION, STN_UNDEF, DT_*): New macros.
- * external.h (Elf_External_Dyn): New type.
-
- * internal.h (Elf_Intenral_Shdr): New field `size'.
- (Elf_Internal_Dyn): New type.
-
-Tue Apr 20 16:03:45 1993 Fred Fish (fnf@cygnus.com)
-
- * dwarf.h (LANG_CHILL): Change value to one randomly picked in
- the user defined range, to reduce probability of collisions.
-
-Sun Nov 15 09:34:02 1992 Fred Fish (fnf@cygnus.com)
-
- * dwarf.h (AT_src_coords): Whitespace change only.
- * dwarf.h (AT_body_begin, AT_body_end, LANG_MODULA2):
- Add from latest gcc.
- * dwarf.h (LANG_CHILL): Add as GNU extension.
-
-Sat Aug 1 13:46:53 1992 Fred Fish (fnf@cygnus.com)
-
- * dwarf.h: Replace with current version from gcc distribution.
-
-Fri Jun 19 19:05:09 1992 John Gilmore (gnu at cygnus.com)
-
- * internal.h: Add real struct tags to all the Type_Defs, so they
- can be used in prototypes where the Type_Defs are not known.
-
-Fri Apr 3 20:58:58 1992 Mark Eichin (eichin at cygnus.com)
-
- * common.h: added ELF_R_{SYM,TYPE,INFO} for handling relocation
- info
- added EM_MIPS, and corrected value of EM_860 based on System V ABI
- manual.
-
- * external.h: added Elf_External_{Rel,Rela}.
-
- * internal.h: added Elf_Internal_{Rel,Rela}.
- added rawdata to Elf_Internal_Shdr.
-
-Sat Nov 30 20:43:59 1991 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * common.h, dwarf.h, external.h, internal.h, ChangeLog; moved from
- ../elf-<foo>
-
+2004-01-06 Alexandre Oliva <aoliva@redhat.com>
+
+ 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
+ * frv.h (EF_FRV_FDPIC): New macro.
+ (EF_FRV_PIC_FLAGS): Adjust.
+ 2003-08-08 Alexandre Oliva <aoliva@redhat.com>
+ * frv.h (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
+ R_FRV_FUNCDESC_GOTOFFLO, R_FRV_FUNCDESC_GOTOFFHI, R_FRV_GOTOFF12,
+ R_FRV_GOTOFFLO, R_FRV_GOTOFFHI): New.
+ 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
+ * frv.h (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO, R_FRV_FUNCDESC,
+ R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI, R_FRV_FUNCDESC_GOTLO):
+ New.
+
+
+For older changes see ChangeLog-9103
Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
version-control: never
End:
diff --git a/include/elf/ChangeLog-9103 b/include/elf/ChangeLog-9103
new file mode 100644
index 00000000000..713d80d1440
--- /dev/null
+++ b/include/elf/ChangeLog-9103
@@ -0,0 +1,1914 @@
+2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * elf/m32r.h : Added m32r-linux and PIC support. Add new ABI that
+ uses RELA.
+ (R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
+ R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
+ R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
+ R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
+ R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
+ R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
+ R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
+ R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
+ R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
+ R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
+ R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
+ R_M32R_GOTPC_LO): New relocs.
+
+2003-12-06 Alan Modra <amodra@bigpond.net.au>
+
+ From Jan Beulich <JBeulich@novell.com>
+ * common.h (DT_HIOS): Correct value.
+
+2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * elf/m32r.h: Add new machine type m32r2 and instruction modes.
+
+2003-11-06 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (R_PPC_RELAX32PC): Define.
+
+2003-10-22 Alexandre Oliva <aoliva@redhat.com>,
+ Michael Snyder <msnyder@redhat.com>
+
+ * sh.h (EF_SH4A, EF_SH4AL_DSP, EF_SH4_NOFPU, EF_SH4A_NOFPU): New.
+ (EF_SH_MERGE_MACH): Combine them.
+
+2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix.h (R_MMIX_PUSHJ_STUBBABLE): New reloc number.
+ (_bfd_mmix_before_linker_allocation): Rename from
+ _bfd_mmix_prepare_linker_allocated_gregs.
+ (_bfd_mmix_after_linker_allocation): Rename from
+ _bfd_mmix_finalize_linker_allocated_gregs.
+
+2003-10-06 Dave Brolley <brolley@redhat.com>
+
+ * frv.h (EF_FRV_CPU_FR550): New macro.
+
+2003-09-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (E_MIPS_ARCH_64R2): New define.
+
+2003-09-23 DJ Delorie <dj@redhat.com>
+
+ * sh.h (R_SH_SWITCH8, R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
+ R_SH_LOOP_START,R_SH_LOOP_END): Move to "reserved" spaces.
+ (R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
+ R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
+ R_SH_PSHA, R_SH_PSHL): New.
+
+2003-09-11 James Cownie <jcownie@etnus.com>
+
+ * dwarf2.h: Add HP dwarf extensions from their hacked gdb
+ header files (ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz).
+
+2003-09-04 Nick Clifton <nickc@redhat.com>
+
+ * v850.h (E_V850E1_ARCH): Define.
+
+2003-08-21 James Cownie <jcownie@etnus.com>
+
+ * dwarf2.h: Add PGI dwarf extensions.
+
+2003-08-08 Dmitry Diky <diwil@mail.ru>
+
+ * msp430.h: Add xW42 and xE42 parts. Sort MPU list according to
+ gcc order.
+
+2003-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * reloc-macros.h (START_RELOC_NUMBERS) : Remove PARAMS macro. Use
+ C90 function definition. Formatting.
+ (RELOC_NUMBER): Remove !__STDC__ code.
+
+2003-07-28 Eric Christopher <echristo@redhat.com>
+
+ * ppc.h (R_PPC_RELAX32): New. Fake relocation.
+
+2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * v850.h (SHF_V850_GPREL): New.
+ (SHF_V850_EPREL): Likewise.
+ (SHF_V850_R0REL): Likewise.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
+ * mn10300.h: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
+ PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
+ Renumbered all relocs.
+ 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
+ * mn10300.h (R_MN10300_GOTPC, R_MN10300_GOTOFF,
+ R_MN10300_PLT32, R_MN10300_GOT32, R_MN10300_GOT24,
+ R_MN10300_GOT16, R_MN10300_COPY, R_MN10300_GLOB_DAT,
+ R_MN10300_JMP_SLOT, R_MN10300_RELATIVE): New relocs.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
+ * mn10300.h (E_MN10300_MACH_AM33_2): Renamed from
+ E_MN10300_MACH_AM332.
+ 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
+ * mn10300.h (E_MN10300_MACH_AM332): Defined.
+
+2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h (elf_s390_reloc_type): Add long displacement relocations
+ R_390_20, R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
+
+2003-06-29 Andreas Jaeger <aj@suse.de>
+
+ * mmix.h: Convert to ISO C90 prototypes.
+ * mips.h: Likewise.
+
+2003-06-13 Robert Millan <zeratul2@wanadoo.es>
+
+ * common.h (GNU_ABI_TAG_NETBSD): New tag.
+ (GNU_ABI_TAG_FREEBSD): New tag.
+
+2003-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * h8.h (E_H8_MACH_H8300SXN): New flag.
+
+2003-06-03 Nick Clifton <nickc@redhat.com>
+
+ * v850.h (R_V850_32): Rename to R_V850_ABS32.
+ Add R_V850_REL32.
+
+2003-05-15 Roland McGrath <roland@redhat.com>
+
+ * common.h (NT_AUXV, AT_*): New macros.
+ * external.h (Elf32_External_Auxv, Elf64_External_Auxv): New types.
+ * internal.h (Elf_Internal_Auxv): New type.
+
+2003-05-14 Michael Snyder <msnyder@redhat.com>
+ From Bernd Schmidt <bernds@redhat.com>
+ * h8.h (E_H8_MACH_H8300SX): New.
+
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * elf/h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New
+
+2003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * common.h (EM_SH): Amend comment to refer to SuperH.
+
+2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * common.h: Replace references to Mitsubishi M32R with
+ references to Renesas M32R.
+
+2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+ * common.h: Replace occurrances of 'Hitachi' with 'Renesas'.
+
+2003-04-01 Bob Wilson <bob.wilson@acm.org>
+
+ * elf/common.h (EM_XTENSA_OLD): Define.
+ * elf/xtensa.h: New file.
+
+2003-04-01 Nick Clifton <nickc@redhat.com>
+
+ * arm.h (ARM_NOTE_SECTION): Include .gnu in the string.
+
+2003-03-25 Stan Cox <scox@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ Contribute support for Intel's iWMMXt chip - an ARM variant:
+
+ * arm.h (ARM_NOTE_SECTION): Define.
+
+2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E,
+ and SH2E & SH4 merge to SH4, not SH2E.
+
+2003-02-21 Ian Wienand <ianw@gelato.unsw.edu.au>
+
+ * ia64.h (SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG,
+ SHT_IA_64_PRIORITY_INIT): Define.
+
+2003-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc64.h (IS_PPC64_TLS_RELOC): Rename from IS_TLS_RELOC.
+
+ * ppc.h: Replace DTPMOD64, TPREL64, DTPREL64 with DTPMOD32 etc.
+ (IS_PPC_TLS_RELOC): Define.
+
+2003-02-10 Nick Clifton <nickc@redhat.com>
+
+ * arm.h (EF_ARM_MAVERICK_FLOAT): Define.
+
+2003-02-05 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h: Add TLS relocs. Format.
+ * ppc64.h: Likewise.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * mips.h (EF_MIPS_XGOT): Define.
+
+2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h: Add s390 TLS relocations.
+
+2003-01-23 Nick Clifton <nickc@redhat.com>
+
+ * Add sh2e support:
+
+ 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh.h (EF_SH_MERGE_MACH): Handle SH2E.
+
+ 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
+
+ * sh.h (EF_SH2E): New.
+
+2003-01-23 Alan Modra <amodra@bigpond.net.au>
+
+ * sh.h: Split out various bits to bfd/elf32-sh64.h.
+
+2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff,
+ gotplt and pltoff relocations.
+
+2003-01-17 Alan Modra <amodra@bigpond.net.au>
+
+ * common.h: Formatting, typo fixes.
+ (DT_ENCODING): Correct value.
+
+2003-01-17 Fabio Alemagna <falemagn@aros.org>
+
+ * common.h (ELFOSABI_AROS): Define.
+ (ELFOSABI_OPENVMS): Likewise.
+ (ELFOSABI_NSK): Likewise.
+
+2003-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h: Split out ppc64 definitions to..
+ * pcc64.h: ..here. New file.
+ (R_PPC64_REL30): Rename from R_PPC64_ADDR30.
+
+2003-01-13 Dmitry Diky <diwil@mail.ru>
+
+ * elf/common.h (EM_MSP430): Change e_machine value to officially
+ assigned.
+
+2003-01-02 Ben Elliston <bje@redhat.com>
+
+ * common.h (EM_IQ2000): Define.
+ * iq2000.h: New file.
+
+2002-12-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (E_MIPS_ARCH_32R2): New define.
+
+2002-12-24 Dmitry Diky <diwil@mail.ru>
+
+ * common.h: Define msp430 machine numbers.
+ * msp430.h: New file. Define msp430 relocs.
+
+2002-12-20 DJ Delorie <dj@redhat.com>
+
+ * xstormy16.h: Add XSTORMY16_12.
+
+2002-12-16 Andrew MacLeod <amacleod@redhat.com>
+
+ * xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers
+ for R_XSTORMY16_LO16 and R_XSTORMY16_HI16.
+
+2002-12-10 James Cownie <jcownie@etnus.com>
+
+ * dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type,
+ DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc):
+ Define.
+
+2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define.
+ (EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define.
+ (EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * mmix.h: Replace boolean with bfd_boolean.
+ * sh.h: Likewise.
+
+2002-11-28 Alan Modra <amodra@bigpond.net.au>
+
+ * internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr,
+ elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr,
+ Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr,
+ elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr,
+ Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym,
+ Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note,
+ elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel,
+ elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela,
+ elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela,
+ elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn,
+ Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef,
+ elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed,
+ elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux,
+ elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef,
+ Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux,
+ Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux,
+ Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym,
+ Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete.
+ (Elf_Internal_Rel): Delete.
+
+2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * sh.h: Add SH TLS relocs.
+
+2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
+ Ken Raeburn <raeburn@cygnus.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New.
+
+2002-09-12 Roland McGrath <roland@redhat.com>
+
+ * dwarf2.h: Updates from GCC version of thie file:
+ (enum dwarf_location_atom): DW_OP_calli -> DW_OP_call_ref.
+ Add DW_OP_GNU_push_tls_address.
+ (DW_OP_lo_user): Change to 0xe0.
+
+2002-08-28 Catherine Moore <clm@redhat.com>
+
+ * elf/v850.h (R_V850_LONGCALL, R_V850_ALIGN,
+ R_V850_LONGJUMP): New relocations.
+
+2002-08-15 Alan Modra <amodra@bigpond.net.au>
+
+ * i370.h: Define relocs using reloc-macros.h.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64,
+ EF_M68HC11_ABI): Define for ABI specification.
+ (STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for
+ linker and debugger.
+ (R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs.
+ (R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker
+ relaxation.
+
+2002-07-15 Denis Chertykov <denisc@overta.ru>
+ Frank Ch. Eigler <fche@redhat.com>
+ Ben Elliston <bje@redhat.com>
+ Alan Lehotsky <alehotsky@cygnus.com>
+ John Healy <jhealy@redhat.com>
+ Graham Stott <grahams@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * common.h (EM_IP2K): New macro.
+ (EM_IP2K_OLD): New macro.
+ * ip2k.h: New file.
+
+2002-07-01 Matt Thomas <matt@3am-software.com>
+
+ * vax.h: Rename EF_* to EF_VAX_*.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ From Catherine Moore, Michael Meissner, Dave Brolley:
+ * common.h (EM_CYGNUS_FRV): New macro.
+ * frv.h: New file.
+
+2002-06-06 Lars Brinkhoff <lars@nocrew.org>
+
+ * common.h: Change registry@sco.com to registry@caldera.com.
+ (EM_PDP10, EM_PDP11): Define.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl)
+ (_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New
+ prototypes.
+
+2002-06-01 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF,
+ LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New.
+
+2002-05-30 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64,
+ R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI,
+ R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64,
+ R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New.
+
+2002-05-29 Matt Thomas <matt@3am-software.com>
+
+ * vax.h: New file
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * common.h (EM_DLX): Define.
+ * dlx.h: New file.
+
+2002-05-08 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * common.h (NT_GNU_ABI_TAG): Define.
+ (GNU_ABI_TAG_LINUX): Define.
+ (GNU_ABI_TAG_HURD): Define.
+ (GNU_ABI_TAG_SOLARIS): Define.
+ (NT_NETBSD_IDENT): Define.
+ (NT_FREEBSD_ABI_TAG): Define.
+
+2002-04-24 Elena Zannoni <ezannoni@redhat.com>
+
+ * dwarf2.h: Add DW_AT_GNU_vector.
+
+2002-02-13 Matt Fredette <fredette@netbsd.org>
+
+ * m68k.h (EF_M68000): Define.
+
+2002-02-12 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define.
+
+2002-02-09 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (R_ALPHA_BRSGP): New.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ Contribute sh64-elf.
+ 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
+ * sh.h (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
+ R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
+ R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
+ R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
+ R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
+ R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
+ R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
+ R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8,
+ R_SH_GOTPLT10BY8, R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64,
+ R_SH_RELATIVE64): New relocs.
+ (R_SH_FIRST_INVALID_RELOC_4): Adjust.
+ 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
+ * sh.h: Renumbered and renamed some SH5 relocations to match
+ official numbers and names; moved unmaching ones to the range
+ 0xf2-0xff.
+ 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (sh64_get_contents_type): Declare.
+ (sh64_address_is_shmedia): Likewise.
+ 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (sh64_elf_crange): New type.
+ (struct sh64_section_data): New.
+ (sh64_elf_section_data): New macro.
+ (EF_SH5): Rename back from EF_SH64.
+ 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (SHF_SH5_ISA32_MIXED, SHT_SH5_CR_SORTED,
+ SH64_CRANGES_SECTION_NAME, SH64_CRANGE_SIZE,
+ SH64_CRANGE_CR_ADDR_OFFSET, SH64_CRANGE_CR_SIZE_OFFSET,
+ SH64_CRANGE_CR_TYPE_OFFSET): New macros.
+ 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (EF_SH64): Don't define EF_SH64_ABI64.
+ 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (EF_SH64_32BIT_ABI, EF_SH64_64BIT_ABI): Delete.
+ (EF_SH64_ABI64): New.
+ 2000-11-23 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (EF_SH64): Rename from EF_SH5.
+ (EF_SH64_32BIT_ABI): New.
+ (EF_SH64_64BIT_ABI): New.
+ (R_SH_PT_16, R_SH_SHMEDIA_CODE
+ R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
+ R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
+ R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
+ R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
+ R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL): New
+ relocs.
+ 2000-09-01 Ben Elliston <bje@redhat.com>
+ * sh.h (EF_SH5): Define.
+
+2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix.h: Tweak comments.
+ (MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME): New.
+ [BFD_ARCH_SIZE] (_bfd_mmix_prepare_linker_allocated_gregs,
+ _bfd_mmix_finalize_linker_allocated_gregs,
+ _bfd_mmix_check_all_relocs): Provide prototypes.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * or32.h: New file.
+ * common.h: Add support for or32 targets.
+
+2002-01-28 Jason Merrill <jason@redhat.com>
+
+ * dwarf2.h: Sync with gcc version.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (DT_PPC64_GLINK): Define.
+
+2002-01-15 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define.
+
+2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * common.h: Update copyright years.
+ (NT_NETBSDCORE_PROCINFO): Define.
+ (NT_NETBSDCORE_FIRSTMACH): Define.
+
+2002-01-06 Steve Ellcey <sje@cup.hp.com>
+
+ * ia64.h (ELF_STRING_ia64_unwind_hdr): New Macro for HP-UX.
+ (SHT_IA_64_HP_OPT_ANOT): Ditto
+ (PT_IA_64_HP_OPT_ANOT): Ditto
+ (PT_IA_64_HP_HSL_ANOT): Ditto
+ (PT_IA_64_HP_STACK): Ditto
+ (SHN_IA_64_ANSI_COMMON): Ditto
+
+2001-12-17 Alan Modra <amodra@bigpond.net.au>
+
+ * external.h (Elf_External_Sym_Shndx): Declare.
+ * internal.h (struct elf_internal_sym <st_shndx>): Make it an
+ unsigned int.
+ * common.h (SHN_BAD): Define.
+
+2001-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/common.h (PT_GNU_EH_FRAME): Define.
+
+2001-12-11 Alan Modra <amodra@bigpond.net.au>
+
+ * common.h (SHN_XINDEX): Comment typo fix.
+ * internal.h (Elf_Internal_Ehdr): Change existing "unsigned short"
+ size, count and index fields to "unsigned int".
+
+2001-12-07 Geoffrey Keating <geoffk@redhat.com>
+ Richard Henderson <rth@redhat.com>
+
+ * common.h (EM_XSTORMY16): Define.
+ * xstormy16.h: New file.
+
+2001-11-15 Alan Modra <amodra@bigpond.net.au>
+
+ * common.h (NT_ARCH): Define. Remove incorrect comment.
+
+2001-11-11 Geoffrey Keating <geoffk@redhat.com>
+
+ * dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix.h: New file.
+
+2001-10-23 Alan Modra <amodra@bigpond.net.au>
+
+ * internal.h: White space changes to keep lines under 80 chars.
+
+2001-10-16 Jeff Holcomb <jeffh@redhat.com>
+
+ * internal.h (elf_internal_shdr): Make contents a unsigned char *.
+
+2001-09-18 Alan Modra <amodra@bigpond.net.au>
+
+ * internal.h (elf_internal_rela): Make r_addend a bfd_vma.
+
+2001-09-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * common.h (EM_OPENRISC_OLD): Renamed the old EM_OPENRISC entry.
+
+2001-09-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * common.h (EM_AVR_OLD): Renamed from...
+ (EM_AVR): this, redefined as in the current ELF standard.
+ (EM_PJ_OLD): Renamed from...
+ (EM_PJ): this, redefined as in the current ELF standard.
+ (EM_R30, EM_D10V, EM_D30V, EM_V850, EM_M32R, EM_MN10300,
+ EM_MN10200, EM_OPENRISC, EM_ARC_A5, EM_XTENSA): Defined as in
+ the current ELF standard.
+ (EM_CYGNUS_ARC): Removed, unused for a long time.
+
+2001-09-04 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (R_ALPHA_OP*, R_ALPHA_IMMED*, R_ALPHA_GPVALUE): Remove.
+ (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16.
+
+2001-08-30 Eric Christopher <echristo@redhat.com>
+
+ * mips.h: Remove E_MIPS_MACH_MIPS32_4K.
+
+2001-08-29 Jeff Law <law@redhat.com>
+
+ * h8.h (EF_H8_MACH): New mask for encoded machine type.
+ (E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New
+ machine types.
+
+2001-08-26 J"orn Rennecke <amylaar@redhat.com>
+
+ * h8.h: New file.
+
+2001-08-27 Staffan Ulfberg <staffanu@swox.se>
+
+ * ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2.
+
+2001-06-30 Daniel Berlin <dan@cgsoftware.com>
+
+ * dwarf2.h: Remerge with gcc version,
+ including all new DWARF 2.1 extensions.
+
+2001-06-29 James Cownie <jcownie@etnus.com>
+
+ * dwarf2.h: Add DWARF 2.1 attribues.
+
+2001-06-15 Per Bothner <per@bothner.com>
+
+ * dwarf2.h: Partial merge with gcc version.
+ (enum dwarf_descrim_list): Fix typo -> dwarf_discrim_list.
+ (DW_LANG_Java): Use value from dwarf 2.1 draft (also used in gcc).
+
+2001-05-15 Ralf Baechle <ralf@gnu.org>
+
+ * common.h: Remove definition of EM_MIPS_RS4_BE. The constant was
+ never in active use and is used otherwise by the ABI.
+
+2001-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ * ia64.h (ELF_STRING_ia64_unwind_once): Define.
+ (ELF_STRING_ia64_unwind_info_once): Define.
+
+2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * external.h: Fix typo.
+ * mips.h: Add/Extend many comments with reference to the MIPS ELF64
+ spec v. 2.4, available at e.g.
+ ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps.
+ (EF_MIPS_UCODE): Define.
+ (EF_MIPS_OPTIONS_FIRST): Define.
+ (EF_MIPS_ARCH_ASE): Define.
+ (EF_MIPS_ARCH_ASE_MDMX): Define.
+ (EF_MIPS_ARCH_ASE_M16): Define.
+ (SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32.
+ (SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64.
+ (SHF_MIPS_NODUPES): Define.
+ (ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro.
+ (ELF64_MIPS_R_TYPE3): Likewise.
+ (ELF64_MIPS_R_TYPE2): Likewise.
+ (ELF64_MIPS_R_TYPE): Likewise.
+ (OHW_R10KLDL): Define.
+
+2001-04-24 Todd Fries <todd@fries.net>
+
+ * sparc.h: Fix typo.
+
+2001-04-20 Johan Rydberg <jrydberg@opencores.org>
+
+ * openrisc.h: New file.
+ * common.h (EM_OPENRISC): New constant.
+
+2001-04-23 Bo Thorsen <bo@suse.de>
+
+ * x86-64.h: Add vtable support.
+
+2001-03-23 Nick Clifton <nickc@redhat.com>
+
+ * mips.h: Remove extraneous whitespace.
+
+2001-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris.h: Add leading comment about PC-relative location.
+ (R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE,
+ R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT,
+ R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL):
+ New relocs.
+
+2001-02-27 Philip Blundell <pb@futuretv.com>
+
+ * arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01.
+ (EF_PIC, et al.): Rename to EF_ARM_xx.
+
+2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * common.h: Add linux target for S/390.
+ * s390.h: New file.
+
+2001-01-11 Peter Targett <peter.targett@arccores.com>
+
+ * arc.h (E_ARC_MACH_ARC5, E_ARC_MACH_ARC6, E_ARC_MACH_ARC7,
+ E_ARC_MACH_ARC8): New definitions for cpu types.
+
+ * common.h (EM_ARC): Change comment.
+
+2000-12-12 Nick Clifton <nickc@redhat.com>
+
+ * mips.h: Fix formatting.
+
+2000-12-11 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (DT_HP_*): Define relative to OLD_DT_LOOS for hpux
+ compatibility.
+
+2000-10-16 Chris Demetriou <cgd@sibyte.com>
+
+ * mips.h (E_MIPS_ARCH_32): New constant.
+ (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the
+ former with the latter.
+
+ * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions.
+
+ * mips.h (E_MIPS_MACH_SB1): New constant.
+
+2000-11-30 Jan Hubicka <jh@suse.cz>
+
+ * common.h (EM_X86_64): New macro.
+ * x86-64.h: New file.
+
+2000-11-27 Hans-Peter Nilsson <hp@axis.com>
+
+ * common.h (e_machine numbers): Clarify comments to describe how
+ EM_* constants are assigned. Move EM_PJ from official section to
+ ad-hoc section.
+ (EM_CRIS): Correct comment to match official description.
+ (EM_MMIX): Ditto.
+
+2000-11-22 Nick Clifton <nickc@redhat.com>
+
+ * common.h (EM_JAVELIN): New machine number.
+ (EM_FIREPATH): New machine number.
+ (EM_ZSP): New machine number.
+ (EM_MMIX): New machine number.
+ (EM_HUANY): New machine number.
+ (EM_PRISM): New machine number.
+ (SHT_GROUP): New section type.
+ (SHT_SYMTAB_SHNDX): New section type.
+ (SHF_GROUP): New section flag.
+ (SHN_XINDEX): New section index.
+ (GRP_COMDAT): New section group flag.
+
+2000-11-20 H.J. Lu <hjl@gnu.org>
+
+ * common.h (ELFOSABI_MONTEREY): Renamed to ...
+ (ELFOSABI_AIX): This.
+
+2000-11-16 Richard Henderson <rth@redhat.com>
+
+ Update relocations per August psABI docs.
+ * ia64.h (R_IA64_SEGBASE): Remove.
+ (R_IA64_LTV*): Renumber to 0x74 to 0x77.
+ (R_IA64_EPLTMSB, R_IA64_EPLTLSB): Remove.
+ (R_IA64_TPREL14, R_IA64_TPREL64I): New.
+ (R_IA64_DTPMOD*): New.
+ (R_IA64_DTPREL*): New.
+
+2000-09-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris.h (EF_CRIS_UNDERSCORE): New.
+
+2000-09-27 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa.h (R_PARISC_DIR14F): Add.
+
+2000-09-14 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
+ R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Change
+ numbers to the range from 160 to 167.
+ (R_SH_FIRST_INVALID_RELOC): Adjust.
+ (R_SH_FIRST_INVALID_RELOC_2, R_SH_LAST_INVALID_RELOC_2):
+ New relocs to fill in the gap.
+
+2000-09-13 Anders Norlander <anorland@acc.umu.se>
+
+ * mips.h (E_MIPS_MACH_4K): New define.
+
+2000-09-05 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa.h: Fix a comment.
+ (R_PARISC_PCREL12F): Define.
+ (R_PARISC_GNU_VTENTRY): Define.
+ (R_PARISC_GNU_VTINHERIT): Define.
+
+2000-09-01 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
+ R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New relocs.
+ (R_SH_FIRST_INVALID_RELOC): Adjust.
+
+2000-08-14 Jim Wilson <wilson@cygnus.com>
+
+ * ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP,
+ EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define.
+
+2000-08-07 Nick Clifton <nickc@cygnus.com>
+
+ * ppc.h: Remove spurious CYGNUS LOCAL comments.
+ * v850.h: Likewise.
+
+2000-07-22 Jason Eckhardt <jle@cygnus.com>
+
+ * i860.h: New file.
+ (elf_i860_reloc_type): Defined ELF32 i860 relocations.
+
+2000-07-20 Hans-Peter Nilsson <hp@axis.com>
+
+ common.h (EM_CRIS): New machine number.
+ cris.h: New file.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * common.h (DT_CHECKSUM): Set to 0x6ffffdf8.
+ (DTF_1_CONFEXP): It is 0x00000002 as suspected.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * common.h (DT_FEATURE): Renamed from DT_FEATURE_1.
+ (DT_CONFIG): New. From Solaris 8.
+ (DT_DEPAUDIT): Likewise.
+ (DT_AUDIT): Likewise.
+ (DT_PLTPAD): Likewise.
+ (DT_MOVETAB): Likewise.
+ (DF_1_NODEPLIB): Likewise.
+ (DF_1_NODUMP): Likewise.
+ (DF_1_CONLFAT): Likewise.
+ (DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8.
+ (DTF_1_CONFEXP): Likewise.
+
+2000-07-18 H.J. Lu <hjl@gnu.org>
+
+ * common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS.
+
+2000-07-12 Alan Modra <alan@linuxcare.com.au>
+
+ * internal.h (struct elf_internal_sym): Update comment for st_other.
+
+2000-07-10 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa.h: Add comments to all the relocs.
+
+2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr.h (E_AVR_MACH_AVR5): Define.
+
+2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * m68hc11.h: New file, definitions for the Motorola 68hc11.
+
+2000-06-06 Alan Modra <alan@linuxcare.com.au>
+
+ * reloc-macros.h (START_RELOC_NUMBERS): Don't define initial dummy
+ -1 valued enum.
+ (RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC): Append rather than
+ prepend comma.
+ (END_RELOC_NUMBERS): Give macro an arg to define as last enum.
+
+ * alpha.h (R_ALPHA_max): Define via END_RELOC_NUMBERS rather than
+ with EMPTY_RELOC.
+ * arc.h (R_ARC_max): Likewise.
+ * avr.h (R_AVR_max): Likewise.
+ * fr30.h (R_FR30_max): Likewise.
+ * hppa.h (R_PARISC_UNIMPLEMENTED): Likewise.
+ * i960.h (R_960_max): Likewise.
+ * m32r.h (R_M32R_max): Likewise.
+ * m68k.h (R_68K_max): Likewise.
+ * mcore.h (R_MCORE_max): Likewise.
+ * mn10300.h (R_MN10300_MAX): Likewise.
+ * pj.h (R_PJ_max): Likewise.
+ * ppc.h (R_PPC_max): Likewise.
+ * sh.h (R_SH_max): Likewise.
+ * sparc.h (R_SPARC_max): Likewise.
+ * v850.h (R_V850_max): Likewise.
+
+ * arm.h (R_ARM_max): Define via END_RELOC_NUMBERS.
+ * d10v.h (R_D10V_max): Likewise.
+ * d30v.h (R_D30V_max): Likewise.
+ * ia64.h (R_IA64_max): Likewise.
+ * mips.h (R_MIPS_maxext): Likewise.
+ * mn10200.h (R_MN10200_max): Likewise.
+
+ * i386.h (R_386_max): Remove old RELOC_NUMBER definition, and
+ define via END_RELOC_NUMBERS.
+
+2000-06-03 Alan Modra <alan@linuxcare.com.au>
+
+ * reloc-macros.h (START_RELOC_NUMBERS): Fix name clash for
+ !__STDC__ case.
+ (RELOC_NUMBER): Use ansi stringify if ALMOST_STDC defined.
+
+2000-05-22 Richard Henderson <rth@cygnus.com>
+
+ * ia64.h (R_IA64_PCREL60B, R_IA64_PCREL21BI): New.
+ (R_IA64_PCREL22, R_IA64_PCREL64I): New.
+
+2000-05-02 H.J. Lu <hjl@gnu.org>
+
+ * common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV.
+ (ELFOSABI_MODESTO): Defined.
+ (ELFOSABI_OPENBSD): Likewise.
+
+2000-04-21 Richard Henderson <rth@cygnus.com>
+ David Mosberger <davidm@hpl.hp.com>
+
+ * ia64.h: New file.
+
+2000-04-14 H.J. Lu <hjl@gnu.org>
+
+ * common.h (ELFOSABI_TRUE64): Renamed to ELFOSABI_TRU64.
+
+2000-04-14 H.J. Lu <hjl@gnu.org>
+
+ * common.h (ELFOSABI_NETBSD): Defined.
+ (ELFOSABI_HURD): Likewise.
+ (ELFOSABI_SOLARIS): Likewise.
+ (ELFOSABI_MONTEREY): Likewise.
+ (ELFOSABI_IRIX): Likewise.
+ (ELFOSABI_FREEBSD): Likewise.
+ (ELFOSABI_TRUE64): Likewise.
+
+2000-04-07 Nick Clifton <nickc@cygnus.com>
+
+ * arm-oabi.h: Delete.
+ * arm.h: Merge in definitions of old reloc numbers from
+ arm-oabi.h.
+
+2000-04-06 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (EF_ARM_SYMSARESORTED): Define.
+ (EF_ARM_EABIMASK): Define.
+ (EF_ARM_EABI_VERSION): Define.
+ (EF_ARM_EABI_UNKNOWN): Define.
+ (EF_ARM_EABI_VER1): Define.
+ (PF_ARM_PI): Define.
+ (PF_ARM_ABS): Define.
+
+2000-04-05 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs.
+
+2000-03-27 Denis Chertykov <denisc@overta.ru>
+
+ * avr.h: New file. AVR ELF support for BFD.
+ * common.h: Add AVR magic number.
+
+2000-03-10 Geoffrey Keating <geoffk@cygnus.com>
+
+ * mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16,
+ R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation
+ numbers.
+
+2000-02-23 Linas Vepstas <linas@linas.org>
+
+ * i370.h: New file.
+
+2000-02-22 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (ELF_ST_OTHER): Remove definition.
+ (ELF32_ST_OTHER): Remove definition.
+ (ELF64_ST_OTHER): Remove definition.
+
+2000-02-22 H.J. Lu <hjl@gnu.org>
+
+ * common.h (ELFOSABI_LINUX): Define.
+
+2000-02-17 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros.
+ (EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise.
+ (EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise.
+
+2000-02-03 H.J. Lu <hjl@gnu.org>
+
+ * arm-oabi.h: Duplicate changes made to arm.h on Jan. 27,
+ 2000 by Thomas de Lellis <tdel@windriver.com>.
+
+2000-01-27 Thomas de Lellis <tdel@windriver.com>
+
+ * arm.h (STT_ARM_TFUNC): Define in terms of STT_LOPROC.
+ (STT_ARM_16BIT): New flag. Denotes a label that was defined in
+ Thumb block but was does not identify a function.
+
+2000-01-20 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_MCORE): Fix spelling of Motorola.
+ * mcore.h (EM_MCORE): Fix spelling of Motorola.
+
+2000-01-13 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_S370): Change comment - this is now the IBM
+ System/370.
+ (EM_IA_64): Change comment - this is now the IA-64.
+
+2000-01-11 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (DT_ENCODING): Fix definition of this value.
+ (DT_LOOS): Fix definition of this value.
+ (DT_HIOS): Fix definition of this value.
+ (OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft
+ of ELF spec changed it.
+ (OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft
+ of ELF spec changed it.
+
+2000-01-10 Egor Duda <deo@logos-m.ru>
+
+ * common.h (NT_WIN32PSTATUS): Define. (cygwin elf core dumps).
+
+1999-12-28 Nick Clifton <nickc@cygnus.com>
+
+ * mips.h (STO_*): Redefine in terms of STV_* values now in
+ common.h.
+
+1999-12-27 Nick Clifton <nickc@cygnus.com>
+
+ * common.h: Upgrade to match Oct4, 1999 Draft ELF ABI Spec.
+ (EM_MIPS_RS3_LE): New machine number.
+ (EM_RCE): New machine number.
+ (EM_MMA): New machine number.
+ (EM_PCP): New machine number.
+ (EM_NCPU): New machine number.
+ (EM_NDR1): New machine number.
+ (EM_STARCORE): New machine number.
+ (EM_ME16): New machine number.
+ (EM_ST100): New machine number.
+ (EM_TINYJ): New machine number.
+ (EM_FX66): New machine number.
+ (EM_ST9PLUS): New machine number.
+ (EM_ST7): New machine number.
+ (EM_68HC16): New machine number.
+ (EM_68HC11): New machine number.
+ (EM_68HC08): New machine number.
+ (EM_68HC05): New machine number.
+ (EM_SVX): New machine number.
+ (EM_VAX): New machine number.
+ (PF_MASKOS): Change value.
+ (SHT_INIT_ARRAY): New value for sh_type field.
+ (SHT_FINI_ARRAY): New value for sh_type field.
+ (SHT_PREINIT_ARRAY): New value for sh_type field.
+ (SHT_HIUSER): Change value.
+ (SHF_MERGE): New valye for sh_flags field.
+ (SHF_STRINGS): New valye for sh_flags field.
+ (SHF_INFO_LINK): New valye for sh_flags field.
+ (SHF_OS_NONCONFORMING): New valye for sh_flags field.
+ (SHF_MASKOS): Change value.
+ (ELF_ST_VISIBILITY): New macro.
+ (ELF_ST_OTHER): New macro.
+ (STT_COMMON): New symbol type.
+ (STV_DEFAULT): Value for symbol visibility.
+ (STV_INTERNAL): Value for symbol visibility.
+ (STV_HIDDEN): Value for symbol visibility.
+ (STV_PROTECTED): Value for symbol visibility.
+ (DT_RUNPATH): New dynamic section tag.
+ (DT_FLAGS): New dynamic section tag.
+ (DT_ENCODING): New dynamic section tag.
+ (DT_PREINIT_ARRAY): New dynamic section tag.
+ (DT_PREINIT_ARRAYSZ): New dynamic section tag.
+ (DT_LOPROC): New dynamic section tag index.
+ (DT_HIPROC): New dynamic section tag index.
+ (DF_ORIGIN): Value for dynamic section flag.
+ (DF_SYMBOLIC): Value for dynamic section flag.
+ (DF_TEXTREL): Value for dynamic section flag.
+ (DF_BIND_NOW): Value for dynamic section flag.
+
+1999-12-09 Fred Fish <fnf@cygnus.com>
+
+ * i960.h (reloc-macros.h): Include using relative dir elf/.
+ * i386.h (reloc-macros.h): Include using relative dir elf/.
+ * hppa.h (reloc-macros.h): Include using relative dir elf/.
+
+1999-12-07 Jim Blandy <jimb@cygnus.com>
+
+ * common.h (NT_PRXFPREG): New definition.
+
+Wed Dec 1 03:02:15 1999 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (E_MN10300_MACH_AM33): Define.
+
+Mon Oct 11 22:42:37 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (PF_HP_PAGE_SIZE): Define.
+ (PF_HP_FAR_SHARED, PF_HP_NEAR_SHARED, PF_HP_CODE): Likewise.
+ (PF_HP_MODIFY, PF_HP_LAZYSWAP, PF_HP_SBP): Likewise.
+
+Mon Oct 4 17:42:38 1999 Doug Evans <devans@canuck.cygnus.com>
+
+ * m32r.h (E_M32RX_ARCH): Define.
+
+1999-09-15 Ulrich Drepper <drepper@cygnus.com>
+
+ * hppa.h: Add DT_HP_GST_SIZE, DT_HP_GST_VERSION, and DT_HP_GST_HASHVAL.
+
+1999-09-04 Steve Chamberlain <sac@pobox.com>
+
+ * pj.h: New file.
+ * common.h (EM_PJ): Define.
+
+1999-09-02 Ulrich Drepper <drepper@cygnus.com>
+
+ * hppa.h: Add HPUX specific symbol type definitions.
+
+ * hppa.h: Add HPUX specific dynamic and program header table
+ specific definitions.
+
+1999-08-31 Scott Bambrough <scottb@netwinder.org>
+
+ * common.h (NT_TASKSTRUCT): Define.
+
+1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
+
+ * sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions
+ flag (as per SCD2.4.1).
+
+1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
+
+ * sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not
+ ELF64_R_SYM bits.
+
+1999-06-21 Philip Blundell <pb@nexus.co.uk>
+
+ * arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define.
+
+1999-07-13 Andreas Schwab <schwab@suse.de>
+
+ * m68k.h (EF_CPU32): Move definition inside multiple inclusion
+ guard.
+
+1999-07-08 Richard Henderson <rth@cygnus.com>
+
+ * sparc.h (ELF64_R_TYPE_DATA): Sign extend the value.
+ (ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data.
+ (DT_SPARC_PLTFMT): Delete.
+ Based on a patch from Jakub Jelinek.
+
+Mon Jun 21 16:36:02 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type.
+
+1999-06-10 Jakub Jelinek <jj@ultra.linux.cz>
+
+ * sparc.h (R_SPARC_max_std): Define.
+
+Wed Jun 9 15:16:34 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h: Update with various changes from newest PA ELF
+ specifications.
+
+1999-06-03 Ian Lance Taylor <ian@zembu.com>
+
+ * common.h (EM_PPC64): Define.
+
+1999-06-02 Stu Grossman <grossman@babylon-5.cygnus.com>
+
+ * dwarf.h: Add LANG_JAVA.
+ * dwarf2.h: Add DW_LANG_Java.
+
+1999-05-29 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (ELFOSABI_ARM): Define.
+
+1999-05-28 Nick Clifton <nickc@cygnus.com>
+
+ * reloc-macros.h: Update comment.
+
+1999-05-28 Ian Lance Taylor <ian@zembu.com>
+
+ * i960.h: New file.
+
+1999-05-16 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h (R_MCORE_COPY): Define.
+ (R_MCORE_GLOB_DAT): Define.
+ (R_MCORE_JUMP_SLOT): Define.
+
+1999-05-15 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h (R_MCORE_RELATIVE): Define.
+
+1999-05-05 Catherine Moore <clm@cygnus.com>
+
+ * m68k.h (EF_CPU32): Define.
+
+1999-04-21 Nick Clifton <nickc@cygnus.com>
+
+ * reloc-macros.h (START_RELOC_NUMBERS): Prepend an underscore to
+ fake reloc entry name (if possible), in order to avoid conflicts
+ with typedefs of the same name.
+
+1999-04-16 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (EF_MIPS_32BITMODE): New.
+
+1999-04-08 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h: New header file. Defines for Motorola's MCore
+ processor.
+
+1999-04-08 Nick Clifton <nickc@cygnus.com>
+
+ * common.h: Add new constants defined in: "System V Application
+ Binary Interface - DRAFT - April 29, 1998" found at the web site:
+ http://www.sco.com/developer/gabi/contents.html
+
+ (EM_MMA): Removed. Replaced with EM_MCORE as Motorolla own this
+ value.
+
+1999-03-31 Nick Clifton <nickc@cygnus.com>
+
+ * reloc-macros.h: Fixed to not generate an enum with a trailing
+ comma.
+
+1999-03-16 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (E_MIPS_MACH_5000): New.
+
+1999-03-10 Ulrich Drepper <drepper@cygnus.com>
+
+ * common.h: Add definitions for a few more Solaris ELF extensions.
+
+Thu Feb 18 18:58:26 1999 Ian Lance Taylor <ian@cygnus.com>
+
+ * external.h: Only use attribute if __GNUC__ is defined.
+
+1999-02-17 Nick Clifton <nickc@cygnus.com>
+
+ Patch submitted by: Scott Bambrough <scottb@corelcomputer.com>
+
+ * external.h: struct Elf_External_Versym must be packed on
+ ARM. Code uses sizeof(Elf_External_Versym) and assumes it is
+ equal to sizeof(char[2]). Reported by Jim Pick <jim@jimpick.com>
+
+1999-02-02 Nick Clifton <nickc@cygnus.com>
+
+ * dwarf2.h (DWARF2_External_ARange): New structure.
+ (DWARF2_Internal_ARange): New structure.
+
+Mon Feb 1 11:33:56 1999 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Renumber relocs to conform to standard.
+ (EF_NEW_ABI): Define.
+ (EF_OLD_ABI): Define.
+ * arm-oabi.h: New file.
+
+1999-01-28 Nick Clifton <nickc@cygnus.com>
+
+ * fr30.h: Add R_FR30_GNU_VT{INHERIT,ENTRY} relocs.
+
+1999-01-27 Nick Clifton <nickc@cygnus.com>
+
+ * dwarf2.h: Add typedefs for structures found in dwarf2 sections.
+
+1998-12-16 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (E_MIPS_MACH_4111): New.
+
+1998-12-15 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64,
+ E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64):
+
+1998-12-03 Nick Clifton <nickc@cygnus.com>
+
+ * fr30.h: Add R_FR30_48 reloc.
+
+1998-12-02 Ulrich Drepper <drepper@cygnus.com>
+
+ * mips.h: Add external data type for conflict section.
+
+ * mips.h: Add more LL_* options from Irix 6.5.
+
+ * mips.h: Add R_MIPS_JALR and adjust R_MIPS_max appropriately.
+
+Mon Nov 30 15:25:58 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h (elf_sh_reloc_type): Add R_SH_FIRST_INVALID_RELOC,
+ R_SH_LAST_INVALID_RELOC, R_SH_SWITCH8 and R_SH_max.
+
+Tue Nov 10 15:12:28 1998 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_CYGNUS_FR30): Reduce to a 16 bit value.
+
+Tue Nov 10 15:17:28 1998 Catherine Moore <clm@cygnus.com>
+
+ * d10v.h: Add vtable relocs.
+
+Wed Nov 4 15:56:50 1998 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_CYGNUS_FR30): New machine number.
+
+ * fr30.h: New file: Definitions for the FR30.
+
+Fri Oct 30 11:54:15 1998 Catherine Moore <clm@cygnus.com>
+
+ From Philip Blundell <pb@nexus.co.uk>:
+ * arm.h (R_ARM_COPY, et al.): New relocs, used by Linux for PIC.
+ (EF_ALIGN8): New flag.
+
+Tue Oct 20 11:19:50 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * common.h (NT_LWPSTATUS): Close comment accidentally left open.
+
+Mon Oct 19 20:24:11 1998 Catherine Moore <clm@cygnus.com>
+
+ * sh.h: Add vtable relocs.
+
+Mon Oct 19 01:44:42 1998 Felix Lee <flee@cygnus.com>
+
+ * common.h (NT_PSTATUS, NT_FPREGS, NT_PSINFO,
+ NT_LWPSTATUS,NT_LWPSINFO): added.
+ * internal.h (Elf_Internal_Note): new structure members.
+
+Fri Oct 16 14:11:25 1998 Catherine Moore <clm@cygnus.com>
+
+ * m32r.h: Add vtable relocs.
+
+Tue Oct 6 09:22:22 1998 Catherine Moore <clm@cygnus.com>
+
+ * sparc.h: Add vtable relocs.
+
+Mon Oct 5 09:39:22 1998 Catherine Moore <clm@cygnus.com>
+
+ * v850.h: Add vtable relocs.
+
+Sun Oct 4 21:17:51 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h (R_386_max): Change from 252 to 24.
+
+Mon Sep 21 12:24:44 1998 Catherine Moore <clm@cygnus.com>
+
+ * i386.h: Change vtable reloc numbers.
+
+Sun Sep 20 00:54:22 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * m68k.h: Add vtable relocs and R_68K_max.
+
+Tue Sep 15 09:56:49 CDT 1998 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Add vtable relocs.
+
+Mon Aug 31 11:25:27 1998 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Define STT_ARM_TFUNC. Remove ST_THUMB_xxxx
+ definitions.
+
+Sat Aug 29 22:25:51 1998 Richard Henderson <rth@cygnus.com>
+
+ * i386.h: Add vtable relocs.
+
+1998-08-25 16:42 Ulrich Drepper <drepper@cygnus.com>
+
+ * common.h: Add SYMINFO_* macros to access Elf*_Syminfo information.
+
+ * external.h: Add Elf_External_Syminfo definition.
+
+ * internal.h: Add Elf_Internal_Syminfo, Elf32_Internal_Syminfo,
+ and Elf64_Syminfo definitions.
+
+Sun Aug 9 20:26:49 CDT 1998 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Add ST_THUMB definitions.
+
+Wed Aug 5 15:52:35 1998 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h: Add ELF header flags to specify compile time optins:
+ EF_INTERWORK: New flag.
+ EF_APCS_26: New flag.
+ EF_APCS_FLOAT: New flag.
+ EF_PIC: New flag.
+
+1998-07-31 21:28 Ulrich Drepper <drepper@cygnus.com>
+
+ * mips.h: Add missing RHF_* constants.
+
+Fri Jul 31 10:01:40 1998 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Add R_ARM_THM_PC9 relocation.
+
+1998-07-30 16:25 Ulrich Drepper <drepper@cygnus.com>
+
+ * common.h: Add new DT_* entries and there flag macros from Solaris.
+
+Tue Jul 28 18:14:07 1998 Stan Cox <scox@equinox.cygnus.com>
+
+ * sparc.h: (R_SPARC_REV32): Added for little endian data e.g. sparc 86x.
+
+Fri Jul 24 11:22:06 1998 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h: Add R_MN10300_24 relocation.
+
+1998-07-24 Ulrich Drepper <drepper@cygnus.com>
+
+ * mips.h: Add MIPS64 relocation names and values.
+
+Wed Jul 22 19:29:00 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Rename relocations.
+
+1998-07-22 Ulrich Drepper <drepper@cygnus.com>
+
+ * ppc.h: Define enum as elf_ppc_reloc_type.
+
+Wed Jul 22 16:22:11 1998 Nick Clifton <nickc@cygnus.com>
+
+ * reloc-macros.h: New file. Provides relocation macros:
+ START_RELOC_NUMBERS, RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC and
+ END_RELOC_NUMBERS used by other elf header files.
+
+ * alpha.h: Use reloc-macros.h.
+ * arc.h: Use reloc-macros.h.
+ * arm.h: Use reloc-macros.h.
+ * d10v.h: Use reloc-macros.h.
+ * d30v.h: Use reloc-macros.h.
+ * hppa.h: Use reloc-macros.h.
+ * i386.h: Use reloc-macros.h.
+ * m32r.h: Use reloc-macros.h.
+ * m68k.h: Use reloc-macros.h.
+ * mips.h: Use reloc-macros.h.
+ * mn10200.h: Use reloc-macros.h.
+ * mn10300.h: Use reloc-macros.h.
+ * ppc.h: Use reloc-macros.h.
+ * sh.h: Use reloc-macros.h.
+ * sparc.h: Use reloc-macros.h.
+ * v850.h: Use reloc-macros.h.
+
+1998-07-22 13:07 Ulrich Drepper <drepper@cygnus.com>
+
+ * mn10300.h: Rewrite relocation definition using macros.
+ * mips.h: Likewise.
+ * ppc.h: Likewise.
+ * alpha.h: Likewise.
+ * arm.h: Likewise.
+ * d10v.h: Likewise.
+ * d30v.h: Likewise.
+ * m32r.h: Likewise.
+ * m68k.h: Likewise.
+ * mn10200.h: Likewise.
+ * sh.h: Likewise.
+ * sparc.h: Likewise.
+
+1998-07-21 13:07 Ulrich Drepper <drepper@cygnus.com>
+
+ * arm.h: New file.
+ * d10v.h: New file.
+ * d30v.h: New file.
+ * i386.h: New file.
+ * m68k.h: New file.
+ * mn10200.h: New file.
+ * sh.h: New file.
+
+ * mips.h: Add R_MIPS_* and SHT_MIPS_* entries.
+
+ * mn10300.h: Add R_MN10300_* entries.
+
+ * ppc.h: Add R_PPC_* entries.
+
+1998-07-20 07:11 Ulrich Drepper <drepper@cygnus.com>
+
+ * mips.h: Add ODK_*, OEX_*, OPAD_*, OHW_*, and OGP_* constants.
+ Define Elf32_External_Lib.
+
+1998-07-19 15:24 Ulrich Drepper <drepper@cygnus.com>
+
+ * mips.h (PT_MIPS_OPTIONS): New symbol.
+ Add lots of DT_MIPS_* symbols.
+
+Fri Jun 26 10:46:35 1998 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h: New file.
+
+Thu Jun 18 19:27:56 1998 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_960, EM_V800, EM_FR20, EM_RH32, EM_MMA,
+ EM_OLD_ALPHA): Add these constants.
+
+Thu Jun 11 17:59:01 1998 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_486, EM_S370): Add these constants.
+
+Tue Jun 9 09:35:29 1998 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_ARM): Add this constant.
+
+Wed May 6 09:45:30 1998 Gavin Koch <gavin@cygnus.com>
+
+ * mips.h (EF_MIPS_MACH,E_MIPS_MACH_*): Added.
+
+Sat Apr 25 18:35:06 1998 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New.
+
+Wed Apr 15 15:42:45 1998 Richard Henderson <rth@cygnus.com>
+
+ * common.h (EM_SPARC64): Move and rename to EM_OLD_SPARCV9.
+ (EM_SPARCV9): New. This is the official ABI name and number.
+
+Sat Feb 28 17:04:41 1998 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (EF_ALPHA_32BIT, EF_ALPHA_CANRELAX): New.
+
+Mon Dec 15 15:07:49 1997 Nick Clifton <nickc@cygnus.com>
+
+ * m32r.h (EF_M32R_ARCH, E_M32R_ARCH): New flags to
+ specify machine architecture.
+
+Fri Dec 5 11:20:08 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h: New constants: SHN_V850_SCOMMON, SHN_V850_TCOMMON,
+ SHN_V850_ZCOMMON, SHT_V850_SCOMMON, SHT_V850_TCOMMON,
+ SHT_V850_ZCOMMON to handle v850 common sections.
+ enum reloc_type renamed to v850_reloc_type to avoid name
+ conflict.
+
+Thu Oct 23 13:55:24 1997 Richard Henderson <rth@cygnus.com>
+
+ * sparc.h (enum elf_sparc_reloc_type): Add UA64 & UA16.
+
+Thu Oct 23 00:42:04 1997 Richard Henderson <rth@dot.cygnus.com>
+
+ * sparc.h (DT_SPARC_REGISTER): New macro.
+ (DT_SPARC_PLTFMT): In support of old sparc64-linux .plts; will
+ go away soon.
+
+Tue Sep 30 13:26:58 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (EF_SPARC_HAL_R1, EF_SPARC_EXT_MASK): New macros.
+ (EF_SPARCV9_{MM,TSO,PSO,RMO}): New macros.
+ (SHN_BEFORE,SHN_AFTER): New macros.
+ (SHF_EXCLUDE,SHF_ORDERED): New macros.
+ (STT_REGISTER): New macro.
+ (R_SPARC_GLOB_JMP): Deleted, but slot reserved.
+ (R_SPARC_{DISP64,PLT64,HIX22,LOX10}): New relocations.
+ (R_SPARC_{H44,M44,L44,REGISTER}): New relocations.
+ (ELF64_R_TYPE_{DATA,ID,INFO}): New macros.
+
+Wed Sep 17 16:41:42 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h: Add R_V850_CALLT_6_7_OFFSET and R_V850_CALLT_16_16_OFFSET.
+
+Tue Sep 16 14:16:17 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (reloc_type): Add R_V850_TDA_16_16_OFFSET.
+
+Wed Sep 3 15:11:14 1997 Richard Henderson <rth@cygnus.com>
+
+ * mips.h: Correct typo in comment.
+
+Wed Sep 3 11:25:57 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (reloc_type): Remove R_V850_16_PCREL.
+
+Tue Sep 2 17:41:05 1997 Nick Clifton <nickc@cygnus.com>
+
+ * common.h: Remove magic number for V850E.
+ * common.h: Remove magic number for V850EA.
+ * v850.h: Add new flags for e_flags field in elf header.
+
+Mon Aug 25 16:06:47 1997 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_CYGNUS_V850E): backend magic number for v850e.
+ * common.h (EM_CYGNUS_V850EA): backend magic number for v850ea.
+
+Mon Aug 18 11:05:23 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (reloc_type): Add 16 bit PC relative relocation.
+
+Fri Aug 15 05:10:09 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * arc.h (enum reloc): Move here from elf32-arc.c.
+
+Fri Aug 8 17:05:29 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * arc.h: New file.
+ * common.h (EM_CYGNUS_ARC): Define.
+
+Mon Jun 16 14:46:12 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (Elf_Internal_Ehdr): Change e_phoff and e_shoff from
+ bfd_signed_vma to bfd_size_type, as they are not signed.
+
+Wed Mar 5 15:35:26 1997 Doug Evans <dje@seba.cygnus.com>
+
+ * m32r.h (SHF_M32R_CAN_RELAX): Define.
+
+Mon Feb 24 17:49:01 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * external.h: Dump the 32/64 bit specific forms of the version
+ structures, and just define them as size independent.
+
+ * common.h (VERSYM_HIDDEN, VERSYM_VERSION): Define.
+
+Fri Feb 21 13:00:34 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * m32r.h (enum reloc_type): Add R_M32R_SDA16.
+ (SHN_M32R_SCOMMON): Define.
+
+Wed Feb 19 15:35:31 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ From Eric Youngdale <eric@andante.jic.com>:
+ * external.h, internal.h, common.h: Added new structures and
+ definitions for ELF versions.
+
+Tue Feb 18 17:40:36 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * common.h (EM_CYGNUS_D30V): Define.
+
+Mon Jan 27 11:54:44 1997 Doug Evans <dje@seba.cygnus.com>
+
+ * m32r.h (enum reloc_type): Add R_M32R_HI16_[SU]LO,R_M32R_LO16.
+
+Fri Jan 3 11:32:51 1997 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * v850.h (V850_OTHER_{TDA_BYTE,ERROR}): New bits for the st_other
+ field.
+ (SHN_V850_*): Remove v850 specific section indexes, which are not
+ needed.
+ (enum reloc_type): Move the v850 relocations here from
+ elf32-v850.c
+
+Thu Jan 2 19:30:23 1997 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * v850.h: New file, provide V850 specific definitions.
+
+Tue Dec 31 14:44:32 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * common.h (DT_AUXILIARY): Define.
+ (DT_FILTER): Define.
+
+Wed Dec 4 05:03:37 1996 Jason Merrill <jason@yorick.cygnus.com>
+
+ * dwarf2.h: Update.
+
+Tue Nov 26 10:44:47 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (STO_MIPS16): Define.
+
+Tue Nov 12 15:45:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h: Remove empty file.
+
+Tue Oct 8 11:31:24 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (EF_MIPS_ABI2): Define.
+
+Thu Oct 3 10:01:40 1996 Jeffrey A Law (law@cygnus.com)
+
+ * common.h: Break mn10x00 support into mn10200 and mn10300.
+
+Wed Oct 2 21:26:43 1996 Jeffrey A Law (law@cygnus.com)
+
+ * common.h (EM_CYGNUS_MN10x00): Define.
+
+Mon Sep 23 09:18:04 1996 Doug Evans <dje@seba.cygnus.com>
+
+ * m32r.h: New file.
+
+Fri Aug 30 17:06:21 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * common.h (EM_SH): Define.
+
+Tue Aug 20 14:47:54 1996 J.T. Conklin <jtc@hippo.cygnus.com>
+
+ * common.h (EM_CYGNUS_V850): Define.
+
+Mon Aug 19 10:59:10 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * common.h (EM_CYGNUS_M32R): Define.
+
+Mon Jul 22 18:59:55 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (SHT_MIPS_IFACE, SHT_MIPS_CONTENT): Define.
+ (SHT_MIPS_SYMBOL_LIB): Define.
+ (SHF_MIPS_MERGE, SHF_MIPS_ADDR32, SHF_MIPS_ADDR64): Define.
+ (SHF_MIPS_NOSTRIP, SHF_MIPS_LOCAL, SHF_MIPS_NAMES): Define.
+
+Thu Jul 18 19:12:15 1996 Stan Shebs <shebs@andros.cygnus.com>
+
+ * dwarf2.h: New file.
+
+Jul 18 13:20:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * common.h (EM_CYGNUS_D10V): Define.
+ * d10v.h: New file.
+
+Fri Jun 21 12:33:24 1996 Richard Henderson <rth@tamu.edu>
+
+ * alpha.h: New file.
+ * common.h (EM_ALPHA): Define.
+
+Fri May 31 17:28:05 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (Elf_External_Options, Elf_Internal_Options): Define.
+ (bfd_mips_elf_swap_options_in): Declare.
+ (bfd_mips_elf_swap_options_out): Declare.
+ (ODK_*): Define.
+ (Elf64_External_RegInfo, Elf64_Internal_RegInfo): Define.
+ (bfd_mips_elf64_swap_reginfo_in): Declare.
+ (bfd_mips_elf64_swap_reginfo_out): Declare.
+
+Thu May 30 12:35:57 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (E_MIPS_ARCH_4): Define.
+
+Wed May 29 15:35:33 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (Elf64_Mips_External_Rel): Define.
+ (Elf64_Mips_Internal_Rel): Define.
+ (Elf64_Mips_External_Rela, Elf64_Mips_Internal_Rela): Define.
+ (RSS_*): Define.
+
+Mon Apr 22 18:26:30 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (R_SPARC_[56]): Always define.
+
+Mon Feb 19 01:55:56 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (R_SPARC_{PLT32,HIPLT22,LOPLT10,PCPLT32,PCPLT22,
+ PCPLT10,5,6}): Don't define ifdef SPARC64_OLD_RELOCS.
+
+Tue Feb 6 11:33:58 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (enum sparc_elf_reloc_type): Define.
+
+Wed Jan 17 09:09:16 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * common.h: Define EM_SPARC32PLUS.
+ * sparc.h: New file.
+
+Thu Jan 11 16:27:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * ppc.h (SHF_EXCLUDE, SHT_ORDERED): New fields from the abi.
+
+Thu Nov 30 16:47:18 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (struct elf_segment_map): Add includes_filehdr and
+ includes_phdrs fields.
+
+Tue Nov 28 16:58:10 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (struct elf_segment_map): Define.
+
+Tue Oct 31 15:19:36 1995 Fred Fish <fnf@cygnus.com>
+
+ * common.h, dwarf.h, external.h, hppa.h, internal.h,
+ mips.h, ppc.h: Protect against multiple inclusions.
+
+Thu Sep 21 13:51:58 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * ppc.h (EF_PPC_RELOCATABLE_LIB): Add new flag bit.
+
+Fri Sep 1 15:32:17 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
+
+ * mips.h: Add some definitions used on Irix 5.
+
+Tue Jun 20 10:18:28 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * hppa.h (CPU_PA_RISC1_0): Protect from redefinitions.
+ (CPU_PA_RISC1_1): Likewise.
+
+Wed Mar 8 18:14:37 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * ppc.h: New file for PowerPC support.
+
+Tue Feb 14 13:59:13 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * common.h (EM_PPC): Use offical value of 20, not 17.
+ (EM_PPC_OLD): Define this to be the old value of EM_PPC.
+
+Tue Jan 24 09:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * common.h (EM_PPC): New macro, PowerPC machine id.
+
+Tue Jan 17 10:51:38 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * mips.h (SHT_MIPS_MSYM, SHT_MIPS_DWARF, SHT_MIPS_EVENTS): Define.
+
+Mon Oct 17 13:43:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * internal.h (Elf_Internal_Shdr): Remove rawdata and size fields.
+ Add bfd_section field.
+
+Tue May 24 16:11:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (Elf32_External_gptab): Define.
+
+Mon May 16 13:22:04 1994 Jeff Law (law@snake.cs.utah.edu)
+
+ * common.h (EM_HPPA): Delete.
+ (EM_PARISC): Add.
+ * hppa.h: New file.
+
+Mon May 9 13:27:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * common.h (SHN_LORESERVE): Rename from SHN_LORESERV.
+ (ELF32_R_TYPE, ELF32_R_INFO): Don't rely on size of unsigned char.
+ (ELF64_R_TYPE): Don't rely on size of unsigned long.
+
+Mon Apr 25 15:53:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * internal.h (Elf_Internal_Shdr): Use PTR, not void *.
+
+Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * mips.h (SHN_MIPS_TEXT, SHN_MIPS_DATA): Define.
+
+Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * internal.h: Remove Elf32_*, Elf64_* typedefs. These names
+ cause conflicts with system headers, e.g. link.h in gdb/solib.c.
+ Combine 32- and 64-bit versions of *_Internal_Dyn.
+ * common.h: Replace uses of Elf64_Word, Elf64_Xword typedefs
+ by their expansion.
+ * mips.h: Replace uses of Elf32_Word, Elf32_Sword, Elf32_Addr
+ typedefs by their expansion. Add DT_MIPS_RLD_MAP definition.
+
+Fri Feb 18 10:39:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * common.h (EM_CYGNUS_POWERPC): Define. This may be temporary,
+ depending upon how quickly I can find a real PowerPC ABI.
+
+Mon Feb 7 08:27:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT.
+
+Wed Feb 2 14:12:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * common.h: Add comments regarding value of EM_HPPA and how to
+ pick an unofficial value.
+
+Wed Nov 17 17:14:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (SHT_MIPS_OPTIONS): Define.
+
+Mon Nov 8 17:57:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h: Added some more MIPS ABI macro definitions.
+
+Wed Nov 3 22:07:17 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
+
+ * common.h (EM_MIPS_RS4_BE): New macro.
+
+Tue Oct 12 07:28:18 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h: New file. MIPS ABI specific information.
+
+Mon Jun 21 13:13:43 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
+
+ * internal.h: Combined 32- and 64-bit versions of all structures
+ except *_Internal_Dyn. This will simply the assembler interface,
+ and some bfd code.
+
+Tue May 25 02:00:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * external.h, internal.h, common.h: Added 64-bit versions of some
+ structures and macros. Renamed old versions to put "32" in the
+ name. Some are unchanged.
+
+Thu Apr 29 12:12:20 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
+
+ * common.h (EM_HPPA, NT_VERSION, STN_UNDEF, DT_*): New macros.
+ * external.h (Elf_External_Dyn): New type.
+
+ * internal.h (Elf_Intenral_Shdr): New field `size'.
+ (Elf_Internal_Dyn): New type.
+
+Tue Apr 20 16:03:45 1993 Fred Fish (fnf@cygnus.com)
+
+ * dwarf.h (LANG_CHILL): Change value to one randomly picked in
+ the user defined range, to reduce probability of collisions.
+
+Sun Nov 15 09:34:02 1992 Fred Fish (fnf@cygnus.com)
+
+ * dwarf.h (AT_src_coords): Whitespace change only.
+ * dwarf.h (AT_body_begin, AT_body_end, LANG_MODULA2):
+ Add from latest gcc.
+ * dwarf.h (LANG_CHILL): Add as GNU extension.
+
+Sat Aug 1 13:46:53 1992 Fred Fish (fnf@cygnus.com)
+
+ * dwarf.h: Replace with current version from gcc distribution.
+
+Fri Jun 19 19:05:09 1992 John Gilmore (gnu at cygnus.com)
+
+ * internal.h: Add real struct tags to all the Type_Defs, so they
+ can be used in prototypes where the Type_Defs are not known.
+
+Fri Apr 3 20:58:58 1992 Mark Eichin (eichin at cygnus.com)
+
+ * common.h: added ELF_R_{SYM,TYPE,INFO} for handling relocation
+ info
+ added EM_MIPS, and corrected value of EM_860 based on System V ABI
+ manual.
+
+ * external.h: added Elf_External_{Rel,Rela}.
+
+ * internal.h: added Elf_Internal_{Rel,Rela}.
+ added rawdata to Elf_Internal_Shdr.
+
+Sat Nov 30 20:43:59 1991 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * common.h, dwarf.h, external.h, internal.h, ChangeLog; moved from
+ ../elf-<foo>
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/include/elf/frv.h b/include/elf/frv.h
index 08def62a329..8246a21bd41 100644
--- a/include/elf/frv.h
+++ b/include/elf/frv.h
@@ -35,6 +35,20 @@ START_RELOC_NUMBERS (elf_frv_reloc_type)
RELOC_NUMBER (R_FRV_GPREL32, 8)
RELOC_NUMBER (R_FRV_GPRELHI, 9)
RELOC_NUMBER (R_FRV_GPRELLO, 10)
+ RELOC_NUMBER (R_FRV_GOT12, 11)
+ RELOC_NUMBER (R_FRV_GOTHI, 12)
+ RELOC_NUMBER (R_FRV_GOTLO, 13)
+ RELOC_NUMBER (R_FRV_FUNCDESC, 14)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOT12, 15)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOTHI, 16)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOTLO, 17)
+ RELOC_NUMBER (R_FRV_FUNCDESC_VALUE, 18)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFF12, 19)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFFHI, 20)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFFLO, 21)
+ RELOC_NUMBER (R_FRV_GOTOFF12, 22)
+ RELOC_NUMBER (R_FRV_GOTOFFHI, 23)
+ RELOC_NUMBER (R_FRV_GOTOFFLO, 24)
RELOC_NUMBER (R_FRV_GNU_VTINHERIT, 200)
RELOC_NUMBER (R_FRV_GNU_VTENTRY, 201)
END_RELOC_NUMBERS(R_FRV_max)
@@ -67,6 +81,7 @@ END_RELOC_NUMBERS(R_FRV_max)
#define EF_FRV_LIBPIC 0x00001000 /* -mlibrary-pic */
#define EF_FRV_G0 0x00002000 /* -G 0, no small data ptr */
#define EF_FRV_NOPACK 0x00004000 /* -mnopack */
+#define EF_FRV_FDPIC 0x00008000 /* -mfdpic */
#define EF_FRV_CPU_MASK 0xff000000 /* specific cpu bits */
#define EF_FRV_CPU_GENERIC 0x00000000 /* generic FRV */
@@ -78,7 +93,8 @@ END_RELOC_NUMBERS(R_FRV_max)
#define EF_FRV_CPU_FR550 0x06000000 /* FRV550 */
/* Mask of PIC related bits */
-#define EF_FRV_PIC_FLAGS (EF_FRV_PIC | EF_FRV_LIBPIC | EF_FRV_BIGPIC)
+#define EF_FRV_PIC_FLAGS (EF_FRV_PIC | EF_FRV_LIBPIC | EF_FRV_BIGPIC \
+ | EF_FRV_FDPIC)
/* Mask of all flags */
#define EF_FRV_ALL_FLAGS (EF_FRV_GPR_MASK | \
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 42cf9a5e4f5..8f0d6d76359 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3102 +1,17 @@
-2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
- Bernardo Innocenti <bernie@develer.com>
+2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
+
+ * h8300.h (BITOP): Pass MEMRELAX flag.
- * m68k.h: Add MCFv4/MCF5528x support.
+2004-01-09 Anil Paranjpe <anilp1@KPITCummins.com>
-2003-10-19 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix.h (JMP_INSN_BYTE): Define.
-
-2003-09-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Document +E, +F, +G, +H, and +I operand types.
- Update documentation of I, +B and +C operand types.
- (INSN_ISA64R2, ISA_MIPS64R2, CPU_MIPS64R2): New defines.
- (M_DEXT, M_DINS): New enum values.
-
-2003-09-04 Nick Clifton <nickc@redhat.com>
-
- * v850.h (PROCESSOR_V850E1): Define.
-
-2003-08-19 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (PPC_OPCODE_440): Define. Formatting. Use hex for other
- PPC_OPCODE_* defines.
-
-2003-08-16 Jason Eckhardt <jle@rice.edu>
-
- * i860.h (fmov.ds): Expand as famov.ds.
- (fmov.sd): Expand as famov.sd.
- (pfmov.ds): Expand as pfamov.ds.
-
-2003-08-07 Michael Meissner <gnu@the-meissners.org>
-
- * cgen.h: Remove PARAM macro usage in all prototypes.
- (CGEN_EXTRACT_INFO): Use void * instead of PTR.
- (cgen_print_fn): Ditto.
- (CGEN_HW_ENTRY): Ditto.
- (CGEN_MAYBE_MULTI_IFLD): Ditto.
- (struct cgen_insn): Ditto.
- (CGEN_CPU_TABLE): Ditto.
-
-2003-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * alpha.h: Remove PARAMS macro.
- * arc.h: Likewise.
- * d10v.h: Likewise.
- * d30v.h: Likewise.
- * i370.h: Likewise.
- * or32.h: Likewise.
- * pj.h: Likewise.
- * ppc.h: Likewise.
- * sparc.h: Likewise.
- * tic80.h: Likewise.
- * v850.h: Likewise.
-
-2003-07-18 Michael Snyder <msnyder@redhat.com>
-
- * include/opcode/h8sx.h (DO_MOVA1, DO_MOVA2): Reformatting.
-
-2003-07-15 Richard Sandiford <rsandifo@redhat.com>
-
- * mips.h (CPU_RM7000): New macro.
- (OPCODE_IS_MEMBER): Match CPU_RM7000 against 4650 insns.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
- * mn10300.h (AM33_2): Renamed from AM33.
- 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
- * mn10300.h (AM332, FMT_D3): Defined.
- (MN10300_OPERAND_FSREG, MN10300_OPERAND_FDREG): Likewise.
- (MN10300_OPERAND_FPCR): Likewise.
-
-2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h (s390_opcode_cpu_val): Add enum for cpu type z990.
-
-2003-06-25 Richard Sandiford <rsandifo@redhat.com>
-
- * h8300.h (IMM2_NS, IMM8_NS, IMM16_NS): Remove.
- (IMM8U, IMM8U_NS): Define.
- (h8_opcodes): Use IMM8U_NS for mov.[wl] #xx:8,@yy.
-
-2003-06-25 Richard Sandiford <rsandifo@redhat.com>
-
- * h8300.h (h8_opcodes): Fix the mov.l @(dd:32,ERs),ERd and
- mov.l ERs,@(dd:32,ERd) entries.
-
-2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
-
- * i386.h (i386_optab): Support Intel Precott New Instructions.
-
-2003-06-10 Gary Hade <garyhade@us.ibm.com>
-
- * ppc.h (PPC_OPERAND_DQ): Define.
-
-2003-06-10 Richard Sandiford <rsandifo@redhat.com>
-
- * h8300.h (IMM4_NS, IMM8_NS): New.
- (h8_opcodes): Replace IMM4 with IMM4_NS in mov.b and mov.w entries.
- Likewise IMM8 for mov.w and mov.l. Likewise IMM16U for mov.l.
-
-2003-06-03 Michael Snyder <msnyder@redhat.com>
-
- * h8300.h (enum h8_model): Add AV_H8S to distinguish from H8H.
- (ldc): Split ccr ops from exr ops (which are only available
- on H8S or H8SX).
- (stc): Ditto.
- (andc, orc, xorc): Ditto.
- (ldmac, stmac, clrmac, mac): Change access to AV_H8S.
-
-2003-06-03 Michael Snyder <msnyder@redhat.com>
- and Bernd Schmidt <bernds@redhat.com>
- and Alexandre Oliva <aoliva@redhat.com>
- * h8300.h: Add support for h8300sx instruction set.
-
-2003-05-23 Jason Eckhardt <jle@rice.edu>
-
- * i860.h (expand_type): Add XP_ONLY.
- (scyc.b): New XP instruction.
- (ldio.l): Likewise.
- (ldio.s): Likewise.
- (ldio.b): Likewise.
- (ldint.l): Likewise.
- (ldint.s): Likewise.
- (ldint.b): Likewise.
- (stio.l): Likewise.
- (stio.s): Likewise.
- (stio.b): Likewise.
- (pfld.q): Likewise.
-
-2003-05-20 Jason Eckhardt <jle@rice.edu>
-
- * i860.h (flush): Set lower 3 bits properly and use 'L'
- for the immediate operand type instead of 'i'.
-
-2003-05-20 Jason Eckhardt <jle@rice.edu>
-
- * i860.h (fzchks): Both S and R bits must be set.
- (pfzchks): Likewise.
- (faddp): Likewise.
- (pfaddp): Likewise.
- (fix.ss): Remove (invalid instruction).
- (pfix.ss): Likewise.
- (ftrunc.ss): Likewise.
- (pftrunc.ss): Likewise.
-
-2003-05-18 Jason Eckhardt <jle@rice.edu>
-
- * i860.h (form, pform): Add missing .dd suffix.
-
-2003-05-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000
-
-2003-04-07 Michael Snyder <msnyder@redhat.com>
-
- * h8300.h (ldc/stc): Fix up src/dst swaps.
-
-2003-04-09 J. Grant <jg-binutils@jguk.org>
-
- * mips.h: Correct comment typo.
-
-2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h (s390_opcode_arch_val): Rename to s390_opcode_mode_val.
- (S390_OPCODE_ESAME): Rename to S390_OPCODE_ZARCH.
- (s390_opcode): Remove architecture. Add modes and min_cpu.
-
-2003-03-17 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
-
- * h8300.h (O_SYS_CMDLINE): New pseudo opcode for command line
- processing.
-
-2003-02-21 Noida D.Venkatasubramanian <dvenkat@noida.hcltech.com>
-
- * h8300.h (ldmac, stmac): Replace MACREG with MS32 and MD32.
-
-2003-01-23 Alan Modra <amodra@bigpond.net.au>
-
- * m68hc11.h (cpu6812s): Define.
-
-2003-01-07 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Fix missing space in comment.
- (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, INSN_ISA5)
- (INSN_ISA32, INSN_ISA32R2, INSN_ISA64): Shift values right
- by four bits.
-
-2003-01-02 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Update copyright years to include 2002 (which had
- been missed previously) and 2003. Make comments about "+A",
- "+B", and "+C" operand types more descriptive.
-
-2002-12-31 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Note that the "+D" operand type name is now used.
-
-2002-12-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Document "+" as the start of two-character operand
- type names, and add new "K", "+A", "+B", and "+C" operand types.
- (OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB)
- (OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New
- defines.
-
-2002-12-24 Dmitry Diky <diwil@mail.ru>
-
- * msp430.h: New file. Defines msp430 opcodes.
-
-2002-12-30 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
-
- * h8300.h: Added some more pseudo opcodes for system call
- processing.
-
-2002-12-19 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (OP_OP_COP0, OP_OP_COP1, OP_OP_COP2, OP_OP_COP3)
- (OP_OP_LWC1, OP_OP_LWC2, OP_OP_LWC3, OP_OP_LDC1, OP_OP_LDC2)
- (OP_OP_LDC3, OP_OP_SWC1, OP_OP_SWC2, OP_OP_SWC3, OP_OP_SDC1)
- (OP_OP_SDC2, OP_OP_SDC3): Define.
-
-2002-12-16 Alan Modra <amodra@bigpond.net.au>
-
- * hppa.h (completer_chars): #if 0 out.
-
- * ns32k.h (struct ns32k_opcode): Constify "name", "operands" and
- "default_args".
- (struct not_wot): Constify "args".
- (struct not): Constify "name".
- (numopcodes): Delete.
- (endop): Delete.
-
-2002-12-13 Alan Modra <amodra@bigpond.net.au>
-
- * pj.h (pj_opc_info_t): Add union.
-
-2002-12-04 David Mosberger <davidm@hpl.hp.com>
-
- * ia64.h: Fix copyright message.
- (IA64_OPND_AR_CSD): New operand kind.
-
-2002-12-03 Richard Henderson <rth@redhat.com>
-
- * ia64.h (enum ia64_opnd): Add IA64_OPND_LDXMOV.
-
-2002-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * cgen.h (struct cgen_maybe_multi_ifield): Add "const PTR p" to union.
- Constify "leaf" and "multi".
-
-2002-11-19 Klee Dienes <kdienes@apple.com>
-
- * h8300.h (h8_opcode): Remove 'noperands', 'idx', and 'size'
- fields.
- (h8_opcodes). Modify initializer and initializer macros to no
- longer initialize the removed fields.
-
-2002-11-19 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x.h (c4x_insts): Fixed LDHI constraint
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * h8300.h (h8_opcode): Remove 'length' field.
- (h8_opcodes): Mark as 'const' (both the declaration and
- definition). Modify initializer and initializer macros to no
- longer initialize the length field.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * arc.h (arc_ext_opcodes): Declare as extern.
- (arc_ext_operands): Declare as extern.
- * i860.h (i860_opcodes): Declare as const.
-
-2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x.h: File reordering. Added enhanced opcodes.
-
-2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x.h: Major rewrite of entire file. Define instruction
- classes, and put each instruction into a class.
-
-2002-11-11 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x.h: Added new opcodes and corrected some bugs. Add support
- for new DSP types.
-
-2002-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * cgen.h: Test __BFD_H_SEEN__ rather than BFD_VERSION_DATE.
-
-2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
- Ken Raeburn <raeburn@cygnus.com>
- Aldy Hernandez <aldyh@redhat.com>
- Eric Christopher <echristo@redhat.com>
- Richard Sandiford <rsandifo@redhat.com>
-
- * mips.h: Update comment for new opcodes.
- (OP_MASK_VECBYTE, OP_SH_VECBYTE): New.
- (OP_MASK_VECALIGN, OP_SH_VECALIGN): New.
- (INSN_4111, INSN_4120, INSN_5400, INSN_5500): New.
- (CPU_VR4120, CPU_VR5400, CPU_VR5500): New.
- (OPCODE_IS_MEMBER): Handle the new CPU_* values and INSN_* flags.
- Don't match CPU_R4111 with INSN_4100.
-
-2002-08-19 Elena Zannoni <ezannoni@redhat.com>
-
- From matthew green <mrg@redhat.com>
-
- * ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500
- instructions.
- (PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR,
- PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the
- e500x2 Integer select, branch locking, performance monitor,
- cache locking and machine check APUs, respectively.
- (PPC_OPCODE_EFS): New opcode type for efs* instructions.
- (PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11.h (M6812_OP_PAGE): Define to identify call operand.
- (M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE,
- M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12
- memory banks.
- (M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value.
-
-2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips.h (INSN_MIPS16): New define.
-
-2002-07-08 Alan Modra <amodra@bigpond.net.au>
-
- * i386.h: Remove IgnoreSize from movsx and movzx.
-
-2002-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * a29k.h: Replace CONST with const.
- (CONST): Don't define.
- * convex.h: Replace CONST with const.
- (CONST): Don't define.
- * dlx.h: Replace CONST with const.
- * or32.h (CONST): Don't define.
-
-2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL)
- (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH)
- (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC)
- (INSN_MDMX): New constants, for MDMX support.
- (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX.
-
-2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
-
- * dlx.h: New file.
-
-2002-05-25 Alan Modra <amodra@bigpond.net.au>
-
- * ia64.h: Use #include "" instead of <> for local header files.
- * sparc.h: Likewise.
-
-2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases.
-
-2002-05-17 Andrey Volkov <avolkov@sources.redhat.com>
-
- * h8300.h: Corrected defs of all control regs
- and eepmov instr.
-
-2002-04-11 Alan Modra <amodra@bigpond.net.au>
-
- * i386.h: Add intel mode cmpsd and movsd.
- Put them before SSE2 insns, so that rep prefix works.
-
-2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D
- instructions.
- (OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks
- may be passed along with the ISA bitmask.
-
-2002-03-05 Paul Koning <pkoning@equallogic.com>
-
- * pdp11.h: Add format codes for float instruction formats.
-
-2002-02-25 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define.
-
-Mon Feb 18 17:31:48 CET 2002 Jan Hubicka <jh@suse.cz>
-
- * i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands.
-
-Mon Feb 11 12:53:19 CET 2002 Jan Hubicka <jh@suse.cz>
-
- * i386.h (push,pop): Allow 16bit operands in 64bit mode.
- (xchg): Fix.
- (in, out): Disable 64bit operands.
- (call, jmp): Avoid REX prefixes.
- (jcxz): Prohibit in 64bit mode
- (jrcxz, loop): Add 64bit variants.
- (movq): Fix patterns.
- (movmskps, pextrw, pinstrw): Add 64bit variants.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * or32.h: New file.
-
-2002-01-22 Graydon Hoare <graydon@redhat.com>
-
- * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure.
- (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field.
-
-2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
-
- * h8300.h: Comment typo fix.
-
-2002-01-03 matthew green <mrg@redhat.com>
-
- * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific.
- (PPC_OPCODE_BOOKE64): Likewise.
-
-Mon Dec 31 16:45:41 2001 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (call, ret): Move to end of table.
- (addb, addib): PA2.0 variants should have been PA2.0W.
- (ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler
- happy.
- (fldw, fldd, fstw, fstd, bb): Likewise.
- (short loads/stores): Tweak format specifier slightly to keep
- disassembler happy.
- (indexed loads/stores): Likewise.
- (absolute loads/stores): Likewise.
-
-2001-12-04 Alexandre Oliva <aoliva@redhat.com>
-
- * d10v.h (OPERAND_NOSP): New macro.
-
-2001-11-29 Alexandre Oliva <aoliva@redhat.com>
-
- * d10v.h (OPERAND_SP): New macro.
-
-2001-11-15 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param.
-
-2001-11-11 Timothy Wall <twall@alum.mit.edu>
-
- * tic54x.h: Revise opcode layout; don't really need a separate
- structure for parallel opcodes.
-
-2001-11-13 Zack Weinberg <zack@codesourcery.com>
- Alan Modra <amodra@bigpond.net.au>
-
- * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to
- accept WordReg.
-
-2001-11-04 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (OPCODE_IS_MEMBER): Remove extra space.
-
-2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix.h: New file.
-
-2001-10-18 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (OPCODE_IS_MEMBER): Add a no-op term to the end
- of the expression, to make source code merging easier.
-
-2001-10-17 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Sort coprocessor instruction argument characters
- in comment, add a few more words of description for "H".
-
-2001-10-17 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (INSN_SB1): New cpu-specific instruction bit.
- (OPCODE_IS_MEMBER): Allow instructions matching INSN_SB1
- if cpu is CPU_SB1.
-
-2001-10-17 matthew green <mrg@redhat.com>
-
- * ppc.h (PPC_OPCODE_BOOKE64): Fix typo.
-
-2001-10-12 matthew green <mrg@redhat.com>
-
- * ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_BOOKE64, PPC_OPCODE_403): New
- opcode flags for BookE 32-bit, BookE 64-bit and PowerPC 403
- instructions, respectively.
-
-2001-09-27 Nick Clifton <nickc@cambridge.redhat.com>
-
- * v850.h: Remove spurious comment.
-
-2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
-
- * h8300.h: Fix compile time warning messages
-
-2001-09-04 Richard Henderson <rth@redhat.com>
-
- * alpha.h (struct alpha_operand): Pack elements into bitfields.
-
-2001-08-31 Eric Christopher <echristo@redhat.com>
-
- * mips.h: Remove CPU_MIPS32_4K.
-
-2001-08-27 Torbjorn Granlund <tege@swox.com>
-
- * ppc.h (PPC_OPERAND_DS): Define.
-
-2001-08-25 Andreas Jaeger <aj@suse.de>
-
- * d30v.h: Fix declaration of reg_name_cnt.
-
- * d10v.h: Fix declaration of d10v_reg_name_cnt.
-
- * arc.h: Add prototypes from opcodes/arc-opc.c.
-
-2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips.h (INSN_10000): Define.
- (OPCODE_IS_MEMBER): Check for INSN_10000.
-
-2001-08-10 Alan Modra <amodra@one.net.au>
-
- * ppc.h: Revert 2001-08-08.
-
-2001-08-10 Richard Sandiford <rsandifo@redhat.com>
-
- * mips.h (INSN_GP32): Remove.
- (OPCODE_IS_MEMBER): Remove gp32 parameter.
- (M_MOVE): New macro identifier.
-
-2001-08-08 Alan Modra <amodra@one.net.au>
-
- 1999-10-25 Torbjorn Granlund <tege@swox.com>
- * ppc.h (struct powerpc_operand): New field `reloc'.
-
-2001-08-01 Aldy Hernandez <aldyh@redhat.com>
-
- * mips.h (INSN_ISA_MASK): Nuke bits 12-15.
-
-2001-07-12 Jeff Johnston <jjohnstn@redhat.com>
-
- * cgen.h (CGEN_INSN): Add regex support.
- (build_insn_regex): Declare.
-
-2001-07-11 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field.
- (cgen_cpu_desc): Ditto.
-
-2001-07-07 Ben Elliston <bje@redhat.com>
-
- * m88k.h: Clean up and reformat. Remove unused code.
-
-2001-06-14 Geoffrey Keating <geoffk@redhat.com>
-
- * cgen.h (cgen_keyword): Add nonalpha_chars field.
-
-2001-05-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips.h (CPU_R12000): Define.
-
-2001-05-23 John Healy <jhealy@redhat.com>
-
- * cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48.
-
-2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips.h (INSN_ISA_MASK): Define.
-
-2001-05-12 Alan Modra <amodra@one.net.au>
-
- * i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg,
- not an mmx reg. Swap xmm/mmx regs on both movdq2q and movq2dq,
- and use InvMem as these insns must have register operands.
-
-2001-05-04 Alan Modra <amodra@one.net.au>
-
- * i386.h (i386_optab): Move InvMem to first operand of pmovmskb
- and pextrw to swap reg/rm assignments.
-
-2001-04-05 Hans-Peter Nilsson <hp@axis.com>
-
- * cris.h (enum cris_insn_version_usage): Correct comment for
- cris_ver_v3p.
-
-2001-03-24 Alan Modra <alan@linuxcare.com.au>
-
- * i386.h (i386_optab): Correct entry for "movntdq". Add "punpcklqdq".
- Add InvMem to first operand of "maskmovdqu".
-
-2001-03-22 Hans-Peter Nilsson <hp@axis.com>
-
- * cris.h (ADD_PC_INCR_OPCODE): New macro.
-
-2001-03-21 Kazu Hirata <kazu@hxi.com>
-
- * h8300.h: Fix formatting.
-
-2001-03-22 Alan Modra <alan@linuxcare.com.au>
-
- * i386.h (i386_optab): Add paddq, psubq.
-
-2001-03-19 Alan Modra <alan@linuxcare.com.au>
-
- * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define.
-
-2001-02-28 Igor Shevlyakov <igor@windriver.com>
-
- * m68k.h: new defines for Coldfire V4. Update mcf to know
- about mcf5407.
-
-2001-02-18 lars brinkhoff <lars@nocrew.org>
-
- * pdp11.h: New file.
-
-2001-02-12 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): SSE integer converison instructions have
- 64bit versions on x86-64.
-
-2001-02-10 Nick Clifton <nickc@redhat.com>
-
- * mips.h: Remove extraneous whitespace. Formating change to allow
- for future contribution.
-
-2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h: New file.
-
-2001-02-02 Patrick Macdonald <patrickm@redhat.com>
-
- * cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short.
- (CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES.
- (CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS.
-
-2001-01-24 Karsten Keil <kkeil@suse.de>
-
- * i386.h (i386_optab): Fix swapgs
-
-2001-01-14 Alan Modra <alan@linuxcare.com.au>
-
- * hppa.h: Describe new '<' and '>' operand types, and tidy
- existing comments.
- (pa_opcodes): Add entries for missing wide mode ldi,ldo,ldw,stw.
- Remove duplicate "ldw j(s,b),x". Sort some entries.
-
-2001-01-13 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): Fix pusha and ret templates.
-
-2001-01-11 Peter Targett <peter.targett@arccores.com>
-
- * arc.h (ARC_MACH_5, ARC_MACH_6, ARC_MACH_7, ARC_MACH_8): New
- definitions for masking cpu type.
- (arc_ext_operand_value) New structure for storing extended
- operands.
- (ARC_OPERAND_*) Flags for operand values.
-
-2001-01-10 Jan Hubicka <jh@suse.cz>
-
- * i386.h (pinsrw): Add.
- (pshufw): Remove.
- (cvttpd2dq): Fix operands.
- (cvttps2dq): Likewise.
- (movq2q): Rename to movdq2q.
-
-2001-01-10 Richard Schaal <richard.schaal@intel.com>
-
- * i386.h: Correct movnti instruction.
-
-2001-01-09 Jeff Johnston <jjohnstn@redhat.com>
-
- * cgen.h (CGEN_SYNTAX_CHAR_TYPE): New typedef based on max number
- of operands (unsigned char or unsigned short).
- (CGEN_SYNTAX): Changed to make array CGEN_SYNTAX_CHAR_TYPE.
- (CGEN_SYNTAX_CHAR): Changed to cast to unsigned char.
-
-2001-01-05 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): Make [sml]fence template to use immext field.
-
-2001-01-03 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): Fix 64bit pushf template; Add instructions
- introduced by Pentium4
-
-2000-12-30 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): Add "rex*" instructions;
- add swapgs; disable jmp/call far direct instructions for
- 64bit mode; add syscall and sysret; disable registers for 0xc6
- template. Add 'q' suffixes to extendable instructions, disable
- obsolete instructions, add new sign/zero extension ones.
- (i386_regtab): Add extended registers.
- (*Suf): Add No_qSuf.
- (q_Suf, wlq_Suf, bwlq_Suf): New.
-
-2000-12-20 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): Replace "Imm" with "EncImm".
- (i386_regtab): Add flags field.
-
-2000-12-12 Nick Clifton <nickc@redhat.com>
-
- * mips.h: Fix formatting.
-
-2000-12-01 Chris Demetriou <cgd@sibyte.com>
-
- mips.h (OP_MASK_SYSCALL, OP_SH_SYSCALL): Delete.
- (OP_MASK_CODE20, OP_SH_CODE20): Define, with values of old
- OP_*_SYSCALL definitions.
- (OP_SH_CODE19, OP_MASK_CODE19): Define, for use as
- 19 bit wait codes.
- (MIPS operand specifier comments): Remove 'm', add 'U' and
- 'J', and update the meaning of 'B' so that it's more general.
-
- * mips.h (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4,
- INSN_ISA5): Renumber, redefine to mean the ISA at which the
- instruction was added.
- (INSN_ISA32): New constant.
- (INSN_4650, INSN_4010, INSN_4100, INSN_3900, INSN_GP32):
- Renumber to avoid new and/or renumbered INSN_* constants.
- (INSN_MIPS32): Delete.
- (ISA_UNKNOWN): New constant to indicate unknown ISA.
- (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, ISA_MIPS5,
- ISA_MIPS32): New constants, defined to be the mask of INSN_*
- constants available at that ISA level.
- (CPU_UNKNOWN): New constant to indicate unknown CPU.
- (CPU_4K, CPU_MIPS32_4K): Rename the former to the latter,
- define it with a unique value.
- (OPCODE_IS_MEMBER): Update for new ISA membership-related
- constant meanings.
-
- * mips.h (INSN_ISA64, ISA_MIPS5, ISA_MIPS64): New
- definitions.
-
- * mips.h (CPU_SB1): New constant.
-
-2000-10-20 Jakub Jelinek <jakub@redhat.com>
-
- * sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B.
- Note that '3' is used for siam operand.
-
-2000-09-22 Jim Wilson <wilson@cygnus.com>
-
- * ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
-
-2000-09-13 Anders Norlander <anorland@acc.umu.se>
-
- * mips.h: Use defines instead of hard-coded processor numbers.
- (CPU_R2000, CPU_R3000, CPU_R3900, CPU_R4000, CPU_R4010,
- CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650,
- CPU_R5000, CPU_R6000, CPU_R8000, CPU_R10000, CPU_MIPS32, CPU_4K,
- CPU_4KC, CPU_4KM, CPU_4KP): Define..
- (OPCODE_IS_MEMBER): Use new defines.
- (OP_MASK_SEL, OP_SH_SEL): Define.
- (OP_MASK_CODE20, OP_SH_CODE20): Define.
- Add 'P' to used characters.
- Use 'H' for coprocessor select field.
- Use 'm' for 20 bit breakpoint code.
- Document new arg characters and add to used characters.
- (INSN_MIPS32): New define for MIPS32 extensions.
- (OPCODE_IS_MEMBER): Recognize MIPS32 instructions.
-
-2000-09-05 Alan Modra <alan@linuxcare.com.au>
-
- * hppa.h: Mention cz completer.
-
-2000-08-16 Jim Wilson <wilson@cygnus.com>
-
- * ia64.h (IA64_OPCODE_POSTINC): New.
-
-2000-08-15 H.J. Lu <hjl@gnu.org>
-
- * i386.h: Swap the Intel syntax "movsx"/"movzx" due to the
- IgnoreSize change.
-
-2000-08-08 Jason Eckhardt <jle@cygnus.com>
-
- * i860.h: Small formatting adjustments.
-
-2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl>
-
- * avr.h (AVR_UNDEF_P, AVR_SKIP_P, AVR_DISP0_P): New macros.
- Move related opcodes closer to each other.
- Minor changes in comments, list undefined opcodes.
-
-2000-07-26 Dave Brolley <brolley@redhat.com>
-
- * cgen.h (cgen_hw_lookup_by_num): Second parameter is unsigned.
-
-2000-07-22 Jason Eckhardt <jle@cygnus.com>
-
- * i860.h (btne, bte, bla): Changed these opcodes
- to use sbroff ('r') instead of split16 ('s').
- (J, K, L, M): New operand types for 16-bit aligned fields.
- (ld.x, {p}fld.x, fst.x, pst.d): Changed these opcodes to
- use I, J, K, L, M instead of just I.
- (T, U): New operand types for split 16-bit aligned fields.
- (st.x): Changed these opcodes to use S, T, U instead of just S.
- (andh, andnoth, orh, xorh): Deleted 3-register forms as they do not
- exist on the i860.
- (pfgt.sd, pfle.sd): Deleted these as they do not exist on the i860.
- (pfeq.ss, pfeq.dd): New opcodes.
- (st.s): Fixed incorrect mask bits.
- (fmlow): Fixed incorrect mask bits.
- (fzchkl, pfzchkl): Fixed incorrect mask bits.
- (faddz, pfaddz): Fixed incorrect mask bits.
- (form, pform): Fixed incorrect mask bits.
- (pfld.l): Fixed incorrect mask bits.
- (fst.q): Fixed incorrect mask bits.
- (all floating point opcodes): Fixed incorrect mask bits for
- handling of dual bit.
-
-2000-07-20 Hans-Peter Nilsson <hp@axis.com>
-
- cris.h: New file.
-
-2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
-
- * avr.h (AVR_ISA_WRAP): Remove, now assumed if not AVR_ISA_MEGA.
- (AVR_ISA_ESPM): Remove, because ESPM removed in databook update.
- (AVR_ISA_85xx): Remove, all uses changed back to AVR_ISA_2xxx.
- (AVR_ISA_M83): Define for ATmega83, ATmega85.
- (espm): Remove, because ESPM removed in databook update.
- (eicall, eijmp): Move to the end of opcode table.
-
-2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
-
- * m68hc11.h: New file for support of Motorola 68hc11.
-
-Fri Jun 9 21:51:50 2000 Denis Chertykov <denisc@overta.ru>
-
- * avr.h: clr,lsl,rol, ... moved after add,adc, ...
-
-Wed Jun 7 21:39:54 2000 Denis Chertykov <denisc@overta.ru>
-
- * avr.h: New file with AVR opcodes.
-
-Wed Apr 12 17:11:20 2000 Donald Lindsay <dlindsay@hound.cygnus.com>
-
- * d10v.h: added ALONE attribute for d10v_opcode.exec_type.
-
-2000-05-23 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * i386.h: Allow d suffix on iret, and add DefaultSize modifier.
-
-2000-05-17 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * i386.h: Use sl_FP, not sl_Suf for fild.
-
-2000-05-16 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32. Check that
- it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set.
- (CGEN_MAX_IFMT_OPERANDS): Increase to 16. Check that it exceeds
- CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set.
-
-2000-05-13 Alan Modra <alan@linuxcare.com.au>,
-
- * i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore.
-
-2000-05-13 Alan Modra <alan@linuxcare.com.au>,
- Alexander Sokolov <robocop@netlink.ru>
-
- * i386.h (i386_optab): Add cpu_flags for all instructions.
-
-2000-05-13 Alan Modra <alan@linuxcare.com.au>
-
- From Gavin Romig-Koch <gavin@cygnus.com>
- * i386.h (wld_Suf): Define. Use on pushf, popf, pusha, popa.
-
-2000-05-04 Timothy Wall <twall@cygnus.com>
-
- * tic54x.h: New.
-
-2000-05-03 J.T. Conklin <jtc@redback.com>
-
- * ppc.h (PPC_OPCODE_ALTIVEC): New opcode flag for vector unit.
- (PPC_OPERAND_VR): New operand flag for vector registers.
-
-2000-05-01 Kazu Hirata <kazu@hxi.com>
-
- * h8300.h (EOP): Add missing initializer.
-
-Fri Apr 21 15:03:37 2000 Jason Eckhardt <jle@cygnus.com>
-
- * hppa.h (pa_opcodes): New opcodes for PA2.0 wide mode
- forms of ld/st{b,h,w,d} and fld/fst{w,d} (16-bit displacements).
- New operand types l,y,&,fe,fE,fx added to support above forms.
- (pa_opcodes): Replaced usage of 'x' as source/target for
- floating point double-word loads/stores with 'fx'.
-
-Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
- David Mosberger <davidm@hpl.hp.com>
- Timothy Wall <twall@cygnus.com>
- Jim Wilson <wilson@cygnus.com>
-
- * ia64.h: New file.
-
-2000-03-27 Nick Clifton <nickc@cygnus.com>
-
- * d30v.h (SHORT_A1): Fix value.
- (SHORT_AR): Renumber so that it is at the end of the list of short
- instructions, not the end of the list of long instructions.
-
-2000-03-26 Alan Modra <alan@linuxcare.com>
-
- * i386.h: (UNIXWARE_COMPAT): Rename to SYSV386_COMPAT as the
- problem isn't really specific to Unixware.
- (OLDGCC_COMPAT): Define.
- (i386_optab): If !OLDGCC_COMPAT, don't handle fsubp etc. with
- destination %st(0).
- Fix lots of comments.
-
-2000-03-02 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * d30v.h:
- (SHORT_B2r, SHORT_B3, SHORT_B3r, SHORT_B3b, SHORT_B3br): Updated.
- (SHORT_D1r, SHORT_D2, SHORT_D2r, SHORT_D2Br, SHORT_U): Updated.
- (SHORT_F, SHORT_AF, SHORT_T, SHORT_A5, SHORT_CMP, SHORT_CMPU): Updated.
- (SHORT_A1, SHORT_AA, SHORT_RA, SHORT_MODINC, SHORT_MODDEC): Updated.
- (SHORT_C1, SHORT_C2, SHORT_UF, SHORT_A2, SHORT_NONE, LONG): Updated.
- (LONG_U, LONG_Ur, LONG_CMP, LONG_M, LONG_M2, LONG_2, LONG_2r): Updated.
- (LONG_2b, LONG_2br, LONG_D, LONG_Dr, LONG_Dbr): Updated.
-
-2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (fild, fistp): Change intel d_Suf form to fildd and
- fistpd without suffix.
-
-2000-02-24 Nick Clifton <nickc@cygnus.com>
-
- * cgen.h (cgen_cpu_desc): Rename field 'flags' to
- 'signed_overflow_ok_p'.
- Delete prototypes for cgen_set_flags() and cgen_get_flags().
-
-2000-02-24 Andrew Haley <aph@cygnus.com>
-
- * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
- (CGEN_CPU_TABLE): flags: new field.
- Add prototypes for new functions.
-
-2000-02-24 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Add some more UNIXWARE_COMPAT comments.
-
-2000-02-23 Linas Vepstas <linas@linas.org>
-
- * i370.h: New file.
-
-2000-02-22 Chandra Chavva <cchavva@cygnus.com>
-
- * d30v.h (FLAG_NOT_WITH_ADDSUBppp): Redefined as operation
- cannot be combined in parallel with ADD/SUBppp.
-
-2000-02-22 Andrew Haley <aph@cygnus.com>
-
- * mips.h: (OPCODE_IS_MEMBER): Add comment.
-
-1999-12-30 Andrew Haley <aph@cygnus.com>
-
- * mips.h (OPCODE_IS_MEMBER): Add gp32 arg, which determines
- whether synthetic opcodes (e.g. move) generate 32-bit or 64-bit
- insns.
-
-2000-01-15 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Qualify intel mode far call and jmp with x_Suf.
-
-1999-12-27 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Add JumpAbsolute qualifier to all non-intel mode
- indirect jumps and calls. Add FF/3 call for intel mode.
-
-Wed Dec 1 03:05:25 1999 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h: Add new operand types. Add new instruction formats.
-
-Wed Nov 24 20:28:58 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Correctly handle immediate for PA2.0 "bb"
- instruction.
-
-1999-11-18 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (INSN_ISA5): New.
-
-1999-11-01 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (OPCODE_IS_MEMBER): New.
-
-1999-10-29 Nick Clifton <nickc@cygnus.com>
-
- * d30v.h (SHORT_AR): Define.
-
-1999-10-18 Michael Meissner <meissner@cygnus.com>
-
- * alpha.h (alpha_num_opcodes): Convert to unsigned.
- (alpha_num_operands): Ditto.
-
-Sun Oct 10 01:46:56 1999 Jerry Quinn <jerry.quinn.adv91@alum.dartmouth.org>
-
- * hppa.h (pa_opcodes): Add load and store cache control to
- instructions. Add ordered access load and store.
-
- * hppa.h (pa_opcode): Add new entries for addb and addib.
-
- * hppa.h (pa_opcodes): Fix cmpb and cmpib entries.
-
- * hppa.h (pa_opcodes): Add entries for cmpb and cmpib.
-
-Thu Oct 7 00:12:25 MDT 1999 Diego Novillo <dnovillo@cygnus.com>
-
- * d10v.h: Add flag RESTRICTED_NUM3 for imm3 operands.
-
-Thu Sep 23 07:08:38 1999 Jerry Quinn <jquinn@nortelnetworks.com>
-
- * hppa.h (pa_opcodes): Add "call" and "ret". Clean up "b", "bve"
- and "be" using completer prefixes.
-
- * hppa.h (pa_opcodes): Add initializers to silence compiler.
-
- * hppa.h: Update comments about character usage.
-
-Mon Sep 20 03:55:31 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Fix minor thinkos introduced while cleaning
- up the new fstw & bve instructions.
-
-Sun Sep 19 10:40:59 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Add remaining PA2.0 integer load/store
- instructions.
-
- * hppa.h (pa_opcodes): Add remaining PA2.0 FP load/store instructions.
-
- * hppa.h (pa_opcodes): Add long offset double word load/store
- instructions.
-
- * hppa.h (pa_opcodes): Add FLAG_STRICT variants of FP loads and
- stores.
-
- * hppa.h (pa_opcodes): Handle PA2.0 fcnv, fcmp and ftest insns.
-
- * hppa.h (pa_opcodes): Finish support for PA2.0 "b" instructions.
-
- * hppa.h (pa_opcodes): Handle PA2.0 "bve" instructions.
-
- * hppa.h (pa_opcodes): Add new syntax "be" instructions.
-
- * hppa.h (pa_opcodes): Note use of 'M' and 'L'.
-
- * hppa.h (pa_opcodes): Add support for "b,l".
-
- * hppa.h (pa_opcodes): Add support for "b,gate".
-
-Sat Sep 18 11:41:16 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Use 'fX' for first register operand
- in xmpyu.
-
- * hppa.h (pa_opcodes): Fix mask for probe and probei.
-
- * hppa.h (pa_opcodes): Fix mask for depwi.
-
-Tue Sep 7 13:44:25 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Add "addil" variant which has the %r1 as
- an explicit output argument.
-
-Mon Sep 6 04:41:42 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores.
- Add a few PA2.0 loads and store variants.
-
-1999-09-04 Steve Chamberlain <sac@pobox.com>
-
- * pj.h: New file.
-
-1999-08-29 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_regtab): Move %st to top of table, and split off
- other fp reg entries.
- (i386_float_regtab): To here.
-
-Sat Aug 28 00:25:25 1999 Jerry Quinn <jquinn@nortelnetworks.com>
-
- * hppa.h (pa_opcodes): Replace 'f' by 'v'. Prefix float register args
- by 'f'.
-
- * hppa.h (pa_opcodes): Add extrd, extrw, depd, depdi, depw, depwi.
- Add supporting args.
-
- * hppa.h: Document new completers and args.
- * hppa.h (pa_opcodes): Add 64 bit patterns and pa2.0 syntax for uxor,
- uaddcm, dcor, addi, add, sub, subi, shladd, rfi, and probe. Add pa2.0
- extensions for ssm, rsm, pdtlb, pitlb. Add performance instructions
- pmenb and pmdis.
-
- * hppa.h (pa_opcodes): Add pa2.0 instructions hadd, hshl,
- hshr, hsub, mixh, mixw, permh.
-
- * hppa.h (pa_opcodes): Change completers in instructions to
- use 'c' prefix.
-
- * hppa.h (pa_opcodes): Add popbts, new forms of bb, havg,
- hshladd, hshradd, shrpd, and shrpw instructions. Update arg comments.
-
- * hppa.h (pa_opcodes): Change fmpyfadd, fmpynfadd, fneg,
- fnegabs to use 'I' instead of 'F'.
-
-1999-08-21 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Add AMD athlon instructions, pfnacc, pfpnacc, pswapd.
- Document pf2iw and pi2fw as athlon insns. Remove pswapw.
- Alphabetically sort PIII insns.
-
-Wed Aug 18 18:14:40 1999 Doug Evans <devans@canuck.cygnus.com>
-
- * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
-
-Fri Aug 6 09:46:35 1999 Jerry Quinn <jquinn@nortelnetworks.com>
-
- * hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and,
- and andcm. Add 32 and 64 bit version of cmpclr, cmpiclr.
-
- * hppa.h: Document 64 bit condition completers.
-
-Thu Aug 5 16:56:07 1999 Jerry Quinn <jquinn@nortelnetworks.com>
-
- * hppa.h (pa_opcodes): Change condition args to use '?' prefix.
-
-1999-08-04 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_optab): Add DefaultSize modifier to all insns
- that implicitly modify %esp. #undef d_Suf, x_suf, sld_suf,
- sldx_suf, bwld_Suf, d_FP, x_FP, sld_FP, sldx_FP at end of table.
-
-Wed Jul 28 02:04:24 1999 Jerry Quinn <jquinn@nortelnetworks.com>
- Jeff Law <law@cygnus.com>
-
- * hppa.h (pa_opcodes): Add "pushnom" and "pushbts".
-
- * hppa.h (pa_opcodes): Mark all PA2.0 opcodes with FLAG_STRICT.
-
- * hppa.h (pa_opcodes): Change xmpyu, fmpyfadd,
- and fmpynfadd to use 'J' and 'K' instead of 'E' and 'X'.
-
-1999-07-13 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Add "undocumented" AMD 3DNow! pf2iw, pi2fw, pswapw insns.
-
-Thu Jul 1 00:17:24 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (struct pa_opcode): Add new field "flags".
- (FLAGS_STRICT): Define.
-
-Fri Jun 25 04:22:04 1999 Jerry Quinn <jquinn@nortelnetworks.com>
- Jeff Law <law@cygnus.com>
-
- * hppa.h (pa_opcodes): Add pa2.0 clrbts instruction.
-
- * hppa.h (pa_opcodes): Add entries for mfia and mtsarcm instructions.
-
-1999-06-23 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Allow `l' suffix on bswap. Allow `w' suffix on arpl,
- lldt, lmsw, ltr, str, verr, verw. Add FP flag to fcmov*. Add FP
- flag to fcomi and friends.
-
-Fri May 28 15:26:11 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Move integer arithmetic instructions after
- integer logical instructions.
-
-1999-05-28 Linus Nordberg <linus.nordberg@canit.se>
-
- * m68k.h: Document new formats `E', `G', `H' and new places `N',
- `n', `o'.
-
- * m68k.h: Define mcf5206e, mcf5307, mcf. Document new format `u'
- and new places `m', `M', `h'.
-
-Thu May 27 04:13:54 1999 Joel Sherrill (joel@OARcorp.com
-
- * hppa.h (pa_opcodes): Add several processor specific system
- instructions.
-
-Wed May 26 16:57:44 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Add second entry for "comb", "comib",
- "addb", and "addib" to be used by the disassembler.
-
-1999-05-12 Alan Modra <alan@apri.levels.unisa.edu.au>
-
- * i386.h (ReverseModrm): Remove all occurences.
- (InvMem): Add to control/debug/test mov insns, movhlps, movlhps,
- movmskps, pextrw, pmovmskb, maskmovq.
- Change NoSuf to FP on all MMX, XMM and AMD insns as these all
- ignore the data size prefix.
-
- * i386.h (i386_optab, i386_regtab): Add support for PIII SIMD.
- Mostly stolen from Doug Ledford <dledford@redhat.com>
-
-Sat May 8 23:27:35 1999 Richard Henderson <rth@cygnus.com>
-
- * ppc.h (PPC_OPCODE_64_BRIDGE): New.
-
-1999-04-14 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (CGEN_ATTR): Delete member num_nonbools.
- (CGEN_ATTR_TYPE): Update.
- (CGEN_ATTR_MASK): Number booleans starting at 0.
- (CGEN_ATTR_VALUE): Update.
- (CGEN_INSN_ATTR): Update.
-
-Mon Apr 12 23:43:27 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (fmpyfadd, fmpynfadd, fneg, fnegabs): New PA2.0
- instructions.
-
-Tue Mar 23 11:24:38 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (bb, bvb): Tweak opcode/mask.
-
-
-1999-03-22 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (CGEN_ISA,CGEN_MACH): New typedefs.
- (struct cgen_cpu_desc): Rename member mach to machs. New member isas.
- New members word_bitsize,default_insn_bitsize,base_insn-bitsize,
- min_insn_bitsize,max_insn_bitsize,isa_table,mach_table,rebuild_tables.
- Delete member max_insn_size.
- (enum cgen_cpu_open_arg): New enum.
- (cpu_open): Update prototype.
- (cpu_open_1): Declare.
- (cgen_set_cpu): Delete.
-
-1999-03-11 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (CGEN_HW_TABLE): Delete `num_init_entries' member.
- (CGEN_OPERAND_NIL): New macro.
- (CGEN_OPERAND): New member `type'.
- (@arch@_cgen_operand_table): Delete decl.
- (CGEN_OPERAND_INDEX,CGEN_OPERAND_TYPE,CGEN_OPERAND_ENTRY): Delete.
- (CGEN_OPERAND_TABLE): New struct.
- (cgen_operand_lookup_by_name,cgen_operand_lookup_by_num): Declare.
- (CGEN_OPINST): Pointer to operand table entry replaced with enum.
- (CGEN_CPU_TABLE): New member `isa'. Change member `operand_table',
- now a CGEN_OPERAND_TABLE. Add CGEN_CPU_DESC arg to
- {get,set}_{int,vma}_operand.
- (@arch@_cgen_cpu_open): New arg `isa'.
- (cgen_set_cpu): Ditto.
-
-Fri Feb 26 02:36:45 1999 Richard Henderson <rth@cygnus.com>
-
- * i386.h: Fill in cmov and fcmov alternates. Add fcomi short forms.
-
-1999-02-25 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (enum cgen_asm_type): Add CGEN_ASM_NONE.
- (CGEN_HW_ENTRY): Delete member `next'. Change type of `type' to
- enum cgen_hw_type.
- (CGEN_HW_TABLE): New struct.
- (hw_table): Delete declaration.
- (CGEN_OPERAND): Change member hw to hw_type, change type from pointer
- to table entry to enum.
- (CGEN_OPINST): Ditto.
- (CGEN_CPU_TABLE): Change member hw_list to hw_table.
-
-Sat Feb 13 14:13:44 1999 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (AXP_OPCODE_EV6): New.
- (AXP_OPCODE_NOPAL): Include it.
-
-1999-02-09 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (CGEN_CPU_DESC): Renamed from CGEN_OPCODE_DESC.
- All uses updated. New members int_insn_p, max_insn_size,
- parse_operand,insert_operand,extract_operand,print_operand,
- sizeof_fields,set_fields_bitsize,get_int_operand,set_int_operand,
- get_vma_operand,set_vma_operand,parse_handlers,insert_handlers,
- extract_handlers,print_handlers.
- (CGEN_ATTR): Change type of num_nonbools to unsigned int.
- (CGEN_ATTR_BOOL_OFFSET): New macro.
- (CGEN_ATTR_MASK): Subtract it to compute bit number.
- (CGEN_ATTR_VALUE): Redo bool/nonbool attr calculation.
- (cgen_opcode_handler): Renamed from cgen_base.
- (CGEN_HW_ATTR_VALUE): Renamed from CGEN_HW_ATTR, all uses updated.
- (CGEN_OPERAND_ATTR_VALUE): Renamed from CGEN_OPERAND_ATTR,
- all uses updated.
- (CGEN_OPERAND_INDEX): Rewrite to use table entry, not global.
- (enum cgen_opinst_type): Renamed from cgen_operand_instance_type.
- (CGEN_IFLD_ATTR_VALUE): Renamed from CGEN_IFLD_ATTR, all uses updated.
- (CGEN_OPCODE,CGEN_IBASE): New types.
- (CGEN_INSN): Rewrite.
- (CGEN_{ASM,DIS}_HASH*): Delete.
- (init_opcode_table,init_ibld_table): Declare.
- (CGEN_INSN_ATTR): New type.
-
-Mon Feb 1 21:09:14 1999 Catherine Moore <clm@cygnus.com>
-
- * i386.h (d_Suf, x_Suf, sld_Suf, sldx_Suf, bwld_Suf): Define.
- (x_FP, d_FP, dls_FP, sldx_FP): Define.
- Change *Suf definitions to include x and d suffixes.
- (movsx): Use w_Suf and b_Suf.
- (movzx): Likewise.
- (movs): Use bwld_Suf.
- (fld): Change ordering. Use sld_FP.
- (fild): Add Intel Syntax equivalent of fildq.
- (fst): Use sld_FP.
- (fist): Use sld_FP.
- (fstp): Use sld_FP. Add x_FP version.
- (fistp): LLongMem version for Intel Syntax.
- (fcom, fcomp): Use sld_FP.
- (fadd, fiadd, fsub): Use sld_FP.
- (fsubr): Use sld_FP.
- (fmul, fimul, fdvi, fidiv, fdivr): Use sld_FP.
-
-1999-01-27 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (enum cgen_mode): Add CGEN_MODE_TARGET_MAX, CGEN_MODE_INT,
- CGEN_MODE_UINT.
-
-1999-01-16 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (bv): Fix mask.
-
-1999-01-05 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (CGEN_ATTR_VALUE_TYPE): New typedef.
- (CGEN_ATTR): Use it.
- (CGEN_ATTR_TYPE,CGEN_ATTR_ENTRY): Ditto.
- (CGEN_ATTR_TABLE): New member dfault.
-
-1998-12-30 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (MIPS16_INSN_BRANCH): New.
-
-Wed Dec 9 10:38:48 1998 David Taylor <taylor@texas.cygnus.com>
-
- The following is part of a change made by Edith Epstein
- <eepstein@sophia.cygnus.com> as part of a project to merge in
- changes by HP; HP did not create ChangeLog entries.
-
- * hppa.h (completer_chars): list of chars to not put a space
- after.
-
-Sun Dec 6 13:21:34 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h (i386_optab): Permit w suffix on processor control and
- status word instructions.
-
-1998-11-30 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (struct cgen_hw_entry): Delete const on attrs member.
- (struct cgen_keyword_entry): Ditto.
- (struct cgen_operand): Ditto.
- (CGEN_IFLD): New typedef, with associated access macros.
- (CGEN_IFMT): New typedef, with associated access macros.
- (CGEN_IFMT): Renamed from CGEN_FORMAT. New member `iflds'.
- (CGEN_IVALUE): New typedef.
- (struct cgen_insn): Delete const on syntax,attrs members.
- `format' now points to format data. Type of `value' is now
- CGEN_IVALUE.
- (struct cgen_opcode_table): New member ifld_table.
-
-1998-11-18 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (cgen_extract_fn): Update type of `base_insn' arg.
- (CGEN_OPERAND_INSTANCE): New member `attrs'.
- (CGEN_OPERAND_INSTANCE_{ATTRS,ATTR}): New macros.
- (cgen_dis_lookup_insn): Update type of `base_insn' arg.
- (cgen_opcode_table): Update type of dis_hash fn.
- (extract_operand): Update type of `insn_value' arg.
-
-Thu Oct 29 11:38:36 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Delete.
-
-Tue Oct 27 08:57:59 1998 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (INSN_MULT): Added.
-
-Tue Oct 20 11:31:34 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (MAX_MNEM_SIZE): Rename from MAX_OPCODE_SIZE.
-
-Mon Oct 19 12:50:00 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_INSN_INT): New typedef.
- (CGEN_INT_INSN_P): Renamed from CGEN_INT_INSN.
- (CGEN_INSN_BYTES): Renamed from cgen_insn_t.
- (CGEN_INSN_BYTES_PTR): New typedef.
- (CGEN_EXTRACT_INFO): New typedef.
- (cgen_insert_fn,cgen_extract_fn): Update.
- (cgen_opcode_table): New member `insn_endian'.
- (assemble_insn,lookup_insn,lookup_get_insn_operands): Update.
- (insert_operand,extract_operand): Update.
- (cgen_get_insn_value,cgen_put_insn_value): Add prototypes.
-
-Fri Oct 9 13:38:13 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_ATTR_BOOLS): New macro.
- (struct CGEN_HW_ENTRY): New member `attrs'.
- (CGEN_HW_ATTR): New macro.
- (struct CGEN_OPERAND_INSTANCE): New member `name'.
- (CGEN_INSN_INVALID_P): New macro.
-
-Mon Oct 5 00:21:07 1998 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h: Add "fid".
-
-Sun Oct 4 21:00:00 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- From Robert Andrew Dale <rob@nb.net>
- * i386.h (i386_optab): Add AMD 3DNow! instructions.
- (AMD_3DNOW_OPCODE): Define.
-
-Tue Sep 22 17:53:47 1998 Nick Clifton <nickc@cygnus.com>
-
- * d30v.h (EITHER_BUT_PREFER_MU): Define.
-
-Mon Aug 10 14:09:38 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * cgen.h (cgen_insn): #if 0 out element `cdx'.
-
-Mon Aug 3 12:21:57 1998 Doug Evans <devans@seba.cygnus.com>
-
- Move all global state data into opcode table struct, and treat
- opcode table as something that is "opened/closed".
- * cgen.h (CGEN_OPCODE_DESC): New type.
- (all fns): New first arg of opcode table descriptor.
- (cgen_set_parse_operand_fn): Add prototype.
- (cgen_current_machine,cgen_current_endian): Delete.
- (CGEN_OPCODE_TABLE): New members mach,endian,operand_table,
- parse_operand_fn,asm_hash_table,asm_hash_table_entries,
- dis_hash_table,dis_hash_table_entries.
- (opcode_open,opcode_close): Add prototypes.
-
- * cgen.h (cgen_insn): New element `cdx'.
-
-Thu Jul 30 21:44:25 1998 Frank Ch. Eigler <fche@cygnus.com>
-
- * d30v.h (FLAG_LKR): New flag for "left-kills-right" instructions.
-
-Tue Jul 28 10:59:07 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h: Add "no_match_operands" field for instructions.
- (MN10300_MAX_OPERANDS): Define.
-
-Fri Jul 24 11:44:24 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * cgen.h (cgen_macro_insn_count): Declare.
-
-Tue Jul 21 13:12:13 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Define.
- (cgen_insert_fn,cgen_extract_fn): New arg `pc'.
- (get_operand,put_operand): Replaced with get_{int,vma}_operand,
- set_{int,vma}_operand.
-
-Fri Jun 26 11:09:06 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h: Add "machine" field for instructions.
- (MN103, AM30): Define machine types.
-
-Fri Jun 19 16:09:09 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Use FP, not sl_Suf, for fxsave and fxrstor.
-
-1998-06-18 Ulrich Drepper <drepper@cygnus.com>
-
- * i386.h: Add support for fxsave, fxrstor, sysenter and sysexit.
-
-Sat Jun 13 11:31:35 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_optab): Add general form of aad and aam. Add ud2a
- and ud2b.
- (i386_regtab): Allow cr0..7, db0..7, dr0..7, tr0..7, not just
- those that happen to be implemented on pentiums.
-
-Tue Jun 9 12:16:01 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Change occurences of Data16 to Size16, Data32 to Size32,
- IgnoreDataSize to IgnoreSize. Flag address and data size prefixes
- with Size16|IgnoreSize or Size32|IgnoreSize.
-
-Mon Jun 8 12:15:52 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE.
- (REPE): Rename to REPE_PREFIX_OPCODE.
- (i386_regtab_end): Remove.
- (i386_prefixtab, i386_prefixtab_end): Remove.
- (i386_optab): Use NULL as sentinel rather than "" to suit rewrite
- of md_begin.
- (MAX_OPCODE_SIZE): Define.
- (i386_optab_end): Remove.
- (sl_Suf): Define.
- (sl_FP): Use sl_Suf.
-
- * i386.h (i386_optab): Allow 16 bit displacement for `mov
- mem,acc'. Combine 16 and 32 bit forms of various insns. Allow 16
- bit form of ljmp. Add IsPrefix modifier to prefixes. Add addr32,
- data32, dword, and adword prefixes.
- (i386_regtab): Add BaseIndex modifier to valid 16 bit base/index
- regs.
-
-Fri Jun 5 23:42:43 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_regtab): Remove BaseIndex modifier from esp.
-
- * i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with
- register operands, because this is a common idiom. Flag them with
- a warning. Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp,
- fdivrp because gcc erroneously generates them. Also flag with a
- warning.
-
- * i386.h: Add suffix modifiers to most insns, and tighter operand
- checks in some cases. Fix a number of UnixWare compatibility
- issues with float insns. Merge some floating point opcodes, using
- new FloatMF modifier.
- (WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for
- consistency.
-
- * i386.h: Change occurence of ShortformW to W|ShortForm. Add
- IgnoreDataSize where appropriate.
-
-Wed Jun 3 18:28:45 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: (one_byte_segment_defaults): Remove.
- (two_byte_segment_defaults): Remove.
- (i386_regtab): Add BaseIndex to 32 bit regs reg_type.
-
-Fri May 15 15:59:04 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup.
- (cgen_hw_lookup_by_num): Declare.
-
-Thu May 7 09:27:58 1998 Frank Ch. Eigler <fche@cygnus.com>
-
- * mips.h (OP_{SH,MASK}_CODE2): Added "q" operand format for lower
- ten bits of MIPS ISA1 "break" instruction, and for "sdbbp"
-
-Thu May 7 02:14:08 1998 Doug Evans <devans@charmed.cygnus.com>
-
- * cgen.h (cgen_asm_init_parse): Delete.
- (cgen_save_fixups,cgen_restore_fixups,cgen_swap_fixups): Delete.
- (cgen_asm_record_register,cgen_asm_finish_insn): Delete.
-
-Mon Apr 27 10:13:11 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_ATTR_TYPE): Delete `const', moved to uses.
- (cgen_asm_finish_insn): Update prototype.
- (cgen_insn): New members num, data.
- (CGEN_INSN_TABLE): Members asm_hash, asm_hash_table_size,
- dis_hash, dis_hash_table_size moved to ...
- (CGEN_OPCODE_TABLE). Here. Renamed from CGEN_OPCODE_DATA.
- All uses updated. New members asm_hash_p, dis_hash_p.
- (CGEN_MINSN_EXPANSION): New struct.
- (cgen_expand_macro_insn): Declare.
- (cgen_macro_insn_count): Declare.
- (get_insn_operands): Update prototype.
- (lookup_get_insn_operands): Declare.
-
-Tue Apr 21 17:11:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_optab): Change iclrKludge and imulKludge to
- regKludge. Add operands types for string instructions.
-
-Mon Apr 20 14:40:29 1998 Tom Tromey <tromey@cygnus.com>
-
- * i386.h (X): Renamed from `Z_' to preserve formatting of opcode
- table.
-
-Sun Apr 19 13:54:06 1998 Tom Tromey <tromey@cygnus.com>
-
- * i386.h (Z_): Renamed from `_' to avoid clash with common alias
- for `gettext'.
-
-Fri Apr 3 12:04:48 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Remove NoModrm flag from all insns: it's never checked.
- Add IsString flag to string instructions.
- (IS_STRING): Don't define.
- (LOCK_PREFIX_OPCODE, CS_PREFIX_OPCODE, DS_PREFIX_OPCODE): Define.
- (ES_PREFIX_OPCODE, FS_PREFIX_OPCODE, GS_PREFIX_OPCODE): Define.
- (SS_PREFIX_OPCODE): Define.
-
-Mon Mar 30 21:31:56 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Revert March 24 patch; no more LinearAddress.
-
-Mon Mar 30 10:25:54 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_optab): Remove fwait (9b) from all floating point
- instructions, and instead add FWait opcode modifier. Add short
- form of fldenv and fstenv.
- (FWAIT_OPCODE): Define.
-
- * i386.h (i386_optab): Change second operand constraint of `mov
- sreg,reg|mem' instruction from Reg16|Mem to WordReg|WordMem to
- allow legal instructions such as `movl %gs,%esi'
-
-Fri Mar 27 18:30:52 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * h8300.h: Various changes to fully bracket initializers.
-
-Tue Mar 24 18:32:47 1998 H.J. Lu <hjl@gnu.org>
-
- * i386.h: Set LinearAddress for lidt and lgdt.
-
-Mon Mar 2 10:44:07 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_BOOL_ATTR): New macro.
-
-Thu Feb 26 15:54:31 1998 Michael Meissner <meissner@cygnus.com>
-
- * d30v.h (FLAG_DELAY): New flag for delayed branches/jumps.
-
-Mon Feb 23 10:38:21 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_CAT3): Delete. Use CONCAT3 now.
- (cgen_insn): Record syntax and format entries here, rather than
- separately.
-
-Tue Feb 17 21:42:56 1998 Nick Clifton <nickc@cygnus.com>
-
- * cgen.h (CGEN_SYNTAX_MAKE_FIELD): New macro.
-
-Tue Feb 17 16:00:56 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (cgen_insert_fn): Change type of result to const char *.
- (cgen_parse_{signed,unsigned}_integer): Delete min,max arguments.
- (CGEN_{INSN,KEYWORD,OPERAND}_NBOOL_ATTRS): Renamed from ..._MAX_ATTRS.
-
-Thu Feb 12 18:30:41 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * cgen.h (lookup_insn): New argument alias_p.
-
-Thu Feb 12 03:41:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
-Fix rac to accept only a0:
- * d10v.h (OPERAND_ACC): Split into:
- (OPERAND_ACC0, OPERAND_ACC1) .
- (OPERAND_GPR): Define.
-
-Wed Feb 11 17:31:53 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_FIELDS): Define here.
- (CGEN_HW_ENTRY): New member `type'.
- (hw_list): Delete decl.
- (enum cgen_mode): Declare.
- (CGEN_OPERAND): New member `hw'.
- (enum cgen_operand_instance_type): Declare.
- (CGEN_OPERAND_INSTANCE): New type.
- (CGEN_INSN): New member `operands'.
- (CGEN_OPCODE_DATA): Make hw_list const.
- (get_insn_operands,lookup_insn): Add prototypes for.
-
-Tue Feb 3 17:11:23 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_INSN_MAX_ATTRS): Renamed from CGEN_MAX_INSN_ATTRS.
- (CGEN_HW_ENTRY): Move `next' entry to end of struct.
- (CGEN_KEYWORD_MAX_ATTRS): Renamed from CGEN_MAX_KEYWORD_ATTRS.
- (CGEN_OPERAND_MAX_ATTRS): Renamed from CGEN_MAX_OPERAND_ATTRS.
-
-Mon Feb 2 19:19:15 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * cgen.h: Correct typo in comment end marker.
-
-Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
-
- * tic30.h: New file.
-
-Thu Jan 22 17:54:56 1998 Nick Clifton <nickc@cygnus.com>
-
- * cgen.h: Add prototypes for cgen_save_fixups(),
- cgen_restore_fixups(), and cgen_swap_fixups(). Change prototype
- of cgen_asm_finish_insn() to return a char *.
-
-Wed Jan 14 17:21:43 1998 Nick Clifton <nickc@cygnus.com>
-
- * cgen.h: Formatting changes to improve readability.
-
-Mon Jan 12 11:37:36 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (*): Clean up pass over `struct foo' usage.
- (CGEN_ATTR): Make unsigned char.
- (CGEN_ATTR_TYPE): Update.
- (CGEN_ATTR_{ENTRY,TABLE}): New types.
- (cgen_base): Move member `attrs' to cgen_insn.
- (CGEN_KEYWORD): New member `null_entry'.
- (CGEN_{SYNTAX,FORMAT}): New types.
- (cgen_insn): Format and syntax separated from each other.
-
-Tue Dec 16 15:15:52 1997 Michael Meissner <meissner@cygnus.com>
-
- * d30v.h (d30v_opcode): Reorder flags somewhat, add new flags for
- 2 word load/store, ADDppp/SUBppp, 16/32 bit multiply. Make
- flags_{used,set} long.
- (d30v_operand): Make flags field long.
-
-Mon Dec 1 12:24:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.h: Fix comment describing operand types.
-
-Sun Nov 23 22:31:27 1997 Michael Meissner <meissner@cygnus.com>
-
- * d30v.h (SHORT_CMPU): Add case for cmpu instruction, and move
- everything else after down.
-
-Tue Nov 18 18:45:14 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * d10v.h (OPERAND_FLAG): Split into:
- (OPERAND_FFLAG, OPERAND_CFLAG) .
-
-Thu Nov 13 11:04:24 1997 Gavin Koch <gavin@cygnus.com>
-
- * mips.h (struct mips_opcode): Changed comments to reflect new
- field usage.
-
-Fri Oct 24 22:36:20 1997 Ken Raeburn <raeburn@cygnus.com>
-
- * mips.h: Added to comments a quick-ref list of all assigned
- operand type characters.
- (OP_{MASK,SH}_PERFREG): New macros.
-
-Wed Oct 22 17:28:33 1997 Richard Henderson <rth@cygnus.com>
-
- * sparc.h: Add '_' and '/' for v9a asr's.
- Patch from David Miller <davem@vger.rutgers.edu>
-
-Tue Oct 14 13:22:29 1997 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h: Bit ops with absolute addresses not in the 8 bit
- area are not available in the base model (H8/300).
-
-Thu Sep 25 13:03:41 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * m68k.h: Remove documentation of ` operand specifier.
-
-Wed Sep 24 19:00:34 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * m68k.h: Document q and v operand specifiers.
-
-Mon Sep 15 18:28:37 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (struct v850_opcode): Add processors field.
- (PROCESSOR_V850, PROCESSOR_ALL): New bit constants.
- (PROCESSOR_V850E, PROCESSOR_NOT_V850): New bit constants.
- (PROCESSOR_V850EA): New bit constants.
-
-Mon Sep 15 11:29:43 1997 Ken Raeburn <raeburn@cygnus.com>
-
- Merge changes from Martin Hunt:
-
- * d30v.h: Allow up to 64 control registers. Add
- SHORT_A5S format.
-
- * d30v.h (LONG_Db): New form for delayed branches.
-
- * d30v.h: (LONG_Db): New form for repeati.
-
- * d30v.h (SHORT_D2B): New form.
-
- * d30v.h (SHORT_A2): New form.
-
- * d30v.h (OPERAND_2REG): Add new operand to indicate 2
- registers are used. Needed for VLIW optimization.
-
-Mon Sep 8 14:05:45 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * cgen.h: Move assembler interface section
- up so cgen_parse_operand_result is defined for cgen_parse_address.
- (cgen_parse_address): Update prototype.
-
-Tue Sep 2 15:32:32 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (V850_OPREAND_ADJUST_SHORT_MEMORY): Removed.
-
-Tue Aug 26 12:21:52 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h (two_byte_segment_defaults): Correct base register 5 in
- modes 1 and 2 to be ss rather than ds. From Gabriel Paubert
- <paubert@iram.es>.
-
- * i386.h: Set ud2 to 0x0f0b. From Gabriel Paubert
- <paubert@iram.es>.
-
- * i386.h: Comment fixes for ficom[p]?{s,l} from Gabriel Paubert
- <paubert@iram.es>.
-
- * i386.h (JUMP_ON_CX_ZERO): Uncomment (define again).
- (JUMP_ON_ECX_ZERO): Remove commented out macro.
-
-Fri Aug 22 10:38:29 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (V850_NOT_R0): New flag.
-
-Mon Aug 18 11:05:58 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (struct v850_opcode): Remove flags field.
-
-Wed Aug 13 18:45:48 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (struct v850_opcode): Add flags field.
- (struct v850_operand): Extend meaning of 'bits' and 'shift'
- fields.
- (V850E_INSTRUCTION, V850EA_INSTRUCTION): New flags.
- (V850E_PUSH_POP, V850E_IMMEDIATE16, V850E_IMMEDIATE32): New flags.
-
-Fri Aug 8 16:58:42 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * arc.h: New file.
-
-Thu Jul 24 21:16:58 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (sparc_opcodes): Declare as const.
-
-Thu Jul 10 12:53:25 1997 Jeffrey A Law (law@cygnus.com)
-
- * mips.h (FP_S, FP_D): Define. Bitmasks indicating if an insn
- uses single or double precision floating point resources.
- (INSN_NO_ISA, INSN_ISA1): Define.
- (cpu specific INSN macros): Tweak into bitmasks outside the range
- of INSN_ISA field.
-
-Mon Jun 16 14:10:00 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
-
- * i386.h: Fix pand opcode.
-
-Mon Jun 2 11:35:09 1997 Gavin Koch <gavin@cygnus.com>
-
- * mips.h: Widen INSN_ISA and move it to a more convenient
- bit position. Add INSN_3900.
-
-Tue May 20 11:25:29 1997 Gavin Koch <gavin@cygnus.com>
-
- * mips.h (struct mips_opcode): added new field membership.
-
-Mon May 12 16:26:50 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
-
- * i386.h (movd): only Reg32 is allowed.
-
- * i386.h: add fcomp and ud2. From Wayne Scott
- <wscott@ichips.intel.com>.
-
-Mon May 5 17:16:21 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Add MMX instructions.
-
-Mon May 5 12:45:19 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
-
- * i386.h: Remove W modifier from conditional move instructions.
-
-Mon Apr 14 14:56:58 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Change the opcodes for fsubp, fsubrp, fdivp, and fdivrp
- with no arguments to match that generated by the UnixWare
- assembler.
-
-Thu Apr 10 14:35:00 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * cgen.h (<cpu>_cgen_assemble_insn): New arg for errmsg.
- (cgen_parse_operand_fn): Declare.
- (cgen_init_parse_operand): Declare.
- (cgen_parse_operand): Renamed from cgen_asm_parse_operand,
- new argument `want'.
- (enum cgen_parse_operand_result): Renamed from cgen_asm_result.
- (enum cgen_parse_operand_type): New enum.
-
-Sat Apr 5 13:14:05 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Revert last patch for the NON_BROKEN_OPCODES cases.
-
-Fri Apr 4 11:46:11 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * cgen.h: New file.
-
-Fri Apr 4 14:02:32 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Correct opcode values for fsubp, fsubrp, fdivp, and
- fdivrp.
-
-Tue Mar 25 22:57:26 1997 Stu Grossman (grossman@critters.cygnus.com)
-
- * v850.h (extract): Make unsigned.
-
-Mon Mar 24 14:38:15 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Add iclr.
-
-Thu Mar 20 19:49:10 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Change DW to W for cmpxchg and xadd, since they don't
- take a direction bit.
-
-Sat Mar 15 19:03:29 1997 H.J. Lu <hjl@lucon.org>
-
- * sparc.h (sparc_opcode_lookup_arch): Use full prototype.
-
-Fri Mar 14 15:22:01 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * sparc.h: Include <ansidecl.h>. Update function declarations to
- use prototypes, and to use const when appropriate.
-
-Thu Mar 6 14:18:30 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_RELAX): Define.
-
-Mon Feb 24 15:15:56 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h: Change pre_defined_registers to
- d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt.
-
-Sat Feb 22 21:25:00 1997 Dawn Perchik <dawn@cygnus.com>
-
- * mips.h: Add macros for cop0, cop1 cop2 and cop3.
- Change mips_opcodes from const array to a pointer,
- and change bfd_mips_num_opcodes from const int to int,
- so that we can increase the size of the mips opcodes table
- dynamically.
-
-Fri Feb 21 16:34:18 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d30v.h (FLAG_X): Remove unused flag.
-
-Tue Feb 18 17:37:20 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d30v.h: New file.
-
-Fri Feb 14 13:16:15 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (PDS_NAME): Macro to access name field of predefined symbols.
- (PDS_VALUE): Macro to access value field of predefined symbols.
- (tic80_next_predefined_symbol): Add prototype.
-
-Mon Feb 10 10:32:17 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (tic80_symbol_to_value): Change prototype to match
- change in function, added class parameter.
-
-Thu Feb 6 17:30:15 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_ENDMASK): Add for flagging TIc80
- endmask fields, which are somewhat weird in that 0 and 32 are
- treated exactly the same.
-
-Thu Jan 30 13:46:18 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h: Change all the OPERAND defines to use the form (1 << X)
- rather than a constant that is 2**X. Reorder them to put bits for
- operands that have symbolic names in the upper bits, so they can
- be packed into an int where the lower bits contain the value that
- corresponds to that symbolic name.
- (predefined_symbo): Add struct.
- (tic80_predefined_symbols): Declare array of translations.
- (tic80_num_predefined_symbols): Declare size of that array.
- (tic80_value_to_symbol): Declare function.
- (tic80_symbol_to_value): Declare function.
-
-Wed Jan 29 09:37:25 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.h (MN10200_OPERAND_RELAX): Define.
-
-Sat Jan 18 15:18:59 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_NO_R0_DEST): Add for opcodes where r0 cannot
- be the destination register.
-
-Thu Jan 16 20:48:55 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (struct tic80_opcode): Change "format" field to "flags".
- (FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete.
- (TIC80_VECTOR): Define a flag bit for the flags. This one means
- that the opcode can have two vector instructions in a single
- 32 bit word and we have to encode/decode both.
-
-Tue Jan 14 19:37:09 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_PCREL): Renamed from
- TIC80_OPERAND_RELATIVE for PC relative.
- (TIC80_OPERAND_BASEREL): New flag bit for register
- base relative.
-
-Mon Jan 13 15:56:38 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_FLOAT): Add for floating point operands.
-
-Mon Jan 6 10:51:15 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_SCALED): Operand may have optional
- ":s" modifier for scaling.
-
-Sun Jan 5 12:12:19 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_M_SI): Add operand modifier for ":m".
- (TIC80_OPERAND_M_LI): Ditto
-
-Sat Jan 4 19:02:44 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_BITNUM): Renamed from TIC80_OPERAND_CC_SZ.
- (TIC80_OPERAND_CC): New define for condition code operand.
- (TIC80_OPERAND_CR): New define for control register operand.
-
-Fri Jan 3 16:22:23 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (struct tic80_opcode): Name changed.
- (struct tic80_opcode): Remove format field.
- (struct tic80_operand): Add insertion and extraction functions.
- (TIC80_OPERAND_*): Remove old bogus values, start adding new
- correct ones.
- (FMT_*): Ditto.
-
-Tue Dec 31 15:05:41 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * v850.h (V850_OPERAND_ADJUST_SHORT_MEMORY): New flag to adjust
- type IV instruction offsets.
-
-Fri Dec 27 22:23:10 1996 Fred Fish <fnf@cygnus.com>
-
- * tic80.h: New file.
-
-Wed Dec 18 10:06:31 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.h (MN10200_OPERAND_NOCHECK): Define.
-
-Sat Dec 14 10:48:31 1996 Fred Fish <fnf@ninemoons.com>
-
- * mn10200.h: Fix comment, mn10200_operand not powerpc_operand.
- * mn10300.h: Fix comment, mn10300_operand not powerpc_operand.
- * v850.h: Fix comment, v850_operand not powerpc_operand.
-
-Mon Dec 9 16:45:39 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.h: Flesh out structures and definitions needed by
- the mn10200 assembler & disassembler.
-
-Tue Nov 26 10:46:56 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h: Add mips16 definitions.
-
-Mon Nov 25 17:56:54 1996 J.T. Conklin <jtc@cygnus.com>
-
- * m68k.h: Document new <, >, m, n, o and p operand specifiers.
-
-Wed Nov 20 10:59:41 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_PCREL): Define.
- (MN10300_OPERAND_MEMADDR): Define.
-
-Tue Nov 19 13:30:40 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_REG_LIST): Define.
-
-Wed Nov 6 13:41:08 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_SPLIT): Define.
-
-Tue Nov 5 13:26:12 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_EXTENDED): Define.
-
-Mon Nov 4 12:52:48 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_REPEATED): Define.
-
-Fri Nov 1 10:31:02 1996 Richard Henderson <rth@tamu.edu>
-
- * alpha.h: Don't include "bfd.h"; private relocation types are now
- negative to minimize problems with shared libraries. Organize
- instruction subsets by AMASK extensions and PALcode
- implementation.
- (struct alpha_operand): Move flags slot for better packing.
-
-Tue Oct 29 12:19:10 1996 Jeffrey A Law (law@cygnus.com)
-
- * v850.h (V850_OPERAND_RELAX): New operand flag.
-
-Thu Oct 10 14:29:11 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (FMT_*): Move operand format definitions
- here.
-
-Tue Oct 8 14:48:07 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_PAREN): Define.
-
-Mon Oct 7 16:52:11 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (mn10300_opcode): Add "format" field.
- (MN10300_OPERAND_*): Define.
-
-Thu Oct 3 10:33:46 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10x00.h: Delete.
- * mn10200.h, mn10300.h: New files.
-
-Wed Oct 2 21:31:26 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10x00.h: New file.
-
-Fri Sep 27 18:26:46 1996 Stu Grossman (grossman@critters.cygnus.com)
-
- * v850.h: Add new flag to indicate this instruction uses a PC
- displacement.
-
-Fri Sep 13 14:58:13 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (stmac): Add missing instruction.
-
-Sat Aug 31 16:02:03 1996 Jeffrey A Law (law@cygnus.com)
-
- * v850.h (v850_opcode): Remove "size" field. Add "memop"
- field.
-
-Fri Aug 23 10:39:08 1996 Jeffrey A Law (law@cygnus.com)
-
- * v850.h (V850_OPERAND_EP): Define.
-
- * v850.h (v850_opcode): Add size field.
-
-Thu Aug 22 16:51:25 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * v850.h (v850_operands): Add insert and extract fields, pointers
- to functions used to handle unusual operand encoding.
- (V850_OPERAND_REG, V850_OPERAND_SRG, V850_OPERAND_CC,
- V850_OPERAND_SIGNED): Defined.
-
-Wed Aug 21 17:45:10 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * v850.h (v850_operands): Add flags field.
- (OPERAND_REG, OPERAND_NUM): Defined.
-
-Tue Aug 20 14:52:02 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * v850.h: New file.
-
-Fri Aug 16 14:44:15 1996 James G. Smith <jsmith@cygnus.co.uk>
-
- * mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM,
- OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC,
- OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT,
- OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE,
- OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT):
- Defined.
-
-Fri Aug 16 00:15:15 1996 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pitlb, pitlbe, iitlba, iitlbp, fic, fice): Accept
- a 3 bit space id instead of a 2 bit space id.
-
-Thu Aug 15 13:11:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h: Add some additional defines to support the
- assembler in determining which operations can be done in parallel.
-
-Tue Aug 6 11:13:22 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (SN): Define.
- (eepmov.b): Renamed from "eepmov"
- (nop, bpt, rte, rts, sleep, clrmac): These have no size associated
- with them.
-
-Fri Jul 26 11:47:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h (OPERAND_SHIFT): New operand flag.
-
-Thu Jul 25 12:06:22 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h: Changes for divs, parallel-only instructions, and
- signed numbers.
-
-Mon Jul 22 11:21:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h (pd_reg): Define. Putting the definition here allows
- the assembler and disassembler to share the same struct.
-
-Mon Jul 22 12:15:25 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * i960.h (i960_opcodes): "halt" takes an argument. From Stephen
- Williams <steve@icarus.com>.
-
-Wed Jul 17 14:46:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h: New file.
-
-Thu Jul 11 12:09:15 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (band, bclr): Force high bit of immediate nibble to zero.
-
-Wed Jul 3 14:30:12 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * m68k.h (mcf5200): New macro.
- Document names of coldfire control registers.
-
-Tue Jul 2 23:05:45 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (SRC_IN_DST): Define.
-
- * h8300.h (UNOP3): Mark the register operand in this insn
- as a source operand, not a destination operand.
- (SHIFT_2, SHIFT_IMM): Remove. Eliminate all references.
- (UNOP3): Change SHIFT_IMM to IMM for H8/S bitops. Mark
- register operand with SRC_IN_DST.
-
-Fri Jun 21 13:52:17 1996 Richard Henderson <rth@tamu.edu>
-
- * alpha.h: New file.
-
-Thu Jun 20 15:02:57 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * rs6k.h: Remove obsolete file.
-
-Wed Jun 19 15:29:38 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Correct opcode values for faddp, fsubp, fsubrp, fmulp,
- fdivp, and fdivrp. Add ffreep.
-
-Tue Jun 18 16:06:00 1996 Jeffrey A. Law <law@rtl.cygnus.com>
-
- * h8300.h: Reorder various #defines for readability.
- (ABS32SRC, ABS32DST, DSP32LIST, ABS32LIST, A32LIST): Define.
- (BITOP): Accept additional (unused) argument. All callers changed.
- (EBITOP): Likewise.
- (O_LAST): Bump.
- (ldc, stc, movb, movw, movl): Use 32bit offsets and absolutes.
-
- * h8300.h (EXR, SHIFT_2, MACREG, SHIFT_IMM, RDINC): Define.
- (O_TAS, O_CLRMAC, O_LDMAC, O_MAC, O_LDM, O_STM): Define.
- (BITOP, EBITOP): Handle new H8/S addressing modes for
- bit insns.
- (UNOP3): Handle new shift/rotate insns on the H8/S.
- (insns using exr): New instructions.
- (tas, mac, ldmac, clrmac, ldm, stm): New instructions.
-
-Thu May 23 16:56:48 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (add.l): Undo Apr 5th change. The manual I had
- was incorrect.
-
-Mon May 6 23:38:22 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (START): Remove.
- (MEMRELAX): Define. Mark absolute memory operands in mov.b, mov.w
- and mov.l insns that can be relaxed.
-
-Tue Apr 30 18:30:58 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Remove Abs32 from lcall.
-
-Mon Apr 22 17:09:23 1996 Doug Evans <dje@blues.cygnus.com>
-
- * sparc.h (SPARC_OPCODE_ARCH_V9_P): New macro.
- (SLCPOP): New macro.
- Mark X,Y opcode letters as in use.
-
-Thu Apr 11 17:28:18 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * sparc.h (F_FLOAT, F_FBR): Define.
-
-Fri Apr 5 16:55:34 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (ABS8MEM): Renamed from ABSMOV. Remove ABSMOV
- from all insns.
- (ABS8SRC,ABS8DST): Add ABS8MEM.
- (add.l): Fix reg+reg variant.
- (eepmov.w): Renamed from eepmovw.
- (ldc,stc): Fix many cases.
-
-Sun Mar 31 13:30:03 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (SPARC_OPCODE_ARCH_MASK): New macro.
-
-Thu Mar 7 15:08:23 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (O): Mark operand letter as in use.
-
-Tue Feb 20 20:46:21 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare.
- Mark operand letters uU as in use.
-
-Mon Feb 19 01:59:08 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_SPARCLET.
- (sparc_opcode_arch): Delete member `conflicts'. Add `supported'.
- (SPARC_OPCODE_SUPPORTED): New macro.
- (SPARC_OPCODE_CONFLICT_P): Rewrite.
- (F_NOTV9): Delete.
-
-Fri Feb 16 12:23:34 1996 Jeffrey A Law (law@cygnus.com)
-
- * sparc.h (sparc_opcode_lookup_arch) Make return type in
- declaration consistent with return type in definition.
-
-Wed Feb 14 18:14:11 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_optab): Remove Data32 from pushf and popf.
-
-Thu Feb 8 14:27:21 1996 James Carlson <carlson@xylogics.com>
-
- * i386.h (i386_regtab): Add 80486 test registers.
-
-Mon Feb 5 18:35:46 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * i960.h (I_HX): Define.
- (i960_opcodes): Add HX instruction.
-
-Mon Jan 29 12:43:39 1996 Ken Raeburn <raeburn@cygnus.com>
-
- * i386.h: Fix waiting forms of finit, fstenv, fsave, fstsw, fstcw,
- and fclex.
-
-Wed Jan 24 22:36:59 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (enum sparc_opcode_arch_val): Replaces sparc_architecture.
- (SPARC_OPCODE_CONFLICT_P): Renamed from ARCHITECTURES_CONFLICT_P.
- (bfd_* defines): Delete.
- (sparc_opcode_archs): Replaces architecture_pname.
- (sparc_opcode_lookup_arch): Declare.
- (NUMOPCODES): Delete.
-
-Mon Jan 22 08:24:32 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (enum sparc_architecture): Add v9a.
- (ARCHITECTURES_CONFLICT_P): Update.
-
-Thu Dec 28 13:27:53 1995 John Hassey <hassey@rtp.dg.com>
-
- * i386.h: Added Pentium Pro instructions.
-
-Thu Nov 2 22:59:22 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * m68k.h: Document new 'W' operand place.
-
-Tue Oct 24 10:49:10 1995 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h: Add lci and syncdma instructions.
-
-Mon Oct 23 11:09:16 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
-
- * mips.h: Added INSN_4100 flag to mark NEC VR4100 specific
- instructions.
-
-Mon Oct 16 10:28:15 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * ppc.h (PPC_OPCODE_{COMMON,ANY}): New opcode flags for
- assembler's -mcom and -many switches.
-
-Wed Oct 11 16:56:33 1995 Ken Raeburn <raeburn@cygnus.com>
-
- * i386.h: Fix cmpxchg8b extension opcode description.
-
-Thu Oct 5 18:03:36 1995 Ken Raeburn <raeburn@cygnus.com>
-
- * i386.h: Add Pentium instructions wrmsr, rdtsc, rdmsr, cmpxchg8b,
- and register cr4.
-
-Tue Sep 19 15:26:43 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * m68k.h: Change comment: split type P into types 0, 1 and 2.
-
-Wed Aug 30 13:50:55 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (sparc_{encode,decode}_prefetch): Declare.
-
-Tue Aug 29 15:34:58 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (sparc_{encode,decode}_{asi,membar}): Declare.
-
-Wed Aug 2 18:32:19 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * m68kmri.h: Remove.
-
- * m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the
- declarations. Remove F_ALIAS and flag field of struct
- m68k_opcode. Change arch field of struct m68k_opcode to unsigned
- int. Make name and args fields of struct m68k_opcode const.
-
-Wed Aug 2 08:16:46 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (F_NOTV9): Define.
-
-Tue Jul 11 14:20:42 1995 Jeff Spiegel <jeffs@lsil.com>
-
- * mips.h (INSN_4010): Define.
-
-Wed Jun 21 18:49:51 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * m68k.h (TBL1): Reverse sense of "round" argument in result.
-
- Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
- * m68k.h: Fix argument descriptions of coprocessor
- instructions to allow only alterable operands where appropriate.
- [!NO_DEFAULT_SIZES]: An omitted size defaults to `w'.
- (m68k_opcode_aliases): Add more aliases.
-
-Fri Apr 14 22:15:34 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * m68k.h: Added explcitly short-sized conditional branches, and a
- bunch of aliases (fmov*, ftest*, tdivul) to support gcc's
- svr4-based configurations.
-
-Mon Mar 13 21:30:01 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- Mon Feb 27 08:36:39 1995 Bryan Ford <baford@cs.utah.edu>
- * i386.h: added missing Data16/Data32 flags to a few instructions.
-
-Wed Mar 8 15:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (OP_MASK_FR, OP_SH_FR): Define.
- (OP_MASK_BCC, OP_SH_BCC): Define.
- (OP_MASK_PREFX, OP_SH_PREFX): Define.
- (OP_MASK_CCC, OP_SH_CCC): Define.
- (INSN_READ_FPR_R): Define.
- (INSN_RFE): Delete.
-
-Wed Mar 8 03:13:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * m68k.h (enum m68k_architecture): Deleted.
- (struct m68k_opcode_alias): New type.
- (m68k_opcodes): Now const. Deleted opcode aliases with exactly
- matching constraints, values and flags. As a side effect of this,
- the MOTOROLA_SYNTAX_ONLY and MIT_SYNTAX_ONLY macros, which so far
- as I know were never used, now may need re-examining.
- (numopcodes): Now const.
- (m68k_opcode_aliases, numaliases): New variables.
- (endop): Deleted.
- [DONT_DEFINE_TABLE]: Declare numopcodes, numaliases, and
- m68k_opcode_aliases; update declaration of m68k_opcodes.
-
-Mon Mar 6 10:02:00 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * hppa.h (delay_type): Delete unused enumeration.
- (pa_opcode): Replace unused delayed field with an architecture
- field.
- (pa_opcodes): Mark each instruction as either PA1.0 or PA1.1.
-
-Fri Mar 3 16:10:24 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (INSN_ISA4): Define.
-
-Fri Feb 24 19:13:37 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (M_DLA_AB, M_DLI): Define.
-
-Thu Feb 23 17:33:09 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * hppa.h (fstwx): Fix single-bit error.
-
-Wed Feb 15 12:19:52 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (M_ULD, M_ULD_A, M_USD, M_USD_A): Define.
-
-Mon Feb 6 10:35:23 1995 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * i386.h: added cpuid instruction , and dr[0-7] aliases for the
- debug registers. From Charles Hannum (mycroft@netbsd.org).
-
-Mon Feb 6 03:31:54 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- Changes from Bryan Ford <baford@schirf.cs.utah.edu> for 16-bit
- i386 support:
- * i386.h (MOV_AX_DISP32): New macro.
- (i386_optab): Added Data16 and Data32 as needed. Added "w" forms
- of several call/return instructions.
- (ADDR_PREFIX_OPCODE): New macro.
-
-Mon Jan 23 16:45:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * vax.h (struct vot_wot, field `args'): Make it pointer to const
- char.
- (struct vot, field `name'): ditto.
-
-Thu Jan 19 14:47:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * vax.h: Supply and properly group all values in end sentinel.
-
-Tue Jan 17 10:55:30 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * mips.h (INSN_ISA, INSN_4650): Define.
-
-Wed Oct 19 13:34:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * a29k.h: Add operand type 'I' for `inv' and `iretinv'. On
- systems with a separate instruction and data cache, such as the
- 29040, these instructions take an optional argument.
-
-Wed Sep 14 17:44:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * mips.h (INSN_STORE_MEMORY): Correct value to not conflict with
- INSN_TRAP.
-
-Tue Sep 6 11:39:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * mips.h (INSN_STORE_MEMORY): Define.
-
-Thu Jul 28 19:28:07 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * sparc.h: Document new operand type 'x'.
-
-Tue Jul 26 17:48:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i960.h (I_CX2): New instruction category. It includes
- instructions available on Cx and Jx processors.
- (I_JX): New instruction category, for JX-only instructions.
- (i960_opcodes): Put eshro and sysctl in I_CX2 category. Added
- Jx-only instructions, in I_JX category.
-
-Wed Jul 13 18:43:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * ns32k.h (endop): Made pointer const too.
-
-Sun Jul 10 11:01:09 1994 Ian Dall (dall@hfrd.dsto.gov.au)
-
- * ns32k.h: Drop Q operand type as there is no correct use
- for it. Add I and Z operand types which allow better checking.
-
-Thu Jul 7 12:34:48 1994 Steve Chamberlain (sac@jonny.cygnus.com)
-
- * h8300.h (xor.l) :fix bit pattern.
- (L_2): New size of operand.
- (trapa): Use it.
-
-Fri Jun 10 16:38:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * m68k.h: Move "trap" before "tpcc" to change disassembly.
-
-Fri Jun 3 15:57:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * sparc.h: Include v9 definitions.
-
-Thu Jun 2 12:23:17 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * m68k.h (m68060): Defined.
- (m68040up, mfloat, mmmu): Include it.
- (struct m68k_opcode): Widen `arch' field.
- (m68k_opcodes): Updated for M68060. Removed comments that were
- instructions commented out by "JF" years ago.
-
-Thu Apr 28 18:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * m68k.h (struct m68k_opcode): Shorten `arch' field to 8 bits, and
- add a one-bit `flags' field.
- (F_ALIAS): New macro.
-
-Wed Apr 27 11:29:52 1994 Steve Chamberlain (sac@cygnus.com)
-
- * h8300.h (dec, inc): Get encoding right.
-
-Mon Apr 4 13:12:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ppc.h (struct powerpc_operand): Removed signedp field; just use
- a flag instead.
- (PPC_OPERAND_SIGNED): Define.
- (PPC_OPERAND_SIGNOPT): Define.
-
-Thu Mar 31 19:34:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i386.h (IS_JUMP_ON_ECX_ZERO, "jcxz" pattern): Operand size
- prefix is 0x66, not 0x67. Patch from H.J. Lu (hlu@nynexst.com).
-
-Thu Mar 3 15:51:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i386.h: Reverse last change. It'll be handled in gas instead.
-
-Thu Feb 24 15:29:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i386.h (sar): Disabled the two-operand Imm1 form, since it was
- slower on the 486 and used the implicit shift count despite the
- explicit operand. The one-operand form is still available to get
- the shorter form with the implicit shift count.
-
-Thu Feb 17 12:27:52 1994 Torbjorn Granlund (tege@mexican.cygnus.com)
-
- * hppa.h: Fix typo in fstws arg string.
-
-Wed Feb 9 21:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ppc.h (struct powerpc_opcode): Make operands field unsigned.
-
-Mon Feb 7 19:14:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ppc.h (PPC_OPCODE_601): Define.
-
-Fri Feb 4 23:43:50 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * hppa.h (addb): Use '@' for addb and addib pseudo ops.
- (so we can determine valid completers for both addb and addb[tf].)
-
- * hppa.h (xmpyu): No floating point format specifier for the
- xmpyu instruction.
-
-Fri Feb 4 23:36:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ppc.h (PPC_OPERAND_NEXT): Define.
- (PPC_OPERAND_NEGATIVE): Change value to make room for above.
- (struct powerpc_macro): Define.
- (powerpc_macros, powerpc_num_macros): Declare.
-
-Fri Jan 21 19:13:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ppc.h: New file. Header file for PowerPC opcode table.
-
-Mon Jan 17 00:14:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * hppa.h: More minor template fixes for sfu and copr (to allow
- for easier disassembly).
-
- * hppa.h: Fix templates for all the sfu and copr instructions.
-
-Wed Dec 15 15:12:42 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i386.h (push): Permit Imm16 operand too.
-
-Sat Dec 11 16:14:06 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * h8300.h (andc): Exists in base arch.
-
-Wed Dec 1 12:15:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * From Hisashi MINAMINO <minamino@sramhc.sra.co.jp>
- * hppa.h: #undef NONE to avoid conflict with hiux include files.
-
-Sun Nov 21 22:06:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * hppa.h: Add FP quadword store instructions.
-
-Wed Nov 17 17:13:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h: (M_J_A): Added.
- (M_LA): Removed.
-
-Mon Nov 8 12:12:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (OP_MASK_CACHE, OP_SH_CACHE): Define. From Ted Lemon
- <mellon@pepper.ncd.com>.
-
-Sun Nov 7 00:30:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * hppa.h: Immediate field in probei instructions is unsigned,
- not low-sign extended.
-
-Wed Nov 3 10:30:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * m88k.h (RRI10MASK): Change from 0xfc00ffe0 to 0xfc00fc00.
-
-Tue Nov 2 12:41:30 1993 Ken Raeburn (raeburn@rover.cygnus.com)
-
- * i386.h: Add "fxch" without operand.
-
-Mon Nov 1 18:13:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (M_JAL_1, M_JAL_2, M_JAL_A): Added.
-
-Sat Oct 2 22:26:11 1993 Jeffrey A Law (law@snake.cs.utah.edu)
-
- * hppa.h: Add gfw and gfr to the opcode table.
-
-Wed Sep 29 16:23:00 1993 K. Richard Pixley (rich@sendai.cygnus.com)
-
- * m88k.h: extended to handle m88110.
-
-Tue Sep 28 19:19:08 1993 Jeffrey A Law (law@snake.cs.utah.edu)
-
- * hppa.h (be, ble): Use operand type 'z' to denote absolute branch
- addresses.
-
-Tue Sep 14 14:04:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * i960.h (i960_opcodes): Properly bracket initializers.
-
-Mon Sep 13 12:50:52 1993 K. Richard Pixley (rich@sendai.cygnus.com)
-
- * m88k.h (BOFLAG): rewrite to avoid nested comment.
-
-Mon Sep 13 15:46:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * m68k.h (two): Protect second argument with parentheses.
-
-Fri Sep 10 16:29:47 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * i386.h (i386_optab): Added new instruction "rsm" (for i386sl).
- Deleted old in/out instructions in "#if 0" section.
-
-Thu Sep 9 17:42:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * i386.h (i386_optab): Properly bracket initializers.
-
-Wed Aug 25 13:50:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * hppa.h (pa_opcode): Use '|' for movb and movib insns. (From
- Jeff Law, law@cs.utah.edu).
-
-Mon Aug 23 16:55:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * i386.h (lcall): Accept Imm32 operand also.
-
-Mon Aug 23 12:43:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (M_ABSU): Removed (absolute value of unsigned number??).
- (M_DABS): Added.
-
-Thu Aug 19 15:08:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (INSN_*): Changed values. Removed unused definitions.
- Added INSN_COND_BRANCH_LIKELY, INSN_ISA2 and INSN_ISA3. Split
- INSN_LOAD_DELAY into INSN_LOAD_MEMORY_DELAY and
- INSN_LOAD_COPROC_DELAY. Split INSN_COPROC_DELAY into
- INSN_COPROC_MOVE_DELAY and INSN_COPROC_MEMORY_DELAY.
- (M_*): Added new values for r6000 and r4000 macros.
- (ANY_DELAY): Removed.
-
-Wed Aug 18 15:37:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h: Added M_LI_S and M_LI_SS.
-
-Tue Aug 17 07:08:08 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
-
- * h8300.h: Get some rare mov.bs correct.
-
-Thu Aug 5 09:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * sparc.h: Don't define const ourself; rely on ansidecl.h having
- been included.
-
-Fri Jul 30 18:41:11 1993 John Gilmore (gnu@cygnus.com)
-
- * sparc.h (F_JSR, F_UNBR, F_CONDBR): Add new flags to mark
- jump instructions, for use in disassemblers.
-
-Thu Jul 22 07:25:27 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * m88k.h: Make bitfields just unsigned, not unsigned long or
- unsigned short.
-
-Wed Jul 21 11:55:31 1993 Jim Kingdon (kingdon@deneb.cygnus.com)
-
- * hppa.h: New argument type 'y'. Use in various float instructions.
-
-Mon Jul 19 17:17:03 1993 Jim Kingdon (kingdon@deneb.cygnus.com)
-
- * hppa.h (break): First immediate field is unsigned.
-
- * hppa.h: Add rfir instruction.
-
-Sun Jul 18 16:28:08 1993 Jim Kingdon (kingdon@rtl.cygnus.com)
-
- * mips.h: Split the actual table out into ../../opcodes/mips-opc.c.
-
-Fri Jul 16 09:59:29 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h: Reworked the hazard information somewhat, and fixed some
- bugs in the instruction hazard descriptions.
-
-Thu Jul 15 12:42:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * m88k.h: Corrected a couple of opcodes.
-
-Tue Jul 6 15:17:35 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h: Replaced with version from Ralph Campbell and OSF. The
- new version includes instruction hazard information, but is
- otherwise reasonably similar.
-
-Thu Jul 1 20:36:17 1993 Doug Evans (dje@canuck.cygnus.com)
-
- * h8300.h: Fix typo in UNOP3 (affected sh[al][lr].l).
-
-Fri Jun 11 18:38:44 1993 Ken Raeburn (raeburn@cygnus.com)
-
- Patches from Jeff Law, law@cs.utah.edu:
- * hppa.h: Clean up some of the OLD_TABLE, non-OLD_TABLE braindamage.
- Make the tables be the same for the following instructions:
- "bb", "addb[tf]", "addib[tf]", "add", "add[loc]", "addco",
- "sh[123]add", "sh[123]add[lo]", "sub", "sub[obt]", "sub[bt]o",
- "ds", "comclr", "addi", "addi[ot]", "addito", "subi", "subio",
- "comiclr", "fadd", "fsub", "fmpy", "fdiv", "fsqrt", "fabs",
- "frnd", "fcpy", "fcnvff", "fcnvxf", "fcnvfx", "fcnvfxt",
- "fcmp", and "ftest".
-
- * hppa.h: Make new and old tables the same for "break", "mtctl",
- "mfctl", "bb", "ssm", "rsm", "xmpyu", "fmpyadd", "fmpysub".
- Fix typo in last patch. Collapse several #ifdefs into a
- single #ifdef.
-
- * hppa.h: Delete remaining OLD_TABLE code. Bring some
- of the comments up-to-date.
-
- * hppa.h: Update "free list" of letters and update
- comments describing each letter's function.
-
-Thu Jul 8 09:05:26 1993 Doug Evans (dje@canuck.cygnus.com)
-
- * h8300.h: Lots of little fixes for the h8/300h.
-
-Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
-
- Support for H8/300-H
- * h8300.h: Lots of new opcodes.
-
-Fri Jun 4 15:41:37 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
-
- * h8300.h: checkpoint, includes H8/300-H opcodes.
-
-Thu Jun 3 15:42:59 1993 Stu Grossman (grossman@cygnus.com)
-
- * Patches from Jeffrey Law <law@cs.utah.edu>.
- * hppa.h: Rework single precision FP
- instructions so that they correctly disassemble code
- PA1.1 code.
-
-Thu May 27 19:21:22 1993 Bruce Bauman (boot@osf.org)
-
- * i386.h (i386_optab, mov pattern): Remove Mem16 restriction from
- mov to allow instructions like mov ss,xyz(ecx) to assemble.
-
-Tue May 25 00:39:40 1993 Ken Raeburn (raeburn@cygnus.com)
-
- * hppa.h: Use new version from Utah if OLD_TABLE isn't defined;
- gdb will define it for now.
-
-Mon May 24 15:20:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * sparc.h: Don't end enumerator list with comma.
-
-Fri May 14 15:15:50 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * Based on patches from davidj@ICSI.Berkeley.EDU (David Johnson):
- * mips.h (OP_MASK_COPZ, OP_SH_COPZ): Define.
- ("bc2t"): Correct typo.
- ("[ls]wc[023]"): Use T rather than t.
- ("c[0123]"): Define general coprocessor instructions.
-
-Mon May 10 06:02:25 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
-
- * m68k.h: Move split point for gcc compilation more towards
- middle.
-
-Fri Apr 9 13:26:16 1993 Jim Kingdon (kingdon@cygnus.com)
-
- * rs6k.h: Clean up instructions for primary opcode 19 (many were
- simply wrong, ics, rfi, & rfsvc were missing).
- Add "a" to opr_ext for "bb". Doc fix.
-
-Thu Mar 18 13:45:31 1993 Per Bothner (bothner@rtl.cygnus.com)
-
- * i386.h: 486 extensions from John Hassey (hassey@dg-rtp.dg.com).
- * mips.h: Add casts, to suppress warnings about shifting too much.
- * m68k.h: Document the placement code '9'.
-
-Thu Feb 18 02:03:14 1993 John Gilmore (gnu@cygnus.com)
-
- * m68k.h (BREAK_UP_BIG_DECL, AND_OTHER_PART): Add kludge which
- allows callers to break up the large initialized struct full of
- opcodes into two half-sized ones. This permits GCC to compile
- this module, since it takes exponential space for initializers.
- (numopcodes, endop): Revise to use AND_OTHER_PART in size calcs.
-
-Thu Feb 4 02:06:56 1993 John Gilmore (gnu@cygnus.com)
-
- * a29k.h: Remove RCS crud, update GPL to v2, update copyrights.
- * convex.h: Added, from GDB's convx-opcode.h. Added CONST to all
- initialized structs in it.
-
-Thu Jan 28 21:32:22 1993 John Gilmore (gnu@cygnus.com)
-
- Delta 88 changes inspired by Carl Greco, <cgreco@Creighton.Edu>:
- * m88k.h (PMEM): Avoid previous definition from <sys/param.h>.
- (AND): Change to AND_ to avoid ansidecl.h `AND' conflict.
-
-Sat Jan 23 18:10:49 PST 1993 Ralph Campbell (ralphc@pyramid.com)
-
- * mips.h: document "i" and "j" operands correctly.
-
-Thu Jan 7 15:58:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h: Removed endianness dependency.
-
-Sun Jan 3 14:13:35 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * h8300.h: include info on number of cycles per instruction.
-
-Mon Dec 21 21:29:08 1992 Stu Grossman (grossman at cygnus.com)
-
- * hppa.h: Move handy aliases to the front. Fix masks for extract
- and deposit instructions.
-
-Sat Dec 12 16:09:48 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * i386.h: accept shld and shrd both with and without the shift
- count argument, which is always %cl.
-
-Fri Nov 27 17:13:18 1992 Ken Raeburn (raeburn at cygnus.com)
-
- * i386.h (i386_optab_end, i386_regtab_end): Now const.
- (one_byte_segment_defaults, two_byte_segment_defaults,
- i386_prefixtab_end): Ditto.
-
-Mon Nov 23 10:47:25 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * vax.h (bb*): Use "v" (bitfield type), not "a" (address operand)
- for operand 2; from John Carr, jfc@dsg.dec.com.
-
-Wed Nov 4 07:36:49 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * m68k.h: Define FIXED_SIZE_BRANCH, so bsr and bra instructions
- always use 16-bit offsets. Makes calculated-size jump tables
- feasible.
-
-Fri Oct 16 22:52:43 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * i386.h: Fix one-operand forms of in* and out* patterns.
-
-Tue Sep 22 14:08:14 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * m68k.h: Added CPU32 support.
-
-Tue Sep 22 00:38:41 1992 John Gilmore (gnu@cygnus.com)
-
- * mips.h (break): Disassemble the argument. Patch from
- jonathan@cs.stanford.edu (Jonathan Stone).
-
-Wed Sep 9 11:25:28 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * m68k.h: merged Motorola and MIT syntax.
-
-Thu Sep 3 09:33:22 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * m68k.h (pmove): make the tests less strict, the 68k book is
- wrong.
-
-Tue Aug 25 23:25:19 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * m68k.h (m68ec030): Defined as alias for 68030.
- (m68k_opcodes): New type characters "3" for 68030 MMU regs and "t"
- for immediate 0-7 added. Set up some opcodes (ptest, bkpt) to use
- them. Tightened description of "fmovex" to distinguish it from
- some "pmove" encodings. Added "pmove" for 68030 MMU regs, cleaned
- up descriptions that claimed versions were available for chips not
- supporting them. Added "pmovefd".
-
-Mon Aug 24 12:04:51 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * m68k.h: fix where the . goes in divull
-
-Wed Aug 19 11:22:24 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * m68k.h: the cas2 instruction is supposed to be written with
- indirection on the last two operands, which can be either data or
- address registers. Added a new operand type 'r' which accepts
- either register type. Added new cases for cas2l and cas2w which
- use them. Corrected masks for cas2 which failed to recognize use
- of address register.
-
-Fri Aug 14 14:20:38 1992 Per Bothner (bothner@cygnus.com)
-
- * m68k.h: Merged in patches (mostly m68040-specific) from
- Colin Smith <colin@wrs.com>.
-
- * m68k.h: Merged m68kmri.h and m68k.h (using the former as a
- base). Also cleaned up duplicates, re-ordered instructions for
- the sake of dis-assembling (so aliases come after standard names).
- * m68kmri.h: Now just defines some macros, and #includes m68k.h.
-
-Wed Aug 12 16:38:15 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in
- all missing .s
-
-Mon Aug 10 23:22:33 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * sparc.h: Moved tables to BFD library.
-
- * i386.h (i386_optab): Add fildq, fistpq aliases used by gcc.
-
-Sun Jun 28 13:29:03 1992 Fred Fish (fnf@cygnus.com)
-
- * h8300.h: Finish filling in all the holes in the opcode table,
- so that the Lucid C compiler can digest this as well...
-
-Fri Jun 26 21:27:17 1992 John Gilmore (gnu at cygnus.com)
-
- * i386.h: Add setc, setnc, addr16, data16, repz, repnz aliases.
- Fix opcodes on various sizes of fild/fist instructions
- (16bit=no suffix, 32bit="l" suffix, 64bit="ll" suffix).
- Use tabs to indent for comments. Fixes suggested by Minh Tran-Le.
-
-Thu Jun 25 16:13:26 1992 Stu Grossman (grossman at cygnus.com)
-
- * h8300.h: Fill in all the holes in the opcode table so that the
- losing HPUX C compiler can digest this...
-
-Thu Jun 11 12:15:25 1992 John Gilmore (gnu at cygnus.com)
-
- * mips.h: Fix decoding of coprocessor instructions, somewhat.
- (Fix by Eric Anderson, 3jean@maas-neotek.arc.nasa.gov.)
-
-Thu May 28 11:17:44 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * sparc.h: Add new architecture variant sparclite; add its scan
- and divscc opcodes. Define ARCHITECTURES_CONFLICT_P macro.
-
-Tue May 5 14:23:27 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * mips.h: Add some more opcode synonyms (from Frank Yellin,
- fy@lucid.com).
-
-Thu Apr 16 18:25:26 1992 Per Bothner (bothner@cygnus.com)
-
- * rs6k.h: New version from IBM (Metin).
-
-Thu Apr 9 00:31:19 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * rs6k.h: Fix incorrect extended opcode for instructions `fm'
- and `fd'. (From metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik).)
-
-Tue Apr 7 13:38:47 1992 Stu Grossman (grossman at cygnus.com)
-
- * rs6k.h: Move from ../../gdb/rs6k-opcode.h.
-
-Fri Apr 3 11:30:20 1992 Fred Fish (fnf@cygnus.com)
-
- * m68k.h (one, two): Cast macro args to unsigned to suppress
- complaints from compiler and lint about integer overflow during
- shift.
-
-Sun Mar 29 12:22:08 1992 John Gilmore (gnu at cygnus.com)
-
- * sparc.h (OP): Avoid signed overflow when shifting to high order bit.
-
-Fri Mar 6 00:22:38 1992 John Gilmore (gnu at cygnus.com)
-
- * mips.h: Make bitfield layout depend on the HOST compiler,
- not on the TARGET system.
-
-Fri Feb 21 01:29:51 1992 K. Richard Pixley (rich@cygnus.com)
-
- * i386.h: added inb, inw, outb, outw opcodes, added att syntax for
- scmp, slod, smov, ssca, ssto. Curtesy Minh Tran-Le
- <TRANLE@INTELLICORP.COM>.
-
-Thu Jan 30 07:31:44 1992 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * h8300.h: turned op_type enum into #define list
-
-Thu Jan 30 01:07:24 1992 John Gilmore (gnu at cygnus.com)
-
- * sparc.h: Remove "cypress" architecture. Remove "fitox" and
- similar instructions -- they've been renamed to "fitoq", etc.
- REALLY fix tsubcctv. Fix "fcmpeq" and "fcmpq" which had wrong
- number of arguments.
- * h8300.h: Remove extra ; which produces compiler warning.
-
-Tue Jan 28 22:59:22 1992 Stu Grossman (grossman at cygnus.com)
-
- * sparc.h: fix opcode for tsubcctv.
-
-Tue Jan 7 17:19:39 1992 K. Richard Pixley (rich at cygnus.com)
-
- * sparc.h: fba and cba are now aliases for fb and cb respectively.
-
-Fri Dec 27 10:55:50 1991 Per Bothner (bothner at cygnus.com)
-
- * sparc.h (nop): Made the 'lose' field be even tighter,
- so only a standard 'nop' is disassembled as a nop.
-
-Sun Dec 22 12:18:18 1991 Michael Tiemann (tiemann at cygnus.com)
-
- * sparc.h (nop): Add RD_GO to `lose' so that only %g0 in dest is
- disassembled as a nop.
-
-Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com)
-
- * m68k.h, sparc.h: ANSIfy enums.
-
-Tue Dec 10 00:22:20 1991 K. Richard Pixley (rich at rtl.cygnus.com)
-
- * sparc.h: fix a typo.
-
-Sat Nov 30 20:40:51 1991 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * a29k.h, arm.h, h8300.h, i386.h, i860.h, i960.h , m68k.h,
- m88k.h, mips.h , np1.h, ns32k.h, pn.h, pyr.h, sparc.h, tahoe.h,
- vax.h: Renamed from ../<foo>-opcode.h.
+ * h8300.h (BITOP): Dissallow operations on @aa:16 and @aa:32
+ except for the H8S.
+For older changes see ChangeLog-9103
Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
version-control: never
End:
diff --git a/include/opcode/ChangeLog-9103 b/include/opcode/ChangeLog-9103
new file mode 100644
index 00000000000..0cdb1f3bed6
--- /dev/null
+++ b/include/opcode/ChangeLog-9103
@@ -0,0 +1,3102 @@
+2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
+ Bernardo Innocenti <bernie@develer.com>
+
+ * m68k.h: Add MCFv4/MCF5528x support.
+
+2003-10-19 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix.h (JMP_INSN_BYTE): Define.
+
+2003-09-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Document +E, +F, +G, +H, and +I operand types.
+ Update documentation of I, +B and +C operand types.
+ (INSN_ISA64R2, ISA_MIPS64R2, CPU_MIPS64R2): New defines.
+ (M_DEXT, M_DINS): New enum values.
+
+2003-09-04 Nick Clifton <nickc@redhat.com>
+
+ * v850.h (PROCESSOR_V850E1): Define.
+
+2003-08-19 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (PPC_OPCODE_440): Define. Formatting. Use hex for other
+ PPC_OPCODE_* defines.
+
+2003-08-16 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (fmov.ds): Expand as famov.ds.
+ (fmov.sd): Expand as famov.sd.
+ (pfmov.ds): Expand as pfamov.ds.
+
+2003-08-07 Michael Meissner <gnu@the-meissners.org>
+
+ * cgen.h: Remove PARAM macro usage in all prototypes.
+ (CGEN_EXTRACT_INFO): Use void * instead of PTR.
+ (cgen_print_fn): Ditto.
+ (CGEN_HW_ENTRY): Ditto.
+ (CGEN_MAYBE_MULTI_IFLD): Ditto.
+ (struct cgen_insn): Ditto.
+ (CGEN_CPU_TABLE): Ditto.
+
+2003-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * alpha.h: Remove PARAMS macro.
+ * arc.h: Likewise.
+ * d10v.h: Likewise.
+ * d30v.h: Likewise.
+ * i370.h: Likewise.
+ * or32.h: Likewise.
+ * pj.h: Likewise.
+ * ppc.h: Likewise.
+ * sparc.h: Likewise.
+ * tic80.h: Likewise.
+ * v850.h: Likewise.
+
+2003-07-18 Michael Snyder <msnyder@redhat.com>
+
+ * include/opcode/h8sx.h (DO_MOVA1, DO_MOVA2): Reformatting.
+
+2003-07-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * mips.h (CPU_RM7000): New macro.
+ (OPCODE_IS_MEMBER): Match CPU_RM7000 against 4650 insns.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
+ * mn10300.h (AM33_2): Renamed from AM33.
+ 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
+ * mn10300.h (AM332, FMT_D3): Defined.
+ (MN10300_OPERAND_FSREG, MN10300_OPERAND_FDREG): Likewise.
+ (MN10300_OPERAND_FPCR): Likewise.
+
+2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h (s390_opcode_cpu_val): Add enum for cpu type z990.
+
+2003-06-25 Richard Sandiford <rsandifo@redhat.com>
+
+ * h8300.h (IMM2_NS, IMM8_NS, IMM16_NS): Remove.
+ (IMM8U, IMM8U_NS): Define.
+ (h8_opcodes): Use IMM8U_NS for mov.[wl] #xx:8,@yy.
+
+2003-06-25 Richard Sandiford <rsandifo@redhat.com>
+
+ * h8300.h (h8_opcodes): Fix the mov.l @(dd:32,ERs),ERd and
+ mov.l ERs,@(dd:32,ERd) entries.
+
+2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386.h (i386_optab): Support Intel Precott New Instructions.
+
+2003-06-10 Gary Hade <garyhade@us.ibm.com>
+
+ * ppc.h (PPC_OPERAND_DQ): Define.
+
+2003-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * h8300.h (IMM4_NS, IMM8_NS): New.
+ (h8_opcodes): Replace IMM4 with IMM4_NS in mov.b and mov.w entries.
+ Likewise IMM8 for mov.w and mov.l. Likewise IMM16U for mov.l.
+
+2003-06-03 Michael Snyder <msnyder@redhat.com>
+
+ * h8300.h (enum h8_model): Add AV_H8S to distinguish from H8H.
+ (ldc): Split ccr ops from exr ops (which are only available
+ on H8S or H8SX).
+ (stc): Ditto.
+ (andc, orc, xorc): Ditto.
+ (ldmac, stmac, clrmac, mac): Change access to AV_H8S.
+
+2003-06-03 Michael Snyder <msnyder@redhat.com>
+ and Bernd Schmidt <bernds@redhat.com>
+ and Alexandre Oliva <aoliva@redhat.com>
+ * h8300.h: Add support for h8300sx instruction set.
+
+2003-05-23 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (expand_type): Add XP_ONLY.
+ (scyc.b): New XP instruction.
+ (ldio.l): Likewise.
+ (ldio.s): Likewise.
+ (ldio.b): Likewise.
+ (ldint.l): Likewise.
+ (ldint.s): Likewise.
+ (ldint.b): Likewise.
+ (stio.l): Likewise.
+ (stio.s): Likewise.
+ (stio.b): Likewise.
+ (pfld.q): Likewise.
+
+2003-05-20 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (flush): Set lower 3 bits properly and use 'L'
+ for the immediate operand type instead of 'i'.
+
+2003-05-20 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (fzchks): Both S and R bits must be set.
+ (pfzchks): Likewise.
+ (faddp): Likewise.
+ (pfaddp): Likewise.
+ (fix.ss): Remove (invalid instruction).
+ (pfix.ss): Likewise.
+ (ftrunc.ss): Likewise.
+ (pftrunc.ss): Likewise.
+
+2003-05-18 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (form, pform): Add missing .dd suffix.
+
+2003-05-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000
+
+2003-04-07 Michael Snyder <msnyder@redhat.com>
+
+ * h8300.h (ldc/stc): Fix up src/dst swaps.
+
+2003-04-09 J. Grant <jg-binutils@jguk.org>
+
+ * mips.h: Correct comment typo.
+
+2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h (s390_opcode_arch_val): Rename to s390_opcode_mode_val.
+ (S390_OPCODE_ESAME): Rename to S390_OPCODE_ZARCH.
+ (s390_opcode): Remove architecture. Add modes and min_cpu.
+
+2003-03-17 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+ * h8300.h (O_SYS_CMDLINE): New pseudo opcode for command line
+ processing.
+
+2003-02-21 Noida D.Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+ * h8300.h (ldmac, stmac): Replace MACREG with MS32 and MD32.
+
+2003-01-23 Alan Modra <amodra@bigpond.net.au>
+
+ * m68hc11.h (cpu6812s): Define.
+
+2003-01-07 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Fix missing space in comment.
+ (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, INSN_ISA5)
+ (INSN_ISA32, INSN_ISA32R2, INSN_ISA64): Shift values right
+ by four bits.
+
+2003-01-02 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Update copyright years to include 2002 (which had
+ been missed previously) and 2003. Make comments about "+A",
+ "+B", and "+C" operand types more descriptive.
+
+2002-12-31 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Note that the "+D" operand type name is now used.
+
+2002-12-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Document "+" as the start of two-character operand
+ type names, and add new "K", "+A", "+B", and "+C" operand types.
+ (OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB)
+ (OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New
+ defines.
+
+2002-12-24 Dmitry Diky <diwil@mail.ru>
+
+ * msp430.h: New file. Defines msp430 opcodes.
+
+2002-12-30 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+ * h8300.h: Added some more pseudo opcodes for system call
+ processing.
+
+2002-12-19 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (OP_OP_COP0, OP_OP_COP1, OP_OP_COP2, OP_OP_COP3)
+ (OP_OP_LWC1, OP_OP_LWC2, OP_OP_LWC3, OP_OP_LDC1, OP_OP_LDC2)
+ (OP_OP_LDC3, OP_OP_SWC1, OP_OP_SWC2, OP_OP_SWC3, OP_OP_SDC1)
+ (OP_OP_SDC2, OP_OP_SDC3): Define.
+
+2002-12-16 Alan Modra <amodra@bigpond.net.au>
+
+ * hppa.h (completer_chars): #if 0 out.
+
+ * ns32k.h (struct ns32k_opcode): Constify "name", "operands" and
+ "default_args".
+ (struct not_wot): Constify "args".
+ (struct not): Constify "name".
+ (numopcodes): Delete.
+ (endop): Delete.
+
+2002-12-13 Alan Modra <amodra@bigpond.net.au>
+
+ * pj.h (pj_opc_info_t): Add union.
+
+2002-12-04 David Mosberger <davidm@hpl.hp.com>
+
+ * ia64.h: Fix copyright message.
+ (IA64_OPND_AR_CSD): New operand kind.
+
+2002-12-03 Richard Henderson <rth@redhat.com>
+
+ * ia64.h (enum ia64_opnd): Add IA64_OPND_LDXMOV.
+
+2002-12-03 Alan Modra <amodra@bigpond.net.au>
+
+ * cgen.h (struct cgen_maybe_multi_ifield): Add "const PTR p" to union.
+ Constify "leaf" and "multi".
+
+2002-11-19 Klee Dienes <kdienes@apple.com>
+
+ * h8300.h (h8_opcode): Remove 'noperands', 'idx', and 'size'
+ fields.
+ (h8_opcodes). Modify initializer and initializer macros to no
+ longer initialize the removed fields.
+
+2002-11-19 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x.h (c4x_insts): Fixed LDHI constraint
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * h8300.h (h8_opcode): Remove 'length' field.
+ (h8_opcodes): Mark as 'const' (both the declaration and
+ definition). Modify initializer and initializer macros to no
+ longer initialize the length field.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * arc.h (arc_ext_opcodes): Declare as extern.
+ (arc_ext_operands): Declare as extern.
+ * i860.h (i860_opcodes): Declare as const.
+
+2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x.h: File reordering. Added enhanced opcodes.
+
+2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x.h: Major rewrite of entire file. Define instruction
+ classes, and put each instruction into a class.
+
+2002-11-11 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x.h: Added new opcodes and corrected some bugs. Add support
+ for new DSP types.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * cgen.h: Test __BFD_H_SEEN__ rather than BFD_VERSION_DATE.
+
+2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
+ Ken Raeburn <raeburn@cygnus.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * mips.h: Update comment for new opcodes.
+ (OP_MASK_VECBYTE, OP_SH_VECBYTE): New.
+ (OP_MASK_VECALIGN, OP_SH_VECALIGN): New.
+ (INSN_4111, INSN_4120, INSN_5400, INSN_5500): New.
+ (CPU_VR4120, CPU_VR5400, CPU_VR5500): New.
+ (OPCODE_IS_MEMBER): Handle the new CPU_* values and INSN_* flags.
+ Don't match CPU_R4111 with INSN_4100.
+
+2002-08-19 Elena Zannoni <ezannoni@redhat.com>
+
+ From matthew green <mrg@redhat.com>
+
+ * ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500
+ instructions.
+ (PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR,
+ PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the
+ e500x2 Integer select, branch locking, performance monitor,
+ cache locking and machine check APUs, respectively.
+ (PPC_OPCODE_EFS): New opcode type for efs* instructions.
+ (PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (M6812_OP_PAGE): Define to identify call operand.
+ (M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE,
+ M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12
+ memory banks.
+ (M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value.
+
+2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h (INSN_MIPS16): New define.
+
+2002-07-08 Alan Modra <amodra@bigpond.net.au>
+
+ * i386.h: Remove IgnoreSize from movsx and movzx.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * a29k.h: Replace CONST with const.
+ (CONST): Don't define.
+ * convex.h: Replace CONST with const.
+ (CONST): Don't define.
+ * dlx.h: Replace CONST with const.
+ * or32.h (CONST): Don't define.
+
+2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL)
+ (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH)
+ (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC)
+ (INSN_MDMX): New constants, for MDMX support.
+ (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * dlx.h: New file.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * ia64.h: Use #include "" instead of <> for local header files.
+ * sparc.h: Likewise.
+
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases.
+
+2002-05-17 Andrey Volkov <avolkov@sources.redhat.com>
+
+ * h8300.h: Corrected defs of all control regs
+ and eepmov instr.
+
+2002-04-11 Alan Modra <amodra@bigpond.net.au>
+
+ * i386.h: Add intel mode cmpsd and movsd.
+ Put them before SSE2 insns, so that rep prefix works.
+
+2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D
+ instructions.
+ (OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks
+ may be passed along with the ISA bitmask.
+
+2002-03-05 Paul Koning <pkoning@equallogic.com>
+
+ * pdp11.h: Add format codes for float instruction formats.
+
+2002-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define.
+
+Mon Feb 18 17:31:48 CET 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands.
+
+Mon Feb 11 12:53:19 CET 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (push,pop): Allow 16bit operands in 64bit mode.
+ (xchg): Fix.
+ (in, out): Disable 64bit operands.
+ (call, jmp): Avoid REX prefixes.
+ (jcxz): Prohibit in 64bit mode
+ (jrcxz, loop): Add 64bit variants.
+ (movq): Fix patterns.
+ (movmskps, pextrw, pinstrw): Add 64bit variants.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * or32.h: New file.
+
+2002-01-22 Graydon Hoare <graydon@redhat.com>
+
+ * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure.
+ (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field.
+
+2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
+
+ * h8300.h: Comment typo fix.
+
+2002-01-03 matthew green <mrg@redhat.com>
+
+ * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific.
+ (PPC_OPCODE_BOOKE64): Likewise.
+
+Mon Dec 31 16:45:41 2001 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (call, ret): Move to end of table.
+ (addb, addib): PA2.0 variants should have been PA2.0W.
+ (ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler
+ happy.
+ (fldw, fldd, fstw, fstd, bb): Likewise.
+ (short loads/stores): Tweak format specifier slightly to keep
+ disassembler happy.
+ (indexed loads/stores): Likewise.
+ (absolute loads/stores): Likewise.
+
+2001-12-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * d10v.h (OPERAND_NOSP): New macro.
+
+2001-11-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * d10v.h (OPERAND_SP): New macro.
+
+2001-11-15 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param.
+
+2001-11-11 Timothy Wall <twall@alum.mit.edu>
+
+ * tic54x.h: Revise opcode layout; don't really need a separate
+ structure for parallel opcodes.
+
+2001-11-13 Zack Weinberg <zack@codesourcery.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to
+ accept WordReg.
+
+2001-11-04 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (OPCODE_IS_MEMBER): Remove extra space.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix.h: New file.
+
+2001-10-18 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (OPCODE_IS_MEMBER): Add a no-op term to the end
+ of the expression, to make source code merging easier.
+
+2001-10-17 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Sort coprocessor instruction argument characters
+ in comment, add a few more words of description for "H".
+
+2001-10-17 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (INSN_SB1): New cpu-specific instruction bit.
+ (OPCODE_IS_MEMBER): Allow instructions matching INSN_SB1
+ if cpu is CPU_SB1.
+
+2001-10-17 matthew green <mrg@redhat.com>
+
+ * ppc.h (PPC_OPCODE_BOOKE64): Fix typo.
+
+2001-10-12 matthew green <mrg@redhat.com>
+
+ * ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_BOOKE64, PPC_OPCODE_403): New
+ opcode flags for BookE 32-bit, BookE 64-bit and PowerPC 403
+ instructions, respectively.
+
+2001-09-27 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * v850.h: Remove spurious comment.
+
+2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * h8300.h: Fix compile time warning messages
+
+2001-09-04 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (struct alpha_operand): Pack elements into bitfields.
+
+2001-08-31 Eric Christopher <echristo@redhat.com>
+
+ * mips.h: Remove CPU_MIPS32_4K.
+
+2001-08-27 Torbjorn Granlund <tege@swox.com>
+
+ * ppc.h (PPC_OPERAND_DS): Define.
+
+2001-08-25 Andreas Jaeger <aj@suse.de>
+
+ * d30v.h: Fix declaration of reg_name_cnt.
+
+ * d10v.h: Fix declaration of d10v_reg_name_cnt.
+
+ * arc.h: Add prototypes from opcodes/arc-opc.c.
+
+2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h (INSN_10000): Define.
+ (OPCODE_IS_MEMBER): Check for INSN_10000.
+
+2001-08-10 Alan Modra <amodra@one.net.au>
+
+ * ppc.h: Revert 2001-08-08.
+
+2001-08-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * mips.h (INSN_GP32): Remove.
+ (OPCODE_IS_MEMBER): Remove gp32 parameter.
+ (M_MOVE): New macro identifier.
+
+2001-08-08 Alan Modra <amodra@one.net.au>
+
+ 1999-10-25 Torbjorn Granlund <tege@swox.com>
+ * ppc.h (struct powerpc_operand): New field `reloc'.
+
+2001-08-01 Aldy Hernandez <aldyh@redhat.com>
+
+ * mips.h (INSN_ISA_MASK): Nuke bits 12-15.
+
+2001-07-12 Jeff Johnston <jjohnstn@redhat.com>
+
+ * cgen.h (CGEN_INSN): Add regex support.
+ (build_insn_regex): Declare.
+
+2001-07-11 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field.
+ (cgen_cpu_desc): Ditto.
+
+2001-07-07 Ben Elliston <bje@redhat.com>
+
+ * m88k.h: Clean up and reformat. Remove unused code.
+
+2001-06-14 Geoffrey Keating <geoffk@redhat.com>
+
+ * cgen.h (cgen_keyword): Add nonalpha_chars field.
+
+2001-05-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h (CPU_R12000): Define.
+
+2001-05-23 John Healy <jhealy@redhat.com>
+
+ * cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48.
+
+2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h (INSN_ISA_MASK): Define.
+
+2001-05-12 Alan Modra <amodra@one.net.au>
+
+ * i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg,
+ not an mmx reg. Swap xmm/mmx regs on both movdq2q and movq2dq,
+ and use InvMem as these insns must have register operands.
+
+2001-05-04 Alan Modra <amodra@one.net.au>
+
+ * i386.h (i386_optab): Move InvMem to first operand of pmovmskb
+ and pextrw to swap reg/rm assignments.
+
+2001-04-05 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris.h (enum cris_insn_version_usage): Correct comment for
+ cris_ver_v3p.
+
+2001-03-24 Alan Modra <alan@linuxcare.com.au>
+
+ * i386.h (i386_optab): Correct entry for "movntdq". Add "punpcklqdq".
+ Add InvMem to first operand of "maskmovdqu".
+
+2001-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris.h (ADD_PC_INCR_OPCODE): New macro.
+
+2001-03-21 Kazu Hirata <kazu@hxi.com>
+
+ * h8300.h: Fix formatting.
+
+2001-03-22 Alan Modra <alan@linuxcare.com.au>
+
+ * i386.h (i386_optab): Add paddq, psubq.
+
+2001-03-19 Alan Modra <alan@linuxcare.com.au>
+
+ * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define.
+
+2001-02-28 Igor Shevlyakov <igor@windriver.com>
+
+ * m68k.h: new defines for Coldfire V4. Update mcf to know
+ about mcf5407.
+
+2001-02-18 lars brinkhoff <lars@nocrew.org>
+
+ * pdp11.h: New file.
+
+2001-02-12 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): SSE integer converison instructions have
+ 64bit versions on x86-64.
+
+2001-02-10 Nick Clifton <nickc@redhat.com>
+
+ * mips.h: Remove extraneous whitespace. Formating change to allow
+ for future contribution.
+
+2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h: New file.
+
+2001-02-02 Patrick Macdonald <patrickm@redhat.com>
+
+ * cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short.
+ (CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES.
+ (CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS.
+
+2001-01-24 Karsten Keil <kkeil@suse.de>
+
+ * i386.h (i386_optab): Fix swapgs
+
+2001-01-14 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa.h: Describe new '<' and '>' operand types, and tidy
+ existing comments.
+ (pa_opcodes): Add entries for missing wide mode ldi,ldo,ldw,stw.
+ Remove duplicate "ldw j(s,b),x". Sort some entries.
+
+2001-01-13 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): Fix pusha and ret templates.
+
+2001-01-11 Peter Targett <peter.targett@arccores.com>
+
+ * arc.h (ARC_MACH_5, ARC_MACH_6, ARC_MACH_7, ARC_MACH_8): New
+ definitions for masking cpu type.
+ (arc_ext_operand_value) New structure for storing extended
+ operands.
+ (ARC_OPERAND_*) Flags for operand values.
+
+2001-01-10 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (pinsrw): Add.
+ (pshufw): Remove.
+ (cvttpd2dq): Fix operands.
+ (cvttps2dq): Likewise.
+ (movq2q): Rename to movdq2q.
+
+2001-01-10 Richard Schaal <richard.schaal@intel.com>
+
+ * i386.h: Correct movnti instruction.
+
+2001-01-09 Jeff Johnston <jjohnstn@redhat.com>
+
+ * cgen.h (CGEN_SYNTAX_CHAR_TYPE): New typedef based on max number
+ of operands (unsigned char or unsigned short).
+ (CGEN_SYNTAX): Changed to make array CGEN_SYNTAX_CHAR_TYPE.
+ (CGEN_SYNTAX_CHAR): Changed to cast to unsigned char.
+
+2001-01-05 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): Make [sml]fence template to use immext field.
+
+2001-01-03 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): Fix 64bit pushf template; Add instructions
+ introduced by Pentium4
+
+2000-12-30 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): Add "rex*" instructions;
+ add swapgs; disable jmp/call far direct instructions for
+ 64bit mode; add syscall and sysret; disable registers for 0xc6
+ template. Add 'q' suffixes to extendable instructions, disable
+ obsolete instructions, add new sign/zero extension ones.
+ (i386_regtab): Add extended registers.
+ (*Suf): Add No_qSuf.
+ (q_Suf, wlq_Suf, bwlq_Suf): New.
+
+2000-12-20 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): Replace "Imm" with "EncImm".
+ (i386_regtab): Add flags field.
+
+2000-12-12 Nick Clifton <nickc@redhat.com>
+
+ * mips.h: Fix formatting.
+
+2000-12-01 Chris Demetriou <cgd@sibyte.com>
+
+ mips.h (OP_MASK_SYSCALL, OP_SH_SYSCALL): Delete.
+ (OP_MASK_CODE20, OP_SH_CODE20): Define, with values of old
+ OP_*_SYSCALL definitions.
+ (OP_SH_CODE19, OP_MASK_CODE19): Define, for use as
+ 19 bit wait codes.
+ (MIPS operand specifier comments): Remove 'm', add 'U' and
+ 'J', and update the meaning of 'B' so that it's more general.
+
+ * mips.h (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4,
+ INSN_ISA5): Renumber, redefine to mean the ISA at which the
+ instruction was added.
+ (INSN_ISA32): New constant.
+ (INSN_4650, INSN_4010, INSN_4100, INSN_3900, INSN_GP32):
+ Renumber to avoid new and/or renumbered INSN_* constants.
+ (INSN_MIPS32): Delete.
+ (ISA_UNKNOWN): New constant to indicate unknown ISA.
+ (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, ISA_MIPS5,
+ ISA_MIPS32): New constants, defined to be the mask of INSN_*
+ constants available at that ISA level.
+ (CPU_UNKNOWN): New constant to indicate unknown CPU.
+ (CPU_4K, CPU_MIPS32_4K): Rename the former to the latter,
+ define it with a unique value.
+ (OPCODE_IS_MEMBER): Update for new ISA membership-related
+ constant meanings.
+
+ * mips.h (INSN_ISA64, ISA_MIPS5, ISA_MIPS64): New
+ definitions.
+
+ * mips.h (CPU_SB1): New constant.
+
+2000-10-20 Jakub Jelinek <jakub@redhat.com>
+
+ * sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B.
+ Note that '3' is used for siam operand.
+
+2000-09-22 Jim Wilson <wilson@cygnus.com>
+
+ * ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
+
+2000-09-13 Anders Norlander <anorland@acc.umu.se>
+
+ * mips.h: Use defines instead of hard-coded processor numbers.
+ (CPU_R2000, CPU_R3000, CPU_R3900, CPU_R4000, CPU_R4010,
+ CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650,
+ CPU_R5000, CPU_R6000, CPU_R8000, CPU_R10000, CPU_MIPS32, CPU_4K,
+ CPU_4KC, CPU_4KM, CPU_4KP): Define..
+ (OPCODE_IS_MEMBER): Use new defines.
+ (OP_MASK_SEL, OP_SH_SEL): Define.
+ (OP_MASK_CODE20, OP_SH_CODE20): Define.
+ Add 'P' to used characters.
+ Use 'H' for coprocessor select field.
+ Use 'm' for 20 bit breakpoint code.
+ Document new arg characters and add to used characters.
+ (INSN_MIPS32): New define for MIPS32 extensions.
+ (OPCODE_IS_MEMBER): Recognize MIPS32 instructions.
+
+2000-09-05 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa.h: Mention cz completer.
+
+2000-08-16 Jim Wilson <wilson@cygnus.com>
+
+ * ia64.h (IA64_OPCODE_POSTINC): New.
+
+2000-08-15 H.J. Lu <hjl@gnu.org>
+
+ * i386.h: Swap the Intel syntax "movsx"/"movzx" due to the
+ IgnoreSize change.
+
+2000-08-08 Jason Eckhardt <jle@cygnus.com>
+
+ * i860.h: Small formatting adjustments.
+
+2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr.h (AVR_UNDEF_P, AVR_SKIP_P, AVR_DISP0_P): New macros.
+ Move related opcodes closer to each other.
+ Minor changes in comments, list undefined opcodes.
+
+2000-07-26 Dave Brolley <brolley@redhat.com>
+
+ * cgen.h (cgen_hw_lookup_by_num): Second parameter is unsigned.
+
+2000-07-22 Jason Eckhardt <jle@cygnus.com>
+
+ * i860.h (btne, bte, bla): Changed these opcodes
+ to use sbroff ('r') instead of split16 ('s').
+ (J, K, L, M): New operand types for 16-bit aligned fields.
+ (ld.x, {p}fld.x, fst.x, pst.d): Changed these opcodes to
+ use I, J, K, L, M instead of just I.
+ (T, U): New operand types for split 16-bit aligned fields.
+ (st.x): Changed these opcodes to use S, T, U instead of just S.
+ (andh, andnoth, orh, xorh): Deleted 3-register forms as they do not
+ exist on the i860.
+ (pfgt.sd, pfle.sd): Deleted these as they do not exist on the i860.
+ (pfeq.ss, pfeq.dd): New opcodes.
+ (st.s): Fixed incorrect mask bits.
+ (fmlow): Fixed incorrect mask bits.
+ (fzchkl, pfzchkl): Fixed incorrect mask bits.
+ (faddz, pfaddz): Fixed incorrect mask bits.
+ (form, pform): Fixed incorrect mask bits.
+ (pfld.l): Fixed incorrect mask bits.
+ (fst.q): Fixed incorrect mask bits.
+ (all floating point opcodes): Fixed incorrect mask bits for
+ handling of dual bit.
+
+2000-07-20 Hans-Peter Nilsson <hp@axis.com>
+
+ cris.h: New file.
+
+2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr.h (AVR_ISA_WRAP): Remove, now assumed if not AVR_ISA_MEGA.
+ (AVR_ISA_ESPM): Remove, because ESPM removed in databook update.
+ (AVR_ISA_85xx): Remove, all uses changed back to AVR_ISA_2xxx.
+ (AVR_ISA_M83): Define for ATmega83, ATmega85.
+ (espm): Remove, because ESPM removed in databook update.
+ (eicall, eijmp): Move to the end of opcode table.
+
+2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * m68hc11.h: New file for support of Motorola 68hc11.
+
+Fri Jun 9 21:51:50 2000 Denis Chertykov <denisc@overta.ru>
+
+ * avr.h: clr,lsl,rol, ... moved after add,adc, ...
+
+Wed Jun 7 21:39:54 2000 Denis Chertykov <denisc@overta.ru>
+
+ * avr.h: New file with AVR opcodes.
+
+Wed Apr 12 17:11:20 2000 Donald Lindsay <dlindsay@hound.cygnus.com>
+
+ * d10v.h: added ALONE attribute for d10v_opcode.exec_type.
+
+2000-05-23 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * i386.h: Allow d suffix on iret, and add DefaultSize modifier.
+
+2000-05-17 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * i386.h: Use sl_FP, not sl_Suf for fild.
+
+2000-05-16 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32. Check that
+ it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set.
+ (CGEN_MAX_IFMT_OPERANDS): Increase to 16. Check that it exceeds
+ CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set.
+
+2000-05-13 Alan Modra <alan@linuxcare.com.au>,
+
+ * i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore.
+
+2000-05-13 Alan Modra <alan@linuxcare.com.au>,
+ Alexander Sokolov <robocop@netlink.ru>
+
+ * i386.h (i386_optab): Add cpu_flags for all instructions.
+
+2000-05-13 Alan Modra <alan@linuxcare.com.au>
+
+ From Gavin Romig-Koch <gavin@cygnus.com>
+ * i386.h (wld_Suf): Define. Use on pushf, popf, pusha, popa.
+
+2000-05-04 Timothy Wall <twall@cygnus.com>
+
+ * tic54x.h: New.
+
+2000-05-03 J.T. Conklin <jtc@redback.com>
+
+ * ppc.h (PPC_OPCODE_ALTIVEC): New opcode flag for vector unit.
+ (PPC_OPERAND_VR): New operand flag for vector registers.
+
+2000-05-01 Kazu Hirata <kazu@hxi.com>
+
+ * h8300.h (EOP): Add missing initializer.
+
+Fri Apr 21 15:03:37 2000 Jason Eckhardt <jle@cygnus.com>
+
+ * hppa.h (pa_opcodes): New opcodes for PA2.0 wide mode
+ forms of ld/st{b,h,w,d} and fld/fst{w,d} (16-bit displacements).
+ New operand types l,y,&,fe,fE,fx added to support above forms.
+ (pa_opcodes): Replaced usage of 'x' as source/target for
+ floating point double-word loads/stores with 'fx'.
+
+Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
+ David Mosberger <davidm@hpl.hp.com>
+ Timothy Wall <twall@cygnus.com>
+ Jim Wilson <wilson@cygnus.com>
+
+ * ia64.h: New file.
+
+2000-03-27 Nick Clifton <nickc@cygnus.com>
+
+ * d30v.h (SHORT_A1): Fix value.
+ (SHORT_AR): Renumber so that it is at the end of the list of short
+ instructions, not the end of the list of long instructions.
+
+2000-03-26 Alan Modra <alan@linuxcare.com>
+
+ * i386.h: (UNIXWARE_COMPAT): Rename to SYSV386_COMPAT as the
+ problem isn't really specific to Unixware.
+ (OLDGCC_COMPAT): Define.
+ (i386_optab): If !OLDGCC_COMPAT, don't handle fsubp etc. with
+ destination %st(0).
+ Fix lots of comments.
+
+2000-03-02 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * d30v.h:
+ (SHORT_B2r, SHORT_B3, SHORT_B3r, SHORT_B3b, SHORT_B3br): Updated.
+ (SHORT_D1r, SHORT_D2, SHORT_D2r, SHORT_D2Br, SHORT_U): Updated.
+ (SHORT_F, SHORT_AF, SHORT_T, SHORT_A5, SHORT_CMP, SHORT_CMPU): Updated.
+ (SHORT_A1, SHORT_AA, SHORT_RA, SHORT_MODINC, SHORT_MODDEC): Updated.
+ (SHORT_C1, SHORT_C2, SHORT_UF, SHORT_A2, SHORT_NONE, LONG): Updated.
+ (LONG_U, LONG_Ur, LONG_CMP, LONG_M, LONG_M2, LONG_2, LONG_2r): Updated.
+ (LONG_2b, LONG_2br, LONG_D, LONG_Dr, LONG_Dbr): Updated.
+
+2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (fild, fistp): Change intel d_Suf form to fildd and
+ fistpd without suffix.
+
+2000-02-24 Nick Clifton <nickc@cygnus.com>
+
+ * cgen.h (cgen_cpu_desc): Rename field 'flags' to
+ 'signed_overflow_ok_p'.
+ Delete prototypes for cgen_set_flags() and cgen_get_flags().
+
+2000-02-24 Andrew Haley <aph@cygnus.com>
+
+ * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
+ (CGEN_CPU_TABLE): flags: new field.
+ Add prototypes for new functions.
+
+2000-02-24 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Add some more UNIXWARE_COMPAT comments.
+
+2000-02-23 Linas Vepstas <linas@linas.org>
+
+ * i370.h: New file.
+
+2000-02-22 Chandra Chavva <cchavva@cygnus.com>
+
+ * d30v.h (FLAG_NOT_WITH_ADDSUBppp): Redefined as operation
+ cannot be combined in parallel with ADD/SUBppp.
+
+2000-02-22 Andrew Haley <aph@cygnus.com>
+
+ * mips.h: (OPCODE_IS_MEMBER): Add comment.
+
+1999-12-30 Andrew Haley <aph@cygnus.com>
+
+ * mips.h (OPCODE_IS_MEMBER): Add gp32 arg, which determines
+ whether synthetic opcodes (e.g. move) generate 32-bit or 64-bit
+ insns.
+
+2000-01-15 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Qualify intel mode far call and jmp with x_Suf.
+
+1999-12-27 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Add JumpAbsolute qualifier to all non-intel mode
+ indirect jumps and calls. Add FF/3 call for intel mode.
+
+Wed Dec 1 03:05:25 1999 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h: Add new operand types. Add new instruction formats.
+
+Wed Nov 24 20:28:58 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Correctly handle immediate for PA2.0 "bb"
+ instruction.
+
+1999-11-18 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (INSN_ISA5): New.
+
+1999-11-01 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (OPCODE_IS_MEMBER): New.
+
+1999-10-29 Nick Clifton <nickc@cygnus.com>
+
+ * d30v.h (SHORT_AR): Define.
+
+1999-10-18 Michael Meissner <meissner@cygnus.com>
+
+ * alpha.h (alpha_num_opcodes): Convert to unsigned.
+ (alpha_num_operands): Ditto.
+
+Sun Oct 10 01:46:56 1999 Jerry Quinn <jerry.quinn.adv91@alum.dartmouth.org>
+
+ * hppa.h (pa_opcodes): Add load and store cache control to
+ instructions. Add ordered access load and store.
+
+ * hppa.h (pa_opcode): Add new entries for addb and addib.
+
+ * hppa.h (pa_opcodes): Fix cmpb and cmpib entries.
+
+ * hppa.h (pa_opcodes): Add entries for cmpb and cmpib.
+
+Thu Oct 7 00:12:25 MDT 1999 Diego Novillo <dnovillo@cygnus.com>
+
+ * d10v.h: Add flag RESTRICTED_NUM3 for imm3 operands.
+
+Thu Sep 23 07:08:38 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * hppa.h (pa_opcodes): Add "call" and "ret". Clean up "b", "bve"
+ and "be" using completer prefixes.
+
+ * hppa.h (pa_opcodes): Add initializers to silence compiler.
+
+ * hppa.h: Update comments about character usage.
+
+Mon Sep 20 03:55:31 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Fix minor thinkos introduced while cleaning
+ up the new fstw & bve instructions.
+
+Sun Sep 19 10:40:59 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Add remaining PA2.0 integer load/store
+ instructions.
+
+ * hppa.h (pa_opcodes): Add remaining PA2.0 FP load/store instructions.
+
+ * hppa.h (pa_opcodes): Add long offset double word load/store
+ instructions.
+
+ * hppa.h (pa_opcodes): Add FLAG_STRICT variants of FP loads and
+ stores.
+
+ * hppa.h (pa_opcodes): Handle PA2.0 fcnv, fcmp and ftest insns.
+
+ * hppa.h (pa_opcodes): Finish support for PA2.0 "b" instructions.
+
+ * hppa.h (pa_opcodes): Handle PA2.0 "bve" instructions.
+
+ * hppa.h (pa_opcodes): Add new syntax "be" instructions.
+
+ * hppa.h (pa_opcodes): Note use of 'M' and 'L'.
+
+ * hppa.h (pa_opcodes): Add support for "b,l".
+
+ * hppa.h (pa_opcodes): Add support for "b,gate".
+
+Sat Sep 18 11:41:16 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Use 'fX' for first register operand
+ in xmpyu.
+
+ * hppa.h (pa_opcodes): Fix mask for probe and probei.
+
+ * hppa.h (pa_opcodes): Fix mask for depwi.
+
+Tue Sep 7 13:44:25 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Add "addil" variant which has the %r1 as
+ an explicit output argument.
+
+Mon Sep 6 04:41:42 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores.
+ Add a few PA2.0 loads and store variants.
+
+1999-09-04 Steve Chamberlain <sac@pobox.com>
+
+ * pj.h: New file.
+
+1999-08-29 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_regtab): Move %st to top of table, and split off
+ other fp reg entries.
+ (i386_float_regtab): To here.
+
+Sat Aug 28 00:25:25 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * hppa.h (pa_opcodes): Replace 'f' by 'v'. Prefix float register args
+ by 'f'.
+
+ * hppa.h (pa_opcodes): Add extrd, extrw, depd, depdi, depw, depwi.
+ Add supporting args.
+
+ * hppa.h: Document new completers and args.
+ * hppa.h (pa_opcodes): Add 64 bit patterns and pa2.0 syntax for uxor,
+ uaddcm, dcor, addi, add, sub, subi, shladd, rfi, and probe. Add pa2.0
+ extensions for ssm, rsm, pdtlb, pitlb. Add performance instructions
+ pmenb and pmdis.
+
+ * hppa.h (pa_opcodes): Add pa2.0 instructions hadd, hshl,
+ hshr, hsub, mixh, mixw, permh.
+
+ * hppa.h (pa_opcodes): Change completers in instructions to
+ use 'c' prefix.
+
+ * hppa.h (pa_opcodes): Add popbts, new forms of bb, havg,
+ hshladd, hshradd, shrpd, and shrpw instructions. Update arg comments.
+
+ * hppa.h (pa_opcodes): Change fmpyfadd, fmpynfadd, fneg,
+ fnegabs to use 'I' instead of 'F'.
+
+1999-08-21 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Add AMD athlon instructions, pfnacc, pfpnacc, pswapd.
+ Document pf2iw and pi2fw as athlon insns. Remove pswapw.
+ Alphabetically sort PIII insns.
+
+Wed Aug 18 18:14:40 1999 Doug Evans <devans@canuck.cygnus.com>
+
+ * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
+
+Fri Aug 6 09:46:35 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and,
+ and andcm. Add 32 and 64 bit version of cmpclr, cmpiclr.
+
+ * hppa.h: Document 64 bit condition completers.
+
+Thu Aug 5 16:56:07 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * hppa.h (pa_opcodes): Change condition args to use '?' prefix.
+
+1999-08-04 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_optab): Add DefaultSize modifier to all insns
+ that implicitly modify %esp. #undef d_Suf, x_suf, sld_suf,
+ sldx_suf, bwld_Suf, d_FP, x_FP, sld_FP, sldx_FP at end of table.
+
+Wed Jul 28 02:04:24 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+ Jeff Law <law@cygnus.com>
+
+ * hppa.h (pa_opcodes): Add "pushnom" and "pushbts".
+
+ * hppa.h (pa_opcodes): Mark all PA2.0 opcodes with FLAG_STRICT.
+
+ * hppa.h (pa_opcodes): Change xmpyu, fmpyfadd,
+ and fmpynfadd to use 'J' and 'K' instead of 'E' and 'X'.
+
+1999-07-13 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Add "undocumented" AMD 3DNow! pf2iw, pi2fw, pswapw insns.
+
+Thu Jul 1 00:17:24 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (struct pa_opcode): Add new field "flags".
+ (FLAGS_STRICT): Define.
+
+Fri Jun 25 04:22:04 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+ Jeff Law <law@cygnus.com>
+
+ * hppa.h (pa_opcodes): Add pa2.0 clrbts instruction.
+
+ * hppa.h (pa_opcodes): Add entries for mfia and mtsarcm instructions.
+
+1999-06-23 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Allow `l' suffix on bswap. Allow `w' suffix on arpl,
+ lldt, lmsw, ltr, str, verr, verw. Add FP flag to fcmov*. Add FP
+ flag to fcomi and friends.
+
+Fri May 28 15:26:11 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Move integer arithmetic instructions after
+ integer logical instructions.
+
+1999-05-28 Linus Nordberg <linus.nordberg@canit.se>
+
+ * m68k.h: Document new formats `E', `G', `H' and new places `N',
+ `n', `o'.
+
+ * m68k.h: Define mcf5206e, mcf5307, mcf. Document new format `u'
+ and new places `m', `M', `h'.
+
+Thu May 27 04:13:54 1999 Joel Sherrill (joel@OARcorp.com
+
+ * hppa.h (pa_opcodes): Add several processor specific system
+ instructions.
+
+Wed May 26 16:57:44 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Add second entry for "comb", "comib",
+ "addb", and "addib" to be used by the disassembler.
+
+1999-05-12 Alan Modra <alan@apri.levels.unisa.edu.au>
+
+ * i386.h (ReverseModrm): Remove all occurences.
+ (InvMem): Add to control/debug/test mov insns, movhlps, movlhps,
+ movmskps, pextrw, pmovmskb, maskmovq.
+ Change NoSuf to FP on all MMX, XMM and AMD insns as these all
+ ignore the data size prefix.
+
+ * i386.h (i386_optab, i386_regtab): Add support for PIII SIMD.
+ Mostly stolen from Doug Ledford <dledford@redhat.com>
+
+Sat May 8 23:27:35 1999 Richard Henderson <rth@cygnus.com>
+
+ * ppc.h (PPC_OPCODE_64_BRIDGE): New.
+
+1999-04-14 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (CGEN_ATTR): Delete member num_nonbools.
+ (CGEN_ATTR_TYPE): Update.
+ (CGEN_ATTR_MASK): Number booleans starting at 0.
+ (CGEN_ATTR_VALUE): Update.
+ (CGEN_INSN_ATTR): Update.
+
+Mon Apr 12 23:43:27 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (fmpyfadd, fmpynfadd, fneg, fnegabs): New PA2.0
+ instructions.
+
+Tue Mar 23 11:24:38 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (bb, bvb): Tweak opcode/mask.
+
+
+1999-03-22 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (CGEN_ISA,CGEN_MACH): New typedefs.
+ (struct cgen_cpu_desc): Rename member mach to machs. New member isas.
+ New members word_bitsize,default_insn_bitsize,base_insn-bitsize,
+ min_insn_bitsize,max_insn_bitsize,isa_table,mach_table,rebuild_tables.
+ Delete member max_insn_size.
+ (enum cgen_cpu_open_arg): New enum.
+ (cpu_open): Update prototype.
+ (cpu_open_1): Declare.
+ (cgen_set_cpu): Delete.
+
+1999-03-11 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (CGEN_HW_TABLE): Delete `num_init_entries' member.
+ (CGEN_OPERAND_NIL): New macro.
+ (CGEN_OPERAND): New member `type'.
+ (@arch@_cgen_operand_table): Delete decl.
+ (CGEN_OPERAND_INDEX,CGEN_OPERAND_TYPE,CGEN_OPERAND_ENTRY): Delete.
+ (CGEN_OPERAND_TABLE): New struct.
+ (cgen_operand_lookup_by_name,cgen_operand_lookup_by_num): Declare.
+ (CGEN_OPINST): Pointer to operand table entry replaced with enum.
+ (CGEN_CPU_TABLE): New member `isa'. Change member `operand_table',
+ now a CGEN_OPERAND_TABLE. Add CGEN_CPU_DESC arg to
+ {get,set}_{int,vma}_operand.
+ (@arch@_cgen_cpu_open): New arg `isa'.
+ (cgen_set_cpu): Ditto.
+
+Fri Feb 26 02:36:45 1999 Richard Henderson <rth@cygnus.com>
+
+ * i386.h: Fill in cmov and fcmov alternates. Add fcomi short forms.
+
+1999-02-25 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (enum cgen_asm_type): Add CGEN_ASM_NONE.
+ (CGEN_HW_ENTRY): Delete member `next'. Change type of `type' to
+ enum cgen_hw_type.
+ (CGEN_HW_TABLE): New struct.
+ (hw_table): Delete declaration.
+ (CGEN_OPERAND): Change member hw to hw_type, change type from pointer
+ to table entry to enum.
+ (CGEN_OPINST): Ditto.
+ (CGEN_CPU_TABLE): Change member hw_list to hw_table.
+
+Sat Feb 13 14:13:44 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (AXP_OPCODE_EV6): New.
+ (AXP_OPCODE_NOPAL): Include it.
+
+1999-02-09 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (CGEN_CPU_DESC): Renamed from CGEN_OPCODE_DESC.
+ All uses updated. New members int_insn_p, max_insn_size,
+ parse_operand,insert_operand,extract_operand,print_operand,
+ sizeof_fields,set_fields_bitsize,get_int_operand,set_int_operand,
+ get_vma_operand,set_vma_operand,parse_handlers,insert_handlers,
+ extract_handlers,print_handlers.
+ (CGEN_ATTR): Change type of num_nonbools to unsigned int.
+ (CGEN_ATTR_BOOL_OFFSET): New macro.
+ (CGEN_ATTR_MASK): Subtract it to compute bit number.
+ (CGEN_ATTR_VALUE): Redo bool/nonbool attr calculation.
+ (cgen_opcode_handler): Renamed from cgen_base.
+ (CGEN_HW_ATTR_VALUE): Renamed from CGEN_HW_ATTR, all uses updated.
+ (CGEN_OPERAND_ATTR_VALUE): Renamed from CGEN_OPERAND_ATTR,
+ all uses updated.
+ (CGEN_OPERAND_INDEX): Rewrite to use table entry, not global.
+ (enum cgen_opinst_type): Renamed from cgen_operand_instance_type.
+ (CGEN_IFLD_ATTR_VALUE): Renamed from CGEN_IFLD_ATTR, all uses updated.
+ (CGEN_OPCODE,CGEN_IBASE): New types.
+ (CGEN_INSN): Rewrite.
+ (CGEN_{ASM,DIS}_HASH*): Delete.
+ (init_opcode_table,init_ibld_table): Declare.
+ (CGEN_INSN_ATTR): New type.
+
+Mon Feb 1 21:09:14 1999 Catherine Moore <clm@cygnus.com>
+
+ * i386.h (d_Suf, x_Suf, sld_Suf, sldx_Suf, bwld_Suf): Define.
+ (x_FP, d_FP, dls_FP, sldx_FP): Define.
+ Change *Suf definitions to include x and d suffixes.
+ (movsx): Use w_Suf and b_Suf.
+ (movzx): Likewise.
+ (movs): Use bwld_Suf.
+ (fld): Change ordering. Use sld_FP.
+ (fild): Add Intel Syntax equivalent of fildq.
+ (fst): Use sld_FP.
+ (fist): Use sld_FP.
+ (fstp): Use sld_FP. Add x_FP version.
+ (fistp): LLongMem version for Intel Syntax.
+ (fcom, fcomp): Use sld_FP.
+ (fadd, fiadd, fsub): Use sld_FP.
+ (fsubr): Use sld_FP.
+ (fmul, fimul, fdvi, fidiv, fdivr): Use sld_FP.
+
+1999-01-27 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (enum cgen_mode): Add CGEN_MODE_TARGET_MAX, CGEN_MODE_INT,
+ CGEN_MODE_UINT.
+
+1999-01-16 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (bv): Fix mask.
+
+1999-01-05 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (CGEN_ATTR_VALUE_TYPE): New typedef.
+ (CGEN_ATTR): Use it.
+ (CGEN_ATTR_TYPE,CGEN_ATTR_ENTRY): Ditto.
+ (CGEN_ATTR_TABLE): New member dfault.
+
+1998-12-30 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (MIPS16_INSN_BRANCH): New.
+
+Wed Dec 9 10:38:48 1998 David Taylor <taylor@texas.cygnus.com>
+
+ The following is part of a change made by Edith Epstein
+ <eepstein@sophia.cygnus.com> as part of a project to merge in
+ changes by HP; HP did not create ChangeLog entries.
+
+ * hppa.h (completer_chars): list of chars to not put a space
+ after.
+
+Sun Dec 6 13:21:34 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h (i386_optab): Permit w suffix on processor control and
+ status word instructions.
+
+1998-11-30 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (struct cgen_hw_entry): Delete const on attrs member.
+ (struct cgen_keyword_entry): Ditto.
+ (struct cgen_operand): Ditto.
+ (CGEN_IFLD): New typedef, with associated access macros.
+ (CGEN_IFMT): New typedef, with associated access macros.
+ (CGEN_IFMT): Renamed from CGEN_FORMAT. New member `iflds'.
+ (CGEN_IVALUE): New typedef.
+ (struct cgen_insn): Delete const on syntax,attrs members.
+ `format' now points to format data. Type of `value' is now
+ CGEN_IVALUE.
+ (struct cgen_opcode_table): New member ifld_table.
+
+1998-11-18 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (cgen_extract_fn): Update type of `base_insn' arg.
+ (CGEN_OPERAND_INSTANCE): New member `attrs'.
+ (CGEN_OPERAND_INSTANCE_{ATTRS,ATTR}): New macros.
+ (cgen_dis_lookup_insn): Update type of `base_insn' arg.
+ (cgen_opcode_table): Update type of dis_hash fn.
+ (extract_operand): Update type of `insn_value' arg.
+
+Thu Oct 29 11:38:36 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Delete.
+
+Tue Oct 27 08:57:59 1998 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (INSN_MULT): Added.
+
+Tue Oct 20 11:31:34 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (MAX_MNEM_SIZE): Rename from MAX_OPCODE_SIZE.
+
+Mon Oct 19 12:50:00 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_INSN_INT): New typedef.
+ (CGEN_INT_INSN_P): Renamed from CGEN_INT_INSN.
+ (CGEN_INSN_BYTES): Renamed from cgen_insn_t.
+ (CGEN_INSN_BYTES_PTR): New typedef.
+ (CGEN_EXTRACT_INFO): New typedef.
+ (cgen_insert_fn,cgen_extract_fn): Update.
+ (cgen_opcode_table): New member `insn_endian'.
+ (assemble_insn,lookup_insn,lookup_get_insn_operands): Update.
+ (insert_operand,extract_operand): Update.
+ (cgen_get_insn_value,cgen_put_insn_value): Add prototypes.
+
+Fri Oct 9 13:38:13 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_ATTR_BOOLS): New macro.
+ (struct CGEN_HW_ENTRY): New member `attrs'.
+ (CGEN_HW_ATTR): New macro.
+ (struct CGEN_OPERAND_INSTANCE): New member `name'.
+ (CGEN_INSN_INVALID_P): New macro.
+
+Mon Oct 5 00:21:07 1998 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h: Add "fid".
+
+Sun Oct 4 21:00:00 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ From Robert Andrew Dale <rob@nb.net>
+ * i386.h (i386_optab): Add AMD 3DNow! instructions.
+ (AMD_3DNOW_OPCODE): Define.
+
+Tue Sep 22 17:53:47 1998 Nick Clifton <nickc@cygnus.com>
+
+ * d30v.h (EITHER_BUT_PREFER_MU): Define.
+
+Mon Aug 10 14:09:38 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * cgen.h (cgen_insn): #if 0 out element `cdx'.
+
+Mon Aug 3 12:21:57 1998 Doug Evans <devans@seba.cygnus.com>
+
+ Move all global state data into opcode table struct, and treat
+ opcode table as something that is "opened/closed".
+ * cgen.h (CGEN_OPCODE_DESC): New type.
+ (all fns): New first arg of opcode table descriptor.
+ (cgen_set_parse_operand_fn): Add prototype.
+ (cgen_current_machine,cgen_current_endian): Delete.
+ (CGEN_OPCODE_TABLE): New members mach,endian,operand_table,
+ parse_operand_fn,asm_hash_table,asm_hash_table_entries,
+ dis_hash_table,dis_hash_table_entries.
+ (opcode_open,opcode_close): Add prototypes.
+
+ * cgen.h (cgen_insn): New element `cdx'.
+
+Thu Jul 30 21:44:25 1998 Frank Ch. Eigler <fche@cygnus.com>
+
+ * d30v.h (FLAG_LKR): New flag for "left-kills-right" instructions.
+
+Tue Jul 28 10:59:07 1998 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h: Add "no_match_operands" field for instructions.
+ (MN10300_MAX_OPERANDS): Define.
+
+Fri Jul 24 11:44:24 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * cgen.h (cgen_macro_insn_count): Declare.
+
+Tue Jul 21 13:12:13 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Define.
+ (cgen_insert_fn,cgen_extract_fn): New arg `pc'.
+ (get_operand,put_operand): Replaced with get_{int,vma}_operand,
+ set_{int,vma}_operand.
+
+Fri Jun 26 11:09:06 1998 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h: Add "machine" field for instructions.
+ (MN103, AM30): Define machine types.
+
+Fri Jun 19 16:09:09 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Use FP, not sl_Suf, for fxsave and fxrstor.
+
+1998-06-18 Ulrich Drepper <drepper@cygnus.com>
+
+ * i386.h: Add support for fxsave, fxrstor, sysenter and sysexit.
+
+Sat Jun 13 11:31:35 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_optab): Add general form of aad and aam. Add ud2a
+ and ud2b.
+ (i386_regtab): Allow cr0..7, db0..7, dr0..7, tr0..7, not just
+ those that happen to be implemented on pentiums.
+
+Tue Jun 9 12:16:01 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Change occurences of Data16 to Size16, Data32 to Size32,
+ IgnoreDataSize to IgnoreSize. Flag address and data size prefixes
+ with Size16|IgnoreSize or Size32|IgnoreSize.
+
+Mon Jun 8 12:15:52 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE.
+ (REPE): Rename to REPE_PREFIX_OPCODE.
+ (i386_regtab_end): Remove.
+ (i386_prefixtab, i386_prefixtab_end): Remove.
+ (i386_optab): Use NULL as sentinel rather than "" to suit rewrite
+ of md_begin.
+ (MAX_OPCODE_SIZE): Define.
+ (i386_optab_end): Remove.
+ (sl_Suf): Define.
+ (sl_FP): Use sl_Suf.
+
+ * i386.h (i386_optab): Allow 16 bit displacement for `mov
+ mem,acc'. Combine 16 and 32 bit forms of various insns. Allow 16
+ bit form of ljmp. Add IsPrefix modifier to prefixes. Add addr32,
+ data32, dword, and adword prefixes.
+ (i386_regtab): Add BaseIndex modifier to valid 16 bit base/index
+ regs.
+
+Fri Jun 5 23:42:43 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_regtab): Remove BaseIndex modifier from esp.
+
+ * i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with
+ register operands, because this is a common idiom. Flag them with
+ a warning. Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp,
+ fdivrp because gcc erroneously generates them. Also flag with a
+ warning.
+
+ * i386.h: Add suffix modifiers to most insns, and tighter operand
+ checks in some cases. Fix a number of UnixWare compatibility
+ issues with float insns. Merge some floating point opcodes, using
+ new FloatMF modifier.
+ (WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for
+ consistency.
+
+ * i386.h: Change occurence of ShortformW to W|ShortForm. Add
+ IgnoreDataSize where appropriate.
+
+Wed Jun 3 18:28:45 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: (one_byte_segment_defaults): Remove.
+ (two_byte_segment_defaults): Remove.
+ (i386_regtab): Add BaseIndex to 32 bit regs reg_type.
+
+Fri May 15 15:59:04 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup.
+ (cgen_hw_lookup_by_num): Declare.
+
+Thu May 7 09:27:58 1998 Frank Ch. Eigler <fche@cygnus.com>
+
+ * mips.h (OP_{SH,MASK}_CODE2): Added "q" operand format for lower
+ ten bits of MIPS ISA1 "break" instruction, and for "sdbbp"
+
+Thu May 7 02:14:08 1998 Doug Evans <devans@charmed.cygnus.com>
+
+ * cgen.h (cgen_asm_init_parse): Delete.
+ (cgen_save_fixups,cgen_restore_fixups,cgen_swap_fixups): Delete.
+ (cgen_asm_record_register,cgen_asm_finish_insn): Delete.
+
+Mon Apr 27 10:13:11 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_ATTR_TYPE): Delete `const', moved to uses.
+ (cgen_asm_finish_insn): Update prototype.
+ (cgen_insn): New members num, data.
+ (CGEN_INSN_TABLE): Members asm_hash, asm_hash_table_size,
+ dis_hash, dis_hash_table_size moved to ...
+ (CGEN_OPCODE_TABLE). Here. Renamed from CGEN_OPCODE_DATA.
+ All uses updated. New members asm_hash_p, dis_hash_p.
+ (CGEN_MINSN_EXPANSION): New struct.
+ (cgen_expand_macro_insn): Declare.
+ (cgen_macro_insn_count): Declare.
+ (get_insn_operands): Update prototype.
+ (lookup_get_insn_operands): Declare.
+
+Tue Apr 21 17:11:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_optab): Change iclrKludge and imulKludge to
+ regKludge. Add operands types for string instructions.
+
+Mon Apr 20 14:40:29 1998 Tom Tromey <tromey@cygnus.com>
+
+ * i386.h (X): Renamed from `Z_' to preserve formatting of opcode
+ table.
+
+Sun Apr 19 13:54:06 1998 Tom Tromey <tromey@cygnus.com>
+
+ * i386.h (Z_): Renamed from `_' to avoid clash with common alias
+ for `gettext'.
+
+Fri Apr 3 12:04:48 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Remove NoModrm flag from all insns: it's never checked.
+ Add IsString flag to string instructions.
+ (IS_STRING): Don't define.
+ (LOCK_PREFIX_OPCODE, CS_PREFIX_OPCODE, DS_PREFIX_OPCODE): Define.
+ (ES_PREFIX_OPCODE, FS_PREFIX_OPCODE, GS_PREFIX_OPCODE): Define.
+ (SS_PREFIX_OPCODE): Define.
+
+Mon Mar 30 21:31:56 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Revert March 24 patch; no more LinearAddress.
+
+Mon Mar 30 10:25:54 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_optab): Remove fwait (9b) from all floating point
+ instructions, and instead add FWait opcode modifier. Add short
+ form of fldenv and fstenv.
+ (FWAIT_OPCODE): Define.
+
+ * i386.h (i386_optab): Change second operand constraint of `mov
+ sreg,reg|mem' instruction from Reg16|Mem to WordReg|WordMem to
+ allow legal instructions such as `movl %gs,%esi'
+
+Fri Mar 27 18:30:52 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * h8300.h: Various changes to fully bracket initializers.
+
+Tue Mar 24 18:32:47 1998 H.J. Lu <hjl@gnu.org>
+
+ * i386.h: Set LinearAddress for lidt and lgdt.
+
+Mon Mar 2 10:44:07 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_BOOL_ATTR): New macro.
+
+Thu Feb 26 15:54:31 1998 Michael Meissner <meissner@cygnus.com>
+
+ * d30v.h (FLAG_DELAY): New flag for delayed branches/jumps.
+
+Mon Feb 23 10:38:21 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_CAT3): Delete. Use CONCAT3 now.
+ (cgen_insn): Record syntax and format entries here, rather than
+ separately.
+
+Tue Feb 17 21:42:56 1998 Nick Clifton <nickc@cygnus.com>
+
+ * cgen.h (CGEN_SYNTAX_MAKE_FIELD): New macro.
+
+Tue Feb 17 16:00:56 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (cgen_insert_fn): Change type of result to const char *.
+ (cgen_parse_{signed,unsigned}_integer): Delete min,max arguments.
+ (CGEN_{INSN,KEYWORD,OPERAND}_NBOOL_ATTRS): Renamed from ..._MAX_ATTRS.
+
+Thu Feb 12 18:30:41 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * cgen.h (lookup_insn): New argument alias_p.
+
+Thu Feb 12 03:41:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+Fix rac to accept only a0:
+ * d10v.h (OPERAND_ACC): Split into:
+ (OPERAND_ACC0, OPERAND_ACC1) .
+ (OPERAND_GPR): Define.
+
+Wed Feb 11 17:31:53 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_FIELDS): Define here.
+ (CGEN_HW_ENTRY): New member `type'.
+ (hw_list): Delete decl.
+ (enum cgen_mode): Declare.
+ (CGEN_OPERAND): New member `hw'.
+ (enum cgen_operand_instance_type): Declare.
+ (CGEN_OPERAND_INSTANCE): New type.
+ (CGEN_INSN): New member `operands'.
+ (CGEN_OPCODE_DATA): Make hw_list const.
+ (get_insn_operands,lookup_insn): Add prototypes for.
+
+Tue Feb 3 17:11:23 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_INSN_MAX_ATTRS): Renamed from CGEN_MAX_INSN_ATTRS.
+ (CGEN_HW_ENTRY): Move `next' entry to end of struct.
+ (CGEN_KEYWORD_MAX_ATTRS): Renamed from CGEN_MAX_KEYWORD_ATTRS.
+ (CGEN_OPERAND_MAX_ATTRS): Renamed from CGEN_MAX_OPERAND_ATTRS.
+
+Mon Feb 2 19:19:15 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * cgen.h: Correct typo in comment end marker.
+
+Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
+
+ * tic30.h: New file.
+
+Thu Jan 22 17:54:56 1998 Nick Clifton <nickc@cygnus.com>
+
+ * cgen.h: Add prototypes for cgen_save_fixups(),
+ cgen_restore_fixups(), and cgen_swap_fixups(). Change prototype
+ of cgen_asm_finish_insn() to return a char *.
+
+Wed Jan 14 17:21:43 1998 Nick Clifton <nickc@cygnus.com>
+
+ * cgen.h: Formatting changes to improve readability.
+
+Mon Jan 12 11:37:36 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (*): Clean up pass over `struct foo' usage.
+ (CGEN_ATTR): Make unsigned char.
+ (CGEN_ATTR_TYPE): Update.
+ (CGEN_ATTR_{ENTRY,TABLE}): New types.
+ (cgen_base): Move member `attrs' to cgen_insn.
+ (CGEN_KEYWORD): New member `null_entry'.
+ (CGEN_{SYNTAX,FORMAT}): New types.
+ (cgen_insn): Format and syntax separated from each other.
+
+Tue Dec 16 15:15:52 1997 Michael Meissner <meissner@cygnus.com>
+
+ * d30v.h (d30v_opcode): Reorder flags somewhat, add new flags for
+ 2 word load/store, ADDppp/SUBppp, 16/32 bit multiply. Make
+ flags_{used,set} long.
+ (d30v_operand): Make flags field long.
+
+Mon Dec 1 12:24:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * m68k.h: Fix comment describing operand types.
+
+Sun Nov 23 22:31:27 1997 Michael Meissner <meissner@cygnus.com>
+
+ * d30v.h (SHORT_CMPU): Add case for cmpu instruction, and move
+ everything else after down.
+
+Tue Nov 18 18:45:14 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * d10v.h (OPERAND_FLAG): Split into:
+ (OPERAND_FFLAG, OPERAND_CFLAG) .
+
+Thu Nov 13 11:04:24 1997 Gavin Koch <gavin@cygnus.com>
+
+ * mips.h (struct mips_opcode): Changed comments to reflect new
+ field usage.
+
+Fri Oct 24 22:36:20 1997 Ken Raeburn <raeburn@cygnus.com>
+
+ * mips.h: Added to comments a quick-ref list of all assigned
+ operand type characters.
+ (OP_{MASK,SH}_PERFREG): New macros.
+
+Wed Oct 22 17:28:33 1997 Richard Henderson <rth@cygnus.com>
+
+ * sparc.h: Add '_' and '/' for v9a asr's.
+ Patch from David Miller <davem@vger.rutgers.edu>
+
+Tue Oct 14 13:22:29 1997 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h: Bit ops with absolute addresses not in the 8 bit
+ area are not available in the base model (H8/300).
+
+Thu Sep 25 13:03:41 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * m68k.h: Remove documentation of ` operand specifier.
+
+Wed Sep 24 19:00:34 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * m68k.h: Document q and v operand specifiers.
+
+Mon Sep 15 18:28:37 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (struct v850_opcode): Add processors field.
+ (PROCESSOR_V850, PROCESSOR_ALL): New bit constants.
+ (PROCESSOR_V850E, PROCESSOR_NOT_V850): New bit constants.
+ (PROCESSOR_V850EA): New bit constants.
+
+Mon Sep 15 11:29:43 1997 Ken Raeburn <raeburn@cygnus.com>
+
+ Merge changes from Martin Hunt:
+
+ * d30v.h: Allow up to 64 control registers. Add
+ SHORT_A5S format.
+
+ * d30v.h (LONG_Db): New form for delayed branches.
+
+ * d30v.h: (LONG_Db): New form for repeati.
+
+ * d30v.h (SHORT_D2B): New form.
+
+ * d30v.h (SHORT_A2): New form.
+
+ * d30v.h (OPERAND_2REG): Add new operand to indicate 2
+ registers are used. Needed for VLIW optimization.
+
+Mon Sep 8 14:05:45 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * cgen.h: Move assembler interface section
+ up so cgen_parse_operand_result is defined for cgen_parse_address.
+ (cgen_parse_address): Update prototype.
+
+Tue Sep 2 15:32:32 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (V850_OPREAND_ADJUST_SHORT_MEMORY): Removed.
+
+Tue Aug 26 12:21:52 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h (two_byte_segment_defaults): Correct base register 5 in
+ modes 1 and 2 to be ss rather than ds. From Gabriel Paubert
+ <paubert@iram.es>.
+
+ * i386.h: Set ud2 to 0x0f0b. From Gabriel Paubert
+ <paubert@iram.es>.
+
+ * i386.h: Comment fixes for ficom[p]?{s,l} from Gabriel Paubert
+ <paubert@iram.es>.
+
+ * i386.h (JUMP_ON_CX_ZERO): Uncomment (define again).
+ (JUMP_ON_ECX_ZERO): Remove commented out macro.
+
+Fri Aug 22 10:38:29 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (V850_NOT_R0): New flag.
+
+Mon Aug 18 11:05:58 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (struct v850_opcode): Remove flags field.
+
+Wed Aug 13 18:45:48 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (struct v850_opcode): Add flags field.
+ (struct v850_operand): Extend meaning of 'bits' and 'shift'
+ fields.
+ (V850E_INSTRUCTION, V850EA_INSTRUCTION): New flags.
+ (V850E_PUSH_POP, V850E_IMMEDIATE16, V850E_IMMEDIATE32): New flags.
+
+Fri Aug 8 16:58:42 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * arc.h: New file.
+
+Thu Jul 24 21:16:58 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (sparc_opcodes): Declare as const.
+
+Thu Jul 10 12:53:25 1997 Jeffrey A Law (law@cygnus.com)
+
+ * mips.h (FP_S, FP_D): Define. Bitmasks indicating if an insn
+ uses single or double precision floating point resources.
+ (INSN_NO_ISA, INSN_ISA1): Define.
+ (cpu specific INSN macros): Tweak into bitmasks outside the range
+ of INSN_ISA field.
+
+Mon Jun 16 14:10:00 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * i386.h: Fix pand opcode.
+
+Mon Jun 2 11:35:09 1997 Gavin Koch <gavin@cygnus.com>
+
+ * mips.h: Widen INSN_ISA and move it to a more convenient
+ bit position. Add INSN_3900.
+
+Tue May 20 11:25:29 1997 Gavin Koch <gavin@cygnus.com>
+
+ * mips.h (struct mips_opcode): added new field membership.
+
+Mon May 12 16:26:50 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * i386.h (movd): only Reg32 is allowed.
+
+ * i386.h: add fcomp and ud2. From Wayne Scott
+ <wscott@ichips.intel.com>.
+
+Mon May 5 17:16:21 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Add MMX instructions.
+
+Mon May 5 12:45:19 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * i386.h: Remove W modifier from conditional move instructions.
+
+Mon Apr 14 14:56:58 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Change the opcodes for fsubp, fsubrp, fdivp, and fdivrp
+ with no arguments to match that generated by the UnixWare
+ assembler.
+
+Thu Apr 10 14:35:00 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * cgen.h (<cpu>_cgen_assemble_insn): New arg for errmsg.
+ (cgen_parse_operand_fn): Declare.
+ (cgen_init_parse_operand): Declare.
+ (cgen_parse_operand): Renamed from cgen_asm_parse_operand,
+ new argument `want'.
+ (enum cgen_parse_operand_result): Renamed from cgen_asm_result.
+ (enum cgen_parse_operand_type): New enum.
+
+Sat Apr 5 13:14:05 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Revert last patch for the NON_BROKEN_OPCODES cases.
+
+Fri Apr 4 11:46:11 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * cgen.h: New file.
+
+Fri Apr 4 14:02:32 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Correct opcode values for fsubp, fsubrp, fdivp, and
+ fdivrp.
+
+Tue Mar 25 22:57:26 1997 Stu Grossman (grossman@critters.cygnus.com)
+
+ * v850.h (extract): Make unsigned.
+
+Mon Mar 24 14:38:15 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Add iclr.
+
+Thu Mar 20 19:49:10 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Change DW to W for cmpxchg and xadd, since they don't
+ take a direction bit.
+
+Sat Mar 15 19:03:29 1997 H.J. Lu <hjl@lucon.org>
+
+ * sparc.h (sparc_opcode_lookup_arch): Use full prototype.
+
+Fri Mar 14 15:22:01 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * sparc.h: Include <ansidecl.h>. Update function declarations to
+ use prototypes, and to use const when appropriate.
+
+Thu Mar 6 14:18:30 1997 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_RELAX): Define.
+
+Mon Feb 24 15:15:56 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h: Change pre_defined_registers to
+ d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt.
+
+Sat Feb 22 21:25:00 1997 Dawn Perchik <dawn@cygnus.com>
+
+ * mips.h: Add macros for cop0, cop1 cop2 and cop3.
+ Change mips_opcodes from const array to a pointer,
+ and change bfd_mips_num_opcodes from const int to int,
+ so that we can increase the size of the mips opcodes table
+ dynamically.
+
+Fri Feb 21 16:34:18 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d30v.h (FLAG_X): Remove unused flag.
+
+Tue Feb 18 17:37:20 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d30v.h: New file.
+
+Fri Feb 14 13:16:15 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (PDS_NAME): Macro to access name field of predefined symbols.
+ (PDS_VALUE): Macro to access value field of predefined symbols.
+ (tic80_next_predefined_symbol): Add prototype.
+
+Mon Feb 10 10:32:17 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (tic80_symbol_to_value): Change prototype to match
+ change in function, added class parameter.
+
+Thu Feb 6 17:30:15 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_ENDMASK): Add for flagging TIc80
+ endmask fields, which are somewhat weird in that 0 and 32 are
+ treated exactly the same.
+
+Thu Jan 30 13:46:18 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h: Change all the OPERAND defines to use the form (1 << X)
+ rather than a constant that is 2**X. Reorder them to put bits for
+ operands that have symbolic names in the upper bits, so they can
+ be packed into an int where the lower bits contain the value that
+ corresponds to that symbolic name.
+ (predefined_symbo): Add struct.
+ (tic80_predefined_symbols): Declare array of translations.
+ (tic80_num_predefined_symbols): Declare size of that array.
+ (tic80_value_to_symbol): Declare function.
+ (tic80_symbol_to_value): Declare function.
+
+Wed Jan 29 09:37:25 1997 Jeffrey A Law (law@cygnus.com)
+
+ * mn10200.h (MN10200_OPERAND_RELAX): Define.
+
+Sat Jan 18 15:18:59 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_NO_R0_DEST): Add for opcodes where r0 cannot
+ be the destination register.
+
+Thu Jan 16 20:48:55 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (struct tic80_opcode): Change "format" field to "flags".
+ (FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete.
+ (TIC80_VECTOR): Define a flag bit for the flags. This one means
+ that the opcode can have two vector instructions in a single
+ 32 bit word and we have to encode/decode both.
+
+Tue Jan 14 19:37:09 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_PCREL): Renamed from
+ TIC80_OPERAND_RELATIVE for PC relative.
+ (TIC80_OPERAND_BASEREL): New flag bit for register
+ base relative.
+
+Mon Jan 13 15:56:38 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_FLOAT): Add for floating point operands.
+
+Mon Jan 6 10:51:15 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_SCALED): Operand may have optional
+ ":s" modifier for scaling.
+
+Sun Jan 5 12:12:19 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_M_SI): Add operand modifier for ":m".
+ (TIC80_OPERAND_M_LI): Ditto
+
+Sat Jan 4 19:02:44 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_BITNUM): Renamed from TIC80_OPERAND_CC_SZ.
+ (TIC80_OPERAND_CC): New define for condition code operand.
+ (TIC80_OPERAND_CR): New define for control register operand.
+
+Fri Jan 3 16:22:23 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (struct tic80_opcode): Name changed.
+ (struct tic80_opcode): Remove format field.
+ (struct tic80_operand): Add insertion and extraction functions.
+ (TIC80_OPERAND_*): Remove old bogus values, start adding new
+ correct ones.
+ (FMT_*): Ditto.
+
+Tue Dec 31 15:05:41 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * v850.h (V850_OPERAND_ADJUST_SHORT_MEMORY): New flag to adjust
+ type IV instruction offsets.
+
+Fri Dec 27 22:23:10 1996 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h: New file.
+
+Wed Dec 18 10:06:31 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10200.h (MN10200_OPERAND_NOCHECK): Define.
+
+Sat Dec 14 10:48:31 1996 Fred Fish <fnf@ninemoons.com>
+
+ * mn10200.h: Fix comment, mn10200_operand not powerpc_operand.
+ * mn10300.h: Fix comment, mn10300_operand not powerpc_operand.
+ * v850.h: Fix comment, v850_operand not powerpc_operand.
+
+Mon Dec 9 16:45:39 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10200.h: Flesh out structures and definitions needed by
+ the mn10200 assembler & disassembler.
+
+Tue Nov 26 10:46:56 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h: Add mips16 definitions.
+
+Mon Nov 25 17:56:54 1996 J.T. Conklin <jtc@cygnus.com>
+
+ * m68k.h: Document new <, >, m, n, o and p operand specifiers.
+
+Wed Nov 20 10:59:41 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_PCREL): Define.
+ (MN10300_OPERAND_MEMADDR): Define.
+
+Tue Nov 19 13:30:40 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_REG_LIST): Define.
+
+Wed Nov 6 13:41:08 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_SPLIT): Define.
+
+Tue Nov 5 13:26:12 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_EXTENDED): Define.
+
+Mon Nov 4 12:52:48 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_REPEATED): Define.
+
+Fri Nov 1 10:31:02 1996 Richard Henderson <rth@tamu.edu>
+
+ * alpha.h: Don't include "bfd.h"; private relocation types are now
+ negative to minimize problems with shared libraries. Organize
+ instruction subsets by AMASK extensions and PALcode
+ implementation.
+ (struct alpha_operand): Move flags slot for better packing.
+
+Tue Oct 29 12:19:10 1996 Jeffrey A Law (law@cygnus.com)
+
+ * v850.h (V850_OPERAND_RELAX): New operand flag.
+
+Thu Oct 10 14:29:11 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (FMT_*): Move operand format definitions
+ here.
+
+Tue Oct 8 14:48:07 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_PAREN): Define.
+
+Mon Oct 7 16:52:11 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (mn10300_opcode): Add "format" field.
+ (MN10300_OPERAND_*): Define.
+
+Thu Oct 3 10:33:46 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10x00.h: Delete.
+ * mn10200.h, mn10300.h: New files.
+
+Wed Oct 2 21:31:26 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10x00.h: New file.
+
+Fri Sep 27 18:26:46 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * v850.h: Add new flag to indicate this instruction uses a PC
+ displacement.
+
+Fri Sep 13 14:58:13 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (stmac): Add missing instruction.
+
+Sat Aug 31 16:02:03 1996 Jeffrey A Law (law@cygnus.com)
+
+ * v850.h (v850_opcode): Remove "size" field. Add "memop"
+ field.
+
+Fri Aug 23 10:39:08 1996 Jeffrey A Law (law@cygnus.com)
+
+ * v850.h (V850_OPERAND_EP): Define.
+
+ * v850.h (v850_opcode): Add size field.
+
+Thu Aug 22 16:51:25 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * v850.h (v850_operands): Add insert and extract fields, pointers
+ to functions used to handle unusual operand encoding.
+ (V850_OPERAND_REG, V850_OPERAND_SRG, V850_OPERAND_CC,
+ V850_OPERAND_SIGNED): Defined.
+
+Wed Aug 21 17:45:10 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * v850.h (v850_operands): Add flags field.
+ (OPERAND_REG, OPERAND_NUM): Defined.
+
+Tue Aug 20 14:52:02 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * v850.h: New file.
+
+Fri Aug 16 14:44:15 1996 James G. Smith <jsmith@cygnus.co.uk>
+
+ * mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM,
+ OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC,
+ OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT,
+ OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE,
+ OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT):
+ Defined.
+
+Fri Aug 16 00:15:15 1996 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pitlb, pitlbe, iitlba, iitlbp, fic, fice): Accept
+ a 3 bit space id instead of a 2 bit space id.
+
+Thu Aug 15 13:11:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h: Add some additional defines to support the
+ assembler in determining which operations can be done in parallel.
+
+Tue Aug 6 11:13:22 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (SN): Define.
+ (eepmov.b): Renamed from "eepmov"
+ (nop, bpt, rte, rts, sleep, clrmac): These have no size associated
+ with them.
+
+Fri Jul 26 11:47:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h (OPERAND_SHIFT): New operand flag.
+
+Thu Jul 25 12:06:22 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h: Changes for divs, parallel-only instructions, and
+ signed numbers.
+
+Mon Jul 22 11:21:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h (pd_reg): Define. Putting the definition here allows
+ the assembler and disassembler to share the same struct.
+
+Mon Jul 22 12:15:25 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * i960.h (i960_opcodes): "halt" takes an argument. From Stephen
+ Williams <steve@icarus.com>.
+
+Wed Jul 17 14:46:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h: New file.
+
+Thu Jul 11 12:09:15 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (band, bclr): Force high bit of immediate nibble to zero.
+
+Wed Jul 3 14:30:12 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * m68k.h (mcf5200): New macro.
+ Document names of coldfire control registers.
+
+Tue Jul 2 23:05:45 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (SRC_IN_DST): Define.
+
+ * h8300.h (UNOP3): Mark the register operand in this insn
+ as a source operand, not a destination operand.
+ (SHIFT_2, SHIFT_IMM): Remove. Eliminate all references.
+ (UNOP3): Change SHIFT_IMM to IMM for H8/S bitops. Mark
+ register operand with SRC_IN_DST.
+
+Fri Jun 21 13:52:17 1996 Richard Henderson <rth@tamu.edu>
+
+ * alpha.h: New file.
+
+Thu Jun 20 15:02:57 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * rs6k.h: Remove obsolete file.
+
+Wed Jun 19 15:29:38 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Correct opcode values for faddp, fsubp, fsubrp, fmulp,
+ fdivp, and fdivrp. Add ffreep.
+
+Tue Jun 18 16:06:00 1996 Jeffrey A. Law <law@rtl.cygnus.com>
+
+ * h8300.h: Reorder various #defines for readability.
+ (ABS32SRC, ABS32DST, DSP32LIST, ABS32LIST, A32LIST): Define.
+ (BITOP): Accept additional (unused) argument. All callers changed.
+ (EBITOP): Likewise.
+ (O_LAST): Bump.
+ (ldc, stc, movb, movw, movl): Use 32bit offsets and absolutes.
+
+ * h8300.h (EXR, SHIFT_2, MACREG, SHIFT_IMM, RDINC): Define.
+ (O_TAS, O_CLRMAC, O_LDMAC, O_MAC, O_LDM, O_STM): Define.
+ (BITOP, EBITOP): Handle new H8/S addressing modes for
+ bit insns.
+ (UNOP3): Handle new shift/rotate insns on the H8/S.
+ (insns using exr): New instructions.
+ (tas, mac, ldmac, clrmac, ldm, stm): New instructions.
+
+Thu May 23 16:56:48 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (add.l): Undo Apr 5th change. The manual I had
+ was incorrect.
+
+Mon May 6 23:38:22 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (START): Remove.
+ (MEMRELAX): Define. Mark absolute memory operands in mov.b, mov.w
+ and mov.l insns that can be relaxed.
+
+Tue Apr 30 18:30:58 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Remove Abs32 from lcall.
+
+Mon Apr 22 17:09:23 1996 Doug Evans <dje@blues.cygnus.com>
+
+ * sparc.h (SPARC_OPCODE_ARCH_V9_P): New macro.
+ (SLCPOP): New macro.
+ Mark X,Y opcode letters as in use.
+
+Thu Apr 11 17:28:18 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * sparc.h (F_FLOAT, F_FBR): Define.
+
+Fri Apr 5 16:55:34 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (ABS8MEM): Renamed from ABSMOV. Remove ABSMOV
+ from all insns.
+ (ABS8SRC,ABS8DST): Add ABS8MEM.
+ (add.l): Fix reg+reg variant.
+ (eepmov.w): Renamed from eepmovw.
+ (ldc,stc): Fix many cases.
+
+Sun Mar 31 13:30:03 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (SPARC_OPCODE_ARCH_MASK): New macro.
+
+Thu Mar 7 15:08:23 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (O): Mark operand letter as in use.
+
+Tue Feb 20 20:46:21 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare.
+ Mark operand letters uU as in use.
+
+Mon Feb 19 01:59:08 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_SPARCLET.
+ (sparc_opcode_arch): Delete member `conflicts'. Add `supported'.
+ (SPARC_OPCODE_SUPPORTED): New macro.
+ (SPARC_OPCODE_CONFLICT_P): Rewrite.
+ (F_NOTV9): Delete.
+
+Fri Feb 16 12:23:34 1996 Jeffrey A Law (law@cygnus.com)
+
+ * sparc.h (sparc_opcode_lookup_arch) Make return type in
+ declaration consistent with return type in definition.
+
+Wed Feb 14 18:14:11 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_optab): Remove Data32 from pushf and popf.
+
+Thu Feb 8 14:27:21 1996 James Carlson <carlson@xylogics.com>
+
+ * i386.h (i386_regtab): Add 80486 test registers.
+
+Mon Feb 5 18:35:46 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * i960.h (I_HX): Define.
+ (i960_opcodes): Add HX instruction.
+
+Mon Jan 29 12:43:39 1996 Ken Raeburn <raeburn@cygnus.com>
+
+ * i386.h: Fix waiting forms of finit, fstenv, fsave, fstsw, fstcw,
+ and fclex.
+
+Wed Jan 24 22:36:59 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (enum sparc_opcode_arch_val): Replaces sparc_architecture.
+ (SPARC_OPCODE_CONFLICT_P): Renamed from ARCHITECTURES_CONFLICT_P.
+ (bfd_* defines): Delete.
+ (sparc_opcode_archs): Replaces architecture_pname.
+ (sparc_opcode_lookup_arch): Declare.
+ (NUMOPCODES): Delete.
+
+Mon Jan 22 08:24:32 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (enum sparc_architecture): Add v9a.
+ (ARCHITECTURES_CONFLICT_P): Update.
+
+Thu Dec 28 13:27:53 1995 John Hassey <hassey@rtp.dg.com>
+
+ * i386.h: Added Pentium Pro instructions.
+
+Thu Nov 2 22:59:22 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * m68k.h: Document new 'W' operand place.
+
+Tue Oct 24 10:49:10 1995 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h: Add lci and syncdma instructions.
+
+Mon Oct 23 11:09:16 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
+
+ * mips.h: Added INSN_4100 flag to mark NEC VR4100 specific
+ instructions.
+
+Mon Oct 16 10:28:15 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * ppc.h (PPC_OPCODE_{COMMON,ANY}): New opcode flags for
+ assembler's -mcom and -many switches.
+
+Wed Oct 11 16:56:33 1995 Ken Raeburn <raeburn@cygnus.com>
+
+ * i386.h: Fix cmpxchg8b extension opcode description.
+
+Thu Oct 5 18:03:36 1995 Ken Raeburn <raeburn@cygnus.com>
+
+ * i386.h: Add Pentium instructions wrmsr, rdtsc, rdmsr, cmpxchg8b,
+ and register cr4.
+
+Tue Sep 19 15:26:43 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * m68k.h: Change comment: split type P into types 0, 1 and 2.
+
+Wed Aug 30 13:50:55 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (sparc_{encode,decode}_prefetch): Declare.
+
+Tue Aug 29 15:34:58 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (sparc_{encode,decode}_{asi,membar}): Declare.
+
+Wed Aug 2 18:32:19 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * m68kmri.h: Remove.
+
+ * m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the
+ declarations. Remove F_ALIAS and flag field of struct
+ m68k_opcode. Change arch field of struct m68k_opcode to unsigned
+ int. Make name and args fields of struct m68k_opcode const.
+
+Wed Aug 2 08:16:46 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (F_NOTV9): Define.
+
+Tue Jul 11 14:20:42 1995 Jeff Spiegel <jeffs@lsil.com>
+
+ * mips.h (INSN_4010): Define.
+
+Wed Jun 21 18:49:51 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * m68k.h (TBL1): Reverse sense of "round" argument in result.
+
+ Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
+ * m68k.h: Fix argument descriptions of coprocessor
+ instructions to allow only alterable operands where appropriate.
+ [!NO_DEFAULT_SIZES]: An omitted size defaults to `w'.
+ (m68k_opcode_aliases): Add more aliases.
+
+Fri Apr 14 22:15:34 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * m68k.h: Added explcitly short-sized conditional branches, and a
+ bunch of aliases (fmov*, ftest*, tdivul) to support gcc's
+ svr4-based configurations.
+
+Mon Mar 13 21:30:01 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ Mon Feb 27 08:36:39 1995 Bryan Ford <baford@cs.utah.edu>
+ * i386.h: added missing Data16/Data32 flags to a few instructions.
+
+Wed Mar 8 15:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (OP_MASK_FR, OP_SH_FR): Define.
+ (OP_MASK_BCC, OP_SH_BCC): Define.
+ (OP_MASK_PREFX, OP_SH_PREFX): Define.
+ (OP_MASK_CCC, OP_SH_CCC): Define.
+ (INSN_READ_FPR_R): Define.
+ (INSN_RFE): Delete.
+
+Wed Mar 8 03:13:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * m68k.h (enum m68k_architecture): Deleted.
+ (struct m68k_opcode_alias): New type.
+ (m68k_opcodes): Now const. Deleted opcode aliases with exactly
+ matching constraints, values and flags. As a side effect of this,
+ the MOTOROLA_SYNTAX_ONLY and MIT_SYNTAX_ONLY macros, which so far
+ as I know were never used, now may need re-examining.
+ (numopcodes): Now const.
+ (m68k_opcode_aliases, numaliases): New variables.
+ (endop): Deleted.
+ [DONT_DEFINE_TABLE]: Declare numopcodes, numaliases, and
+ m68k_opcode_aliases; update declaration of m68k_opcodes.
+
+Mon Mar 6 10:02:00 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * hppa.h (delay_type): Delete unused enumeration.
+ (pa_opcode): Replace unused delayed field with an architecture
+ field.
+ (pa_opcodes): Mark each instruction as either PA1.0 or PA1.1.
+
+Fri Mar 3 16:10:24 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (INSN_ISA4): Define.
+
+Fri Feb 24 19:13:37 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (M_DLA_AB, M_DLI): Define.
+
+Thu Feb 23 17:33:09 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * hppa.h (fstwx): Fix single-bit error.
+
+Wed Feb 15 12:19:52 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (M_ULD, M_ULD_A, M_USD, M_USD_A): Define.
+
+Mon Feb 6 10:35:23 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * i386.h: added cpuid instruction , and dr[0-7] aliases for the
+ debug registers. From Charles Hannum (mycroft@netbsd.org).
+
+Mon Feb 6 03:31:54 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ Changes from Bryan Ford <baford@schirf.cs.utah.edu> for 16-bit
+ i386 support:
+ * i386.h (MOV_AX_DISP32): New macro.
+ (i386_optab): Added Data16 and Data32 as needed. Added "w" forms
+ of several call/return instructions.
+ (ADDR_PREFIX_OPCODE): New macro.
+
+Mon Jan 23 16:45:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu)
+
+ * vax.h (struct vot_wot, field `args'): Make it pointer to const
+ char.
+ (struct vot, field `name'): ditto.
+
+Thu Jan 19 14:47:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * vax.h: Supply and properly group all values in end sentinel.
+
+Tue Jan 17 10:55:30 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * mips.h (INSN_ISA, INSN_4650): Define.
+
+Wed Oct 19 13:34:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * a29k.h: Add operand type 'I' for `inv' and `iretinv'. On
+ systems with a separate instruction and data cache, such as the
+ 29040, these instructions take an optional argument.
+
+Wed Sep 14 17:44:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * mips.h (INSN_STORE_MEMORY): Correct value to not conflict with
+ INSN_TRAP.
+
+Tue Sep 6 11:39:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * mips.h (INSN_STORE_MEMORY): Define.
+
+Thu Jul 28 19:28:07 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * sparc.h: Document new operand type 'x'.
+
+Tue Jul 26 17:48:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i960.h (I_CX2): New instruction category. It includes
+ instructions available on Cx and Jx processors.
+ (I_JX): New instruction category, for JX-only instructions.
+ (i960_opcodes): Put eshro and sysctl in I_CX2 category. Added
+ Jx-only instructions, in I_JX category.
+
+Wed Jul 13 18:43:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * ns32k.h (endop): Made pointer const too.
+
+Sun Jul 10 11:01:09 1994 Ian Dall (dall@hfrd.dsto.gov.au)
+
+ * ns32k.h: Drop Q operand type as there is no correct use
+ for it. Add I and Z operand types which allow better checking.
+
+Thu Jul 7 12:34:48 1994 Steve Chamberlain (sac@jonny.cygnus.com)
+
+ * h8300.h (xor.l) :fix bit pattern.
+ (L_2): New size of operand.
+ (trapa): Use it.
+
+Fri Jun 10 16:38:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * m68k.h: Move "trap" before "tpcc" to change disassembly.
+
+Fri Jun 3 15:57:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * sparc.h: Include v9 definitions.
+
+Thu Jun 2 12:23:17 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * m68k.h (m68060): Defined.
+ (m68040up, mfloat, mmmu): Include it.
+ (struct m68k_opcode): Widen `arch' field.
+ (m68k_opcodes): Updated for M68060. Removed comments that were
+ instructions commented out by "JF" years ago.
+
+Thu Apr 28 18:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * m68k.h (struct m68k_opcode): Shorten `arch' field to 8 bits, and
+ add a one-bit `flags' field.
+ (F_ALIAS): New macro.
+
+Wed Apr 27 11:29:52 1994 Steve Chamberlain (sac@cygnus.com)
+
+ * h8300.h (dec, inc): Get encoding right.
+
+Mon Apr 4 13:12:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ppc.h (struct powerpc_operand): Removed signedp field; just use
+ a flag instead.
+ (PPC_OPERAND_SIGNED): Define.
+ (PPC_OPERAND_SIGNOPT): Define.
+
+Thu Mar 31 19:34:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i386.h (IS_JUMP_ON_ECX_ZERO, "jcxz" pattern): Operand size
+ prefix is 0x66, not 0x67. Patch from H.J. Lu (hlu@nynexst.com).
+
+Thu Mar 3 15:51:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i386.h: Reverse last change. It'll be handled in gas instead.
+
+Thu Feb 24 15:29:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i386.h (sar): Disabled the two-operand Imm1 form, since it was
+ slower on the 486 and used the implicit shift count despite the
+ explicit operand. The one-operand form is still available to get
+ the shorter form with the implicit shift count.
+
+Thu Feb 17 12:27:52 1994 Torbjorn Granlund (tege@mexican.cygnus.com)
+
+ * hppa.h: Fix typo in fstws arg string.
+
+Wed Feb 9 21:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ppc.h (struct powerpc_opcode): Make operands field unsigned.
+
+Mon Feb 7 19:14:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ppc.h (PPC_OPCODE_601): Define.
+
+Fri Feb 4 23:43:50 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * hppa.h (addb): Use '@' for addb and addib pseudo ops.
+ (so we can determine valid completers for both addb and addb[tf].)
+
+ * hppa.h (xmpyu): No floating point format specifier for the
+ xmpyu instruction.
+
+Fri Feb 4 23:36:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ppc.h (PPC_OPERAND_NEXT): Define.
+ (PPC_OPERAND_NEGATIVE): Change value to make room for above.
+ (struct powerpc_macro): Define.
+ (powerpc_macros, powerpc_num_macros): Declare.
+
+Fri Jan 21 19:13:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ppc.h: New file. Header file for PowerPC opcode table.
+
+Mon Jan 17 00:14:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * hppa.h: More minor template fixes for sfu and copr (to allow
+ for easier disassembly).
+
+ * hppa.h: Fix templates for all the sfu and copr instructions.
+
+Wed Dec 15 15:12:42 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i386.h (push): Permit Imm16 operand too.
+
+Sat Dec 11 16:14:06 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * h8300.h (andc): Exists in base arch.
+
+Wed Dec 1 12:15:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * From Hisashi MINAMINO <minamino@sramhc.sra.co.jp>
+ * hppa.h: #undef NONE to avoid conflict with hiux include files.
+
+Sun Nov 21 22:06:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * hppa.h: Add FP quadword store instructions.
+
+Wed Nov 17 17:13:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h: (M_J_A): Added.
+ (M_LA): Removed.
+
+Mon Nov 8 12:12:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (OP_MASK_CACHE, OP_SH_CACHE): Define. From Ted Lemon
+ <mellon@pepper.ncd.com>.
+
+Sun Nov 7 00:30:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * hppa.h: Immediate field in probei instructions is unsigned,
+ not low-sign extended.
+
+Wed Nov 3 10:30:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * m88k.h (RRI10MASK): Change from 0xfc00ffe0 to 0xfc00fc00.
+
+Tue Nov 2 12:41:30 1993 Ken Raeburn (raeburn@rover.cygnus.com)
+
+ * i386.h: Add "fxch" without operand.
+
+Mon Nov 1 18:13:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (M_JAL_1, M_JAL_2, M_JAL_A): Added.
+
+Sat Oct 2 22:26:11 1993 Jeffrey A Law (law@snake.cs.utah.edu)
+
+ * hppa.h: Add gfw and gfr to the opcode table.
+
+Wed Sep 29 16:23:00 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * m88k.h: extended to handle m88110.
+
+Tue Sep 28 19:19:08 1993 Jeffrey A Law (law@snake.cs.utah.edu)
+
+ * hppa.h (be, ble): Use operand type 'z' to denote absolute branch
+ addresses.
+
+Tue Sep 14 14:04:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * i960.h (i960_opcodes): Properly bracket initializers.
+
+Mon Sep 13 12:50:52 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * m88k.h (BOFLAG): rewrite to avoid nested comment.
+
+Mon Sep 13 15:46:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * m68k.h (two): Protect second argument with parentheses.
+
+Fri Sep 10 16:29:47 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * i386.h (i386_optab): Added new instruction "rsm" (for i386sl).
+ Deleted old in/out instructions in "#if 0" section.
+
+Thu Sep 9 17:42:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * i386.h (i386_optab): Properly bracket initializers.
+
+Wed Aug 25 13:50:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * hppa.h (pa_opcode): Use '|' for movb and movib insns. (From
+ Jeff Law, law@cs.utah.edu).
+
+Mon Aug 23 16:55:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * i386.h (lcall): Accept Imm32 operand also.
+
+Mon Aug 23 12:43:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (M_ABSU): Removed (absolute value of unsigned number??).
+ (M_DABS): Added.
+
+Thu Aug 19 15:08:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (INSN_*): Changed values. Removed unused definitions.
+ Added INSN_COND_BRANCH_LIKELY, INSN_ISA2 and INSN_ISA3. Split
+ INSN_LOAD_DELAY into INSN_LOAD_MEMORY_DELAY and
+ INSN_LOAD_COPROC_DELAY. Split INSN_COPROC_DELAY into
+ INSN_COPROC_MOVE_DELAY and INSN_COPROC_MEMORY_DELAY.
+ (M_*): Added new values for r6000 and r4000 macros.
+ (ANY_DELAY): Removed.
+
+Wed Aug 18 15:37:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h: Added M_LI_S and M_LI_SS.
+
+Tue Aug 17 07:08:08 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ * h8300.h: Get some rare mov.bs correct.
+
+Thu Aug 5 09:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * sparc.h: Don't define const ourself; rely on ansidecl.h having
+ been included.
+
+Fri Jul 30 18:41:11 1993 John Gilmore (gnu@cygnus.com)
+
+ * sparc.h (F_JSR, F_UNBR, F_CONDBR): Add new flags to mark
+ jump instructions, for use in disassemblers.
+
+Thu Jul 22 07:25:27 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * m88k.h: Make bitfields just unsigned, not unsigned long or
+ unsigned short.
+
+Wed Jul 21 11:55:31 1993 Jim Kingdon (kingdon@deneb.cygnus.com)
+
+ * hppa.h: New argument type 'y'. Use in various float instructions.
+
+Mon Jul 19 17:17:03 1993 Jim Kingdon (kingdon@deneb.cygnus.com)
+
+ * hppa.h (break): First immediate field is unsigned.
+
+ * hppa.h: Add rfir instruction.
+
+Sun Jul 18 16:28:08 1993 Jim Kingdon (kingdon@rtl.cygnus.com)
+
+ * mips.h: Split the actual table out into ../../opcodes/mips-opc.c.
+
+Fri Jul 16 09:59:29 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h: Reworked the hazard information somewhat, and fixed some
+ bugs in the instruction hazard descriptions.
+
+Thu Jul 15 12:42:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * m88k.h: Corrected a couple of opcodes.
+
+Tue Jul 6 15:17:35 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h: Replaced with version from Ralph Campbell and OSF. The
+ new version includes instruction hazard information, but is
+ otherwise reasonably similar.
+
+Thu Jul 1 20:36:17 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * h8300.h: Fix typo in UNOP3 (affected sh[al][lr].l).
+
+Fri Jun 11 18:38:44 1993 Ken Raeburn (raeburn@cygnus.com)
+
+ Patches from Jeff Law, law@cs.utah.edu:
+ * hppa.h: Clean up some of the OLD_TABLE, non-OLD_TABLE braindamage.
+ Make the tables be the same for the following instructions:
+ "bb", "addb[tf]", "addib[tf]", "add", "add[loc]", "addco",
+ "sh[123]add", "sh[123]add[lo]", "sub", "sub[obt]", "sub[bt]o",
+ "ds", "comclr", "addi", "addi[ot]", "addito", "subi", "subio",
+ "comiclr", "fadd", "fsub", "fmpy", "fdiv", "fsqrt", "fabs",
+ "frnd", "fcpy", "fcnvff", "fcnvxf", "fcnvfx", "fcnvfxt",
+ "fcmp", and "ftest".
+
+ * hppa.h: Make new and old tables the same for "break", "mtctl",
+ "mfctl", "bb", "ssm", "rsm", "xmpyu", "fmpyadd", "fmpysub".
+ Fix typo in last patch. Collapse several #ifdefs into a
+ single #ifdef.
+
+ * hppa.h: Delete remaining OLD_TABLE code. Bring some
+ of the comments up-to-date.
+
+ * hppa.h: Update "free list" of letters and update
+ comments describing each letter's function.
+
+Thu Jul 8 09:05:26 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * h8300.h: Lots of little fixes for the h8/300h.
+
+Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ Support for H8/300-H
+ * h8300.h: Lots of new opcodes.
+
+Fri Jun 4 15:41:37 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ * h8300.h: checkpoint, includes H8/300-H opcodes.
+
+Thu Jun 3 15:42:59 1993 Stu Grossman (grossman@cygnus.com)
+
+ * Patches from Jeffrey Law <law@cs.utah.edu>.
+ * hppa.h: Rework single precision FP
+ instructions so that they correctly disassemble code
+ PA1.1 code.
+
+Thu May 27 19:21:22 1993 Bruce Bauman (boot@osf.org)
+
+ * i386.h (i386_optab, mov pattern): Remove Mem16 restriction from
+ mov to allow instructions like mov ss,xyz(ecx) to assemble.
+
+Tue May 25 00:39:40 1993 Ken Raeburn (raeburn@cygnus.com)
+
+ * hppa.h: Use new version from Utah if OLD_TABLE isn't defined;
+ gdb will define it for now.
+
+Mon May 24 15:20:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * sparc.h: Don't end enumerator list with comma.
+
+Fri May 14 15:15:50 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * Based on patches from davidj@ICSI.Berkeley.EDU (David Johnson):
+ * mips.h (OP_MASK_COPZ, OP_SH_COPZ): Define.
+ ("bc2t"): Correct typo.
+ ("[ls]wc[023]"): Use T rather than t.
+ ("c[0123]"): Define general coprocessor instructions.
+
+Mon May 10 06:02:25 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
+
+ * m68k.h: Move split point for gcc compilation more towards
+ middle.
+
+Fri Apr 9 13:26:16 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * rs6k.h: Clean up instructions for primary opcode 19 (many were
+ simply wrong, ics, rfi, & rfsvc were missing).
+ Add "a" to opr_ext for "bb". Doc fix.
+
+Thu Mar 18 13:45:31 1993 Per Bothner (bothner@rtl.cygnus.com)
+
+ * i386.h: 486 extensions from John Hassey (hassey@dg-rtp.dg.com).
+ * mips.h: Add casts, to suppress warnings about shifting too much.
+ * m68k.h: Document the placement code '9'.
+
+Thu Feb 18 02:03:14 1993 John Gilmore (gnu@cygnus.com)
+
+ * m68k.h (BREAK_UP_BIG_DECL, AND_OTHER_PART): Add kludge which
+ allows callers to break up the large initialized struct full of
+ opcodes into two half-sized ones. This permits GCC to compile
+ this module, since it takes exponential space for initializers.
+ (numopcodes, endop): Revise to use AND_OTHER_PART in size calcs.
+
+Thu Feb 4 02:06:56 1993 John Gilmore (gnu@cygnus.com)
+
+ * a29k.h: Remove RCS crud, update GPL to v2, update copyrights.
+ * convex.h: Added, from GDB's convx-opcode.h. Added CONST to all
+ initialized structs in it.
+
+Thu Jan 28 21:32:22 1993 John Gilmore (gnu@cygnus.com)
+
+ Delta 88 changes inspired by Carl Greco, <cgreco@Creighton.Edu>:
+ * m88k.h (PMEM): Avoid previous definition from <sys/param.h>.
+ (AND): Change to AND_ to avoid ansidecl.h `AND' conflict.
+
+Sat Jan 23 18:10:49 PST 1993 Ralph Campbell (ralphc@pyramid.com)
+
+ * mips.h: document "i" and "j" operands correctly.
+
+Thu Jan 7 15:58:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h: Removed endianness dependency.
+
+Sun Jan 3 14:13:35 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * h8300.h: include info on number of cycles per instruction.
+
+Mon Dec 21 21:29:08 1992 Stu Grossman (grossman at cygnus.com)
+
+ * hppa.h: Move handy aliases to the front. Fix masks for extract
+ and deposit instructions.
+
+Sat Dec 12 16:09:48 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * i386.h: accept shld and shrd both with and without the shift
+ count argument, which is always %cl.
+
+Fri Nov 27 17:13:18 1992 Ken Raeburn (raeburn at cygnus.com)
+
+ * i386.h (i386_optab_end, i386_regtab_end): Now const.
+ (one_byte_segment_defaults, two_byte_segment_defaults,
+ i386_prefixtab_end): Ditto.
+
+Mon Nov 23 10:47:25 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * vax.h (bb*): Use "v" (bitfield type), not "a" (address operand)
+ for operand 2; from John Carr, jfc@dsg.dec.com.
+
+Wed Nov 4 07:36:49 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * m68k.h: Define FIXED_SIZE_BRANCH, so bsr and bra instructions
+ always use 16-bit offsets. Makes calculated-size jump tables
+ feasible.
+
+Fri Oct 16 22:52:43 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * i386.h: Fix one-operand forms of in* and out* patterns.
+
+Tue Sep 22 14:08:14 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * m68k.h: Added CPU32 support.
+
+Tue Sep 22 00:38:41 1992 John Gilmore (gnu@cygnus.com)
+
+ * mips.h (break): Disassemble the argument. Patch from
+ jonathan@cs.stanford.edu (Jonathan Stone).
+
+Wed Sep 9 11:25:28 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * m68k.h: merged Motorola and MIT syntax.
+
+Thu Sep 3 09:33:22 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * m68k.h (pmove): make the tests less strict, the 68k book is
+ wrong.
+
+Tue Aug 25 23:25:19 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * m68k.h (m68ec030): Defined as alias for 68030.
+ (m68k_opcodes): New type characters "3" for 68030 MMU regs and "t"
+ for immediate 0-7 added. Set up some opcodes (ptest, bkpt) to use
+ them. Tightened description of "fmovex" to distinguish it from
+ some "pmove" encodings. Added "pmove" for 68030 MMU regs, cleaned
+ up descriptions that claimed versions were available for chips not
+ supporting them. Added "pmovefd".
+
+Mon Aug 24 12:04:51 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * m68k.h: fix where the . goes in divull
+
+Wed Aug 19 11:22:24 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * m68k.h: the cas2 instruction is supposed to be written with
+ indirection on the last two operands, which can be either data or
+ address registers. Added a new operand type 'r' which accepts
+ either register type. Added new cases for cas2l and cas2w which
+ use them. Corrected masks for cas2 which failed to recognize use
+ of address register.
+
+Fri Aug 14 14:20:38 1992 Per Bothner (bothner@cygnus.com)
+
+ * m68k.h: Merged in patches (mostly m68040-specific) from
+ Colin Smith <colin@wrs.com>.
+
+ * m68k.h: Merged m68kmri.h and m68k.h (using the former as a
+ base). Also cleaned up duplicates, re-ordered instructions for
+ the sake of dis-assembling (so aliases come after standard names).
+ * m68kmri.h: Now just defines some macros, and #includes m68k.h.
+
+Wed Aug 12 16:38:15 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in
+ all missing .s
+
+Mon Aug 10 23:22:33 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * sparc.h: Moved tables to BFD library.
+
+ * i386.h (i386_optab): Add fildq, fistpq aliases used by gcc.
+
+Sun Jun 28 13:29:03 1992 Fred Fish (fnf@cygnus.com)
+
+ * h8300.h: Finish filling in all the holes in the opcode table,
+ so that the Lucid C compiler can digest this as well...
+
+Fri Jun 26 21:27:17 1992 John Gilmore (gnu at cygnus.com)
+
+ * i386.h: Add setc, setnc, addr16, data16, repz, repnz aliases.
+ Fix opcodes on various sizes of fild/fist instructions
+ (16bit=no suffix, 32bit="l" suffix, 64bit="ll" suffix).
+ Use tabs to indent for comments. Fixes suggested by Minh Tran-Le.
+
+Thu Jun 25 16:13:26 1992 Stu Grossman (grossman at cygnus.com)
+
+ * h8300.h: Fill in all the holes in the opcode table so that the
+ losing HPUX C compiler can digest this...
+
+Thu Jun 11 12:15:25 1992 John Gilmore (gnu at cygnus.com)
+
+ * mips.h: Fix decoding of coprocessor instructions, somewhat.
+ (Fix by Eric Anderson, 3jean@maas-neotek.arc.nasa.gov.)
+
+Thu May 28 11:17:44 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
+
+ * sparc.h: Add new architecture variant sparclite; add its scan
+ and divscc opcodes. Define ARCHITECTURES_CONFLICT_P macro.
+
+Tue May 5 14:23:27 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * mips.h: Add some more opcode synonyms (from Frank Yellin,
+ fy@lucid.com).
+
+Thu Apr 16 18:25:26 1992 Per Bothner (bothner@cygnus.com)
+
+ * rs6k.h: New version from IBM (Metin).
+
+Thu Apr 9 00:31:19 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * rs6k.h: Fix incorrect extended opcode for instructions `fm'
+ and `fd'. (From metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik).)
+
+Tue Apr 7 13:38:47 1992 Stu Grossman (grossman at cygnus.com)
+
+ * rs6k.h: Move from ../../gdb/rs6k-opcode.h.
+
+Fri Apr 3 11:30:20 1992 Fred Fish (fnf@cygnus.com)
+
+ * m68k.h (one, two): Cast macro args to unsigned to suppress
+ complaints from compiler and lint about integer overflow during
+ shift.
+
+Sun Mar 29 12:22:08 1992 John Gilmore (gnu at cygnus.com)
+
+ * sparc.h (OP): Avoid signed overflow when shifting to high order bit.
+
+Fri Mar 6 00:22:38 1992 John Gilmore (gnu at cygnus.com)
+
+ * mips.h: Make bitfield layout depend on the HOST compiler,
+ not on the TARGET system.
+
+Fri Feb 21 01:29:51 1992 K. Richard Pixley (rich@cygnus.com)
+
+ * i386.h: added inb, inw, outb, outw opcodes, added att syntax for
+ scmp, slod, smov, ssca, ssto. Curtesy Minh Tran-Le
+ <TRANLE@INTELLICORP.COM>.
+
+Thu Jan 30 07:31:44 1992 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * h8300.h: turned op_type enum into #define list
+
+Thu Jan 30 01:07:24 1992 John Gilmore (gnu at cygnus.com)
+
+ * sparc.h: Remove "cypress" architecture. Remove "fitox" and
+ similar instructions -- they've been renamed to "fitoq", etc.
+ REALLY fix tsubcctv. Fix "fcmpeq" and "fcmpq" which had wrong
+ number of arguments.
+ * h8300.h: Remove extra ; which produces compiler warning.
+
+Tue Jan 28 22:59:22 1992 Stu Grossman (grossman at cygnus.com)
+
+ * sparc.h: fix opcode for tsubcctv.
+
+Tue Jan 7 17:19:39 1992 K. Richard Pixley (rich at cygnus.com)
+
+ * sparc.h: fba and cba are now aliases for fb and cb respectively.
+
+Fri Dec 27 10:55:50 1991 Per Bothner (bothner at cygnus.com)
+
+ * sparc.h (nop): Made the 'lose' field be even tighter,
+ so only a standard 'nop' is disassembled as a nop.
+
+Sun Dec 22 12:18:18 1991 Michael Tiemann (tiemann at cygnus.com)
+
+ * sparc.h (nop): Add RD_GO to `lose' so that only %g0 in dest is
+ disassembled as a nop.
+
+Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com)
+
+ * m68k.h, sparc.h: ANSIfy enums.
+
+Tue Dec 10 00:22:20 1991 K. Richard Pixley (rich at rtl.cygnus.com)
+
+ * sparc.h: fix a typo.
+
+Sat Nov 30 20:40:51 1991 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * a29k.h, arm.h, h8300.h, i386.h, i860.h, i960.h , m68k.h,
+ m88k.h, mips.h , np1.h, ns32k.h, pn.h, pyr.h, sparc.h, tahoe.h,
+ vax.h: Renamed from ../<foo>-opcode.h.
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/include/opcode/h8300.h b/include/opcode/h8300.h
index 20793a0a94b..76d42e58a72 100644
--- a/include/opcode/h8300.h
+++ b/include/opcode/h8300.h
@@ -1,5 +1,5 @@
/* Opcode table for the H8/300
- Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000, 2002, 2003
+ Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>.
@@ -26,7 +26,8 @@
typedef int op_type;
-enum h8_flags {
+enum h8_flags
+{
L_2 = 0x10,
L_3 = 0x20,
/* 3 bit constant, zero not accepted. */
@@ -225,7 +226,8 @@ enum h8_flags {
#endif
};
-enum ctrlreg {
+enum ctrlreg
+{
C_CCR = 0,
C_EXR = 1,
C_MACH = 2,
@@ -247,7 +249,8 @@ struct arg
};
/* Availability of instructions on processor models. */
-enum h8_model {
+enum h8_model
+{
AV_H8,
AV_H8H,
AV_H8S,
@@ -304,7 +307,7 @@ struct h8_opcode
#define A24LIST L_24, DATA5
#define A32LIST L_32, DATA7
-/* Extended Operand Prefixes: */
+/* Extended Operand Prefixes: */
#define PREFIX_010 0x0, 0x1, 0x0
#define PREFIX_015 0x0, 0x1, 0x5
@@ -383,7 +386,7 @@ struct h8_opcode
#define PREFIX_7A7C 0x7, 0xa, 0x7, 0xc
-/* Source standard fragment: */
+/* Source standard fragment: */
#define FROM_IND 0, RSIND
#define FROM_POSTINC 8, RSPOSTINC
#define FROM_POSTDEC 10, RSPOSTDEC
@@ -401,7 +404,7 @@ struct h8_opcode
#define FROM_ABS16 4, B30 | IGNORE
#define FROM_ABS32 4, B31 | IGNORE
-/* Destination standard fragment: */
+/* Destination standard fragment: */
#define TO_IND 0, RDIND
#define TO_IND_MOV 0, RDIND | B30
#define TO_POSTINC 8, RDPOSTINC
@@ -425,7 +428,7 @@ struct h8_opcode
#define TO_ABS16 4, B30 | IGNORE
#define TO_ABS32 4, B31 | IGNORE
-/* Source fragment for three-word instruction: */
+/* Source fragment for three-word instruction: */
#define TFROM_IND 6, 9, B30 | RSIND, 12
#define TFROM_DISP2 6, 9, B30 | DISPREG, 12
#define TFROM_ABS16 6, 11, B30 | B20 | B10 | IGNORE, 12, ABS16LIST
@@ -445,7 +448,7 @@ struct h8_opcode
#define TFROM_ABS16W 6, 11, 1, 12, ABS16LIST
#define TFROM_ABS32W 6, 11, 3, 12, ABS32LIST
-/* Source fragment for three-word instruction: */
+/* Source fragment for three-word instruction: */
#define TFROM_IND_B 6, 8, B30 | RSIND, 12
#define TFROM_ABS16_B 6, 10, B30 | B20 | B10 | IGNORE, 12, ABS16LIST
#define TFROM_ABS32_B 6, 10, B30 | B20 | B11 | IGNORE, 12, ABS32LIST
@@ -467,7 +470,7 @@ struct h8_opcode
#define TFROM_ABS16W_B 6, 10, 1, 12, ABS16LIST
#define TFROM_ABS32W_B 6, 10, 3, 12, ABS32LIST
-/* Extended Operand Class Expanders: */
+/* Extended Operand Class Expanders: */
#define MOVFROM_STD(CODE, PREFIX, NAME, SRC, SRC_INFIX) \
{CODE, AV_H8SX, 0, NAME, {{SRC, RDIND, E}}, {{PREFIX, SRC_INFIX, TO_IND_MOV, E}}}, \
@@ -577,9 +580,7 @@ struct h8_opcode
{CODE, AV_H8, 4, NAME, {{ABS16SRC, DST, E}}, {{ 6, OP2, 0, DST, RELAX16 | ABS16LIST, E}}}, \
{CODE, AV_H8, 6, NAME, {{ABS32SRC, DST, E}}, {{ 6, OP2, 2, DST, MEMRELAX | ABS32LIST, E}}}
-/*
- * Expansion macros for two-word (plus data) instructions.
- */
+/* Expansion macros for two-word (plus data) instructions. */
/* Expansion from one source to "standard" destinations. */
#define EXPAND2_STD_SRC(CODE, WEIGHT, NAME, SRC, PREFIX, NIB1, NIB2) \
@@ -661,9 +662,7 @@ struct h8_opcode
{CODE, AV_H8SX, 0, NAME, {{RSIND, INDEXW32D, E}}, {{0x7, 0xc, BIT | RSIND, 0x5, TO_DISP32W, OPCODE, IGNORE, DSTDISP32LIST, E}}}, \
{CODE, AV_H8SX, 0, NAME, {{RSIND, INDEXL32D, E}}, {{0x7, 0xc, BIT | RSIND, 0x5, TO_DISP32L, OPCODE, IGNORE, DSTDISP32LIST, E}}}
-/*
- * Expansion macros for three word (plus data) instructions.
- */
+/* Expansion macros for three word (plus data) instructions. */
#define EXPAND3_STD_SRC(CODE, WEIGHT, NAME, SRC, PREFIX, INFIX, OPCODE) \
{CODE, AV_H8SX, 0, NAME, {{SRC, RDPOSTINC, E}}, {{PREFIX, INFIX, 8, RDPOSTINC, OPCODE, B30 | IGNORE, E}}}, \
@@ -749,9 +748,7 @@ struct h8_opcode
EXPAND3_L_SRC (CODE, 4, NAME, INDEXL32, PREFIX_78R7W, TFROM_DISP32L_B, OPCODE)
-/*
- * Use the expansion macros to fill out the opcode table.
- */
+/* Use the expansion macros to fill out the opcode table. */
#define EXPAND_FROM_REG8(CODE, NAME, OP1, OP2, OP3) \
{CODE, AV_H8SX, 0, NAME, {{RS8, RDIND, E}}, {{0x7, 0xd, B30 | RDIND, IGNORE, OP1, OP2, RS8, IGNORE, E}}}, \
@@ -892,16 +889,14 @@ struct h8_opcode
EXPAND_STD_MATRIX_L (CODE, NAME, OP1)
-/*
- * Old expanders:
- */
+/* Old expanders: */
#define BITOP(code, imm, name, op00, op01, op10, op11, op20, op21, op30, op4) \
{code, AV_H8, 2, name, {{imm, RD8, E}}, {{op00, op01, imm, RD8, E}}}, \
{code, AV_H8, 6, name, {{imm, RDIND, E}}, {{op10, op11, B30 | RDIND, 0, op00, op01, imm, 0, E}}}, \
{code, AV_H8, 6, name, {{imm, ABS8DST, E}}, {{op20, op21, DSTABS8LIST, op00, op01, imm, 0, E}}}, \
- {code, AV_H8H, 6, name, {{imm, ABS16DST, E}}, {{0x6, 0xa, 0x1, op30, DST | ABS16LIST, op00, op01, imm, op4, E}}}, \
- {code, AV_H8H, 6, name, {{imm, ABS32DST, E}}, {{0x6, 0xa, 0x3, op30, DST | ABS32LIST, op00, op01, imm, op4, E}}}
+ {code, AV_H8S, 6, name, {{imm, ABS16DST, E}}, {{0x6, 0xa, 0x1, op30, DST | MEMRELAX | ABS16LIST , op00, op01, imm, op4, E}}}, \
+ {code, AV_H8S, 6, name, {{imm, ABS32DST, E}}, {{0x6, 0xa, 0x3, op30, DST | MEMRELAX | ABS32LIST , op00, op01, imm, op4, E}}}
#define BITOP_B(code, imm, name, op00, op01, op10, op11, op20, op21, op30, op4) \
{code, AV_H8SX, 0, name, {{imm, RDIND, E}}, {{op10, op11, B30 | RDIND, 0, op00, op01, imm, op4, E}}}, \
@@ -1047,11 +1042,12 @@ struct h8_opcode
#define PREFIXLDC 0x0, 0x1, 0x4, B30 | CCR_EXR | DST
#define PREFIXSTC 0x0, 0x1, 0x4, B30 | CCR_EXR | SRC
-#define O(op, size) (op*4+size)
+#define O(op, size) (op * 4 + size)
#define OP_SIZE(HOW) (HOW % 4)
#define OP_KIND(HOW) (HOW / 4)
-enum h8_asm_codes {
+enum h8_asm_codes
+{
O_RECOMPILE = 0,
O_ADD,
O_ADDX,
@@ -1182,7 +1178,8 @@ enum h8_asm_codes {
/* End of System Call specific Changes. */
};
-enum h8_size {
+enum h8_size
+{
SB = 0,
SW = 1,
SL = 2,
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 05a9b9066ce..9bc2903b52c 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,74 @@
+2004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * cp-demangle.c: Include "cp-demangle.h". If IN_GLIBCPP_V3 is
+ defined, rename some functions which are to become static via
+ #define.
+ (CP_STATIC_IF_GLIBCPP_V3): Define.
+ (struct d_operator_info): Move definition to cp-demangle.h, and
+ rename to demangle_operator_info. Change all uses.
+ (enum d_builtin_type_print): Move definition to cp-demangle.h.
+ (struct d_builtin_type_info): Move definition to cp-demangle.h,
+ and rename to demangle_builtin_type_info. Change all uses.
+ (enum d_comp_type): Move definition to include/demangle.h, and
+ rename to demangle_component_type, and change all enums to start
+ with DEMANGLE_COMPONENT_ instead of D_. Change all uses.
+ (struct d_comp): Move definition to include/demangle.h, and rename
+ to demangle_component. Change all uses.
+ (struct d_info): Move definition to cp-demangle.h.
+ (cplus_demangle_fill_name): New function.
+ (cplus_demangle_fill_extended_operator): New function.
+ (cplus_demangle_fill_ctor): New function.
+ (cplus_demangle_fill_dtor): New function.
+ (d_make_empty): Remove type parameter. Change all callers.
+ (d_make_name): Use cplus_demangle_fill_name.
+ (d_make_extended_operator): Use
+ cplus_demangle_fill_extended_operator.
+ (d_make_ctor): Use cplus_demangle_fill_ctor.
+ (d_make_dtor): Use cplus_demangle_fill_dtor.
+ (cplus_demangle_mangled_name): Rename from d_mangled_name. Make
+ non-static by default. Change all callers.
+ (cplus_demangle_operators): Rename from d_operators. Change all
+ uses. Make non-static by default. Add sentinel at end of array.
+ (d_operator_name): Adjust initialization of high for new sentinel
+ in cplus_demangle_operators.
+ (cplus_demangle_builtin_types): Rename from d_builtin_types.
+ Change all uses. Make non-static by default. Change initializer
+ to use D_BUILTIN_TYPE_COUNT instead of magic number 26.
+ (cplus_demangle_type): Rename from d_type. Make non-static by
+ default. Change all callers.
+ (cplus_demangle_init_info): Rename from d_init_info. Make
+ non-static by default. Change all callers.
+ * cp-demangle.h: New file.
+ * cp-demint.c: New file.
+ * Makefile.in: Rebuild dependencies.
+ (CFILES): Add cp-demint.c.
+ (REQUIRED_OFILES): Add cp-demint.o.
+
+2004-01-09 Kelley Cook <kcook@gcc.gnu.org>
+
+ * configure.in: Rename file to ...
+ * configure.ac: ... this.
+ * Makefile.in: Update a comment for above change.
+ * README: Likewise.
+ * config.in: Regenerate.
+
+2004-01-02 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * cp-demangle.c (d_encoding): When DMGL_PARAMS is not set, strip
+ CV-qualifiers from D_COMP_LOCAL_NAME right subtree.
+ * cplus-dem.c (demangle_arm_hp_template): Set DMGL_PARAMS when
+ demangling template parameters.
+ * testsuite/test-demangle.c (fail): New static function.
+ (main): Support new options in input file: --no-params,
+ --is-v3-ctor, and --is-v3-dtor.
+ * testsuite/demangle-expected: Add --no-params to most tests, and
+ add the correct result when parameters are not demangled. Add
+ some simple tests for V3 constructor/destructor recognition.
+
+2003-12-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * cp-demangle.c (is_ctor_or_dtor): Fix error in last change.
+
2003-12-22 Daniel Jacobowitz <drow@mvista.com>
PR debug/13272
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index 92e050ae341..139cb68a11f 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -1,6 +1,6 @@
#
# Makefile
-# Copyright (C) 1990, 91-99, 2000, 2001, 2002, 2003
+# Copyright (C) 1990, 91-99, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation
#
# This file is part of the libiberty library.
@@ -126,11 +126,11 @@ COMPILE.c = $(CC) -c @DEFS@ $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiber
# NOTE: If you add new files to the library, add them to this list
# (alphabetical), and add them to REQUIRED_OFILES, or
-# CONFIGURED_OFILES and funcs in configure.in.
+# CONFIGURED_OFILES and funcs in configure.ac.
CFILES = alloca.c argv.c asprintf.c atexit.c \
basename.c bcmp.c bcopy.c bsearch.c bzero.c \
calloc.c choose-temp.c clock.c concat.c cp-demangle.c \
- cplus-dem.c \
+ cp-demint.c cplus-dem.c \
dyn-string.c \
fdmatch.c ffs.c fibheap.c floatformat.c fnmatch.c \
getcwd.c getopt.c getopt1.c getpagesize.c getpwd.c getruntime.c \
@@ -158,7 +158,7 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \
# These are always included in the library. The first four are listed
# first and by compile time to optimize parallel builds.
-REQUIRED_OFILES = regex.o cplus-dem.o cp-demangle.o md5.o \
+REQUIRED_OFILES = regex.o cplus-dem.o cp-demangle.o cp-demint.o md5.o \
alloca.o argv.o \
choose-temp.o concat.o \
dyn-string.o \
@@ -428,9 +428,11 @@ choose-temp.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
clock.o: config.h
concat.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
copysign.o: $(INCDIR)/ansidecl.h
-cp-demangle.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/demangle.h \
- $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h $(INCDIR)/libiberty.h \
- $(INCDIR)/cp-demangle.h
+cp-demangle.o: config.h $(INCDIR)/ansidecl.h $(srcdir)/cp-demangle.h \
+ $(INCDIR)/demangle.h $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h \
+ $(INCDIR)/libiberty.h
+cp-demint.o: config.h $(INCDIR)/ansidecl.h $(srcdir)/cp-demangle.h \
+ $(INCDIR)/demangle.h $(INCDIR)/libiberty.h
cplus-dem.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/demangle.h \
$(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
dyn-string.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/dyn-string.h \
@@ -451,8 +453,8 @@ hashtab.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/hashtab.h \
$(INCDIR)/libiberty.h
hex.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
$(INCDIR)/safe-ctype.h
-lbasename.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
- $(INCDIR)/safe-ctype.h $(INCDIR)/filenames.h
+lbasename.o: $(INCDIR)/ansidecl.h $(INCDIR)/filenames.h \
+ $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
lrealpath.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
make-relative-prefix.o: config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/libiberty.h
diff --git a/libiberty/README b/libiberty/README
index e8e9b338350..886bd67bc9d 100644
--- a/libiberty/README
+++ b/libiberty/README
@@ -34,7 +34,7 @@ name of the function must be the same as the name of the file.
* Add the source file name to CFILES.
* Add the function to name to the funcs shell variable in
- configure.in.
+ configure.ac.
* Add the function to the AC_CHECK_FUNCS lists just after the
setting of the funcs shell variable. These AC_CHECK_FUNCS calls
diff --git a/libiberty/config.in b/libiberty/config.in
index 50ed3266852..8e5071aec7b 100644
--- a/libiberty/config.in
+++ b/libiberty/config.in
@@ -1,339 +1,376 @@
-/* config.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define if you have <vfork.h>. */
-#undef HAVE_VFORK_H
-
-/* Define as __inline if that's what the C compiler calls it. */
-#undef inline
-
-/* Define if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef pid_t
-
-/* Define if you need to in order for stat and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
+/* config.in. Generated from configure.ac by autoheader. */
+/* Define to `unsigned long' if <sys/types.h> doesn't define. */
+#undef uintptr_t
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-/* Define vfork as fork if vfork does not work. */
-#undef vfork
+/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
+#undef BYTEORDER
-/* Define to `unsigned long' if <sys/types.h> doesn't define. */
-#undef uintptr_t
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+ This function is required for alloca.c support on those systems. */
+#undef CRAY_STACKSEG_END
-/* Define if you have the _doprnt function. */
-#undef HAVE__DOPRNT
+/* Define to 1 if you have the <alloca.h> header file. */
+#undef HAVE_ALLOCA_H
-/* Define if you have the asprintf function. */
+/* Define to 1 if you have the `asprintf' function. */
#undef HAVE_ASPRINTF
-/* Define if you have the atexit function. */
+/* Define to 1 if you have the `atexit' function. */
#undef HAVE_ATEXIT
-/* Define if you have the basename function. */
+/* Define to 1 if you have the `basename' function. */
#undef HAVE_BASENAME
-/* Define if you have the bcmp function. */
+/* Define to 1 if you have the `bcmp' function. */
#undef HAVE_BCMP
-/* Define if you have the bcopy function. */
+/* Define to 1 if you have the `bcopy' function. */
#undef HAVE_BCOPY
-/* Define if you have the bsearch function. */
+/* Define to 1 if you have the `bsearch' function. */
#undef HAVE_BSEARCH
-/* Define if you have the bzero function. */
+/* Define to 1 if you have the `bzero' function. */
#undef HAVE_BZERO
-/* Define if you have the calloc function. */
+/* Define to 1 if you have the `calloc' function. */
#undef HAVE_CALLOC
-/* Define if you have the canonicalize_file_name function. */
+/* Define to 1 if you have the `canonicalize_file_name' function. */
#undef HAVE_CANONICALIZE_FILE_NAME
-/* Define if you have the clock function. */
+/* Define to 1 if you have the `clock' function. */
#undef HAVE_CLOCK
-/* Define if you have the ffs function. */
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `ffs' function. */
#undef HAVE_FFS
-/* Define if you have the getcwd function. */
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
-/* Define if you have the getpagesize function. */
+/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
-/* Define if you have the getrusage function. */
+/* Define to 1 if you have the `getrusage' function. */
#undef HAVE_GETRUSAGE
-/* Define if you have the getsysinfo function. */
+/* Define to 1 if you have the `getsysinfo' function. */
#undef HAVE_GETSYSINFO
-/* Define if you have the gettimeofday function. */
+/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
-/* Define if you have the index function. */
+/* Define to 1 if you have the `index' function. */
#undef HAVE_INDEX
-/* Define if you have the insque function. */
+/* Define to 1 if you have the `insque' function. */
#undef HAVE_INSQUE
-/* Define if you have the memchr function. */
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */
+#undef HAVE_MACHINE_HAL_SYSINFO_H
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
+
+/* Define to 1 if you have the `memchr' function. */
#undef HAVE_MEMCHR
-/* Define if you have the memcmp function. */
+/* Define to 1 if you have the `memcmp' function. */
#undef HAVE_MEMCMP
-/* Define if you have the memcpy function. */
+/* Define to 1 if you have the `memcpy' function. */
#undef HAVE_MEMCPY
-/* Define if you have the memmove function. */
+/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
-/* Define if you have the mempcpy function. */
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mempcpy' function. */
#undef HAVE_MEMPCPY
-/* Define if you have the memset function. */
+/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
-/* Define if you have the mkstemps function. */
+/* Define to 1 if you have the `mkstemps' function. */
#undef HAVE_MKSTEMPS
-/* Define if you have the on_exit function. */
+/* Define to 1 if you have a working `mmap' system call. */
+#undef HAVE_MMAP
+
+/* Define to 1 if you have the `on_exit' function. */
#undef HAVE_ON_EXIT
-/* Define if you have the psignal function. */
+/* Define to 1 if you have the `psignal' function. */
#undef HAVE_PSIGNAL
-/* Define if you have the pstat_getdynamic function. */
+/* Define to 1 if you have the `pstat_getdynamic' function. */
#undef HAVE_PSTAT_GETDYNAMIC
-/* Define if you have the pstat_getstatic function. */
+/* Define to 1 if you have the `pstat_getstatic' function. */
#undef HAVE_PSTAT_GETSTATIC
-/* Define if you have the putenv function. */
+/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
-/* Define if you have the random function. */
+/* Define to 1 if you have the `random' function. */
#undef HAVE_RANDOM
-/* Define if you have the realpath function. */
+/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
-/* Define if you have the rename function. */
+/* Define to 1 if you have the `rename' function. */
#undef HAVE_RENAME
-/* Define if you have the rindex function. */
+/* Define to 1 if you have the `rindex' function. */
#undef HAVE_RINDEX
-/* Define if you have the sbrk function. */
+/* Define to 1 if you have the `sbrk' function. */
#undef HAVE_SBRK
-/* Define if you have the setenv function. */
+/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
-/* Define if you have the sigsetmask function. */
+/* Define to 1 if you have the `sigsetmask' function. */
#undef HAVE_SIGSETMASK
-/* Define if you have the snprintf function. */
+/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
-/* Define if you have the stpcpy function. */
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `stpcpy' function. */
#undef HAVE_STPCPY
-/* Define if you have the stpncpy function. */
+/* Define to 1 if you have the `stpncpy' function. */
#undef HAVE_STPNCPY
-/* Define if you have the strcasecmp function. */
+/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
-/* Define if you have the strchr function. */
+/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
-/* Define if you have the strdup function. */
+/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
-/* Define if you have the strerror function. */
+/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
-/* Define if you have the strncasecmp function. */
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strncasecmp' function. */
#undef HAVE_STRNCASECMP
-/* Define if you have the strrchr function. */
+/* Define to 1 if you have the `strrchr' function. */
#undef HAVE_STRRCHR
-/* Define if you have the strsignal function. */
+/* Define to 1 if you have the `strsignal' function. */
#undef HAVE_STRSIGNAL
-/* Define if you have the strstr function. */
+/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
-/* Define if you have the strtod function. */
+/* Define to 1 if you have the `strtod' function. */
#undef HAVE_STRTOD
-/* Define if you have the strtol function. */
+/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
-/* Define if you have the strtoul function. */
+/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
-/* Define if you have the sysconf function. */
+/* Define to 1 if you have the `sysconf' function. */
#undef HAVE_SYSCONF
-/* Define if you have the sysctl function. */
+/* Define to 1 if you have the `sysctl' function. */
#undef HAVE_SYSCTL
-/* Define if you have the sysmp function. */
+/* Define to 1 if you have the `sysmp' function. */
#undef HAVE_SYSMP
-/* Define if you have the table function. */
-#undef HAVE_TABLE
+/* Define if you have the sys_errlist variable. */
+#undef HAVE_SYS_ERRLIST
-/* Define if you have the times function. */
-#undef HAVE_TIMES
+/* Define to 1 if you have the <sys/file.h> header file. */
+#undef HAVE_SYS_FILE_H
-/* Define if you have the tmpnam function. */
-#undef HAVE_TMPNAM
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#undef HAVE_SYS_MMAN_H
-/* Define if you have the vasprintf function. */
-#undef HAVE_VASPRINTF
+/* Define if you have the sys_nerr variable. */
+#undef HAVE_SYS_NERR
-/* Define if you have the vfprintf function. */
-#undef HAVE_VFPRINTF
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
-/* Define if you have the vprintf function. */
-#undef HAVE_VPRINTF
+/* Define to 1 if you have the <sys/pstat.h> header file. */
+#undef HAVE_SYS_PSTAT_H
-/* Define if you have the vsnprintf function. */
-#undef HAVE_VSNPRINTF
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
-/* Define if you have the vsprintf function. */
-#undef HAVE_VSPRINTF
+/* Define if you have the sys_siglist variable. */
+#undef HAVE_SYS_SIGLIST
-/* Define if you have the waitpid function. */
-#undef HAVE_WAITPID
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
-/* Define if you have the <alloca.h> header file. */
-#undef HAVE_ALLOCA_H
+/* Define to 1 if you have the <sys/sysctl.h> header file. */
+#undef HAVE_SYS_SYSCTL_H
-/* Define if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
+/* Define to 1 if you have the <sys/sysinfo.h> header file. */
+#undef HAVE_SYS_SYSINFO_H
-/* Define if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
+/* Define to 1 if you have the <sys/sysmp.h> header file. */
+#undef HAVE_SYS_SYSMP_H
-/* Define if you have the <machine/hal_sysinfo.h> header file. */
-#undef HAVE_MACHINE_HAL_SYSINFO_H
+/* Define to 1 if you have the <sys/systemcfg.h> header file. */
+#undef HAVE_SYS_SYSTEMCFG_H
-/* Define if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
+/* Define to 1 if you have the <sys/table.h> header file. */
+#undef HAVE_SYS_TABLE_H
-/* Define if you have the <string.h> header file. */
-#undef HAVE_STRING_H
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
-/* Define if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
-/* Define if you have the <sys/file.h> header file. */
-#undef HAVE_SYS_FILE_H
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#undef HAVE_SYS_WAIT_H
-/* Define if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
+/* Define to 1 if you have the `table' function. */
+#undef HAVE_TABLE
-/* Define if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
+/* Define to 1 if you have the `times' function. */
+#undef HAVE_TIMES
-/* Define if you have the <sys/pstat.h> header file. */
-#undef HAVE_SYS_PSTAT_H
+/* Define to 1 if you have the <time.h> header file. */
+#undef HAVE_TIME_H
-/* Define if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
+/* Define to 1 if you have the `tmpnam' function. */
+#undef HAVE_TMPNAM
-/* Define if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
+/* Define if you have the \`uintptr_t' type. */
+#undef HAVE_UINTPTR_T
-/* Define if you have the <sys/sysctl.h> header file. */
-#undef HAVE_SYS_SYSCTL_H
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
-/* Define if you have the <sys/sysinfo.h> header file. */
-#undef HAVE_SYS_SYSINFO_H
+/* Define to 1 if you have the `vasprintf' function. */
+#undef HAVE_VASPRINTF
-/* Define if you have the <sys/sysmp.h> header file. */
-#undef HAVE_SYS_SYSMP_H
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
-/* Define if you have the <sys/systemcfg.h> header file. */
-#undef HAVE_SYS_SYSTEMCFG_H
+/* Define to 1 if you have the <vfork.h> header file. */
+#undef HAVE_VFORK_H
-/* Define if you have the <sys/table.h> header file. */
-#undef HAVE_SYS_TABLE_H
+/* Define to 1 if you have the `vfprintf' function. */
+#undef HAVE_VFPRINTF
-/* Define if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
+/* Define to 1 if you have the `vprintf' function. */
+#undef HAVE_VPRINTF
-/* Define if you have the <time.h> header file. */
-#undef HAVE_TIME_H
+/* Define to 1 if you have the `vsnprintf' function. */
+#undef HAVE_VSNPRINTF
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
+/* Define to 1 if you have the `vsprintf' function. */
+#undef HAVE_VSPRINTF
-/* Define if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
+/* Define to 1 if you have the `waitpid' function. */
+#undef HAVE_WAITPID
-/* whether byteorder is bigendian */
-#undef WORDS_BIGENDIAN
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Define to 1 if you have the `_doprnt' function. */
+#undef HAVE__DOPRNT
+
+/* Define if you have the _system_configuration variable. */
+#undef HAVE__SYSTEM_CONFIGURATION
/* Define if the host machine stores words of multi-word integers in
big-endian order. */
#undef HOST_WORDS_BIG_ENDIAN
-/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
-#undef BYTEORDER
+/* Define if canonicalize_file_name is not declared in system header files. */
+#undef NEED_DECLARATION_CANONICALIZE_FILE_NAME
/* Define if errno must be declared even when <errno.h> is included. */
#undef NEED_DECLARATION_ERRNO
-/* Define if you have the `uintptr_t' type. */
-#undef HAVE_UINTPTR_T
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
-/* Define if you have the sys_errlist variable. */
-#undef HAVE_SYS_ERRLIST
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
-/* Define if you have the sys_nerr variable. */
-#undef HAVE_SYS_NERR
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
-/* Define if you have the sys_siglist variable. */
-#undef HAVE_SYS_SIGLIST
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP
- systems. This function is required for alloca.c support on those
- systems. */
-#undef CRAY_STACKSEG_END
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
-/* Define if you know the direction of stack growth for your system;
- otherwise it will be automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
+/* Define if you know the direction of stack growth for your system; otherwise
+ it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows
+ toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
-/* Define if you have the _system_configuration variable. */
-#undef HAVE__SYSTEM_CONFIGURATION
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
-/* Define if canonicalize_file_name is not declared in system header files. */
-#undef NEED_DECLARATION_CANONICALIZE_FILE_NAME
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* whether byteorder is bigendian */
+#undef WORDS_BIGENDIAN
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define as `__inline' if that's what the C compiler calls it, or to nothing
+ if it is not supported. */
+#undef inline
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define to `unsigned long' if <sys/types.h> does not define. */
+#undef uintptr_t
+
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork
diff --git a/libiberty/configure.in b/libiberty/configure.ac
index eb8a99daa08..eb8a99daa08 100644
--- a/libiberty/configure.in
+++ b/libiberty/configure.ac
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index dbaa1c72c86..1c43eb8bd42 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -1,5 +1,5 @@
/* Demangler for g++ V3 ABI.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@wasabisystems.com>.
This file is part of the libiberty library, which is part of GCC.
@@ -45,6 +45,22 @@
enum gnu_v3_ctor_kinds is_gnu_v3_mangled_ctor (const char *name)
enum gnu_v3_dtor_kinds is_gnu_v3_mangled_dtor (const char *name)
+ Also, the interface to the component list is public, and defined in
+ demangle.h. The interface consists of these types, which are
+ defined in demangle.h:
+ enum demangle_component_type
+ struct demangle_component
+ and these functions defined in this file:
+ cplus_demangle_fill_name
+ cplus_demangle_fill_extended_operator
+ cplus_demangle_fill_ctor
+ cplus_demangle_fill_dtor
+ cplus_demangle_print
+ and other functions defined in the file cp-demint.c.
+
+ This file also defines some other functions and variables which are
+ only to be used by the file cp-demint.c.
+
Preprocessor macros you can define while compiling this file:
IN_LIBGCC2
@@ -54,7 +70,8 @@
instead of cplus_demangle_v3() and java_demangle_v3().
IN_GLIBCPP_V3
- If defined, this file defines only __cxa_demangle().
+ If defined, this file defines only __cxa_demangle(), and no other
+ publically visible functions or variables.
STANDALONE_DEMANGLER
If defined, this file defines a main() function which demangles
@@ -81,10 +98,55 @@
#include "ansidecl.h"
#include "libiberty.h"
#include "demangle.h"
-
-#define IN_CP_DEMANGLE
#include "cp-demangle.h"
+/* If IN_GLIBCPP_V3 is defined, some functions are made static. We
+ also rename them via #define to avoid compiler errors when the
+ static definition conflicts with the extern declaration in a header
+ file. */
+#ifdef IN_GLIBCPP_V3
+
+#define CP_STATIC_IF_GLIBCPP_V3 static
+
+#define cplus_demangle_fill_name d_fill_name
+static int
+d_fill_name PARAMS ((struct demangle_component *, const char *, int));
+
+#define cplus_demangle_fill_extended_operator d_fill_extended_operator
+static int
+d_fill_extended_operator PARAMS ((struct demangle_component *, int,
+ struct demangle_component *));
+
+#define cplus_demangle_fill_ctor d_fill_ctor
+static int
+d_fill_ctor PARAMS ((struct demangle_component *, enum gnu_v3_ctor_kinds,
+ struct demangle_component *));
+
+#define cplus_demangle_fill_dtor d_fill_dtor
+static int
+d_fill_dtor PARAMS ((struct demangle_component *, enum gnu_v3_dtor_kinds,
+ struct demangle_component *));
+
+#define cplus_demangle_mangled_name d_mangled_name
+static struct demangle_component *
+d_mangled_name PARAMS ((struct d_info *, int));
+
+#define cplus_demangle_type d_type
+static struct demangle_component *
+d_type PARAMS ((struct d_info *));
+
+#define cplus_demangle_print d_print
+static char *
+d_print PARAMS ((int, const struct demangle_component *, int, size_t *));
+
+#define cplus_demangle_init_info d_init_info
+static void
+d_init_info PARAMS ((const char *, int, size_t, struct d_info *));
+
+#else /* ! defined(IN_GLIBCPP_V3) */
+#define CP_STATIC_IF_GLIBCPP_V3
+#endif /* ! defined(IN_GLIBCPP_V3) */
+
/* See if the compiler supports dynamic arrays. */
#ifdef __GNUC__
@@ -118,20 +180,6 @@
#define ANONYMOUS_NAMESPACE_PREFIX_LEN \
(sizeof (ANONYMOUS_NAMESPACE_PREFIX) - 1)
-/* Information we keep for operators. */
-
-struct d_operator_info
-{
- /* Mangled name. */
- const char *code;
- /* Real name. */
- const char *name;
- /* Length of real name. */
- int len;
- /* Number of arguments. */
- int args;
-};
-
/* Information we keep for the standard substitutions. */
struct d_standard_sub_info
@@ -155,47 +203,10 @@ struct d_standard_sub_info
int set_last_name_len;
};
-/* The information structure we pass around. */
-
-struct d_info
-{
- /* The string we are demangling. */
- const char *s;
- /* The end of the string we are demangling. */
- const char *send;
- /* The options passed to the demangler. */
- int options;
- /* The next character in the string to consider. */
- const char *n;
- /* The array of components. */
- struct d_comp *comps;
- /* The index of the next available component. */
- int next_comp;
- /* The number of available component structures. */
- int num_comps;
- /* The array of substitutions. */
- struct d_comp **subs;
- /* The index of the next substitution. */
- int next_sub;
- /* The number of available entries in the subs array. */
- int num_subs;
- /* The number of substitutions which we actually made from the subs
- array, plus the number of template parameter references we
- saw. */
- int did_subs;
- /* The last name we saw, for constructors and destructors. */
- struct d_comp *last_name;
- /* A running total of the length of large expansions from the
- mangled name to the demangled name, such as standard
- substitutions and builtin types. */
- int expansion;
-};
+/* Accessors for subtrees of struct demangle_component. */
-#define d_peek_char(di) (*((di)->n))
-#define d_peek_next_char(di) ((di)->n[1])
-#define d_advance(di, i) ((di)->n += (i))
-#define d_next_char(di) (*((di)->n++))
-#define d_str(di) ((di)->n)
+#define d_left(dc) ((dc)->u.s_binary.left)
+#define d_right(dc) ((dc)->u.s_binary.right)
/* A list of templates. This is used while printing. */
@@ -204,7 +215,7 @@ struct d_print_template
/* Next template on the list. */
struct d_print_template *next;
/* This template. */
- const struct d_comp *template;
+ const struct demangle_component *template;
};
/* A list of type modifiers. This is used while printing. */
@@ -215,7 +226,7 @@ struct d_print_mod
in which they appeared in the mangled string. */
struct d_print_mod *next;
/* The modifier. */
- const struct d_comp *mod;
+ const struct demangle_component *mod;
/* Whether this modifier was printed. */
int printed;
/* The list of templates which applies to this modifier. */
@@ -275,75 +286,186 @@ struct d_print_info
((dpi)->buf == NULL || (dpi)->len == 0 ? '\0' : (dpi)->buf[(dpi)->len - 1])
#ifdef CP_DEMANGLE_DEBUG
-static void d_dump PARAMS ((struct d_comp *, int));
+static void
+d_dump PARAMS ((struct demangle_component *, int));
#endif
-static struct d_comp *d_make_operator PARAMS ((struct d_info *,
- const struct d_operator_info *));
-static struct d_comp *d_make_template_param PARAMS ((struct d_info *, long));
-static struct d_comp *d_make_sub PARAMS ((struct d_info *, const char *, int));
-static struct d_comp *d_mangled_name PARAMS ((struct d_info *, int));
-static int has_return_type PARAMS ((struct d_comp *));
-static int is_ctor_dtor_or_conversion PARAMS ((struct d_comp *));
-static struct d_comp *d_encoding PARAMS ((struct d_info *, int));
-static struct d_comp *d_name PARAMS ((struct d_info *));
-static struct d_comp *d_nested_name PARAMS ((struct d_info *));
-static struct d_comp *d_prefix PARAMS ((struct d_info *));
-static struct d_comp *d_unqualified_name PARAMS ((struct d_info *));
-static struct d_comp *d_source_name PARAMS ((struct d_info *));
-static long d_number PARAMS ((struct d_info *));
-static struct d_comp *d_identifier PARAMS ((struct d_info *, int));
-static struct d_comp *d_operator_name PARAMS ((struct d_info *));
-static struct d_comp *d_special_name PARAMS ((struct d_info *));
-static int d_call_offset PARAMS ((struct d_info *, int));
-static struct d_comp *d_ctor_dtor_name PARAMS ((struct d_info *));
-static struct d_comp *d_type PARAMS ((struct d_info *));
-static struct d_comp **d_cv_qualifiers PARAMS ((struct d_info *,
- struct d_comp **, int));
-static struct d_comp *d_function_type PARAMS ((struct d_info *));
-static struct d_comp *d_bare_function_type PARAMS ((struct d_info *, int));
-static struct d_comp *d_class_enum_type PARAMS ((struct d_info *));
-static struct d_comp *d_array_type PARAMS ((struct d_info *));
-static struct d_comp *d_pointer_to_member_type PARAMS ((struct d_info *));
-static struct d_comp *d_template_param PARAMS ((struct d_info *));
-static struct d_comp *d_template_args PARAMS ((struct d_info *));
-static struct d_comp *d_template_arg PARAMS ((struct d_info *));
-static struct d_comp *d_expression PARAMS ((struct d_info *));
-static struct d_comp *d_expr_primary PARAMS ((struct d_info *));
-static struct d_comp *d_local_name PARAMS ((struct d_info *));
-static int d_discriminator PARAMS ((struct d_info *));
-static int d_add_substitution PARAMS ((struct d_info *, struct d_comp *));
-static struct d_comp *d_substitution PARAMS ((struct d_info *, int));
-static void d_print_resize PARAMS ((struct d_print_info *, size_t));
-static void d_print_append_char PARAMS ((struct d_print_info *, int));
-static void d_print_append_buffer PARAMS ((struct d_print_info *, const char *,
- size_t));
-static void d_print_error PARAMS ((struct d_print_info *));
-static void d_print_comp PARAMS ((struct d_print_info *,
- const struct d_comp *));
-static void d_print_java_identifier PARAMS ((struct d_print_info *,
- const char *, int));
-static void d_print_mod_list PARAMS ((struct d_print_info *,
- struct d_print_mod *, int));
-static void d_print_mod PARAMS ((struct d_print_info *,
- const struct d_comp *));
-static void d_print_function_type PARAMS ((struct d_print_info *,
- const struct d_comp *,
- struct d_print_mod *));
-static void d_print_array_type PARAMS ((struct d_print_info *,
- const struct d_comp *,
- struct d_print_mod *));
-static void d_print_expr_op PARAMS ((struct d_print_info *,
- const struct d_comp *));
-static void d_print_cast PARAMS ((struct d_print_info *,
- const struct d_comp *));
-static void d_init_info PARAMS ((const char *, int, size_t, struct d_info *));
-static char *d_demangle PARAMS ((const char *, int, size_t *));
+
+static struct demangle_component *
+d_make_empty PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_make_comp PARAMS ((struct d_info *, enum demangle_component_type,
+ struct demangle_component *,
+ struct demangle_component *));
+
+static struct demangle_component *
+d_make_name PARAMS ((struct d_info *, const char *, int));
+
+static struct demangle_component *
+d_make_builtin_type PARAMS ((struct d_info *,
+ const struct demangle_builtin_type_info *));
+
+static struct demangle_component *
+d_make_operator PARAMS ((struct d_info *,
+ const struct demangle_operator_info *));
+
+static struct demangle_component *
+d_make_extended_operator PARAMS ((struct d_info *, int,
+ struct demangle_component *));
+
+static struct demangle_component *
+d_make_ctor PARAMS ((struct d_info *, enum gnu_v3_ctor_kinds,
+ struct demangle_component *));
+
+static struct demangle_component *
+d_make_dtor PARAMS ((struct d_info *, enum gnu_v3_dtor_kinds,
+ struct demangle_component *));
+
+static struct demangle_component *
+d_make_template_param PARAMS ((struct d_info *, long));
+
+static struct demangle_component *
+d_make_sub PARAMS ((struct d_info *, const char *, int));
+
+static int
+has_return_type PARAMS ((struct demangle_component *));
+
+static int
+is_ctor_dtor_or_conversion PARAMS ((struct demangle_component *));
+
+static struct demangle_component *
+d_encoding PARAMS ((struct d_info *, int));
+
+static struct demangle_component *
+d_name PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_nested_name PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_prefix PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_unqualified_name PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_source_name PARAMS ((struct d_info *));
+
+static long
+d_number PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_identifier PARAMS ((struct d_info *, int));
+
+static struct demangle_component *
+d_operator_name PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_special_name PARAMS ((struct d_info *));
+
+static int
+d_call_offset PARAMS ((struct d_info *, int));
+
+static struct demangle_component *
+d_ctor_dtor_name PARAMS ((struct d_info *));
+
+static struct demangle_component **
+d_cv_qualifiers PARAMS ((struct d_info *, struct demangle_component **, int));
+
+static struct demangle_component *
+d_function_type PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_bare_function_type PARAMS ((struct d_info *, int));
+
+static struct demangle_component *
+d_class_enum_type PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_array_type PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_pointer_to_member_type PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_template_param PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_template_args PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_template_arg PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_expression PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_expr_primary PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_local_name PARAMS ((struct d_info *));
+
+static int
+d_discriminator PARAMS ((struct d_info *));
+
+static int
+d_add_substitution PARAMS ((struct d_info *, struct demangle_component *));
+
+static struct demangle_component *
+d_substitution PARAMS ((struct d_info *, int));
+
+static void
+d_print_resize PARAMS ((struct d_print_info *, size_t));
+
+static void
+d_print_append_char PARAMS ((struct d_print_info *, int));
+
+static void
+d_print_append_buffer PARAMS ((struct d_print_info *, const char *, size_t));
+
+static void
+d_print_error PARAMS ((struct d_print_info *));
+
+static void
+d_print_comp PARAMS ((struct d_print_info *,
+ const struct demangle_component *));
+
+static void
+d_print_java_identifier PARAMS ((struct d_print_info *, const char *, int));
+
+static void
+d_print_mod_list PARAMS ((struct d_print_info *, struct d_print_mod *, int));
+
+static void
+d_print_mod PARAMS ((struct d_print_info *,
+ const struct demangle_component *));
+
+static void
+d_print_function_type PARAMS ((struct d_print_info *,
+ const struct demangle_component *,
+ struct d_print_mod *));
+
+static void
+d_print_array_type PARAMS ((struct d_print_info *,
+ const struct demangle_component *,
+ struct d_print_mod *));
+
+static void
+d_print_expr_op PARAMS ((struct d_print_info *,
+ const struct demangle_component *));
+
+static void
+d_print_cast PARAMS ((struct d_print_info *,
+ const struct demangle_component *));
+
+static char *
+d_demangle PARAMS ((const char *, int, size_t *));
#ifdef CP_DEMANGLE_DEBUG
static void
d_dump (dc, indent)
- struct d_comp *dc;
+ struct demangle_component *dc;
int indent;
{
int i;
@@ -356,159 +478,159 @@ d_dump (dc, indent)
switch (dc->type)
{
- case D_COMP_NAME:
+ case DEMANGLE_COMPONENT_NAME:
printf ("name '%.*s'\n", dc->u.s_name.len, dc->u.s_name.s);
return;
- case D_COMP_TEMPLATE_PARAM:
+ case DEMANGLE_COMPONENT_TEMPLATE_PARAM:
printf ("template parameter %ld\n", dc->u.s_number.number);
return;
- case D_COMP_CTOR:
+ case DEMANGLE_COMPONENT_CTOR:
printf ("constructor %d\n", (int) dc->u.s_ctor.kind);
d_dump (dc->u.s_ctor.name, indent + 2);
return;
- case D_COMP_DTOR:
+ case DEMANGLE_COMPONENT_DTOR:
printf ("destructor %d\n", (int) dc->u.s_dtor.kind);
d_dump (dc->u.s_dtor.name, indent + 2);
return;
- case D_COMP_SUB_STD:
+ case DEMANGLE_COMPONENT_SUB_STD:
printf ("standard substitution %s\n", dc->u.s_string.string);
return;
- case D_COMP_BUILTIN_TYPE:
+ case DEMANGLE_COMPONENT_BUILTIN_TYPE:
printf ("builtin type %s\n", dc->u.s_builtin.type->name);
return;
- case D_COMP_OPERATOR:
+ case DEMANGLE_COMPONENT_OPERATOR:
printf ("operator %s\n", dc->u.s_operator.op->name);
return;
- case D_COMP_EXTENDED_OPERATOR:
+ case DEMANGLE_COMPONENT_EXTENDED_OPERATOR:
printf ("extended operator with %d args\n",
dc->u.s_extended_operator.args);
d_dump (dc->u.s_extended_operator.name, indent + 2);
return;
- case D_COMP_QUAL_NAME:
+ case DEMANGLE_COMPONENT_QUAL_NAME:
printf ("qualified name\n");
break;
- case D_COMP_LOCAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
printf ("local name\n");
break;
- case D_COMP_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TYPED_NAME:
printf ("typed name\n");
break;
- case D_COMP_TEMPLATE:
+ case DEMANGLE_COMPONENT_TEMPLATE:
printf ("template\n");
break;
- case D_COMP_VTABLE:
+ case DEMANGLE_COMPONENT_VTABLE:
printf ("vtable\n");
break;
- case D_COMP_VTT:
+ case DEMANGLE_COMPONENT_VTT:
printf ("VTT\n");
break;
- case D_COMP_CONSTRUCTION_VTABLE:
+ case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
printf ("construction vtable\n");
break;
- case D_COMP_TYPEINFO:
+ case DEMANGLE_COMPONENT_TYPEINFO:
printf ("typeinfo\n");
break;
- case D_COMP_TYPEINFO_NAME:
+ case DEMANGLE_COMPONENT_TYPEINFO_NAME:
printf ("typeinfo name\n");
break;
- case D_COMP_TYPEINFO_FN:
+ case DEMANGLE_COMPONENT_TYPEINFO_FN:
printf ("typeinfo function\n");
break;
- case D_COMP_THUNK:
+ case DEMANGLE_COMPONENT_THUNK:
printf ("thunk\n");
break;
- case D_COMP_VIRTUAL_THUNK:
+ case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
printf ("virtual thunk\n");
break;
- case D_COMP_COVARIANT_THUNK:
+ case DEMANGLE_COMPONENT_COVARIANT_THUNK:
printf ("covariant thunk\n");
break;
- case D_COMP_JAVA_CLASS:
+ case DEMANGLE_COMPONENT_JAVA_CLASS:
printf ("java class\n");
break;
- case D_COMP_GUARD:
+ case DEMANGLE_COMPONENT_GUARD:
printf ("guard\n");
break;
- case D_COMP_REFTEMP:
+ case DEMANGLE_COMPONENT_REFTEMP:
printf ("reference temporary\n");
break;
- case D_COMP_RESTRICT:
+ case DEMANGLE_COMPONENT_RESTRICT:
printf ("restrict\n");
break;
- case D_COMP_VOLATILE:
+ case DEMANGLE_COMPONENT_VOLATILE:
printf ("volatile\n");
break;
- case D_COMP_CONST:
+ case DEMANGLE_COMPONENT_CONST:
printf ("const\n");
break;
- case D_COMP_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
printf ("restrict this\n");
break;
- case D_COMP_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
printf ("volatile this\n");
break;
- case D_COMP_CONST_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
printf ("const this\n");
break;
- case D_COMP_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
printf ("vendor type qualifier\n");
break;
- case D_COMP_POINTER:
+ case DEMANGLE_COMPONENT_POINTER:
printf ("pointer\n");
break;
- case D_COMP_REFERENCE:
+ case DEMANGLE_COMPONENT_REFERENCE:
printf ("reference\n");
break;
- case D_COMP_COMPLEX:
+ case DEMANGLE_COMPONENT_COMPLEX:
printf ("complex\n");
break;
- case D_COMP_IMAGINARY:
+ case DEMANGLE_COMPONENT_IMAGINARY:
printf ("imaginary\n");
break;
- case D_COMP_VENDOR_TYPE:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE:
printf ("vendor type\n");
break;
- case D_COMP_FUNCTION_TYPE:
+ case DEMANGLE_COMPONENT_FUNCTION_TYPE:
printf ("function type\n");
break;
- case D_COMP_ARRAY_TYPE:
+ case DEMANGLE_COMPONENT_ARRAY_TYPE:
printf ("array type\n");
break;
- case D_COMP_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
printf ("pointer to member type\n");
break;
- case D_COMP_ARGLIST:
+ case DEMANGLE_COMPONENT_ARGLIST:
printf ("argument list\n");
break;
- case D_COMP_TEMPLATE_ARGLIST:
+ case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
printf ("template argument list\n");
break;
- case D_COMP_CAST:
+ case DEMANGLE_COMPONENT_CAST:
printf ("cast\n");
break;
- case D_COMP_UNARY:
+ case DEMANGLE_COMPONENT_UNARY:
printf ("unary operator\n");
break;
- case D_COMP_BINARY:
+ case DEMANGLE_COMPONENT_BINARY:
printf ("binary operator\n");
break;
- case D_COMP_BINARY_ARGS:
+ case DEMANGLE_COMPONENT_BINARY_ARGS:
printf ("binary operator arguments\n");
break;
- case D_COMP_TRINARY:
+ case DEMANGLE_COMPONENT_TRINARY:
printf ("trinary operator\n");
break;
- case D_COMP_TRINARY_ARG1:
+ case DEMANGLE_COMPONENT_TRINARY_ARG1:
printf ("trinary operator arguments 1\n");
break;
- case D_COMP_TRINARY_ARG2:
+ case DEMANGLE_COMPONENT_TRINARY_ARG2:
printf ("trinary operator arguments 1\n");
break;
- case D_COMP_LITERAL:
+ case DEMANGLE_COMPONENT_LITERAL:
printf ("literal\n");
break;
- case D_COMP_LITERAL_NEG:
+ case DEMANGLE_COMPONENT_LITERAL_NEG:
printf ("negative literal\n");
break;
}
@@ -519,33 +641,105 @@ d_dump (dc, indent)
#endif /* CP_DEMANGLE_DEBUG */
+/* Fill in a DEMANGLE_COMPONENT_NAME. */
+
+CP_STATIC_IF_GLIBCPP_V3
+int
+cplus_demangle_fill_name (p, s, len)
+ struct demangle_component *p;
+ const char *s;
+ int len;
+{
+ if (p == NULL || s == NULL || len == 0)
+ return 0;
+ p->type = DEMANGLE_COMPONENT_NAME;
+ p->u.s_name.s = s;
+ p->u.s_name.len = len;
+ return 1;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_EXTENDED_OPERATOR. */
+
+CP_STATIC_IF_GLIBCPP_V3
+int
+cplus_demangle_fill_extended_operator (p, args, name)
+ struct demangle_component *p;
+ int args;
+ struct demangle_component *name;
+{
+ if (p == NULL || args < 0 || name == NULL)
+ return 0;
+ p->type = DEMANGLE_COMPONENT_EXTENDED_OPERATOR;
+ p->u.s_extended_operator.args = args;
+ p->u.s_extended_operator.name = name;
+ return 1;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_CTOR. */
+
+CP_STATIC_IF_GLIBCPP_V3
+int
+cplus_demangle_fill_ctor (p, kind, name)
+ struct demangle_component *p;
+ enum gnu_v3_ctor_kinds kind;
+ struct demangle_component *name;
+{
+ if (p == NULL
+ || name == NULL
+ || (kind < gnu_v3_complete_object_ctor
+ && kind > gnu_v3_complete_object_allocating_ctor))
+ return 0;
+ p->type = DEMANGLE_COMPONENT_CTOR;
+ p->u.s_ctor.kind = kind;
+ p->u.s_ctor.name = name;
+ return 1;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_DTOR. */
+
+CP_STATIC_IF_GLIBCPP_V3
+int
+cplus_demangle_fill_dtor (p, kind, name)
+ struct demangle_component *p;
+ enum gnu_v3_dtor_kinds kind;
+ struct demangle_component *name;
+{
+ if (p == NULL
+ || name == NULL
+ || (kind < gnu_v3_deleting_dtor
+ && kind > gnu_v3_base_object_dtor))
+ return 0;
+ p->type = DEMANGLE_COMPONENT_DTOR;
+ p->u.s_dtor.kind = kind;
+ p->u.s_dtor.name = name;
+ return 1;
+}
+
/* Add a new component. */
-struct d_comp *
-cp_v3_d_make_empty (di, type)
+static struct demangle_component *
+d_make_empty (di)
struct d_info *di;
- enum d_comp_type type;
{
- struct d_comp *p;
+ struct demangle_component *p;
if (di->next_comp >= di->num_comps)
return NULL;
p = &di->comps[di->next_comp];
- p->type = type;
++di->next_comp;
return p;
}
/* Add a new generic component. */
-struct d_comp *
-cp_v3_d_make_comp (di, type, left, right)
+static struct demangle_component *
+d_make_comp (di, type, left, right)
struct d_info *di;
- enum d_comp_type type;
- struct d_comp *left;
- struct d_comp *right;
+ enum demangle_component_type type;
+ struct demangle_component *left;
+ struct demangle_component *right;
{
- struct d_comp *p;
+ struct demangle_component *p;
/* We check for errors here. A typical error would be a NULL return
from a subroutine. We catch those here, and return NULL
@@ -553,65 +747,65 @@ cp_v3_d_make_comp (di, type, left, right)
switch (type)
{
/* These types require two parameters. */
- case D_COMP_QUAL_NAME:
- case D_COMP_LOCAL_NAME:
- case D_COMP_TYPED_NAME:
- case D_COMP_TEMPLATE:
- case D_COMP_VENDOR_TYPE_QUAL:
- case D_COMP_PTRMEM_TYPE:
- case D_COMP_UNARY:
- case D_COMP_BINARY:
- case D_COMP_BINARY_ARGS:
- case D_COMP_TRINARY:
- case D_COMP_TRINARY_ARG1:
- case D_COMP_TRINARY_ARG2:
- case D_COMP_LITERAL:
- case D_COMP_LITERAL_NEG:
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
+ case DEMANGLE_COMPONENT_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TEMPLATE:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_UNARY:
+ case DEMANGLE_COMPONENT_BINARY:
+ case DEMANGLE_COMPONENT_BINARY_ARGS:
+ case DEMANGLE_COMPONENT_TRINARY:
+ case DEMANGLE_COMPONENT_TRINARY_ARG1:
+ case DEMANGLE_COMPONENT_TRINARY_ARG2:
+ case DEMANGLE_COMPONENT_LITERAL:
+ case DEMANGLE_COMPONENT_LITERAL_NEG:
if (left == NULL || right == NULL)
return NULL;
break;
/* These types only require one parameter. */
- case D_COMP_VTABLE:
- case D_COMP_VTT:
- case D_COMP_CONSTRUCTION_VTABLE:
- case D_COMP_TYPEINFO:
- case D_COMP_TYPEINFO_NAME:
- case D_COMP_TYPEINFO_FN:
- case D_COMP_THUNK:
- case D_COMP_VIRTUAL_THUNK:
- case D_COMP_COVARIANT_THUNK:
- case D_COMP_JAVA_CLASS:
- case D_COMP_GUARD:
- case D_COMP_REFTEMP:
- case D_COMP_POINTER:
- case D_COMP_REFERENCE:
- case D_COMP_COMPLEX:
- case D_COMP_IMAGINARY:
- case D_COMP_VENDOR_TYPE:
- case D_COMP_ARGLIST:
- case D_COMP_TEMPLATE_ARGLIST:
- case D_COMP_CAST:
+ case DEMANGLE_COMPONENT_VTABLE:
+ case DEMANGLE_COMPONENT_VTT:
+ case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
+ case DEMANGLE_COMPONENT_TYPEINFO:
+ case DEMANGLE_COMPONENT_TYPEINFO_NAME:
+ case DEMANGLE_COMPONENT_TYPEINFO_FN:
+ case DEMANGLE_COMPONENT_THUNK:
+ case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
+ case DEMANGLE_COMPONENT_COVARIANT_THUNK:
+ case DEMANGLE_COMPONENT_JAVA_CLASS:
+ case DEMANGLE_COMPONENT_GUARD:
+ case DEMANGLE_COMPONENT_REFTEMP:
+ case DEMANGLE_COMPONENT_POINTER:
+ case DEMANGLE_COMPONENT_REFERENCE:
+ case DEMANGLE_COMPONENT_COMPLEX:
+ case DEMANGLE_COMPONENT_IMAGINARY:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE:
+ case DEMANGLE_COMPONENT_ARGLIST:
+ case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
+ case DEMANGLE_COMPONENT_CAST:
if (left == NULL)
return NULL;
break;
/* This needs a right parameter, but the left parameter can be
empty. */
- case D_COMP_ARRAY_TYPE:
+ case DEMANGLE_COMPONENT_ARRAY_TYPE:
if (right == NULL)
return NULL;
break;
/* These are allowed to have no parameters--in some cases they
will be filled in later. */
- case D_COMP_FUNCTION_TYPE:
- case D_COMP_RESTRICT:
- case D_COMP_VOLATILE:
- case D_COMP_CONST:
- case D_COMP_RESTRICT_THIS:
- case D_COMP_VOLATILE_THIS:
- case D_COMP_CONST_THIS:
+ case DEMANGLE_COMPONENT_FUNCTION_TYPE:
+ case DEMANGLE_COMPONENT_RESTRICT:
+ case DEMANGLE_COMPONENT_VOLATILE:
+ case DEMANGLE_COMPONENT_CONST:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
break;
/* Other types should not be seen here. */
@@ -619,9 +813,10 @@ cp_v3_d_make_comp (di, type, left, right)
return NULL;
}
- p = cp_v3_d_make_empty (di, type);
+ p = d_make_empty (di);
if (p != NULL)
{
+ p->type = type;
p->u.s_binary.left = left;
p->u.s_binary.right = right;
}
@@ -630,182 +825,138 @@ cp_v3_d_make_comp (di, type, left, right)
/* Add a new name component. */
-struct d_comp *
-cp_v3_d_make_name (di, s, len)
+static struct demangle_component *
+d_make_name (di, s, len)
struct d_info *di;
const char *s;
int len;
{
- struct d_comp *p;
+ struct demangle_component *p;
- if (s == NULL || len == 0)
+ p = d_make_empty (di);
+ if (! cplus_demangle_fill_name (p, s, len))
return NULL;
- p = cp_v3_d_make_empty (di, D_COMP_NAME);
- if (p != NULL)
- {
- p->u.s_name.s = s;
- p->u.s_name.len = len;
- }
return p;
}
/* Add a new builtin type component. */
-#define NL(s) s, (sizeof s) - 1
-
-const struct d_builtin_type_info d_builtin_types[26] =
-{
- /* a */ { NL ("signed char"), NL ("signed char"), D_PRINT_INT },
- /* b */ { NL ("bool"), NL ("boolean"), D_PRINT_BOOL },
- /* c */ { NL ("char"), NL ("byte"), D_PRINT_INT },
- /* d */ { NL ("double"), NL ("double"), D_PRINT_DEFAULT },
- /* e */ { NL ("long double"), NL ("long double"), D_PRINT_DEFAULT },
- /* f */ { NL ("float"), NL ("float"), D_PRINT_DEFAULT },
- /* g */ { NL ("__float128"), NL ("__float128"), D_PRINT_DEFAULT },
- /* h */ { NL ("unsigned char"), NL ("unsigned char"), D_PRINT_INT },
- /* i */ { NL ("int"), NL ("int"), D_PRINT_INT },
- /* j */ { NL ("unsigned int"), NL ("unsigned"), D_PRINT_INT },
- /* k */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
- /* l */ { NL ("long"), NL ("long"), D_PRINT_LONG },
- /* m */ { NL ("unsigned long"), NL ("unsigned long"), D_PRINT_LONG },
- /* n */ { NL ("__int128"), NL ("__int128"), D_PRINT_DEFAULT },
- /* o */ { NL ("unsigned __int128"), NL ("unsigned __int128"), D_PRINT_DEFAULT },
- /* p */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
- /* q */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
- /* r */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
- /* s */ { NL ("short"), NL ("short"), D_PRINT_INT },
- /* t */ { NL ("unsigned short"), NL ("unsigned short"), D_PRINT_INT },
- /* u */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
- /* v */ { NL ("void"), NL ("void"), D_PRINT_VOID },
- /* w */ { NL ("wchar_t"), NL ("char"), D_PRINT_INT },
- /* x */ { NL ("long long"), NL ("long"), D_PRINT_DEFAULT },
- /* y */ { NL ("unsigned long long"), NL ("unsigned long long"), D_PRINT_DEFAULT },
- /* z */ { NL ("..."), NL ("..."), D_PRINT_DEFAULT },
-};
-
-struct d_comp *
-cp_v3_d_make_builtin_type (di, c)
+static struct demangle_component *
+d_make_builtin_type (di, type)
struct d_info *di;
- int c;
+ const struct demangle_builtin_type_info *type;
{
- struct d_comp *p;
- const struct d_builtin_type_info *type;
+ struct demangle_component *p;
- type = &d_builtin_types[c - 'a'];
if (type == NULL)
return NULL;
- p = cp_v3_d_make_empty (di, D_COMP_BUILTIN_TYPE);
+ p = d_make_empty (di);
if (p != NULL)
- p->u.s_builtin.type = type;
+ {
+ p->type = DEMANGLE_COMPONENT_BUILTIN_TYPE;
+ p->u.s_builtin.type = type;
+ }
return p;
}
/* Add a new operator component. */
-static struct d_comp *
+static struct demangle_component *
d_make_operator (di, op)
struct d_info *di;
- const struct d_operator_info *op;
+ const struct demangle_operator_info *op;
{
- struct d_comp *p;
+ struct demangle_component *p;
- p = cp_v3_d_make_empty (di, D_COMP_OPERATOR);
+ p = d_make_empty (di);
if (p != NULL)
- p->u.s_operator.op = op;
+ {
+ p->type = DEMANGLE_COMPONENT_OPERATOR;
+ p->u.s_operator.op = op;
+ }
return p;
}
/* Add a new extended operator component. */
-struct d_comp *
-cp_v3_d_make_extended_operator (di, args, name)
+static struct demangle_component *
+d_make_extended_operator (di, args, name)
struct d_info *di;
int args;
- struct d_comp *name;
+ struct demangle_component *name;
{
- struct d_comp *p;
+ struct demangle_component *p;
- if (name == NULL)
+ p = d_make_empty (di);
+ if (! cplus_demangle_fill_extended_operator (p, args, name))
return NULL;
- p = cp_v3_d_make_empty (di, D_COMP_EXTENDED_OPERATOR);
- if (p != NULL)
- {
- p->u.s_extended_operator.args = args;
- p->u.s_extended_operator.name = name;
- }
return p;
}
/* Add a new constructor component. */
-struct d_comp *
-cp_v3_d_make_ctor (di, kind, name)
+static struct demangle_component *
+d_make_ctor (di, kind, name)
struct d_info *di;
enum gnu_v3_ctor_kinds kind;
- struct d_comp *name;
+ struct demangle_component *name;
{
- struct d_comp *p;
+ struct demangle_component *p;
- if (name == NULL)
+ p = d_make_empty (di);
+ if (! cplus_demangle_fill_ctor (p, kind, name))
return NULL;
- p = cp_v3_d_make_empty (di, D_COMP_CTOR);
- if (p != NULL)
- {
- p->u.s_ctor.kind = kind;
- p->u.s_ctor.name = name;
- }
return p;
}
/* Add a new destructor component. */
-struct d_comp *
-cp_v3_d_make_dtor (di, kind, name)
+static struct demangle_component *
+d_make_dtor (di, kind, name)
struct d_info *di;
enum gnu_v3_dtor_kinds kind;
- struct d_comp *name;
+ struct demangle_component *name;
{
- struct d_comp *p;
+ struct demangle_component *p;
- if (name == NULL)
+ p = d_make_empty (di);
+ if (! cplus_demangle_fill_dtor (p, kind, name))
return NULL;
- p = cp_v3_d_make_empty (di, D_COMP_DTOR);
- if (p != NULL)
- {
- p->u.s_dtor.kind = kind;
- p->u.s_dtor.name = name;
- }
return p;
}
/* Add a new template parameter. */
-static struct d_comp *
+static struct demangle_component *
d_make_template_param (di, i)
struct d_info *di;
long i;
{
- struct d_comp *p;
+ struct demangle_component *p;
- p = cp_v3_d_make_empty (di, D_COMP_TEMPLATE_PARAM);
+ p = d_make_empty (di);
if (p != NULL)
- p->u.s_number.number = i;
+ {
+ p->type = DEMANGLE_COMPONENT_TEMPLATE_PARAM;
+ p->u.s_number.number = i;
+ }
return p;
}
/* Add a new standard substitution component. */
-static struct d_comp *
+static struct demangle_component *
d_make_sub (di, name, len)
struct d_info *di;
const char *name;
int len;
{
- struct d_comp *p;
+ struct demangle_component *p;
- p = cp_v3_d_make_empty (di, D_COMP_SUB_STD);
+ p = d_make_empty (di);
if (p != NULL)
{
+ p->type = DEMANGLE_COMPONENT_SUB_STD;
p->u.s_string.string = name;
p->u.s_string.len = len;
}
@@ -816,8 +967,9 @@ d_make_sub (di, name, len)
TOP_LEVEL is non-zero when called at the top level. */
-static struct d_comp *
-d_mangled_name (di, top_level)
+CP_STATIC_IF_GLIBCPP_V3
+struct demangle_component *
+cplus_demangle_mangled_name (di, top_level)
struct d_info *di;
int top_level;
{
@@ -839,7 +991,7 @@ d_mangled_name (di, top_level)
static int
has_return_type (dc)
- struct d_comp *dc;
+ struct demangle_component *dc;
{
if (dc == NULL)
return 0;
@@ -847,11 +999,11 @@ has_return_type (dc)
{
default:
return 0;
- case D_COMP_TEMPLATE:
+ case DEMANGLE_COMPONENT_TEMPLATE:
return ! is_ctor_dtor_or_conversion (d_left (dc));
- case D_COMP_RESTRICT_THIS:
- case D_COMP_VOLATILE_THIS:
- case D_COMP_CONST_THIS:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
return has_return_type (d_left (dc));
}
}
@@ -861,7 +1013,7 @@ has_return_type (dc)
static int
is_ctor_dtor_or_conversion (dc)
- struct d_comp *dc;
+ struct demangle_component *dc;
{
if (dc == NULL)
return 0;
@@ -869,12 +1021,12 @@ is_ctor_dtor_or_conversion (dc)
{
default:
return 0;
- case D_COMP_QUAL_NAME:
- case D_COMP_LOCAL_NAME:
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
return is_ctor_dtor_or_conversion (d_right (dc));
- case D_COMP_CTOR:
- case D_COMP_DTOR:
- case D_COMP_CAST:
+ case DEMANGLE_COMPONENT_CTOR:
+ case DEMANGLE_COMPONENT_DTOR:
+ case DEMANGLE_COMPONENT_CAST:
return 1;
}
}
@@ -888,7 +1040,7 @@ is_ctor_dtor_or_conversion (dc)
parameters. We only set this at the top level, because otherwise
we would not correctly demangle names in local scopes. */
-static struct d_comp *
+static struct demangle_component *
d_encoding (di, top_level)
struct d_info *di;
int top_level;
@@ -899,7 +1051,7 @@ d_encoding (di, top_level)
return d_special_name (di);
else
{
- struct d_comp *dc;
+ struct demangle_component *dc;
dc = d_name (di);
@@ -908,17 +1060,34 @@ d_encoding (di, top_level)
/* Strip off any initial CV-qualifiers, as they really apply
to the `this' parameter, and they were not output by the
v2 demangler without DMGL_PARAMS. */
- while (dc->type == D_COMP_RESTRICT_THIS
- || dc->type == D_COMP_VOLATILE_THIS
- || dc->type == D_COMP_CONST_THIS)
+ while (dc->type == DEMANGLE_COMPONENT_RESTRICT_THIS
+ || dc->type == DEMANGLE_COMPONENT_VOLATILE_THIS
+ || dc->type == DEMANGLE_COMPONENT_CONST_THIS)
dc = d_left (dc);
+
+ /* If the top level is a DEMANGLE_COMPONENT_LOCAL_NAME, then
+ there may be CV-qualifiers on its right argument which
+ really apply here; this happens when parsing a class
+ which is local to a function. */
+ if (dc->type == DEMANGLE_COMPONENT_LOCAL_NAME)
+ {
+ struct demangle_component *dcr;
+
+ dcr = d_right (dc);
+ while (dcr->type == DEMANGLE_COMPONENT_RESTRICT_THIS
+ || dcr->type == DEMANGLE_COMPONENT_VOLATILE_THIS
+ || dcr->type == DEMANGLE_COMPONENT_CONST_THIS)
+ dcr = d_left (dcr);
+ dc->u.s_binary.right = dcr;
+ }
+
return dc;
}
peek = d_peek_char (di);
if (peek == '\0' || peek == 'E')
return dc;
- return cp_v3_d_make_comp (di, D_COMP_TYPED_NAME, dc,
+ return d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME, dc,
d_bare_function_type (di, has_return_type (dc)));
}
}
@@ -935,12 +1104,12 @@ d_encoding (di, top_level)
::= <substitution>
*/
-static struct d_comp *
+static struct demangle_component *
d_name (di)
struct d_info *di;
{
char peek = d_peek_char (di);
- struct d_comp *dc;
+ struct demangle_component *dc;
switch (peek)
{
@@ -962,7 +1131,8 @@ d_name (di)
else
{
d_advance (di, 2);
- dc = cp_v3_d_make_comp (di, D_COMP_QUAL_NAME, cp_v3_d_make_name (di, "std", 3),
+ dc = d_make_comp (di, DEMANGLE_COMPONENT_QUAL_NAME,
+ d_make_name (di, "std", 3),
d_unqualified_name (di));
di->expansion += 3;
subst = 0;
@@ -985,7 +1155,8 @@ d_name (di)
if (! d_add_substitution (di, dc))
return NULL;
}
- dc = cp_v3_d_make_comp (di, D_COMP_TEMPLATE, dc, d_template_args (di));
+ dc = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, dc,
+ d_template_args (di));
}
return dc;
@@ -1000,7 +1171,8 @@ d_name (di)
candidate. */
if (! d_add_substitution (di, dc))
return NULL;
- dc = cp_v3_d_make_comp (di, D_COMP_TEMPLATE, dc, d_template_args (di));
+ dc = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, dc,
+ d_template_args (di));
}
return dc;
}
@@ -1010,12 +1182,12 @@ d_name (di)
::= N [<CV-qualifiers>] <template-prefix> <template-args> E
*/
-static struct d_comp *
+static struct demangle_component *
d_nested_name (di)
struct d_info *di;
{
- struct d_comp *ret;
- struct d_comp **pret;
+ struct demangle_component *ret;
+ struct demangle_component **pret;
if (d_next_char (di) != 'N')
return NULL;
@@ -1045,17 +1217,17 @@ d_nested_name (di)
::= <substitution>
*/
-static struct d_comp *
+static struct demangle_component *
d_prefix (di)
struct d_info *di;
{
- struct d_comp *ret = NULL;
+ struct demangle_component *ret = NULL;
while (1)
{
char peek;
- enum d_comp_type comb_type;
- struct d_comp *dc;
+ enum demangle_component_type comb_type;
+ struct demangle_component *dc;
peek = d_peek_char (di);
if (peek == '\0')
@@ -1065,7 +1237,7 @@ d_prefix (di)
that in the grammar. The older code does not accept a
<template-param> here. */
- comb_type = D_COMP_QUAL_NAME;
+ comb_type = DEMANGLE_COMPONENT_QUAL_NAME;
if (IS_DIGIT (peek)
|| IS_LOWER (peek)
|| peek == 'C'
@@ -1077,7 +1249,7 @@ d_prefix (di)
{
if (ret == NULL)
return NULL;
- comb_type = D_COMP_TEMPLATE;
+ comb_type = DEMANGLE_COMPONENT_TEMPLATE;
dc = d_template_args (di);
}
else if (peek == 'T')
@@ -1090,7 +1262,7 @@ d_prefix (di)
if (ret == NULL)
ret = dc;
else
- ret = cp_v3_d_make_comp (di, comb_type, ret, dc);
+ ret = d_make_comp (di, comb_type, ret, dc);
if (peek != 'S' && d_peek_char (di) != 'E')
{
@@ -1105,7 +1277,7 @@ d_prefix (di)
::= <source-name>
*/
-static struct d_comp *
+static struct demangle_component *
d_unqualified_name (di)
struct d_info *di;
{
@@ -1116,10 +1288,10 @@ d_unqualified_name (di)
return d_source_name (di);
else if (IS_LOWER (peek))
{
- struct d_comp *ret;
+ struct demangle_component *ret;
ret = d_operator_name (di);
- if (ret != NULL && ret->type == D_COMP_OPERATOR)
+ if (ret != NULL && ret->type == DEMANGLE_COMPONENT_OPERATOR)
di->expansion += sizeof "operator" + ret->u.s_operator.op->len - 2;
return ret;
}
@@ -1131,12 +1303,12 @@ d_unqualified_name (di)
/* <source-name> ::= <(positive length) number> <identifier> */
-static struct d_comp *
+static struct demangle_component *
d_source_name (di)
struct d_info *di;
{
long len;
- struct d_comp *ret;
+ struct demangle_component *ret;
len = d_number (di);
if (len <= 0)
@@ -1182,7 +1354,7 @@ d_number (di)
/* identifier ::= <(unqualified source code identifier)> */
-static struct d_comp *
+static struct demangle_component *
d_identifier (di, len)
struct d_info *di;
int len;
@@ -1217,12 +1389,12 @@ d_identifier (di, len)
&& s[1] == 'N')
{
di->expansion -= len - sizeof "(anonymous namespace)";
- return cp_v3_d_make_name (di, "(anonymous namespace)",
+ return d_make_name (di, "(anonymous namespace)",
sizeof "(anonymous namespace)" - 1);
}
}
- return cp_v3_d_make_name (di, name, len);
+ return d_make_name (di, name, len);
}
/* operator_name ::= many different two character encodings.
@@ -1230,7 +1402,10 @@ d_identifier (di, len)
::= v <digit> <source-name>
*/
-const struct d_operator_info d_operators[] =
+#define NL(s) s, (sizeof s) - 1
+
+CP_STATIC_IF_GLIBCPP_V3
+const struct demangle_operator_info cplus_demangle_operators[] =
{
{ "aN", NL ("&="), 2 },
{ "aS", NL ("="), 2 },
@@ -1280,10 +1455,11 @@ const struct d_operator_info d_operators[] =
{ "rm", NL ("%"), 2 },
{ "rs", NL (">>"), 2 },
{ "st", NL ("sizeof "), 1 },
- { "sz", NL ("sizeof "), 1 }
+ { "sz", NL ("sizeof "), 1 },
+ { NULL, NULL, 0, 0 }
};
-static struct d_comp *
+static struct demangle_component *
d_operator_name (di)
struct d_info *di;
{
@@ -1293,21 +1469,27 @@ d_operator_name (di)
c1 = d_next_char (di);
c2 = d_next_char (di);
if (c1 == 'v' && IS_DIGIT (c2))
- return cp_v3_d_make_extended_operator (di, c2 - '0', d_source_name (di));
+ return d_make_extended_operator (di, c2 - '0', d_source_name (di));
else if (c1 == 'c' && c2 == 'v')
- return cp_v3_d_make_comp (di, D_COMP_CAST, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_CAST,
+ cplus_demangle_type (di), NULL);
else
{
+ /* LOW is the inclusive lower bound. */
int low = 0;
- int high = sizeof (d_operators) / sizeof (d_operators[0]);
+ /* HIGH is the exclusive upper bound. We subtract one to ignore
+ the sentinel at the end of the array. */
+ int high = ((sizeof (cplus_demangle_operators)
+ / sizeof (cplus_demangle_operators[0]))
+ - 1);
while (1)
{
int i;
- const struct d_operator_info *p;
+ const struct demangle_operator_info *p;
i = low + (high - low) / 2;
- p = d_operators + i;
+ p = cplus_demangle_operators + i;
if (c1 == p->code[0] && c2 == p->code[1])
return d_make_operator (di, p);
@@ -1322,22 +1504,6 @@ d_operator_name (di)
}
}
-struct d_comp *
-cp_v3_d_make_operator_from_string (di, opname)
- struct d_info *di;
- const char *opname;
-{
- unsigned int i;
-
- for (i = 0; i < ARRAY_SIZE (d_operators); i++)
- {
- if (strcmp (d_operators[i].name, opname) == 0)
- return d_make_operator (di, &d_operators[i]);
- }
-
- return NULL;
-}
-
/* <special-name> ::= TV <type>
::= TT <type>
::= TI <type>
@@ -1352,7 +1518,7 @@ cp_v3_d_make_operator_from_string (di, opname)
::= GR <name>
*/
-static struct d_comp *
+static struct demangle_component *
d_special_name (di)
struct d_info *di;
{
@@ -1366,58 +1532,65 @@ d_special_name (di)
{
case 'V':
di->expansion -= 5;
- return cp_v3_d_make_comp (di, D_COMP_VTABLE, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_VTABLE,
+ cplus_demangle_type (di), NULL);
case 'T':
di->expansion -= 10;
- return cp_v3_d_make_comp (di, D_COMP_VTT, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_VTT,
+ cplus_demangle_type (di), NULL);
case 'I':
- return cp_v3_d_make_comp (di, D_COMP_TYPEINFO, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_TYPEINFO,
+ cplus_demangle_type (di), NULL);
case 'S':
- return cp_v3_d_make_comp (di, D_COMP_TYPEINFO_NAME, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_TYPEINFO_NAME,
+ cplus_demangle_type (di), NULL);
case 'h':
if (! d_call_offset (di, 'h'))
return NULL;
- return cp_v3_d_make_comp (di, D_COMP_THUNK, d_encoding (di, 0), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_THUNK,
+ d_encoding (di, 0), NULL);
case 'v':
if (! d_call_offset (di, 'v'))
return NULL;
- return cp_v3_d_make_comp (di, D_COMP_VIRTUAL_THUNK, d_encoding (di, 0),
- NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_VIRTUAL_THUNK,
+ d_encoding (di, 0), NULL);
case 'c':
if (! d_call_offset (di, '\0'))
return NULL;
if (! d_call_offset (di, '\0'))
return NULL;
- return cp_v3_d_make_comp (di, D_COMP_COVARIANT_THUNK, d_encoding (di, 0),
- NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_COVARIANT_THUNK,
+ d_encoding (di, 0), NULL);
case 'C':
{
- struct d_comp *derived_type;
+ struct demangle_component *derived_type;
long offset;
- struct d_comp *base_type;
+ struct demangle_component *base_type;
- derived_type = d_type (di);
+ derived_type = cplus_demangle_type (di);
offset = d_number (di);
if (offset < 0)
return NULL;
if (d_next_char (di) != '_')
return NULL;
- base_type = d_type (di);
+ base_type = cplus_demangle_type (di);
/* We don't display the offset. FIXME: We should display
it in verbose mode. */
di->expansion += 5;
- return cp_v3_d_make_comp (di, D_COMP_CONSTRUCTION_VTABLE, base_type,
- derived_type);
+ return d_make_comp (di, DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE,
+ base_type, derived_type);
}
case 'F':
- return cp_v3_d_make_comp (di, D_COMP_TYPEINFO_FN, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_TYPEINFO_FN,
+ cplus_demangle_type (di), NULL);
case 'J':
- return cp_v3_d_make_comp (di, D_COMP_JAVA_CLASS, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_JAVA_CLASS,
+ cplus_demangle_type (di), NULL);
default:
return NULL;
@@ -1428,10 +1601,11 @@ d_special_name (di)
switch (d_next_char (di))
{
case 'V':
- return cp_v3_d_make_comp (di, D_COMP_GUARD, d_name (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_GUARD, d_name (di), NULL);
case 'R':
- return cp_v3_d_make_comp (di, D_COMP_REFTEMP, d_name (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_REFTEMP, d_name (di),
+ NULL);
default:
return NULL;
@@ -1491,15 +1665,15 @@ d_call_offset (di, c)
::= D2
*/
-static struct d_comp *
+static struct demangle_component *
d_ctor_dtor_name (di)
struct d_info *di;
{
if (di->last_name != NULL)
{
- if (di->last_name->type == D_COMP_NAME)
+ if (di->last_name->type == DEMANGLE_COMPONENT_NAME)
di->expansion += di->last_name->u.s_name.len;
- else if (di->last_name->type == D_COMP_SUB_STD)
+ else if (di->last_name->type == DEMANGLE_COMPONENT_SUB_STD)
di->expansion += di->last_name->u.s_string.len;
}
switch (d_next_char (di))
@@ -1522,7 +1696,7 @@ d_ctor_dtor_name (di)
default:
return NULL;
}
- return cp_v3_d_make_ctor (di, kind, di->last_name);
+ return d_make_ctor (di, kind, di->last_name);
}
case 'D':
@@ -1543,7 +1717,7 @@ d_ctor_dtor_name (di)
default:
return NULL;
}
- return cp_v3_d_make_dtor (di, kind, di->last_name);
+ return d_make_dtor (di, kind, di->last_name);
}
default:
@@ -1570,12 +1744,45 @@ d_ctor_dtor_name (di)
::= u <source-name>
*/
-static struct d_comp *
-d_type (di)
+CP_STATIC_IF_GLIBCPP_V3
+const struct demangle_builtin_type_info
+cplus_demangle_builtin_types[D_BUILTIN_TYPE_COUNT] =
+{
+ /* a */ { NL ("signed char"), NL ("signed char"), D_PRINT_INT },
+ /* b */ { NL ("bool"), NL ("boolean"), D_PRINT_BOOL },
+ /* c */ { NL ("char"), NL ("byte"), D_PRINT_INT },
+ /* d */ { NL ("double"), NL ("double"), D_PRINT_DEFAULT },
+ /* e */ { NL ("long double"), NL ("long double"), D_PRINT_DEFAULT },
+ /* f */ { NL ("float"), NL ("float"), D_PRINT_DEFAULT },
+ /* g */ { NL ("__float128"), NL ("__float128"), D_PRINT_DEFAULT },
+ /* h */ { NL ("unsigned char"), NL ("unsigned char"), D_PRINT_INT },
+ /* i */ { NL ("int"), NL ("int"), D_PRINT_INT },
+ /* j */ { NL ("unsigned int"), NL ("unsigned"), D_PRINT_INT },
+ /* k */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
+ /* l */ { NL ("long"), NL ("long"), D_PRINT_LONG },
+ /* m */ { NL ("unsigned long"), NL ("unsigned long"), D_PRINT_LONG },
+ /* n */ { NL ("__int128"), NL ("__int128"), D_PRINT_DEFAULT },
+ /* o */ { NL ("unsigned __int128"), NL ("unsigned __int128"), D_PRINT_DEFAULT },
+ /* p */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
+ /* q */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
+ /* r */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
+ /* s */ { NL ("short"), NL ("short"), D_PRINT_INT },
+ /* t */ { NL ("unsigned short"), NL ("unsigned short"), D_PRINT_INT },
+ /* u */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
+ /* v */ { NL ("void"), NL ("void"), D_PRINT_VOID },
+ /* w */ { NL ("wchar_t"), NL ("char"), D_PRINT_INT },
+ /* x */ { NL ("long long"), NL ("long"), D_PRINT_DEFAULT },
+ /* y */ { NL ("unsigned long long"), NL ("unsigned long long"), D_PRINT_DEFAULT },
+ /* z */ { NL ("..."), NL ("..."), D_PRINT_DEFAULT },
+};
+
+CP_STATIC_IF_GLIBCPP_V3
+struct demangle_component *
+cplus_demangle_type (di)
struct d_info *di;
{
char peek;
- struct d_comp *ret;
+ struct demangle_component *ret;
int can_subst;
/* The ABI specifies that when CV-qualifiers are used, the base type
@@ -1596,12 +1803,12 @@ d_type (di)
peek = d_peek_char (di);
if (peek == 'r' || peek == 'V' || peek == 'K')
{
- struct d_comp **pret;
+ struct demangle_component **pret;
pret = d_cv_qualifiers (di, &ret, 0);
if (pret == NULL)
return NULL;
- *pret = d_type (di);
+ *pret = cplus_demangle_type (di);
if (! d_add_substitution (di, ret))
return NULL;
return ret;
@@ -1615,7 +1822,8 @@ d_type (di)
case 'h': case 'i': case 'j': case 'l': case 'm': case 'n':
case 'o': case 's': case 't':
case 'v': case 'w': case 'x': case 'y': case 'z':
- ret = cp_v3_d_make_builtin_type (di, peek);
+ ret = d_make_builtin_type (di,
+ &cplus_demangle_builtin_types[peek - 'a']);
di->expansion += ret->u.s_builtin.type->len;
can_subst = 0;
d_advance (di, 1);
@@ -1623,7 +1831,8 @@ d_type (di)
case 'u':
d_advance (di, 1);
- ret = cp_v3_d_make_comp (di, D_COMP_VENDOR_TYPE, d_source_name (di), NULL);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_VENDOR_TYPE,
+ d_source_name (di), NULL);
break;
case 'F':
@@ -1654,7 +1863,8 @@ d_type (di)
candidate. */
if (! d_add_substitution (di, ret))
return NULL;
- ret = cp_v3_d_make_comp (di, D_COMP_TEMPLATE, ret, d_template_args (di));
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, ret,
+ d_template_args (di));
}
break;
@@ -1673,7 +1883,7 @@ d_type (di)
/* The substituted name may have been a template name and
may be followed by tepmlate args. */
if (d_peek_char (di) == 'I')
- ret = cp_v3_d_make_comp (di, D_COMP_TEMPLATE, ret,
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, ret,
d_template_args (di));
else
can_subst = 0;
@@ -1685,7 +1895,7 @@ d_type (di)
a new substitution candidate. However, if the
substitution was followed by template arguments, then
the whole thing is a substitution candidate. */
- if (ret != NULL && ret->type == D_COMP_SUB_STD)
+ if (ret != NULL && ret->type == DEMANGLE_COMPONENT_SUB_STD)
can_subst = 0;
}
}
@@ -1693,28 +1903,33 @@ d_type (di)
case 'P':
d_advance (di, 1);
- ret = cp_v3_d_make_comp (di, D_COMP_POINTER, d_type (di), NULL);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_POINTER,
+ cplus_demangle_type (di), NULL);
break;
case 'R':
d_advance (di, 1);
- ret = cp_v3_d_make_comp (di, D_COMP_REFERENCE, d_type (di), NULL);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_REFERENCE,
+ cplus_demangle_type (di), NULL);
break;
case 'C':
d_advance (di, 1);
- ret = cp_v3_d_make_comp (di, D_COMP_COMPLEX, d_type (di), NULL);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_COMPLEX,
+ cplus_demangle_type (di), NULL);
break;
case 'G':
d_advance (di, 1);
- ret = cp_v3_d_make_comp (di, D_COMP_IMAGINARY, d_type (di), NULL);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_IMAGINARY,
+ cplus_demangle_type (di), NULL);
break;
case 'U':
d_advance (di, 1);
ret = d_source_name (di);
- ret = cp_v3_d_make_comp (di, D_COMP_VENDOR_TYPE_QUAL, d_type (di), ret);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL,
+ cplus_demangle_type (di), ret);
break;
default:
@@ -1732,10 +1947,10 @@ d_type (di)
/* <CV-qualifiers> ::= [r] [V] [K] */
-static struct d_comp **
+static struct demangle_component **
d_cv_qualifiers (di, pret, member_fn)
struct d_info *di;
- struct d_comp **pret;
+ struct demangle_component **pret;
int member_fn;
{
char peek;
@@ -1743,26 +1958,32 @@ d_cv_qualifiers (di, pret, member_fn)
peek = d_peek_char (di);
while (peek == 'r' || peek == 'V' || peek == 'K')
{
- enum d_comp_type t;
+ enum demangle_component_type t;
d_advance (di, 1);
if (peek == 'r')
{
- t = member_fn ? D_COMP_RESTRICT_THIS : D_COMP_RESTRICT;
+ t = (member_fn
+ ? DEMANGLE_COMPONENT_RESTRICT_THIS
+ : DEMANGLE_COMPONENT_RESTRICT);
di->expansion += sizeof "restrict";
}
else if (peek == 'V')
{
- t = member_fn ? D_COMP_VOLATILE_THIS : D_COMP_VOLATILE;
+ t = (member_fn
+ ? DEMANGLE_COMPONENT_VOLATILE_THIS
+ : DEMANGLE_COMPONENT_VOLATILE);
di->expansion += sizeof "volatile";
}
else
{
- t = member_fn ? D_COMP_CONST_THIS : D_COMP_CONST;
+ t = (member_fn
+ ? DEMANGLE_COMPONENT_CONST_THIS
+ : DEMANGLE_COMPONENT_CONST);
di->expansion += sizeof "const";
}
- *pret = cp_v3_d_make_comp (di, t, NULL, NULL);
+ *pret = d_make_comp (di, t, NULL, NULL);
if (*pret == NULL)
return NULL;
pret = &d_left (*pret);
@@ -1775,11 +1996,11 @@ d_cv_qualifiers (di, pret, member_fn)
/* <function-type> ::= F [Y] <bare-function-type> E */
-static struct d_comp *
+static struct demangle_component *
d_function_type (di)
struct d_info *di;
{
- struct d_comp *ret;
+ struct demangle_component *ret;
if (d_next_char (di) != 'F')
return NULL;
@@ -1797,14 +2018,14 @@ d_function_type (di)
/* <bare-function-type> ::= <type>+ */
-static struct d_comp *
+static struct demangle_component *
d_bare_function_type (di, has_return_type)
struct d_info *di;
int has_return_type;
{
- struct d_comp *return_type;
- struct d_comp *tl;
- struct d_comp **ptl;
+ struct demangle_component *return_type;
+ struct demangle_component *tl;
+ struct demangle_component **ptl;
return_type = NULL;
tl = NULL;
@@ -1812,12 +2033,12 @@ d_bare_function_type (di, has_return_type)
while (1)
{
char peek;
- struct d_comp *type;
+ struct demangle_component *type;
peek = d_peek_char (di);
if (peek == '\0' || peek == 'E')
break;
- type = d_type (di);
+ type = cplus_demangle_type (di);
if (type == NULL)
return NULL;
if (has_return_type)
@@ -1827,7 +2048,7 @@ d_bare_function_type (di, has_return_type)
}
else
{
- *ptl = cp_v3_d_make_comp (di, D_COMP_ARGLIST, type, NULL);
+ *ptl = d_make_comp (di, DEMANGLE_COMPONENT_ARGLIST, type, NULL);
if (*ptl == NULL)
return NULL;
ptl = &d_right (*ptl);
@@ -1842,19 +2063,19 @@ d_bare_function_type (di, has_return_type)
/* If we have a single parameter type void, omit it. */
if (d_right (tl) == NULL
- && d_left (tl)->type == D_COMP_BUILTIN_TYPE
+ && d_left (tl)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE
&& d_left (tl)->u.s_builtin.type->print == D_PRINT_VOID)
{
di->expansion -= d_left (tl)->u.s_builtin.type->len;
tl = NULL;
}
- return cp_v3_d_make_comp (di, D_COMP_FUNCTION_TYPE, return_type, tl);
+ return d_make_comp (di, DEMANGLE_COMPONENT_FUNCTION_TYPE, return_type, tl);
}
/* <class-enum-type> ::= <name> */
-static struct d_comp *
+static struct demangle_component *
d_class_enum_type (di)
struct d_info *di;
{
@@ -1865,12 +2086,12 @@ d_class_enum_type (di)
::= A [<(dimension) expression>] _ <(element) type>
*/
-static struct d_comp *
+static struct demangle_component *
d_array_type (di)
struct d_info *di;
{
char peek;
- struct d_comp *dim;
+ struct demangle_component *dim;
if (d_next_char (di) != 'A')
return NULL;
@@ -1889,7 +2110,7 @@ d_array_type (di)
peek = d_peek_char (di);
}
while (IS_DIGIT (peek));
- dim = cp_v3_d_make_name (di, s, d_str (di) - s);
+ dim = d_make_name (di, s, d_str (di) - s);
if (dim == NULL)
return NULL;
}
@@ -1903,23 +2124,24 @@ d_array_type (di)
if (d_next_char (di) != '_')
return NULL;
- return cp_v3_d_make_comp (di, D_COMP_ARRAY_TYPE, dim, d_type (di));
+ return d_make_comp (di, DEMANGLE_COMPONENT_ARRAY_TYPE, dim,
+ cplus_demangle_type (di));
}
/* <pointer-to-member-type> ::= M <(class) type> <(member) type> */
-static struct d_comp *
+static struct demangle_component *
d_pointer_to_member_type (di)
struct d_info *di;
{
- struct d_comp *cl;
- struct d_comp *mem;
- struct d_comp **pmem;
+ struct demangle_component *cl;
+ struct demangle_component *mem;
+ struct demangle_component **pmem;
if (d_next_char (di) != 'M')
return NULL;
- cl = d_type (di);
+ cl = cplus_demangle_type (di);
/* The ABI specifies that any type can be a substitution source, and
that M is followed by two types, and that when a CV-qualified
@@ -1932,21 +2154,21 @@ d_pointer_to_member_type (di)
g++ does not work that way. g++ treats only the CV-qualified
member function as a substitution source. FIXME. So to work
with g++, we need to pull off the CV-qualifiers here, in order to
- avoid calling add_substitution() in d_type(). */
+ avoid calling add_substitution() in cplus_demangle_type(). */
pmem = d_cv_qualifiers (di, &mem, 1);
if (pmem == NULL)
return NULL;
- *pmem = d_type (di);
+ *pmem = cplus_demangle_type (di);
- return cp_v3_d_make_comp (di, D_COMP_PTRMEM_TYPE, cl, mem);
+ return d_make_comp (di, DEMANGLE_COMPONENT_PTRMEM_TYPE, cl, mem);
}
/* <template-param> ::= T_
::= T <(parameter-2 non-negative) number> _
*/
-static struct d_comp *
+static struct demangle_component *
d_template_param (di)
struct d_info *di;
{
@@ -1975,13 +2197,13 @@ d_template_param (di)
/* <template-args> ::= I <template-arg>+ E */
-static struct d_comp *
+static struct demangle_component *
d_template_args (di)
struct d_info *di;
{
- struct d_comp *hold_last_name;
- struct d_comp *al;
- struct d_comp **pal;
+ struct demangle_component *hold_last_name;
+ struct demangle_component *al;
+ struct demangle_component **pal;
/* Preserve the last name we saw--don't let the template arguments
clobber it, as that would give us the wrong name for a subsequent
@@ -1995,13 +2217,13 @@ d_template_args (di)
pal = &al;
while (1)
{
- struct d_comp *a;
+ struct demangle_component *a;
a = d_template_arg (di);
if (a == NULL)
return NULL;
- *pal = cp_v3_d_make_comp (di, D_COMP_TEMPLATE_ARGLIST, a, NULL);
+ *pal = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, a, NULL);
if (*pal == NULL)
return NULL;
pal = &d_right (*pal);
@@ -2023,11 +2245,11 @@ d_template_args (di)
::= <expr-primary>
*/
-static struct d_comp *
+static struct demangle_component *
d_template_arg (di)
struct d_info *di;
{
- struct d_comp *ret;
+ struct demangle_component *ret;
switch (d_peek_char (di))
{
@@ -2042,7 +2264,7 @@ d_template_arg (di)
return d_expr_primary (di);
default:
- return d_type (di);
+ return cplus_demangle_type (di);
}
}
@@ -2056,7 +2278,7 @@ d_template_arg (di)
::= <expr-primary>
*/
-static struct d_comp *
+static struct demangle_component *
d_expression (di)
struct d_info *di;
{
@@ -2069,46 +2291,47 @@ d_expression (di)
return d_template_param (di);
else if (peek == 's' && d_peek_next_char (di) == 'r')
{
- struct d_comp *type;
- struct d_comp *name;
+ struct demangle_component *type;
+ struct demangle_component *name;
d_advance (di, 2);
- type = d_type (di);
+ type = cplus_demangle_type (di);
name = d_unqualified_name (di);
if (d_peek_char (di) != 'I')
- return cp_v3_d_make_comp (di, D_COMP_QUAL_NAME, type, name);
+ return d_make_comp (di, DEMANGLE_COMPONENT_QUAL_NAME, type, name);
else
- return cp_v3_d_make_comp (di, D_COMP_QUAL_NAME, type,
- cp_v3_d_make_comp (di, D_COMP_TEMPLATE, name,
+ return d_make_comp (di, DEMANGLE_COMPONENT_QUAL_NAME, type,
+ d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, name,
d_template_args (di)));
}
else
{
- struct d_comp *op;
+ struct demangle_component *op;
int args;
op = d_operator_name (di);
if (op == NULL)
return NULL;
- if (op->type == D_COMP_OPERATOR)
+ if (op->type == DEMANGLE_COMPONENT_OPERATOR)
di->expansion += op->u.s_operator.op->len - 2;
- if (op->type == D_COMP_OPERATOR
+ if (op->type == DEMANGLE_COMPONENT_OPERATOR
&& strcmp (op->u.s_operator.op->code, "st") == 0)
- return cp_v3_d_make_comp (di, D_COMP_UNARY, op, d_type (di));
+ return d_make_comp (di, DEMANGLE_COMPONENT_UNARY, op,
+ cplus_demangle_type (di));
switch (op->type)
{
default:
return NULL;
- case D_COMP_OPERATOR:
+ case DEMANGLE_COMPONENT_OPERATOR:
args = op->u.s_operator.op->args;
break;
- case D_COMP_EXTENDED_OPERATOR:
+ case DEMANGLE_COMPONENT_EXTENDED_OPERATOR:
args = op->u.s_extended_operator.args;
break;
- case D_COMP_CAST:
+ case DEMANGLE_COMPONENT_CAST:
args = 1;
break;
}
@@ -2116,27 +2339,32 @@ d_expression (di)
switch (args)
{
case 1:
- return cp_v3_d_make_comp (di, D_COMP_UNARY, op, d_expression (di));
+ return d_make_comp (di, DEMANGLE_COMPONENT_UNARY, op,
+ d_expression (di));
case 2:
{
- struct d_comp *left;
+ struct demangle_component *left;
left = d_expression (di);
- return cp_v3_d_make_comp (di, D_COMP_BINARY, op,
- cp_v3_d_make_comp (di, D_COMP_BINARY_ARGS, left,
+ return d_make_comp (di, DEMANGLE_COMPONENT_BINARY, op,
+ d_make_comp (di,
+ DEMANGLE_COMPONENT_BINARY_ARGS,
+ left,
d_expression (di)));
}
case 3:
{
- struct d_comp *first;
- struct d_comp *second;
+ struct demangle_component *first;
+ struct demangle_component *second;
first = d_expression (di);
second = d_expression (di);
- return cp_v3_d_make_comp (di, D_COMP_TRINARY, op,
- cp_v3_d_make_comp (di, D_COMP_TRINARY_ARG1, first,
- cp_v3_d_make_comp (di,
- D_COMP_TRINARY_ARG2,
+ return d_make_comp (di, DEMANGLE_COMPONENT_TRINARY, op,
+ d_make_comp (di,
+ DEMANGLE_COMPONENT_TRINARY_ARG1,
+ first,
+ d_make_comp (di,
+ DEMANGLE_COMPONENT_TRINARY_ARG2,
second,
d_expression (di))));
}
@@ -2151,27 +2379,27 @@ d_expression (di)
::= L <mangled-name> E
*/
-static struct d_comp *
+static struct demangle_component *
d_expr_primary (di)
struct d_info *di;
{
- struct d_comp *ret;
+ struct demangle_component *ret;
if (d_next_char (di) != 'L')
return NULL;
if (d_peek_char (di) == '_')
- ret = d_mangled_name (di, 0);
+ ret = cplus_demangle_mangled_name (di, 0);
else
{
- struct d_comp *type;
- enum d_comp_type t;
+ struct demangle_component *type;
+ enum demangle_component_type t;
const char *s;
- type = d_type (di);
+ type = cplus_demangle_type (di);
/* If we have a type we know how to print, we aren't going to
print the type name itself. */
- if (type->type == D_COMP_BUILTIN_TYPE
+ if (type->type == DEMANGLE_COMPONENT_BUILTIN_TYPE
&& type->u.s_builtin.type->print != D_PRINT_DEFAULT)
di->expansion -= type->u.s_builtin.type->len;
@@ -2186,16 +2414,16 @@ d_expr_primary (di)
constant in any readable form anyhow. We don't attempt to
handle these cases. */
- t = D_COMP_LITERAL;
+ t = DEMANGLE_COMPONENT_LITERAL;
if (d_peek_char (di) == 'n')
{
- t = D_COMP_LITERAL_NEG;
+ t = DEMANGLE_COMPONENT_LITERAL_NEG;
d_advance (di, 1);
}
s = d_str (di);
while (d_peek_char (di) != 'E')
d_advance (di, 1);
- ret = cp_v3_d_make_comp (di, t, type, cp_v3_d_make_name (di, s, d_str (di) - s));
+ ret = d_make_comp (di, t, type, d_make_name (di, s, d_str (di) - s));
}
if (d_next_char (di) != 'E')
return NULL;
@@ -2206,11 +2434,11 @@ d_expr_primary (di)
::= Z <(function) encoding> E s [<discriminator>]
*/
-static struct d_comp *
+static struct demangle_component *
d_local_name (di)
struct d_info *di;
{
- struct d_comp *function;
+ struct demangle_component *function;
if (d_next_char (di) != 'Z')
return NULL;
@@ -2225,18 +2453,18 @@ d_local_name (di)
d_advance (di, 1);
if (! d_discriminator (di))
return NULL;
- return cp_v3_d_make_comp (di, D_COMP_LOCAL_NAME, function,
- cp_v3_d_make_name (di, "string literal",
+ return d_make_comp (di, DEMANGLE_COMPONENT_LOCAL_NAME, function,
+ d_make_name (di, "string literal",
sizeof "string literal" - 1));
}
else
{
- struct d_comp *name;
+ struct demangle_component *name;
name = d_name (di);
if (! d_discriminator (di))
return NULL;
- return cp_v3_d_make_comp (di, D_COMP_LOCAL_NAME, function, name);
+ return d_make_comp (di, DEMANGLE_COMPONENT_LOCAL_NAME, function, name);
}
}
@@ -2265,7 +2493,7 @@ d_discriminator (di)
static int
d_add_substitution (di, dc)
struct d_info *di;
- struct d_comp *dc;
+ struct demangle_component *dc;
{
if (dc == NULL)
return 0;
@@ -2320,7 +2548,7 @@ static const struct d_standard_sub_info standard_subs[] =
NL ("basic_iostream") }
};
-static struct d_comp *
+static struct demangle_component *
d_substitution (di, prefix)
struct d_info *di;
int prefix;
@@ -2499,10 +2727,11 @@ d_print_error (dpi)
sets *PALC to 0 for a bad parse, or to 1 for a memory allocation
failure. */
+CP_STATIC_IF_GLIBCPP_V3
char *
-cp_v3_d_print (options, dc, estimate, palc)
+cplus_demangle_print (options, dc, estimate, palc)
int options;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
int estimate;
size_t *palc;
{
@@ -2541,7 +2770,7 @@ cp_v3_d_print (options, dc, estimate, palc)
static void
d_print_comp (dpi, dc)
struct d_print_info *dpi;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
{
if (dc == NULL)
{
@@ -2553,15 +2782,15 @@ d_print_comp (dpi, dc)
switch (dc->type)
{
- case D_COMP_NAME:
+ case DEMANGLE_COMPONENT_NAME:
if ((dpi->options & DMGL_JAVA) == 0)
d_append_buffer (dpi, dc->u.s_name.s, dc->u.s_name.len);
else
d_print_java_identifier (dpi, dc->u.s_name.s, dc->u.s_name.len);
return;
- case D_COMP_QUAL_NAME:
- case D_COMP_LOCAL_NAME:
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
d_print_comp (dpi, d_left (dc));
if ((dpi->options & DMGL_JAVA) == 0)
d_append_string_constant (dpi, "::");
@@ -2570,10 +2799,10 @@ d_print_comp (dpi, dc)
d_print_comp (dpi, d_right (dc));
return;
- case D_COMP_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TYPED_NAME:
{
struct d_print_mod *hold_modifiers;
- struct d_comp *typed_name;
+ struct demangle_component *typed_name;
struct d_print_mod adpm[4];
unsigned int i;
struct d_print_template dpt;
@@ -2599,9 +2828,9 @@ d_print_comp (dpi, dc)
adpm[i].templates = dpi->templates;
++i;
- if (typed_name->type != D_COMP_RESTRICT_THIS
- && typed_name->type != D_COMP_VOLATILE_THIS
- && typed_name->type != D_COMP_CONST_THIS)
+ if (typed_name->type != DEMANGLE_COMPONENT_RESTRICT_THIS
+ && typed_name->type != DEMANGLE_COMPONENT_VOLATILE_THIS
+ && typed_name->type != DEMANGLE_COMPONENT_CONST_THIS)
break;
typed_name = d_left (typed_name);
@@ -2609,25 +2838,25 @@ d_print_comp (dpi, dc)
/* If typed_name is a template, then it applies to the
function type as well. */
- if (typed_name->type == D_COMP_TEMPLATE)
+ if (typed_name->type == DEMANGLE_COMPONENT_TEMPLATE)
{
dpt.next = dpi->templates;
dpi->templates = &dpt;
dpt.template = typed_name;
}
- /* If typed_name is a D_COMP_LOCAL_NAME, then there may be
- CV-qualifiers on its right argument which really apply
- here; this happens when parsing a class which is local to a
- function. */
- if (typed_name->type == D_COMP_LOCAL_NAME)
+ /* If typed_name is a DEMANGLE_COMPONENT_LOCAL_NAME, then
+ there may be CV-qualifiers on its right argument which
+ really apply here; this happens when parsing a class which
+ is local to a function. */
+ if (typed_name->type == DEMANGLE_COMPONENT_LOCAL_NAME)
{
- struct d_comp *local_name;
+ struct demangle_component *local_name;
local_name = d_right (typed_name);
- while (local_name->type == D_COMP_RESTRICT_THIS
- || local_name->type == D_COMP_VOLATILE_THIS
- || local_name->type == D_COMP_CONST_THIS)
+ while (local_name->type == DEMANGLE_COMPONENT_RESTRICT_THIS
+ || local_name->type == DEMANGLE_COMPONENT_VOLATILE_THIS
+ || local_name->type == DEMANGLE_COMPONENT_CONST_THIS)
{
if (i >= sizeof adpm / sizeof adpm[0])
{
@@ -2650,7 +2879,7 @@ d_print_comp (dpi, dc)
d_print_comp (dpi, d_right (dc));
- if (typed_name->type == D_COMP_TEMPLATE)
+ if (typed_name->type == DEMANGLE_COMPONENT_TEMPLATE)
dpi->templates = dpt.next;
/* If the modifiers didn't get printed by the type, print them
@@ -2670,7 +2899,7 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_TEMPLATE:
+ case DEMANGLE_COMPONENT_TEMPLATE:
{
struct d_print_mod *hold_dpm;
@@ -2697,10 +2926,10 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_TEMPLATE_PARAM:
+ case DEMANGLE_COMPONENT_TEMPLATE_PARAM:
{
long i;
- struct d_comp *a;
+ struct demangle_component *a;
struct d_print_template *hold_dpt;
if (dpi->templates == NULL)
@@ -2713,7 +2942,7 @@ d_print_comp (dpi, dc)
a != NULL;
a = d_right (a))
{
- if (a->type != D_COMP_TEMPLATE_ARGLIST)
+ if (a->type != DEMANGLE_COMPONENT_TEMPLATE_ARGLIST)
{
d_print_error (dpi);
return;
@@ -2743,92 +2972,92 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_CTOR:
+ case DEMANGLE_COMPONENT_CTOR:
d_print_comp (dpi, dc->u.s_ctor.name);
return;
- case D_COMP_DTOR:
+ case DEMANGLE_COMPONENT_DTOR:
d_append_char (dpi, '~');
d_print_comp (dpi, dc->u.s_dtor.name);
return;
- case D_COMP_VTABLE:
+ case DEMANGLE_COMPONENT_VTABLE:
d_append_string_constant (dpi, "vtable for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_VTT:
+ case DEMANGLE_COMPONENT_VTT:
d_append_string_constant (dpi, "VTT for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_CONSTRUCTION_VTABLE:
+ case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
d_append_string_constant (dpi, "construction vtable for ");
d_print_comp (dpi, d_left (dc));
d_append_string_constant (dpi, "-in-");
d_print_comp (dpi, d_right (dc));
return;
- case D_COMP_TYPEINFO:
+ case DEMANGLE_COMPONENT_TYPEINFO:
d_append_string_constant (dpi, "typeinfo for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_TYPEINFO_NAME:
+ case DEMANGLE_COMPONENT_TYPEINFO_NAME:
d_append_string_constant (dpi, "typeinfo name for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_TYPEINFO_FN:
+ case DEMANGLE_COMPONENT_TYPEINFO_FN:
d_append_string_constant (dpi, "typeinfo fn for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_THUNK:
+ case DEMANGLE_COMPONENT_THUNK:
d_append_string_constant (dpi, "non-virtual thunk to ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_VIRTUAL_THUNK:
+ case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
d_append_string_constant (dpi, "virtual thunk to ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_COVARIANT_THUNK:
+ case DEMANGLE_COMPONENT_COVARIANT_THUNK:
d_append_string_constant (dpi, "covariant return thunk to ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_JAVA_CLASS:
+ case DEMANGLE_COMPONENT_JAVA_CLASS:
d_append_string_constant (dpi, "java Class for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_GUARD:
+ case DEMANGLE_COMPONENT_GUARD:
d_append_string_constant (dpi, "guard variable for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_REFTEMP:
+ case DEMANGLE_COMPONENT_REFTEMP:
d_append_string_constant (dpi, "reference temporary for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_SUB_STD:
+ case DEMANGLE_COMPONENT_SUB_STD:
d_append_buffer (dpi, dc->u.s_string.string, dc->u.s_string.len);
return;
- case D_COMP_RESTRICT:
- case D_COMP_VOLATILE:
- case D_COMP_CONST:
- case D_COMP_RESTRICT_THIS:
- case D_COMP_VOLATILE_THIS:
- case D_COMP_CONST_THIS:
- case D_COMP_VENDOR_TYPE_QUAL:
- case D_COMP_POINTER:
- case D_COMP_REFERENCE:
- case D_COMP_COMPLEX:
- case D_COMP_IMAGINARY:
+ case DEMANGLE_COMPONENT_RESTRICT:
+ case DEMANGLE_COMPONENT_VOLATILE:
+ case DEMANGLE_COMPONENT_CONST:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_POINTER:
+ case DEMANGLE_COMPONENT_REFERENCE:
+ case DEMANGLE_COMPONENT_COMPLEX:
+ case DEMANGLE_COMPONENT_IMAGINARY:
{
/* We keep a list of modifiers on the stack. */
struct d_print_mod dpm;
@@ -2851,7 +3080,7 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_BUILTIN_TYPE:
+ case DEMANGLE_COMPONENT_BUILTIN_TYPE:
if ((dpi->options & DMGL_JAVA) == 0)
d_append_buffer (dpi, dc->u.s_builtin.type->name,
dc->u.s_builtin.type->len);
@@ -2860,11 +3089,11 @@ d_print_comp (dpi, dc)
dc->u.s_builtin.type->java_len);
return;
- case D_COMP_VENDOR_TYPE:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE:
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_FUNCTION_TYPE:
+ case DEMANGLE_COMPONENT_FUNCTION_TYPE:
{
if (d_left (dc) != NULL)
{
@@ -2894,7 +3123,7 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_ARRAY_TYPE:
+ case DEMANGLE_COMPONENT_ARRAY_TYPE:
{
struct d_print_mod dpm;
@@ -2919,7 +3148,7 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
{
struct d_print_mod dpm;
@@ -2945,8 +3174,8 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_ARGLIST:
- case D_COMP_TEMPLATE_ARGLIST:
+ case DEMANGLE_COMPONENT_ARGLIST:
+ case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
d_print_comp (dpi, d_left (dc));
if (d_right (dc) != NULL)
{
@@ -2955,7 +3184,7 @@ d_print_comp (dpi, dc)
}
return;
- case D_COMP_OPERATOR:
+ case DEMANGLE_COMPONENT_OPERATOR:
{
char c;
@@ -2968,18 +3197,18 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_EXTENDED_OPERATOR:
+ case DEMANGLE_COMPONENT_EXTENDED_OPERATOR:
d_append_string_constant (dpi, "operator ");
d_print_comp (dpi, dc->u.s_extended_operator.name);
return;
- case D_COMP_CAST:
+ case DEMANGLE_COMPONENT_CAST:
d_append_string_constant (dpi, "operator ");
d_print_cast (dpi, dc);
return;
- case D_COMP_UNARY:
- if (d_left (dc)->type != D_COMP_CAST)
+ case DEMANGLE_COMPONENT_UNARY:
+ if (d_left (dc)->type != DEMANGLE_COMPONENT_CAST)
d_print_expr_op (dpi, d_left (dc));
else
{
@@ -2990,12 +3219,12 @@ d_print_comp (dpi, dc)
d_append_char (dpi, '(');
d_print_comp (dpi, d_right (dc));
d_append_char (dpi, ')');
- if (d_left (dc)->type == D_COMP_CAST)
+ if (d_left (dc)->type == DEMANGLE_COMPONENT_CAST)
d_append_char (dpi, ')');
return;
- case D_COMP_BINARY:
- if (d_right (dc)->type != D_COMP_BINARY_ARGS)
+ case DEMANGLE_COMPONENT_BINARY:
+ if (d_right (dc)->type != DEMANGLE_COMPONENT_BINARY_ARGS)
{
d_print_error (dpi);
return;
@@ -3004,7 +3233,7 @@ d_print_comp (dpi, dc)
/* We wrap an expression which uses the greater-than operator in
an extra layer of parens so that it does not get confused
with the '>' which ends the template parameters. */
- if (d_left (dc)->type == D_COMP_OPERATOR
+ if (d_left (dc)->type == DEMANGLE_COMPONENT_OPERATOR
&& d_left (dc)->u.s_operator.op->len == 1
&& d_left (dc)->u.s_operator.op->name[0] == '>')
d_append_char (dpi, '(');
@@ -3017,21 +3246,21 @@ d_print_comp (dpi, dc)
d_print_comp (dpi, d_right (d_right (dc)));
d_append_char (dpi, ')');
- if (d_left (dc)->type == D_COMP_OPERATOR
+ if (d_left (dc)->type == DEMANGLE_COMPONENT_OPERATOR
&& d_left (dc)->u.s_operator.op->len == 1
&& d_left (dc)->u.s_operator.op->name[0] == '>')
d_append_char (dpi, ')');
return;
- case D_COMP_BINARY_ARGS:
- /* We should only see this as part of D_COMP_BINARY. */
+ case DEMANGLE_COMPONENT_BINARY_ARGS:
+ /* We should only see this as part of DEMANGLE_COMPONENT_BINARY. */
d_print_error (dpi);
return;
- case D_COMP_TRINARY:
- if (d_right (dc)->type != D_COMP_TRINARY_ARG1
- || d_right (d_right (dc))->type != D_COMP_TRINARY_ARG2)
+ case DEMANGLE_COMPONENT_TRINARY:
+ if (d_right (dc)->type != DEMANGLE_COMPONENT_TRINARY_ARG1
+ || d_right (d_right (dc))->type != DEMANGLE_COMPONENT_TRINARY_ARG2)
{
d_print_error (dpi);
return;
@@ -3047,23 +3276,23 @@ d_print_comp (dpi, dc)
d_append_char (dpi, ')');
return;
- case D_COMP_TRINARY_ARG1:
- case D_COMP_TRINARY_ARG2:
- /* We should only see these are part of D_COMP_TRINARY. */
+ case DEMANGLE_COMPONENT_TRINARY_ARG1:
+ case DEMANGLE_COMPONENT_TRINARY_ARG2:
+ /* We should only see these are part of DEMANGLE_COMPONENT_TRINARY. */
d_print_error (dpi);
return;
- case D_COMP_LITERAL:
- case D_COMP_LITERAL_NEG:
+ case DEMANGLE_COMPONENT_LITERAL:
+ case DEMANGLE_COMPONENT_LITERAL_NEG:
/* For some builtin types, produce simpler output. */
- if (d_left (dc)->type == D_COMP_BUILTIN_TYPE)
+ if (d_left (dc)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE)
{
switch (d_left (dc)->u.s_builtin.type->print)
{
case D_PRINT_INT:
- if (d_right (dc)->type == D_COMP_NAME)
+ if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME)
{
- if (dc->type == D_COMP_LITERAL_NEG)
+ if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
d_append_char (dpi, '-');
d_print_comp (dpi, d_right (dc));
return;
@@ -3071,9 +3300,9 @@ d_print_comp (dpi, dc)
break;
case D_PRINT_LONG:
- if (d_right (dc)->type == D_COMP_NAME)
+ if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME)
{
- if (dc->type == D_COMP_LITERAL_NEG)
+ if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
d_append_char (dpi, '-');
d_print_comp (dpi, d_right (dc));
d_append_char (dpi, 'l');
@@ -3082,9 +3311,9 @@ d_print_comp (dpi, dc)
break;
case D_PRINT_BOOL:
- if (d_right (dc)->type == D_COMP_NAME
+ if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME
&& d_right (dc)->u.s_name.len == 1
- && dc->type == D_COMP_LITERAL)
+ && dc->type == DEMANGLE_COMPONENT_LITERAL)
{
switch (d_right (dc)->u.s_name.s[0])
{
@@ -3108,7 +3337,7 @@ d_print_comp (dpi, dc)
d_append_char (dpi, '(');
d_print_comp (dpi, d_left (dc));
d_append_char (dpi, ')');
- if (dc->type == D_COMP_LITERAL_NEG)
+ if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
d_append_char (dpi, '-');
d_print_comp (dpi, d_right (dc));
return;
@@ -3190,9 +3419,9 @@ d_print_mod_list (dpi, mods, suffix)
if (mods->printed
|| (! suffix
- && (mods->mod->type == D_COMP_RESTRICT_THIS
- || mods->mod->type == D_COMP_VOLATILE_THIS
- || mods->mod->type == D_COMP_CONST_THIS)))
+ && (mods->mod->type == DEMANGLE_COMPONENT_RESTRICT_THIS
+ || mods->mod->type == DEMANGLE_COMPONENT_VOLATILE_THIS
+ || mods->mod->type == DEMANGLE_COMPONENT_CONST_THIS)))
{
d_print_mod_list (dpi, mods->next, suffix);
return;
@@ -3203,22 +3432,22 @@ d_print_mod_list (dpi, mods, suffix)
hold_dpt = dpi->templates;
dpi->templates = mods->templates;
- if (mods->mod->type == D_COMP_FUNCTION_TYPE)
+ if (mods->mod->type == DEMANGLE_COMPONENT_FUNCTION_TYPE)
{
d_print_function_type (dpi, mods->mod, mods->next);
dpi->templates = hold_dpt;
return;
}
- else if (mods->mod->type == D_COMP_ARRAY_TYPE)
+ else if (mods->mod->type == DEMANGLE_COMPONENT_ARRAY_TYPE)
{
d_print_array_type (dpi, mods->mod, mods->next);
dpi->templates = hold_dpt;
return;
}
- else if (mods->mod->type == D_COMP_LOCAL_NAME)
+ else if (mods->mod->type == DEMANGLE_COMPONENT_LOCAL_NAME)
{
struct d_print_mod *hold_modifiers;
- struct d_comp *dc;
+ struct demangle_component *dc;
/* When this is on the modifier stack, we have pulled any
qualifiers off the right argument already. Otherwise, we
@@ -3236,9 +3465,9 @@ d_print_mod_list (dpi, mods, suffix)
d_append_char (dpi, '.');
dc = d_right (mods->mod);
- while (dc->type == D_COMP_RESTRICT_THIS
- || dc->type == D_COMP_VOLATILE_THIS
- || dc->type == D_COMP_CONST_THIS)
+ while (dc->type == DEMANGLE_COMPONENT_RESTRICT_THIS
+ || dc->type == DEMANGLE_COMPONENT_VOLATILE_THIS
+ || dc->type == DEMANGLE_COMPONENT_CONST_THIS)
dc = d_left (dc);
d_print_comp (dpi, dc);
@@ -3259,47 +3488,47 @@ d_print_mod_list (dpi, mods, suffix)
static void
d_print_mod (dpi, mod)
struct d_print_info *dpi;
- const struct d_comp *mod;
+ const struct demangle_component *mod;
{
switch (mod->type)
{
- case D_COMP_RESTRICT:
- case D_COMP_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_RESTRICT:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
d_append_string_constant (dpi, " restrict");
return;
- case D_COMP_VOLATILE:
- case D_COMP_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
d_append_string_constant (dpi, " volatile");
return;
- case D_COMP_CONST:
- case D_COMP_CONST_THIS:
+ case DEMANGLE_COMPONENT_CONST:
+ case DEMANGLE_COMPONENT_CONST_THIS:
d_append_string_constant (dpi, " const");
return;
- case D_COMP_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
d_append_char (dpi, ' ');
d_print_comp (dpi, d_right (mod));
return;
- case D_COMP_POINTER:
+ case DEMANGLE_COMPONENT_POINTER:
/* There is no pointer symbol in Java. */
if ((dpi->options & DMGL_JAVA) == 0)
d_append_char (dpi, '*');
return;
- case D_COMP_REFERENCE:
+ case DEMANGLE_COMPONENT_REFERENCE:
d_append_char (dpi, '&');
return;
- case D_COMP_COMPLEX:
+ case DEMANGLE_COMPONENT_COMPLEX:
d_append_string_constant (dpi, "complex ");
return;
- case D_COMP_IMAGINARY:
+ case DEMANGLE_COMPONENT_IMAGINARY:
d_append_string_constant (dpi, "imaginary ");
return;
- case D_COMP_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
if (d_last_char (dpi) != '(')
d_append_char (dpi, ' ');
d_print_comp (dpi, d_left (mod));
d_append_string_constant (dpi, "::*");
return;
- case D_COMP_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TYPED_NAME:
d_print_comp (dpi, d_left (mod));
return;
default:
@@ -3315,7 +3544,7 @@ d_print_mod (dpi, mod)
static void
d_print_function_type (dpi, dc, mods)
struct d_print_info *dpi;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
struct d_print_mod *mods;
{
int need_paren;
@@ -3333,20 +3562,20 @@ d_print_function_type (dpi, dc, mods)
saw_mod = 1;
switch (p->mod->type)
{
- case D_COMP_RESTRICT:
- case D_COMP_VOLATILE:
- case D_COMP_CONST:
- case D_COMP_VENDOR_TYPE_QUAL:
- case D_COMP_POINTER:
- case D_COMP_REFERENCE:
- case D_COMP_COMPLEX:
- case D_COMP_IMAGINARY:
- case D_COMP_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_RESTRICT:
+ case DEMANGLE_COMPONENT_VOLATILE:
+ case DEMANGLE_COMPONENT_CONST:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_POINTER:
+ case DEMANGLE_COMPONENT_REFERENCE:
+ case DEMANGLE_COMPONENT_COMPLEX:
+ case DEMANGLE_COMPONENT_IMAGINARY:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
need_paren = 1;
break;
- case D_COMP_RESTRICT_THIS:
- case D_COMP_VOLATILE_THIS:
- case D_COMP_CONST_THIS:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
break;
default:
break;
@@ -3400,7 +3629,7 @@ d_print_function_type (dpi, dc, mods)
static void
d_print_array_type (dpi, dc, mods)
struct d_print_info *dpi;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
struct d_print_mod *mods;
{
int need_space;
@@ -3417,7 +3646,7 @@ d_print_array_type (dpi, dc, mods)
if (p->printed)
break;
- if (p->mod->type == D_COMP_ARRAY_TYPE)
+ if (p->mod->type == DEMANGLE_COMPONENT_ARRAY_TYPE)
{
need_space = 0;
break;
@@ -3455,9 +3684,9 @@ d_print_array_type (dpi, dc, mods)
static void
d_print_expr_op (dpi, dc)
struct d_print_info *dpi;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
{
- if (dc->type == D_COMP_OPERATOR)
+ if (dc->type == DEMANGLE_COMPONENT_OPERATOR)
d_append_buffer (dpi, dc->u.s_operator.op->name,
dc->u.s_operator.op->len);
else
@@ -3469,9 +3698,9 @@ d_print_expr_op (dpi, dc)
static void
d_print_cast (dpi, dc)
struct d_print_info *dpi;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
{
- if (d_left (dc)->type != D_COMP_TEMPLATE)
+ if (d_left (dc)->type != DEMANGLE_COMPONENT_TEMPLATE)
d_print_comp (dpi, d_left (dc));
else
{
@@ -3511,8 +3740,9 @@ d_print_cast (dpi, dc)
/* Initialize the information structure we use to pass around
information. */
-static void
-d_init_info (mangled, options, len, di)
+CP_STATIC_IF_GLIBCPP_V3
+void
+cplus_demangle_init_info (mangled, options, len, di)
const char *mangled;
int options;
size_t len;
@@ -3541,60 +3771,6 @@ d_init_info (mangled, options, len, di)
di->expansion = 0;
}
-/* Allocate and initialize a d_info structure. The demangler bypasses
- this in order to allocate everything on the stack, for speed. */
-
-struct d_info *
-cp_v3_d_init_info_alloc (mangled, options, len)
- const char *mangled;
- int options;
- size_t len;
-{
- struct d_info *di;
-
- di = (struct d_info *) malloc (sizeof (struct d_info));
- if (di == NULL)
- return NULL;
-
- d_init_info (mangled, options, len, di);
- di->comps = (struct d_comp *) malloc (di->num_comps
- * sizeof (struct d_comp));
- if (di->comps == NULL)
- {
- free (di);
- return NULL;
- }
-
- if (mangled != NULL)
- {
- di->subs = (struct d_comp **) malloc (di->num_subs
- * sizeof (struct d_comp *));
- if (di->subs == NULL)
- {
- free (di->comps);
- free (di);
- return NULL;
- }
- }
- else
- di->subs = NULL;
-
- return di;
-}
-
-/* Release a d_info structure, as allocated by cp_v3_d_init_info_alloc. */
-
-void
-cp_v3_d_free_info (di)
- struct d_info *di;
-{
- if (di->comps != NULL)
- free (di->comps);
- if (di->subs != NULL)
- free (di->subs);
- free (di);
-}
-
/* Entry point for the demangler. If MANGLED is a g++ v3 ABI mangled
name, return a buffer allocated with malloc holding the demangled
name. OPTIONS is the usual libiberty demangler options. On
@@ -3611,7 +3787,7 @@ d_demangle (mangled, options, palc)
size_t len;
int type;
struct d_info di;
- struct d_comp *dc;
+ struct demangle_component *dc;
int estimate;
char *ret;
@@ -3648,20 +3824,20 @@ d_demangle (mangled, options, palc)
type = 1;
}
- d_init_info (mangled, options, len, &di);
+ cplus_demangle_init_info (mangled, options, len, &di);
{
#ifdef CP_DYNAMIC_ARRAYS
- __extension__ struct d_comp comps[di.num_comps];
- __extension__ struct d_comp *subs[di.num_subs];
+ __extension__ struct demangle_component comps[di.num_comps];
+ __extension__ struct demangle_component *subs[di.num_subs];
di.comps = &comps[0];
di.subs = &subs[0];
#else
- di.comps = (struct d_comp *) malloc (di.num_comps
- * sizeof (struct d_comp));
- di.subs = (struct d_comp **) malloc (di.num_subs
- * sizeof (struct d_comp *));
+ di.comps = ((struct demangle_component *)
+ malloc (di.num_comps * sizeof (struct demangle_component)));
+ di.subs = ((struct demangle_component **)
+ malloc (di.num_subs * sizeof (struct demangle_component *)));
if (di.comps == NULL || di.subs == NULL)
{
if (di.comps != NULL)
@@ -3674,9 +3850,9 @@ d_demangle (mangled, options, palc)
#endif
if (! type)
- dc = d_mangled_name (&di, 1);
+ dc = cplus_demangle_mangled_name (&di, 1);
else
- dc = d_type (&di);
+ dc = cplus_demangle_type (&di);
/* If DMGL_PARAMS is set, then if we didn't consume the entire
mangled string, then we didn't successfully demangle it. If
@@ -3699,7 +3875,7 @@ d_demangle (mangled, options, palc)
ret = NULL;
if (dc != NULL)
- ret = cp_v3_d_print (options, dc, estimate, palc);
+ ret = cplus_demangle_print (options, dc, estimate, palc);
#ifndef CP_DYNAMIC_ARRAYS
free (di.comps);
@@ -3900,38 +4076,37 @@ is_ctor_or_dtor (mangled, ctor_kind, dtor_kind)
enum gnu_v3_dtor_kinds *dtor_kind;
{
struct d_info di;
- struct d_comp *dc;
+ struct demangle_component *dc;
int ret;
*ctor_kind = (enum gnu_v3_ctor_kinds) 0;
*dtor_kind = (enum gnu_v3_dtor_kinds) 0;
- d_init_info (mangled, DMGL_GNU_V3, strlen (mangled), &di);
+ cplus_demangle_init_info (mangled, DMGL_GNU_V3, strlen (mangled), &di);
{
#ifdef CP_DYNAMIC_ARRAYS
- __extension__ struct d_comp comps[di.num_comps];
- __extension__ struct d_comp *subs[di.num_subs];
+ __extension__ struct demangle_component comps[di.num_comps];
+ __extension__ struct demangle_component *subs[di.num_subs];
di.comps = &comps[0];
di.subs = &subs[0];
#else
- di.comps = (struct d_comp *) malloc (di.num_comps
- * sizeof (struct d_comp));
- di.subs = (struct d_comp **) malloc (di.num_subs
- * sizeof (struct d_comp *));
+ di.comps = ((struct demangle_component *)
+ malloc (di.num_comps * sizeof (struct demangle_component)));
+ di.subs = ((struct demangle_component **)
+ malloc (di.num_subs * sizeof (struct demangle_component *)));
if (di.comps == NULL || di.subs == NULL)
{
if (di.comps != NULL)
free (di.comps);
if (di.subs != NULL)
free (di.subs);
- *palc = 1;
- return NULL;
+ return 0;
}
#endif
- dc = d_mangled_name (&di, 1);
+ dc = cplus_demangle_mangled_name (&di, 1);
/* Note that because we did not pass DMGL_PARAMS, we don't expect
to demangle the entire string. */
@@ -3944,23 +4119,23 @@ is_ctor_or_dtor (mangled, ctor_kind, dtor_kind)
default:
dc = NULL;
break;
- case D_COMP_TYPED_NAME:
- case D_COMP_TEMPLATE:
- case D_COMP_RESTRICT_THIS:
- case D_COMP_VOLATILE_THIS:
- case D_COMP_CONST_THIS:
+ case DEMANGLE_COMPONENT_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TEMPLATE:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
dc = d_left (dc);
break;
- case D_COMP_QUAL_NAME:
- case D_COMP_LOCAL_NAME:
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
dc = d_right (dc);
break;
- case D_COMP_CTOR:
+ case DEMANGLE_COMPONENT_CTOR:
*ctor_kind = dc->u.s_ctor.kind;
ret = 1;
dc = NULL;
break;
- case D_COMP_DTOR:
+ case DEMANGLE_COMPONENT_DTOR:
*dtor_kind = dc->u.s_dtor.kind;
ret = 1;
dc = NULL;
diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h
new file mode 100644
index 00000000000..d3c57ce3766
--- /dev/null
+++ b/libiberty/cp-demangle.h
@@ -0,0 +1,139 @@
+/* Internal demangler interface for g++ V3 ABI.
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor <ian@wasabisystems.com>.
+
+ This file is part of the libiberty library, which is part of GCC.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ In addition to the permissions in the GNU General Public License, the
+ Free Software Foundation gives you unlimited permission to link the
+ compiled version of this file into combinations with other programs,
+ and to distribute those combinations without any restriction coming
+ from the use of this file. (The General Public License restrictions
+ do apply in other respects; for example, they cover modification of
+ the file, and distribution when not linked into a combined
+ executable.)
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+/* This file provides some definitions shared by cp-demangle.c and
+ cp-demint.c. It should not be included by any other files. */
+
+/* Information we keep for operators. */
+
+struct demangle_operator_info
+{
+ /* Mangled name. */
+ const char *code;
+ /* Real name. */
+ const char *name;
+ /* Length of real name. */
+ int len;
+ /* Number of arguments. */
+ int args;
+};
+
+/* How to print the value of a builtin type. */
+
+enum d_builtin_type_print
+{
+ /* Print as (type)val. */
+ D_PRINT_DEFAULT,
+ /* Print as integer. */
+ D_PRINT_INT,
+ /* Print as long, with trailing `l'. */
+ D_PRINT_LONG,
+ /* Print as bool. */
+ D_PRINT_BOOL,
+ /* Print in usual way, but here to detect void. */
+ D_PRINT_VOID
+};
+
+/* Information we keep for a builtin type. */
+
+struct demangle_builtin_type_info
+{
+ /* Type name. */
+ const char *name;
+ /* Length of type name. */
+ int len;
+ /* Type name when using Java. */
+ const char *java_name;
+ /* Length of java name. */
+ int java_len;
+ /* How to print a value of this type. */
+ enum d_builtin_type_print print;
+};
+
+/* The information structure we pass around. */
+
+struct d_info
+{
+ /* The string we are demangling. */
+ const char *s;
+ /* The end of the string we are demangling. */
+ const char *send;
+ /* The options passed to the demangler. */
+ int options;
+ /* The next character in the string to consider. */
+ const char *n;
+ /* The array of components. */
+ struct demangle_component *comps;
+ /* The index of the next available component. */
+ int next_comp;
+ /* The number of available component structures. */
+ int num_comps;
+ /* The array of substitutions. */
+ struct demangle_component **subs;
+ /* The index of the next substitution. */
+ int next_sub;
+ /* The number of available entries in the subs array. */
+ int num_subs;
+ /* The number of substitutions which we actually made from the subs
+ array, plus the number of template parameter references we
+ saw. */
+ int did_subs;
+ /* The last name we saw, for constructors and destructors. */
+ struct demangle_component *last_name;
+ /* A running total of the length of large expansions from the
+ mangled name to the demangled name, such as standard
+ substitutions and builtin types. */
+ int expansion;
+};
+
+#define d_peek_char(di) (*((di)->n))
+#define d_peek_next_char(di) ((di)->n[1])
+#define d_advance(di, i) ((di)->n += (i))
+#define d_next_char(di) (*((di)->n++))
+#define d_str(di) ((di)->n)
+
+/* Functions and arrays in cp-demangle.c which are referenced by
+ functions in cp-demint.c. */
+
+extern const struct demangle_operator_info cplus_demangle_operators[];
+
+#define D_BUILTIN_TYPE_COUNT (26)
+
+extern const struct demangle_builtin_type_info
+cplus_demangle_builtin_types[D_BUILTIN_TYPE_COUNT];
+
+extern struct demangle_component *
+cplus_demangle_mangled_name PARAMS ((struct d_info *, int));
+
+extern struct demangle_component *
+cplus_demangle_type PARAMS ((struct d_info *));
+
+extern void
+cplus_demangle_init_info PARAMS ((const char *, int, size_t, struct d_info *));
diff --git a/libiberty/cp-demint.c b/libiberty/cp-demint.c
new file mode 100644
index 00000000000..833e89e7a90
--- /dev/null
+++ b/libiberty/cp-demint.c
@@ -0,0 +1,241 @@
+/* Demangler component interface functions.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor <ian@wasabisystems.com>.
+
+ This file is part of the libiberty library, which is part of GCC.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ In addition to the permissions in the GNU General Public License, the
+ Free Software Foundation gives you unlimited permission to link the
+ compiled version of this file into combinations with other programs,
+ and to distribute those combinations without any restriction coming
+ from the use of this file. (The General Public License restrictions
+ do apply in other respects; for example, they cover modification of
+ the file, and distribution when not linked into a combined
+ executable.)
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+/* This file implements a few interface functions which are provided
+ for use with struct demangle_component trees. These functions are
+ declared in demangle.h. These functions are closely tied to the
+ demangler code in cp-demangle.c, and other interface functions can
+ be found in that file. We put these functions in a separate file
+ because they are not needed by the demangler, and so we avoid
+ having them pulled in by programs which only need the
+ demangler. */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#include "ansidecl.h"
+#include "libiberty.h"
+#include "demangle.h"
+#include "cp-demangle.h"
+
+/* Fill in most component types. */
+
+int
+cplus_demangle_fill_component (p, type, left, right)
+ struct demangle_component *p;
+ enum demangle_component_type type;
+ struct demangle_component *left;
+ struct demangle_component *right;
+{
+ if (p == NULL)
+ return 0;
+ switch (type)
+ {
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
+ case DEMANGLE_COMPONENT_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TEMPLATE:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_FUNCTION_TYPE:
+ case DEMANGLE_COMPONENT_ARRAY_TYPE:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_ARGLIST:
+ case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
+ case DEMANGLE_COMPONENT_UNARY:
+ case DEMANGLE_COMPONENT_BINARY:
+ case DEMANGLE_COMPONENT_BINARY_ARGS:
+ case DEMANGLE_COMPONENT_TRINARY:
+ case DEMANGLE_COMPONENT_TRINARY_ARG1:
+ case DEMANGLE_COMPONENT_TRINARY_ARG2:
+ case DEMANGLE_COMPONENT_LITERAL:
+ case DEMANGLE_COMPONENT_LITERAL_NEG:
+ break;
+
+ /* These component types only have one subtree. */
+ case DEMANGLE_COMPONENT_VTABLE:
+ case DEMANGLE_COMPONENT_VTT:
+ case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
+ case DEMANGLE_COMPONENT_TYPEINFO:
+ case DEMANGLE_COMPONENT_TYPEINFO_NAME:
+ case DEMANGLE_COMPONENT_TYPEINFO_FN:
+ case DEMANGLE_COMPONENT_THUNK:
+ case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
+ case DEMANGLE_COMPONENT_COVARIANT_THUNK:
+ case DEMANGLE_COMPONENT_JAVA_CLASS:
+ case DEMANGLE_COMPONENT_GUARD:
+ case DEMANGLE_COMPONENT_REFTEMP:
+ case DEMANGLE_COMPONENT_RESTRICT:
+ case DEMANGLE_COMPONENT_VOLATILE:
+ case DEMANGLE_COMPONENT_CONST:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
+ case DEMANGLE_COMPONENT_POINTER:
+ case DEMANGLE_COMPONENT_REFERENCE:
+ case DEMANGLE_COMPONENT_COMPLEX:
+ case DEMANGLE_COMPONENT_IMAGINARY:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE:
+ case DEMANGLE_COMPONENT_CAST:
+ if (right != NULL)
+ return 0;
+ break;
+
+ default:
+ /* Other types do not use subtrees. */
+ return 0;
+ }
+
+ p->type = type;
+ p->u.s_binary.left = left;
+ p->u.s_binary.right = right;
+
+ return 1;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_BUILTIN_TYPE. */
+
+int
+cplus_demangle_fill_builtin_type (p, typename)
+ struct demangle_component *p;
+ const char *typename;
+{
+ int len;
+ unsigned int i;
+
+ if (p == NULL || typename == NULL)
+ return 0;
+ len = strlen (typename);
+ for (i = 0; i < D_BUILTIN_TYPE_COUNT; ++i)
+ {
+ if (len == cplus_demangle_builtin_types[i].len
+ && strcmp (typename, cplus_demangle_builtin_types[i].name) == 0)
+ {
+ p->type = DEMANGLE_COMPONENT_BUILTIN_TYPE;
+ p->u.s_builtin.type = &cplus_demangle_builtin_types[i];
+ return 1;
+ }
+ }
+ return 0;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_OPERATOR. */
+
+int
+cplus_demangle_fill_operator (p, opname, args)
+ struct demangle_component *p;
+ const char *opname;
+ int args;
+{
+ int len;
+ unsigned int i;
+
+ if (p == NULL || opname == NULL)
+ return 0;
+ len = strlen (opname);
+ for (i = 0; cplus_demangle_operators[i].name != NULL; ++i)
+ {
+ if (len == cplus_demangle_operators[i].len
+ && args == cplus_demangle_operators[i].args
+ && strcmp (opname, cplus_demangle_operators[i].name) == 0)
+ {
+ p->type = DEMANGLE_COMPONENT_OPERATOR;
+ p->u.s_operator.op = &cplus_demangle_operators[i];
+ return 1;
+ }
+ }
+ return 0;
+}
+
+/* Translate a mangled name into components. */
+
+struct demangle_component *
+cplus_demangle_v3_components (mangled, options, mem)
+ const char *mangled;
+ int options;
+ void **mem;
+{
+ size_t len;
+ int type;
+ struct d_info di;
+ struct demangle_component *dc;
+
+ len = strlen (mangled);
+
+ if (mangled[0] == '_' && mangled[1] == 'Z')
+ type = 0;
+ else
+ {
+ if ((options & DMGL_TYPES) == 0)
+ return NULL;
+ type = 1;
+ }
+
+ cplus_demangle_init_info (mangled, options, len, &di);
+
+ di.comps = ((struct demangle_component *)
+ malloc (di.num_comps * sizeof (struct demangle_component)));
+ di.subs = ((struct demangle_component **)
+ malloc (di.num_subs * sizeof (struct demangle_component *)));
+ if (di.comps == NULL || di.subs == NULL)
+ {
+ if (di.comps != NULL)
+ free (di.comps);
+ if (di.subs != NULL)
+ free (di.subs);
+ return NULL;
+ }
+
+ if (! type)
+ dc = cplus_demangle_mangled_name (&di, 1);
+ else
+ dc = cplus_demangle_type (&di);
+
+ /* If DMGL_PARAMS is set, then if we didn't consume the entire
+ mangled string, then we didn't successfully demangle it. */
+ if ((options & DMGL_PARAMS) != 0 && d_peek_char (&di) != '\0')
+ dc = NULL;
+
+ free (di.subs);
+
+ if (dc != NULL)
+ *mem = di.comps;
+ else
+ free (di.comps);
+
+ return dc;
+}
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
index 5e2e7a7126c..f3c4464f184 100644
--- a/libiberty/cplus-dem.c
+++ b/libiberty/cplus-dem.c
@@ -1,6 +1,6 @@
/* Demangler for GNU C++
Copyright 1989, 1991, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001 Free Software Foundation, Inc.
+ 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.uucp)
Rewritten by Fred Fish (fnf@cygnus.com) for ARM and Lucid demangling
Modified by Satish Pai (pai@apollo.hp.com) for HP demangling
@@ -2318,6 +2318,7 @@ demangle_arm_hp_template (work, mangled, n, declp)
if (HP_DEMANGLING && ((*mangled)[n] == 'X'))
{
char *start_spec_args = NULL;
+ int hold_options;
/* First check for and omit template specialization pseudo-arguments,
such as in "Spec<#1,#1.*>" */
@@ -2330,6 +2331,12 @@ demangle_arm_hp_template (work, mangled, n, declp)
string_init (&arg);
if (work->temp_start == -1) /* non-recursive call */
work->temp_start = declp->p - declp->b;
+
+ /* We want to unconditionally demangle parameter types in
+ template parameters. */
+ hold_options = work->options;
+ work->options |= DMGL_PARAMS;
+
string_append (declp, "<");
while (1)
{
@@ -2376,17 +2383,25 @@ demangle_arm_hp_template (work, mangled, n, declp)
string_delete (&arg);
if (**mangled == '_')
(*mangled)++;
+ work->options = hold_options;
return;
}
/* ARM template? (Also handles HP cfront extensions) */
else if (arm_pt (work, *mangled, n, &p, &args))
{
+ int hold_options;
string type_str;
string_init (&arg);
string_appendn (declp, *mangled, p - *mangled);
if (work->temp_start == -1) /* non-recursive call */
work->temp_start = declp->p - declp->b;
+
+ /* We want to unconditionally demangle parameter types in
+ template parameters. */
+ hold_options = work->options;
+ work->options |= DMGL_PARAMS;
+
string_append (declp, "<");
/* should do error checking here */
while (args < e) {
@@ -2430,7 +2445,10 @@ demangle_arm_hp_template (work, mangled, n, declp)
/* Fail if we didn't make any progress: prevent infinite loop. */
if (args == old_args)
- return;
+ {
+ work->options = hold_options;
+ return;
+ }
}
}
string_appends (declp, &arg);
@@ -2441,6 +2459,7 @@ demangle_arm_hp_template (work, mangled, n, declp)
if (args >= e)
--declp->p; /* remove extra comma */
string_append (declp, ">");
+ work->options = hold_options;
}
else if (n>10 && strncmp (*mangled, "_GLOBAL_", 8) == 0
&& (*mangled)[9] == 'N'
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index dd36b7a24fd..25e88309b76 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -1,2571 +1,3223 @@
# This file holds test cases for the demangler.
-# Each test consists of three lines in succession.
-# The first line is arguments to pass to the test filter program.
-# The second line is the mangled string.
-# The third line is the expected output.
-# A line starting with `#' is ignore.
-# However blank lines in this file are NOT ignored.
-#
---format=gnu
+# Each test case looks like this:
+# options
+# input to be demangled
+# expected output
+#
+# Supported options:
+# --format=<name> Sets the demangling style.
+# --no-params There are two lines of expected output; the first
+# is with DMGL_PARAMS, the second is without it.
+# --is-v3-ctor Calls is_gnu_v3_mangled_ctor on input; expected
+# output is an integer representing ctor_kind.
+# --is-v3-dtor Likewise, but for dtors.
+#
+# For compatibility, just in case it matters, the options line may be
+# empty, to mean --format=auto. If it doesn't start with --, then it
+# may contain only a format name.
+#
+# A line starting with `#' is ignored.
+# However, blank lines in this file are NOT ignored.
+#
+--format=gnu --no-params
AddAlignment__9ivTSolverUiP12ivInteractorP7ivTGlue
ivTSolver::AddAlignment(unsigned int, ivInteractor *, ivTGlue *)
+ivTSolver::AddAlignment
#
---format=gnu
+--format=gnu --no-params
ArrowheadIntersects__9ArrowLineP9ArrowheadR6BoxObjP7Graphic
ArrowLine::ArrowheadIntersects(Arrowhead *, BoxObj &, Graphic *)
+ArrowLine::ArrowheadIntersects
#
---format=gnu
+--format=gnu --no-params
AtEnd__13ivRubberGroup
ivRubberGroup::AtEnd(void)
+ivRubberGroup::AtEnd
#
---format=gnu
+--format=gnu --no-params
BgFilter__9ivTSolverP12ivInteractor
ivTSolver::BgFilter(ivInteractor *)
+ivTSolver::BgFilter
#
---format=gnu
+--format=gnu --no-params
Check__6UArrayi
UArray::Check(int)
+UArray::Check
#
---format=gnu
+--format=gnu --no-params
CoreConstDecls__8TextCodeR7ostream
TextCode::CoreConstDecls(ostream &)
+TextCode::CoreConstDecls
#
---format=gnu
+--format=gnu --no-params
Detach__8StateVarP12StateVarView
StateVar::Detach(StateVarView *)
+StateVar::Detach
#
---format=gnu
+--format=gnu --no-params
Done__9ComponentG8Iterator
Component::Done(Iterator)
+Component::Done
#
---format=gnu
+--format=gnu --no-params
Effect__11RelateManipR7ivEvent
RelateManip::Effect(ivEvent &)
+RelateManip::Effect
#
---format=gnu
+--format=gnu --no-params
FindFixed__FRP4CNetP4CNet
FindFixed(CNet *&, CNet *)
+FindFixed
#
---format=gnu
+--format=gnu --no-params
Fix48_abort__FR8twolongs
Fix48_abort(twolongs &)
+Fix48_abort
#
---format=gnu
+--format=gnu --no-params
GetBarInfo__15iv2_6_VScrollerP13ivPerspectiveRiT2
iv2_6_VScroller::GetBarInfo(ivPerspective *, int &, int &)
+iv2_6_VScroller::GetBarInfo
#
---format=gnu
+--format=gnu --no-params
GetBgColor__C9ivPainter
ivPainter::GetBgColor(void) const
+ivPainter::GetBgColor
#
---format=gnu
+--format=gnu --no-params
InsertBody__15H_PullrightMenuii
H_PullrightMenu::InsertBody(int, int)
+H_PullrightMenu::InsertBody
#
---format=gnu
+--format=gnu --no-params
InsertCharacter__9TextManipc
TextManip::InsertCharacter(char)
+TextManip::InsertCharacter
#
---format=gnu
+--format=gnu --no-params
InsertToplevel__7ivWorldP12ivInteractorT1
ivWorld::InsertToplevel(ivInteractor *, ivInteractor *)
+ivWorld::InsertToplevel
#
---format=gnu
+--format=gnu --no-params
InsertToplevel__7ivWorldP12ivInteractorT1iiUi
ivWorld::InsertToplevel(ivInteractor *, ivInteractor *, int, int, unsigned int)
+ivWorld::InsertToplevel
#
---format=gnu
+--format=gnu --no-params
IsAGroup__FP11GraphicViewP11GraphicComp
IsAGroup(GraphicView *, GraphicComp *)
+IsAGroup
#
---format=gnu
+--format=gnu --no-params
IsA__10ButtonCodeUl
ButtonCode::IsA(unsigned long)
+ButtonCode::IsA
#
---format=gnu
+--format=gnu --no-params
ReadName__FR7istreamPc
ReadName(istream &, char *)
+ReadName
#
---format=gnu
+--format=gnu --no-params
Redraw__13StringBrowseriiii
StringBrowser::Redraw(int, int, int, int)
+StringBrowser::Redraw
#
---format=gnu
+--format=gnu --no-params
Rotate__13ivTransformerf
ivTransformer::Rotate(float)
+ivTransformer::Rotate
#
---format=gnu
+--format=gnu --no-params
Rotated__C13ivTransformerf
ivTransformer::Rotated(float) const
+ivTransformer::Rotated
#
---format=gnu
+--format=gnu --no-params
Round__Ff
Round(float)
+Round
#
---format=gnu
+--format=gnu --no-params
SetExport__16MemberSharedNameUi
MemberSharedName::SetExport(unsigned int)
+MemberSharedName::SetExport
#
---format=gnu
+--format=gnu --no-params
Set__14ivControlState13ControlStatusUi
ivControlState::Set(ControlStatus, unsigned int)
+ivControlState::Set
#
---format=gnu
+--format=gnu --no-params
Set__5DFacePcii
DFace::Set(char *, int, int)
+DFace::Set
#
---format=gnu
+--format=gnu --no-params
VConvert__9ivTSolverP12ivInteractorRP8TElementT2
ivTSolver::VConvert(ivInteractor *, TElement *&, TElement *&)
+ivTSolver::VConvert
#
---format=gnu
+--format=gnu --no-params
VConvert__9ivTSolverP7ivTGlueRP8TElement
ivTSolver::VConvert(ivTGlue *, TElement *&)
+ivTSolver::VConvert
#
---format=gnu
+--format=gnu --no-params
VOrder__9ivTSolverUiRP12ivInteractorT2
ivTSolver::VOrder(unsigned int, ivInteractor *&, ivInteractor *&)
+ivTSolver::VOrder
#
---format=gnu
+--format=gnu --no-params
_10PageButton$__both
PageButton::__both
+PageButton::__both
#
---format=gnu
+--format=gnu --no-params
_3RNG$singleMantissa
RNG::singleMantissa
+RNG::singleMantissa
#
---format=gnu
+--format=gnu --no-params
_5IComp$_release
IComp::_release
+IComp::_release
#
---format=gnu
+--format=gnu --no-params
_$_10BitmapComp
BitmapComp::~BitmapComp(void)
+BitmapComp::~BitmapComp
#
---format=gnu
+--format=gnu --no-params
_$_9__io_defs
__io_defs::~__io_defs(void)
+__io_defs::~__io_defs
#
---format=gnu
+--format=gnu --no-params
_$_Q23foo3bar
foo::bar::~bar(void)
+foo::bar::~bar
#
---format=gnu
+--format=gnu --no-params
_$_Q33foo3bar4bell
foo::bar::bell::~bell(void)
+foo::bar::bell::~bell
#
---format=gnu
+--format=gnu --no-params
__10ivTelltaleiP7ivGlyph
ivTelltale::ivTelltale(int, ivGlyph *)
+ivTelltale::ivTelltale
#
---format=gnu
+--format=gnu --no-params
__10ivViewportiP12ivInteractorUi
ivViewport::ivViewport(int, ivInteractor *, unsigned int)
+ivViewport::ivViewport
#
---format=gnu
+--format=gnu --no-params
__10ostrstream
ostrstream::ostrstream(void)
+ostrstream::ostrstream
#
---format=gnu
+--format=gnu --no-params
__10ostrstreamPcii
ostrstream::ostrstream(char *, int, int)
+ostrstream::ostrstream
#
---format=gnu
+--format=gnu --no-params
__11BitmapTablei
BitmapTable::BitmapTable(int)
+BitmapTable::BitmapTable
#
---format=gnu
+--format=gnu --no-params
__12ViewportCodeP12ViewportComp
ViewportCode::ViewportCode(ViewportComp *)
+ViewportCode::ViewportCode
#
---format=gnu
+--format=gnu --no-params
__12iv2_6_Borderii
iv2_6_Border::iv2_6_Border(int, int)
+iv2_6_Border::iv2_6_Border
#
---format=gnu
+--format=gnu --no-params
__12ivBreak_Listl
ivBreak_List::ivBreak_List(long)
+ivBreak_List::ivBreak_List
#
---format=gnu
+--format=gnu --no-params
__14iv2_6_MenuItemiP12ivInteractor
iv2_6_MenuItem::iv2_6_MenuItem(int, ivInteractor *)
+iv2_6_MenuItem::iv2_6_MenuItem
#
---format=gnu
+--format=gnu --no-params
__20DisplayList_IteratorR11DisplayList
DisplayList_Iterator::DisplayList_Iterator(DisplayList &)
+DisplayList_Iterator::DisplayList_Iterator
#
---format=gnu
+--format=gnu --no-params
__3fooRT0
foo::foo(foo &)
+foo::foo
#
---format=gnu
+--format=gnu --no-params
__3fooiN31
foo::foo(int, int, int, int)
+foo::foo
#
---format=gnu
+--format=gnu --no-params
__3fooiRT0iT2iT2
foo::foo(int, foo &, int, foo &, int, foo &)
+foo::foo
#
---format=gnu
+--format=gnu --no-params
__6KeyMapPT0
KeyMap::KeyMap(KeyMap *)
+KeyMap::KeyMap
#
---format=gnu
+--format=gnu --no-params
__8ArrowCmdP6EditorUiUi
ArrowCmd::ArrowCmd(Editor *, unsigned int, unsigned int)
+ArrowCmd::ArrowCmd
#
---format=gnu
+--format=gnu --no-params
__9F_EllipseiiiiP7Graphic
F_Ellipse::F_Ellipse(int, int, int, int, Graphic *)
+F_Ellipse::F_Ellipse
#
---format=gnu
+--format=gnu --no-params
__9FrameDataP9FrameCompi
FrameData::FrameData(FrameComp *, int)
+FrameData::FrameData
#
---format=gnu
+--format=gnu --no-params
__9HVGraphicP9CanvasVarP7Graphic
HVGraphic::HVGraphic(CanvasVar *, Graphic *)
+HVGraphic::HVGraphic
#
---format=gnu
+--format=gnu --no-params
__Q23foo3bar
foo::bar::bar(void)
+foo::bar::bar
#
---format=gnu
+--format=gnu --no-params
__Q33foo3bar4bell
foo::bar::bell::bell(void)
+foo::bar::bell::bell
#
---format=gnu
+--format=gnu --no-params
__aa__3fooRT0
foo::operator&&(foo &)
+foo::operator&&
#
---format=gnu
+--format=gnu --no-params
__aad__3fooRT0
foo::operator&=(foo &)
+foo::operator&=
#
---format=gnu
+--format=gnu --no-params
__ad__3fooRT0
foo::operator&(foo &)
+foo::operator&
#
---format=gnu
+--format=gnu --no-params
__adv__3fooRT0
foo::operator/=(foo &)
+foo::operator/=
#
---format=gnu
+--format=gnu --no-params
__aer__3fooRT0
foo::operator^=(foo &)
+foo::operator^=
#
---format=gnu
+--format=gnu --no-params
__als__3fooRT0
foo::operator<<=(foo &)
+foo::operator<<=
#
---format=gnu
+--format=gnu --no-params
__amd__3fooRT0
foo::operator%=(foo &)
+foo::operator%=
#
---format=gnu
+--format=gnu --no-params
__ami__3fooRT0
foo::operator-=(foo &)
+foo::operator-=
#
---format=gnu
+--format=gnu --no-params
__aml__3FixRT0
Fix::operator*=(Fix &)
+Fix::operator*=
#
---format=gnu
+--format=gnu --no-params
__aml__5Fix16i
Fix16::operator*=(int)
+Fix16::operator*=
#
---format=gnu
+--format=gnu --no-params
__aml__5Fix32RT0
Fix32::operator*=(Fix32 &)
+Fix32::operator*=
#
---format=gnu
+--format=gnu --no-params
__aor__3fooRT0
foo::operator|=(foo &)
+foo::operator|=
#
---format=gnu
+--format=gnu --no-params
__apl__3fooRT0
foo::operator+=(foo &)
+foo::operator+=
#
---format=gnu
+--format=gnu --no-params
__ars__3fooRT0
foo::operator>>=(foo &)
+foo::operator>>=
#
---format=gnu
+--format=gnu --no-params
__as__3fooRT0
foo::operator=(foo &)
+foo::operator=
#
---format=gnu
+--format=gnu --no-params
__cl__3fooRT0
foo::operator()(foo &)
+foo::operator()
#
---format=gnu
+--format=gnu --no-params
__cl__6Normal
Normal::operator()(void)
+Normal::operator()
#
---format=gnu
+--format=gnu --no-params
__cl__6Stringii
String::operator()(int, int)
+String::operator()
#
---format=gnu
+--format=gnu --no-params
__cm__3fooRT0
foo::operator, (foo &)
+foo::operator,
#
---format=gnu
+--format=gnu --no-params
__co__3foo
foo::operator~(void)
+foo::operator~
#
---format=gnu
+--format=gnu --no-params
__dl__3fooPv
foo::operator delete(void *)
+foo::operator delete
#
---format=gnu
+--format=gnu --no-params
__dv__3fooRT0
foo::operator/(foo &)
+foo::operator/
#
---format=gnu
+--format=gnu --no-params
__eq__3fooRT0
foo::operator==(foo &)
+foo::operator==
#
---format=gnu
+--format=gnu --no-params
__er__3fooRT0
foo::operator^(foo &)
+foo::operator^
#
---format=gnu
+--format=gnu --no-params
__ge__3fooRT0
foo::operator>=(foo &)
+foo::operator>=
#
---format=gnu
+--format=gnu --no-params
__gt__3fooRT0
foo::operator>(foo &)
+foo::operator>
#
---format=gnu
+--format=gnu --no-params
__le__3fooRT0
foo::operator<=(foo &)
+foo::operator<=
#
---format=gnu
+--format=gnu --no-params
__ls__3fooRT0
foo::operator<<(foo &)
+foo::operator<<
#
---format=gnu
+--format=gnu --no-params
__ls__FR7ostreamPFR3ios_R3ios
operator<<(ostream &, ios &(*)(ios &))
+operator<<
#
---format=gnu
+--format=gnu --no-params
__ls__FR7ostreamR3Fix
operator<<(ostream &, Fix &)
+operator<<
#
---format=gnu
+--format=gnu --no-params
__lt__3fooRT0
foo::operator<(foo &)
+foo::operator<
#
---format=gnu
+--format=gnu --no-params
__md__3fooRT0
foo::operator%(foo &)
+foo::operator%
#
---format=gnu
+--format=gnu --no-params
__mi__3fooRT0
foo::operator-(foo &)
+foo::operator-
#
---format=gnu
+--format=gnu --no-params
__ml__3fooRT0
foo::operator*(foo &)
+foo::operator*
#
---format=gnu
+--format=gnu --no-params
__mm__3fooi
foo::operator--(int)
+foo::operator--
#
---format=gnu
+--format=gnu --no-params
__ne__3fooRT0
foo::operator!=(foo &)
+foo::operator!=
#
---format=gnu
+--format=gnu --no-params
__nt__3foo
foo::operator!(void)
+foo::operator!
#
---format=gnu
+--format=gnu --no-params
__nw__3fooi
foo::operator new(int)
+foo::operator new
#
---format=gnu
+--format=gnu --no-params
__oo__3fooRT0
foo::operator||(foo &)
+foo::operator||
#
---format=gnu
+--format=gnu --no-params
__opPc__3foo
foo::operator char *(void)
+foo::operator char *
#
---format=gnu
+--format=gnu --no-params
__opi__3foo
foo::operator int(void)
+foo::operator int
#
---format=gnu
+--format=gnu --no-params
__or__3fooRT0
foo::operator|(foo &)
+foo::operator|
#
---format=gnu
+--format=gnu --no-params
__pl__3fooRT0
foo::operator+(foo &)
+foo::operator+
#
---format=gnu
+--format=gnu --no-params
__pp__3fooi
foo::operator++(int)
+foo::operator++
#
---format=gnu
+--format=gnu --no-params
__rf__3foo
foo::operator->(void)
+foo::operator->
#
---format=gnu
+--format=gnu --no-params
__rm__3fooRT0
foo::operator->*(foo &)
+foo::operator->*
#
---format=gnu
+--format=gnu --no-params
__rs__3fooRT0
foo::operator>>(foo &)
+foo::operator>>
#
---format=gnu
+--format=gnu --no-params
_new_Fix__FUs
_new_Fix(unsigned short)
+_new_Fix
#
---format=gnu
+--format=gnu --no-params
_vt.foo
foo virtual table
+foo virtual table
#
---format=gnu
+--format=gnu --no-params
_vt.foo.bar
foo::bar virtual table
+foo::bar virtual table
#
---format=gnu
+--format=gnu --no-params
_vt$foo
foo virtual table
+foo virtual table
#
---format=gnu
+--format=gnu --no-params
_vt$foo$bar
foo::bar virtual table
+foo::bar virtual table
#
---format=gnu
+--format=gnu --no-params
append__7ivGlyphPT0
ivGlyph::append(ivGlyph *)
+ivGlyph::append
#
---format=gnu
+--format=gnu --no-params
clearok__FP7_win_sti
clearok(_win_st *, int)
+clearok
#
---format=gnu
+--format=gnu --no-params
complexfunc2__FPFPc_i
complexfunc2(int (*)(char *))
+complexfunc2
#
---format=gnu
+--format=gnu --no-params
complexfunc3__FPFPFPl_s_i
complexfunc3(int (*)(short (*)(long *)))
+complexfunc3
#
---format=gnu
+--format=gnu --no-params
complexfunc4__FPFPFPc_s_i
complexfunc4(int (*)(short (*)(char *)))
+complexfunc4
#
---format=gnu
+--format=gnu --no-params
complexfunc5__FPFPc_PFl_i
complexfunc5(int (*(*)(char *))(long))
+complexfunc5
#
---format=gnu
+--format=gnu --no-params
complexfunc6__FPFPi_PFl_i
complexfunc6(int (*(*)(int *))(long))
+complexfunc6
#
---format=gnu
+--format=gnu --no-params
complexfunc7__FPFPFPc_i_PFl_i
complexfunc7(int (*(*)(int (*)(char *)))(long))
+complexfunc7
#
---format=gnu
+--format=gnu --no-params
foo__FiN30
foo(int, int, int, int)
+foo
#
---format=gnu
+--format=gnu --no-params
foo__FiR3fooiT1iT1
foo(int, foo &, int, foo &, int, foo &)
+foo
#
---format=gnu
+--format=gnu --no-params
foo___3barl
bar::foo_(long)
+bar::foo_
#
---format=gnu
+--format=gnu --no-params
insert__15ivClippingStacklRP8_XRegion
ivClippingStack::insert(long, _XRegion *&)
+ivClippingStack::insert
#
---format=gnu
+--format=gnu --no-params
insert__16ChooserInfo_ListlR11ChooserInfo
ChooserInfo_List::insert(long, ChooserInfo &)
+ChooserInfo_List::insert
#
---format=gnu
+--format=gnu --no-params
insert__17FontFamilyRepListlRP15ivFontFamilyRep
FontFamilyRepList::insert(long, ivFontFamilyRep *&)
+FontFamilyRepList::insert
#
---format=gnu
+--format=gnu --no-params
leaveok__FP7_win_stc
leaveok(_win_st *, char)
+leaveok
#
---format=gnu
+--format=gnu --no-params
left_mover__C7ivMFKitP12ivAdjustableP7ivStyle
ivMFKit::left_mover(ivAdjustable *, ivStyle *) const
+ivMFKit::left_mover
#
---format=gnu
+--format=gnu --no-params
overload1arg__FSc
overload1arg(signed char)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__FUc
overload1arg(unsigned char)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__FUi
overload1arg(unsigned int)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__FUl
overload1arg(unsigned long)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__FUs
overload1arg(unsigned short)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fc
overload1arg(char)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fd
overload1arg(double)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Ff
overload1arg(float)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fi
overload1arg(int)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fl
overload1arg(long)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fs
overload1arg(short)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fv
overload1arg(void)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fi
overloadargs(int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fii
overloadargs(int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiii
overloadargs(int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiii
overloadargs(int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiii
overloadargs(int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiii
overloadargs(int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiiii
overloadargs(int, int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiiiii
overloadargs(int, int, int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiiiiii
overloadargs(int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiiiiiii
overloadargs(int, int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiiiiiiii
overloadargs(int, int, int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
poke__8ivRasterUlUlffff
ivRaster::poke(unsigned long, unsigned long, float, float, float, float)
+ivRaster::poke
#
---format=gnu
+--format=gnu --no-params
polar__Fdd
polar(double, double)
+polar
#
---format=gnu
+--format=gnu --no-params
scale__13ivTransformerff
ivTransformer::scale(float, float)
+ivTransformer::scale
#
---format=gnu
+--format=gnu --no-params
sgetn__7filebufPci
filebuf::sgetn(char *, int)
+filebuf::sgetn
#
---format=gnu
+--format=gnu --no-params
shift__FP5_FrepiT0
shift(_Frep *, int, _Frep *)
+shift
#
---format=gnu
+--format=gnu --no-params
test__C6BitSeti
BitSet::test(int) const
+BitSet::test
#
---format=gnu
+--format=gnu --no-params
test__C6BitSetii
BitSet::test(int, int) const
+BitSet::test
#
---format=gnu
+--format=gnu --no-params
text_source__8Documentl
Document::text_source(long)
+Document::text_source
#
---format=gnu
+--format=gnu --no-params
variance__6Erlangd
Erlang::variance(double)
+Erlang::variance
#
---format=gnu
+--format=gnu --no-params
view__14DocumentViewerP8ItemViewP11TabularItem
DocumentViewer::view(ItemView *, TabularItem *)
+DocumentViewer::view
#
---format=gnu
+--format=gnu --no-params
xy_extents__11ivExtensionffff
ivExtension::xy_extents(float, float, float, float)
+ivExtension::xy_extents
#
---format=gnu
+--format=gnu --no-params
zero__8osMemoryPvUi
osMemory::zero(void *, unsigned int)
+osMemory::zero
#
---format=gnu
+--format=gnu --no-params
_2T4$N
T4::N
+T4::N
#
---format=gnu
+--format=gnu --no-params
_Q22T42t1$N
T4::t1::N
+T4::t1::N
#
---format=gnu
+--format=gnu --no-params
get__2T1
T1::get(void)
+T1::get
#
---format=gnu
+--format=gnu --no-params
get__Q22T11a
T1::a::get(void)
+T1::a::get
#
---format=gnu
+--format=gnu --no-params
get__Q32T11a1b
T1::a::b::get(void)
+T1::a::b::get
#
---format=gnu
+--format=gnu --no-params
get__Q42T11a1b1c
T1::a::b::c::get(void)
+T1::a::b::c::get
#
---format=gnu
+--format=gnu --no-params
get__Q52T11a1b1c1d
T1::a::b::c::d::get(void)
+T1::a::b::c::d::get
#
---format=gnu
+--format=gnu --no-params
put__2T1i
T1::put(int)
+T1::put
#
---format=gnu
+--format=gnu --no-params
put__Q22T11ai
T1::a::put(int)
+T1::a::put
#
---format=gnu
+--format=gnu --no-params
put__Q32T11a1bi
T1::a::b::put(int)
+T1::a::b::put
#
---format=gnu
+--format=gnu --no-params
put__Q42T11a1b1ci
T1::a::b::c::put(int)
+T1::a::b::c::put
#
---format=gnu
+--format=gnu --no-params
put__Q52T11a1b1c1di
T1::a::b::c::d::put(int)
+T1::a::b::c::d::put
#
---format=gnu
+--format=gnu --no-params
bar__3fooPv
foo::bar(void *)
+foo::bar
#
---format=gnu
+--format=gnu --no-params
bar__C3fooPv
foo::bar(void *) const
+foo::bar
#
---format=gnu
+--format=gnu --no-params
__eq__3fooRT0
foo::operator==(foo &)
+foo::operator==
#
---format=gnu
+--format=gnu --no-params
__eq__C3fooR3foo
foo::operator==(foo &) const
+foo::operator==
#
---format=gnu
+--format=gnu --no-params
elem__t6vector1Zdi
vector<double>::elem(int)
+vector<double>::elem
#
---format=gnu
+--format=gnu --no-params
elem__t6vector1Zii
vector<int>::elem(int)
+vector<int>::elem
#
---format=gnu
+--format=gnu --no-params
__t6vector1Zdi
vector<double>::vector(int)
+vector<double>::vector
#
---format=gnu
+--format=gnu --no-params
__t6vector1Zii
vector<int>::vector(int)
+vector<int>::vector
#
---format=gnu
+--format=gnu --no-params
_$_t6vector1Zdi
vector<double>::~vector(int)
+vector<double>::~vector
#
---format=gnu
+--format=gnu --no-params
_$_t6vector1Zii
vector<int>::~vector(int)
+vector<int>::~vector
#
---format=gnu
+--format=gnu --no-params
__nw__t2T11ZcUi
T1<char>::operator new(unsigned int)
+T1<char>::operator new
#
---format=gnu
+--format=gnu --no-params
__nw__t2T11Z1tUi
T1<t>::operator new(unsigned int)
+T1<t>::operator new
#
---format=gnu
+--format=gnu --no-params
__dl__t2T11ZcPv
T1<char>::operator delete(void *)
+T1<char>::operator delete
#
---format=gnu
+--format=gnu --no-params
__dl__t2T11Z1tPv
T1<t>::operator delete(void *)
+T1<t>::operator delete
#
---format=gnu
+--format=gnu --no-params
__t2T11Zci
T1<char>::T1(int)
+T1<char>::T1
#
---format=gnu
+--format=gnu --no-params
__t2T11Zc
T1<char>::T1(void)
+T1<char>::T1
#
---format=gnu
+--format=gnu --no-params
__t2T11Z1ti
T1<t>::T1(int)
+T1<t>::T1
#
---format=gnu
+--format=gnu --no-params
__t2T11Z1t
T1<t>::T1(void)
+T1<t>::T1
#
---format=gnu
+--format=gnu --no-params
__Q2t4List1Z10VHDLEntity3Pix
List<VHDLEntity>::Pix::Pix(void)
+List<VHDLEntity>::Pix::Pix
#
---format=gnu
+--format=gnu --no-params
__Q2t4List1Z10VHDLEntity3PixPQ2t4List1Z10VHDLEntity7element
List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::element *)
+List<VHDLEntity>::Pix::Pix
#
---format=gnu
+--format=gnu --no-params
__Q2t4List1Z10VHDLEntity3PixRCQ2t4List1Z10VHDLEntity3Pix
List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::Pix const &)
+List<VHDLEntity>::Pix::Pix
#
---format=gnu
+--format=gnu --no-params
__Q2t4List1Z10VHDLEntity7elementRC10VHDLEntityPT0
List<VHDLEntity>::element::element(VHDLEntity const &, List<VHDLEntity>::element *)
+List<VHDLEntity>::element::element
#
---format=gnu
+--format=gnu --no-params
__Q2t4List1Z10VHDLEntity7elementRCQ2t4List1Z10VHDLEntity7element
List<VHDLEntity>::element::element(List<VHDLEntity>::element const &)
+List<VHDLEntity>::element::element
#
---format=gnu
+--format=gnu --no-params
__cl__C11VHDLLibraryGt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
VHDLLibrary::operator()(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >) const
+VHDLLibrary::operator()
#
---format=gnu
+--format=gnu --no-params
__cl__Ct4List1Z10VHDLEntityRCQ2t4List1Z10VHDLEntity3Pix
List<VHDLEntity>::operator()(List<VHDLEntity>::Pix const &) const
+List<VHDLEntity>::operator()
#
---format=gnu
+--format=gnu --no-params
__ne__FPvRCQ2t4List1Z10VHDLEntity3Pix
operator!=(void *, List<VHDLEntity>::Pix const &)
+operator!=
#
---format=gnu
+--format=gnu --no-params
__ne__FPvRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
operator!=(void *, PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)
+operator!=
#
---format=gnu
+--format=gnu --no-params
__t4List1Z10VHDLEntityRCt4List1Z10VHDLEntity
List<VHDLEntity>::List(List<VHDLEntity> const &)
+List<VHDLEntity>::List
#
---format=gnu
+--format=gnu --no-params
__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(void)
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
#
---format=gnu
+--format=gnu --no-params
__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityP14VHDLLibraryRepGQ2t4List1Z10VHDLEntity3Pix
PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(VHDLLibraryRep *, List<VHDLEntity>::Pix)
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
#
---format=gnu
+--format=gnu --no-params
__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
#
---format=gnu
+--format=gnu --no-params
nextE__C11VHDLLibraryRt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
VHDLLibrary::nextE(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > &) const
+VHDLLibrary::nextE
#
---format=gnu
+--format=gnu --no-params
next__Ct4List1Z10VHDLEntityRQ2t4List1Z10VHDLEntity3Pix
List<VHDLEntity>::next(List<VHDLEntity>::Pix &) const
+List<VHDLEntity>::next
#
---format=gnu
+--format=gnu --no-params
_GLOBAL_$D$set
global destructors keyed to set
+global destructors keyed to set
#
---format=gnu
+--format=gnu --no-params
_GLOBAL_$I$set
global constructors keyed to set
+global constructors keyed to set
#
---format=gnu
+--format=gnu --no-params
__as__t5ListS1ZUiRCt5ListS1ZUi
ListS<unsigned int>::operator=(ListS<unsigned int> const &)
+ListS<unsigned int>::operator=
#
---format=gnu
+--format=gnu --no-params
__cl__Ct5ListS1ZUiRCQ2t5ListS1ZUi3Vix
ListS<unsigned int>::operator()(ListS<unsigned int>::Vix const &) const
+ListS<unsigned int>::operator()
#
---format=gnu
+--format=gnu --no-params
__cl__Ct5SetLS1ZUiRCQ2t5SetLS1ZUi3Vix
SetLS<unsigned int>::operator()(SetLS<unsigned int>::Vix const &) const
+SetLS<unsigned int>::operator()
#
---format=gnu
+--format=gnu --no-params
__t10ListS_link1ZUiRCUiPT0
ListS_link<unsigned int>::ListS_link(unsigned int const &, ListS_link<unsigned int> *)
+ListS_link<unsigned int>::ListS_link
#
---format=gnu
+--format=gnu --no-params
__t10ListS_link1ZUiRCt10ListS_link1ZUi
ListS_link<unsigned int>::ListS_link(ListS_link<unsigned int> const &)
+ListS_link<unsigned int>::ListS_link
#
---format=gnu
+--format=gnu --no-params
__t5ListS1ZUiRCt5ListS1ZUi
ListS<unsigned int>::ListS(ListS<unsigned int> const &)
+ListS<unsigned int>::ListS
#
---format=gnu
+--format=gnu --no-params
next__Ct5ListS1ZUiRQ2t5ListS1ZUi3Vix
ListS<unsigned int>::next(ListS<unsigned int>::Vix &) const
+ListS<unsigned int>::next
#
---format=gnu
+--format=gnu --no-params
__ne__FPvRCQ2t5SetLS1ZUi3Vix
operator!=(void *, SetLS<unsigned int>::Vix const &)
+operator!=
#
---format=gnu
+--format=gnu --no-params
__t8ListElem1Z5LabelRt4List1Z5Label
ListElem<Label>::ListElem(List<Label> &)
+ListElem<Label>::ListElem
#
---format=gnu
+--format=gnu --no-params
__t8BDDHookV1ZPcRCPc
BDDHookV<char *>::BDDHookV(char *const &)
+BDDHookV<char *>::BDDHookV
#
---format=gnu
+--format=gnu --no-params
_vt$t8BDDHookV1ZPc
BDDHookV<char *> virtual table
+BDDHookV<char *> virtual table
#
---format=gnu
+--format=gnu --no-params
__ne__FPvRCQ211BDDFunction4VixB
operator!=(void *, BDDFunction::VixB const &)
+operator!=
#
---format=gnu
+--format=gnu --no-params
__eq__FPvRCQ211BDDFunction4VixB
operator==(void *, BDDFunction::VixB const &)
+operator==
#
---format=gnu
+--format=gnu --no-params
relativeId__CQ36T_phi210T_preserve8FPC_nextRCQ26T_phi210T_preserveRC10Parameters
T_phi2::T_preserve::FPC_next::relativeId(T_phi2::T_preserve const &, Parameters const &) const
+T_phi2::T_preserve::FPC_next::relativeId
#
---format=lucid
+--format=lucid --no-params
WS__FR7istream
WS(istream &)
+WS
#
---format=lucid
+--format=lucid --no-params
__aa__3fooFR3foo
foo::operator&&(foo &)
+foo::operator&&
#
---format=lucid
+--format=lucid --no-params
__aad__3fooFR3foo
foo::operator&=(foo &)
+foo::operator&=
#
---format=lucid
+--format=lucid --no-params
__ad__3fooFR3foo
foo::operator&(foo &)
+foo::operator&
#
---format=lucid
+--format=lucid --no-params
__adv__3fooFR3foo
foo::operator/=(foo &)
+foo::operator/=
#
---format=lucid
+--format=lucid --no-params
__adv__7complexF7complex
complex::operator/=(complex)
+complex::operator/=
#
---format=lucid
+--format=lucid --no-params
__aer__3fooFR3foo
foo::operator^=(foo &)
+foo::operator^=
#
---format=lucid
+--format=lucid --no-params
__als__3fooFR3foo
foo::operator<<=(foo &)
+foo::operator<<=
#
---format=lucid
+--format=lucid --no-params
__amd__3fooFR3foo
foo::operator%=(foo &)
+foo::operator%=
#
---format=lucid
+--format=lucid --no-params
__ami__3fooFR3foo
foo::operator-=(foo &)
+foo::operator-=
#
---format=lucid
+--format=lucid --no-params
__amu__3fooFR3foo
foo::operator*=(foo &)
+foo::operator*=
#
---format=lucid
+--format=lucid --no-params
__amu__7complexF7complex
complex::operator*=(complex)
+complex::operator*=
#
---format=lucid
+--format=lucid --no-params
__aor__3fooFR3foo
foo::operator|=(foo &)
+foo::operator|=
#
---format=lucid
+--format=lucid --no-params
__apl__3fooFR3foo
foo::operator+=(foo &)
+foo::operator+=
#
---format=lucid
+--format=lucid --no-params
__ars__3fooFR3foo
foo::operator>>=(foo &)
+foo::operator>>=
#
---format=lucid
+--format=lucid --no-params
__as__18istream_withassignFP9streambuf
istream_withassign::operator=(streambuf *)
+istream_withassign::operator=
#
---format=lucid
+--format=lucid --no-params
__as__18istream_withassignFR7istream
istream_withassign::operator=(istream &)
+istream_withassign::operator=
#
---format=lucid
+--format=lucid --no-params
__as__3fooFR3foo
foo::operator=(foo &)
+foo::operator=
#
---format=lucid
+--format=lucid --no-params
__as__3iosFR3ios
ios::operator=(ios &)
+ios::operator=
#
---format=lucid
+--format=lucid --no-params
__cl__3fooFR3foo
foo::operator()(foo &)
+foo::operator()
#
---format=lucid
+--format=lucid --no-params
__cm__3fooFR3foo
foo::operator, (foo &)
+foo::operator,
#
---format=lucid
+--format=lucid --no-params
__co__3fooFv
foo::operator~(void)
+foo::operator~
#
---format=lucid
+--format=lucid --no-params
__ct__10istrstreamFPc
istrstream::istrstream(char *)
+istrstream::istrstream
#
---format=lucid
+--format=lucid --no-params
__ct__10istrstreamFPci
istrstream::istrstream(char *, int)
+istrstream::istrstream
#
---format=lucid
+--format=lucid --no-params
__ct__10ostrstreamFPciT2
ostrstream::ostrstream(char *, int, int)
+ostrstream::ostrstream
#
---format=lucid
+--format=lucid --no-params
__ct__10ostrstreamFv
ostrstream::ostrstream(void)
+ostrstream::ostrstream
#
---format=lucid
+--format=lucid --no-params
__ct__10smanip_intFPFR3iosi_R3iosi
smanip_int::smanip_int(ios &(*)(ios &, int), int)
+smanip_int::smanip_int
#
---format=lucid
+--format=lucid --no-params
__ct__11fstreambaseFi
fstreambase::fstreambase(int)
+fstreambase::fstreambase
#
---format=lucid
+--format=lucid --no-params
__ct__11fstreambaseFiPcT1
fstreambase::fstreambase(int, char *, int)
+fstreambase::fstreambase
#
---format=lucid
+--format=lucid --no-params
__ct__11fstreambaseFv
fstreambase::fstreambase(void)
+fstreambase::fstreambase
#
---format=lucid
+--format=lucid --no-params
__ct__11smanip_longFPFR3iosl_R3iosl
smanip_long::smanip_long(ios &(*)(ios &, long), long)
+smanip_long::smanip_long
#
---format=lucid
+--format=lucid --no-params
__ct__11stdiostreamFP4FILE
stdiostream::stdiostream(FILE *)
+stdiostream::stdiostream
#
---format=lucid
+--format=lucid --no-params
__ct__12strstreambufFPFl_PvPFPv_v
strstreambuf::strstreambuf(void *(*)(long), void (*)(void *))
+strstreambuf::strstreambuf
#
---format=lucid
+--format=lucid --no-params
__ct__12strstreambufFPUciT1
strstreambuf::strstreambuf(unsigned char *, int, unsigned char *)
+strstreambuf::strstreambuf
#
---format=lucid
+--format=lucid --no-params
__ct__12strstreambufFPciT1
strstreambuf::strstreambuf(char *, int, char *)
+strstreambuf::strstreambuf
#
---format=lucid
+--format=lucid --no-params
__ct__12strstreambufFi
strstreambuf::strstreambuf(int)
+strstreambuf::strstreambuf
#
---format=lucid
+--format=lucid --no-params
__ct__12strstreambufFv
strstreambuf::strstreambuf(void)
+strstreambuf::strstreambuf
#
---format=lucid
+--format=lucid --no-params
__ct__13strstreambaseFPciT1
strstreambase::strstreambase(char *, int, char *)
+strstreambase::strstreambase
#
---format=lucid
+--format=lucid --no-params
__ct__3fooFR3foo
foo::foo(foo &)
+foo::foo
#
---format=lucid
+--format=lucid --no-params
__ct__3fooFi
foo::foo(int)
+foo::foo
#
---format=lucid
+--format=lucid --no-params
__ct__3fooFiN31
foo::foo(int, int, int, int)
+foo::foo
#
---format=lucid
+--format=lucid --no-params
__ct__3fooFiR3fooT1T2T1T2
foo::foo(int, foo &, int, foo &, int, foo &)
+foo::foo
#
---format=lucid
+--format=lucid --no-params
__ct__3iosFP9streambuf
ios::ios(streambuf *)
+ios::ios
#
---format=lucid
+--format=lucid --no-params
__ct__7filebufFiPcT1
filebuf::filebuf(int, char *, int)
+filebuf::filebuf
#
---format=lucid
+--format=lucid --no-params
__ct__7fstreamFiPcT1
fstream::fstream(int, char *, int)
+fstream::fstream
#
---format=lucid
+--format=lucid --no-params
__ct__7istreamFP9streambuf
istream::istream(streambuf *)
+istream::istream
#
---format=lucid
+--format=lucid --no-params
__ct__7istreamFP9streambufiP7ostream
istream::istream(streambuf *, int, ostream *)
+istream::istream
#
---format=lucid
+--format=lucid --no-params
__ct__7istreamFiPcT1
istream::istream(int, char *, int)
+istream::istream
#
---format=lucid
+--format=lucid --no-params
__ct__7istreamFiT1P7ostream
istream::istream(int, int, ostream *)
+istream::istream
#
---format=lucid
+--format=lucid --no-params
__ct__7ostreamFP9streambuf
ostream::ostream(streambuf *)
+ostream::ostream
#
---format=lucid
+--format=lucid --no-params
__ct__7ostreamFiPc
ostream::ostream(int, char *)
+ostream::ostream
#
---format=lucid
+--format=lucid --no-params
__ct__8ifstreamFiPcT1
ifstream::ifstream(int, char *, int)
+ifstream::ifstream
#
---format=lucid
+--format=lucid --no-params
__ct__Q23foo3barFv
foo::bar::bar(void)
+foo::bar::bar
#
---format=lucid
+--format=lucid --no-params
__ct__Q33foo3bar4bellFv
foo::bar::bell::bell(void)
+foo::bar::bell::bell
#
---format=lucid
+--format=lucid --no-params
__dl__3fooSFPv
foo::operator delete(void *) static
+foo::operator delete
#
---format=lucid
+--format=lucid --no-params
__dl__FPv
operator delete(void *)
+operator delete
#
---format=lucid
+--format=lucid --no-params
__dt__10istrstreamFv
istrstream::~istrstream(void)
+istrstream::~istrstream
#
---format=lucid
+--format=lucid --no-params
__dt__Q23foo3barFv
foo::bar::~bar(void)
+foo::bar::~bar
#
---format=lucid
+--format=lucid --no-params
__dt__Q33foo3bar4bellFv
foo::bar::bell::~bell(void)
+foo::bar::bell::~bell
#
---format=lucid
+--format=lucid --no-params
__dv__3fooFR3foo
foo::operator/(foo &)
+foo::operator/
#
---format=lucid
+--format=lucid --no-params
__dv__F7complexT1
operator/(complex, complex)
+operator/
#
---format=lucid
+--format=lucid --no-params
__eq__3fooFR3foo
foo::operator==(foo &)
+foo::operator==
#
---format=lucid
+--format=lucid --no-params
__er__3fooFR3foo
foo::operator^(foo &)
+foo::operator^
#
---format=lucid
+--format=lucid --no-params
__ge__3fooFR3foo
foo::operator>=(foo &)
+foo::operator>=
#
---format=lucid
+--format=lucid --no-params
__gt__3fooFR3foo
foo::operator>(foo &)
+foo::operator>
#
---format=lucid
+--format=lucid --no-params
__le__3fooFR3foo
foo::operator<=(foo &)
+foo::operator<=
#
---format=lucid
+--format=lucid --no-params
__ls__3fooFR3foo
foo::operator<<(foo &)
+foo::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFP9streambuf
ostream::operator<<(streambuf *)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFPFR3ios_R3ios
ostream::operator<<(ios &(*)(ios &))
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFPv
ostream::operator<<(void *)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFUi
ostream::operator<<(unsigned int)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFUl
ostream::operator<<(unsigned long)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFd
ostream::operator<<(double)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFf
ostream::operator<<(float)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFi
ostream::operator<<(int)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFl
ostream::operator<<(long)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__FR7ostream7complex
operator<<(ostream &, complex)
+operator<<
#
---format=lucid
+--format=lucid --no-params
__lt__3fooFR3foo
foo::operator<(foo &)
+foo::operator<
#
---format=lucid
+--format=lucid --no-params
__md__3fooFR3foo
foo::operator%(foo &)
+foo::operator%
#
---format=lucid
+--format=lucid --no-params
__mi__3fooFR3foo
foo::operator-(foo &)
+foo::operator-
#
---format=lucid
+--format=lucid --no-params
__ml__3fooFR3foo
foo::operator*(foo &)
+foo::operator*
#
---format=lucid
+--format=lucid --no-params
__ml__F7complexT1
operator*(complex, complex)
+operator*
#
---format=lucid
+--format=lucid --no-params
__mm__3fooFi
foo::operator--(int)
+foo::operator--
#
---format=lucid
+--format=lucid --no-params
__ne__3fooFR3foo
foo::operator!=(foo &)
+foo::operator!=
#
---format=lucid
+--format=lucid --no-params
__nt__3fooFv
foo::operator!(void)
+foo::operator!
#
---format=lucid
+--format=lucid --no-params
__nw__3fooSFi
foo::operator new(int) static
+foo::operator new
#
---format=lucid
+--format=lucid --no-params
__nw__FUi
operator new(unsigned int)
+operator new
#
---format=lucid
+--format=lucid --no-params
__nw__FUiPv
operator new(unsigned int, void *)
+operator new
#
---format=lucid
+--format=lucid --no-params
__oo__3fooFR3foo
foo::operator||(foo &)
+foo::operator||
#
---format=lucid
+--format=lucid --no-params
__opPc__3fooFv
foo::operator char *(void)
+foo::operator char *
#
---format=lucid
+--format=lucid --no-params
__opi__3fooFv
foo::operator int(void)
+foo::operator int
#
---format=lucid
+--format=lucid --no-params
__or__3fooFR3foo
foo::operator|(foo &)
+foo::operator|
#
---format=lucid
+--format=lucid --no-params
__pl__3fooFR3foo
foo::operator+(foo &)
+foo::operator+
#
---format=lucid
+--format=lucid --no-params
__pp__3fooFi
foo::operator++(int)
+foo::operator++
#
---format=lucid
+--format=lucid --no-params
__pt__3fooFv
foo::operator->(void)
+foo::operator->
#
---format=lucid
+--format=lucid --no-params
__rm__3fooFR3foo
foo::operator->*(foo &)
+foo::operator->*
#
---format=lucid
+--format=lucid --no-params
__rs__3fooFR3foo
foo::operator>>(foo &)
+foo::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFP9streambuf
istream::operator>>(streambuf *)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFPFR3ios_R3ios
istream::operator>>(ios &(*)(ios &))
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFPFR7istream_R7istream
istream::operator>>(istream &(*)(istream &))
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFPUc
istream::operator>>(unsigned char *)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFPc
istream::operator>>(char *)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRUi
istream::operator>>(unsigned int &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRUl
istream::operator>>(unsigned long &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRUs
istream::operator>>(unsigned short &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRd
istream::operator>>(double &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRf
istream::operator>>(float &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRi
istream::operator>>(int &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRl
istream::operator>>(long &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRs
istream::operator>>(short &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__FR7istreamR7complex
operator>>(istream &, complex &)
+operator>>
#
---format=lucid
+--format=lucid --no-params
__vtbl__10istrstream
istrstream virtual table
+istrstream virtual table
#
---format=lucid
+--format=lucid --no-params
__vtbl__17ostream__iostream__19iostream_withassign
iostream_withassign::ostream__iostream virtual table
+iostream_withassign::ostream__iostream virtual table
#
---format=lucid
+--format=lucid --no-params
__vtbl__3ios
ios virtual table
+ios virtual table
#
---format=lucid
+--format=lucid --no-params
__vtbl__3ios__13strstreambase
strstreambase::ios virtual table
+strstreambase::ios virtual table
#
---format=lucid
+--format=lucid --no-params
abs__F7complex
abs(complex)
+abs
#
---format=lucid
+--format=lucid --no-params
allocate__9streambufFv
streambuf::allocate(void)
+streambuf::allocate
#
---format=lucid
+--format=lucid --no-params
attach__11fstreambaseFi
fstreambase::attach(int)
+fstreambase::attach
#
---format=lucid
+--format=lucid --no-params
bitalloc__3iosSFv
ios::bitalloc(void) static
+ios::bitalloc
#
---format=lucid
+--format=lucid --no-params
chr__FiT1
chr(int, int)
+chr
#
---format=lucid
+--format=lucid --no-params
complex_error__FR11c_exception
complex_error(c_exception &)
+complex_error
#
---format=lucid
+--format=lucid --no-params
complexfunc2__FPFPc_i
complexfunc2(int (*)(char *))
+complexfunc2
#
---format=lucid
+--format=lucid --no-params
complexfunc3__FPFPFPl_s_i
complexfunc3(int (*)(short (*)(long *)))
+complexfunc3
#
---format=lucid
+--format=lucid --no-params
complexfunc4__FPFPFPc_s_i
complexfunc4(int (*)(short (*)(char *)))
+complexfunc4
#
---format=lucid
+--format=lucid --no-params
complexfunc5__FPFPc_PFl_i
complexfunc5(int (*(*)(char *))(long))
+complexfunc5
#
---format=lucid
+--format=lucid --no-params
complexfunc6__FPFPi_PFl_i
complexfunc6(int (*(*)(int *))(long))
+complexfunc6
#
---format=lucid
+--format=lucid --no-params
complexfunc7__FPFPFPc_i_PFl_i
complexfunc7(int (*(*)(int (*)(char *)))(long))
+complexfunc7
#
---format=lucid
+--format=lucid --no-params
complicated_put__7ostreamFc
ostream::complicated_put(char)
+ostream::complicated_put
#
---format=lucid
+--format=lucid --no-params
conv10__FlPc
conv10(long, char *)
+conv10
#
---format=lucid
+--format=lucid --no-params
conv16__FUlPc
conv16(unsigned long, char *)
+conv16
#
---format=lucid
+--format=lucid --no-params
dec__FR3ios
dec(ios &)
+dec
#
---format=lucid
+--format=lucid --no-params
dec__Fli
dec(long, int)
+dec
#
---format=lucid
+--format=lucid --no-params
dofield__FP7ostreamPciT2T3
dofield(ostream *, char *, int, char *, int)
+dofield
#
---format=lucid
+--format=lucid --no-params
flags__3iosFl
ios::flags(long)
+ios::flags
#
---format=lucid
+--format=lucid --no-params
flags__3iosFv
ios::flags(void)
+ios::flags
#
---format=lucid
+--format=lucid --no-params
foo__FiN31
foo(int, int, int, int)
+foo
#
---format=lucid
+--format=lucid --no-params
foo__FiR3fooT1T2T1T2
foo(int, foo &, int, foo &, int, foo &)
+foo
#
---format=lucid
+--format=lucid --no-params
foo___3barFl
bar::foo_(long)
+bar::foo_
#
---format=lucid
+--format=lucid --no-params
get__7istreamFPcic
istream::get(char *, int, char)
+istream::get
#
---format=lucid
+--format=lucid --no-params
get__7istreamFR9streambufc
istream::get(streambuf &, char)
+istream::get
#
---format=lucid
+--format=lucid --no-params
get_complicated__7istreamFRUc
istream::get_complicated(unsigned char &)
+istream::get_complicated
#
---format=lucid
+--format=lucid --no-params
get_complicated__7istreamFRc
istream::get_complicated(char &)
+istream::get_complicated
#
---format=lucid
+--format=lucid --no-params
getline__7istreamFPUcic
istream::getline(unsigned char *, int, char)
+istream::getline
#
---format=lucid
+--format=lucid --no-params
getline__7istreamFPcic
istream::getline(char *, int, char)
+istream::getline
#
---format=lucid
+--format=lucid --no-params
ignore__7istreamFiT1
istream::ignore(int, int)
+istream::ignore
#
---format=lucid
+--format=lucid --no-params
init__12strstreambufFPciT1
strstreambuf::init(char *, int, char *)
+strstreambuf::init
#
---format=lucid
+--format=lucid --no-params
init__3iosFP9streambuf
ios::init(streambuf *)
+ios::init
#
---format=lucid
+--format=lucid --no-params
initcount__13Iostream_init
Iostream_init::initcount
+Iostream_init::initcount
#
---format=lucid
+--format=lucid --no-params
ipfx__7istreamFi
istream::ipfx(int)
+istream::ipfx
#
---format=lucid
+--format=lucid --no-params
ls_complicated__7ostreamFUc
ostream::ls_complicated(unsigned char)
+ostream::ls_complicated
#
---format=lucid
+--format=lucid --no-params
ls_complicated__7ostreamFc
ostream::ls_complicated(char)
+ostream::ls_complicated
#
---format=lucid
+--format=lucid --no-params
overload1arg__FSc
overload1arg(signed char)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__FUc
overload1arg(unsigned char)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__FUi
overload1arg(unsigned int)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__FUl
overload1arg(unsigned long)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__FUs
overload1arg(unsigned short)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fc
overload1arg(char)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fd
overload1arg(double)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Ff
overload1arg(float)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fi
overload1arg(int)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fl
overload1arg(long)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fs
overload1arg(short)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fv
overload1arg(void)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN21
overloadargs(int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN31
overloadargs(int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN41
overloadargs(int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN51
overloadargs(int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN61
overloadargs(int, int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN71
overloadargs(int, int, int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN81
overloadargs(int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN91
overloadargs(int, int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN91N11
overloadargs(int, int, int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiT1
overloadargs(int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
polar__FdT1
polar(double, double)
+polar
#
---format=lucid
+--format=lucid --no-params
pow__F7complexT1
pow(complex, complex)
+pow
#
---format=lucid
+--format=lucid --no-params
pow__F7complexd
pow(complex, double)
+pow
#
---format=lucid
+--format=lucid --no-params
pow__F7complexi
pow(complex, int)
+pow
#
---format=lucid
+--format=lucid --no-params
pow__Fd7complex
pow(double, complex)
+pow
#
---format=lucid
+--format=lucid --no-params
pstart__FPciT2
pstart(char *, int, int)
+pstart
#
---format=lucid
+--format=lucid --no-params
put__7ostreamFc
ostream::put(char)
+ostream::put
#
---format=lucid
+--format=lucid --no-params
read__7istreamFPci
istream::read(char *, int)
+istream::read
#
---format=lucid
+--format=lucid --no-params
resetiosflags__FR3iosl
resetiosflags(ios &, long)
+resetiosflags
#
---format=lucid
+--format=lucid --no-params
restore_errno__FRi
restore_errno(int &)
+restore_errno
#
---format=lucid
+--format=lucid --no-params
rs_complicated__7istreamFRUc
istream::rs_complicated(unsigned char &)
+istream::rs_complicated
#
---format=lucid
+--format=lucid --no-params
rs_complicated__7istreamFRc
istream::rs_complicated(char &)
+istream::rs_complicated
#
---format=lucid
+--format=lucid --no-params
seekg__7istreamFl8seek_dir
istream::seekg(long, seek_dir)
+istream::seekg
#
---format=lucid
+--format=lucid --no-params
seekoff__12strstreambufFl8seek_diri
strstreambuf::seekoff(long, seek_dir, int)
+strstreambuf::seekoff
#
---format=lucid
+--format=lucid --no-params
seekoff__9streambufFlQ2_3ios12ios_seek_diri
streambuf::seekoff(long, ios::ios_seek_dir, int)
+streambuf::seekoff
#
---format=lucid
+--format=lucid --no-params
seekpos__9streambufFli
streambuf::seekpos(long, int)
+streambuf::seekpos
#
---format=lucid
+--format=lucid --no-params
set_new_handler__FPFv_v
set_new_handler(void (*)(void))
+set_new_handler
#
---format=lucid
+--format=lucid --no-params
setb__9streambufFPcT1i
streambuf::setb(char *, char *, int)
+streambuf::setb
#
---format=lucid
+--format=lucid --no-params
setb__FR3iosi
setb(ios &, int)
+setb
#
---format=lucid
+--format=lucid --no-params
setbuf__11fstreambaseFPci
fstreambase::setbuf(char *, int)
+fstreambase::setbuf
#
---format=lucid
+--format=lucid --no-params
setbuf__9streambufFPUci
streambuf::setbuf(unsigned char *, int)
+streambuf::setbuf
#
---format=lucid
+--format=lucid --no-params
setbuf__9streambufFPciT2
streambuf::setbuf(char *, int, int)
+streambuf::setbuf
#
---format=lucid
+--format=lucid --no-params
setf__3iosFlT1
ios::setf(long, long)
+ios::setf
#
---format=lucid
+--format=lucid --no-params
setfill__FR3iosi
setfill(ios &, int)
+setfill
#
---format=lucid
+--format=lucid --no-params
setg__9streambufFPcN21
streambuf::setg(char *, char *, char *)
+streambuf::setg
#
---format=lucid
+--format=lucid --no-params
setp__9streambufFPcT1
streambuf::setp(char *, char *)
+streambuf::setp
#
---format=lucid
+--format=lucid --no-params
tie__3iosFP7ostream
ios::tie(ostream *)
+ios::tie
#
---format=lucid
+--format=lucid --no-params
uconv10__FUlPc
uconv10(unsigned long, char *)
+uconv10
#
---format=lucid
+--format=lucid --no-params
xget__7istreamFPc
istream::xget(char *)
+istream::xget
#
---format=lucid
+--format=lucid --no-params
xsgetn__9streambufFPci
streambuf::xsgetn(char *, int)
+streambuf::xsgetn
#
---format=arm
+--format=arm --no-params
__dt__21T5__pt__11_PFiPPdPv_iFv
T5<int (*)(int, double **, void *)>::~T5(void)
+T5<int (*)(int, double **, void *)>::~T5
#
---format=arm
+--format=arm --no-params
__ct__1cFi
c::c(int)
+c::c
#
---format=arm
+--format=arm --no-params
__dt__11T5__pt__2_iFv
T5<int>::~T5(void)
+T5<int>::~T5
#
---format=arm
+--format=arm --no-params
__dt__11T5__pt__2_cFv
T5<char>::~T5(void)
+T5<char>::~T5
#
---format=arm
+--format=arm --no-params
__ct__2T2Fi
T2::T2(int)
+T2::T2
#
---format=arm
+--format=arm --no-params
__dt__2T1Fv
T1::~T1(void)
+T1::~T1
#
---format=arm
+--format=arm --no-params
__dt__12T5__pt__3_1xFv
T5<x>::~T5(void)
+T5<x>::~T5
#
---format=arm
+--format=arm --no-params
__dt__17T5__pt__8_PFcPv_iFv
T5<int (*)(char, void *)>::~T5(void)
+T5<int (*)(char, void *)>::~T5
#
---format=arm
+--format=arm --no-params
__ct__21T5__pt__11_PFiPPdPv_iFi
T5<int (*)(int, double **, void *)>::T5(int)
+T5<int (*)(int, double **, void *)>::T5
#
---format=arm
+--format=arm --no-params
__amd__FR2T2i
operator%=(T2 &, int)
+operator%=
#
---format=arm
+--format=arm --no-params
__adv__FR2T2i
operator/=(T2 &, int)
+operator/=
#
---format=arm
+--format=arm --no-params
__amu__FR2T2i
operator*=(T2 &, int)
+operator*=
#
---format=arm
+--format=arm --no-params
__ami__FR2T2i
operator-=(T2 &, int)
+operator-=
#
---format=arm
+--format=arm --no-params
__apl__FR2T2i
operator+=(T2 &, int)
+operator+=
#
---format=arm
+--format=arm --no-params
__nw__2T1SFUi
T1::operator new(unsigned int) static
+T1::operator new
#
---format=arm
+--format=arm --no-params
__dl__2T1SFPv
T1::operator delete(void *) static
+T1::operator delete
#
---format=arm
+--format=arm --no-params
put__2T7SFi
T7::put(int) static
+T7::put
#
---format=arm
+--format=arm --no-params
__dl__12T5__pt__3_1xSFPv
T5<x>::operator delete(void *) static
+T5<x>::operator delete
#
---format=arm
+--format=arm --no-params
h__FUc
h(unsigned char)
+h
#
---format=arm
+--format=arm --no-params
f__Fic
f(int, char)
+f
#
---format=arm
+--format=arm --no-params
h__FUi
h(unsigned int)
+h
#
---format=arm
+--format=arm --no-params
h__Fci
h(char, int)
+h
#
---format=arm
+--format=arm --no-params
h__FUl
h(unsigned long)
+h
#
---format=arm
+--format=arm --no-params
h__Fcl
h(char, long)
+h
#
---format=arm
+--format=arm --no-params
h__FUs
h(unsigned short)
+h
#
---format=arm
+--format=arm --no-params
h__Fcs
h(char, short)
+h
#
---format=arm
+--format=arm --no-params
X__12T5__pt__3_1x
T5<x>::X
+T5<x>::X
#
---format=arm
+--format=arm --no-params
__ct__11T5__pt__2_iFi
T5<int>::T5(int)
+T5<int>::T5
#
---format=arm
+--format=arm --no-params
__ct__11T5__pt__2_cFi
T5<char>::T5(int)
+T5<char>::T5
#
---format=arm
+--format=arm --no-params
h__FcT1
h(char, char)
+h
#
---format=arm
+--format=arm --no-params
f__Ficd
f(int, char, double)
+f
#
---format=arm
+--format=arm --no-params
__dl__17T5__pt__8_PFcPv_iSFPv
T5<int (*)(char, void *)>::operator delete(void *) static
+T5<int (*)(char, void *)>::operator delete
#
---format=arm
+--format=arm --no-params
X__17T5__pt__8_PFcPv_i
T5<int (*)(char, void *)>::X
+T5<int (*)(char, void *)>::X
#
---format=arm
+--format=arm --no-params
__ct__12T5__pt__3_1xFi
T5<x>::T5(int)
+T5<x>::T5
#
---format=arm
+--format=arm --no-params
__dl__21T5__pt__11_PFiPPdPv_iSFPv
T5<int (*)(int, double **, void *)>::operator delete(void *) static
+T5<int (*)(int, double **, void *)>::operator delete
#
---format=arm
+--format=arm --no-params
__std__foo
global destructors keyed to foo
+global destructors keyed to foo
#
---format=arm
+--format=arm --no-params
__sti__bar
global constructors keyed to bar
+global constructors keyed to bar
#
---format=arm
+--format=arm --no-params
f__FicdPcPFci_v
f(int, char, double, char *, void (*)(char, int))
+f
#
---format=arm
+--format=arm --no-params
f__FicdPcPFic_v
f(int, char, double, char *, void (*)(int, char))
+f
#
---format=arm
+--format=arm --no-params
get__2T7SFv
T7::get(void) static
+T7::get
#
---format=arm
+--format=arm --no-params
X__21T5__pt__11_PFiPPdPv_i
T5<int (*)(int, double **, void *)>::X
+T5<int (*)(int, double **, void *)>::X
#
---format=arm
+--format=arm --no-params
__dl__11T5__pt__2_iSFPv
T5<int>::operator delete(void *) static
+T5<int>::operator delete
#
---format=arm
+--format=arm --no-params
__dl__11T5__pt__2_cSFPv
T5<char>::operator delete(void *) static
+T5<char>::operator delete
#
---format=arm
+--format=arm --no-params
h__Fc
h(char)
+h
#
---format=arm
+--format=arm --no-params
h__Fd
h(double)
+h
#
---format=arm
+--format=arm --no-params
h__Ff
h(float)
+h
#
---format=arm
+--format=arm --no-params
h__Fi
h(int)
+h
#
---format=arm
+--format=arm --no-params
f__Fi
f(int)
+f
#
---format=arm
+--format=arm --no-params
h__Fl
h(long)
+h
#
---format=arm
+--format=arm --no-params
h__Fs
h(short)
+h
#
---format=arm
+--format=arm --no-params
X__11T5__pt__2_c
T5<char>::X
+T5<char>::X
#
---format=arm
+--format=arm --no-params
X__11T5__pt__2_i
T5<int>::X
+T5<int>::X
#
---format=arm
+--format=arm --no-params
__ct__17T5__pt__8_PFcPv_iFi
T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
#
---format=arm
+--format=arm --no-params
f__FicdPc
f(int, char, double, char *)
+f
#
---format=arm
+--format=arm --no-params
__nw__FUi
operator new(unsigned int)
+operator new
#
---format=arm
+--format=arm --no-params
__ct__Q3_2T11a1bSFi
T1::a::b::b(int) static
+T1::a::b::b
#
---format=arm
+--format=arm --no-params
__dt__Q3_2T11a1bSFi
T1::a::b::~b(int) static
+T1::a::b::~b
#
---format=arm
+--format=arm --no-params
put__Q3_2T11a1bSFi
T1::a::b::put(int) static
+T1::a::b::put
#
---format=arm
+--format=arm --no-params
get__Q2_2T11aSFv
T1::a::get(void) static
+T1::a::get
#
---format=arm
+--format=arm --no-params
put__2T1SFi
T1::put(int) static
+T1::put
#
---format=arm
+--format=arm --no-params
put__Q5_2T11a1b1c1dSFi
T1::a::b::c::d::put(int) static
+T1::a::b::c::d::put
#
---format=arm
+--format=arm --no-params
get__Q4_2T11a1b1cSFv
T1::a::b::c::get(void) static
+T1::a::b::c::get
#
---format=arm
+--format=arm --no-params
put__Q2_2T11aSFi
T1::a::put(int) static
+T1::a::put
#
---format=arm
+--format=arm --no-params
put__Q4_2T11a1b1cSFi
T1::a::b::c::put(int) static
+T1::a::b::c::put
#
---format=arm
+--format=arm --no-params
get__Q3_2T11a1bSFv
T1::a::b::get(void) static
+T1::a::b::get
#
---format=arm
+--format=arm --no-params
get__2T1SFv
T1::get(void) static
+T1::get
#
---format=arm
+--format=arm --no-params
get__Q5_2T11a1b1c1dSFv
T1::a::b::c::d::get(void) static
+T1::a::b::c::d::get
#
---format=arm
+--format=arm --no-params
__dt__11T1__pt__2_cFv
T1<char>::~T1(void)
+T1<char>::~T1
#
---format=arm
+--format=arm --no-params
__dt__12T1__pt__3_1tFv
T1<t>::~T1(void)
+T1<t>::~T1
#
---format=arm
+--format=arm --no-params
__dl__12T1__pt__3_1tSFPv
T1<t>::operator delete(void *) static
+T1<t>::operator delete
#
---format=arm
+--format=arm --no-params
__ct__11T1__pt__2_cFi
T1<char>::T1(int)
+T1<char>::T1
#
---format=arm
+--format=arm --no-params
__ct__11T1__pt__2_cFv
T1<char>::T1(void)
+T1<char>::T1
#
---format=arm
+--format=arm --no-params
__ct__12T1__pt__3_1tFi
T1<t>::T1(int)
+T1<t>::T1
#
---format=arm
+--format=arm --no-params
__ct__12T1__pt__3_1tFv
T1<t>::T1(void)
+T1<t>::T1
#
---format=arm
+--format=arm --no-params
__dl__11T1__pt__2_cSFPv
T1<char>::operator delete(void *) static
+T1<char>::operator delete
#
---format=arm
+--format=arm --no-params
bar__3fooFPv
foo::bar(void *)
+foo::bar
#
---format=arm
+--format=arm --no-params
bar__3fooCFPv
foo::bar(void *) const
+foo::bar
#
---format=arm
+--format=arm --no-params
__eq__3fooFR3foo
foo::operator==(foo &)
+foo::operator==
#
---format=arm
+--format=arm --no-params
__eq__3fooCFR3foo
foo::operator==(foo &) const
+foo::operator==
#
---format=arm
+--format=arm --no-params
elem__15vector__pt__2_dFi
vector<double>::elem(int)
+vector<double>::elem
#
---format=arm
+--format=arm --no-params
elem__15vector__pt__2_iFi
vector<int>::elem(int)
+vector<int>::elem
#
---format=arm
+--format=arm --no-params
__ct__15vector__pt__2_dFi
vector<double>::vector(int)
+vector<double>::vector
#
---format=arm
+--format=arm --no-params
__ct__15vector__pt__2_iFi
vector<int>::vector(int)
+vector<int>::vector
#
---format=arm
+--format=arm --no-params
__ct__25DListNode__pt__9_R6RLabelFR6RLabelP25DListNode__pt__9_R6RLabelT2
DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)
+DListNode<RLabel &>::DListNode
#
---format=arm
+--format=arm --no-params
bar__3fooFiT16FooBar
foo::bar(int, int, FooBar)
+foo::bar
#
---format=arm
+--format=arm --no-params
bar__3fooFPiN51PdN37PcN211T1iN215
foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)
+foo::bar
#
---format=hp
+--format=hp --no-params
__amd__FR2T2i
operator%=(T2 &, int)
+operator%=
#
---format=hp
+--format=hp --no-params
__adv__FR2T2i
operator/=(T2 &, int)
+operator/=
#
---format=hp
+--format=hp --no-params
__amu__FR2T2i
operator*=(T2 &, int)
+operator*=
#
---format=hp
+--format=hp --no-params
__ami__FR2T2i
operator-=(T2 &, int)
+operator-=
#
---format=hp
+--format=hp --no-params
__apl__FR2T2i
operator+=(T2 &, int)
+operator+=
#
---format=hp
+--format=hp --no-params
__nw__2T1SFUi
T1::operator new(unsigned int) static
+T1::operator new
#
---format=hp
+--format=hp --no-params
__dl__2T1SFPv
T1::operator delete(void *) static
+T1::operator delete
#
---format=hp
+--format=hp --no-params
put__2T7SFi
T7::put(int) static
+T7::put
#
---format=hp
+--format=hp --no-params
h__FUc
h(unsigned char)
+h
#
---format=hp
+--format=hp --no-params
f__Fic
f(int, char)
+f
#
---format=hp
+--format=hp --no-params
h__FUi
h(unsigned int)
+h
#
---format=hp
+--format=hp --no-params
h__Fci
h(char, int)
+h
#
---format=hp
+--format=hp --no-params
h__FUl
h(unsigned long)
+h
#
---format=hp
+--format=hp --no-params
h__Fcl
h(char, long)
+h
#
---format=hp
+--format=hp --no-params
h__FUs
h(unsigned short)
+h
#
---format=hp
+--format=hp --no-params
h__Fcs
h(char, short)
+h
#
---format=hp
+--format=hp --no-params
h__FcT1
h(char, char)
+h
#
---format=hp
+--format=hp --no-params
f__Ficd
f(int, char, double)
+f
#
---format=hp
+--format=hp --no-params
f__FicdPcPFci_v
f(int, char, double, char *, void (*)(char, int))
+f
#
---format=hp
+--format=hp --no-params
f__FicdPcPFic_v
f(int, char, double, char *, void (*)(int, char))
+f
#
---format=hp
+--format=hp --no-params
get__2T7SFv
T7::get(void) static
+T7::get
#
---format=hp
+--format=hp --no-params
h__Fc
h(char)
+h
#
---format=hp
+--format=hp --no-params
h__Fd
h(double)
+h
#
---format=hp
+--format=hp --no-params
h__Ff
h(float)
+h
#
---format=hp
+--format=hp --no-params
h__Fi
h(int)
+h
#
---format=hp
+--format=hp --no-params
f__Fi
f(int)
+f
#
---format=hp
+--format=hp --no-params
h__Fl
h(long)
+h
#
---format=hp
+--format=hp --no-params
h__Fs
h(short)
+h
#
---format=hp
+--format=hp --no-params
f__FicdPc
f(int, char, double, char *)
+f
#
---format=hp
+--format=hp --no-params
__nw__FUi
operator new(unsigned int)
+operator new
#
---format=hp
+--format=hp --no-params
__ct__Q3_2T11a1bSFi
T1::a::b::b(int) static
+T1::a::b::b
#
---format=hp
+--format=hp --no-params
__dt__Q3_2T11a1bSFi
T1::a::b::~b(int) static
+T1::a::b::~b
#
---format=hp
+--format=hp --no-params
put__Q3_2T11a1bSFi
T1::a::b::put(int) static
+T1::a::b::put
#
---format=hp
+--format=hp --no-params
get__Q2_2T11aSFv
T1::a::get(void) static
+T1::a::get
#
---format=hp
+--format=hp --no-params
put__2T1SFi
T1::put(int) static
+T1::put
#
---format=hp
+--format=hp --no-params
put__Q5_2T11a1b1c1dSFi
T1::a::b::c::d::put(int) static
+T1::a::b::c::d::put
#
---format=hp
+--format=hp --no-params
get__Q4_2T11a1b1cSFv
T1::a::b::c::get(void) static
+T1::a::b::c::get
#
---format=hp
+--format=hp --no-params
put__Q2_2T11aSFi
T1::a::put(int) static
+T1::a::put
#
---format=hp
+--format=hp --no-params
put__Q4_2T11a1b1cSFi
T1::a::b::c::put(int) static
+T1::a::b::c::put
#
---format=hp
+--format=hp --no-params
get__Q3_2T11a1bSFv
T1::a::b::get(void) static
+T1::a::b::get
#
---format=hp
+--format=hp --no-params
get__2T1SFv
T1::get(void) static
+T1::get
#
---format=hp
+--format=hp --no-params
get__Q5_2T11a1b1c1dSFv
T1::a::b::c::d::get(void) static
+T1::a::b::c::d::get
#
---format=hp
+--format=hp --no-params
bar__3fooFPv
foo::bar(void *)
+foo::bar
#
---format=hp
+--format=hp --no-params
bar__3fooCFPv
foo::bar(void *) const
+foo::bar
#
---format=hp
+--format=hp --no-params
__eq__3fooFR3foo
foo::operator==(foo &)
+foo::operator==
#
---format=hp
+--format=hp --no-params
__eq__3fooCFR3foo
foo::operator==(foo &) const
+foo::operator==
#
---format=hp
+--format=hp --no-params
bar__3fooFiT16FooBar
foo::bar(int, int, FooBar)
+foo::bar
#
---format=hp
+--format=hp --no-params
bar__3fooFPiN51PdN37PcN211T1iN215
foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)
+foo::bar
#
---format=hp
+--format=hp --no-params
__dt__2T5XTPFiPPdPv_i__Fv
T5<int (*)(int, double **, void *)>::~T5(void)
+T5<int (*)(int, double **, void *)>::~T5
#
---format=hp
+--format=hp --no-params
__ct__1cFi
c::c(int)
+c::c
#
---format=hp
+--format=hp --no-params
__dt__2T5XTi__Fv
T5<int>::~T5(void)
+T5<int>::~T5
#
---format=hp
+--format=hp --no-params
__dt__2T5XTc__Fv
T5<char>::~T5(void)
+T5<char>::~T5
#
---format=hp
+--format=hp --no-params
__ct__2T2Fi
T2::T2(int)
+T2::T2
#
---format=hp
+--format=hp --no-params
__dt__2T1Fv
T1::~T1(void)
+T1::~T1
#
---format=hp
+--format=hp --no-params
__dt__2T5XT1x__Fv
T5<x>::~T5(void)
+T5<x>::~T5
#
---format=hp
+--format=hp --no-params
__dt__2T5XTPFcPv_i__Fv
T5<int (*)(char, void *)>::~T5(void)
+T5<int (*)(char, void *)>::~T5
#
---format=hp
+--format=hp --no-params
__ct__2T5XTPFiPPdPv_i__Fi
T5<int (*)(int, double **, void *)>::T5(int)
+T5<int (*)(int, double **, void *)>::T5
#
---format=hp
+--format=hp --no-params
__dl__2T5XT1x__SFPv
T5<x>::operator delete(void *) static
+T5<x>::operator delete
#
---format=hp
+--format=hp --no-params
X__2T5XT1x
T5<x>::X
+T5<x>::X
#
---format=hp
+--format=hp --no-params
__ct__2T5XTi__Fi
T5<int>::T5(int)
+T5<int>::T5
#
---format=hp
+--format=hp --no-params
__ct__2T5XTc__Fi
T5<char>::T5(int)
+T5<char>::T5
#
---format=hp
+--format=hp --no-params
__dl__2T5XTPFcPv_i__SFPv
T5<int (*)(char, void *)>::operator delete(void *) static
+T5<int (*)(char, void *)>::operator delete
#
---format=hp
+--format=hp --no-params
X__2T5XTPFcPv_i
T5<int (*)(char, void *)>::X
+T5<int (*)(char, void *)>::X
#
---format=hp
+--format=hp --no-params
__ct__2T5XT1x__Fi
T5<x>::T5(int)
+T5<x>::T5
#
---format=hp
+--format=hp --no-params
__dl__2T5XTPFiPPdPv_i__SFPv
T5<int (*)(int, double **, void *)>::operator delete(void *) static
+T5<int (*)(int, double **, void *)>::operator delete
#
---format=hp
+--format=hp --no-params
X__2T5XTPFiPPdPv_i
T5<int (*)(int, double **, void *)>::X
+T5<int (*)(int, double **, void *)>::X
#
---format=hp
+--format=hp --no-params
__dl__2T5XTi__SFPv
T5<int>::operator delete(void *) static
+T5<int>::operator delete
#
---format=hp
+--format=hp --no-params
__dl__2T5XTc__SFPv
T5<char>::operator delete(void *) static
+T5<char>::operator delete
#
---format=hp
+--format=hp --no-params
X__2T5XTc
T5<char>::X
+T5<char>::X
#
---format=hp
+--format=hp --no-params
X__2T5XTi
T5<int>::X
+T5<int>::X
#
---format=hp
+--format=hp --no-params
__ct__2T5XTPFcPv_i__Fi
T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
#
---format=hp
+--format=hp --no-params
__dt__2T1XTc__Fv
T1<char>::~T1(void)
+T1<char>::~T1
#
---format=hp
+--format=hp --no-params
__dt__2T1XT1t__Fv
T1<t>::~T1(void)
+T1<t>::~T1
#
---format=hp
+--format=hp --no-params
__dl__2T1XT1t__SFPv
T1<t>::operator delete(void *) static
+T1<t>::operator delete
#
---format=hp
+--format=hp --no-params
__ct__2T1XTc__Fi
T1<char>::T1(int)
+T1<char>::T1
#
---format=hp
+--format=hp --no-params
__ct__2T1XTc__Fv
T1<char>::T1(void)
+T1<char>::T1
#
---format=hp
+--format=hp --no-params
__ct__2T1XT1t__Fi
T1<t>::T1(int)
+T1<t>::T1
#
---format=hp
+--format=hp --no-params
__ct__2T1XT1t__Fv
T1<t>::T1(void)
+T1<t>::T1
#
---format=hp
+--format=hp --no-params
__dl__2T1XTc__SFPv
T1<char>::operator delete(void *) static
+T1<char>::operator delete
#
---format=hp
+--format=hp --no-params
elem__6vectorXTd__Fi
vector<double>::elem(int)
+vector<double>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTi__Fi
vector<int>::elem(int)
+vector<int>::elem
#
---format=hp
+--format=hp --no-params
__ct__6vectorXTd__Fi
vector<double>::vector(int)
+vector<double>::vector
#
---format=hp
+--format=hp --no-params
__ct__6vectorXTi__Fi
vector<int>::vector(int)
+vector<int>::vector
#
---format=hp
+--format=hp --no-params
__ct__9DListNodeXTR6RLabel__FR6RLabelP9DListNodeXTR6RLabel_T2
DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)
+DListNode<RLabel &>::DListNode
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiUP34__Fi
vector<int,34U>::elem(int)
+vector<int,34U>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXUP2701Td__Fi
vector<2701U,double>::elem(int)
+vector<2701U,double>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSP334__Fi
vector<int,334>::elem(int)
+vector<int,334>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSN67__Fi
vector<int,-67>::elem(int)
+vector<int,-67>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSM__SCFPPd
vector<int,-2147483648>::elem(double **) static const
+vector<int,-2147483648>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSN67UP4000TRs__Fi
vector<int,-67,4000U,short &>::elem(int)
+vector<int,-67,4000U,short &>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSN67TRdTFPv_i__Fi
vector<int,-67,double &,int (void *)>::elem(int)
+vector<int,-67,double &,int (void *)>::elem
#
---format=hp
+--format=hp --no-params
X__6vectorXTiSN67TdTPvUP5TRs
vector<int,-67,double,void *,5U,short &>::X
+vector<int,-67,double,void *,5U,short &>::X
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiA3foo__Fi
vector<int,&foo>::elem(int)
+vector<int,&foo>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiA3fooTPvA5Label__FiPPvT2
vector<int,&foo,void *,&Label>::elem(int, void **, void **)
+vector<int,&foo,void *,&Label>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSN42A3foo__Fi
vector<int,-42,&foo>::elem(int)
+vector<int,-42,&foo>::elem
#
---format=hp
+--format=hp --no-params
__ct__2T5XTPFcPv_i__Fi_2
T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
#
---format=hp
+--format=hp --no-params
__ct__2T5XTPFcPv_i__Fi_19
T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
#
---format=hp
+--format=hp --no-params
f__FicdPcPFci_v_34
f(int, char, double, char *, void (*)(char, int))
+f
#
---format=hp
+--format=hp --no-params
spec__13Spec<#1,#1.*>XTiTPi_FPi
Spec<int,int *>::spec(int *)
+Spec<int,int *>::spec
#
---format=hp
+--format=hp --no-params
spec__16Spec<#1,#1.&,#1>XTiTRiTi_FPi
Spec<int,int &,int>::spec(int *)
+Spec<int,int &,int>::spec
#
---format=hp
+--format=hp --no-params
add__XTc_FcT1
add<char>(char, char)
+add<char>
#
---format=hp
+--format=hp --no-params
add__XTcSP9A5label_FcPPlT1
add<char,9,&label>(char, long **, char)
+add<char,9,&label>
#
---format=hp
+--format=hp --no-params
add__XTPfTFPd_f_FcT1
add<float *,float (double *)>(char, char)
+add<float *,float (double *)>
#
---format=hp
+--format=hp --no-params
unLink__12basic_stringXTcT18string_char_traitsXTc_T9allocator_Fv
basic_string<char,string_char_traits<char>,allocator>::unLink(void)
+basic_string<char,string_char_traits<char>,allocator>::unLink
#
# A regression test with no args. This used to cause a segv.
_Utf390_1__1_9223372036854775807__9223372036854775
_Utf390_1__1_9223372036854775807__9223372036854775
#
---format=gnu
+--format=gnu --no-params
call__H1Z4Test_RX01_t1C2ZX01PMX01FPX01i_vQ2X016output
C<Test, Test::output> call<Test>(Test &)
+C<Test, Test::output> call<Test>
#
---format=gnu
+--format=gnu --no-params
fn__FPQ21n1cPMQ21n1cFPQ21n1c_i
fn(n::c *, int (n::c::*)(n::c *))
+fn
#
---format=gnu
+--format=gnu --no-params
f__FGt3Bar1i2G1i
f(Bar<2>, i)
+f
#
---format=gnu
+--format=gnu --no-params
f__FGt3Bar1i21i
f(Bar<21>, int)
+f
#
---format=gnu
+--format=gnu --no-params
f__FGt3Bar1i2G4XY_t
f(Bar<2>, XY_t)
+f
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZRCiZt2NA1Ui9_X01_i
int foo<TA<int const &, NA<9> > >(TA<int const &, NA<9> >)
+int foo<TA<int const &, NA<9> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZcZt2NA1Ui20_X01_i
int foo<TA<char, NA<20> > >(TA<char, NA<20> >)
+int foo<TA<char, NA<20> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZiZt8N___A___1Ui99_X01_i
int foo<TA<int, N___A___<99> > >(TA<int, N___A___<99> >)
+int foo<TA<int, N___A___<99> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZRCiZt2NA1im1_X01_i
int foo<TA<int const &, NA<-1> > >(TA<int const &, NA<-1> >)
+int foo<TA<int const &, NA<-1> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZRCiZt2NA1im9_X01_i
int foo<TA<int const &, NA<-9> > >(TA<int const &, NA<-9> >)
+int foo<TA<int const &, NA<-9> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZcZt2NA1i_m20__X01_i
int foo<TA<char, NA<-20> > >(TA<char, NA<-20> >)
+int foo<TA<char, NA<-20> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZcZt2NA1im1_X01_i
int foo<TA<char, NA<-1> > >(TA<char, NA<-1> >)
+int foo<TA<char, NA<-1> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZiZt4N__A1im9_X01_i
int foo<TA<int, N__A<-9> > >(TA<int, N__A<-9> >)
+int foo<TA<int, N__A<-9> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZiZt4N__A1i_m99__X01_i
int foo<TA<int, N__A<-99> > >(TA<int, N__A<-99> >)
+int foo<TA<int, N__A<-99> > >
#
---format=gnu
+--format=gnu --no-params
__opi__t2TA2ZiZt4N__A1i9
TA<int, N__A<9> >::operator int(void)
+TA<int, N__A<9> >::operator int
#
---format=gnu
+--format=gnu --no-params
__opi__t2TA2ZiZt8N___A___1i_m99_
TA<int, N___A___<-99> >::operator int(void)
+TA<int, N___A___<-99> >::operator int
#
---format=gnu
+--format=gnu --no-params
foo___bar__baz_____H1Zt2TA2ZiZt8N___A___1i99_X01_i
int foo___bar__baz___<TA<int, N___A___<99> > >(TA<int, N___A___<99> >)
+int foo___bar__baz___<TA<int, N___A___<99> > >
#
---format=gnu
+--format=gnu --no-params
foo__bar___foobar_____t2TA2ZiZt8N___A___1i_m99_
TA<int, N___A___<-99> >::foo__bar___foobar___(void)
+TA<int, N___A___<-99> >::foo__bar___foobar___
#
---format=gnu
+--format=gnu --no-params
foo__bar___foobar_____t2TA2ZiZt4N__A1i9
TA<int, N__A<9> >::foo__bar___foobar___(void)
+TA<int, N__A<9> >::foo__bar___foobar___
#
---format=gnu
+--format=gnu --no-params
__tfP8sockaddr
sockaddr * type_info function
+sockaddr * type_info function
#
---format=gnu
+--format=gnu --no-params
__tfPQ25libcwt16option_event_tct1Z12burst_app_ct
libcw::option_event_tct<burst_app_ct> * type_info function
+libcw::option_event_tct<burst_app_ct> * type_info function
#
---format=gnu
+--format=gnu --no-params
__tiP8sockaddr
sockaddr * type_info node
+sockaddr * type_info node
#
---format=gnu
+--format=gnu --no-params
__tiPQ25libcwt16option_event_tct1Z12burst_app_ct
libcw::option_event_tct<burst_app_ct> * type_info node
+libcw::option_event_tct<burst_app_ct> * type_info node
#
---format=gnu
+--format=gnu --no-params
_27_GLOBAL_.N.__12burst_app_ct.app_instance
{anonymous}::app_instance
+{anonymous}::app_instance
#
---format=gnu
+--format=gnu --no-params
_26_GLOBAL_$N$_tmp_n.iilg4Gya$app_instance
{anonymous}::app_instance
+{anonymous}::app_instance
#
--format=java
_ZN4java3awt10ScrollPane7addImplEPNS0_9ComponentEPNS_4lang6ObjectEi
@@ -2595,356 +3247,482 @@ java.util.Map$Entry.class$
_ZN3org7eclipse3cdt5debug8internal4core5model9CVariable6sizeof$Ev
org.eclipse.cdt.debug.internal.core.model.CVariable.sizeof()
#
---format=hp
+--format=hp --no-params
+_Utf58_0_1__1_2147483647__2147483648
_Utf58_0_1__1_2147483647__2147483648
_Utf58_0_1__1_2147483647__2147483648
#
---format=gnu-v3
+--format=gnu-v3 --no-params
St9bad_alloc
std::bad_alloc
+std::bad_alloc
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN1f1fE
f::f
+f::f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fv
f()
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fi
f(int)
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3foo3bar
foo(bar)
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Zrm1XS_
operator%(X, X)
+operator%
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZplR1XS0_
operator+(X&, X&)
+operator+
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZlsRK1XS1_
operator<<(X const&, X const&)
+operator<<
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN3FooIA4_iE3barE
Foo<int [4]>::bar
+Foo<int [4]>::bar
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fIiEvi
void f<int>(int)
+f<int>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z5firstI3DuoEvS0_
void first<Duo>(Duo)
+first<Duo>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z5firstI3DuoEvT_
void first<Duo>(Duo)
+first<Duo>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooIiFvdEiEvv
void foo<int, void ()(double), int>()
+foo<int, void ()(double), int>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN1N1fE
N::f
+N::f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN6System5Sound4beepEv
System::Sound::beep()
+System::Sound::beep
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN5Arena5levelE
Arena::level
+Arena::level
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN5StackIiiE5levelE
Stack<int, int>::level
+Stack<int, int>::level
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fI1XEvPVN1AIT_E1TE
void f<X>(A<X>::T volatile*)
+f<X>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZngILi42EEvN1AIXplT_Li2EEE1TE
void operator-<42>(A<(42) + (2)>::T)
+operator-<42>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z4makeI7FactoryiET_IT0_Ev
Factory<int> make<Factory, int>()
+make<Factory, int>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z4makeI7FactoryiET_IT0_Ev
Factory<int> make<Factory, int>()
+make<Factory, int>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3foo5Hello5WorldS0_S_
foo(Hello, World, World, Hello)
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooPM2ABi
foo(int AB::**)
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZlsRSoRKSs
operator<<(std::ostream&, std::string const&)
+operator<<
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZTI7a_class
typeinfo for a_class
+typeinfo for a_class
#
---format=gnu-v3
+--format=gnu-v3 --no-params
U4_farrVKPi
int* const volatile restrict _far
+int* const volatile restrict _far
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooILi2EEvRAplT_Li1E_i
void foo<2>(int (&) [(2) + (1)])
+foo<2>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fM1AKFvvE
f(void (A::*)() const)
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooc
foo(char)
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
2CBIL_Z3foocEE
CB<foo(char)>
+CB<foo(char)>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
2CBIL_Z7IsEmptyEE
CB<IsEmpty>
+CB<IsEmpty>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZZN1N1fEiE1p
N::f(int)::p
+N::f(int)::p
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZZN1N1fEiEs
N::f(int)::string literal
+N::f(int)::string literal
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fPFvvEM1SFvvE
f(void (*)(), void (S::*)())
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN1N1TIiiE2mfES0_IddE
N::T<int, int>::mf(N::T<double, double>)
+N::T<int, int>::mf
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZSt5state
std::state
+std::state
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNSt3_In4wardE
std::_In::ward
+std::_In::ward
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fKPFiiE
f(int (* const)(int))
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i
f(int [sizeof (N::A::f() const::foo)])
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fA37_iPS_
f(int [37], int (*) [37])
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fM1AFivEPS0_
f(int (A::*)(), int (*)())
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fPFPA1_ivE
f(int (*(*)()) [1])
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fPKM1AFivE
f(int (A::* const*)())
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1jM1AFivEPS1_
j(int (A::*)(), int (A::**)())
+j
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1sPA37_iPS0_
s(int (*) [37], int (**) [37])
+s
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooA30_A_i
foo(int [30][])
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3kooPA28_A30_i
koo(int (*) [28][30])
+koo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZlsRKU3fooU4bart1XS0_
operator<<(X bart foo const&, X bart)
+operator<<
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZlsRKU3fooU4bart1XS2_
operator<<(X bart foo const&, X bart foo const)
+operator<<
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fM1AKFivE
f(int (A::*)() const)
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3absILi11EEvv
void abs<11>()
+abs<11>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN1AIfEcvT_IiEEv
A<float>::operator int<int>()
+A<float>::operator int<int>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN12libcw_app_ct10add_optionIS_EEvMT_FvPKcES3_cS3_S3_
void libcw_app_ct::add_option<libcw_app_ct>(void (libcw_app_ct::*)(char const*), char const*, char, char const*, char const*)
+libcw_app_ct::add_option<libcw_app_ct>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZGVN5libcw24_GLOBAL__N_cbll.cc0ZhUKa23compiler_bug_workaroundISt6vectorINS_13omanip_id_tctINS_5debug32memblk_types_manipulator_data_ctEEESaIS6_EEE3idsE
guard variable for libcw::(anonymous namespace)::compiler_bug_workaround<std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct>, std::allocator<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > > >::ids
+guard variable for libcw::(anonymous namespace)::compiler_bug_workaround<std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct>, std::allocator<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > > >::ids
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN5libcw5debug13cwprint_usingINS_9_private_12GlobalObjectEEENS0_17cwprint_using_tctIT_EERKS5_MS5_KFvRSt7ostreamE
libcw::debug::cwprint_using_tct<libcw::_private_::GlobalObject> libcw::debug::cwprint_using<libcw::_private_::GlobalObject>(libcw::_private_::GlobalObject const&, void (libcw::_private_::GlobalObject::*)(std::ostream&) const)
+libcw::debug::cwprint_using<libcw::_private_::GlobalObject>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNKSt14priority_queueIP27timer_event_request_base_ctSt5dequeIS1_SaIS1_EE13timer_greaterE3topEv
std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*, std::allocator<timer_event_request_base_ct*> >, timer_greater>::top() const
+std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*, std::allocator<timer_event_request_base_ct*> >, timer_greater>::top
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNKSt15_Deque_iteratorIP15memory_block_stRKS1_PS2_EeqERKS5_
std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*>::operator==(std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*> const&) const
+std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*>::operator==
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNKSt17__normal_iteratorIPK6optionSt6vectorIS0_SaIS0_EEEmiERKS6_
std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > >::operator-(std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > > const&) const
+std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > >::operator-
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNSbIcSt11char_traitsIcEN5libcw5debug27no_alloc_checking_allocatorEE12_S_constructIPcEES6_T_S7_RKS3_
char* std::basic_string<char, std::char_traits<char>, libcw::debug::no_alloc_checking_allocator>::_S_construct<char*>(char*, char*, libcw::debug::no_alloc_checking_allocator const&)
+std::basic_string<char, std::char_traits<char>, libcw::debug::no_alloc_checking_allocator>::_S_construct<char*>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fI1APS0_PKS0_EvT_T0_T1_PA4_S3_M1CS8_
void f<A, A*, A const*>(A, A*, A const*, A const* (*) [4], A const* (* C::*) [4])
+f<A, A*, A const*>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooiPiPS_PS0_PS1_PS2_PS3_PS4_PS5_PS6_PS7_PS8_PS9_PSA_PSB_PSC_
foo(int, int*, int**, int***, int****, int*****, int******, int*******, int********, int*********, int**********, int***********, int************, int*************, int**************, int***************)
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZSt1BISt1DIP1ARKS2_PS3_ES0_IS2_RS2_PS2_ES2_ET0_T_SB_SA_PT1_
std::D<A*, A*&, A**> std::B<std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A*>(std::D<A*, A* const&, A* const*>, std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A**)
+std::B<std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A*>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
+_X11TransParseAddress
_X11TransParseAddress
_X11TransParseAddress
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNSt13_Alloc_traitsISbIcSt18string_char_traitsIcEN5libcw5debug9_private_17allocator_adaptorIcSt24__default_alloc_templateILb0ELi327664EELb1EEEENS5_IS9_S7_Lb1EEEE15_S_instancelessE
std::_Alloc_traits<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, libcw::debug::_private_::allocator_adaptor<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, std::__default_alloc_template<false, 327664>, true> >::_S_instanceless
+std::_Alloc_traits<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, libcw::debug::_private_::allocator_adaptor<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, std::__default_alloc_template<false, 327664>, true> >::_S_instanceless
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_GLOBAL__I__Z2fnv
global constructors keyed to _Z2fnv
+global constructors keyed to _Z2fnv
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1rM1GFivEMS_KFivES_M1HFivES1_4whatIKS_E5what2IS8_ES3_
r(int (G::*)(), int (G::*)() const, G, int (H::*)(), int (G::*)(), what<G const>, what2<G const>, int (G::*)() const)
+r
#
# This is from the gdb testsuite gdb.cp/cplusfuncs.exp.
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z10hairyfunc5PFPFilEPcE
hairyfunc5(int (*(*)(char*))(long))
+hairyfunc5
#
# This is from gcc PR 8861
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fILi1ELc120EEv1AIXplT_cviLd810000000000000000703DAD7A370C5EEE
void f<1, 120>(A<(1) + (((int)((double)810000000000000000703DAD7A370C5)))>)
+f<1, 120>
#
# This is also from gcc PR 8861
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fILi1EEv1AIXplT_cvingLf3f800000EEE
void f<1>(A<(1) + (((int)(-((float)3f800000))))>)
+f<1>
#
# This is from a libstdc++ debug mode patch.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNK11__gnu_debug16_Error_formatter14_M_format_wordImEEvPciPKcT_
void __gnu_debug::_Error_formatter::_M_format_word<unsigned long>(char*, int, char const*, unsigned long) const
+__gnu_debug::_Error_formatter::_M_format_word<unsigned long>
#
# The new demangler used to core dump on this.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPSt4pairISsPFbP6sqlitePPcEESt6vectorIS9_SaIS9_EEEESE_ET0_T_SG_SF_
__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > std::uninitialized_copy<__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > >(__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >)
+std::uninitialized_copy<__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > >
#
# The new demangler used to fail on this.
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fP1cIPFiiEE
f(c<int (*)(int)>*)
+f
#
# Wrap expressions using '>' in an extra layer of parens to avoid
# confusion with the '>' which ends the template parameters.
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z4dep9ILi3EEvP3fooIXgtT_Li2EEE
void dep9<3>(foo<((3) > (2))>*)
+dep9<3>
#
# Watch out for templated version of `operator<'--it needs an extra
# space.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZStltI9file_pathSsEbRKSt4pairIT_T0_ES6_
bool std::operator< <file_path, std::string>(std::pair<file_path, std::string> const&, std::pair<file_path, std::string> const&)
+std::operator< <file_path, std::string>
#
# More hairy qualifier handling.
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z9hairyfuncM1YKFPVPFrPA2_PM1XKFKPA3_ilEPcEiE
hairyfunc(int (* const (X::** (* restrict (* volatile*(Y::*)(int) const)(char*)) [2])(long) const) [3])
+hairyfunc
#
# Check that negative numbers are handled correctly.
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fILin1EEvv
void f<-1>()
+f<-1>
#
# Check a destructor of a standard substitution.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNSdD0Ev
std::basic_iostream<char, std::char_traits<char> >::~basic_iostream()
+std::basic_iostream<char, std::char_traits<char> >::~basic_iostream
#
# Another case where we got member function qualifiers wrong.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNK15nsBaseHashtableI15nsUint32HashKey8nsCOMPtrI4IFooEPS2_E13EnumerateReadEPF15PLDHashOperatorRKjS4_PvES9_
nsBaseHashtable<nsUint32HashKey, nsCOMPtr<IFoo>, IFoo*>::EnumerateRead(PLDHashOperator (*)(unsigned int const&, IFoo*, void*), void*) const
+nsBaseHashtable<nsUint32HashKey, nsCOMPtr<IFoo>, IFoo*>::EnumerateRead
#
# Another member function qualifier test case, when the member function
# returns a pointer to function.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNK1C1fIiEEPFivEv
int (*C::f<int>() const)()
+C::f<int>
#
# Another case where we got member function qualifiers wrong.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZZ3BBdI3FooEvvENK3Fob3FabEv
void BBd<Foo>()::Fob::Fab() const
+void BBd<Foo>()::Fob::Fab
#
# The same idea one level deeper.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZZZ3BBdI3FooEvvENK3Fob3FabEvENK3Gob3GabEv
void BBd<Foo>()::Fob::Fab() const::Gob::Gab() const
+void BBd<Foo>()::Fob::Fab() const::Gob::Gab
#
# Yet another member function qualifier problem.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNK5boost6spirit5matchI13rcs_deltatextEcvMNS0_4impl5dummyEFvvEEv
boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::*)()() const
+boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::*)()
+#
+# Test GNU V3 constructor and destructor identification.
+# 0 means it is not a constructor/destructor.
+# Other integers correspond to enum gnu_v3_{c,d}tor_kinds in demangle.h.
+--is-v3-ctor
+_GLOBAL__I__Z2fnv
+0
+#
+--is-v3-dtor
+_GLOBAL__I__Z2fnv
+0
+#
+--is-v3-ctor
+_ZNSdC1Ev
+1
+#
+--is-v3-dtor
+_ZNSdC1Ev
+0
+#
+--is-v3-ctor
+_ZNSdD0Ev
+0
+#
+--is-v3-dtor
+_ZNSdD0Ev
+1
+#
+--is-v3-ctor
+_ZNSdC2Ev
+2
+#
+--is-v3-dtor
+_ZNSdC2Ev
+0
+#
+--is-v3-ctor
+_ZNSdD1Ev
+0
+#
+--is-v3-dtor
+_ZNSdD1Ev
+2
#
# This caused an infinite loop.
#
@@ -2959,12 +3737,14 @@ boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::
# mode. Of course the result is more or less nonsense, but an older
# version of g++ would indeed generate this mangled name given the
# appropriate input, so the demangling is correct.
---format=auto
+--format=auto --no-params
__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm__7_Z1ZZ2Z8iterator
_Z1ZZ2Z::__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm(iterator)
+_Z1ZZ2Z::__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm
#
# This used to cause a crash. It doesn't follow the C++ encoding so
# the demangled name should be identical to the original symbol name.
---format=auto
+--format=auto --no-params
+_test_array__L_1__B23b___clean.6
_test_array__L_1__B23b___clean.6
_test_array__L_1__B23b___clean.6
diff --git a/libiberty/testsuite/test-demangle.c b/libiberty/testsuite/test-demangle.c
index ed28229ca34..6e00d1416d7 100644
--- a/libiberty/testsuite/test-demangle.c
+++ b/libiberty/testsuite/test-demangle.c
@@ -1,5 +1,5 @@
/* Demangler test program,
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
Written by Zack Weinberg <zack@codesourcery.com
This file is part of GNU libiberty.
@@ -80,16 +80,39 @@ getline(buf)
buf->alloced = alloc;
}
-/* The tester operates on a data file consisting of triples of lines:
- format switch
+static void
+fail (lineno, opts, in, out, exp)
+ int lineno;
+ const char *opts;
+ const char *in;
+ const char *out;
+ const char *exp;
+{
+ printf ("\
+FAIL at line %d, options %s:\n\
+in: %s\n\
+out: %s\n\
+exp: %s\n",
+ lineno, opts, in, out != NULL ? out : "(null)", exp);
+}
+
+/* The tester operates on a data file consisting of groups of lines:
+ options
input to be demangled
expected output
- The format switch is expected to be either the empty string, a
- line of the form --format=<name>, or just <name> by itself. */
+ Supported options:
+ --format=<name> Sets the demangling style.
+ --no-params There are two lines of expected output; the first
+ is with DMGL_PARAMS, the second is without it.
+ --is-v3-ctor Calls is_gnu_v3_mangled_ctor on input; expected
+ output is an integer representing ctor_kind.
+ --is-v3-dtor Likewise, but for dtors.
-#define FORMATS "--format="
-#define FORMATL (sizeof FORMATS - 1)
+ For compatibility, just in case it matters, the options line may be
+ empty, to mean --format=auto. If it doesn't start with --, then it
+ may contain only a format name.
+*/
int
main(argc, argv)
@@ -97,10 +120,12 @@ main(argc, argv)
char **argv;
{
enum demangling_styles style;
+ int no_params;
+ int is_v3_ctor;
+ int is_v3_dtor;
struct line format;
struct line input;
struct line expect;
- char *fstyle;
char *result;
int failures = 0;
int tests = 0;
@@ -126,20 +151,98 @@ main(argc, argv)
tests++;
- fstyle = format.data;
- if (!strncmp (fstyle, FORMATS, FORMATL))
- fstyle += FORMATL;
-
- if (fstyle[0] == '\0')
+ no_params = 0;
+ is_v3_ctor = 0;
+ is_v3_dtor = 0;
+ if (format.data[0] == '\0')
style = auto_demangling;
+ else if (format.data[0] != '-')
+ {
+ style = cplus_demangle_name_to_style (format.data);
+ if (style == unknown_demangling)
+ {
+ printf ("FAIL at line %d: unknown demangling style %s\n",
+ lineno, format.data);
+ failures++;
+ continue;
+ }
+ }
else
- style = cplus_demangle_name_to_style (fstyle);
+ {
+ char *p;
+ char *opt;
- if (style == unknown_demangling)
+ p = format.data;
+ while (*p != '\0')
+ {
+ char c;
+
+ opt = p;
+ p += strcspn (p, " \t=");
+ c = *p;
+ *p = '\0';
+ if (strcmp (opt, "--format") == 0 && c == '=')
+ {
+ char *fstyle;
+
+ *p = c;
+ ++p;
+ fstyle = p;
+ p += strcspn (p, " \t");
+ c = *p;
+ *p = '\0';
+ style = cplus_demangle_name_to_style (fstyle);
+ if (style == unknown_demangling)
+ {
+ printf ("FAIL at line %d: unknown demangling style %s\n",
+ lineno, fstyle);
+ failures++;
+ continue;
+ }
+ }
+ else if (strcmp (opt, "--no-params") == 0)
+ no_params = 1;
+ else if (strcmp (opt, "--is-v3-ctor") == 0)
+ is_v3_ctor = 1;
+ else if (strcmp (opt, "--is-v3-dtor") == 0)
+ is_v3_dtor = 1;
+ else
+ {
+ printf ("FAIL at line %d: unrecognized option %s\n",
+ lineno, opt);
+ failures++;
+ continue;
+ }
+ *p = c;
+ p += strspn (p, " \t");
+ }
+ }
+
+ if (is_v3_ctor || is_v3_dtor)
{
- printf ("FAIL at line %d: unknown demangling style %s\n",
- lineno, fstyle);
- failures++;
+ char buf[20];
+
+ if (is_v3_ctor)
+ {
+ enum gnu_v3_ctor_kinds kc;
+
+ kc = is_gnu_v3_mangled_ctor (input.data);
+ sprintf (buf, "%d", (int) kc);
+ }
+ else
+ {
+ enum gnu_v3_dtor_kinds kd;
+
+ kd = is_gnu_v3_mangled_dtor (input.data);
+ sprintf (buf, "%d", (int) kd);
+ }
+
+ if (strcmp (buf, expect.data) != 0)
+ {
+ fail (lineno, format.data, input.data, buf, expect.data);
+ failures++;
+ }
+
continue;
}
@@ -152,18 +255,25 @@ main(argc, argv)
? strcmp (result, expect.data)
: strcmp (input.data, expect.data))
{
- printf ("\
-FAIL at line %d, style %s:\n\
-in: %s\n\
-out: %s\n\
-exp: %s\n",
- lineno, fstyle,
- input.data,
- result,
- expect.data);
+ fail (lineno, format.data, input.data, result, expect.data);
failures++;
}
free (result);
+
+ if (no_params)
+ {
+ getline (&expect);
+ result = cplus_demangle (input.data, DMGL_ANSI|DMGL_TYPES);
+
+ if (result
+ ? strcmp (result, expect.data)
+ : strcmp (input.data, expect.data))
+ {
+ fail (lineno, format.data, input.data, result, expect.data);
+ failures++;
+ }
+ free (result);
+ }
}
free (format.data);
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 40eed6e100b..df95ada0a4c 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,4322 +1,39 @@
-2003-12-15 Christian Groessler <chris@groessler.org>
+2004-01-09 Paul Brook <paul@codesourcery.com>
- * z8k-dis.c (intr_names): Removed.
- (print_intr, print_flags): New functions.
- (unparse_instr): Use new functions.
+ * arm-opc.h (arm_opcodes): Move generic mcrr after known
+ specific opcodes.
-2003-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+2004-01-07 Daniel Jacobowitz <drow@mvista.com>
- * m32r-opc.c: Regenerate.
-
-2003-12-14 Mark Mitchell <mark@codesourcery.com>
-
- * arm-opc.h (arm_opcodes): Put V6 instructions before XScale
- instructions.
-
-2003-12-13 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix-opc.c (mmix_opcodes): Use GO_INSN_BYTE, PUSHGO_INSN_BYTE,
- SETL_INSN_BYTE, INCH_INSN_BYTE, INCMH_INSN_BYTE, INCML_INSN_BYTE
- and SWYM_INSN_BYTE instead of raw numbers.
-
-2003-12-10 Zack Weinberg <zack@codesourcery.com>
-
- * ppc-opc.c (MO): Make optional.
- (RAO, RSO, SHO): New optional forms of RA, RS, SH operands.
- (tlbwe): Accept for both PPC403 and BOOKE. Make all operands optional.
-
-2003-12-05 Ricardo Anguiano <anguiano@codesourcery.com>
- Mark Mitchell <mark@codesourcery.com>
- Richard Earnshaw <rearnsha@arm.com>
-
- * arm-dis.c (print_arm_insn): Add 'W' macro.
- * arm-opc.h (arm_opcodes): Add V6 instructions.
- (thumb_opcodes): Likewise.
-
-2003-12-04 Alan Modra <amodra@bigpond.net.au>
-
- * openrisc-asm.c: Regenerate.
- * pj-opc.c: Update copyright date.
-
-2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * m32r-asm.c: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-desc.h: Regenerate.
- * m32r-dis.c: Regenerate.
- * m32r-ibld.c: Regenerate.
- * m32r-opc.c: Regenerate.
- * m32r-opc.h: Regenerate.
- * m32r-opinst.c: Regenerate.
-
-2003-12-02 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-opc.h: Add support for sh4a and no-fpu variants.
- * sh-dis.c: Ditto.
-
-2003-12-02 Kazu Hirata <kazu@cs.umass.edu>
-
- * alpha-opc.c: Remove ARGSUSED.
- * i370-opc.c: Likewise.
- * ppc-opc.c: Likewise.
-
-2003-12-02 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-11-28 Christian Groessler <chris@groessler.org>
-
- * z8k-dis.c: Convert to ISO C90.
- * z8kgen.c: Convert to ISO C90.
- (opt): Move long opcode for "ldb rdb,imm8" after short one, now
- the short one is created when assembling.
- * z8k-opc.h: Regenerate with new z8kgen.c.
-
-2003-11-19 Kazu Hirata <kazu@cs.umass.edu>
-
- * h8300-dis.c (print_colon_thingie): Remove.
-
-2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * mips-opc.c (mips_builtin_opcodes): Handle new macros: "lca" and
- "dlca".
-
-2003-11-14 Nick Clifton <nickc@redhat.com>
-
- * dis-init.c (init_disassemble_info): Initialise
- symbol_is_valid field.
- * dis-buf.c (generic_symbol_is_valid): New function. Always
- returns TRUE.
- * arm-dis.c (arm_symbol_is_valid): New function. Return FALSE
- for ARM ELF mapping symbols.
- * disassemble.c (disassemble_init_for_target): Set
- symbol_is_valid field to arm_symbol_is_valid of the target is
- an ARM.
-
-2003-11-05 H.J. Lu <hongjiu.lu@intel.com>
-
- * m68k-opc.c (m68k_opcodes): Reorder "fmovel".
-
-2003-11-03 Daniel Jacobowitz <drow@mvista.com>
-
- * arm-dis.c (print_arm_insn): Print "-" after "#".
-
-2003-10-30 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
-
- * alpha-opc.c: Add support for a second argument to RPCC.
-
-2003-10-27 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-dis.c: Convert to ISO C90 prototypes.
-
-2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
- Bernardo Innocenti <bernie@develer.com>
-
- * m68k-dis.c: Add MCFv4/MCF5528x support.
- * m68k-opc.c: Likewise.
-
-2003-10-10 Dave Brolley <brolley@redhat.com>
-
- * frv-asm.c,frv-desc.c,frv-opc.c: Regenerated.
-
-2003-10-08 Dave Brolley <brolley@redhat.com>
-
- * frv-desc.[ch], frv-opc.[ch]: Regenerated.
-
-2003-09-30 Bob Wilson <bob.wilson@acm.org>
-
- * xtensa-dis.c (fetch_data): Remove numBytes parameter.
- (print_insn_xtensa): Fix call to fetch_data.
-
-2003-09-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_arch_choices): Add entry for "mips64r2"
- (print_insn_args): Add handing for +E, +F, +G, and +H.
- * mips-opc.c (I65): New define for MIPS64r2.
- (mips_builtin_opcodes): Add "dext", "dextm", "dextu", "dins",
- "dinsm", "dinsu", "drotl", "drotr", "drotr32", "drotrv", "dsbh",
- and "dshd" for MIPS64r2. Adjust "dror", "dror32", and "drorv" to
- be supported on MIPS64r2.
-
-2003-09-24 Dave Brolley <brolley@redhat.com>
-
- * frv-desc.c, frv-opc.c, frv-opc.h: Regenerated.
-
-2003-09-14 Andreas Jaeger <aj@suse.de>
-
- * i386-dis.c: Convert to ISO C90 prototypes.
- * i370-dis.c: Likewise.
- * i370-opc.c: Likewiwse.
- * i960-dis.c: Likewise.
- * ia64-opc.c: Likewise.
-
-2003-09-09 Dave Brolley <brolley@redhat.com>
-
- * frv-desc.c: Regenerated.
-
-2003-09-08 Dave Brolley <brolley@redhat.com>
-
- On behalf of Doug Evans <dje@sebabeach.org>
- * Makefile.am (run-cgen): Pass new args archfile and opcfile
- to cgen.sh.
- (stamp-ip2k,stamp-m32r,stamp-fr30,stamp-frv,stamp-openrisc,
- stamp-iq2000,stamp-xstormy16): Pass paths of .cpu and .opc files
- to cgen.sh.
- (stamp-frv): Delete hardcoded path spec workaround.
- * Makefile.in: Regenerate.
- * cgen.sh: New args archfile and opcfile. Pass on to cgen.
-
-2003-09-04 Nick Clifton <nickc@redhat.com>
-
- * v850-dis.c (disassemble): Accept bfd_mach_v850e1.
- * v850-opc.c (v850_opcodes): Add DBTRAP and DBRET instructions.
-
-2003-09-04 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-dis.c (struct dis_private): New.
- (powerpc_dialect): Make static. Accept -Many in addition to existing
- options. Save dialect in dis_private.
- (print_insn_big_powerpc): Retrieve dialect from dis_private.
- (print_insn_little_powerpc): Likewise.
- (print_insn_powerpc): Call powpc_dialect here. Remove unnecessary
- efs/altivec check. Try harder to disassemble if given -Many.
- * ppc-opc.c (insert_fxm): Expand comment.
- (PPC, PPCCOM, PPC32, PPC64, PPCVEC): Remove PPC_OPCODE_ANY.
- (POWER, POWER2, PPCPWR2, POWER32, COM, COM32, M601, PWRCOM): Likewise.
- (POWER4): Remove PPCCOM.
- (PPCONLY): Don't define. Update all occurrences to PPC.
-
-2003-09-03 Andrew Cagney <cagney@redhat.com>
-
- * dis-init.c (init_disassemble_info): New file and function.
- * Makefile.am (CFILES): Add "dis-init.c".
- (libopcodes_la_SOURCES): Add "dis-init.c".
- (dis-init.lo): Specify dependencies.
- * Makefile.in: Regenerate.
-
-2003-09-03 Dave Brolley <brolley@redhat.com>
-
- * frv-*: Regenerated.
-
-2003-09-02 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c (powerpc_opcodes): Combine identical PPC403/BOOKE entries.
- Move duplicate mnemonic entries together. Use RS instead of RT on
- all mt*.
- * ppc-dis.c: Convert to ISO C.
-
-2003-08-29 Dave Brolley <brolley@redhat.com>
-
- * Makefile.am (stamp-frv): Copy frv.cpu and frv.opc from
- $(srcdir)/../cpu temporarily when regenerating source files.
- * Makefile.in: Regenerated.
-
-2003-08-19 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c (print_insn_arm: case 'A'): Add code to
- disassemble unindexed form of Addressing Mode 5.
-
-2003-08-19 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c (PPC440): Define.
- (powerpc_opcodes): Allow mac*, mul*, nmac*, dccci, dcread, iccci,
- icread instructions when PPC440. Add dlmzb instruction.
-
-2003-08-14 Alan Modra <amodra@bigpond.net.au>
-
- * dep-in.sed: Remove libintl.h.
- * Makefile.am (POTFILES.in): Unset LC_COLLATE.
- Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-08-07 Michael Meissner <gnu@the-meissners.org>
-
- * cgen-asm.c (hash_insn_array): Remove PARAMS macro.
- (hash_insn_list): Ditto.
- (build_asm_hash_table): Ditto.
- (cgen_set_parse_operand_fn): Prototype definition.
- (cgen_init_parse_operand): Ditto.
- (hash_insn_array): Ditto.
- (hash_insn_list): Ditto.
- (build_asm_hash_table): Ditto.
- (cgen_asm_lookup_insn): Ditto.
- (cgen_parse_keyword): Ditto.
- (cgen_parse_signed_integer): Ditto.
- (cgen_parse_unsigned_integer): Ditto.
- (cgen_parse_address): Ditto.
- (cgen_validate_signed_integer): Ditto.
- (cgen_validate_unsigned_integer): Ditto.
-
- * cgen-opc.c (hash_keyword_name): Remove PARAMS macro.
- (hash_keyword_value): Ditto.
- (build_keyword_hash_tables): Ditto.
- (cgen_keyword_lookup_name): Prototype definition.
- (cgen_keyword_lookup_value): Ditto.
- (cgen_keyword_add): Ditto.
- (cgen_keyword_search_init): Ditto.
- (cgen_keyword_search_next): Ditto.
- (hash_keyword_name): Ditto.
- (hash_keyword_value): Ditto.
- (build_keyword_hash_tables): Ditto.
- (cgen_hw_lookup_by_name): Ditto.
- (cgen_hw_lookup_by_num): Ditto.
- (cgen_operand_lookup_by_name): Ditto.
- (cgen_operand_lookup_by_num): Ditto.
- (cgen_insn_count): Ditto.
- (cgen_macro_insn_count): Ditto.
- (cgen_get_insn_value): Ditto.
- (cgen_put_insn_value): Ditto.
- (cgen_lookup_insn): Ditto.
- (cgen_get_insn_operands): Ditto.
- (cgen_lookup_get_insn_operands): Ditto.
- (cgen_set_signed_overflow_ok): Ditto.
- (cgen_clear_signed_overflow_ok): Ditto.
- (cgen_signed_overflow_ok_p): Ditto.
-
- * cgen-dis.c (hash_insn_array): Remove PARAMS macro.
- (hash_insn_list): Ditto.
- (build_dis_hash_table): Ditto.
- (count_decodable_bits): Ditto.
- (add_insn_to_hash_chain): Ditto.
- (count_decodable_bits): Prototype definition.
- (add_insn_to_hash_chain): Ditto.
- (hash_insn_array): Ditto.
- (hash_insn_list): Ditto.
- (build_dis_hash_table): Ditto.
- (cgen_dis_lookup_insn): Ditto.
-
- * cgen-asm.in (parse_insn_normal): Remove PARAMS macro.
- (@arch@_cgen_build_insn_regex): Prototype definition.
- (parse_insn_normal): Ditto.
- (@arch@_cgen_assemble_insn): Ditto.
- (@arch@_cgen_asm_hash_keywords): Ditto.
-
- * cgen-dis.in (print_normal): Remove PARAMS macro. Use void *
- instead of PTR.
- (print_address): Ditto.
- (print_keyword): Ditto.
- (print_insn_normal): Ditto.
- (print_insn): Ditto.
- (default_print_insn): Ditto.
- (read_insn): Ditto.
- (print_normal): Prototype definition. Use void * instead of PTR.
- (print_address): Ditto.
- (print_keyword): Ditto.
- (print_insn_normal): Ditto.
- (read_insn): Ditto.
- (print_insn): Ditto.
- (default_print_insn): Ditto.
- (print_insn_@arch@): Ditto.
-
- * cgen-ibld.in (insert_normal): Remove PARAMS macro.
- (insn_insn_normal): Ditto.
- (extract_normal): Ditto.
- (extract_insn_normal): Ditto.
- (put_insn_int_value): Ditto.
- (insert_1): Ditto.
- (fill_cache): Ditto.
- (extract_1): Ditto.
- (insert_1): Prototype definition.
- (insert_normal): Ditto.
- (insert_insn_normal): Ditto.
- (put_insn_int_value): Ditto.
- (fill_cache): Ditto.
- (extract_1): Ditto.
- (extract_normal): Ditto.
- (extract_insn_normal): Ditto.
-
- * fr30-asm.c: Regenerate.
- * fr30-dis.c: Ditto.
- * fr30-ibld.c: Ditto.
- * frv-asm.c: Ditto.
- * frv-dis.c: Ditto.
- * frv-ibld.c: Ditto.
- * ip2k-asm.c: Ditto.
- * ip2k-dis.c: Ditto.
- * ip2k-ibld.c: Ditto.
- * iq2000-asm.c: Ditto.
- * iq2000-dis.c: Ditto.
- * iq2000-ibld.c: Ditto.
- * m32r-asm.c: Ditto.
- * m32r-dis.c: Ditto.
- * m32r-ibld.c: Ditto.
- * openrisc-asm.c: Ditto.
- * openrisc-dis.c: Ditto.
- * openrisc-ibld.c: Ditto.
- * xstormy16-asm.c: Ditto.
- * xstormy16-dis.c: Ditto.
- * xstormy16-ibld.c: Ditto.
-
-2003-08-06 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
-
-2003-08-05 Nick Clifton <nickc@redhat.com>
-
- * configure.in (ALL_LINGUAS): Add nl.
- * configure: Regenerate.
- * po/nl.po: New Dutch translation.
-
-2003-07-30 Jason Eckhardt <jle@rice.edu>
-
- * i860-dis.c: Convert to ISO C90. Remove superflous prototypes.
-
-2003-07-30 Nick Clifton <nickc@redhat.com>
-
- * po/ro.po: Updated Romanian translation.
-
-2003-07-29 Jakub Jelinek <jakub@redhat.com>
-
- * ppc-opc.c (insert_mbe, extract_mbe): Shift 1L instead of 1 up.
-
-2003-07-24 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
-
-2003-07-18 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c (parse_arm_disassembler_option): Do not expect
- option string to be NUL terminated.
- (parse_disassembler_options): Allow options to be space or
- comma separated.
-
-2003-07-17 Nick Clifton <nickc@redhat.com>
-
- * po/es.po: New Spanish translation.
- * po/sv.po: New Swedish translation.
- * po/opcodes.pot: Regenerate.
-
-2003-07-15 Richard Sandiford <rsandifo@redhat.com>
-
- * mips-dis.c (mips_arch_choices): Add rm7000 and rm9000 entries.
-
-2003-07-14 Nick Clifton <nickc@redhat.com>
-
- * po/tr.po: Update with latest version.
- * po/POTFILES.in: Regenerate.
- * Makefile.in: Regenerate.
-
-2003-07-11 Alan Modra <amodra@bigpond.net.au>
-
- * po/opcodes.pot: Regenerate.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2000-05-25 Alexandre Oliva <aoliva@cygnus.com>
- * m10300-dis.c (disassemble): Negate negative accumulator's shift.
- 2000-05-24 Alexandre Oliva <aoliva@cygnus.com>
- * m10300-dis.c (disassemble, case FSREG, FDREG): Don't assume
- 32-bit longs when sign-extending operands.
- 2000-04-20 Alexandre Oliva <aoliva@cygnus.com>
- * m10300-opc.c: Remove MN10300_OPERAND_RELAX from all FSREGs.
- * m10300-dis.c (HAVE_AM33_2): Define.
- (disassemble): Use it.
- (HAVE_AM33): Redefine.
- (print_insn_mn10300): Fix mask for 5-byte extended insns.
- 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
- * m10300-opc.c: Renamed AM332 to AM33_2.
- 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
- * m10300-opc.c: Defined AM33 2.0 register operands. Added support
- for AM33 2.0 `imm8,(abs16)' addressing mode for btst, bset and
- bclr. Implemented `fbCC', `flCC', `dcpf' and all FP insns.
- * m10300-dis.c (print_insn_mn10300): Recognize 5byte extended
- insn code of AM33 2.0.
- (disassemble): Recognize FMT_D3. Print out FP register names.
-
-2003-07-09 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (set_default_mips_dis_options): Get BFD from
- the disassembler_info's section, rather than from the
- disassembler_info's symbols pointer.
-
-2003-07-07 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c: Remove NULL pointer checks. Formatting. Remove
- extraneous ATTRIBUTE_UNUSED.
- * ppc-dis.c (print_insn_powerpc): Always pass a valid address to
- operand->extract.
-
-2003-07-04 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c: Convert to C90, removing unnecessary prototypes and
- casts. Formatting.
-
- * ppc-opc.c: Remove PARAMS from prototypes.
- (FXM4): Define.
- (insert_fxm): New function, used by both FXM and FXM4.
- (extract_fxm): Likewise.
- (XFXFXM_MASK): Remove 1 << 20 term.
- (powerpc_opcodes): Add Power4 version of "mfcr". Simplify "mtcr" mask.
-
-2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-dis.c (s390_extract_operand): Add support for long displacements.
- * s390-mkopc.c (s390_opcode_cpu_val): Add support for cpu type z990.
- * s390-opc.c (D20_20): Add define for 20 bit displacements.
- (INSTR_RRF_R0RR, INSTR_RSL_R0RD, INSTR_RSY_RRRD, INSTR_RSY_RURD,
- INSTR_RSY_AARD, INSTR_RXY_RRRD, INSTR_RXY_FRRD, INSTR_SIY_URD): Add
- new instruction formats.
- (MASK_RRF_R0RR, MASK_RSL_R0RD, MASK_RSY_RRRD, MASK_RSY_RURD,
- MASK_RSY_AARD, MASK_RXY_RRRD, MASK_RXY_FRRD, MASK_SIY_URD): Likewise.
- (s390_opformats): Likewise.
- * s390-opc.txt: Add new instructions for cpu type z990. Add missing
- hfp instructions. Add missing instructions pgin, pgout and xsch.
-
-2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
-
- * i386-dis.c (PNI_Fixup): New. Fix up "mwait" and "monitor" in
- Intel Precott New Instructions.
- (PREGRP27): New. Added for "addsubpd" and "addsubps".
- (PREGRP28): New. Added for "haddpd" and "haddps".
- (PREGRP29): New. Added for "hsubpd" and "hsubps".
- (PREGRP30): New. Added for "movsldup" and "movddup".
- (PREGRP31): New. Added for "movshdup" and "movhpd".
- (PREGRP32): New. Added for "lddqu".
- (dis386_twobyte): Use PREGRP30 to replace the "movlpX" entry.
- Use PREGRP31 to replace the "movhpX" entry. Use PREGRP28 for
- entry 0x7c. Use PREGRP29 for entry 0x7d. Use PREGRP27 for
- entry 0xd0. Use PREGRP32 for entry 0xf0.
- (twobyte_has_modrm): Updated.
- (twobyte_uses_SSE_prefix): Likewise.
- (grps): Use PNI_Fixup in the "sidtQ" entry.
- (prefix_user_table): Add PREGRP27, PREGRP28, PREGRP29, PREGRP30,
- PREGRP31 and PREGRP32.
- (float_mem): Use "fisttp{l||l|}" in entry 1 in opcode 0xdb.
- Use "fisttpll" in entry 1 in opcode 0xdd.
- Use "fisttp" in entry 1 in opcode 0xdf.
-
-2003-06-19 Christian Groessler <chris@groessler.org>
-
- * z8k-dis.c (instr_data_s): Change tabl_index from long to int.
- (print_insn_z8k): Correctly check return value from
- z8k_lookup_instr call.
- (unparse_instr): Handle CLASS_IRO case.
- * z8kgen.c: Fix function definitions. Fix formatting.
- (opt): Add brk opcode alias for non-simulator breakpoint. Add
- missing and fix existing in/out and sin/sout opcode definitions.
- (args): "@ri", "@ro" - add CLASS_IRO register usage for in/out
- opcodes.
- (internal): Check p->flags for non-zero before dereferencing it.
- (gas): Add CLASS_IRO line. Insert new OPC_xxx lines for the added
- opcodes and renumber the remaining lines repectively.
- (main): Remove "-d" command line switch.
- * z8k-opc.h: Regenerate with new z8kgen.c.
-
-2003-06-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * po/Make-in (DESTDIR): New.
- (install-data-yes): Support $(DESTDIR).
- (uninstall): Likewise.
-
-2003-06-11 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2003-06-10 Doug Evans <dje@sebabeach.org>
-
- * cgen-asm.in (@arch@_cgen_assemble_insn): CGEN_INSN_RELAX renamed to
- CGEN_INSN_RELAXED.
- * fr30-asm.c,fr30-desc.c,fr30-desc.h: Regenerate.
- * frv-asm.c,frv-desc.c,frv-desc.h: Regenerate.
- * ip2k-asm.c,ip2k-desc.c,ip2k-desc.h: Regenerate.
- * iq2000-asm.c,iq2000-desc.c,iq2000-desc.h: Regenerate.
- * m32r-asm.c,m32r-desc.c,m32r-desc.h,m32r-opc.c: Regenerate.
- * openrisc-asm.c,openrisc-desc.c,openrisc-desc.h: Regenerate.
- * xstormy16-asm.c,xstormy16-desc.c,xstormy16-desc.h: Regenerate.
-
-2003-06-10 Gary Hade <garyhade@us.ibm.com>
- Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c (DQ, RAQ, RSQ, RTQ): Define.
- (insert_dq, extract_dq, insert_raq, insert_rtq, insert_rsq): New.
- (powerpc_opcodes): Add "attn", "lq" and "stq".
-
-2003-06-10 Richard Sandiford <rsandifo@redhat.com>
-
- * h8300-dis.c (bfd_h8_disassemble): Don't print brackets round
- rts/l and rte/l register lists.
-
-2003-06-03 Nick Clifton <nickc@redhat.com>
-
- * frv-desc.c: Regenerate.
- * frv-opc.c: Regenerate.
- * frv-asm.c: Regenerate.
- * frv-desc.h: Regenerate.
- * frv-dis.c: Regenerate.
- * frv-ibld.c: Regenerate.
- * frv-opc.h: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2003-06-03 Michael Snyder <msnyder@redhat.com>
- and Bernd Schmidt <bernds@redhat.com>
- and Alexandre Oliva <aoliva@redhat.com>
-
- * disassemble.c (disassembler): Add support for h8300sx.
- * h8300-dis.c: Ditto.
-
-2003-06-03 Nick Clifton <nickc@redhat.com>
-
- * frv-desc.c: Regenerate.
- * frv-opc.c: Regenerate.
-
- * aclocal.m4: Regenerate.
- * config.in: Regenerate.
- * configure: Regenerate.
- * iq2000-asm.c: Regenerate.
- * iq2000-desc.c: Regenerate.
- * iq2000-desc.h: Regenerate.
- * iq2000-dis.c: Regenerate.
- * iq2000-ibld.c: Regenerate.
- * iq2000-opc.c: Regenerate.
- * iq2000-opc.h: Regenerate.
- * po/POTFILES.in: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2003-05-23 Jason Eckhardt <jle@rice.edu>
-
- * i860-dis.c (crnames): Add bear, ccr, p0, p1, p2, p3.
- (print_insn_i860): Grab 4 bits of the control register field
- instead of 3.
-
-2003-05-18 Jason Eckhardt <jle@rice.edu>
-
- * i860-dis.c (print_insn_i860): Instruction shrd has a dual bit,
- print it.
-
-2003-05-17 Andreas Jaeger <aj@suse.de>
-
- * Makefile.am (libopcodes_la_LIBADD): Add libbfd.la.
- (libopcodes_la_DEPENDENCIES): Add libbfd.la.
- * Makefile.in: Regenerated.
-
-2003-05-16 Nick Clifton <nickc@redhat.com>
-
- * configure.in (ALL_LINGUAS): Add Romanian translation.
- * configure: Regenerate.
- * po/ro.po: New file: Romanian translation.
-
-2003-05-12 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * disassemble.c (disassembler): Add support for h8300hn and h8300sn.
-
-2003-05-09 Alan Modra <amodra@bigpond.net.au>
-
- * i386-dis.c (print_insn): Test intel_syntax against (char) -1 in
- case char is unsigned.
-
-2003-05-01 Christian Groessler <chris@groessler.org>
-
- * z8k-dis.c (z8k_lookup_instr): Optimize FETCH_DATA calls.
- (unpack_instr): Fix representation of segmented addresses.
- (intr_name): Added, contains names of the parameters to the EI/DI
- instructions.
- (unparse_instr): Fix display of EI/DI parameters.
-
-2003-04-22 Doug Evans <dje@sebabeach.org>
-
- * fr30-desc.c,fr30-desc.h,fr30-opc.c,fr30-opc.h: Regenerate.
- * frv-desc.c,frv-desc.h,frv-opc.c,frv-opc.h: Regenerate.
- * ip2k-desc.c,ip2k-desc.h,ip2k-opc.c,ip2k-opc.h: Regenerate.
- * m32r-desc.c,m32r-desc.h,m32r-opc.c,m32r-opc.h: Regenerate.
- * m32r-opinst.c: Regenerate.
- * openrisc-desc.c,openrisc-desc.h,openrisc-opc.c,openrisc-opc.h: Regenerate.
- * xstormy16-desc.c,xstormy16-desc.h,xstormy16-opc.c,xstormy16-opc.h: Regenerate.
-
-2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
-
- * h8500-opc.c: Replace occurrances of 'Hitachi' with 'Renesas'.
-
-2003-04-07 James E Wilson <wilson@tuliptree.org>
-
- * ia64-ic.tbl (fr-readers): Add mem-writers-fp.
- * ia64-asmtab.c: Regenerate.
-
-2003-04-08 Alexandre Oliva <aoliva@redhat.com>
-
- * mips-dis.c (mips_gpr_names_newabi): Reverted previous patch.
-
-2003-04-07 Alexandre Oliva <aoliva@redhat.com>
-
- * mips-dis.c (mips_gpr_names_newabi): $12-$15 are named $t4-$t7.
-
-2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x-dis.c: Namespace cleanup. Replace s/c4x/tic4x and
- s/c3x/tic3x/
-
-2003-04-01 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c: Remove presence of (r) and (tm) symbols.
- * arm-opc.h: Remove presence of (r) and (tm) symbols.
-
-2003-03-25 Stan Cox <scox@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- Contribute support for Intel's iWMMXt chip - an ARM variant:
-
- * arm-dis.c (regnames): Add iWMMXt register names.
- (set_iwmmxt_regnames): New function.
- (print_insn_arm): Handle iWMMXt formatters.
- * arm-opc.h: Document iWMMXt formatters.
- (arm_opcod): Add iWMMXt instructions.
-
-2003-03-22 Doug Evans <dje@sebabeach.org>
-
- * i386-dis.c (dis386): Recognize icebp (0xf1).
-
-2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-dis.c (init_disasm): Rename S390_OPCODE_ESAME to
- S390_OPCODE_ZARCH.
- (print_insn_s390): Use new modes field of s390_opcodes.
- * s390-mkopc.c (ARCHBITS_ESAONLY, ARCHBITS_ESA, ARCHBITS_ESAME): Remove.
- (s390_opcode_mode_val, s390_opcode_cpu_val): New enums.
- (struct op_struct): Remove archbits. Add mode_bits and min_cpu.
- (insertOpcode): Replace archbits by min_cpu and mode_bits.
- (dumpTable): Write mode_bits and min_cpu instead of archbits.
- (main): Adapt to new format in s390-opcode.txt.
- * s390-opc.c (s390_opformats): Replace archbits by min_cpu and
- mode_bits.
- * s390-opc.txt: Replace archbits by min_cpu and mode_bits.
-
-2003-03-17 Nick Clifton <nickc@redhat.com>
-
- * ppc-opc.c: Fix formatting. Update copyright date.
-
-2003-03-14 Daniel Jacobowitz <drow@mvista.com>
-
- * ppc-opc.c (powerpc_opcodes): Readd tlbre for PPC403.
-
-2003-02-25 Alan Modra <amodra@bigpond.net.au>
-
- * hppa-dis.c: Formatting.
-
-2003-02-25 Matthew Wilcox <willy@debian.org>
-
- * hppa-dis.c (print_insn_hppa): Implement fcnv instruction modifiers.
-
- * hppa-dis.c (print_insn_hppa <2 bit space register>): Do not print
- the space register when the value is zero.
-
-2003-02-23 Elias Athanasopoulos <elathan@phys.uoa.gr>
-
- * mips-dis.c (print_mips_disassembler_options): Make 'i' unsigned,
- use ARRAY_SIZE in loops.
-
-2003-02-12 Dave Brolley <brolley@redhat.com>
-
- * fr30-desc.c: Regenerate.
-
-2003-02-06 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com>
-
- * i386-dis.c (dq_mode, Edq): Define.
- (dis386_twobyte): Correct movd operands.
- (OP_E): Handle dq_mode case.
-
-2003-01-29 Henric Jungheim <henric@attbi.com>
-
- * sparc-dis.c (print_insn_sparc): When examining values added in
- to rs1, make sure that there are previous instructions.
-
-2003-01-23 Nick Clifton <nickc@redhat.com>
-
- * Add sh2e support:
-
- 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-dis.c (print_insn_shx): Handle bfd_mach_sh2e.
- * sh-opc.h (arch_sh2e, arch_sh2e_up): New.
- (arch_sh2_up): Added sh2e.
- (sh_table): Replaced all occurrences of arch_sh3e_up with
- arch_sh2e_up, except in fsqrt.
-
-2003-01-23 Alan Modra <amodra@bigpond.net.au>
-
- * sh64-dis.c: Include elf32-sh64.h.
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-01-17 Richard Henderson <rth@redhat.com>
-
- * alpha-opc.c (alpha_opcodes): Add bugchk, rduniq, wruniq, gentrap
- PAL entry points.
-
-2003-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2003-01-08 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (ALL_MACHINES): Add msp430-dis.lo.
- * Makefile.in: Regenerate.
-
-2003-01-08 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c (powerpc_macros <extrwi>): Accept a shift of 32.
-
-2002-01-02 Ben Elliston <bje@redhat.com>
- Jeff Johnston <jjohnstn@redhat.com>
-
- * iq2000-asm.c: New file.
- * iq2000-desc.c: Likewise.
- * iq2000-desc.h: Likewise.
- * iq2000-dis.c: Likewise.
- * iq2000-ibld.c: Likewise.
- * iq2000-opc.c: Likewise.
- * iq2000-opc.h: Likewise.
- * Makefile.am (HFILES): Add iq2000-desc.h, iq2000-opc.h.
- (CFILES): Add iq2000-asm.c, iq2000-desc.c, iq2000-dis.c,
- iq2000-ibld.c, iq2000-opc.c.
- (ALL_MACHINES): Add iq2000-asm.lo, iq2000-desc.lo, iq2000-dis.lo,
- iq2000-ibld.lo, iq2000-opc.lo.
- (CLEANFILES): Add stamp-iq2000.
- (IQ2000_DEPS): New macro.
- (stamp-iq2000): New target.
- * Makefile.in: Regenerate.
- * configure.in: Handle bfd_iq2000_arch.
- * configure: Regenerate.
-
-2003-01-02 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (print_insn_args): Use position extracted by "+A"
- to calculate size for "+B". Redo code for "+C" so it shares
- the same style as "+A" and "+B" now do.
-
-2003-01-02 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c: Update copyright years.
- (print_insn_arg): Rename to...
- (print_insn_args): This, returning void. Process the whole
- string of args rather than a single one. Reindent.
- (print_insn_mips): Update to match the above.
-
-2002-12-31 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Move "di" into the
- right order alphabetically, and make all hex constants use
- lower-case letters.
-
-2002-12-31 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_cp0sel_name): New structure.
- (mips_cp0sel_names_mips3264, mips_cp0sel_names_mips3264r2)
- (mips_cp0sel_names_sb1): New arrays.
- (mips_arch_choice): New structure members "cp0sel_names" and
- "cp0sel_names_len".
- (mips_arch_choices): Add references to new cp0sel_names arrays
- as appropriate, and make all existing entries reference
- appropriate mips_XXX_names_numeric arrays rather than simply
- using NULL.
- (mips_cp0sel_names, mips_cp0sel_names_len): New variables.
- (lookup_mips_cp0sel_name): New function.
- (set_default_mips_dis_options): Set mips_cp0sel_names and
- mips_cp0sel_names_len as appropriate. Remove now-unnecessary
- checks for NULL register name arrays.
- (parse_mips_dis_option): Likewise.
- (print_insn_arg): Handle "+D" operand type.
- * mips-opc.c (mips_builtin_opcodes): Add new "+D" variants
- of mfc0, mtc0, dmfc0, and dmtc0 to print CP0+sel register
- names symbolically.
-
-2002-12-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_cp0_names_mips3264r2, mips_hwr_names_numeric)
- (mips_hwr_names_mips3264r2): New arrays.
- (mips_arch_choice): New "hwr_names" member.
- (mips_arch_choices): Adjust for structure change, and add a new
- entry for "mips32r2" ISA.
- (mips_hwr_names): New variable.
- (set_default_mips_dis_options): Set mips_hwr_names.
- (parse_mips_dis_option): New "hwr-names" option which sets
- mips_hwr_names, and adjust "reg-names=ARCH" to set mips_hwr_names.
- (print_insn_arg): Change return type to "int"
- and use that to indicate number of characters consumed.
- Add support for "+" operand extension character, "+A", "+B",
- "+C", and "K" operands.
- (print_insn_mips): Adjust for changes to print_insn_arg.
- (print_mips_disassembler_options): Adjust for "hwr-names"
- addition and "reg-names" change.
- * mips-opc (I33): New define (shorthand for INSN_ISA32R2).
- (mips_builtin_opcodes): Note that "nop" and "ssnop" are special
- forms of "sll". Add new MIPS32 Release 2 instructions: ehb,
- di, ei, ext, ins, jr.hb, jalr.hb, mfhc1, mfhc2, mthc1, mthc2,
- rdhwr, rdpgpr, seb, seh, synci, wrpgpr, wsbh.
- Note that hardware rotate instructions (ror, rorv) can be
- used on MIPS32 Release 2, and add the official mnemonics
- for them (rotr, rotrv) and the similar "rotl" mnemonic for
- left-rotate.
-
-2002-12-30 Dmitry Diky <diwil@mail.ru>
-
- * configure.in: Add msp430 target.
- * configure: Regenerate.
- * disassemble.c: Add entry for msp430 disassembly.
- * msp430-dis.c: New file: msp430 disassembler.
-
-2002-12-27 Chris Demetriou <cgd@broadcom.com>
-
- * disassemble.c (disassembler_usage): Add invocation of
- print_mips_disassembler_options.
- * mips-dis.c: Include libiberty.h.
- (print_mips_disassembler_options, set_default_mips_dis_options)
- (parse_mips_dis_option, parse_mips_dis_options, choose_abi_by_name)
- (choose_arch_by_name, choose_arch_by_number): New functions.
- (mips_abi_choice, mips_arch_choice): New structures.
- (mips32_reg_names, mips64_reg_names, reg_names): Remove.
- (mips_gpr_names_numeric, mips_gpr_names_oldabi)
- (mips_gpr_names_newabi, mips_fpr_names_numeric)
- (mips_fpr_names_32, mips_fpr_names_n32, mips_fpr_names_64)
- (mips_cp0_names_numeric, mips_cp0_names_mips3264)
- (mips_cp0_names_sb1, mips_abi_choices, mips_arch_choices)
- (mips_processor, mips_isa, mips_gpr_names, mips_fpr_names)
- (mips_cp0_names): New variables.
- (print_insn_args): Use new variables to print GPR, FPR, and CP0
- register names.
- (mips_isa_type): Remove.
- (print_insn_mips): Remove ISA and CPU setup since it is now done...
- (_print_insn_mips): Here. Remove register setup code, and
- call set_default_mips_dis_options and parse_mips_dis_options
- instead.
- (print_mips16_insn_arg): Use mips_gpr_names instead of mips32_names.
-
-2002-12-23 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2002-12-19 Nick Kelsey <nickk@ubicom.com>
-
- * cgen-asm.c (cgen_parse_keyword): Added underscore to symbol character
- check to fix false keyword trigger with names such as <keyword>_foo.
-
-2002-12-19 Doug Evans <dje@sebabeach.org>
-
- * Makefile.am (CGEN_CPUS): New variable.
- (run-cgen-all): New rule.
- * Makefile.in: Regenerate.
-
-2002-12-18 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Remove one "ror" and two
- "dror" entries, and reorder the remaining "dror" and "ror" entries.
-
-2002-12-16 DJ Delorie <dj@delorie.com>
-
- * xstormy16-asm.c (parse_immediate16): Add prototype.
-
-2002-12-16 Andrew MacLeod <amacleod@redhat.com>
-
- * xstormy16-asm.c: Regenerate.
-
-2002-12-16 Alan Modra <amodra@bigpond.net.au>
-
- * ns32k-dis.c (print_insn_ns32k): Constify "d", remove register
- keyword.
-
-2002-12-13 Alan Modra <amodra@bigpond.net.au>
-
- * h8500-opc.h (h8500_table): Add missing initializers to quiet
- warnings.
- * pj-dis.c (print_insn_pj): Adjust for pj_opc_info_t change.
- * pj-opc.c (pj_opc_info): Add braces around union initializer.
- * z8kgen.c: Include "libiberty.h".
- (opt, args, toks): Fix initializer warnings.
- (chewname): Make "name" a char **. Return mnemonic trimmed of
- operands.
- (gas): Improve emitted "DO NOT EDIT" warning. Format emitted
- opcode_entry_type, and make "nicename" and "name" const. Make
- z8k_table const too. Formatting. Generate idx as gas needs it.
- * z8k-opc.h: Regenerate.
-
-2002-12-08 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-dis.c (print_indexed_operand): Fix PC-relative address
- for 9 and 16-bit PC-relative addressing mode.
-
-2002-12-05 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c: Delete evsabs, evsnabs, evsneg, evsadd, evssub,
- evsmul, evsdiv, evscmpgt, evsgmplt, evststgt, evtstlt, evststeq,
- evscfui, evscfsi, evscfuf, evscfsf, evsctui, evsctuiz, evsctsi,
- evsctsiz, evsctuf, evsctsf, evmwhssfaa, evmwhssmaa, evmwhsmfaa,
- evmwhsmiaa, evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian,
- evmwhsmfan, evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa,
- evmwhgsmfaa, evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan,
- evmwhgsmian, evmwhgumian.
- (mftb): Add to opcode table.
- (mtspefscr): Change RT to RS in opcode table.
-
-2002-12-05 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c: Move mbar and msync up. Change mask for mbar and
- msync.
-
-2002-12-04 David Mosberger <davidm@hpl.hp.com>
-
- * ia64-opc-d.c (ia64_opcodes_d): Add "hint" instruction.
- * ia64-opc-b.c: Add "hint.b" instruction.
- * ia64-opc-f.c: Add "hint.f" instruction.
- * ia64-opc-i.c: Add "hint.i" instruction.
- * ia64-opc-m.c: Add "hint.m", "fc.i", "ld16", "st16", and
- "cmp8xchg16" instructions.
- * ia64-opc-x.c: Add "hint.x" instruction.
-
- * ia64-opc.h (AR_CSD): New macro.
-
- * ia64-ic.tbl: Update according to SDM2.1.
- * ia64-raw.tbl: Ditto.
- * ia64-waw.tbl: Ditto.
-
- * ia64-gen.c (in_iclass): Handle "hint" like "nop".
- (lookup_regindex): Recognize AR[FCR], AR[EFLAG], AR[CSD],
- AR[SSD], AR[CFLG], AR[FSR], AR[FIR], and AR[FDR].
- * ia64-asmtab.c: Regenerate.
-
-2002-11-25 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c: Remove evmwlssf, evmwlssfa, evmwlsmf, evmwlsmfa,
- evmwlssfaaw, evmwlsmfaaw, evmwlssfanw, evmwlsfanw.
-
-2002-12-04 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c (PMRN): Remove.
- (RA): Set to NB + 1.
- (powerpc_opcodes): Change PMRN to SPR.
- Change all RD to RS.
- Change mftb to look like mftbl.
- Move mftb before mftbl.
- Add mfbbtar.
- Add mtbbtar.
- Change mfpmr to use PMR.
- Change mtpmr to use PMR.
- (RD): Remove.
- (insert_ev2): Fix mask and shift.
- (extract_ev2): Same.
- (insert_ev4): Same.
- (extract_ev4): Same.
- (PMR): Define.
- (extract_pmrn): Remove.
- (insert_pmrn): Remove.
-
-2002-12-03 Richard Henderson <rth@redhat.com>
-
- * ia64-opc-m.c: Add ld8.mov.
- * ia64-asmtab.c: Regenerate.
-
-2002-12-02 Alan Modra <amodra@bigpond.net.au>
-
- * arm-dis.c (print_insn_arm): Constify "insn". Formatting.
- (print_insn_thumb): Likewise.
- * h8500-dis.c (print_insn_h8500): Constify "opcode".
- * mcore-dis.c (print_insn_mcore): Constify "op". Formatting.
- * ns32k-dis.c (print_insn_arg <case 'F'>): Use a union to avoid
- type-punned pointer warnings.
- <case 'L'>: Likewise. Fix error message too.
- * pdp11-dis.c (print_reg): Warning fix.
- * sh-dis.c (print_movxy): Constify "op" param.
- (print_insn_ddt): Constify sh_opcode_info vars.
- (print_insn_ppi): Likewise.
- (print_insn_sh): Likewise.
- * tic30-dis.c (cnvt_tmsfloat_ieee): Use a union to avoid
- type-punned pointer warnings.
- * w65-dis.c (print_insn_w65): Constify "op".
-
-2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-dis.c (PC_REGNUM): Define.
- (print_indexed_operand): Need an adjustment for some PC-relative
- operand modes; print the final address of PC-relative modes.
- (print_insn): Take into account movw/movb to adjust the PC-relative
- operand addresses.
-
-2002-11-30 Alan Modra <amodra@bigpond.net.au>
-
- *arm-dis.c, cris-dis.c, h8300-dis.c, mips-dis.c, mmix-dis.c, sh-dis.c,
- sh64-dis.c, v850-dis.c: Replace boolean with bfd_boolean, true with
- TRUE, false with FALSE. Simplify comparisons of bfd_boolean vars
- with TRUE/FALSE. Formatting.
-
-2002-11-25 DJ Delorie <dj@redhat.com>
-
- * xstormy16-opc.c: Regenerate.
-
-2002-11-25 Jim Wilson <wilson@redhat.com>
-
- * ia64-dis.c (print_insn_ia64): Correct handling of IA64_OPND_TGT64.
-
-2002-11-15 DJ Delorie <dj@redhat.com>
-
- * xstormy16-desc.c: Regenerate.
- * xstormy16-opc.c: Regenerate.
- * xstormy16-opc.h: Regenerate.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * avr-dis.c: Include libiberty.h (for xmalloc).
- (struct avr_opcodes_s): Remove 'bin_mask' field (it's
- automatically computed in the init routine).
- (AVR_INSN): No longer provide bin_mask field in initializer.
- (avr_opcodes_s): Declare as const.
- (print_insn_avr): Store the bin_mask field in a separate table
- (allocated with xmalloc); iterate through it at the same time as
- we iterate through the opcodes.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * h8300-dis.c: Include libiberty.h (for xmalloc).
- (struct h8_instruction): New type, used to wrap h8_opcodes with a
- length field (computed at run-time).
- (h8_instructions): New variable.
- (bfd_h8_disassemble_init): Allocate the storage for
- h8_instructions. Fill h8_instructions with pointers to the
- appropriate opcode and the correct value for the length field.
- (bfd_h8_disassemble): Iterate through h8_instructions instead of
- h8_opcodes.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * arc-opc.c (arc_ext_opcodes): Define.
- (arc_ext_operands): Define.
- * i386-dis.c (Suffix3DNow): Declare as const.
- * arm-opc.h (arm_opcodes): Declare as const.
- (thumb_opcodes): Declare as const.
- * h8500-opc.h (h8500_table): Declare as const.
- (h8500_table): Use a NULL for the opcode in the terminator, so
- that code testing (opcode->name) behaves correctly.
- * mcore-opc.h (mcore_table): Declare as const.
- * sh-opc.h (sh_table): Declare as const.
- * w65-opc.h (optable): Declare as const.
- * z8k-opc.h (z8k_table): Declare as const.
-
-2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x-dis.c: Added support for enhanced and special insn.
- (c4x_print_op): Added insn class 'i' and 'j'
- (c4x_hash_opcode_special): Add to support special insn
- (c4x_hash_opcode): Update to support the new opcode-list
- format. Add support for the new special insns.
- (c4x_disassemble): New opcode-list support.
-
-2002-11-16 Klee Dienes <kdienes@apple.com>
-
- * m88k-dis.c: Include libiberty.h (for xmalloc).
- (HASHTAB): New type, used to build instruction hash tables.
- Contains a pointer to an INSTAB and a pointer to the next hash
- chain entry.
- (instructions): Move definition from m88k.h; remove initialization
- of 'next' field.
- (hashtable): Now an aray of pointer-to-HASHTAB, not INSTAB.
- (printop): Mark pointer to OPSPEC as const.
- (install): Remove; fold into init_disasm.
- (m88kdis): Update to ihashtab_initialized to 1 after calling
- init_disasm. entry_ptr now iterates through HASHTABs, not
- INSTABs.
- (init_disasm): Iterate through the instructions and add to
- hashtable[].
-
-2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x-dis.c: (c4x_print_op): Add support for the new argument
- format. Fix bug in 'N' register printer.
-
-2002-11-12 Segher Boessenkool <segher@koffie.nl>
-
- * ppc-dis.c (print_insn_powerpc): Correct condition register display.
-
-2002-11-07 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c (EVUIMM_4): Change bit size to 32.
- (EVUIMM_2): Same.
- (EVUIMM_8): Same.
-
-2002-11-07 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (ia64-asmtab.c): Update to use the new '--srcdir'
- argument to ia64-gen.
- Regenerate dependencies for ia64-len.lo.
- * Makefile.in: Regenerate.
- * ia64-gen.c: Convert to use getopt(). Add the standard GNU
- options, as well as '--srcdir', which controls the directory in
- which ia64-gen looks for the sources it uses to generate the
- output table. Add a 'const' to the declaration of the final
- output table. Call xmalloc_set_program_name to set the program
- name.
- * ia64-asmtab.c: Regenerate.
-
-2002-11-07 Nick Clifton <nickc@redhat.com>
-
- * ia64-gen.c: Fix comment formatting and compile time warnings.
- * ia64-opc-a.c: Fix compile time warnings.
- * ia64-opc-b.c: Likewise.
- * ia64-opc-d.c: Likewise.
- * ia64-opc-f.c: Likewise.
- * ia64-opc-i.c: Likewise.
- * ia64-opc-m.c: Likewise.
- * ia64-opc-x.c: Likewise.
-
-2002-11-06 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c: Change RD to RS for evmerge*.
-
-2002-10-07 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * sparc-opc.c (sparc_opcodes) <fb, fba, fbe, fbz, fbg, fbge,
- fbl, fble, fblg, fbn, fbne, fbnz, fbo, fbu, fbue, fbug, fbuge,
- fbul, fbule>: Add conditional/unconditional branch
- classification.
-
-2002-10-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-dis.c (print_insn): Treat bitmask and branch operands
- at the end.
-
-2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
- Ken Raeburn <raeburn@cygnus.com>
- Aldy Hernandez <aldyh@redhat.com>
- Eric Christopher <echristo@redhat.com>
- Richard Sandiford <rsandifo@redhat.com>
-
- * mips-dis.c (print_insn_arg): Handle '[', ']', 'e' and '%'.
- (mips_isa_type): Handle bfd_mach_mips4120, bfd_mach_mips5400
- and bfd_mach_mips5500.
- * mips-opc.c (V1): Include INSN_4111 and INSN_4120.
- (N411, N412, N5, N54, N55): New convenience defines.
- (mips_builtin_opcodes): Add vr4120, vr5400 and vr5500 opcodes.
- Change dmadd16 and madd16 from V1 to N411.
-
-2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (print_insn_mips): Always allow disassembly of
- 32-bit jalx opcode.
-
-2002-09-24 Nick Clifton <nickc@redhat.com>
-
- * po/de.po: Updated German translation.
-
-2002-09-21 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2002-09-20 Nick Clifton <nickc@redhat.com>
-
- * ppc-opc.c (CRFD, CRFS): Add PPC_OPERAND_CR flag so that cr
- register names are accepted.
-
-2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x-dis.c: Add function declarations and ATTRIBUTE_UNUSED.
- Convert functions to K&R format.
-
-2002-09-13 Nick Clifton <nickc@redhat.com>
-
- * ppc-opc.c (MFDEC2): Include Book-E.
- (PPCCHLK64): New opcode mask.
- (evsubw, evsubiw, evmr, evnot, isellt, iselgt, iseleq, mfpid,
- mfcsrr0, mfcsrr1, mfdear, mfesr, mfivpr, mfusprg0, mftbl,
- mftbu, mfpir, mfdbsr, mfdbcr0, mfdbcr1, mfdbcr2, mfiac1,
- mfiac2, mfiac3, mfiac4, mfdac1, mfdac2, mfdvc1, mfdvc2, mftsr,
- mftcr, mfivor0, mfivor1, mfivor2, mfivor3, mfivor4, mfivor5,
- mfivor6, mfivor7, mfivor8, mfivor9, mfivor10, mfivor11,
- mfivor12, mfivor13, mfivor14, mfivor15, mfbbear, mfmcsrr0,
- mfmcsrr1, mfmcsr, mtpid, mtdecar, mtcsrr0, mtcsrr1, mtdear,
- mtesr, mtivpr, mtusprg0, mtsprg4, mtsprg5, mtsprg6, mtsprg7,
- mtdbsr, mtdbcr0, mtdbcr1, mtdbcr2, mtiac1, mtiac2, mtiac3,
- mtiac4, mtdac1, mtdac2, mtdvc1, mtdvc2, mttsr, mttcr, mtivor0,
- mtivor1, mtivor2, mtivor3, mtivor4, mtivor5, mtivor6, mtivor7,
- mtivor8, mtivor9, mtivor10, mtivor11, mtivor12, mtivor13,
- mtivor14, mtivor15, mtbbear, mtmcsrr0, mtmcsrr1, mtmcsr): New
- Book-E instructions.
- (evfsneg): Fix opcode value.
- (dcbtstlse, dcbtlse, icblce, dcblce, icbtsle): Use PPCCHLK64
- mask.
- (mcrxr64, tlbivaxe, tlbsxe, tlbsxe.): Restrict to 64-bit
- Book-E.
- (extsw): Restrict to 64-bit PPC instruction sets.
- (extsw.): Does not exist in 64-bit Book-E.
- (powerpc_macro): Remove mftbl, mftbu and mftb Book-E macros as
- they are no longer needed.
-
-2002-09-12 Gary Hade <garyhade@us.ibm.com>
-
- * ppc-dis.c (powerpc_dialect): Add missing PPC_OPCODE_CLASSIC.
-
-2002-09-11 Nick Clifton <nickc@redhat.com>
-
- * po/da.po: Updated Danish translation file.
-
-2002-09-04 Nick Clifton <nickc@redhat.com>
-
- * ppc-opc.c (extsw, extsw.): Do not allow for the BookE32.
-
-2002-09-04 Nick Clifton <nickc@redhat.com>
-
- * disassemble.c (disassembler_usage): Add invocation of
- print_ppc_disassembler_options.
- * ppc-dis.c (print_ppc_disassembler_options): New function.
-
-2002-09-04 Nick Clifton <nickc@redhat.com>
-
- * ppc-opc.c: The BookE implementations of the TLBWE and TLBRE
- instructions do not take any arguments.
-
-2002-09-02 Nick Clifton <nickc@redhat.com>
-
- * v850-opc.c: Remove redundant references to V850EA architecture.
-
-2002-09-02 Alan Modra <amodra@bigpond.net.au>
-
- * arc-opc.c: Include bfd.h.
- (arc_get_opcode_mach): Subtract off base bfd_mach value.
-
-2002-08-30 Alan Modra <amodra@bigpond.net.au>
-
- * v850-dis.c (disassemble): Remove bfd_mach_v850ea case.
-
- * mips-dis.c (_print_insn_mips): Don't use hard-coded mach constants.
-
-2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * configure.in: Added bfd_tic4x_arch.
- * configure: Regenerate.
- * Makefile.am: Added tic4x-dis.o target.
- * Makefile.in: Regenerate.
-
-2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * disassemble.c: Added tic4x target and c4x
- disassembler routine.
- * tic4x-dis.c: New file.
-
-2002-08-16 Christian Groessler <chris@groessler.org>
-
- * z8k-dis.c (unparse_instr): case CLASS_BA: Designate hex
- values as those.
- * z8kgen.c (opt): Fix definition of "in rd,imm16" opcode.
- * z8k-opc.h: Regenerated with new z8kgen.c.
-
-2002-08-19 Elena Zannoni <ezannoni@redhat.com>
-
- From matthew green <mrg@redhat.com>
-
- * ppc-dis.c (powerpc_dialect): Support `-m500', `-m500x2' and
- `-mefs'. Turn off AltiVec for E500 and efs.
- (print_insn_powerpc): Don't print an AltiVec instruction if the
- dialect is not efs.
-
- * ppc-opc.c (insert_pmrn, extract_pmrn, insert_ev2, extract_ev2,
- insert_ev4, extract_ev4, insert_ev8, extract_ev8): New functions
- for extracting pmrn/evld/evstd/etc operands.
- (CRB, CRFD, CRFS, DC, RD): New instruction fields.
- (CT): Make this equal to RD + 1.
- (PMRN): New operand.
- (RA): Update.
- (EVUIMM, EVUIMM_2, EVUIMM_4, EVUIMM_8): New operands.
- (WS): Update.
- (EVSEL, EVSEL_MASK): New instruction form and mask for EVSEL.
- (ISEL, ISEL_MASK): New instruction form and mask for ISEL.
- (XISEL, XISEL_MASK): New instruction form and mask for ISEL.
- (CTX, CTX_MASK): New instruction form and mask for context cache
- instructions.
- (UCTX, UCTX_MASK): New instruction form and mask for user context
- cache instructions.
- (XC, XC_MASK, XUC, XUC_MASK): New instruction forms.
- (CLASSIC): New define.
- (PPCESPE): New define.
- (PPCISEL, , PPCBRLK, PPCPMR, PPCCHLK, PPCRFMI): New
- defines for integer select, cache control, branch
- locking, power management, cache locking and machine check
- APU instructions, respectively.
- (efsabs, efsnabs, efsneg, efsadd, efssub, efsmul,
- efsdiv, efscmpgt, efscmplt, efscmpeq, efststgt, efststlt,
- efststeq, efscfui, efsctuiz, efscfsi, efscfuf, efscfsf,
- efsctui, efsctsi, efsctsiz, efsctuf, efsctsf,
- evaddw, evaddiw, evsubfw, evsubifw, evabs, evneg, evextsb,
- evextsh, evrndw, evcntlzw, evcntlsw, brinc, evand, evandc, evor,
- evorc, evxor, eveqv, evnand, evnor, evrlw, evrlwi, evslw, evslwi,
- evsrws, evsrwu, evsrwis, evsrwiu, evsplati, evsplatfi, evmergehi,
- evmergelo, evmergehilo, evmergelohi, evcmpgts, evcmpgtu, evcmplts,
- evcmpltu, evcmpeq, evsel, evldd, evlddx, evldw, evldwx, evldh,
- evldhx, evlwhe, evlwhex, evlwhou, evlwhoux, evlwhos, evlwhosx,
- evlwwsplat, evlwwsplatx, evlwhsplat, evlwhsplatx, evlhhesplat,
- evlhhesplatx, evlhousplat, evlhousplatx, evlhossplat, evlhossplatx,
- evstdd, evstddx, evstdw, evstdwx, evstdh, evstdhx, evstwwe,
- evstwwex, evstwwo, evstwwox, evstwhe, evstwhex, evstwho, evstwhox,
- evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul, evfsdiv,
- evfscmpgt, evfscmplt, evfscmpeq, evfststgt, evfststlt, evfststeq,
- evfscfui, evfsctuiz, evfscfsi, evfscfuf, evfscfsf, evfsctui,
- evfsctsi, evfsctsiz, evfsctuf, evfsctsf, evsabs, evsnabs, evsneg,
- evsadd, evssub, evsmul, evsdiv, evscmpgt, evsgmplt, evsgmpeq,
- evststgt, evststlt, evststeq, evscfui, evscfsi, evscfuf, evscfsf,
- evsctui, evsctuiz, evsctsi, evsctsiz, evsctuf, evsctsf, evmhossf,
- evmhossfa, evmhosmf, evmhosmfa, evmhosmi, evmhosmia, evmhoumi,
- evmhoumia, evmhessf, evmhessfa, evmhesmf, evmhesmfa, evmhesmi,
- evmhesmia, evmheumi, evmheumia, evmhossfaaw, evmhossiaaw,
- evmhosmfaaw, evmhosmiaaw, evmhousiaaw, evmhoumiaaw, evmhessfaaw,
- evmhessiaaw, evmhesmfaaw, evmhesmiaaw, evmheusiaaw, evmheumiaaw,
- evmhossfanw, evmhossianw, evmhosmfanw, evmhosmianw, evmhousianw,
- evmhoumianw, evmhessfanw, evmhessianw, evmhesmfanw, evmhesmianw,
- evmheusianw, evmheumianw, evmhogsmfaa, evmhogsmiaa, evmhogumiaa,
- evmhegsmfaa, evmhegsmiaa, evmhegumiaa, evmhogsmfan, evmhogsmian,
- evmhogumian, evmhegsmfan, evmhegsmian, evmhegumian, evmwhssf,
- evmwhssfa, evmwhssfaa, evmwhssmaa, evmwhsmfaa, evmwhsmiaa,
- evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian, evmwhsmfan,
- evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa, evmwhgsmfaa,
- evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan, evmwhgsmian,
- evmwhgumian, evmwhsmf, evmwhsmfa, evmshsmi, evmshsmia, evmshumi,
- evmshumia, evmmlssf, evmmlssfa, evmwlsmf, evmwlsmfa, evmwlumi,
- evmwlumia, evmwlssfaaw, evmwlssiaaw, evmwlsmfaaw, evmwlsmiaaw,
- evmwlusiaaw, evmwlumiaaw, evmwissfanw, evmwissianw, evmwlsmfanw,
- evmwlsmianw, evmwlusianw, evmwlumianw, evmwssf, evmwssfa,
- evmwsmf, evmwsmfa, evmwsmi, evmwsmia, evmwumi, evmwumia,
- evmwssfaa, evmwsmfaa, evmwsmiaa, evmwumiaa, evmwssfan, evmwsmfan,
- evmwsmian, evmwumian, evaddssiaaw, evaddsmiaaw, evaddusiaaw,
- evaddumiaaw, evsubfssiaaw, evsubfsmiaaw, evsubfusiaaw,
- evsubfumiaaw, evmra, evdivws, evdivws): New e500x2 Core Complex
- instructions.
- (rfmci): New machine check APU instruction.
- (isel): New integer select APU instructino.
- (icbtls, icbtlse, icblc, icblce, dcbtls, dcbtlse, dcbtstls,
- dcbtstlse, dcblc, dcblce): New cache control APU instructions.
- (mtspefscr, mfspefscr): New instructions.
- (mfpmr, mtpmr): New performance monitor APU instructions.
- (savecontext): New context cache APU instructions.
- (bblels, bbelr): New branch locking APU instructions.
- (bblels, bbelr): New instructions.
- (mftbl, mftbu, mftb): Set as CLASSIC instructions. Add BOOKE alias.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-opc.c: Update call operand to accept the page definition.
- Identify instructions that are branches and calls to generate a
- RL_JUMP relocation.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-dis.c (print_insn): Take into account 68HC12 memory
- banks and fix disassembling of call instruction.
- (print_indexed_operand): New param to tell whether
- it was an indirect addressing operand (for disassembling call).
-
-2002-08-09 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2002-08-08 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * mips-opc.c (mips_builtin_opcodes): Remove "dla" and "la" as
- aliases to "daddiu" and "addiu".
-
-2002-07-30 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2002-07-25 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
- * po/es.po: Updated Spanish translation.
- * po/pr_BR.po: Updated Brazilian Portuguese translation.
- * po/tr.po: Updated Turkish translation.
- * po/fr.po: Updated French translation.
-
-2002-07-24 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
- * po/es.po: Updated Spanish translation.
- * po/pr_BR.po: Updated Brazilian Portuguese translation.
-
-2002-07-23 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2002-07-23 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
- * po/pr_BR.po: New Brazilian Portuguese translation.
- * po/id.po: Updated Indonesian translation.
- * configure.in (LINGUAS): Add pr_BR.
- * configure: Regenerate.
-
-2002-07-18 Denis Chertykov <denisc@overta.ru>
- Frank Ch. Eigler <fche@redhat.com>
- Alan Lehotsky <alehotsky@cygnus.com>
- matthew green <mrg@redhat.com>
-
- * configure.in: Add support for ip2k.
- * configure: Regenerate.
- * Makefile.am: Add support for ip2k.
- * Makefile.in: Regenerate.
- * disassemble.c: Add support for ip2k.
- * ip2k-asm.c: New generated file.
- * ip2k-desc.c: New generated file.
- * ip2k-desc.h: New generated file.
- * ip2k-dis.c: New generated file.
- * ip2k-ibld.c: New generated file.
- * ip2k-opc.c: New generated file.
- * ip2k-opc.h: New generated file.
-
-2002-07-17 David Mosberger <davidm@hpl.hp.com>
-
- * ia64-opc-b.c (bWhc): New macro.
- (mWhc): Ditto.
- (OpPaWhcD): Ditto.
- (ia64_opcodes_b): Correct patterns for indirect call
- instructions to use 3-bit "wh" field.
- * ia64-asmtab.c: Regnerate.
-
-2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (mips_isa_type): Add MIPS16 insn handling.
- * mips-opc.c (I16): New define.
- (mips_builtin_opcodes): Make jalx an I16 insn.
-
-2002-06-18 Dave Brolley <brolley@redhat.com>
-
- * po/POTFILES.in: Add frv-*.[ch].
- * disassemble.c (ARCH_frv): New macro.
- (disassembler): Handle bfd_arch_frv.
- * configure.in: Support frv_bfd_arch.
- * Makefile.am (HFILES): Add frv-*.h.
- (CFILES): Add frv-*.c
- (ALL_MACHINES): Add frv-*.lo.
- (CLEANFILES): Add stamp-frv.
- (FRV_DEPS): New variable.
- (stamp-frv): New target.
- (frv-asm.lo): New target.
- (frv-desc.lo): New target.
- (frv-dis.lo): New target.
- (frv-ibld.lo): New target.
- (frv-opc.lo): New target.
- (frv-*.[ch]): New files.
-
-2002-06-18 Ben Elliston <bje@redhat.com>
-
- * Makefile.am (CGENDEPS): Remove unnecessary stamp-cgen.
- * Makefile.in: Regenerate.
-
-2002-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * a29k-dis.c: Replace CONST with const.
- * h8300-dis.c: Likewise.
- * m68k-dis.c: Likewise.
- * or32-dis.c: Likewise.
- * sparc-dis.c: Likewise.
-
-2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in: Add "sh5*-*" to list of targets which include
- sh64 support.
- * configure: Regenerate.
-
-2002-05-31 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips-opc.c: Clean up a few whitespace issues, and sort a
- few entries understanding that 'x' follows 'w' in the alphabet.
-
-2002-05-31 Chris G. Demetriou <cgd@broadcom.com>
- Ed Satterthwaite <ehs@broadcom.com>
-
- * mips-opc.c: Add support for SB-1 MDMX subset and extensions.
-
-2002-05-31 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
- Ed Satterthwaite <ehs@broadcom.com>
-
- * mips-dis.c (print_insn_arg): Add support for 'O', 'Q', 'X', 'Y',
- and 'Z' formats, for MDMX.
- (mips_isa_type): Add MDMX instructions to the ISA
- bit mask for bfd_mach_mipsisa64.
- * mips-opc.c: Add support for MDMX instructions.
- (MX): New definition.
-
- * mips-dis.c: Update copyright years to include 2002.
-
-2002-05-30 Diego Novillo <dnovillo@redhat.com>
-
- * d10v-opc.c (d10v_opcodes): `btsti' does not modify its
- arguments.
-
-2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
-
- * configure.in: Add DLX configuraton support.
- * configure: Regenerate.
- * Makefile.am: Add DLX configuraton support.
- * Makefile.in: Regenerate.
- * disassemble.c: Add DLX support.
- * dlx-dis.c: New file.
-
-2002-05-25 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (sh-dis.lo): Don't put make commands in deps.
- * Makefile.in: Regenerate.
- * arc-dis.c: Use #include "" instead of <> for local header files.
- * m68k-dis.c: Likewise.
-
-2002-05-22 J"orn Rennecke <joern.rennecke@superh.com>
-
- * Makefile.am (sh-dis.lo): Compile with @archdefs@.
- * Makefile.in: regenerate.
-
- * sh-dis.c (print_insn_sh): If coff and bfd_mach_sh, use arch_sh4
- for disassembly.
-
-2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-opc.c (mips_builtin_opcodes): Add drol, dror macros.
-
-2002-05-17 J"orn Rennecke <joern.rennecke@superh.com>
-
- * disassemble.c (disassembler): Just use print_insn_sh for bfd_arch_sh.
- * sh-dis.c (LITTLE_BIT): Delete.
- (print_insn_sh, print_insn_shl): Deleted.
- (print_insn_shx): Renamed to
- (print_insn_sh). No longer static. Handle SHmedia instructions.
- Use info->endian to determine endianness.
- * sh64-dis.c (print_insn_sh64, print_insn_sh64l): Delete.
- (print_insn_sh64x): No longer static. Renamed to
- (print_insn_sh64). Removed pfun_compact and endian arguments.
- If we got an uneven address to indicate SHmedia, adjust it.
- Return -2 for SHcompact instructions.
-
-2002-05-17 Alan Modra <amodra@bigpond.net.au>
-
- * acinclude.m4 (AM_INSTALL_LIBBFD): Fake to fool autotools.
- * configure.in: Invoke AM_INSTALL_LIBBFD.
- * Makefile.am (install-data-local): Move to..
- (install_libopcodes): .. New target.
- (uninstall_libopcodes): Likewise.
- (install-bfdlibLTLIBRARIES): Likewise.
- (uninstall-bfdlibLTLIBRARIES): Likewise.
- (bfdlibdir): New.
- (bfdincludedir): New.
- (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
-
-2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
-
- * fr30-asm.c: Regenerate.
- * fr30-desc.c: Regenerate.
- * fr30-dis.c: Regenerate.
- * m32r-asm.c: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-dis.c: Regenerate.
- * openrisc-asm.c: Regenerate.
- * openrisc-desc.c: Regenerate.
- * openrisc-dis.c: Regenerate.
- * xstormy16-asm.c: Regenerate.
- * xstormy16-desc.c: Regenerate.
- * xstormy16-dis.c: Regenerate.
-
-2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (is_newabi): EABI is not a NewABI.
-
-2002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (shle-*-*elf*): Include sh64 support.
- * configure: Regenerate.
-
-2002-04-28 Jason Thorpe <thorpej@wasabisystems.com>
-
- * vax-dis.c (print_insn_arg): Pass the insn info to print_insn_mode.
- (print_insn_mode): Print some basic info about floating point values.
-
-2002-05-09 Anton Blanchard <anton@samba.org>
-
- * ppc-opc.c: Add "tlbiel" for POWER4.
-
-2002-05-07 Graydon Hoare <graydon@redhat.com>
-
- * cgen-dis.in: (print_insn_@arch@): Cache list of opened CPUs rather
- than just most-recently-opened.
-
-2002-05-01 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c: Add "tlbsx." and "tlbsxe." for booke.
-
-2002-04-24 Christian Groessler <chris@groessler.org>
-
- * z8k-dis.c (print_insn_z8k): Set disassemble_info to 2
- bytes_per_chunk, 6 bytes_per_line for nicer display of the hex
- codes.
- (z8k_lookup_instr): CLASS_IGNORE case added.
- (output_instr): Don't print hex codes, they are already
- printed.
- (unpack_instr): ARG_NIM4 case added. ARG_NIM8 case
- fixed. Support CLASS_BIT_1OR2 and CLASS_IGNORE cases.
- (unparse_instr): Fix base and indexed addressing disassembly:
- The index is inside the brackets.
- * z8kgen.c (gas): Add ARG_NIM4 and CLASS_IGNORE defines.
- (opt): Fix shift left/right arithmetic/logical byte defines:
- The high byte of the immediate word is ignored by the
- processor.
- Fix n parameter of ldm opcodes: The opcode contains (n-1).
- (args): Fix "n" entry.
- (toks): Add "nim4" and "iiii" entries.
- * z8k-opc.h: Regenerated with new z8kgen.c.
-
-2002-04-24 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/id.po: New Indonesian translation.
- * configure.in (ALL_LIGUAS): Add id.po
- * configure: Regenerate.
-
-2002-04-17 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (powerpc_opcode): Fix dssall operand list.
-
-2002-04-04 Alan Modra <amodra@bigpond.net.au>
-
- * dep-in.sed: Cope with absolute paths.
- * Makefile.am (dep.sed): Subst TOPDIR.
- Run "make dep-am".
- * Makefile.in: Regenerate.
- * ppc-opc.c: Whitespace.
- * s390-dis.c: Fix copyright date.
-
-2002-03-23 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (vmaddfp): Fix operand order.
-
-2002-03-21 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2002-03-21 Anton Blanchard <anton@samba.org>
-
- * ppc-opc.c: Add optional field to mtmsrd.
- (MTMSRD_L, XRLARB_MASK): Define.
-
-2002-03-18 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c (prefix_name): Fix handling of 32bit address prefix
- in 64bit mode.
- (print_insn) Likewise.
- (putop): Fix handling of 'E'
- (OP_E, OP_OFF): handle 32bit addressing mode in 64bit.
- (ptr_reg): Likewise.
-
-2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/fr.po: Updated version.
-
-2002-03-16 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (M3D): Tweak comment.
- (mips_builtin_op): Add comment indicating that opcodes of the
- same name must be placed together in the table, and sort
- the "recip.fmt", "recip1.fmt", "recip2.fmt", "rsqrt.fmt",
- "rsqrt1.fmt", and "rsqrt2.fmt" opcodes by name.
-
-2002-03-16 Nick Clifton <nickc@cambridge.redhat.com>
-
- * Makefile.am: Tidy up sh64 rules.
- * Makefile.in: Regenerate.
-
-2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips-dis.c: Update copyright years.
-
-2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_isa_type): Add MIPS3D instructions to the ISA
- bit masks for bfd_mach_mips_sb1 and bfd_mach_mipsisa64. Add
- comments for bfd_mach_mipsisa32 and bfd_mach_mipsisa64 that
- indicate that they should dissassemble all applicable
- MIPS-specified ASEs.
- * mips-opc.c: Add support for MIPS-3D instructions.
- (M3D): New definition.
-
- * mips-opc.c: Update copyright years.
-
-2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Sort bc<N> opcodes by name.
-
-2002-03-15 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (is_newabi): Fix ABI decoding.
-
-2002-03-14 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_isa_type): Fix formatting of bfd_mach_mipsisa32
- and bfd_mach_mipsisa64 cases to match the rest.
-
-2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/fr.po: Updated version.
-
-2002-03-13 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c: Add optional `L' field to tlbie.
- (XRTLRA_MASK): Define.
-
-2002-03-06 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Mark "pref" as being
- present on I4.
-
- * mips-opc.c (mips_builtin_opcodes): Add "movn.ps" and "movz.ps".
-
-2002-03-05 Paul Koning <pkoning@equallogic.com>
-
- * pdp11-opc.c: Fix "mark" operand type. Fix operand types
- for float opcodes that take float operands. Add alternate
- names (xxxD vs. xxxF) for float opcodes.
- * pdp11-dis.c (print_operand): Clean up formatting for mode 67.
- (print_foperand): New function to handle float opcode operands.
- (print_insn_pdp11): Use print_foperand to disassemble float ops.
-
-2002-02-27 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/de.po: Updated.
-
-2002-02-26 Brian Gaeke <brg@dgate.org>
-
- * Makefile.am (install-data-local): Install dis-asm.h.
-
-2002-02-26 Nick Clifton <nickc@cambridge.redhat.com>
-
- * configure.in (LINGUAS): Add de.po.
- * configure: Regenerate.
- * po/de.po: New file.
-
-2002-02-25 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-dis.c (powerpc_dialect): Handle power4 option.
- * ppc-opc.c (insert_bdm): Correct description of "at" branch
- hints. Test PPC_OPCODE_POWER4 to determine branch hint flavour.
- (extract_bdm, insert_bdp, extract_bdp, valid_bo): Likewise.
- (BOFM64, BOFP64, BOTM64, BOFP64): Rename to BOFM4, BOFP4 etc.
- (BODNZM64, BODNZP64, BODZM64, BODZP64): Likewise.
- (PPCCOM32, PPCCOM64): Delete.
- (NOPOWER4, POWER4): Define.
- (powerpc_opcodes): Replace occurences of PPCCOM32 with NOPOWER4,
- and PPCCOM4 with POWER4 so that "at" style branch hint opcodes
- are enabled for power4 rather than ppc64.
-
-2002-02-20 Tom Rix <trix@redhat.com>
-
- * ppc-opc.c (powerpc_operands): Add WS field. Use for tlbre, tlbwe.
-
-2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-dis.c (init_disasm): Use renamed architecture defines.
-
-2002-02-19 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (powerpc_dialect): Fix comment; BookE is not Motorola
- specific.
-
-2002-02-18 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/tr.po: Updated translation.
-
-2002-02-15 Richard Henderson <rth@redhat.com>
-
- * alpha-opc.c (alpha_opcodes): Fix thinko in ret pseudo
- disassembly mask.
-
-2002-02-15 Richard Henderson <rth@redhat.com>
-
- * alpha-opc.c (alpha_opcodes): Add simple pseudos for
- lda, ldah, jmp, ret.
-
-2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/da.po: Updated translation.
-
-2002-02-12 Graydon Hoare <graydon@redhat.com>
-
- * cgen-asm.in (parse_insn_normal): Change call from
- @arch@_cgen_parse_operand to cd->parse_operand, to
- facilitate CGEN_ASM_INIT_HOOK doing useful work.
-
-2002-02-11 Alexandre Oliva <aoliva@redhat.com>
-
- * sparc-dis.c (print_insn_sparc): Make sure 0xFFFFFFFF is not
- sign-extended.
-
-2002-02-11 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: "make dep-am".
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * config.in: Regenerate.
- * configure: Regenerate.
-
-2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
-
- * configure.in <bfd_sh_arc>: For sh-* and shl-*, enable sh64
- support only for sh-*-*elf*, shl-*-*elf*, sh-*-linux* and
- shl-*-linux*.
- * configure: Regenerate.
-
-2002-02-10 Daniel Jacobowitz <drow@mvista.com>
-
- * cgen-dis.c: Add prototypes for count_decodable_bits
- and add_insn_to_hash_chain.
-
-2002-02-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in <bfd_sh_arc>: Enable sh64 support on sh-*.
- * configure: Rebuilt.
-
-2002-02-08 Ivan Guzvinec <ivang@opencores.org>
-
- * or32-opc.c: Fix compile time warning messages.
- * or32-dis.c: Fix compile time warning messages.
-
-2002-02-08 Alexandre Oliva <aoliva@redhat.com>
-
- Contribute sh64-elf.
- 2001-10-08 Nick Clifton <nickc@cambridge.redhat.com>
- * sh64-opc.c: Regenerate.
- 2001-03-13 DJ Delorie <dj@redhat.com>
- * sh64-opc.h: Rename A_RESV_Fx to A_REUSE_PREV so that its
- purpose is more obvious.
- * sh64-opc.c (shmedia_table): Ditto.
- * sh64-dis.c (initialize_shmedia_opcode_mask_table): Ditto.
- (print_insn_shmedia): Ditto.
- 2001-03-12 DJ Delorie <dj@redhat.com>
- * sh64-opc.c: Adjust comments to reflect reality: replace bits
- 3:0 with zeros (not "reserved"), replace "rrrrrr" with
- "gggggg" for two-operand floating point opcodes. Remove
- "fsina".
- 2001-01-08 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-dis.c (print_insn_shmedia) <failing read_memory_func>:
- Correct printing of .byte:s. Return number of printed bytes or
- -1; never 0.
- (print_insn_sh64x) <not CRT_SH5_ISA16>: Ditto. Print as .byte:s
- to next four-byte-alignment if insn or data is not aligned.
- 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-dis.c: Update comments and fix comment formatting.
- (initialize_shmedia_opcode_mask_table) <case A_IMMM>:
- Abort instead of setting length to 0.
- (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
- crange_bsearch_cmpl, sh64_get_contents_type,
- sh64_address_in_cranges): Move to bfd/elf32-sh64.c.
- 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-opc.c: Remove #if 0:d entries for instructions not found in
- SH-5/ST50-023-04: fcosa.s, fsrra.s and prefo.
- 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-dis.c (print_insn_shmedia): Display MOVI/SHORI-formed
- address with same prefix as SHcompact.
- In the disassembler, use a .cranges section for linked executables.
- * sh64-dis.c (SAVED_MOVI_R, SAVED_MOVI_IMM): Move to head of file
- and update for using structure in info->private_data.
- (struct sh64_disassemble_info): New.
- (is_shmedia_p): Delete.
- (crange_qsort_cmpb): New function.
- (crange_qsort_cmpl, crange_bsearch_cmpb): New functions.
- (crange_bsearch_cmpl, sh64_address_in_cranges): New functions.
- (init_sh64_disasm_info, sh64_get_contents_type_disasm): New functions.
- (sh64_get_contents_type, sh64_address_is_shmedia): New functions.
- (print_insn_shmedia): Correct displaying of address after MOVI/SHORI
- pair. Display addresses for linked executables only.
- (print_insn_sh64x_media): Initialize info->private_data by calling
- init_sh64_disasm_info.
- (print_insn_sh64x): Ditto. Find out type of contents by calling
- sh64_contents_type_disasm. Display data regions using ".long" and
- ".byte" similar to unrecognized opcodes.
- 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-dis.c (is_shmedia_p): Check info->section and look for ISA
- information in section flags before considering symbols. Don't
- assume an info->mach setting of bfd_mach_sh5 means SHmedia code.
- * configure.in (bfd_sh_arch): Check presence of sh64 insns by
- matching $target $canon_targets instead of looking at the
- now-removed -DINCLUDE_SHMEDIA in $targ_cflags.
- * configure: Regenerate.
- 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-opc.c (shmedia_creg_table): New.
- * sh64-opc.h (shmedia_creg_info): New type.
- (shmedia_creg_table): Declare.
- * sh64-dis.c (creg_name): New function.
- (print_insn_shmedia): Use it.
- * disassemble.c (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map
- bfd_mach_sh5 to print_insn_sh64 if big-endian and to
- print_insn_sh64l if little-endian.
- * sh64-dis.c (print_insn_shmedia): Make r unsigned.
- (print_insn_sh64l): New.
- (print_insn_sh64x): New.
- (print_insn_sh64x_media): New.
- (print_insn_sh64): Break out code to print_insn_sh64x and
- print_insn_sh64x_media.
- 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-opc.h: New file
- * sh64-opc.c: New file
- * sh64-dis.c: New file
- * Makefile.am: Add sh64 targets.
- (HFILES): Add sh64-opc.h.
- (CFILES): Add sh64-opc.c and sh64-dis.c.
- (ALL_MACHINES): Add sh64 files.
- * Makefile.in: Regenerate.
- * configure.in: Add support for sh64 to bfd_sh_arch.
- * configure: Regenerate.
- * disassemble.c [ARCH_all] (INCLUDE_SHMEDIA): Define.
- (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map bfd_mach_sh5 to
- print_insn_sh64.
- * sh-dis.c (print_insn_shx): Handle bfd_mach_sh5 as arch_sh4.
- * po/POTFILES.in: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2002-02-04 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-dis.in (print_insn_@arch@): Support disassemble_info.insn_sets.
-
-2002-02-04 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-opc.h (sh_arg_type): Added A_DISP_PC_ABS.
-
-2002-02-01 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am"
- * Makefile.in: Regenerate.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * or32-dis.c: New file.
- * or32-opc.c: New file.
- * configure.in: Add support for or32.
- * configure: Regenerate.
- * Makefile.am: Add support for or32.
- * Makefile.in: Regenerate.
- * disassemble.c: Add support for or32.
- * po/POTFILES.in: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2002-01-27 Daniel Jacobowitz <drow@mvista.com>
-
- * configure: Regenerated.
-
-2002-01-26 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/fr.po: Updated version.
-
-2002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/es.po: Updated version.
-
-2002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/da.po: New version.
-
-2002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/da.po: New file: Spanish translation.
- * configure.in (ALL_LINGUAS): Add da.
- * configure: Regenerate.
-
-2002-01-22 Graydon Hoare <graydon@redhat.com>
-
- * fr30-asm.c: Regenerate.
- * fr30-desc.c: Likewise.
- * fr30-desc.h: Likewise.
- * fr30-dis.c: Likewise.
- * fr30-ibld.c: Likewise.
- * fr30-opc.c: Likewise.
- * fr30-opc.h: Likewise.
- * m32r-asm.c: Likewise.
- * m32r-desc.c: Likewise.
- * m32r-desc.h: Likewise.
- * m32r-dis.c: Likewise.
- * m32r-ibld.c: Likewise.
- * m32r-opc.c: Likewise.
- * m32r-opc.h: Likewise.
- * m32r-opinst.c: Likewise.
- * openrisc-asm.c: Likewise.
- * openrisc-desc.c: Likewise.
- * openrisc-desc.h: Likewise.
- * openrisc-dis.c: Likewise.
- * openrisc-ibld.c: Likewise.
- * openrisc-opc.c: Likewise.
- * openrisc-opc.h: Likewise.
- * xstormy16-desc.c: Likewise.
-
-2002-01-22 Richard Henderson <rth@redhat.com>
-
- * alpha-dis.c (print_insn_alpha): Also mask the base opcode for
- comparison.
-
-2002-01-22 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2002-01-19 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-opc.h (arm_opcodes): Use generic rule %5?hb instead of %h.
- * arm-dis.c (print_insn_arm): Don't handle 'h' case.
-
-2002-01-18 Keith Walker <keith.walker@arm.com>
-
- * arm-opc.h (arm_opcodes): Add bxj instruction.
-
-2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/opcodes.pot: Regenerate.
- * po/fr.po: Regenerate.
- * po/sv.po: Regenerate.
- * po/tr.po: Regenerate.
-
-2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/tr.po: Import new version.
-
-2002-01-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-opc.h (arm_opcodes): Add patterns for VFP instructions.
- * arm-dis.c (print_insn_arm): Support new disassembly qualifiers for
- VFP bitfields.
-
-2002-01-10 matthew green <mrg@redhat.com>
-
- * xstormy16-asm.c: Regenerate.
- * xstormy16-desc.c: Likewise.
- * xstormy16-desc.h: Likewise.
- * xstormy16-dis.c: Likewise.
- * xstormy16-opc.c: Likewise.
- * xstormy16-opc.h: Likewise.
-
-2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/es.po: New file: Spanish translation.
- * configure.in (ALL_LINGUAS): Add es.
- * configure: Regenerate.
-
-2001-12-31 Jeffrey A Law (law@redhat.com)
-
- * hppa-dis.c (print_insn_hppa): Handle new 'c' mode completers,
- 'X', 'M', and 'A'. No longer emit a space after 'x' or 's'.
- Always emit a space after 'H'.
-
-2001-12-18 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (PPCVEC): Include PPC_OPCODE_ANY.
-
-2001-12-17 Richard Henderson <rth@redhat.com>
-
- * alpha-opc.c (unop): Encode with RB as $sp.
-
-2001-12-07 Geoffrey Keating <geoffk@redhat.com>
-
- * Makefile.am: Add support for xstormy16.
- * Makefile.in: Regenerate.
- * configure.in: Add support for xstormy16.
- * configure: Regenerate.
- * disassemble.c: Add support for xstormy16.
- * xstormy16-asm.c: New generated file.
- * xstormy16-desc.c: New generated file.
- * xstormy16-desc.h: New generated file.
- * xstormy16-dis.c: New generated file.
- * xstormy16-ibld.c: New generated file.
- * xstormy16-opc.c: New generated file.
- * xstormy16-opc.h: New generated file.
-
-2001-12-06 Richard Henderson <rth@redhat.com>
-
- * alpha-opc.c (alpha_opcodes): Add wh64en.
-
-2001-12-04 Alexandre Oliva <aoliva@redhat.com>
-
- * d10v-opc.c (d10v_predefined_registers): Remove warnings
- introduced in Nov 29's patch.
-
- * d10v-dis.c (print_operand): Apply REGISTER_MASK to `num' of
- unmatched register.
-
- * d10v-dis.c (print_operand): Disregard OPERAND_SP in register
- predefined value.
-
- * d10v-opc.c (RSRC_NOSP): New macro.
- (d10v_operands): Add it.
- (d10v_opcodes): Use RSRC_NOSP in post-decrement "st" and "st2w".
-
-2001-11-29 Alexandre Oliva <aoliva@redhat.com>
-
- * d10v-opc.c (d10v_predefined_registers): Mark `sp' as OPERAND_SP.
- (RSRC_SP): New macro.
- (d10v_operands): Add it.
- (d10v_opcodes): Adjust "st" and "st2w" to use RSRC_SP.
-
-2001-11-23 Lars Brinkhoff <lars@nocrew.org>
-
- * pdp11-dis.c (print_insn_pdp11): Handle illegal instructions.
- Also, break out of the loop as soon as an instruction has been
- printed.
-
-2001-11-17 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (mfvrsave, mtvrsave): New instructions.
-
-2001-11-15 Alan Modra <amodra@bigpond.net.au>
-
- * po/POTFILES.in: Regenerate.
-
- * ppc-opc.c (PPC64): Revert 2001-10-12. Do include PPC_OPCODE_PPC.
- (insert_bat, extract_bat, insert_bba, extract_bba,
- insert_bd, extract_bd, insert_bdm, extract_bdm,
- insert_bdp, extract_bdp, valid_bo,
- insert_bo, extract_bo, insert_boe, extract_boe,
- insert_ds, extract_ds, insert_de, extract_de,
- insert_des, extract_des, insert_li, extract_li,
- insert_mbe, extract_mbe, insert_mb6, extract_mb6,
- insert_nb, extract_nb, insert_nsi, extract_nsi,
- insert_ral, insert_ram, insert_ras,
- insert_rbs, extract_rbs, insert_sh6, extract_sh6,
- insert_spr, extract_spr, insert_tbr, extract_tbr): Add dialect param.
- (extract_bd, extract_bdm, extract_bdp,
- extract_ds, extract_des,
- extract_li, extract_nsi): Implement sign extension without conditional.
- (insert_bdm, extract_bdm,
- insert_bdp, extract_bdp, valid_bo): Handle 64 bit branch hints.
- (extract_bdm, extract_bdp): Correct 32 bit validation.
- (AT1_MASK, AT2_MASK): Define.
- (BBOAT_MASK): Define.
- (BBOATCB_MASK, BBOAT2CB_MASK, BBOATBI_MASK): Define.
- (BOFM64, BOFP64, BOTM64, BOTP64): Define.
- (BODNZM64, BODNZP64, BODZM64, BODZP64): Define.
- (PPCCOM32, PPCCOM64): Define.
- (powerpc_opcodes): Modify existing 32 bit insns with branch hints
- and add new patterns to implement 64 bit branches with hints. Move
- booke instructions so they match before ppc64.
-
- * ppc-dis.c (powerpc_dialect): Set PPC_OPCODE_64 in dialect for
- 64 bit default targets, and parse "32" and "64" in options.
- Formatting fixes.
- (print_insn_powerpc): Pass dialect to operand->extract.
-
-2001-11-14 Dave Brolley <brolley@redhat.com>
-
- * cgen-dis.c (count_decodable_bits): New function.
- (add_insn_to_hash_chain): New function.
- (hash_insn_array): Call add_insn_to_hash_chain.
- (hash_insn_list): Call add_insn_to_hash_chain.
- * m32r-dis.c: Regenerated.
- * fr30-dis.c: Regenerated.
-
-2001-11-14 Andreas Jaeger <aj@suse.de>
-
- * i386-dis.c (print_insn): Use x86-64 as option.
-
-2001-11-14 Alan Modra <amodra@bigpond.net.au>
-
- * disassemble.c (disassembler): Call print_insn_i386.
- * i386-dis.c (SUFFIX_ALWAYS): Define.
- (struct dis_private): Add orig_sizeflag.
- (print_insn_i386): Make it a wrapper, calling..
- (print_insn): ..The old body of print_insn_i386. Avoid longjmp
- warning without using volatile by moving orig_sizeflag to priv,
- and removing inbuf. Parse disassembler_options.
- (print_insn_i386_att, print_insn_i386_intel): Move initialisation
- code to print_insn.
- (putop): Remove #ifdef SUFFIX_ALWAYS.
-
-2001-11-11 Timothy Wall <twall@alum.mit.edu>
-
- * tic54x-dis.c: Use revised opcode structure. Export opcode
- template lookup.
- (has_lkaddr): Don't forget about Lmem insns.
- * tic54x-opc.c: Add emulation trap. Parallel table now uses
- standard opcode templates.
-
-2001-11-13 Zack Weinberg <zack@codesourcery.com>
-
- * i386-dis.c (grps): Change "sldt", "str", and "smsw" entries
- to "sldtQ", "strQ", "smswQ" respectively; all with Ev operand
- category instead of Ew.
-
-2001-11-12 Niraj Gupta <ngupta@zumanetworks.com>
-
- * m68k-opc.c: Fix definitions of wddata[bwl].
-
-2001-11-09 Richard Sandiford <rsandifo@redhat.com>
-
- * cgen-asm.c (cgen_parse_keyword): If the keyword is too big to
- fit in the buffer, try to match the empty keyword.
-
-2001-11-09 Nick Clifton <nickc@cambridge.redhat.com>
-
- * cgen-ibld.in (extract_1): Fix badly placed #if 0.
- * fr30-ibld.c: Regenerate.
- * m32r-ibld.c: Regenerate.
- * openrisc-ibld.c: Regenerate.
-
-2001-11-04 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (print_insn_mips): Remove spaces at end of line.
-
-2001-11-02 Nick Clifton <nickc@cambridge.redhat.com>
-
- * configure.in (ALL_LINGUAS): Add "fr", "sv" and "tr".
- * configure: Regernate.
- * po/fr.po: New file.
- * po/sv.po: New file.
- * po/tr.po: New file.
-
-2001-11-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
-
- * m68hc11-dis.c (print_insn): Fix disassembly of movb with a
- constant as source.
-
-2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * Makefile.am (CFILES): Add mmix-dis.c and mmix-opc.c. Regenerate
- dependencies.
+ * Makefile.am (libopcodes_la_DEPENDENCIES)
+ (libopcodes_la_LIBADD): Revert 2003-05-17 change. Add explanatory
+ comment about the problem.
* Makefile.in: Regenerate.
- * mmix-dis.c, mmix-opc.c: New files.
-
-2001-10-29 Kazu Hirata <kazu@hxi.com>
-
- * d30v-dis.c: Fix a comment typo.
-
-2001-10-23 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Mark "bgezall" and
- "bltzall" as writing GPR 31 (since they do).
-
- * mips-dis.c (print_insn_arg): Calculate info->target
- where appropriate.
- (print_insn_mips): Fill in instruction info.
- (print_mips16_insn_arg): Remove unneded variable 'val'.
- Removed duplicated instruction target calculations,
- calculate once and print that result. Use same idiom for
- masking the jump segment bits as is used in print_insn_arg.
-
-2001-10-20 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c (CT): Make it an optional operand.
-
-2001-10-17 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_isa_type): Make the ISA used to disassemble
- SB-1 binaries include instructions specific to the SB-1.
- * mips-opc.c (SB1): New definition.
- (mips_builtin_opcodes): Add SB-1 extension opcodes "div.ps",
- "recip.ps", "rsqrt.ps", and "sqrt.ps".
-
-2001-10-17 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (STRM): New AltiVec operand.
- (XDSS): New AltiVec instruction form.
- (mtvscr): Correct operand list.
- (dst, dstt, dstst, dststt, dss, dssall): AltiVec instructions.
-
-2001-10-17 Alan Modra <amodra@bigpond.net.au>
-
- * po/POTFILES.in: Regenerate.
-
-2001-10-13 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (MO): New macro for MO field of mbar instruction.
- (powerpc_opcodes): Add rfci, wrtee, wrteei, mfdcrx, mfdcr,
- mtdcrx, mtdcr, msync, dcba and mbar as BookE instructions.
-
-2001-10-13 Nick Clifton <nickc@cambridge.redhat.com>
-
- * cgen-ibld.in: Include safe-ctype.h in preference to
- ctype.h.
- * cgen-asm.in: Include safe-ctype.h in preference to
- ctype.h. Fix formatting. Use ISSPACE instead of isspace and
- TOLOWER instead of tolower.
- (@arch@_cgen_build_insn_regex): Remove duplication of syntax
- string elements in constructed regular expression.
- * fr30-asm.c: Regenerate.
- * fr30-desc.c: Regenerate.
- * fr30-ibld.c: Regenerate.
- * m32r-asm.c: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-ibld.c: Regenerate.
- * openrisc-asm.c: Regenerate.
- * openrisc-desc.c: Regenerate.
- * openrisc-ibld.c: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2001-10-12 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New
- instruction field instruction/extraction functions for new BookE
- DE form instructions.
- (CT): New macro for CT field in an X form instruction.
- (DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form
- instructions.
- (PPC64): Don't include PPC_OPCODE_PPC.
- (403): New opcode macro for PPC403 processors.
- (BOOKE): New opcode macro for BookE processors.
- (bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions.
- (bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise.
- (dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise.
- (stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise.
- (mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise.
- (subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise.
- (subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise.
- (addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise.
- (lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise.
- (stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise.
- (tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise.
- (lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise.
- (stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise.
- (lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise.
-
- * ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look
- for a disassembler option of `booke', `booke32' or `booke64' to enable
- BookE support in the disassembler.
-
-2001-10-12 John Healy <jhealy@redhat.com>
-
- * cgen-dis.in (print_insn): Use min (cd->base_insn_bitsize, buflen*8)
- for the length when extracting the base part of the insn.
-
-2001-10-09 Bruno Haible <haible@clisp.cons.org>
-
- * cgen-asm.in (*_cgen_build_insn_regex): Generate a case sensitive
- regular expression. Fix some formatting problems.
- * fr30-asm.c: Regenerate.
- * openrisc-asm.c: Regenerate.
- * m32r-asm.c: Regenerate.
-
-2001-10-09 Christian Groessler <cpg@aladdin.de>
-
- * z8k-dis.c (unparse_instr): Fixed formatting. Change disassembly
- of indirect register memory accesses to be same format the
- assembler accepts.
-
-2001-10-09 Nick Clifton <nickc@cambridge.redhat.com>
-
- * sh-opc.h: Fix encoding of least significant nibble of the
- DSP single data transfer instructions.
-
- * sh-dis.c (print_insn_shx): Fix decoding of As opcode in DSP
- instructions.
-
-2001-10-08 Nick Clifton <nickc@cambridge.redhat.com>
-
- * cgen-asm.in: Fix compile time warning messages in generated
- C files.
- * cgen-dis.in: The same.
- * cgen-ibld.in: The same.
- * fr30-asm.c: Regenerate.
- * fr30-desc.c: Regenerate.
- * fr30-dis.c: Regenerate.
- * fr30-ibld.c: Regenerate.
- * fr30-opc.c: Regenerate.
- * m32r-asm.c: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-dis.c: Regenerate.
- * m32r-ibld.c: Regenerate.
- * m32r-opc.c: Regenerate.
- * m32r-opinst.c Regenerate.
- * openrisc-asm.c: Regenerate.
- * openrisc-desc.c: Regenerate.
- * openrisc-dis.c: Regenerate.
- * openrisc-ibld.c: Regenerate.
- * openrisc-opc.c: Regenerate.
- * openrisc-opc.h: Regenerate.
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2001-10-08 Aldy Hernandez <aldyh@redhat.com>
-
- * arm-opc.h (arm_opcodes): Add cirrus insns.
-
- * arm-dis.c (print_insn_arm): Add 'I' case.
-
-2001-10-03 Alan Modra <amodra@bigpond.net.au>
-
- * po/POTFILES.in: Regenerate.
- * configure: Regenerate.
-
-2001-10-02 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (Makefile): Depend on bfd/configure.in.
- Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2001-09-30 John Healy <jhealy@redhat.com>
-
- * cgen-ibld.in (insert_1): Switched bfd_get_bits and bfd_set_bits
- calls to cgen_get_insn_value and cgen_put_insn_value calls.
- (extract_1): Switched bfd_get_bits call to cgen_get_insn_value call.
-
-2001-09-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * Makefile.am: Update dependencies with "make dep-am".
- * Makefile.in: Regenerate.
-
-2001-09-26 Alan Modra <amodra@bigpond.net.au>
-
- * arc-dis.c: Formatting fixes.
- (my_sprintf): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE.
-
-2001-09-21 Bruno Haible <haible@clisp.cons.org>
-
- * arc-dis.c: Don't include <ctype.h>.
- * openrisc-desc.c: Likewise.
- * openrisc-ibld.c: Likewise.
-
-2001-09-20 Nick Clifton <nickc@cambridge.redhat.com>
-
- * fr30-opc.c: Fix compile time warning messages.
- * i370-opc.c: Fix compile time warning messages.
- * i960-dis.c: Fix compile time warning messages.
- * m32r-asm.c: Fix compile time warning messages.
- * m32r-desc.c: Fix compile time warning messages.
- * m32r-dis.c: Fix compile time warning messages.
- * m32r-ibld.c: Fix compile time warning messages.
- * m32r-opc.c: Fix compile time warning messages.
- * m32r-opinst.c: Fix compile time warning messages.
- * ns32k-dis.c: Fix compile time warning messages.
- * openrisc-asm.c: Fix compile time warning messages.
- * openrisc-desc.c: Fix compile time warning messages.
- * openrisc-dis.c: Fix compile time warning messages.
- * openrisc-ibld.c: Fix compile time warning messages.
- * openrisc-opc.c: Fix compile time warning messages.
- * pdp11-dis.c: Fix compile time warning messages.
- * tic54x-dis.c: Fix compile time warning messages.
- * v850-opc.c: Fix compile time warning messages.
- * vax-dis.c: Fix compile time warning messages.
- * w65-opc.h: Fix compile time warning messages.
- * z8k-opc.h: Fix compile time warning messages.
- * z8kgen.c: Fix compile time warning messages.
-
-2001-09-19 Nick Clifton <nickc@cambridge.redhat.com>
-
- * arm-dis.c: Fix compile time warning messages.
- * cgen-asm.c: Fix compile time warning messages.
- * cgen-dis.c: Fix compile time warning messages.
- * cris-dis.c: Fix compile time warning messages.
- * d10v-dis.c: Fix compile time warning messages.
- * fr30-asm.c: Fix compile time warning messages.
- * fr30-desc.c: Fix compile time warning messages.
- * fr30-dis.c: Fix compile time warning messages.
- * fr30-ibld.c: Fix compile time warning messages.
-
-2001-09-18 Bruno Haible <haible@clisp.cons.org>
-
- * cgen-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
- (cgen_parse_keyword): Use ISALNUM instead of isalnum.
- * cgen-opc.c: Include "safe-ctype.h" instead of <ctype.h>.
- (cgen_keyword_lookup_name): Use ISALPHA/TOLOWER instead of
- isalpha/tolower.
- (cgen_keyword_add): Use ISALNUM instead of isalnum.
- (hash_keyword_name): Use TOLOWER instead of tolower.
- * fr30-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
- (parse_insn_normal): Use TOLOWER/ISSPACE instead of
- tolower/isspace.
- (fr30_cgen_assemble_insn): Use ISSPACE instead of isspace.
- * fr30-desc.c: Don't include <ctype.h>.
- * fr30-ibld.c: Likewise.
- * ia64-gen.c: Include "safe-ctype.h" instead of <ctype.h>.
- (load_insn_classes, parse_resource_users, load_depfile): Use
- ISSPACE instead of isspace.
- * m32r-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
- (parse_insn_normal): Use TOLOWER/ISSPACE instead of
- tolower/isspace.
- (m32r_cgen_assemble_insn): Use ISSPACE instead of isspace.
- * m32r-desc.c: Don't include <ctype.h>.
- * m32r-ibld.c: Likewise.
- * openrisc-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
- (parse_insn_normal): Use TOLOWER/ISSPACE instead of
- tolower/isspace.
- (openrisc_cgen_assemble_insn): Use ISSPACE instead of isspace.
-
-2001-09-18 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * Makefile.am: Add rules and dependencies to create the s/390 opcode
- table out of s390-opc.txt automatically.
- * configure.in: Add BFD_CC_FOR_BUILD to allow CC_FOR_BUILD to be used.
- * s390-mkopc.c (dumpTable): Change output to create a complete file.
- * s390-opc.c: New improved opcode format macros and remove the
- pregenerated opcode table.
- * s390-opc.txt: Adapt to new improved opcode format macros.
-
-2001-09-14 David Schleef <ds@schleef.org>
-
- * ppc-opc.c (VXA, VXA_MASK): Fix mask bits.
-
-2001-09-04 Alan Modra <amodra@bigpond.net.au>
-
- * i386-dis.c (grps): Don't print the implicit al/ax/eax register
- for opcode 0xf6 or 0xf7 forms of mul, imul, div, idiv insns.
-
-2001-08-31 Eric Christopher <echristo@redhat.com>
- Jason Eckhardt <jle@redhat.com>
-
- * mips-dis.c: Add support for bfd_mach_mipsisa32 and
- bfd_mach_mipsisa64. Remove bfd_mach_mips32, bfd_mach_mips32_4k,
- bfd_mach_mips64.
-
-2001-08-31 Andreas Jaeger <aj@suse.de>
-
- * tic54x-opc.c: Add default initializers to avoid warnings.
-
- * arc-opc.c: Include "sysdep.h" to get stdio.h as include file.
- * arc-ext.c: Likewise.
-
-2001-08-28 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (icbt): Order correctly.
-
-2001-08-27 David Edelsohn <dje@watson.ibm.com>
- Torbjorn Granlund <tege@swox.com>
-
- * ppc-opc.c (DS): Add PPC_OPERAND_DS flag.
- (LS): Define.
- (insert_ds): Complain if not a multiple of 4.
- (XSYNC): Define.
- (XSYNC_MASK): Define.
- (powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev",
- "slbmfee". Modify "sync" to use XSYNC_MASK and LS.
-
-2001-08-26 Andreas Jaeger <aj@suse.de>
-
- * h8500-opc.h: Add default initializers to h8500_table to shut up
- GCC warnings.
-
-2001-08-25 Andreas Jaeger <aj@suse.de>
-
- * tic54x-dis.c: Add unused attributes where needed.
-
- * z8k-dis.c (output_instr): Add unused attribute.
-
- * h8300-dis.c: Add missing prototypes.
- (bfd_h8_disassemble): Make static.
-
- * cris-dis.c: Add missing prototype.
- * h8500-dis.c: Likewise.
- * m68hc11-dis.c: Likewise.
- * pj-dis.c: Likewise.
- * tic54x-dis.c: Likewise.
- * v850-dis.c: Likewise.
- * vax-dis.c: Likewise.
- * w65-dis.c: Likewise.
- * z8k-dis.c: Likewise.
-
- * d10v-dis.c: Add missing prototype.
- (dis_long): Remove unused variable.
- (dis_2_short): Likewise.
-
- * sh-dis.c: Add missing prototypes.
- * v850-opc.c: Likewise.
- Add unused attributes where needed.
-
- * ns32k-dis.c: Add missing prototypes.
- (bit_extract_simple): Remove unused variable.
-
-2001-08-23 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-opc.c: Add "low or high" and "not low or high"
- branch instructions for gcc 3.0.
- * s390-opc.txt: Likewise.
-
-2001-08-21 Andreas Jaeger <aj@suse.de>
-
- * i960-dis.c: Add parameters for prototypes
- (ctrl): Add unused attributes.
- (cobr): Likewise.
- (put_abs): Likewise.
-
- * mips-dis.c: Add missing prototypes.
- * a29k-dis.c: Likewise.
- * arc-dis.c: Likewise.
- * ia64-opc.c: Likewise.
-
- * s390-dis.c: Add missing prototypes.
- (init_disasm): Remove unused attribute since the parameter is
- used.
-
-2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-opc.c (M1): Define. Reformatted Code.
- (mips_builtin_opcodes): Added performance counter opcodes mfpc, mfps,
- mtps, mtps. Typo.
-
-2001-08-16 Jonathan Larmour <jlarmour@redhat.com>
-
- * mips-opc.c: R3900s can support all branch likely INSN_MACROs where
- the corresponding non-likely insn is in MIPS I.
-
-2001-08-13 Kazu Hirata <kazu@hxi.com>
-
- * mcore-dis.c: Fix formatting.
- * mips-dis.c: Likewise.
- * pj-dis.c: Likewise.
- * z8k-dis.c: Likewise.
-
-2001-08-12 Richard Henderson <rth@redhat.com>
-
- * cgen-ibld.in (extract_normal): Match type of VALUE and MASK
- to *VALUEP. Regenerate all cgen files.
-
-2001-08-10 Richard Sandiford <rsandifo@redhat.com>
-
- * mips-dis.c (print_insn_mips): Remove OPCODE_IS_MEMBER's gp32
- argument.
- * mips-opc.c (G6): Undefine.
- (mips_builtin_opcodes): Remove gp32 entry for "move". Add macro
- as the first "move" alternative.
-
-2001-08-10 Andreas Jaeger <aj@suse.de>
-
- * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
- to build warnings.
- * configure: Regenerate.
-
-2001-08-10 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c: Revert 2001-08-08.
-
-2001-08-09 Alan Modra <amodra@bigpond.net.au>
-
- * dis-buf.c (generic_strcat_address): Add missing prototype.
- #if 0 the functions as it is unused.
-
-2001-08-08 Alan Modra <amodra@bigpond.net.au>
-
- 1999-10-25 Torbjorn Granlund <tege@swox.com>
- * ppc-opc.c: Include "bfd.h".
- (powerpc_operands): Add new field for reloc type.
-
-2001-07-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (print_insn_arg): Don't use software integer registers
- for coprocessor registers.
- (get_mips_isa): Removed.
- (is_newabi): New function, checks if NewABI is used.
- (_print_insn_mips): Get distinction between old ABI and new ABI right.
-
-2001-08-01 Christian Groessler <cpg@aladdin.de>
-
- * z8kgen.c: Fixed indentation of opt[] array. Include stdio.h to
- get stderr definition.
- (internal, gas): Removed warnings.
- (gas): Create a correct final entry for created array.
- * z8k-opc.h: Recreated with new z8kgen.
-
-2001-07-28 Kazu Hirata <kazu@hxi.com>
-
- * i386-dis.c: Fix formatting.
-
-2001-07-28 Matthias Kramm <kramm@quiss.org>
-
- * i386-dis.c: Change formatting conventions for architecture
- i386:intel to better match the format of various intel i386
- assemblers, like nasm, tasm or masm.
-
-2001-07-24 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Update dependencies with "make dep-am".
- * Makefile.in: Regenerate
-
-2001-07-24 Kazu Hirata <kazu@hxi.com>
-
- * alpha-dis.c: Fix formatting.
- * cris-dis.c: Likewise.
- * d10v-dis.c: Likewise.
- * d30v-dis.c: Likewise.
- * m10300-dis.c: Likewise.
- * tic54x-dis.c: Likewise.
-
-2001-07-23 Kazu Hirata <kazu@hxi.com>
-
- * m68k-dis.c: Fix formatting.
- * pj-dis.c: Likewise.
- * s390-dis.c: Likewise.
- * z8k-dis.c: Likewise.
-
-2001-07-21 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Sort c.le.s and c.lt.s
- into the rest of the surrounding definitions.
-
-2001-07-18 Alan Modra <amodra@bigpond.net.au>
-
- * i386-dis.c (grps): Print l or w suffix, and require mem modrm
- for lgdt, lidt, sgdt, sidt.
-
-2001-07-13 Philip Blundell <philb@gnu.org>
-
- * arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR.
-
-2001-07-12 Jeff Johnston <jjohnstn@redhat.com>
-
- * cgen-asm.in: Include "xregex.h" always to enable the libiberty
- regex support.
- (@arch@_cgen_build_insn_regex): New routine from Graydon.
- (@arch@_cgen_assemble_insn): Add Graydon's code to use regex
- to verify if it is worth parsing the insn as insn "x". Also update
- error message when insn is not a recognized format of the insn vs
- when the insn is completely unrecognized.
-
-2001-07-11 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-dis.in (print_insn): Use cgen_get_insn_value instead of
- bfd_get_bits.
- * cgen-opc.c (cgen_get_insn_value, cgen_put_insn_value): Respect
- non-zero CGEN_CPU_DESC->insn_chunk_bitsize.
-
-2001-07-09 Andreas Jaeger <aj@suse.de>, Karsten Keil <kkeil@suse.de>
-
- * i386-dis.c (set_op): Handle 64 bit and 32 bit mode.
- (OP_J): Use bfd_vma for mask to work properly with 64 bits.
- (op_address,op_riprel): Use bfd_vma to handle 64 bits.
-
-2001-07-05 Ben Elliston <bje@redhat.com>
-
- * Makefile.am (CPUDIR): Define.
- (stamp-m32r): Update dependencies.
- (stamp-fr30): Ditto.
- (stamp-openrisc): Ditto.
- * Makefile.in: Regenerate.
-
-2001-07-03 Zoltan Hidvegi <hzoli@hzoli.2y.net>
-
- * ppc-opc.c: Fix encoding of 'clf' instruction.
-
-2001-06-30 Geoffrey Keating <geoffk@redhat.com>
-
- * cgen-ibld.in (insert_normal): Support CGEN_IFLD_SIGN_OPT.
-
-2001-06-28 Geoffrey Keating <geoffk@redhat.com>
-
- * cgen-asm.c (cgen_parse_keyword): Allow any first character.
- * cgen-opc.c (cgen_keyword_add): Ignore special first
- character when building nonalpha_chars field.
-
-2001-06-24 Ben Elliston <bje@redhat.com>
-
- * m88k-dis.c: Format to conform to GNU coding standards.
-
-2001-06-23 Andreas Jaeger <aj@suse.de>
-
- * disassemble.c (disassembler_usage): Add unused attribute.
-
-2001-06-22 Eric Christopher <echristo@redhat.com>
-
- * mips-opc.c: Move prefx to start of the table.
-
-2001-06-22 Stacey Sheldon <ssheldon@Catena.com>
-
- * arc-opc.c (insert_st_syntax): Fix over-optimisation of ST
- instruction.
-
-2001-06-22 Pauli <pauli@moreton.com.au>
-
- * m68k-opc.c: Add wdebug instruction.
-
-2001-06-15 Aldy Hernandez <aldyh@redhat.com>
-
- * m10300-opc.c (mn10300_opcodes): Change opcode for AM33 subc.
-
-2001-06-14 Geoffrey Keating <geoffk@redhat.com>
-
- * cgen-asm.c (cgen_parse_keyword): When looking for the
- boundaries of a keyword, allow any special characters
- that are actually in one of the allowed keyword.
- * cgen-opc.c (cgen_keyword_add): Add any special characters
- to the nonalpha_chars field.
-
-2001-06-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-opc.c: Add lgh instruction.
- * s390-opc.txt: Likewise.
-
-2001-06-11 Alan Modra <amodra@bigpond.net.au>
-
- * i386-dis.c: Group function prototypes in one place.
- (FLOATCODE): Redefine as 1.
- (USE_GROUPS): Redefine as 2.
- (USE_PREFIX_USER_TABLE): Redefine as 3.
- (X86_64_SPECIAL): Define as 4.
- (GRP1b..GRPAMD): Move USE_GROUPS to bytecode1, index to bytecode2.
- (PREGRP0..PREGRP26): Similarly with USE_PREFIX_USER_TABLE.
- (dis386_att, dis386_intel, disx86_64_att, disx86_64_intel): Delete.
- (dis386): New table combining above four tables.
- (dis386_twobyte_att, dis386_twobyte_intel): Delete.
- (dis386_twobyte): New table combining above two tables.
- (x86_64_table): New table to handle x86_64.
- (X86_64_0): Define.
- (float_mem_att, float_mem_intel): Delet.
- (float_mem): New table combining above two tables.
- (print_insn_i386): Modify for above.
- (dofloat): Likewise.
- (putop): Handle '{', '|' and '}' to select alternative mnemonics.
- Return 0 on success, 1 if no valid alternative.
- (putop <case 'F'>, <case 'H'>): Print nothing for intel_syntax.
- (putop <case 'T'>): Move to case 'U', and share case 'Q' code.
- (putop <case 'I'>): Move to case 'T', and share case 'P' code.
- (OP_REG <case rAX_reg .. rDI_reg>): Handle as for eAX_reg .. eDI_reg
- if not 64-bit mode.
- (OP_I <case q_mode>): Handle as for v_mode if not 64-bit mode.
- (OP_I64): If not 64-bit mode, call OP_I.
- OP_OFF64): If not 64-bit mode, call OP_OFF.
- (OP_ST, OP_STi, OP_SEG, OP_DIR, OP_OFF, OP_OFF64, OP_MMX): Rename
- 'ignore'/'ignored' to 'bytemode'.
-
-2001-06-10 Alan Modra <amodra@bigpond.net.au>
-
- * configure.in: Sort 'ta' case statement.
- * configure: Regenerate.
-
- * i386-dis.c (dis386_att): Add 'H' to conditional branch and
- loop,jcxz insns.
- (disx86_64_att): Likewise.
- (dis386_twobyte_att): Likewise.
- (print_insn_i386): Don't print branch hints as a prefix.
- (putop): 'H' macro prints branch hints.
- (get64): Kill compile warnings.
-
-2001-06-09 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-opc.h (sh_table): Don't use empty initializers.
-
-2001-06-06 Christian Groessler <cpg@aladdin.de>
-
- * z8k-dis.c: Fix formatting.
- (unpack_instr): Remove unused cases in switch statement. Add
- safety abort() in default case.
- (unparse_instr): Add safety abort() in default case.
-
-2001-06-06 Peter Jakubek <pjak@snafu.de>
-
- * m68k-dis.c (print_insn_m68k): Fix typo.
- * m68k-opc.c (m68k_opcodes): Correct allowed operands for
- mcf (ColdFire) div, rem and moveb instructions.
-
-2001-06-06 Alan Modra <amodra@bigpond.net.au>
-
- * i386-dis.c (cond_jump_flag, loop_jcxz_flag): Define.
- (cond_jump_mode, loop_jcxz_mode): Define.
- (dis386_att): Add cond_jump_flag and loop_jcxz_flag as
- appropriate, and 'F' suffix to loop insns.
- (disx86_64_att): Likewise.
- (dis386_twobyte_att): Likewise.
- (print_insn_i386): Don't output addr prefix for loop, jcxz insns.
- Output data size prefix for long conditional jumps. Output cs and
- ds branch hints.
- (putop): Handle 'F', and mark PREFIX_ADDR used for case 'E'.
- (OP_J): Don't make PREFIX_DATA used.
-
-2001-06-04 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-opc.h (sh_table): Complete last element entry to avoid
- compiler warning.
-
-2001-05-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (mips_isa_type): Add MIPS r12k support.
-
-2001-05-23 Alan Modra <amodra@one.net.au>
-
- * arc-opc.c: Whitespace changes.
-
-2001-05-18 Hans-Peter Nilsson <hp@axis.com>
-
- * cris-opc.c (cris_spec_regs): Add missing initializer field for
- last element.
-
-2001-05-15 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-dis.in (extract_normal): Complete support for min<base case.
-
-2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (INSNLEN): Rename MAXLEN.
- (std_reg_names): Replace by mips32_reg_names and mips64_reg_names.
- (print_insn_arg): Remove $ prefix of register names.
- (set_mips_isa_type): Remove.
- (mips_isa_type): New function.
- (get_mips_isa): New Function.
- (print_insn_mips): Rename _print_insn_mips.
- (_print_insn_mips): New function, contains code which was
- duplicated in print_insn_big_mips and print_insn_little_mips.
- (print_insn_big_mips): Moved code to _print_insn_mips.
- (print_insn_little_mips): Likewise.
- (print_mips16_insn_arg): Remove $ prefix of register names.
- Print error message before abort.
-
-2001-05-14 J.T. Conklin <jtc@redback.com>
-
- * ppc-opc.c (powerpc_opcodes): Fixed extended opcode field of
- simplified mnemonics used for setting PPC750-specific special
- purpose registers.
-
-2001-05-12 H.J. Lu <hjl@gnu.org>
-
- * i386-dis.c (print_insn_i386): Always set `mod', `reg' and
- `rm'.
-
-2001-05-12 Peter Targett <peter.targett@arccores.com>
-
- * arc-opc.c (arc_reg_names): Correct attribute for lp_count
- register to r/w. Formatting fixes throughout file.
-
-2001-05-12 Alan Modra <amodra@one.net.au>
-
- * i386-dis.c (prefix_user_table): Correct movq2dq, movdq2q, and
- movq operands.
- (twobyte_has_modrm): Update table.
- (need_modrm): Give it file scope.
- (MODRM_CHECK): Define.
- (dofloat): Use MODRM_CHECK.
- (OP_E): Likewise.
- (OP_EM): Likewise.
- (OP_EX): Likewise.
-
-2001-05-07 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-dis.in (default_print_insn): Tolerate min<base instructions
- even at end of a section.
- * cgen-ibld.in (extract_normal): Tolerate min!=base!=max instructions
- by ignoring precariously-unpacked insn_value in favor of raw buffer.
-
-2001-05-03 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * disassemble.c (disassembler_usage): Remove unused attribute.
-
-2001-05-04 Frank Ch. Eigler <fche@redhat.com>
-
- * m32r-dis.c, -asm.c, -ibld.c: Regenerated with disassembler fixes.
-
-2001-05-04 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-dis.in (print_insn): Remove call to read_insn. Instead,
- assume incoming buffer already has the base insn loaded. Handle
- smaller-than-base instructions for variable-length case.
-
-2001-05-04 Alan Modra <amodra@one.net.au>
-
- * i386-dis.c (Ev, Ed): Remove duplicate define.
- (Gd): Define.
- (XS): Define.
- (OP_XS): New function.
- (dis386_twobyte_att): Correct pinsrw, pextrw, pmovmskb, and
- movmskp operands.
- (dis386_twobyte_intel): Likewise.
- (prefix_user_table): Use MS for maskmovq operand.
-
-2001-04-27 Johan Rydberg <jrydberg@opencores.org>
-
- * Makefile.am: Add OpenRISC target.
- * Makefile.in: Regenerated.
-
- * disassemble.c (disassembler): Recognize the OpenRISC disassembly.
-
- * configure.in (bfd_openrisc_arch): Add target.
- * configure: Regenerated.
-
- * openrisc-asm.c: New file.
- * openrisc-desc.c: Likewise.
- * openrisc-desc.h: Likewise.
- * openrisc-dis.c: Likewise.
- * openrisc-ibld.c: Likewise.
- * openrisc-opc.c: Likewise.
- * openrisc-opc.h: Likewise.
-
-2001-04-24 Christian Groessler <cpg@aladdin.de>
-
- * z8k-dis.c: add names of control registers (ctrl_names);
- (seg_length): provides instruction length fixup for segmented
- mode; (unpack_instr): correctly handle ARG_DISP16, ARG_DISP12,
- CLASS_0DISP7, CLASS_1DISP7, CLASS_DISP8 and CLASS_PR cases;
- (unparse_intr): handle CLASS_PR, print addresses without '#'
- * z8k-opc.h: re-created with new z8kgen
- * z8kgen.c: merged in fixes which were in existing z8k-opc.h; new
- entries for ldctl/ldctlb instruction
-
-2001-04-06 Andreas Jaeger <aj@suse.de>
-
- * i386-dis.c: Add ffreep instruction.
-
-2001-03-30 Alexandre Oliva <aoliva@redhat.com>
-
- * ppc-opc.c (insert_mbe): Shift mask initializer as long.
-
-2001-03-24 Alan Modra <alan@linuxcare.com.au>
-
- * i386-dis.c (PREGRP25): Define.
- (dis386_twobyte_att): Use here in place of "movntq" entry.
- (dis386_twobyte_intel): Likewise.
- (prefix_user_table): Add PREGRP25 entry for "movntq" and "movntdq".
- (PREGRP26): Define.
- (dis386_twobyte_att): Use here.
- (dis386_twobyte_intel): Likewise.
- (prefix_user_table): Add PREGRP26 entry for "punpcklqdq".
- (prefix_user_table <maskmovdqu>): XM operand, not MX.
- (prefix_user_table): Cosmetic changes to "bad" entries.
-
-2001-03-23 Nick Clifton <nickc@redhat.com>
-
- * mips-opc.c: Remove extraneous whitespace.
- * mips-dis.c: Remove extraneous whitespace.
-
-2001-03-22 Ben Elliston <bje@redhat.com>
-
- * cgen-asm.in (@arch@_cgen_assemble_insn): Move tmp_errmsg
- declaration inside CGEN_VERBOSE_ASSEMBLER_ERRORS conditional.
- * cgen-ibld.in (put_insn_int_value): Mark cd parameter as unused
- to allay a compiler warning.
-
-2001-03-22 Alan Modra <alan@linuxcare.com.au>
-
- * i386-dis.c (dis386_twobyte_att): Add entries for paddq, psubq.
- (dis386_twobyte_intel): Likewise.
- (twobyte_has_modrm): Set entry for paddq, psubq.
-
-2001-03-20 Patrick Macdonald <patrickm@redhat.com>
-
- * cgen-dis.in (print_insn_@arch@): Add support for target machine
- determination via CGEN_COMPUTE_MACH.
- * fr30-desc.c: Regenerate.
- * fr30-dis.c: Regenerate.
- * fr30-opc.h: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-dis.c: Regenerate.
- * m32r-opc.h: Regenerate.
- * m32r-opinst.c: Regenerate.
-
-2001-03-20 H.J. Lu <hjl@gnu.org>
-
- * configure.in: Remove the redundent AC_ARG_PROGRAM.
- * configure: Rebuild.
-
-2001-03-19 Jim Wilson <wilson@redhat.com>
-
- * ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and
- notestr if larger than xsect.
- (in_class): Handle format M5.
- * ia64-asmtab.c: Regnerate.
-
-2001-03-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * vax-dis.c (print_insn_vax): Only fetch two bytes if the info buffer
- has more than one byte left to read.
-
-2001-03-16 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-opc.c: Add new opcodes. Smooth out formatting.
- * s390-opc.txt: Add new opcodes.
-
-2001-03-06 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c (print_insn_thumb): Compute destination address
- of BLX(1) instruction by taking bit 1 from PC and not from bit
- 0 of the offset.
-
-2001-03-06 Igor Shevlyakov <igor@windriver.com>
-
- * m68k-dis.c (print_insn_m68k): Recognize Coldfire CPUs
- so command line switches will work.
-
-2001-03-05 Dave Brolley <brolley@redhat.com>
-
- * fr30-asm.c: Regenerate.
- * fr30-desc.c: Regenerate.
- * fr30-desc.h: Regenerate.
- * fr30-dis.c: Regenerate.
- * fr30-ibld.c: Regenerate.
- * fr30-opc.c: Regenerate.
- * fr30-opc.h: Regenerate.
- * m32r-asm.c: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-desc.h: Regenerate.
- * m32r-dis.c: Regenerate.
- * m32r-ibld.c: Regenerate.
- * m32r-opc.c: Regenerate.
- * m32r-opc.h: Regenerate.
- * m32r-opinst.c: Regenerate.
-
-2001-02-28 Igor Shevlyakov <igor@windriver.com>
-
- * m68k-opc.c: fix cpushl according to Motorola. Enable
- bunch of instructions for Coldfire 5407 and add all new.
-
-2001-02-27 Alan Modra <alan@linuxcare.com.au>
-
- * configure.in (BFD_VERSION): Do without grep.
- * configure: Regenerate.
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2001-02-23 David Mosberger <davidm@hpl.hp.com>
-
- * ia64-opc-a.c: Add missing pseudo-ops for "cmp" and "cmp4".
- * ia64-asmtab.c: Regenerate.
-
-2001-02-21 David Mosberger <davidm@hpl.hp.com>
-
- * ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
- separate variants: one for IMM22 and the other for IMM14.
- * ia64-asmtab.c: Regenerate.
-
-2001-02-21 Greg McGary <greg@mcgary.org>
-
- * cgen-opc.c (cgen_get_insn_value): Add missing `return'.
-
-2001-02-20 H.J. Lu <hjl@gnu.org>
-
- * Makefile.am (ia64-ic.tbl): Remove the target.
- (ia64-raw.tbl): Likewise.
- (ia64-waw.tbl): Likewise.
- (ia64-war.tbl): Likewise.
- (ia64-asmtab.c): Generate it in the source directory.
- * Makefile.in: Regenerated.
-
-2001-02-18 lars brinkhoff <lars@nocrew.org>
-
- * Makefile.am: Add PDP-11 target.
- * configure.in: Likewise.
- * disassemble.c: Likewise.
- * pdp11-dis.c: New file.
- * pdp11-opc.c: New file.
-
-2001-02-14 Jim Wilson <wilson@redhat.com>
-
- * ia64-ic.tbl: Update from Intel. Add setf to fr-writers.
- * ia64-asmtab.c: Regenerate.
-
-2001-02-12 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c (prefix_user_t): Add 'Y' to SSE ineger converison
- instructions.
- (putop): Handle 'Y'
-
-2001-02-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * mips-dis.c (print_insn_arg): Use top four bits of the address of
- the following instruction not of the jump itself for the jump
- target.
- (print_mips16_insn_arg): Likewise.
-
-2001-02-11 Michael Sokolov <msokolov@ivan.Harhan.ORG>
-
- * Makefile.am (stamp-lib): ranlib the libopcodes.a in the build
- directory.
- * Makefile.in: Regenerate.
-
-2001-02-09 Schwidefsky <schwidefsky@de.ibm.com>
-
- * Makefile.am: Add linux target for S/390.
- * Makefile.in: Likewise.
- * configure.in: Likewise.
- * disassemble.c: Likewise.
- * s390-dis.c: New file.
- * s390-mkopc.c: New file.
- * s390-opc.c: New file.
- * s390-opc.txt: New file.
-
-2001-02-05 Jim Wilson <wilson@redhat.com>
-
- * ia64-asmtab.c: Revert 2000-12-16 change.
-
-2001-02-02 Patrick Macdonald <patrickm@redhat.com>
-
- * fr30-desc.h: Regenerate with CGEN_MAX_SYNTAX_ELEMENTS.
- * m32r-desc.h: Regenerate.
-
-2001-02-01 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c (dis386_att, grps): Use 'T' for push/pop
- (putop): Handle 'T', alphabetize order, fix 'I' handling in Intel syntax
-
-2001-01-14 Alan Modra <alan@linuxcare.com.au>
-
- * hppa-dis.c (print_insn_hppa): Handle '>' and '<' arg types.
-
-2001-01-13 Nick Clifton <nickc@redhat.com>
-
- * disassemble.c: Remove spurious white space.
-
-2001-01-13 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c (dis386_att, disx86_64_att): Fix ret, lret and iret
- templates.
-
-2001-01-11 Peter Targett <peter.targett@arccores.com>
-
- * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
- * Makefile.am (C_FILES): Add arc-ext.c.
- (ALL_MACHINES) Add arc-ext.lo.
- (INCLUDES) Add opcode directory to list.
- New dependency entry for arc-ext.lo.
- * disassemble.c (disassembler): Correct call to
- arc_get_disassembler.
- * arc-opc.c: New update for ARC, including full base
- instructions for ARC variants.
- * arc-dis.h, arc-dis.c: New update for ARC, including
- extensibility functionality.
- * arc-ext.h, arc-ext.c: New files for handling extensibility.
-
-2001-01-10 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c (PREGRP15 - PREGRP24): New.
- (dis386_twobyt): Add SSE2 instructions.
- (twobyte_uses_SSE_prefix: Rename from ... ; add new SSE instructions.
- (twobyte_uses_f3_prefix): ... this one.
- (grps): Add SSE instructions.
- (prefix_user_table): Add two new slots; add SSE2 instructions.
- (print_insn_i386): Rename uses_f3_prefix to uses_SSE_prefix;
- Handle the REPNZ and Data16 prefixes as well; do proper lookup
- to prefix_user_table.
- (OP_E): Accept mfence and lfence as well.
- (OP_MMX): Data16 prefix turns MMX to SSE; support REX extensions.
- (OP_XMM): Support REX extensions.
- (OP_EM): Likewise.
- (OP_EX): Likewise.
-
-2001-01-09 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c (print_insn): Set pc to zero for instructions with
- a reloc associated with them.
-
-2001-01-09 Jeff Johnston <jjohnstn@redhat.com>
-
- * cgen-asm.in (parse_insn_normal): Changed syn to be
- CGEN_SYNTAX_CHAR_TYPE. Changed all references to *syn
- as character to use CGEN_SYNTAX_CHAR macro and all comparisons
- to '\0' to use 0 instead.
- * cgen-dis.in (print_insn_normal): Ditto.
- * cgen-ibld.in (insert_insn_normal, extract_insn_normal): Ditto.
-
-2001-01-05 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c: Add x86_64 support.
- (rex): New static variable.
- (REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): New constants.
- (USED_REX): New macro.
- (Ev, Ed, Rm, Iq, Iv64, Cm, Dm, Rm*, Ob64, Ov64): New macros.
- (OP_I64, OP_OFF64, OP_IMREG): New functions.
- (OP_REG, OP_OFF): Declare.
- (get64, get32, get32s): New functions.
- (r??_reg): New constants.
- (dis386_att): Change templates of instruction implicitly promoted
- to 64bit; change e?? to RMe?? for unwind RM byte instructions.
- (grps): Likewise.
- (dis386_intel): Likewise.
- (dixx86_64_att): New table based on dis386_att.
- (dixx86_64_intel): New table based on dis386_intel.
- (names64, names8rex): New global variable.
- (names32, names16): Add extended registers.
- (prefix_user_t): Recognize rex prefixes.
- (prefix_name): Print REX prefixes nicely.
- (op_riprel): New global variable.
- (start_pc): Set type to bfd_vma.
- (print_insn_i386): Detect the 64bit mode and use proper table;
- move ckprefix after initializing the buffer; output unused rex prefixes;
- output information about target of RIP relative addresses.
- (putop): Support 'O' and 'I'. Update handling of "P', 'Q', 'R' and 'S';
- (print_operand_value): New function.
- (OP_E, OP_G, OP_REG, OP_I, OP_J, OP_DIR, OP_OFF, OP_D): Add support for
- REX prefix and new modes.
- (get64, get32s): New.
- (get32): Return bfd_signed_vma type.
- (set_op): Initialize the op_riprel.
- * disassemble.c (disassembler): Recognize the x86-64 disassembly.
-
-2001-01-03 Richard Sandiford <r.sandiford@redhat.com>
-
- cgen-dis.in (read_insn): Use bfd_get_bits()
-
-2001-01-02 Richard Sandiford <rsandifo@redhat.com>
-
- * cgen-dis.c (hash_insn_array): Use bfd_put_bits().
- (hash_insn_list): Likewise
- * cgen-ibld.in (insert_1): Use bfd_put_bits() and bfd_get_bits().
- (extract_1): Use bfd_get_bits().
- (extract_normal): Apply sign extension to both extraction
- methods.
- * cgen-opc.c (cgen_get_insn_value): Use bfd_get_bits()
- (cgen_put_insn_value): Use bfd_put_bits()
-
-2000-12-28 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-asm.in (parse_insn_normal): Print better error message for
- instructions with missing operands.
-
-2000-12-21 Santeri Paavolainen <santtu@ssh.com>
-
- * cgen-opc.c: Include alloca.h if HAVE_ALLOCA_H is defined.
-
-2000-12-16 Nick Clifton <nickc@redhat.com>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * config.in: Regenerate.
- * configure.in: Add spacing.
- * configure: Regenerate.
- * ia64-asmtab.c: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2000-12-12 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-asm.in (@arch@_cgen_assemble_insn): Prefer printing insert-time
- error messages over later parse-time ones.
-
-2000-12-12 Jim Wilson <wilson@redhat.com>
-
- * ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode
- argument.
- * ia64-gen.c (insert_deplist): Cast sizeof result to int.
- (print_dependency_table): Print NULL if semantics field not set.
- (insert_opcode_dependencies): Mark cmp parameter as unused.
- (print_main_table): Use fprintf_vma to print long long fields.
- (main): Mark argv paramter as unused. Convert to old style definition.
- * ia64-opc.c (ia64_find_dependency): Cast sizeof result to int.
- * ia64-asmtab.c: Regnerate.
-
-2000-12-09 Nick Clifton <nickc@redhat.com>
-
- * m32r-dis.c (print_insn): Prevent re-read of instruction from
- wrong address.
-
- * fr30-dis.c: Regenerate.
-
-2000-12-08 Peter Targett <peter.targett@arccores.com>
-
- * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
- * Makefile.am (C_FILES): Add arc-ext.c.
- (ALL_MACHINES) Add arc-ext.lo.
- (INCLUDES) Add opcode directory to list.
- New dependency entry for arc-ext.lo.
- * disassemble.c (disassembler): Correct call to
- arc_get_disassembler.
- * arc-opc.c: New update for ARC, including full base
- instructions for ARC variants.
- * arc-dis.h, arc-dis.c: New update for ARC, including
- extensibility functionality.
- * arc-ext.h, arc-ext.c: New files for handling extensibility.
-
-2000-12-03 Chris Demetriou cgd@sibyte.com
-
- * mips-opc.c (mips_builtin_opcodes): Use the WR_HILO, RD_HILO,
- MOD_HILO, and MOD_LO macros.
-
- * mips-opc.c (M1, M2): Delete.
- (mips_builtin_opcodes): Remove all uses of M1.
-
- * mips-opc.c (mips_builtin_opcodes): Make the dmfc2 and dmtc2
- instructions take "G" format second operands and use the
- correct flags.
- There are mfc3 and mtc3 opcodes, so add dmfc3 and dmtc3 opcodes to
- match.
- Delete "sel" code operands from mfc1 and mtc1.
- Add MIPS64 opcode changes (dclo, dclz), and "sel" code variants
- for dm[ft]c[023].
-
-2000-12-03 Ed Satterthwaite ehs@sibyte.com and
- Chris Demetriou cgd@sibyte.com
-
- * mips-opc.c (mips_builtin_opcodes): Finish additions
- for MIPS32 support, and clean up existing entries for
- aesthetics, consistency with the MIPS32 ISA, and
- with consistency the rest of the table.
-
-2000-12-01 Nick Clifton <nickc@redhat.com>
-
- * mips16-opc.c (mips16_opcodes): Add initialiser for membership
- field.
-
-2000-12-01 Chris Demetriou <cgd@sibyte.com>
-
- mips-dis.c (print_insn_arg): Handle new 'U' and 'J' argument
- specifiers. Update 'B' for new constant names, and remove
- 'm'.
- mips-opc.c (mips_builtin_opcodes): Place "pref" and "ssnop"
- near the top of the array, so they are disassembled properly.
- Enable "ssnop" for MIPS32. Add "break" variant with 20 bit
- code for MIPS32. Update "clo" and "clz" to use 'U' operand
- specifier. Add 'H' format specifier variants for "mfc1,"
- "mfc2," "mfc3," "mtc1," "mtc2," and "mtc3" for MIPS32. Update
- MIPS32 "sdbbp" to use 'B' operand specifier. Add MIPS32
- "wait" variant which uses 'J' operand specifier.
-
- * mips-dis.c (set_mips_isa_type): Update to use
- CPU_UNKNOWN and ISA_* constants. Add bfd_mach_mips32 case.
- Replace bfd_mach_mips4K with bfd_mach_mips32_4k case.
- * mips-opc.c (I32): New constant for instructions added in
- MIPS32.
- (P4): Delete.
- (mips_builtin_opcodes) Replace all uses of P4 with I32.
-
- * mips-dis.c (set_mips_isa_type): Add cases for
- bfd_mach_mips5 and bfd_mach_mips64.
- * mips-opc.c (I64): New definitions.
-
- * mips-dis.c (set_mips_isa_type): Add case for
- bfd_mach_mips_sb1.
-
-2000-11-28 Hans-Peter Nilsson <hp@bitrange.com>
-
- * sh-dis.c (print_insn_ddt): Make insn_x, insn_y unsigned.
- (print_insn_ppi): Make nib1, nib2, nib3 unsigned.
- Initialize variable dc to NULL.
- (print_insn_shx): Remove unused label d_reg_n.
-
-2000-11-24 Nick Clifton <nickc@redhat.com>
-
- * arm-opc.h: Add new opcode formatting parameter 'B'.
- (arm_opcodes): Add XScale, v5, and v5te instructions.
- (thumb_opcodes): Add v5t instructions.
-
- * arm-dis.c (print_insn_arm): Handle new 'B' format
- parameter.
- (print_insn_thumb): Decode BLX(1) instruction.
-
-2000-11-21 Chris Demetriou <cgd@sibyte.com>
-
- * mips-opc.c: Fix file header comment.
-
-2000-11-14 Hans-Peter Nilsson <hp@axis.com>
-
- * cris-dis.c (cris_get_disassembler): If abfd is NULL, return
- print_insn_cris_with_register_prefix.
-
-2000-11-11 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-opc.h: The operand of `mov.w r0, (<disp>,GBR)' is IMM1, not 0.
-
-2000-11-07 Matthew Green <mrg@redhat.com>
-
- * cgen-dis.in (print_insn): All insns which can fit into insn_value
- must be loaded there in their entirety.
-
-2000-10-20 Jakub Jelinek <jakub@redhat.com>
-
- * sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
- (compute_arch_mask): Add v8plusb and v9b machines.
- (print_insn_sparc): siam mode decoding, accept ASRs up to 25.
- * sparc-opc.c: Support for Cheetah instruction set.
- (prefetch_table): Add #invalidate.
-
-2000-10-16 Nick Clifton <nickc@redhat.com>
-
- * mcore-dis.c (imsk): Change mask for OC to 0xFE00.
-
-2000-10-06 Dave Brolley <brolley@redhat.com>
-
- * fr30-desc.h: Regenerate.
- * m32r-desc.h: Regenerate.
- * m32r-ibld.c: Regenerate.
-
-2000-10-05 Jim Wilson <wilson@redhat.com>
-
- * ia64-ic.tbl: Update from Intel.
- * ia64-asmtab.c: Regenerate.
-
-2000-10-04 Kazu Hirata <kazu@hxi.com>
-
- * ia64-gen.c: Convert C++-style comments to C-style comments.
- * tic54x-dis.c: Likewise.
-
-2000-09-29 Hans-Peter Nilsson <hp@axis.com>
-
- Changes to add dollar prefix to registers for files where user symbols
- don't have a leading underscore. Fix formatting.
- * cris-dis.c (REGISTER_PREFIX_CHAR): New.
- (format_reg): Add parameter with_reg_prefix. All callers changed.
- (print_with_operands): Ditto.
- (print_insn_cris_generic): Renamed from print_insn_cris, add
- parameter with_reg_prefix.
- (print_insn_cris_with_register_prefix,
- print_insn_cris_without_register_prefix, cris_get_disassembler):
- New.
- * disassemble.c (disassembler) [ARCH_cris]: Call cris_get_disassembler.
-
-2000-09-22 Jim Wilson <wilson@redhat.com>
-
- * ia64-opc-f.c (ia64_opcodes_f): Add fpcmp pseudo-ops for
- gt, ge, ngt, and nge.
- * ia64-asmtab.c: Regenerate.
-
- * ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
- * ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
- (lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
- * ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
- * ia64-asmtab.c: Regnerate.
-
-2000-09-13 Anders Norlander <anorland@acc.umu.se>
-
- * mips-opc.c (mips_builtin_opcodes): Support cache instruction on 4K cores.
- Add mfc0 and mtc0 with sub-selection values.
- Add clo and clz opcodes.
- Add msub and msubu instructions for MIPS32.
- Add madd/maddu aliases for mad/madu for MIPS32.
- Support wait, deret, eret, movn, pref for MIPS32.
- Support tlbp, tlbr, tlbwi, tlbwr.
- (P4): New define.
-
- * mips-dis.c (print_insn_arg): Print sdbbp 'm' args.
- (print_insn_arg): Handle 'H' args.
- (set_mips_isa_type): Recognize 4K.
- Use CPU_* defines instead of hardcoded numbers.
-
-2000-09-11 Catherine Moore <clm@redhat.com>
-
- * d30v-opc.c (d30v_operand_t): New operand type Rb2.
- (d30v_format_tab): Use Rb2 for modinc and moddec.
-
-2000-09-07 Catherine Moore <clm@redhat.com>
-
- * d30v-opc.c (d30v_format_tab): Use format Ra for
- modinc and moddec.
-
-2000-09-06 Alexandre Oliva <aoliva@redhat.com>
-
- * configure: Rebuilt with new libtool.m4.
-
-2000-09-05 Nick Clifton <nickc@redhat.com>
-
- * configure: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2000-08-31 Alexandre Oliva <aoliva@redhat.com>
-
- * acinclude.m4: Include libtool and gettext macros from the
- top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-30 Kazu Hirata <kazu@hxi.com>
-
- * tic80-dis.c: Fix formatting.
-
-2000-08-29 Kazu Hirata <kazu@hxi.com>
-
- * w65-dis.c: Fix formatting.
-
-2000-08-28 Mark Hatle <mhatle@mvista.com>
-
- * ppc-opc.c: Add XTLB macro for a few PPC 4xx extended mnemonics.
- (powerpc_opcodes): Add table entries for PPC 405 instructions.
- Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403
- instructions. Added extended mnemonic mftbl as defined in the
- 405GP manual for all PPCs.
-
-2000-08-28 Jim Wilson <wilson@redhat.com>
-
- * ia64-dis.c (print_insn_ia64): Add failed label after ia64_free_opcode
- call. Change last goto to use failed instead of done.
-
-2000-08-28 Dave Brolley <brolley@redhat.com>
-
- * cgen-ibld.in (cgen_put_insn_int_value): New function.
- (insert_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
- (insert_insn_normal): Use cgen_put_insn_int_value with CGEN_INT_INSN_P.
- (extract_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
- * cgen-dis.in (read_insn): New static function.
- (print_insn): Use read_insn to read the insn into the buffer and set
- up for disassembly.
- (print_insn): in CGEN_INT_INSN_P, make sure that the entire insn is
- in the buffer.
- * fr30-asm.c: Regenerated.
- * fr30-desc.c: Regenerated.
- * fr30-desc.h: Regenerated.
- * fr30-dis.c: Regenerated.
- * fr30-ibld.c: Regenerated.
- * fr30-opc.c: Regenerated.
- * fr30-opc.h: Regenerated.
- * m32r-asm.c: Regenerated.
- * m32r-desc.c: Regenerated.
- * m32r-desc.h: Regenerated.
- * m32r-dis.c: Regenerated.
- * m32r-ibld.c: Regenerated.
- * m32r-opc.c: Regenerated.
-
-2000-08-28 Kazu Hirata <kazu@hxi.com>
-
- * tic30-dis.c: Fix formatting.
-
-2000-08-27 Kazu Hirata <kazu@hxi.com>
-
- * sh-dis.c: Fix formatting.
-
-2000-08-24 David Edelsohn <dje@watson.ibm.com>
-
- * ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd.
-
-2000-08-24 Kazu Hirata <kazu@hxi.com>
-
- * z8k-dis.c: Fix formatting.
-
-2000-08-16 Jim Wilson <wilson@redhat.com>
-
- * ia64-ic.tbl (pr-readers-nobr-nomovpr): Add addl, adds. Delete
- break, mov-immediate, nop.
- * ia64-opc-f.c: Delete fpsub instructions.
- * ia64-opc-m.c: Add POSTINC to all instructions with postincrement
- address operand. Rewrite using macros to avoid long lines.
- * ia64-opc.h (POSTINC): Define.
- * ia64-asmtab.c: Regenerate.
-
-2000-08-15 Jim Wilson <wilson@redhat.com>
-
- * ia64-ic.tbl: Add missing entries.
-
-2000-08-08 Jason Eckhardt <jle@redhat.com>
-
- * i860-dis.c (print_br_address): Change third argument from int
- to long.
-
-2000-08-07 Richard Henderson <rth@redhat.com>
-
- * ia64-dis.c (print_insn_ia64): Get byte skip count correct
- for MLI templates. Handle IA64_OPND_TGT64.
-
-2000-08-04 Ben Elliston <bje@redhat.com>
-
- * cgen-dis.in, cgen-asm.in, cgen-ibld.in: New files.
- * cgen.sh: Likewise.
-
-2000-08-02 Jim Wilson <wilson@redhat.com>
-
- * ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end.
-
-2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl>
-
- * avr-dis.c (avr_operand): Use PARAMS macro in declaration.
- Change return type from void to int. Check the combination
- of operands, return 1 if valid. Fix to avoid BUF overflow.
- Report undefined combinations of operands in COMMENT.
- Report internal errors to stderr. Output the adiw/sbiw
- constant operand in both decimal and hex.
- (print_insn_avr): Disassemble ldd/std with displacement of 0
- as ld/st. Check avr_operand () return value, handle invalid
- combinations of operands like unknown opcodes.
-
-2000-07-28 Ben Elliston <bje@redhat.com>
-
- * Makefile.am (CGEN, CGENDEPS, CGENDIR, CGENFLAGS): New.
- (run-cgen, stamp-m32r, stamp-fr30): New targets.
- * Makefile.in: Regenerate.
- * configure.in: Add --enable-cgen-maint option.
- * configure: Regenerate.
-
-2000-07-26 Dave Brolley <brolley@redhat.com>
-
- * cgen-opc.c (cgen_hw_lookup_by_name): 'i' is now unsigned.
- (cgen_hw_lookup_by_num): Ditto.
- (cgen_operand_lookup_by_name): Ditto.
- (print_address): Ditto.
- (print_keyword): Ditto.
- * cgen-dis.c (hash_insn_array): Mark unused parameters with
- ATTRIBUTE_UNUSED.
- * cgen-asm.c (hash_insn_array): Mark unused parameters with
- ATTRIBUTE_UNUSED.
- (cgen_parse_keyword): Ditto.
-
-2000-07-22 Jason Eckhardt <jle@redhat.com>
-
- * i860-dis.c: New file.
- (print_insn_i860): New function.
- (print_br_address): New function.
- (sign_extend): New function.
- (BITWISE_OP): New macro.
- (I860_REG_PREFIX): New macro.
- (grnames, frnames, crnames): New structures.
-
- * disassemble.c (ARCH_i860): Define.
- (disassembler): Add check for bfd_arch_i860 to set disassemble
- function to print_insn_i860.
-
- * Makefile.in (CFILES): Added i860-dis.c.
- (ALL_MACHINES): Added i860-dis.lo.
- (i860-dis.lo): New dependences.
-
- * configure.in: New bits for bfd_i860_arch.
-
- * configure: Regenerated.
-
-2000-07-20 Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am (CFILES): Add cris-dis.c and cris-opc.c.
- (ALL_MACHINES): Add cris-dis.lo and cris-opc.lo.
- (cris-dis.lo, cris-opc.lo): New rules.
- * Makefile.in: Rebuild.
- * configure.in (bfd_cris_arch): New target.
- * configure: Rebuild.
- * disassemble.c (ARCH_cris): Define.
- (disassembler): Support ARCH_cris.
- * cris-dis.c, cris-opc.c: New files.
- * po/POTFILES.in, po/opcodes.pot: Regenerate.
-
-2000-07-11 Jakub Jelinek <jakub@redhat.com>
-
- * sparc-opc.c (sparc_opcodes): popc has 0 in rs1, not rs2.
- Reported by Bill Clarke <llib@computer.org>.
-
-2000-07-09 Geoffrey Keating <geoffk@redhat.com>
-
- * ppc-opc.c (powerpc_opcodes): Correct suffix for vslw.
- Patch by Randall J Fisher <rfisher@ecn.purdue.edu>.
-
-2000-07-09 Alan Modra <alan@linuxcare.com.au>
-
- * hppa-dis.c (fput_reg, fput_fp_reg, fput_fp_reg_r, fput_creg,
- fput_const, extract_3, extract_5_load, extract_5_store,
- extract_5r_store, extract_5R_store, extract_10U_store,
- extract_5Q_store, extract_11, extract_14, extract_16, extract_21,
- extract_12, extract_17, extract_22): Prototype.
- (print_insn_hppa): Rename inner block opcode -> opc to avoid
- shadowing outer block.
- (GET_BIT): Define.
-
-2000-07-05 DJ Delorie <dj@redhat.com>
-
- * MAINTAINERS: new
-
-2000-07-04 Alexandre Oliva <aoliva@redhat.com>
-
- * arm-dis.c (print_insn_arm): Output combinations of PSR flags.
-
-2000-07-03 Marek Michalkiewicz <marekm@linux.org.pl>
-
- * avr-dis.c (avr_operand): Change _ () to _() around all strings
- marked for translation (exception from the usual coding style).
- (print_insn_avr): Initialize insn2 to avoid warnings.
-
-2000-07-03 Kazu Hirata <kazu@hxi.com>
-
- * h8300-dis.c (bfd_h8_disassemble): Improve readability.
- * h8500-dis.c: Fix formatting.
-
-2000-07-01 Alan Modra <alan@linuxcare.com.au>
-
- * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed
- (CLEANFILES): Add DEPA.
- * Makefile.in: Regenerate.
-
-2000-06-26 Scott Bambrough <scottb@netwinder.org>
-
- * arm-dis.c (regnames): Add an additional register set to match
- the set used by GCC. Make it the default.
-
-2000-06-22 Alan Modra <alan@linuxcare.com.au>
-
- * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
- find one.
- * Makefile.in: Regenerate.
-
-2000-06-20 H.J. Lu <hjl@gnu.org>
-
- * Makefile.am: Rebuild dependency.
- * Makefile.in: Rebuild.
-
-2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
-
- * Makefile.in, configure: regenerate
- * disassemble.c (disassembler): Recognize ARCH_m68hc12,
- ARCH_m68hc11.
- * m68hc11-dis.c (read_memory, print_insn, print_insn_m68hc12):
- New functions.
- * configure.in: Recognize m68hc12 and m68hc11.
- * m68hc11-dis.c, m68hc11-opc.c: New files for support of m68hc1x
- * Makefile.am (CFILES, ALL_MACHINES): New files for disassembly
- and opcode generation for m68hc11 and m68hc12.
-
-2000-06-16 Nick Duffek <nsd@redhat.com>
-
- * disassemble.c (disassembler): Refer to the PowerPC 620 using
- bfd_mach_ppc_620 instead of 620.
-
-2000-06-12 Kazu Hirata <kazu@hxi.com>
-
- * h8300-dis.c: Fix formatting.
- (bfd_h8_disassemble): Distinguish adds/subs, inc/dec.[wl]
- correctly.
-
-2000-06-09 Denis Chertykov <denisc@overta.ru>
-
- * avr-dis.c (avr_operand): Bugfix for jmp/call address.
-
-2000-06-07 Denis Chertykov <denisc@overta.ru>
-
- * avr-dis.c: completely rewritten.
-
-2000-06-02 Kazu Hirata <kazu@hxi.com>
-
- * h8300-dis.c: Follow the GNU coding style.
- (bfd_h8_disassemble) Fix a typo.
-
-2000-06-01 Kazu Hirata <kazu@hxi.com>
-
- * h8300-dis.c (bfd_h8_disassemble_init): Fix a typo.
- (bfd_h8_disassemble): Distinguish the operand size of inc/dev.[wl]
- correctly. Fix a typo.
-
-2000-05-31 Nick Clifton <nickc@redhat.com>
-
- * opintl.h (_(String)): Explain why dgettext is used instead of
- gettext.
-
-2000-05-30 Nick Clifton <nickc@redhat.com>
-
- * opintl.h (gettext, dgettext, dcgettext, textdomain,
- bindtextdomain): Replace defines with those from intl/libgettext.h
- to quieten gcc warnings.
-
-2000-05-26 Alan Modra <alan@linuxcare.com.au>
-
- * Makefile.am: Update dependencies with "make dep-am"
- * Makefile.in: Regenerate.
-
-2000-05-25 Alexandre Oliva <aoliva@redhat.com>
-
- * m10300-dis.c (disassemble): Don't assume 32-bit longs when
- sign-extending operands.
-
-2000-05-15 Donald Lindsay <dlindsay@redhat.com>
-
- * d10v-opc.c (d10v_opcodes): add ALONE tag to all short branches
- except brf's.
-
-2000-05-21 Nick Clifton <nickc@redhat.com>
-
- * Makefile.am (LIBIBERTY): Define.
-
-2000-05-19 Diego Novillo <dnovillo@redhat.com>
-
- * mips-dis.c (REGISTER_NAMES): Rename to STD_REGISTER_NAMES.
- (STD_REGISTER_NAMES): New name for REGISTER_NAMES.
- (reg_names): Rename to std_reg_names. Change it to a char **
- static variable.
- (std_reg_names): New name for reg_names.
- (set_mips_isa_type): Set reg_names to point to std_reg_names by
- default.
-
-2000-05-16 Frank Ch. Eigler <fche@redhat.com>
-
- * fr30-desc.h: Partially regenerated to account for changed
- CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros.
- * m32r-desc.h: Ditto.
-
-2000-05-15 Nick Clifton <nickc@redhat.com>
-
- * arm-opc.h: Use upper case for flasg in MSR and MRS
- instructions. Allow any bit to be set in the field_mask of
- the MSR instruction.
-
- * arm-dis.c (print_insn_arm): Decode _x and _s bits of the
- field_mask of an MSR instruction.
-
-2000-05-11 Thomas de Lellis <tdel@windriver.com>
-
- * arm-opc.h: Disassembly of thumb ldsb/ldsh
- instructions changed to ldrsb/ldrsh.
-
-2000-05-11 Ulf Carlsson <ulfc@engr.sgi.com>
-
- * mips-dis.c (print_insn_arg): Don't mask top 32 bits of 64-bit
- target addresses for 'jal' and 'j'.
-
-2000-05-10 Geoff Keating <geoffk@redhat.com>
-
- * ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodes
- also available in common mode when powerpc syntax is being used.
-
-2000-05-08 Alan Modra <alan@linuxcare.com.au>
-
- * m68k-dis.c (dummy_printer): Add ATTRIBUTE_UNUSED to args.
- (dummy_print_address): Ditto.
-
-2000-05-04 Timothy Wall <twall@redhat.com>
-
- * tic54x-opc.c: New.
- * tic54x-dis.c: New.
- * disassemble.c (disassembler): Add ARCH_tic54x.
- * configure.in: Added tic54x target.
- * configure: Ditto.
- * Makefile.am: Add tic54x dependencies.
- * Makefile.in: Ditto.
-
-2000-05-03 J.T. Conklin <jtc@redback.com>
-
- * ppc-opc.c (VA, VB, VC, VD, VS, SIMM, UIMM, SHB): New macros, for
- vector unit operands.
- (VX, VX_MASK, VXA, VXA_MASK, VXR, VXR_MASK): New macros, for vector
- unit instruction formats.
- (PPCVEC): New macro, mask for vector instructions.
- (powerpc_operands): Add table entries for above operand types.
- (powerpc_opcodes): Add table entries for vector instructions.
-
- * ppc-dis.c (print_insn_big_powerpc): Add PPC_OPCODE_ALTIVEC to mask.
- (print_insn_little_powerpc): Likewise.
- (print_insn_powerpc): Prepend 'v' when printing vector registers.
-
-2000-04-24 Clinton Popetz <cpopetz@redhat.com>
-
- * configure.in: Add bfd_powerpc_64_arch.
- * disassemble.c (disassembler): Use print_insn_big_powerpc for
- 64 bit code.
-
-2000-04-24 Nick Clifton <nickc@redhat.com>
-
- * fr30-desc.c (fr30_cgen_cpu_open): Initialise signed_overflow
- field.
-
-2000-04-23 Denis Chertykov <denisc@overta.ru>
-
- * avr-dis.c (reg_fmul_d): New. Extract destination register from
- FMUL instruction.
- (reg_fmul_r): New. Extract source register from FMUL instruction.
- (reg_muls_d): New. Extract destination register from MULS instruction.
- (reg_muls_r): New. Extract source register from MULS instruction.
- (reg_movw_d): New. Extract destination register from MOVW instruction.
- (reg_movw_r): New. Extract source register from MOVW instruction.
- (print_insn_avr): Handle MOVW, MULS, MULSU, FMUL, FMULS, FMULSU,
- EICALL, EIJMP, LPM r,Z, ELPM r,Z, SPM, ESPM instructions.
-
-2000-04-22 Timothy Wall <twall@redhat.com>
-
- * ia64-gen.c (general): Add an ordered table of primary
- opcode names, as well as priority fields to disassembly data
- structures to enforce a preferred disassembly format based on the
- ordering of the opcode tables.
- (load_insn_classes): Show a useful message if IC tables are missing.
- (load_depfile): Ditto.
- * ia64-asmtab.h (struct ia64_dis_names ): Add priority flag to
- distinguish preferred disassembly.
- * ia64-opc-f.c: Reorder some insn for preferred disassembly
- format. Fix incorrect flag on fma.s/fma.s.s0.
- * ia64-opc.c: Scan *all* disassembly matches and use the one with
- the highest priority.
- * ia64-opc-b.c: Use more abbreviations.
- * ia64-asmtab.c: Regenerate.
-
-2000-04-21 Jason Eckhardt <jle@redhat.com>
-
- * hppa-dis.c (extract_16): New function.
- (print_insn_hppa): Fix incorrect handling of 'fe'. Added handling of
- new operand types l,y,&,fe,fE,fx.
-
-2000-04-21 Richard Henderson <rth@redhat.com>
- David Mosberger <davidm@hpl.hp.com>
- Timothy Wall <twall@redhat.com>
- Bob Manson <manson@charmed.cygnus.com>
- Jim Wilson <wilson@redhat.com>
-
- * Makefile.am (HFILES): Add ia64-asmtab.h, ia64-opc.h.
- (CFILES): Add ia64-dis.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c,
- ia64-opc-i.c, ia64-opc-m.c, ia64-opc-d.c, ia64-opc.c, ia64-gen.c,
- ia64-asmtab.c.
- (ALL_MACHINES): Add ia64-dis.lo, ia64-opc.lo.
- (ia64-ic.tbl, ia64-raw.tbl, ia64-waw.tbl, ia64-war.tbl, ia64-gen,
- ia64-gen.o, ia64-asmtab.c, ia64-dis.lo, ia64-opc.lo): New rules.
- * Makefile.in: Rebuild.
- * configure Rebuild.
- * configure.in (bfd_ia64_arch): New target.
- * disassemble.c (ARCH_ia64): Define.
- (disassembler): Support ARCH_ia64.
- * ia64-asmtab.c, ia64-asmtab.h, ia64-dis.c, ia64-gen.c ia64-ic.tbl,
- ia64-opc-a.c, ia64-opc-b.c, ia64-opc-d.c ia64-opc-f.c, ia64-opc-i.c,
- ia64-opc-m.c, ia64-opc-x.c, ia64-opc.c, ia64-opc.h, ia64-raw.tbl,
- ia64-war.tbl, ia64-waw.tbl: New files.
-
-2000-04-20 Alexandre Oliva <aoliva@redhat.com>
-
- * m10300-dis.c (HAVE_AM30, HAVE_AM33): Define.
- (disassemble): Use them.
-
-2000-04-14 Alan Modra <alan@linuxcare.com.au>
-
- * sysdep.h: Include "ansidecl.h" not <ansidecl.h>
- * Makefile.am: Update dependencies.
- * Makefile.in: Regenerate.
-
-2000-04-14 Michael Sokolov <msokolov@ivan.Harhan.ORG>
-
- * a29k-dis.c, alpha-dis.c, alpha-opc.c, arc-dis.c, arc-opc.c,
- avr-dis.c, d10v-dis.c, d10v-opc.c, d30v-dis.c, d30v-opc.c,
- disassemble.c, h8300-dis.c, h8500-dis.c, hppa-dis.c, i370-dis.c,
- i370-opc.c, i960-dis.c, m10200-dis.c, m10200-opc.c, m10300-dis.c,
- m10300-opc.c, m68k-dis.c, m68k-opc.c, m88k-dis.c, mcore-dis.c,
- mips-dis.c, mips-opc.c, mips16-opc.c, pj-dis.c, pj-opc.c,
- ppc-dis.c, ppc-opc.c, sh-dis.c, sparc-dis.c, sparc-opc.c,
- tic80-dis.c, tic80-opc.c, v850-dis.c, v850-opc.c, vax-dis.c,
- w65-dis.c, z8k-dis.c, z8kgen.c: Include sysdep.h. Remove
- ansidecl.h as sysdep.h includes it.
-
-2000-04-7 Andrew Cagney <cagney@b1.redhat.com>
-
- * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add
- --enable-build-warnings option.
- * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
- * Makefile.in, configure: Re-generate.
-
-2000-04-05 J"orn Rennecke <amylaar@redhat.com>
-
- * sh-opc.h (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
- stc GBR,@-<REG_N> is available for arch_sh1_up.
- Group parallel processing insn with identical mnemonics together.
- Make three-operand psha / pshl come first.
-
-2000-04-05 J"orn Rennecke <amylaar@redhat.co.uk>
-
- * sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
- Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
- (sh_arg_type): Add A_PC.
- (sh_table): Update entries using immediates. Add repeat.
- * sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
- Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
-
-2000-04-04 Alan Modra <alan@linuxcare.com.au>
-
- * po/opcodes.pot: Regenerate.
-
- * Makefile.am (MKDEP): Use gcc -MM rather than mkdep.
- (DEP): Quote when passing vars to sub-make. Add warning message
- to end.
- (DEP1): Rewrite for "gcc -MM".
- (CLEANFILES): Add DEP2.
- Update dependencies.
- * Makefile.in: Regenerate.
-
-2000-04-03 Denis Chertykov <denisc@overta.ru>
-
- * avr-dis.c: Syntax cleanup.
- (add0fff): Print the pc relative address as a signed number.
- (add03f8): Likewise.
-
-2000-04-01 Ian Lance Taylor <ian@zembu.com>
-
- * disassemble.c (disassembler_usage): Don't use a prototype. Mark
- the parameter ATTRIBUTE_UNUSED.
- * ppc-opc.c: Add ATTRIBUTE_UNUSED as needed.
-
-2000-04-01 Alexandre Oliva <aoliva@redhat.com>
-
- * m10300-opc.c: SP-based offsets are always unsigned.
-
-2000-03-29 Thomas de Lellis <tdel@windriver.com>
-
- * arm-opc.h (thumb_opcodes): Disassemble 0xde.. to "bal"
- [branch always] instead of "undefined".
-
-2000-03-27 Nick Clifton <nickc@redhat.com>
-
- * d30v-opc.c (d30v_format_table): Move SHORT_AR to end of list of
- short instructions, from end of list of long instructions.
-
-2000-03-27 Ian Lance Taylor <ian@zembu.com>
-
- * Makefile.am (CFILES): Add avr-dis.c.
- (ALL_MACHINES): Add avr-dis.lo.
-
-2000-03-27 Alan Modra <alan@linuxcare.com>
-
- * avr-dis.c (add0fff, add03f8): Don't use structure bitfields to
- truncate integers.
- (print_insn_avr): Call function via pointer in K&R compatible way.
- (dispLDD, regPP, reg50, reg104, reg40, reg20w, lit404, lit204,
- add0fff, add03f8): Convert to old style function declaration and
- add prototype.
- (avrdis_opcode): Add prototype.
-
-2000-03-27 Denis Chertykov <denisc@overta.ru>
-
- * avr-dis.c: New file. AVR disassembler.
- * configure.in (bfd_avr_arch): New architecture support.
- * disassemble.c: Likewise.
- * configure: Regenerate.
-
-2000-03-06 J"oern Rennecke <amylaar@redhat.com>
-
- * sh-opc.h (sh_table): ldre and ldrs have a *signed* displacement.
-
-2000-03-02 J"orn Rennecke <amylaar@redhat.co.uk>
-
- * d30v-dis.c (print_insn): Remove d*i hacks. Use per-operand
- flag to determine if operand is pc-relative.
- * d30v-opc.c:
- (d30v_format_table):
- (REL6S3): Renamed from IMM6S3.
- Added flag OPERAND_PCREL.
- (REL12S3, REL18S3, REL32): Split from IMM12S3, IMM18S3, REL32, with
- added flag OPERAND_PCREL.
- (IMM12S3U): Replaced with REL12S3.
- (SHORT_D2, LONG_D): Delay target is pc-relative.
- (SHORT_B2r, SHORT_B3r, SHORT_B3br, SHORT_D2r, LONG_Ur, LONG_2r):
- Split from SHORT_B2, SHORT_D2, SHORT_B3b, SHORT_D2, LONG_U, LONG_2r,
- using the REL* operands.
- (LONG_2br, LONG_Dr): Likewise, from LONG_2b, LONG_D.
- (SHORT_D1r, SHORT_D2Br, LONG_Dbr): Renamed from SHORT_D1, SHORT_D2B,
- LONG_Db, using REL* operands.
- (SHORT_U, SHORT_A5S): Removed stray alternatives.
- (d30v_opcode_table): Use new *r formats.
-
-2000-02-28 Nick Clifton <nickc@redhat.com>
-
- * m32r-desc.c (m32r_cgen_cpu_open): Replace 'flags' with
- 'signed_overflow_ok_p'.
-
-2000-02-27 Eli Zaretskii <eliz@is.elta.co.il>
-
- * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
- name of the libtool directory.
- * Makefile.in: Rebuild.
-
-2000-02-24 Nick Clifton <nickc@redhat.com>
-
- * cgen-opc.c (cgen_set_signed_overflow_ok): New function.
- (cgen_clear_signed_overflow_ok): New function.
- (cgen_signed_overflow_ok_p): New function.
-
-2000-02-23 Andrew Haley <aph@redhat.com>
-
- * m32r-asm.c, m32r-desc.c, m32r-desc.h, m32r-dis.c,
- m32r-ibld.c, m32r-opc.h: Rebuild.
-
-2000-02-23 Linas Vepstas <linas@linas.org>
-
- * i370-dis.c, i370-opc.c: New.
-
- * disassemble.c (ARCH_i370): Define.
- (disassembler): Handle it.
-
- * Makefile.am: Add support for Linux/IBM 370.
- * configure.in: Likewise.
-
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2000-02-22 Chandra Chavva <cchavva@redhat.com>
-
- * d30v-opc.c (d30v_opcode_tab) : Added FLAG_NOT_WITH_ADDSUBppp to
- ST2H, STB, STH, STHH, STW and ST2H opcodes to prohibit parallel
- procedure.
-
-2000-02-22 Andrew Haley <aph@redhat.com>
-
- * mips-dis.c (_print_insn_mips): New arg for OPCODE_IS_MEMBER:
- force gp32 to zero.
- * mips-opc.c (G6): New define.
- (mips_builtin_op): Add "move" definition for -gp32.
-
-2000-02-22 Ian Lance Taylor <ian@zembu.com>
-
- From Grant Erickson <gerickso@Brocade.COM>:
- * ppc-opc.c: Correct dcread--it takes 3 arguments, not 2.
-
-2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * dis-buf.c (buffer_read_memory): Change `length' param and all int
- vars to unsigned.
-
-2000-02-17 J"orn Rennecke <amylaar@redhat.co.uk>
-
- * sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
- (print_insn_ppi): Likewise.
- (print_insn_shx): Use info->mach to select appropriate insn set.
- Add support for sh-dsp. Remove FD_REG_N support.
- * sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
- (sh_arg_type): Likewise. Remove FD_REG_N.
- (sh_dsp_reg_nums): New enum.
- (arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
- (arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
- (arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
- (arch_sh3_dsp_up): Likewise.
- (sh_opcode_info): New field: arch.
- (sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
- D_REG_N. Fill in arch field. Add sh-dsp insns.
-
-2000-02-14 Fernando Nasser <fnasser@totem.to.redhat.com>
-
- * arm-dis.c: Change flavor name from atpcs-special to
- special-atpcs to prevent name conflict in gdb.
- (get_arm_regname_num_options, set_arm_regname_option,
- get_arm_regnames): New functions. API to access the several
- flavor of register names. Note: Used by gdb.
- (print_insn_thumb): Use the register name entry from the currently
- selected flavor for LR and PC.
-
-2000-02-10 Nick Clifton <nickc@redhat.com>
-
- * mcore-opc.h (enum mcore_opclass): Add MULSH and OPSR
- classes.
- (mcore_table): Add "idly4", "psrclr", "psrset", "mulsh" and
- "mulsh.h" instructions.
- * mcore-dis.c (imsk array): Add masks for MULSH and OPSR
- classes.
- (print_insn_mcore): Add support for little endian targets.
- Add support for MULSH and OPSR classes.
-
-2000-02-07 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c (parse_arm_diassembler_option): Rename again.
- Previous delat did not take.
-
-2000-02-03 Timothy Wall <twall@redhat.com>
-
- * dis-buf.c (buffer_read_memory): Use octets_per_byte field
- to adjust target address bounds checking and calculate the
- appropriate octet offset into data.
-
-2000-01-27 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c: (parse_disassembler_option): Rename to
- parse_arm_disassembler_option and allow to be exported.
-
- * disassemble.c (disassembler_usage): New function: Print out any
- target specific disassembler options.
- Call arm_disassembler_options() if the ARM architecture is being
- supported.
-
- * arm-dis.c (NUM_ELEM): Define this macro if not already
- defined.
- (arm_regname): New struct type for ARM register names.
- (arm_toggle_regnames): Delete.
- (parse_disassembler_option): Use register name structure.
- (print_insn): New function: Combines duplicate code found in
- print_insn_big_arm and print_insn_little_arm.
- (print_insn_big_arm): Call print_insn.
- (print_insn_little_arm): Call print_insn.
- (print_arm_disassembler_options): Display list of supported,
- ARM specific disassembler options.
-
-2000-01-27 Thomas de Lellis <tdel@windriver.com>
-
- * arm-dis.c (printf_insn_big_arm): Treat ELF symbols with the
- ARM_STT_16BIT flag as Thumb code symbols.
-
- * arm-dis.c (printf_insn_little_arm): Ditto.
-
-2000-01-25 Thomas de Lellis <tdel@windriver.com>
-
- * arm-dis.c (printf_insn_thumb): Prevent double dumping
- of raw thumb instructions.
-2000-01-20 Nick Clifton <nickc@redhat.com>
+2004-01-06 Alexandre Oliva <aoliva@redhat.com>
- * mcore-opc.h (mcore_table): Add "add" as an alias for "addu".
+ 2003-12-19 Alexandre Oliva <aoliva@redhat.com>
+ * frv-asm.c (parse_ulo16, parse_uhi16, parse_d12): Fix some
+ cut&paste errors in shifting/truncating numerical operands.
+ 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
+ * frv-asm.c (parse_ulo16): Parse gotofflo and gotofffuncdesclo.
+ (parse_uslo16): Likewise.
+ (parse_uhi16): Parse gotoffhi and gotofffuncdeschi.
+ (parse_d12): Parse gotoff12 and gotofffuncdesc12.
+ (parse_s12): Likewise.
+ 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
+ * frv-asm.c (parse_ulo16): Parse gotlo and gotfuncdesclo.
+ (parse_uslo16): Likewise.
+ (parse_uhi16): Parse gothi and gotfuncdeschi.
+ (parse_d12): Parse got12 and gotfuncdesc12.
+ (parse_s12): Likewise.
-2000-01-03 Nick Clifton <nickc@cygnus.com>
+2004-01-02 Albert Bartoszko <albar@nt.kegel.com.pl>
- * arm-dis.c (streq): New macro.
- (strneq): New macro.
- (force_thumb): ew local variable.
- (parse_disassembler_option): New function: Parse a single, ARM
- specific disassembler command line switch.
- (parse_disassembler_option): Call parse_disassembler_option to
- parse individual command line switches.
- (print_insn_big_arm): Check force_thumb.
- (print_insn_little_arm): Check force_thumb.
+ * msp430-dis.c (msp430_doubleoperand): Check for an 'add'
+ instruction which looks similar to an 'rla' instruction.
-For older changes see ChangeLog-9899
+For older changes see ChangeLog-0203
Local Variables:
mode: change-log
diff --git a/opcodes/ChangeLog-0001 b/opcodes/ChangeLog-0001
new file mode 100644
index 00000000000..085453a34e9
--- /dev/null
+++ b/opcodes/ChangeLog-0001
@@ -0,0 +1,2224 @@
+2001-12-31 Jeffrey A Law (law@redhat.com)
+
+ * hppa-dis.c (print_insn_hppa): Handle new 'c' mode completers,
+ 'X', 'M', and 'A'. No longer emit a space after 'x' or 's'.
+ Always emit a space after 'H'.
+
+2001-12-18 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (PPCVEC): Include PPC_OPCODE_ANY.
+
+2001-12-17 Richard Henderson <rth@redhat.com>
+
+ * alpha-opc.c (unop): Encode with RB as $sp.
+
+2001-12-07 Geoffrey Keating <geoffk@redhat.com>
+
+ * Makefile.am: Add support for xstormy16.
+ * Makefile.in: Regenerate.
+ * configure.in: Add support for xstormy16.
+ * configure: Regenerate.
+ * disassemble.c: Add support for xstormy16.
+ * xstormy16-asm.c: New generated file.
+ * xstormy16-desc.c: New generated file.
+ * xstormy16-desc.h: New generated file.
+ * xstormy16-dis.c: New generated file.
+ * xstormy16-ibld.c: New generated file.
+ * xstormy16-opc.c: New generated file.
+ * xstormy16-opc.h: New generated file.
+
+2001-12-06 Richard Henderson <rth@redhat.com>
+
+ * alpha-opc.c (alpha_opcodes): Add wh64en.
+
+2001-12-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * d10v-opc.c (d10v_predefined_registers): Remove warnings
+ introduced in Nov 29's patch.
+
+ * d10v-dis.c (print_operand): Apply REGISTER_MASK to `num' of
+ unmatched register.
+
+ * d10v-dis.c (print_operand): Disregard OPERAND_SP in register
+ predefined value.
+
+ * d10v-opc.c (RSRC_NOSP): New macro.
+ (d10v_operands): Add it.
+ (d10v_opcodes): Use RSRC_NOSP in post-decrement "st" and "st2w".
+
+2001-11-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * d10v-opc.c (d10v_predefined_registers): Mark `sp' as OPERAND_SP.
+ (RSRC_SP): New macro.
+ (d10v_operands): Add it.
+ (d10v_opcodes): Adjust "st" and "st2w" to use RSRC_SP.
+
+2001-11-23 Lars Brinkhoff <lars@nocrew.org>
+
+ * pdp11-dis.c (print_insn_pdp11): Handle illegal instructions.
+ Also, break out of the loop as soon as an instruction has been
+ printed.
+
+2001-11-17 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (mfvrsave, mtvrsave): New instructions.
+
+2001-11-15 Alan Modra <amodra@bigpond.net.au>
+
+ * po/POTFILES.in: Regenerate.
+
+ * ppc-opc.c (PPC64): Revert 2001-10-12. Do include PPC_OPCODE_PPC.
+ (insert_bat, extract_bat, insert_bba, extract_bba,
+ insert_bd, extract_bd, insert_bdm, extract_bdm,
+ insert_bdp, extract_bdp, valid_bo,
+ insert_bo, extract_bo, insert_boe, extract_boe,
+ insert_ds, extract_ds, insert_de, extract_de,
+ insert_des, extract_des, insert_li, extract_li,
+ insert_mbe, extract_mbe, insert_mb6, extract_mb6,
+ insert_nb, extract_nb, insert_nsi, extract_nsi,
+ insert_ral, insert_ram, insert_ras,
+ insert_rbs, extract_rbs, insert_sh6, extract_sh6,
+ insert_spr, extract_spr, insert_tbr, extract_tbr): Add dialect param.
+ (extract_bd, extract_bdm, extract_bdp,
+ extract_ds, extract_des,
+ extract_li, extract_nsi): Implement sign extension without conditional.
+ (insert_bdm, extract_bdm,
+ insert_bdp, extract_bdp, valid_bo): Handle 64 bit branch hints.
+ (extract_bdm, extract_bdp): Correct 32 bit validation.
+ (AT1_MASK, AT2_MASK): Define.
+ (BBOAT_MASK): Define.
+ (BBOATCB_MASK, BBOAT2CB_MASK, BBOATBI_MASK): Define.
+ (BOFM64, BOFP64, BOTM64, BOTP64): Define.
+ (BODNZM64, BODNZP64, BODZM64, BODZP64): Define.
+ (PPCCOM32, PPCCOM64): Define.
+ (powerpc_opcodes): Modify existing 32 bit insns with branch hints
+ and add new patterns to implement 64 bit branches with hints. Move
+ booke instructions so they match before ppc64.
+
+ * ppc-dis.c (powerpc_dialect): Set PPC_OPCODE_64 in dialect for
+ 64 bit default targets, and parse "32" and "64" in options.
+ Formatting fixes.
+ (print_insn_powerpc): Pass dialect to operand->extract.
+
+2001-11-14 Dave Brolley <brolley@redhat.com>
+
+ * cgen-dis.c (count_decodable_bits): New function.
+ (add_insn_to_hash_chain): New function.
+ (hash_insn_array): Call add_insn_to_hash_chain.
+ (hash_insn_list): Call add_insn_to_hash_chain.
+ * m32r-dis.c: Regenerated.
+ * fr30-dis.c: Regenerated.
+
+2001-11-14 Andreas Jaeger <aj@suse.de>
+
+ * i386-dis.c (print_insn): Use x86-64 as option.
+
+2001-11-14 Alan Modra <amodra@bigpond.net.au>
+
+ * disassemble.c (disassembler): Call print_insn_i386.
+ * i386-dis.c (SUFFIX_ALWAYS): Define.
+ (struct dis_private): Add orig_sizeflag.
+ (print_insn_i386): Make it a wrapper, calling..
+ (print_insn): ..The old body of print_insn_i386. Avoid longjmp
+ warning without using volatile by moving orig_sizeflag to priv,
+ and removing inbuf. Parse disassembler_options.
+ (print_insn_i386_att, print_insn_i386_intel): Move initialisation
+ code to print_insn.
+ (putop): Remove #ifdef SUFFIX_ALWAYS.
+
+2001-11-11 Timothy Wall <twall@alum.mit.edu>
+
+ * tic54x-dis.c: Use revised opcode structure. Export opcode
+ template lookup.
+ (has_lkaddr): Don't forget about Lmem insns.
+ * tic54x-opc.c: Add emulation trap. Parallel table now uses
+ standard opcode templates.
+
+2001-11-13 Zack Weinberg <zack@codesourcery.com>
+
+ * i386-dis.c (grps): Change "sldt", "str", and "smsw" entries
+ to "sldtQ", "strQ", "smswQ" respectively; all with Ev operand
+ category instead of Ew.
+
+2001-11-12 Niraj Gupta <ngupta@zumanetworks.com>
+
+ * m68k-opc.c: Fix definitions of wddata[bwl].
+
+2001-11-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * cgen-asm.c (cgen_parse_keyword): If the keyword is too big to
+ fit in the buffer, try to match the empty keyword.
+
+2001-11-09 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * cgen-ibld.in (extract_1): Fix badly placed #if 0.
+ * fr30-ibld.c: Regenerate.
+ * m32r-ibld.c: Regenerate.
+ * openrisc-ibld.c: Regenerate.
+
+2001-11-04 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (print_insn_mips): Remove spaces at end of line.
+
+2001-11-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add "fr", "sv" and "tr".
+ * configure: Regernate.
+ * po/fr.po: New file.
+ * po/sv.po: New file.
+ * po/tr.po: New file.
+
+2001-11-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * m68hc11-dis.c (print_insn): Fix disassembly of movb with a
+ constant as source.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * Makefile.am (CFILES): Add mmix-dis.c and mmix-opc.c. Regenerate
+ dependencies.
+ * Makefile.in: Regenerate.
+ * mmix-dis.c, mmix-opc.c: New files.
+
+2001-10-29 Kazu Hirata <kazu@hxi.com>
+
+ * d30v-dis.c: Fix a comment typo.
+
+2001-10-23 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Mark "bgezall" and
+ "bltzall" as writing GPR 31 (since they do).
+
+ * mips-dis.c (print_insn_arg): Calculate info->target
+ where appropriate.
+ (print_insn_mips): Fill in instruction info.
+ (print_mips16_insn_arg): Remove unneded variable 'val'.
+ Removed duplicated instruction target calculations,
+ calculate once and print that result. Use same idiom for
+ masking the jump segment bits as is used in print_insn_arg.
+
+2001-10-20 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (CT): Make it an optional operand.
+
+2001-10-17 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_isa_type): Make the ISA used to disassemble
+ SB-1 binaries include instructions specific to the SB-1.
+ * mips-opc.c (SB1): New definition.
+ (mips_builtin_opcodes): Add SB-1 extension opcodes "div.ps",
+ "recip.ps", "rsqrt.ps", and "sqrt.ps".
+
+2001-10-17 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (STRM): New AltiVec operand.
+ (XDSS): New AltiVec instruction form.
+ (mtvscr): Correct operand list.
+ (dst, dstt, dstst, dststt, dss, dssall): AltiVec instructions.
+
+2001-10-17 Alan Modra <amodra@bigpond.net.au>
+
+ * po/POTFILES.in: Regenerate.
+
+2001-10-13 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (MO): New macro for MO field of mbar instruction.
+ (powerpc_opcodes): Add rfci, wrtee, wrteei, mfdcrx, mfdcr,
+ mtdcrx, mtdcr, msync, dcba and mbar as BookE instructions.
+
+2001-10-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * cgen-ibld.in: Include safe-ctype.h in preference to
+ ctype.h.
+ * cgen-asm.in: Include safe-ctype.h in preference to
+ ctype.h. Fix formatting. Use ISSPACE instead of isspace and
+ TOLOWER instead of tolower.
+ (@arch@_cgen_build_insn_regex): Remove duplication of syntax
+ string elements in constructed regular expression.
+ * fr30-asm.c: Regenerate.
+ * fr30-desc.c: Regenerate.
+ * fr30-ibld.c: Regenerate.
+ * m32r-asm.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-ibld.c: Regenerate.
+ * openrisc-asm.c: Regenerate.
+ * openrisc-desc.c: Regenerate.
+ * openrisc-ibld.c: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2001-10-12 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New
+ instruction field instruction/extraction functions for new BookE
+ DE form instructions.
+ (CT): New macro for CT field in an X form instruction.
+ (DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form
+ instructions.
+ (PPC64): Don't include PPC_OPCODE_PPC.
+ (403): New opcode macro for PPC403 processors.
+ (BOOKE): New opcode macro for BookE processors.
+ (bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions.
+ (bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise.
+ (dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise.
+ (stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise.
+ (mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise.
+ (subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise.
+ (subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise.
+ (addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise.
+ (lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise.
+ (stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise.
+ (tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise.
+ (lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise.
+ (stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise.
+ (lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise.
+
+ * ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look
+ for a disassembler option of `booke', `booke32' or `booke64' to enable
+ BookE support in the disassembler.
+
+2001-10-12 John Healy <jhealy@redhat.com>
+
+ * cgen-dis.in (print_insn): Use min (cd->base_insn_bitsize, buflen*8)
+ for the length when extracting the base part of the insn.
+
+2001-10-09 Bruno Haible <haible@clisp.cons.org>
+
+ * cgen-asm.in (*_cgen_build_insn_regex): Generate a case sensitive
+ regular expression. Fix some formatting problems.
+ * fr30-asm.c: Regenerate.
+ * openrisc-asm.c: Regenerate.
+ * m32r-asm.c: Regenerate.
+
+2001-10-09 Christian Groessler <cpg@aladdin.de>
+
+ * z8k-dis.c (unparse_instr): Fixed formatting. Change disassembly
+ of indirect register memory accesses to be same format the
+ assembler accepts.
+
+2001-10-09 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * sh-opc.h: Fix encoding of least significant nibble of the
+ DSP single data transfer instructions.
+
+ * sh-dis.c (print_insn_shx): Fix decoding of As opcode in DSP
+ instructions.
+
+2001-10-08 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * cgen-asm.in: Fix compile time warning messages in generated
+ C files.
+ * cgen-dis.in: The same.
+ * cgen-ibld.in: The same.
+ * fr30-asm.c: Regenerate.
+ * fr30-desc.c: Regenerate.
+ * fr30-dis.c: Regenerate.
+ * fr30-ibld.c: Regenerate.
+ * fr30-opc.c: Regenerate.
+ * m32r-asm.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-dis.c: Regenerate.
+ * m32r-ibld.c: Regenerate.
+ * m32r-opc.c: Regenerate.
+ * m32r-opinst.c Regenerate.
+ * openrisc-asm.c: Regenerate.
+ * openrisc-desc.c: Regenerate.
+ * openrisc-dis.c: Regenerate.
+ * openrisc-ibld.c: Regenerate.
+ * openrisc-opc.c: Regenerate.
+ * openrisc-opc.h: Regenerate.
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2001-10-08 Aldy Hernandez <aldyh@redhat.com>
+
+ * arm-opc.h (arm_opcodes): Add cirrus insns.
+
+ * arm-dis.c (print_insn_arm): Add 'I' case.
+
+2001-10-03 Alan Modra <amodra@bigpond.net.au>
+
+ * po/POTFILES.in: Regenerate.
+ * configure: Regenerate.
+
+2001-10-02 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (Makefile): Depend on bfd/configure.in.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2001-09-30 John Healy <jhealy@redhat.com>
+
+ * cgen-ibld.in (insert_1): Switched bfd_get_bits and bfd_set_bits
+ calls to cgen_get_insn_value and cgen_put_insn_value calls.
+ (extract_1): Switched bfd_get_bits call to cgen_get_insn_value call.
+
+2001-09-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * Makefile.am: Update dependencies with "make dep-am".
+ * Makefile.in: Regenerate.
+
+2001-09-26 Alan Modra <amodra@bigpond.net.au>
+
+ * arc-dis.c: Formatting fixes.
+ (my_sprintf): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE.
+
+2001-09-21 Bruno Haible <haible@clisp.cons.org>
+
+ * arc-dis.c: Don't include <ctype.h>.
+ * openrisc-desc.c: Likewise.
+ * openrisc-ibld.c: Likewise.
+
+2001-09-20 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * fr30-opc.c: Fix compile time warning messages.
+ * i370-opc.c: Fix compile time warning messages.
+ * i960-dis.c: Fix compile time warning messages.
+ * m32r-asm.c: Fix compile time warning messages.
+ * m32r-desc.c: Fix compile time warning messages.
+ * m32r-dis.c: Fix compile time warning messages.
+ * m32r-ibld.c: Fix compile time warning messages.
+ * m32r-opc.c: Fix compile time warning messages.
+ * m32r-opinst.c: Fix compile time warning messages.
+ * ns32k-dis.c: Fix compile time warning messages.
+ * openrisc-asm.c: Fix compile time warning messages.
+ * openrisc-desc.c: Fix compile time warning messages.
+ * openrisc-dis.c: Fix compile time warning messages.
+ * openrisc-ibld.c: Fix compile time warning messages.
+ * openrisc-opc.c: Fix compile time warning messages.
+ * pdp11-dis.c: Fix compile time warning messages.
+ * tic54x-dis.c: Fix compile time warning messages.
+ * v850-opc.c: Fix compile time warning messages.
+ * vax-dis.c: Fix compile time warning messages.
+ * w65-opc.h: Fix compile time warning messages.
+ * z8k-opc.h: Fix compile time warning messages.
+ * z8kgen.c: Fix compile time warning messages.
+
+2001-09-19 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * arm-dis.c: Fix compile time warning messages.
+ * cgen-asm.c: Fix compile time warning messages.
+ * cgen-dis.c: Fix compile time warning messages.
+ * cris-dis.c: Fix compile time warning messages.
+ * d10v-dis.c: Fix compile time warning messages.
+ * fr30-asm.c: Fix compile time warning messages.
+ * fr30-desc.c: Fix compile time warning messages.
+ * fr30-dis.c: Fix compile time warning messages.
+ * fr30-ibld.c: Fix compile time warning messages.
+
+2001-09-18 Bruno Haible <haible@clisp.cons.org>
+
+ * cgen-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (cgen_parse_keyword): Use ISALNUM instead of isalnum.
+ * cgen-opc.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (cgen_keyword_lookup_name): Use ISALPHA/TOLOWER instead of
+ isalpha/tolower.
+ (cgen_keyword_add): Use ISALNUM instead of isalnum.
+ (hash_keyword_name): Use TOLOWER instead of tolower.
+ * fr30-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (parse_insn_normal): Use TOLOWER/ISSPACE instead of
+ tolower/isspace.
+ (fr30_cgen_assemble_insn): Use ISSPACE instead of isspace.
+ * fr30-desc.c: Don't include <ctype.h>.
+ * fr30-ibld.c: Likewise.
+ * ia64-gen.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (load_insn_classes, parse_resource_users, load_depfile): Use
+ ISSPACE instead of isspace.
+ * m32r-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (parse_insn_normal): Use TOLOWER/ISSPACE instead of
+ tolower/isspace.
+ (m32r_cgen_assemble_insn): Use ISSPACE instead of isspace.
+ * m32r-desc.c: Don't include <ctype.h>.
+ * m32r-ibld.c: Likewise.
+ * openrisc-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (parse_insn_normal): Use TOLOWER/ISSPACE instead of
+ tolower/isspace.
+ (openrisc_cgen_assemble_insn): Use ISSPACE instead of isspace.
+
+2001-09-18 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * Makefile.am: Add rules and dependencies to create the s/390 opcode
+ table out of s390-opc.txt automatically.
+ * configure.in: Add BFD_CC_FOR_BUILD to allow CC_FOR_BUILD to be used.
+ * s390-mkopc.c (dumpTable): Change output to create a complete file.
+ * s390-opc.c: New improved opcode format macros and remove the
+ pregenerated opcode table.
+ * s390-opc.txt: Adapt to new improved opcode format macros.
+
+2001-09-14 David Schleef <ds@schleef.org>
+
+ * ppc-opc.c (VXA, VXA_MASK): Fix mask bits.
+
+2001-09-04 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c (grps): Don't print the implicit al/ax/eax register
+ for opcode 0xf6 or 0xf7 forms of mul, imul, div, idiv insns.
+
+2001-08-31 Eric Christopher <echristo@redhat.com>
+ Jason Eckhardt <jle@redhat.com>
+
+ * mips-dis.c: Add support for bfd_mach_mipsisa32 and
+ bfd_mach_mipsisa64. Remove bfd_mach_mips32, bfd_mach_mips32_4k,
+ bfd_mach_mips64.
+
+2001-08-31 Andreas Jaeger <aj@suse.de>
+
+ * tic54x-opc.c: Add default initializers to avoid warnings.
+
+ * arc-opc.c: Include "sysdep.h" to get stdio.h as include file.
+ * arc-ext.c: Likewise.
+
+2001-08-28 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (icbt): Order correctly.
+
+2001-08-27 David Edelsohn <dje@watson.ibm.com>
+ Torbjorn Granlund <tege@swox.com>
+
+ * ppc-opc.c (DS): Add PPC_OPERAND_DS flag.
+ (LS): Define.
+ (insert_ds): Complain if not a multiple of 4.
+ (XSYNC): Define.
+ (XSYNC_MASK): Define.
+ (powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev",
+ "slbmfee". Modify "sync" to use XSYNC_MASK and LS.
+
+2001-08-26 Andreas Jaeger <aj@suse.de>
+
+ * h8500-opc.h: Add default initializers to h8500_table to shut up
+ GCC warnings.
+
+2001-08-25 Andreas Jaeger <aj@suse.de>
+
+ * tic54x-dis.c: Add unused attributes where needed.
+
+ * z8k-dis.c (output_instr): Add unused attribute.
+
+ * h8300-dis.c: Add missing prototypes.
+ (bfd_h8_disassemble): Make static.
+
+ * cris-dis.c: Add missing prototype.
+ * h8500-dis.c: Likewise.
+ * m68hc11-dis.c: Likewise.
+ * pj-dis.c: Likewise.
+ * tic54x-dis.c: Likewise.
+ * v850-dis.c: Likewise.
+ * vax-dis.c: Likewise.
+ * w65-dis.c: Likewise.
+ * z8k-dis.c: Likewise.
+
+ * d10v-dis.c: Add missing prototype.
+ (dis_long): Remove unused variable.
+ (dis_2_short): Likewise.
+
+ * sh-dis.c: Add missing prototypes.
+ * v850-opc.c: Likewise.
+ Add unused attributes where needed.
+
+ * ns32k-dis.c: Add missing prototypes.
+ (bit_extract_simple): Remove unused variable.
+
+2001-08-23 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-opc.c: Add "low or high" and "not low or high"
+ branch instructions for gcc 3.0.
+ * s390-opc.txt: Likewise.
+
+2001-08-21 Andreas Jaeger <aj@suse.de>
+
+ * i960-dis.c: Add parameters for prototypes
+ (ctrl): Add unused attributes.
+ (cobr): Likewise.
+ (put_abs): Likewise.
+
+ * mips-dis.c: Add missing prototypes.
+ * a29k-dis.c: Likewise.
+ * arc-dis.c: Likewise.
+ * ia64-opc.c: Likewise.
+
+ * s390-dis.c: Add missing prototypes.
+ (init_disasm): Remove unused attribute since the parameter is
+ used.
+
+2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-opc.c (M1): Define. Reformatted Code.
+ (mips_builtin_opcodes): Added performance counter opcodes mfpc, mfps,
+ mtps, mtps. Typo.
+
+2001-08-16 Jonathan Larmour <jlarmour@redhat.com>
+
+ * mips-opc.c: R3900s can support all branch likely INSN_MACROs where
+ the corresponding non-likely insn is in MIPS I.
+
+2001-08-13 Kazu Hirata <kazu@hxi.com>
+
+ * mcore-dis.c: Fix formatting.
+ * mips-dis.c: Likewise.
+ * pj-dis.c: Likewise.
+ * z8k-dis.c: Likewise.
+
+2001-08-12 Richard Henderson <rth@redhat.com>
+
+ * cgen-ibld.in (extract_normal): Match type of VALUE and MASK
+ to *VALUEP. Regenerate all cgen files.
+
+2001-08-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * mips-dis.c (print_insn_mips): Remove OPCODE_IS_MEMBER's gp32
+ argument.
+ * mips-opc.c (G6): Undefine.
+ (mips_builtin_opcodes): Remove gp32 entry for "move". Add macro
+ as the first "move" alternative.
+
+2001-08-10 Andreas Jaeger <aj@suse.de>
+
+ * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
+ to build warnings.
+ * configure: Regenerate.
+
+2001-08-10 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c: Revert 2001-08-08.
+
+2001-08-09 Alan Modra <amodra@bigpond.net.au>
+
+ * dis-buf.c (generic_strcat_address): Add missing prototype.
+ #if 0 the functions as it is unused.
+
+2001-08-08 Alan Modra <amodra@bigpond.net.au>
+
+ 1999-10-25 Torbjorn Granlund <tege@swox.com>
+ * ppc-opc.c: Include "bfd.h".
+ (powerpc_operands): Add new field for reloc type.
+
+2001-07-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (print_insn_arg): Don't use software integer registers
+ for coprocessor registers.
+ (get_mips_isa): Removed.
+ (is_newabi): New function, checks if NewABI is used.
+ (_print_insn_mips): Get distinction between old ABI and new ABI right.
+
+2001-08-01 Christian Groessler <cpg@aladdin.de>
+
+ * z8kgen.c: Fixed indentation of opt[] array. Include stdio.h to
+ get stderr definition.
+ (internal, gas): Removed warnings.
+ (gas): Create a correct final entry for created array.
+ * z8k-opc.h: Recreated with new z8kgen.
+
+2001-07-28 Kazu Hirata <kazu@hxi.com>
+
+ * i386-dis.c: Fix formatting.
+
+2001-07-28 Matthias Kramm <kramm@quiss.org>
+
+ * i386-dis.c: Change formatting conventions for architecture
+ i386:intel to better match the format of various intel i386
+ assemblers, like nasm, tasm or masm.
+
+2001-07-24 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Update dependencies with "make dep-am".
+ * Makefile.in: Regenerate
+
+2001-07-24 Kazu Hirata <kazu@hxi.com>
+
+ * alpha-dis.c: Fix formatting.
+ * cris-dis.c: Likewise.
+ * d10v-dis.c: Likewise.
+ * d30v-dis.c: Likewise.
+ * m10300-dis.c: Likewise.
+ * tic54x-dis.c: Likewise.
+
+2001-07-23 Kazu Hirata <kazu@hxi.com>
+
+ * m68k-dis.c: Fix formatting.
+ * pj-dis.c: Likewise.
+ * s390-dis.c: Likewise.
+ * z8k-dis.c: Likewise.
+
+2001-07-21 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Sort c.le.s and c.lt.s
+ into the rest of the surrounding definitions.
+
+2001-07-18 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c (grps): Print l or w suffix, and require mem modrm
+ for lgdt, lidt, sgdt, sidt.
+
+2001-07-13 Philip Blundell <philb@gnu.org>
+
+ * arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR.
+
+2001-07-12 Jeff Johnston <jjohnstn@redhat.com>
+
+ * cgen-asm.in: Include "xregex.h" always to enable the libiberty
+ regex support.
+ (@arch@_cgen_build_insn_regex): New routine from Graydon.
+ (@arch@_cgen_assemble_insn): Add Graydon's code to use regex
+ to verify if it is worth parsing the insn as insn "x". Also update
+ error message when insn is not a recognized format of the insn vs
+ when the insn is completely unrecognized.
+
+2001-07-11 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-dis.in (print_insn): Use cgen_get_insn_value instead of
+ bfd_get_bits.
+ * cgen-opc.c (cgen_get_insn_value, cgen_put_insn_value): Respect
+ non-zero CGEN_CPU_DESC->insn_chunk_bitsize.
+
+2001-07-09 Andreas Jaeger <aj@suse.de>, Karsten Keil <kkeil@suse.de>
+
+ * i386-dis.c (set_op): Handle 64 bit and 32 bit mode.
+ (OP_J): Use bfd_vma for mask to work properly with 64 bits.
+ (op_address,op_riprel): Use bfd_vma to handle 64 bits.
+
+2001-07-05 Ben Elliston <bje@redhat.com>
+
+ * Makefile.am (CPUDIR): Define.
+ (stamp-m32r): Update dependencies.
+ (stamp-fr30): Ditto.
+ (stamp-openrisc): Ditto.
+ * Makefile.in: Regenerate.
+
+2001-07-03 Zoltan Hidvegi <hzoli@hzoli.2y.net>
+
+ * ppc-opc.c: Fix encoding of 'clf' instruction.
+
+2001-06-30 Geoffrey Keating <geoffk@redhat.com>
+
+ * cgen-ibld.in (insert_normal): Support CGEN_IFLD_SIGN_OPT.
+
+2001-06-28 Geoffrey Keating <geoffk@redhat.com>
+
+ * cgen-asm.c (cgen_parse_keyword): Allow any first character.
+ * cgen-opc.c (cgen_keyword_add): Ignore special first
+ character when building nonalpha_chars field.
+
+2001-06-24 Ben Elliston <bje@redhat.com>
+
+ * m88k-dis.c: Format to conform to GNU coding standards.
+
+2001-06-23 Andreas Jaeger <aj@suse.de>
+
+ * disassemble.c (disassembler_usage): Add unused attribute.
+
+2001-06-22 Eric Christopher <echristo@redhat.com>
+
+ * mips-opc.c: Move prefx to start of the table.
+
+2001-06-22 Stacey Sheldon <ssheldon@Catena.com>
+
+ * arc-opc.c (insert_st_syntax): Fix over-optimisation of ST
+ instruction.
+
+2001-06-22 Pauli <pauli@moreton.com.au>
+
+ * m68k-opc.c: Add wdebug instruction.
+
+2001-06-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * m10300-opc.c (mn10300_opcodes): Change opcode for AM33 subc.
+
+2001-06-14 Geoffrey Keating <geoffk@redhat.com>
+
+ * cgen-asm.c (cgen_parse_keyword): When looking for the
+ boundaries of a keyword, allow any special characters
+ that are actually in one of the allowed keyword.
+ * cgen-opc.c (cgen_keyword_add): Add any special characters
+ to the nonalpha_chars field.
+
+2001-06-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-opc.c: Add lgh instruction.
+ * s390-opc.txt: Likewise.
+
+2001-06-11 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c: Group function prototypes in one place.
+ (FLOATCODE): Redefine as 1.
+ (USE_GROUPS): Redefine as 2.
+ (USE_PREFIX_USER_TABLE): Redefine as 3.
+ (X86_64_SPECIAL): Define as 4.
+ (GRP1b..GRPAMD): Move USE_GROUPS to bytecode1, index to bytecode2.
+ (PREGRP0..PREGRP26): Similarly with USE_PREFIX_USER_TABLE.
+ (dis386_att, dis386_intel, disx86_64_att, disx86_64_intel): Delete.
+ (dis386): New table combining above four tables.
+ (dis386_twobyte_att, dis386_twobyte_intel): Delete.
+ (dis386_twobyte): New table combining above two tables.
+ (x86_64_table): New table to handle x86_64.
+ (X86_64_0): Define.
+ (float_mem_att, float_mem_intel): Delet.
+ (float_mem): New table combining above two tables.
+ (print_insn_i386): Modify for above.
+ (dofloat): Likewise.
+ (putop): Handle '{', '|' and '}' to select alternative mnemonics.
+ Return 0 on success, 1 if no valid alternative.
+ (putop <case 'F'>, <case 'H'>): Print nothing for intel_syntax.
+ (putop <case 'T'>): Move to case 'U', and share case 'Q' code.
+ (putop <case 'I'>): Move to case 'T', and share case 'P' code.
+ (OP_REG <case rAX_reg .. rDI_reg>): Handle as for eAX_reg .. eDI_reg
+ if not 64-bit mode.
+ (OP_I <case q_mode>): Handle as for v_mode if not 64-bit mode.
+ (OP_I64): If not 64-bit mode, call OP_I.
+ OP_OFF64): If not 64-bit mode, call OP_OFF.
+ (OP_ST, OP_STi, OP_SEG, OP_DIR, OP_OFF, OP_OFF64, OP_MMX): Rename
+ 'ignore'/'ignored' to 'bytemode'.
+
+2001-06-10 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.in: Sort 'ta' case statement.
+ * configure: Regenerate.
+
+ * i386-dis.c (dis386_att): Add 'H' to conditional branch and
+ loop,jcxz insns.
+ (disx86_64_att): Likewise.
+ (dis386_twobyte_att): Likewise.
+ (print_insn_i386): Don't print branch hints as a prefix.
+ (putop): 'H' macro prints branch hints.
+ (get64): Kill compile warnings.
+
+2001-06-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-opc.h (sh_table): Don't use empty initializers.
+
+2001-06-06 Christian Groessler <cpg@aladdin.de>
+
+ * z8k-dis.c: Fix formatting.
+ (unpack_instr): Remove unused cases in switch statement. Add
+ safety abort() in default case.
+ (unparse_instr): Add safety abort() in default case.
+
+2001-06-06 Peter Jakubek <pjak@snafu.de>
+
+ * m68k-dis.c (print_insn_m68k): Fix typo.
+ * m68k-opc.c (m68k_opcodes): Correct allowed operands for
+ mcf (ColdFire) div, rem and moveb instructions.
+
+2001-06-06 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c (cond_jump_flag, loop_jcxz_flag): Define.
+ (cond_jump_mode, loop_jcxz_mode): Define.
+ (dis386_att): Add cond_jump_flag and loop_jcxz_flag as
+ appropriate, and 'F' suffix to loop insns.
+ (disx86_64_att): Likewise.
+ (dis386_twobyte_att): Likewise.
+ (print_insn_i386): Don't output addr prefix for loop, jcxz insns.
+ Output data size prefix for long conditional jumps. Output cs and
+ ds branch hints.
+ (putop): Handle 'F', and mark PREFIX_ADDR used for case 'E'.
+ (OP_J): Don't make PREFIX_DATA used.
+
+2001-06-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-opc.h (sh_table): Complete last element entry to avoid
+ compiler warning.
+
+2001-05-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (mips_isa_type): Add MIPS r12k support.
+
+2001-05-23 Alan Modra <amodra@one.net.au>
+
+ * arc-opc.c: Whitespace changes.
+
+2001-05-18 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris-opc.c (cris_spec_regs): Add missing initializer field for
+ last element.
+
+2001-05-15 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-dis.in (extract_normal): Complete support for min<base case.
+
+2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (INSNLEN): Rename MAXLEN.
+ (std_reg_names): Replace by mips32_reg_names and mips64_reg_names.
+ (print_insn_arg): Remove $ prefix of register names.
+ (set_mips_isa_type): Remove.
+ (mips_isa_type): New function.
+ (get_mips_isa): New Function.
+ (print_insn_mips): Rename _print_insn_mips.
+ (_print_insn_mips): New function, contains code which was
+ duplicated in print_insn_big_mips and print_insn_little_mips.
+ (print_insn_big_mips): Moved code to _print_insn_mips.
+ (print_insn_little_mips): Likewise.
+ (print_mips16_insn_arg): Remove $ prefix of register names.
+ Print error message before abort.
+
+2001-05-14 J.T. Conklin <jtc@redback.com>
+
+ * ppc-opc.c (powerpc_opcodes): Fixed extended opcode field of
+ simplified mnemonics used for setting PPC750-specific special
+ purpose registers.
+
+2001-05-12 H.J. Lu <hjl@gnu.org>
+
+ * i386-dis.c (print_insn_i386): Always set `mod', `reg' and
+ `rm'.
+
+2001-05-12 Peter Targett <peter.targett@arccores.com>
+
+ * arc-opc.c (arc_reg_names): Correct attribute for lp_count
+ register to r/w. Formatting fixes throughout file.
+
+2001-05-12 Alan Modra <amodra@one.net.au>
+
+ * i386-dis.c (prefix_user_table): Correct movq2dq, movdq2q, and
+ movq operands.
+ (twobyte_has_modrm): Update table.
+ (need_modrm): Give it file scope.
+ (MODRM_CHECK): Define.
+ (dofloat): Use MODRM_CHECK.
+ (OP_E): Likewise.
+ (OP_EM): Likewise.
+ (OP_EX): Likewise.
+
+2001-05-07 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-dis.in (default_print_insn): Tolerate min<base instructions
+ even at end of a section.
+ * cgen-ibld.in (extract_normal): Tolerate min!=base!=max instructions
+ by ignoring precariously-unpacked insn_value in favor of raw buffer.
+
+2001-05-03 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * disassemble.c (disassembler_usage): Remove unused attribute.
+
+2001-05-04 Frank Ch. Eigler <fche@redhat.com>
+
+ * m32r-dis.c, -asm.c, -ibld.c: Regenerated with disassembler fixes.
+
+2001-05-04 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-dis.in (print_insn): Remove call to read_insn. Instead,
+ assume incoming buffer already has the base insn loaded. Handle
+ smaller-than-base instructions for variable-length case.
+
+2001-05-04 Alan Modra <amodra@one.net.au>
+
+ * i386-dis.c (Ev, Ed): Remove duplicate define.
+ (Gd): Define.
+ (XS): Define.
+ (OP_XS): New function.
+ (dis386_twobyte_att): Correct pinsrw, pextrw, pmovmskb, and
+ movmskp operands.
+ (dis386_twobyte_intel): Likewise.
+ (prefix_user_table): Use MS for maskmovq operand.
+
+2001-04-27 Johan Rydberg <jrydberg@opencores.org>
+
+ * Makefile.am: Add OpenRISC target.
+ * Makefile.in: Regenerated.
+
+ * disassemble.c (disassembler): Recognize the OpenRISC disassembly.
+
+ * configure.in (bfd_openrisc_arch): Add target.
+ * configure: Regenerated.
+
+ * openrisc-asm.c: New file.
+ * openrisc-desc.c: Likewise.
+ * openrisc-desc.h: Likewise.
+ * openrisc-dis.c: Likewise.
+ * openrisc-ibld.c: Likewise.
+ * openrisc-opc.c: Likewise.
+ * openrisc-opc.h: Likewise.
+
+2001-04-24 Christian Groessler <cpg@aladdin.de>
+
+ * z8k-dis.c: add names of control registers (ctrl_names);
+ (seg_length): provides instruction length fixup for segmented
+ mode; (unpack_instr): correctly handle ARG_DISP16, ARG_DISP12,
+ CLASS_0DISP7, CLASS_1DISP7, CLASS_DISP8 and CLASS_PR cases;
+ (unparse_intr): handle CLASS_PR, print addresses without '#'
+ * z8k-opc.h: re-created with new z8kgen
+ * z8kgen.c: merged in fixes which were in existing z8k-opc.h; new
+ entries for ldctl/ldctlb instruction
+
+2001-04-06 Andreas Jaeger <aj@suse.de>
+
+ * i386-dis.c: Add ffreep instruction.
+
+2001-03-30 Alexandre Oliva <aoliva@redhat.com>
+
+ * ppc-opc.c (insert_mbe): Shift mask initializer as long.
+
+2001-03-24 Alan Modra <alan@linuxcare.com.au>
+
+ * i386-dis.c (PREGRP25): Define.
+ (dis386_twobyte_att): Use here in place of "movntq" entry.
+ (dis386_twobyte_intel): Likewise.
+ (prefix_user_table): Add PREGRP25 entry for "movntq" and "movntdq".
+ (PREGRP26): Define.
+ (dis386_twobyte_att): Use here.
+ (dis386_twobyte_intel): Likewise.
+ (prefix_user_table): Add PREGRP26 entry for "punpcklqdq".
+ (prefix_user_table <maskmovdqu>): XM operand, not MX.
+ (prefix_user_table): Cosmetic changes to "bad" entries.
+
+2001-03-23 Nick Clifton <nickc@redhat.com>
+
+ * mips-opc.c: Remove extraneous whitespace.
+ * mips-dis.c: Remove extraneous whitespace.
+
+2001-03-22 Ben Elliston <bje@redhat.com>
+
+ * cgen-asm.in (@arch@_cgen_assemble_insn): Move tmp_errmsg
+ declaration inside CGEN_VERBOSE_ASSEMBLER_ERRORS conditional.
+ * cgen-ibld.in (put_insn_int_value): Mark cd parameter as unused
+ to allay a compiler warning.
+
+2001-03-22 Alan Modra <alan@linuxcare.com.au>
+
+ * i386-dis.c (dis386_twobyte_att): Add entries for paddq, psubq.
+ (dis386_twobyte_intel): Likewise.
+ (twobyte_has_modrm): Set entry for paddq, psubq.
+
+2001-03-20 Patrick Macdonald <patrickm@redhat.com>
+
+ * cgen-dis.in (print_insn_@arch@): Add support for target machine
+ determination via CGEN_COMPUTE_MACH.
+ * fr30-desc.c: Regenerate.
+ * fr30-dis.c: Regenerate.
+ * fr30-opc.h: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-dis.c: Regenerate.
+ * m32r-opc.h: Regenerate.
+ * m32r-opinst.c: Regenerate.
+
+2001-03-20 H.J. Lu <hjl@gnu.org>
+
+ * configure.in: Remove the redundent AC_ARG_PROGRAM.
+ * configure: Rebuild.
+
+2001-03-19 Jim Wilson <wilson@redhat.com>
+
+ * ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and
+ notestr if larger than xsect.
+ (in_class): Handle format M5.
+ * ia64-asmtab.c: Regnerate.
+
+2001-03-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * vax-dis.c (print_insn_vax): Only fetch two bytes if the info buffer
+ has more than one byte left to read.
+
+2001-03-16 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-opc.c: Add new opcodes. Smooth out formatting.
+ * s390-opc.txt: Add new opcodes.
+
+2001-03-06 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c (print_insn_thumb): Compute destination address
+ of BLX(1) instruction by taking bit 1 from PC and not from bit
+ 0 of the offset.
+
+2001-03-06 Igor Shevlyakov <igor@windriver.com>
+
+ * m68k-dis.c (print_insn_m68k): Recognize Coldfire CPUs
+ so command line switches will work.
+
+2001-03-05 Dave Brolley <brolley@redhat.com>
+
+ * fr30-asm.c: Regenerate.
+ * fr30-desc.c: Regenerate.
+ * fr30-desc.h: Regenerate.
+ * fr30-dis.c: Regenerate.
+ * fr30-ibld.c: Regenerate.
+ * fr30-opc.c: Regenerate.
+ * fr30-opc.h: Regenerate.
+ * m32r-asm.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-desc.h: Regenerate.
+ * m32r-dis.c: Regenerate.
+ * m32r-ibld.c: Regenerate.
+ * m32r-opc.c: Regenerate.
+ * m32r-opc.h: Regenerate.
+ * m32r-opinst.c: Regenerate.
+
+2001-02-28 Igor Shevlyakov <igor@windriver.com>
+
+ * m68k-opc.c: fix cpushl according to Motorola. Enable
+ bunch of instructions for Coldfire 5407 and add all new.
+
+2001-02-27 Alan Modra <alan@linuxcare.com.au>
+
+ * configure.in (BFD_VERSION): Do without grep.
+ * configure: Regenerate.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2001-02-23 David Mosberger <davidm@hpl.hp.com>
+
+ * ia64-opc-a.c: Add missing pseudo-ops for "cmp" and "cmp4".
+ * ia64-asmtab.c: Regenerate.
+
+2001-02-21 David Mosberger <davidm@hpl.hp.com>
+
+ * ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
+ separate variants: one for IMM22 and the other for IMM14.
+ * ia64-asmtab.c: Regenerate.
+
+2001-02-21 Greg McGary <greg@mcgary.org>
+
+ * cgen-opc.c (cgen_get_insn_value): Add missing `return'.
+
+2001-02-20 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am (ia64-ic.tbl): Remove the target.
+ (ia64-raw.tbl): Likewise.
+ (ia64-waw.tbl): Likewise.
+ (ia64-war.tbl): Likewise.
+ (ia64-asmtab.c): Generate it in the source directory.
+ * Makefile.in: Regenerated.
+
+2001-02-18 lars brinkhoff <lars@nocrew.org>
+
+ * Makefile.am: Add PDP-11 target.
+ * configure.in: Likewise.
+ * disassemble.c: Likewise.
+ * pdp11-dis.c: New file.
+ * pdp11-opc.c: New file.
+
+2001-02-14 Jim Wilson <wilson@redhat.com>
+
+ * ia64-ic.tbl: Update from Intel. Add setf to fr-writers.
+ * ia64-asmtab.c: Regenerate.
+
+2001-02-12 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c (prefix_user_t): Add 'Y' to SSE ineger converison
+ instructions.
+ (putop): Handle 'Y'
+
+2001-02-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * mips-dis.c (print_insn_arg): Use top four bits of the address of
+ the following instruction not of the jump itself for the jump
+ target.
+ (print_mips16_insn_arg): Likewise.
+
+2001-02-11 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * Makefile.am (stamp-lib): ranlib the libopcodes.a in the build
+ directory.
+ * Makefile.in: Regenerate.
+
+2001-02-09 Schwidefsky <schwidefsky@de.ibm.com>
+
+ * Makefile.am: Add linux target for S/390.
+ * Makefile.in: Likewise.
+ * configure.in: Likewise.
+ * disassemble.c: Likewise.
+ * s390-dis.c: New file.
+ * s390-mkopc.c: New file.
+ * s390-opc.c: New file.
+ * s390-opc.txt: New file.
+
+2001-02-05 Jim Wilson <wilson@redhat.com>
+
+ * ia64-asmtab.c: Revert 2000-12-16 change.
+
+2001-02-02 Patrick Macdonald <patrickm@redhat.com>
+
+ * fr30-desc.h: Regenerate with CGEN_MAX_SYNTAX_ELEMENTS.
+ * m32r-desc.h: Regenerate.
+
+2001-02-01 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c (dis386_att, grps): Use 'T' for push/pop
+ (putop): Handle 'T', alphabetize order, fix 'I' handling in Intel syntax
+
+2001-01-14 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa-dis.c (print_insn_hppa): Handle '>' and '<' arg types.
+
+2001-01-13 Nick Clifton <nickc@redhat.com>
+
+ * disassemble.c: Remove spurious white space.
+
+2001-01-13 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c (dis386_att, disx86_64_att): Fix ret, lret and iret
+ templates.
+
+2001-01-11 Peter Targett <peter.targett@arccores.com>
+
+ * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
+ * Makefile.am (C_FILES): Add arc-ext.c.
+ (ALL_MACHINES) Add arc-ext.lo.
+ (INCLUDES) Add opcode directory to list.
+ New dependency entry for arc-ext.lo.
+ * disassemble.c (disassembler): Correct call to
+ arc_get_disassembler.
+ * arc-opc.c: New update for ARC, including full base
+ instructions for ARC variants.
+ * arc-dis.h, arc-dis.c: New update for ARC, including
+ extensibility functionality.
+ * arc-ext.h, arc-ext.c: New files for handling extensibility.
+
+2001-01-10 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c (PREGRP15 - PREGRP24): New.
+ (dis386_twobyt): Add SSE2 instructions.
+ (twobyte_uses_SSE_prefix: Rename from ... ; add new SSE instructions.
+ (twobyte_uses_f3_prefix): ... this one.
+ (grps): Add SSE instructions.
+ (prefix_user_table): Add two new slots; add SSE2 instructions.
+ (print_insn_i386): Rename uses_f3_prefix to uses_SSE_prefix;
+ Handle the REPNZ and Data16 prefixes as well; do proper lookup
+ to prefix_user_table.
+ (OP_E): Accept mfence and lfence as well.
+ (OP_MMX): Data16 prefix turns MMX to SSE; support REX extensions.
+ (OP_XMM): Support REX extensions.
+ (OP_EM): Likewise.
+ (OP_EX): Likewise.
+
+2001-01-09 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c (print_insn): Set pc to zero for instructions with
+ a reloc associated with them.
+
+2001-01-09 Jeff Johnston <jjohnstn@redhat.com>
+
+ * cgen-asm.in (parse_insn_normal): Changed syn to be
+ CGEN_SYNTAX_CHAR_TYPE. Changed all references to *syn
+ as character to use CGEN_SYNTAX_CHAR macro and all comparisons
+ to '\0' to use 0 instead.
+ * cgen-dis.in (print_insn_normal): Ditto.
+ * cgen-ibld.in (insert_insn_normal, extract_insn_normal): Ditto.
+
+2001-01-05 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c: Add x86_64 support.
+ (rex): New static variable.
+ (REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): New constants.
+ (USED_REX): New macro.
+ (Ev, Ed, Rm, Iq, Iv64, Cm, Dm, Rm*, Ob64, Ov64): New macros.
+ (OP_I64, OP_OFF64, OP_IMREG): New functions.
+ (OP_REG, OP_OFF): Declare.
+ (get64, get32, get32s): New functions.
+ (r??_reg): New constants.
+ (dis386_att): Change templates of instruction implicitly promoted
+ to 64bit; change e?? to RMe?? for unwind RM byte instructions.
+ (grps): Likewise.
+ (dis386_intel): Likewise.
+ (dixx86_64_att): New table based on dis386_att.
+ (dixx86_64_intel): New table based on dis386_intel.
+ (names64, names8rex): New global variable.
+ (names32, names16): Add extended registers.
+ (prefix_user_t): Recognize rex prefixes.
+ (prefix_name): Print REX prefixes nicely.
+ (op_riprel): New global variable.
+ (start_pc): Set type to bfd_vma.
+ (print_insn_i386): Detect the 64bit mode and use proper table;
+ move ckprefix after initializing the buffer; output unused rex prefixes;
+ output information about target of RIP relative addresses.
+ (putop): Support 'O' and 'I'. Update handling of "P', 'Q', 'R' and 'S';
+ (print_operand_value): New function.
+ (OP_E, OP_G, OP_REG, OP_I, OP_J, OP_DIR, OP_OFF, OP_D): Add support for
+ REX prefix and new modes.
+ (get64, get32s): New.
+ (get32): Return bfd_signed_vma type.
+ (set_op): Initialize the op_riprel.
+ * disassemble.c (disassembler): Recognize the x86-64 disassembly.
+
+2001-01-03 Richard Sandiford <r.sandiford@redhat.com>
+
+ cgen-dis.in (read_insn): Use bfd_get_bits()
+
+2001-01-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * cgen-dis.c (hash_insn_array): Use bfd_put_bits().
+ (hash_insn_list): Likewise
+ * cgen-ibld.in (insert_1): Use bfd_put_bits() and bfd_get_bits().
+ (extract_1): Use bfd_get_bits().
+ (extract_normal): Apply sign extension to both extraction
+ methods.
+ * cgen-opc.c (cgen_get_insn_value): Use bfd_get_bits()
+ (cgen_put_insn_value): Use bfd_put_bits()
+
+2000-12-28 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-asm.in (parse_insn_normal): Print better error message for
+ instructions with missing operands.
+
+2000-12-21 Santeri Paavolainen <santtu@ssh.com>
+
+ * cgen-opc.c: Include alloca.h if HAVE_ALLOCA_H is defined.
+
+2000-12-16 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure.in: Add spacing.
+ * configure: Regenerate.
+ * ia64-asmtab.c: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2000-12-12 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-asm.in (@arch@_cgen_assemble_insn): Prefer printing insert-time
+ error messages over later parse-time ones.
+
+2000-12-12 Jim Wilson <wilson@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode
+ argument.
+ * ia64-gen.c (insert_deplist): Cast sizeof result to int.
+ (print_dependency_table): Print NULL if semantics field not set.
+ (insert_opcode_dependencies): Mark cmp parameter as unused.
+ (print_main_table): Use fprintf_vma to print long long fields.
+ (main): Mark argv paramter as unused. Convert to old style definition.
+ * ia64-opc.c (ia64_find_dependency): Cast sizeof result to int.
+ * ia64-asmtab.c: Regnerate.
+
+2000-12-09 Nick Clifton <nickc@redhat.com>
+
+ * m32r-dis.c (print_insn): Prevent re-read of instruction from
+ wrong address.
+
+ * fr30-dis.c: Regenerate.
+
+2000-12-08 Peter Targett <peter.targett@arccores.com>
+
+ * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
+ * Makefile.am (C_FILES): Add arc-ext.c.
+ (ALL_MACHINES) Add arc-ext.lo.
+ (INCLUDES) Add opcode directory to list.
+ New dependency entry for arc-ext.lo.
+ * disassemble.c (disassembler): Correct call to
+ arc_get_disassembler.
+ * arc-opc.c: New update for ARC, including full base
+ instructions for ARC variants.
+ * arc-dis.h, arc-dis.c: New update for ARC, including
+ extensibility functionality.
+ * arc-ext.h, arc-ext.c: New files for handling extensibility.
+
+2000-12-03 Chris Demetriou cgd@sibyte.com
+
+ * mips-opc.c (mips_builtin_opcodes): Use the WR_HILO, RD_HILO,
+ MOD_HILO, and MOD_LO macros.
+
+ * mips-opc.c (M1, M2): Delete.
+ (mips_builtin_opcodes): Remove all uses of M1.
+
+ * mips-opc.c (mips_builtin_opcodes): Make the dmfc2 and dmtc2
+ instructions take "G" format second operands and use the
+ correct flags.
+ There are mfc3 and mtc3 opcodes, so add dmfc3 and dmtc3 opcodes to
+ match.
+ Delete "sel" code operands from mfc1 and mtc1.
+ Add MIPS64 opcode changes (dclo, dclz), and "sel" code variants
+ for dm[ft]c[023].
+
+2000-12-03 Ed Satterthwaite ehs@sibyte.com and
+ Chris Demetriou cgd@sibyte.com
+
+ * mips-opc.c (mips_builtin_opcodes): Finish additions
+ for MIPS32 support, and clean up existing entries for
+ aesthetics, consistency with the MIPS32 ISA, and
+ with consistency the rest of the table.
+
+2000-12-01 Nick Clifton <nickc@redhat.com>
+
+ * mips16-opc.c (mips16_opcodes): Add initialiser for membership
+ field.
+
+2000-12-01 Chris Demetriou <cgd@sibyte.com>
+
+ mips-dis.c (print_insn_arg): Handle new 'U' and 'J' argument
+ specifiers. Update 'B' for new constant names, and remove
+ 'm'.
+ mips-opc.c (mips_builtin_opcodes): Place "pref" and "ssnop"
+ near the top of the array, so they are disassembled properly.
+ Enable "ssnop" for MIPS32. Add "break" variant with 20 bit
+ code for MIPS32. Update "clo" and "clz" to use 'U' operand
+ specifier. Add 'H' format specifier variants for "mfc1,"
+ "mfc2," "mfc3," "mtc1," "mtc2," and "mtc3" for MIPS32. Update
+ MIPS32 "sdbbp" to use 'B' operand specifier. Add MIPS32
+ "wait" variant which uses 'J' operand specifier.
+
+ * mips-dis.c (set_mips_isa_type): Update to use
+ CPU_UNKNOWN and ISA_* constants. Add bfd_mach_mips32 case.
+ Replace bfd_mach_mips4K with bfd_mach_mips32_4k case.
+ * mips-opc.c (I32): New constant for instructions added in
+ MIPS32.
+ (P4): Delete.
+ (mips_builtin_opcodes) Replace all uses of P4 with I32.
+
+ * mips-dis.c (set_mips_isa_type): Add cases for
+ bfd_mach_mips5 and bfd_mach_mips64.
+ * mips-opc.c (I64): New definitions.
+
+ * mips-dis.c (set_mips_isa_type): Add case for
+ bfd_mach_mips_sb1.
+
+2000-11-28 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * sh-dis.c (print_insn_ddt): Make insn_x, insn_y unsigned.
+ (print_insn_ppi): Make nib1, nib2, nib3 unsigned.
+ Initialize variable dc to NULL.
+ (print_insn_shx): Remove unused label d_reg_n.
+
+2000-11-24 Nick Clifton <nickc@redhat.com>
+
+ * arm-opc.h: Add new opcode formatting parameter 'B'.
+ (arm_opcodes): Add XScale, v5, and v5te instructions.
+ (thumb_opcodes): Add v5t instructions.
+
+ * arm-dis.c (print_insn_arm): Handle new 'B' format
+ parameter.
+ (print_insn_thumb): Decode BLX(1) instruction.
+
+2000-11-21 Chris Demetriou <cgd@sibyte.com>
+
+ * mips-opc.c: Fix file header comment.
+
+2000-11-14 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris-dis.c (cris_get_disassembler): If abfd is NULL, return
+ print_insn_cris_with_register_prefix.
+
+2000-11-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-opc.h: The operand of `mov.w r0, (<disp>,GBR)' is IMM1, not 0.
+
+2000-11-07 Matthew Green <mrg@redhat.com>
+
+ * cgen-dis.in (print_insn): All insns which can fit into insn_value
+ must be loaded there in their entirety.
+
+2000-10-20 Jakub Jelinek <jakub@redhat.com>
+
+ * sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
+ (compute_arch_mask): Add v8plusb and v9b machines.
+ (print_insn_sparc): siam mode decoding, accept ASRs up to 25.
+ * sparc-opc.c: Support for Cheetah instruction set.
+ (prefetch_table): Add #invalidate.
+
+2000-10-16 Nick Clifton <nickc@redhat.com>
+
+ * mcore-dis.c (imsk): Change mask for OC to 0xFE00.
+
+2000-10-06 Dave Brolley <brolley@redhat.com>
+
+ * fr30-desc.h: Regenerate.
+ * m32r-desc.h: Regenerate.
+ * m32r-ibld.c: Regenerate.
+
+2000-10-05 Jim Wilson <wilson@redhat.com>
+
+ * ia64-ic.tbl: Update from Intel.
+ * ia64-asmtab.c: Regenerate.
+
+2000-10-04 Kazu Hirata <kazu@hxi.com>
+
+ * ia64-gen.c: Convert C++-style comments to C-style comments.
+ * tic54x-dis.c: Likewise.
+
+2000-09-29 Hans-Peter Nilsson <hp@axis.com>
+
+ Changes to add dollar prefix to registers for files where user symbols
+ don't have a leading underscore. Fix formatting.
+ * cris-dis.c (REGISTER_PREFIX_CHAR): New.
+ (format_reg): Add parameter with_reg_prefix. All callers changed.
+ (print_with_operands): Ditto.
+ (print_insn_cris_generic): Renamed from print_insn_cris, add
+ parameter with_reg_prefix.
+ (print_insn_cris_with_register_prefix,
+ print_insn_cris_without_register_prefix, cris_get_disassembler):
+ New.
+ * disassemble.c (disassembler) [ARCH_cris]: Call cris_get_disassembler.
+
+2000-09-22 Jim Wilson <wilson@redhat.com>
+
+ * ia64-opc-f.c (ia64_opcodes_f): Add fpcmp pseudo-ops for
+ gt, ge, ngt, and nge.
+ * ia64-asmtab.c: Regenerate.
+
+ * ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
+ * ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
+ (lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
+ * ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
+ * ia64-asmtab.c: Regnerate.
+
+2000-09-13 Anders Norlander <anorland@acc.umu.se>
+
+ * mips-opc.c (mips_builtin_opcodes): Support cache instruction on 4K cores.
+ Add mfc0 and mtc0 with sub-selection values.
+ Add clo and clz opcodes.
+ Add msub and msubu instructions for MIPS32.
+ Add madd/maddu aliases for mad/madu for MIPS32.
+ Support wait, deret, eret, movn, pref for MIPS32.
+ Support tlbp, tlbr, tlbwi, tlbwr.
+ (P4): New define.
+
+ * mips-dis.c (print_insn_arg): Print sdbbp 'm' args.
+ (print_insn_arg): Handle 'H' args.
+ (set_mips_isa_type): Recognize 4K.
+ Use CPU_* defines instead of hardcoded numbers.
+
+2000-09-11 Catherine Moore <clm@redhat.com>
+
+ * d30v-opc.c (d30v_operand_t): New operand type Rb2.
+ (d30v_format_tab): Use Rb2 for modinc and moddec.
+
+2000-09-07 Catherine Moore <clm@redhat.com>
+
+ * d30v-opc.c (d30v_format_tab): Use format Ra for
+ modinc and moddec.
+
+2000-09-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure: Rebuilt with new libtool.m4.
+
+2000-09-05 Nick Clifton <nickc@redhat.com>
+
+ * configure: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2000-08-31 Alexandre Oliva <aoliva@redhat.com>
+
+ * acinclude.m4: Include libtool and gettext macros from the
+ top level.
+ * aclocal.m4, configure: Rebuilt.
+
+2000-08-30 Kazu Hirata <kazu@hxi.com>
+
+ * tic80-dis.c: Fix formatting.
+
+2000-08-29 Kazu Hirata <kazu@hxi.com>
+
+ * w65-dis.c: Fix formatting.
+
+2000-08-28 Mark Hatle <mhatle@mvista.com>
+
+ * ppc-opc.c: Add XTLB macro for a few PPC 4xx extended mnemonics.
+ (powerpc_opcodes): Add table entries for PPC 405 instructions.
+ Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403
+ instructions. Added extended mnemonic mftbl as defined in the
+ 405GP manual for all PPCs.
+
+2000-08-28 Jim Wilson <wilson@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Add failed label after ia64_free_opcode
+ call. Change last goto to use failed instead of done.
+
+2000-08-28 Dave Brolley <brolley@redhat.com>
+
+ * cgen-ibld.in (cgen_put_insn_int_value): New function.
+ (insert_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
+ (insert_insn_normal): Use cgen_put_insn_int_value with CGEN_INT_INSN_P.
+ (extract_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
+ * cgen-dis.in (read_insn): New static function.
+ (print_insn): Use read_insn to read the insn into the buffer and set
+ up for disassembly.
+ (print_insn): in CGEN_INT_INSN_P, make sure that the entire insn is
+ in the buffer.
+ * fr30-asm.c: Regenerated.
+ * fr30-desc.c: Regenerated.
+ * fr30-desc.h: Regenerated.
+ * fr30-dis.c: Regenerated.
+ * fr30-ibld.c: Regenerated.
+ * fr30-opc.c: Regenerated.
+ * fr30-opc.h: Regenerated.
+ * m32r-asm.c: Regenerated.
+ * m32r-desc.c: Regenerated.
+ * m32r-desc.h: Regenerated.
+ * m32r-dis.c: Regenerated.
+ * m32r-ibld.c: Regenerated.
+ * m32r-opc.c: Regenerated.
+
+2000-08-28 Kazu Hirata <kazu@hxi.com>
+
+ * tic30-dis.c: Fix formatting.
+
+2000-08-27 Kazu Hirata <kazu@hxi.com>
+
+ * sh-dis.c: Fix formatting.
+
+2000-08-24 David Edelsohn <dje@watson.ibm.com>
+
+ * ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd.
+
+2000-08-24 Kazu Hirata <kazu@hxi.com>
+
+ * z8k-dis.c: Fix formatting.
+
+2000-08-16 Jim Wilson <wilson@redhat.com>
+
+ * ia64-ic.tbl (pr-readers-nobr-nomovpr): Add addl, adds. Delete
+ break, mov-immediate, nop.
+ * ia64-opc-f.c: Delete fpsub instructions.
+ * ia64-opc-m.c: Add POSTINC to all instructions with postincrement
+ address operand. Rewrite using macros to avoid long lines.
+ * ia64-opc.h (POSTINC): Define.
+ * ia64-asmtab.c: Regenerate.
+
+2000-08-15 Jim Wilson <wilson@redhat.com>
+
+ * ia64-ic.tbl: Add missing entries.
+
+2000-08-08 Jason Eckhardt <jle@redhat.com>
+
+ * i860-dis.c (print_br_address): Change third argument from int
+ to long.
+
+2000-08-07 Richard Henderson <rth@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Get byte skip count correct
+ for MLI templates. Handle IA64_OPND_TGT64.
+
+2000-08-04 Ben Elliston <bje@redhat.com>
+
+ * cgen-dis.in, cgen-asm.in, cgen-ibld.in: New files.
+ * cgen.sh: Likewise.
+
+2000-08-02 Jim Wilson <wilson@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end.
+
+2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr-dis.c (avr_operand): Use PARAMS macro in declaration.
+ Change return type from void to int. Check the combination
+ of operands, return 1 if valid. Fix to avoid BUF overflow.
+ Report undefined combinations of operands in COMMENT.
+ Report internal errors to stderr. Output the adiw/sbiw
+ constant operand in both decimal and hex.
+ (print_insn_avr): Disassemble ldd/std with displacement of 0
+ as ld/st. Check avr_operand () return value, handle invalid
+ combinations of operands like unknown opcodes.
+
+2000-07-28 Ben Elliston <bje@redhat.com>
+
+ * Makefile.am (CGEN, CGENDEPS, CGENDIR, CGENFLAGS): New.
+ (run-cgen, stamp-m32r, stamp-fr30): New targets.
+ * Makefile.in: Regenerate.
+ * configure.in: Add --enable-cgen-maint option.
+ * configure: Regenerate.
+
+2000-07-26 Dave Brolley <brolley@redhat.com>
+
+ * cgen-opc.c (cgen_hw_lookup_by_name): 'i' is now unsigned.
+ (cgen_hw_lookup_by_num): Ditto.
+ (cgen_operand_lookup_by_name): Ditto.
+ (print_address): Ditto.
+ (print_keyword): Ditto.
+ * cgen-dis.c (hash_insn_array): Mark unused parameters with
+ ATTRIBUTE_UNUSED.
+ * cgen-asm.c (hash_insn_array): Mark unused parameters with
+ ATTRIBUTE_UNUSED.
+ (cgen_parse_keyword): Ditto.
+
+2000-07-22 Jason Eckhardt <jle@redhat.com>
+
+ * i860-dis.c: New file.
+ (print_insn_i860): New function.
+ (print_br_address): New function.
+ (sign_extend): New function.
+ (BITWISE_OP): New macro.
+ (I860_REG_PREFIX): New macro.
+ (grnames, frnames, crnames): New structures.
+
+ * disassemble.c (ARCH_i860): Define.
+ (disassembler): Add check for bfd_arch_i860 to set disassemble
+ function to print_insn_i860.
+
+ * Makefile.in (CFILES): Added i860-dis.c.
+ (ALL_MACHINES): Added i860-dis.lo.
+ (i860-dis.lo): New dependences.
+
+ * configure.in: New bits for bfd_i860_arch.
+
+ * configure: Regenerated.
+
+2000-07-20 Hans-Peter Nilsson <hp@axis.com>
+
+ * Makefile.am (CFILES): Add cris-dis.c and cris-opc.c.
+ (ALL_MACHINES): Add cris-dis.lo and cris-opc.lo.
+ (cris-dis.lo, cris-opc.lo): New rules.
+ * Makefile.in: Rebuild.
+ * configure.in (bfd_cris_arch): New target.
+ * configure: Rebuild.
+ * disassemble.c (ARCH_cris): Define.
+ (disassembler): Support ARCH_cris.
+ * cris-dis.c, cris-opc.c: New files.
+ * po/POTFILES.in, po/opcodes.pot: Regenerate.
+
+2000-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ * sparc-opc.c (sparc_opcodes): popc has 0 in rs1, not rs2.
+ Reported by Bill Clarke <llib@computer.org>.
+
+2000-07-09 Geoffrey Keating <geoffk@redhat.com>
+
+ * ppc-opc.c (powerpc_opcodes): Correct suffix for vslw.
+ Patch by Randall J Fisher <rfisher@ecn.purdue.edu>.
+
+2000-07-09 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa-dis.c (fput_reg, fput_fp_reg, fput_fp_reg_r, fput_creg,
+ fput_const, extract_3, extract_5_load, extract_5_store,
+ extract_5r_store, extract_5R_store, extract_10U_store,
+ extract_5Q_store, extract_11, extract_14, extract_16, extract_21,
+ extract_12, extract_17, extract_22): Prototype.
+ (print_insn_hppa): Rename inner block opcode -> opc to avoid
+ shadowing outer block.
+ (GET_BIT): Define.
+
+2000-07-05 DJ Delorie <dj@redhat.com>
+
+ * MAINTAINERS: new
+
+2000-07-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * arm-dis.c (print_insn_arm): Output combinations of PSR flags.
+
+2000-07-03 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr-dis.c (avr_operand): Change _ () to _() around all strings
+ marked for translation (exception from the usual coding style).
+ (print_insn_avr): Initialize insn2 to avoid warnings.
+
+2000-07-03 Kazu Hirata <kazu@hxi.com>
+
+ * h8300-dis.c (bfd_h8_disassemble): Improve readability.
+ * h8500-dis.c: Fix formatting.
+
+2000-07-01 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed
+ (CLEANFILES): Add DEPA.
+ * Makefile.in: Regenerate.
+
+2000-06-26 Scott Bambrough <scottb@netwinder.org>
+
+ * arm-dis.c (regnames): Add an additional register set to match
+ the set used by GCC. Make it the default.
+
+2000-06-22 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
+ find one.
+ * Makefile.in: Regenerate.
+
+2000-06-20 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am: Rebuild dependency.
+ * Makefile.in: Rebuild.
+
+2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * Makefile.in, configure: regenerate
+ * disassemble.c (disassembler): Recognize ARCH_m68hc12,
+ ARCH_m68hc11.
+ * m68hc11-dis.c (read_memory, print_insn, print_insn_m68hc12):
+ New functions.
+ * configure.in: Recognize m68hc12 and m68hc11.
+ * m68hc11-dis.c, m68hc11-opc.c: New files for support of m68hc1x
+ * Makefile.am (CFILES, ALL_MACHINES): New files for disassembly
+ and opcode generation for m68hc11 and m68hc12.
+
+2000-06-16 Nick Duffek <nsd@redhat.com>
+
+ * disassemble.c (disassembler): Refer to the PowerPC 620 using
+ bfd_mach_ppc_620 instead of 620.
+
+2000-06-12 Kazu Hirata <kazu@hxi.com>
+
+ * h8300-dis.c: Fix formatting.
+ (bfd_h8_disassemble): Distinguish adds/subs, inc/dec.[wl]
+ correctly.
+
+2000-06-09 Denis Chertykov <denisc@overta.ru>
+
+ * avr-dis.c (avr_operand): Bugfix for jmp/call address.
+
+2000-06-07 Denis Chertykov <denisc@overta.ru>
+
+ * avr-dis.c: completely rewritten.
+
+2000-06-02 Kazu Hirata <kazu@hxi.com>
+
+ * h8300-dis.c: Follow the GNU coding style.
+ (bfd_h8_disassemble) Fix a typo.
+
+2000-06-01 Kazu Hirata <kazu@hxi.com>
+
+ * h8300-dis.c (bfd_h8_disassemble_init): Fix a typo.
+ (bfd_h8_disassemble): Distinguish the operand size of inc/dev.[wl]
+ correctly. Fix a typo.
+
+2000-05-31 Nick Clifton <nickc@redhat.com>
+
+ * opintl.h (_(String)): Explain why dgettext is used instead of
+ gettext.
+
+2000-05-30 Nick Clifton <nickc@redhat.com>
+
+ * opintl.h (gettext, dgettext, dcgettext, textdomain,
+ bindtextdomain): Replace defines with those from intl/libgettext.h
+ to quieten gcc warnings.
+
+2000-05-26 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.am: Update dependencies with "make dep-am"
+ * Makefile.in: Regenerate.
+
+2000-05-25 Alexandre Oliva <aoliva@redhat.com>
+
+ * m10300-dis.c (disassemble): Don't assume 32-bit longs when
+ sign-extending operands.
+
+2000-05-15 Donald Lindsay <dlindsay@redhat.com>
+
+ * d10v-opc.c (d10v_opcodes): add ALONE tag to all short branches
+ except brf's.
+
+2000-05-21 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.am (LIBIBERTY): Define.
+
+2000-05-19 Diego Novillo <dnovillo@redhat.com>
+
+ * mips-dis.c (REGISTER_NAMES): Rename to STD_REGISTER_NAMES.
+ (STD_REGISTER_NAMES): New name for REGISTER_NAMES.
+ (reg_names): Rename to std_reg_names. Change it to a char **
+ static variable.
+ (std_reg_names): New name for reg_names.
+ (set_mips_isa_type): Set reg_names to point to std_reg_names by
+ default.
+
+2000-05-16 Frank Ch. Eigler <fche@redhat.com>
+
+ * fr30-desc.h: Partially regenerated to account for changed
+ CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros.
+ * m32r-desc.h: Ditto.
+
+2000-05-15 Nick Clifton <nickc@redhat.com>
+
+ * arm-opc.h: Use upper case for flasg in MSR and MRS
+ instructions. Allow any bit to be set in the field_mask of
+ the MSR instruction.
+
+ * arm-dis.c (print_insn_arm): Decode _x and _s bits of the
+ field_mask of an MSR instruction.
+
+2000-05-11 Thomas de Lellis <tdel@windriver.com>
+
+ * arm-opc.h: Disassembly of thumb ldsb/ldsh
+ instructions changed to ldrsb/ldrsh.
+
+2000-05-11 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * mips-dis.c (print_insn_arg): Don't mask top 32 bits of 64-bit
+ target addresses for 'jal' and 'j'.
+
+2000-05-10 Geoff Keating <geoffk@redhat.com>
+
+ * ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodes
+ also available in common mode when powerpc syntax is being used.
+
+2000-05-08 Alan Modra <alan@linuxcare.com.au>
+
+ * m68k-dis.c (dummy_printer): Add ATTRIBUTE_UNUSED to args.
+ (dummy_print_address): Ditto.
+
+2000-05-04 Timothy Wall <twall@redhat.com>
+
+ * tic54x-opc.c: New.
+ * tic54x-dis.c: New.
+ * disassemble.c (disassembler): Add ARCH_tic54x.
+ * configure.in: Added tic54x target.
+ * configure: Ditto.
+ * Makefile.am: Add tic54x dependencies.
+ * Makefile.in: Ditto.
+
+2000-05-03 J.T. Conklin <jtc@redback.com>
+
+ * ppc-opc.c (VA, VB, VC, VD, VS, SIMM, UIMM, SHB): New macros, for
+ vector unit operands.
+ (VX, VX_MASK, VXA, VXA_MASK, VXR, VXR_MASK): New macros, for vector
+ unit instruction formats.
+ (PPCVEC): New macro, mask for vector instructions.
+ (powerpc_operands): Add table entries for above operand types.
+ (powerpc_opcodes): Add table entries for vector instructions.
+
+ * ppc-dis.c (print_insn_big_powerpc): Add PPC_OPCODE_ALTIVEC to mask.
+ (print_insn_little_powerpc): Likewise.
+ (print_insn_powerpc): Prepend 'v' when printing vector registers.
+
+2000-04-24 Clinton Popetz <cpopetz@redhat.com>
+
+ * configure.in: Add bfd_powerpc_64_arch.
+ * disassemble.c (disassembler): Use print_insn_big_powerpc for
+ 64 bit code.
+
+2000-04-24 Nick Clifton <nickc@redhat.com>
+
+ * fr30-desc.c (fr30_cgen_cpu_open): Initialise signed_overflow
+ field.
+
+2000-04-23 Denis Chertykov <denisc@overta.ru>
+
+ * avr-dis.c (reg_fmul_d): New. Extract destination register from
+ FMUL instruction.
+ (reg_fmul_r): New. Extract source register from FMUL instruction.
+ (reg_muls_d): New. Extract destination register from MULS instruction.
+ (reg_muls_r): New. Extract source register from MULS instruction.
+ (reg_movw_d): New. Extract destination register from MOVW instruction.
+ (reg_movw_r): New. Extract source register from MOVW instruction.
+ (print_insn_avr): Handle MOVW, MULS, MULSU, FMUL, FMULS, FMULSU,
+ EICALL, EIJMP, LPM r,Z, ELPM r,Z, SPM, ESPM instructions.
+
+2000-04-22 Timothy Wall <twall@redhat.com>
+
+ * ia64-gen.c (general): Add an ordered table of primary
+ opcode names, as well as priority fields to disassembly data
+ structures to enforce a preferred disassembly format based on the
+ ordering of the opcode tables.
+ (load_insn_classes): Show a useful message if IC tables are missing.
+ (load_depfile): Ditto.
+ * ia64-asmtab.h (struct ia64_dis_names ): Add priority flag to
+ distinguish preferred disassembly.
+ * ia64-opc-f.c: Reorder some insn for preferred disassembly
+ format. Fix incorrect flag on fma.s/fma.s.s0.
+ * ia64-opc.c: Scan *all* disassembly matches and use the one with
+ the highest priority.
+ * ia64-opc-b.c: Use more abbreviations.
+ * ia64-asmtab.c: Regenerate.
+
+2000-04-21 Jason Eckhardt <jle@redhat.com>
+
+ * hppa-dis.c (extract_16): New function.
+ (print_insn_hppa): Fix incorrect handling of 'fe'. Added handling of
+ new operand types l,y,&,fe,fE,fx.
+
+2000-04-21 Richard Henderson <rth@redhat.com>
+ David Mosberger <davidm@hpl.hp.com>
+ Timothy Wall <twall@redhat.com>
+ Bob Manson <manson@charmed.cygnus.com>
+ Jim Wilson <wilson@redhat.com>
+
+ * Makefile.am (HFILES): Add ia64-asmtab.h, ia64-opc.h.
+ (CFILES): Add ia64-dis.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c,
+ ia64-opc-i.c, ia64-opc-m.c, ia64-opc-d.c, ia64-opc.c, ia64-gen.c,
+ ia64-asmtab.c.
+ (ALL_MACHINES): Add ia64-dis.lo, ia64-opc.lo.
+ (ia64-ic.tbl, ia64-raw.tbl, ia64-waw.tbl, ia64-war.tbl, ia64-gen,
+ ia64-gen.o, ia64-asmtab.c, ia64-dis.lo, ia64-opc.lo): New rules.
+ * Makefile.in: Rebuild.
+ * configure Rebuild.
+ * configure.in (bfd_ia64_arch): New target.
+ * disassemble.c (ARCH_ia64): Define.
+ (disassembler): Support ARCH_ia64.
+ * ia64-asmtab.c, ia64-asmtab.h, ia64-dis.c, ia64-gen.c ia64-ic.tbl,
+ ia64-opc-a.c, ia64-opc-b.c, ia64-opc-d.c ia64-opc-f.c, ia64-opc-i.c,
+ ia64-opc-m.c, ia64-opc-x.c, ia64-opc.c, ia64-opc.h, ia64-raw.tbl,
+ ia64-war.tbl, ia64-waw.tbl: New files.
+
+2000-04-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * m10300-dis.c (HAVE_AM30, HAVE_AM33): Define.
+ (disassemble): Use them.
+
+2000-04-14 Alan Modra <alan@linuxcare.com.au>
+
+ * sysdep.h: Include "ansidecl.h" not <ansidecl.h>
+ * Makefile.am: Update dependencies.
+ * Makefile.in: Regenerate.
+
+2000-04-14 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * a29k-dis.c, alpha-dis.c, alpha-opc.c, arc-dis.c, arc-opc.c,
+ avr-dis.c, d10v-dis.c, d10v-opc.c, d30v-dis.c, d30v-opc.c,
+ disassemble.c, h8300-dis.c, h8500-dis.c, hppa-dis.c, i370-dis.c,
+ i370-opc.c, i960-dis.c, m10200-dis.c, m10200-opc.c, m10300-dis.c,
+ m10300-opc.c, m68k-dis.c, m68k-opc.c, m88k-dis.c, mcore-dis.c,
+ mips-dis.c, mips-opc.c, mips16-opc.c, pj-dis.c, pj-opc.c,
+ ppc-dis.c, ppc-opc.c, sh-dis.c, sparc-dis.c, sparc-opc.c,
+ tic80-dis.c, tic80-opc.c, v850-dis.c, v850-opc.c, vax-dis.c,
+ w65-dis.c, z8k-dis.c, z8kgen.c: Include sysdep.h. Remove
+ ansidecl.h as sysdep.h includes it.
+
+2000-04-7 Andrew Cagney <cagney@b1.redhat.com>
+
+ * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add
+ --enable-build-warnings option.
+ * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
+ * Makefile.in, configure: Re-generate.
+
+2000-04-05 J"orn Rennecke <amylaar@redhat.com>
+
+ * sh-opc.h (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
+ stc GBR,@-<REG_N> is available for arch_sh1_up.
+ Group parallel processing insn with identical mnemonics together.
+ Make three-operand psha / pshl come first.
+
+2000-04-05 J"orn Rennecke <amylaar@redhat.co.uk>
+
+ * sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
+ Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
+ (sh_arg_type): Add A_PC.
+ (sh_table): Update entries using immediates. Add repeat.
+ * sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
+ Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
+
+2000-04-04 Alan Modra <alan@linuxcare.com.au>
+
+ * po/opcodes.pot: Regenerate.
+
+ * Makefile.am (MKDEP): Use gcc -MM rather than mkdep.
+ (DEP): Quote when passing vars to sub-make. Add warning message
+ to end.
+ (DEP1): Rewrite for "gcc -MM".
+ (CLEANFILES): Add DEP2.
+ Update dependencies.
+ * Makefile.in: Regenerate.
+
+2000-04-03 Denis Chertykov <denisc@overta.ru>
+
+ * avr-dis.c: Syntax cleanup.
+ (add0fff): Print the pc relative address as a signed number.
+ (add03f8): Likewise.
+
+2000-04-01 Ian Lance Taylor <ian@zembu.com>
+
+ * disassemble.c (disassembler_usage): Don't use a prototype. Mark
+ the parameter ATTRIBUTE_UNUSED.
+ * ppc-opc.c: Add ATTRIBUTE_UNUSED as needed.
+
+2000-04-01 Alexandre Oliva <aoliva@redhat.com>
+
+ * m10300-opc.c: SP-based offsets are always unsigned.
+
+2000-03-29 Thomas de Lellis <tdel@windriver.com>
+
+ * arm-opc.h (thumb_opcodes): Disassemble 0xde.. to "bal"
+ [branch always] instead of "undefined".
+
+2000-03-27 Nick Clifton <nickc@redhat.com>
+
+ * d30v-opc.c (d30v_format_table): Move SHORT_AR to end of list of
+ short instructions, from end of list of long instructions.
+
+2000-03-27 Ian Lance Taylor <ian@zembu.com>
+
+ * Makefile.am (CFILES): Add avr-dis.c.
+ (ALL_MACHINES): Add avr-dis.lo.
+
+2000-03-27 Alan Modra <alan@linuxcare.com>
+
+ * avr-dis.c (add0fff, add03f8): Don't use structure bitfields to
+ truncate integers.
+ (print_insn_avr): Call function via pointer in K&R compatible way.
+ (dispLDD, regPP, reg50, reg104, reg40, reg20w, lit404, lit204,
+ add0fff, add03f8): Convert to old style function declaration and
+ add prototype.
+ (avrdis_opcode): Add prototype.
+
+2000-03-27 Denis Chertykov <denisc@overta.ru>
+
+ * avr-dis.c: New file. AVR disassembler.
+ * configure.in (bfd_avr_arch): New architecture support.
+ * disassemble.c: Likewise.
+ * configure: Regenerate.
+
+2000-03-06 J"oern Rennecke <amylaar@redhat.com>
+
+ * sh-opc.h (sh_table): ldre and ldrs have a *signed* displacement.
+
+2000-03-02 J"orn Rennecke <amylaar@redhat.co.uk>
+
+ * d30v-dis.c (print_insn): Remove d*i hacks. Use per-operand
+ flag to determine if operand is pc-relative.
+ * d30v-opc.c:
+ (d30v_format_table):
+ (REL6S3): Renamed from IMM6S3.
+ Added flag OPERAND_PCREL.
+ (REL12S3, REL18S3, REL32): Split from IMM12S3, IMM18S3, REL32, with
+ added flag OPERAND_PCREL.
+ (IMM12S3U): Replaced with REL12S3.
+ (SHORT_D2, LONG_D): Delay target is pc-relative.
+ (SHORT_B2r, SHORT_B3r, SHORT_B3br, SHORT_D2r, LONG_Ur, LONG_2r):
+ Split from SHORT_B2, SHORT_D2, SHORT_B3b, SHORT_D2, LONG_U, LONG_2r,
+ using the REL* operands.
+ (LONG_2br, LONG_Dr): Likewise, from LONG_2b, LONG_D.
+ (SHORT_D1r, SHORT_D2Br, LONG_Dbr): Renamed from SHORT_D1, SHORT_D2B,
+ LONG_Db, using REL* operands.
+ (SHORT_U, SHORT_A5S): Removed stray alternatives.
+ (d30v_opcode_table): Use new *r formats.
+
+2000-02-28 Nick Clifton <nickc@redhat.com>
+
+ * m32r-desc.c (m32r_cgen_cpu_open): Replace 'flags' with
+ 'signed_overflow_ok_p'.
+
+2000-02-27 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
+ name of the libtool directory.
+ * Makefile.in: Rebuild.
+
+2000-02-24 Nick Clifton <nickc@redhat.com>
+
+ * cgen-opc.c (cgen_set_signed_overflow_ok): New function.
+ (cgen_clear_signed_overflow_ok): New function.
+ (cgen_signed_overflow_ok_p): New function.
+
+2000-02-23 Andrew Haley <aph@redhat.com>
+
+ * m32r-asm.c, m32r-desc.c, m32r-desc.h, m32r-dis.c,
+ m32r-ibld.c, m32r-opc.h: Rebuild.
+
+2000-02-23 Linas Vepstas <linas@linas.org>
+
+ * i370-dis.c, i370-opc.c: New.
+
+ * disassemble.c (ARCH_i370): Define.
+ (disassembler): Handle it.
+
+ * Makefile.am: Add support for Linux/IBM 370.
+ * configure.in: Likewise.
+
+ * Makefile.in: Regenerate.
+ * configure: Likewise.
+
+2000-02-22 Chandra Chavva <cchavva@redhat.com>
+
+ * d30v-opc.c (d30v_opcode_tab) : Added FLAG_NOT_WITH_ADDSUBppp to
+ ST2H, STB, STH, STHH, STW and ST2H opcodes to prohibit parallel
+ procedure.
+
+2000-02-22 Andrew Haley <aph@redhat.com>
+
+ * mips-dis.c (_print_insn_mips): New arg for OPCODE_IS_MEMBER:
+ force gp32 to zero.
+ * mips-opc.c (G6): New define.
+ (mips_builtin_op): Add "move" definition for -gp32.
+
+2000-02-22 Ian Lance Taylor <ian@zembu.com>
+
+ From Grant Erickson <gerickso@Brocade.COM>:
+ * ppc-opc.c: Correct dcread--it takes 3 arguments, not 2.
+
+2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * dis-buf.c (buffer_read_memory): Change `length' param and all int
+ vars to unsigned.
+
+2000-02-17 J"orn Rennecke <amylaar@redhat.co.uk>
+
+ * sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
+ (print_insn_ppi): Likewise.
+ (print_insn_shx): Use info->mach to select appropriate insn set.
+ Add support for sh-dsp. Remove FD_REG_N support.
+ * sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
+ (sh_arg_type): Likewise. Remove FD_REG_N.
+ (sh_dsp_reg_nums): New enum.
+ (arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
+ (arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
+ (arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
+ (arch_sh3_dsp_up): Likewise.
+ (sh_opcode_info): New field: arch.
+ (sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
+ D_REG_N. Fill in arch field. Add sh-dsp insns.
+
+2000-02-14 Fernando Nasser <fnasser@totem.to.redhat.com>
+
+ * arm-dis.c: Change flavor name from atpcs-special to
+ special-atpcs to prevent name conflict in gdb.
+ (get_arm_regname_num_options, set_arm_regname_option,
+ get_arm_regnames): New functions. API to access the several
+ flavor of register names. Note: Used by gdb.
+ (print_insn_thumb): Use the register name entry from the currently
+ selected flavor for LR and PC.
+
+2000-02-10 Nick Clifton <nickc@redhat.com>
+
+ * mcore-opc.h (enum mcore_opclass): Add MULSH and OPSR
+ classes.
+ (mcore_table): Add "idly4", "psrclr", "psrset", "mulsh" and
+ "mulsh.h" instructions.
+ * mcore-dis.c (imsk array): Add masks for MULSH and OPSR
+ classes.
+ (print_insn_mcore): Add support for little endian targets.
+ Add support for MULSH and OPSR classes.
+
+2000-02-07 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c (parse_arm_diassembler_option): Rename again.
+ Previous delat did not take.
+
+2000-02-03 Timothy Wall <twall@redhat.com>
+
+ * dis-buf.c (buffer_read_memory): Use octets_per_byte field
+ to adjust target address bounds checking and calculate the
+ appropriate octet offset into data.
+
+2000-01-27 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c: (parse_disassembler_option): Rename to
+ parse_arm_disassembler_option and allow to be exported.
+
+ * disassemble.c (disassembler_usage): New function: Print out any
+ target specific disassembler options.
+ Call arm_disassembler_options() if the ARM architecture is being
+ supported.
+
+ * arm-dis.c (NUM_ELEM): Define this macro if not already
+ defined.
+ (arm_regname): New struct type for ARM register names.
+ (arm_toggle_regnames): Delete.
+ (parse_disassembler_option): Use register name structure.
+ (print_insn): New function: Combines duplicate code found in
+ print_insn_big_arm and print_insn_little_arm.
+ (print_insn_big_arm): Call print_insn.
+ (print_insn_little_arm): Call print_insn.
+ (print_arm_disassembler_options): Display list of supported,
+ ARM specific disassembler options.
+
+2000-01-27 Thomas de Lellis <tdel@windriver.com>
+
+ * arm-dis.c (printf_insn_big_arm): Treat ELF symbols with the
+ ARM_STT_16BIT flag as Thumb code symbols.
+
+ * arm-dis.c (printf_insn_little_arm): Ditto.
+
+2000-01-25 Thomas de Lellis <tdel@windriver.com>
+
+ * arm-dis.c (printf_insn_thumb): Prevent double dumping
+ of raw thumb instructions.
+
+2000-01-20 Nick Clifton <nickc@redhat.com>
+
+ * mcore-opc.h (mcore_table): Add "add" as an alias for "addu".
+
+2000-01-03 Nick Clifton <nickc@cygnus.com>
+
+ * arm-dis.c (streq): New macro.
+ (strneq): New macro.
+ (force_thumb): ew local variable.
+ (parse_disassembler_option): New function: Parse a single, ARM
+ specific disassembler command line switch.
+ (parse_disassembler_option): Call parse_disassembler_option to
+ parse individual command line switches.
+ (print_insn_big_arm): Check force_thumb.
+ (print_insn_little_arm): Check force_thumb.
+
+For older changes see ChangeLog-9899
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/opcodes/ChangeLog-0203 b/opcodes/ChangeLog-0203
new file mode 100644
index 00000000000..25ed8b55868
--- /dev/null
+++ b/opcodes/ChangeLog-0203
@@ -0,0 +1,2110 @@
+2003-12-15 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c (intr_names): Removed.
+ (print_intr, print_flags): New functions.
+ (unparse_instr): Use new functions.
+
+2003-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * m32r-opc.c: Regenerate.
+
+2003-12-14 Mark Mitchell <mark@codesourcery.com>
+
+ * arm-opc.h (arm_opcodes): Put V6 instructions before XScale
+ instructions.
+
+2003-12-13 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix-opc.c (mmix_opcodes): Use GO_INSN_BYTE, PUSHGO_INSN_BYTE,
+ SETL_INSN_BYTE, INCH_INSN_BYTE, INCMH_INSN_BYTE, INCML_INSN_BYTE
+ and SWYM_INSN_BYTE instead of raw numbers.
+
+2003-12-10 Zack Weinberg <zack@codesourcery.com>
+
+ * ppc-opc.c (MO): Make optional.
+ (RAO, RSO, SHO): New optional forms of RA, RS, SH operands.
+ (tlbwe): Accept for both PPC403 and BOOKE. Make all operands optional.
+
+2003-12-05 Ricardo Anguiano <anguiano@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
+ Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-dis.c (print_arm_insn): Add 'W' macro.
+ * arm-opc.h (arm_opcodes): Add V6 instructions.
+ (thumb_opcodes): Likewise.
+
+2003-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * openrisc-asm.c: Regenerate.
+ * pj-opc.c: Update copyright date.
+
+2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * m32r-asm.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-desc.h: Regenerate.
+ * m32r-dis.c: Regenerate.
+ * m32r-ibld.c: Regenerate.
+ * m32r-opc.c: Regenerate.
+ * m32r-opc.h: Regenerate.
+ * m32r-opinst.c: Regenerate.
+
+2003-12-02 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-opc.h: Add support for sh4a and no-fpu variants.
+ * sh-dis.c: Ditto.
+
+2003-12-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * alpha-opc.c: Remove ARGSUSED.
+ * i370-opc.c: Likewise.
+ * ppc-opc.c: Likewise.
+
+2003-12-02 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-11-28 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c: Convert to ISO C90.
+ * z8kgen.c: Convert to ISO C90.
+ (opt): Move long opcode for "ldb rdb,imm8" after short one, now
+ the short one is created when assembling.
+ * z8k-opc.h: Regenerate with new z8kgen.c.
+
+2003-11-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * h8300-dis.c (print_colon_thingie): Remove.
+
+2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * mips-opc.c (mips_builtin_opcodes): Handle new macros: "lca" and
+ "dlca".
+
+2003-11-14 Nick Clifton <nickc@redhat.com>
+
+ * dis-init.c (init_disassemble_info): Initialise
+ symbol_is_valid field.
+ * dis-buf.c (generic_symbol_is_valid): New function. Always
+ returns TRUE.
+ * arm-dis.c (arm_symbol_is_valid): New function. Return FALSE
+ for ARM ELF mapping symbols.
+ * disassemble.c (disassemble_init_for_target): Set
+ symbol_is_valid field to arm_symbol_is_valid of the target is
+ an ARM.
+
+2003-11-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * m68k-opc.c (m68k_opcodes): Reorder "fmovel".
+
+2003-11-03 Daniel Jacobowitz <drow@mvista.com>
+
+ * arm-dis.c (print_arm_insn): Print "-" after "#".
+
+2003-10-30 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ * alpha-opc.c: Add support for a second argument to RPCC.
+
+2003-10-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-dis.c: Convert to ISO C90 prototypes.
+
+2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
+ Bernardo Innocenti <bernie@develer.com>
+
+ * m68k-dis.c: Add MCFv4/MCF5528x support.
+ * m68k-opc.c: Likewise.
+
+2003-10-10 Dave Brolley <brolley@redhat.com>
+
+ * frv-asm.c,frv-desc.c,frv-opc.c: Regenerated.
+
+2003-10-08 Dave Brolley <brolley@redhat.com>
+
+ * frv-desc.[ch], frv-opc.[ch]: Regenerated.
+
+2003-09-30 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-dis.c (fetch_data): Remove numBytes parameter.
+ (print_insn_xtensa): Fix call to fetch_data.
+
+2003-09-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_arch_choices): Add entry for "mips64r2"
+ (print_insn_args): Add handing for +E, +F, +G, and +H.
+ * mips-opc.c (I65): New define for MIPS64r2.
+ (mips_builtin_opcodes): Add "dext", "dextm", "dextu", "dins",
+ "dinsm", "dinsu", "drotl", "drotr", "drotr32", "drotrv", "dsbh",
+ and "dshd" for MIPS64r2. Adjust "dror", "dror32", and "drorv" to
+ be supported on MIPS64r2.
+
+2003-09-24 Dave Brolley <brolley@redhat.com>
+
+ * frv-desc.c, frv-opc.c, frv-opc.h: Regenerated.
+
+2003-09-14 Andreas Jaeger <aj@suse.de>
+
+ * i386-dis.c: Convert to ISO C90 prototypes.
+ * i370-dis.c: Likewise.
+ * i370-opc.c: Likewiwse.
+ * i960-dis.c: Likewise.
+ * ia64-opc.c: Likewise.
+
+2003-09-09 Dave Brolley <brolley@redhat.com>
+
+ * frv-desc.c: Regenerated.
+
+2003-09-08 Dave Brolley <brolley@redhat.com>
+
+ On behalf of Doug Evans <dje@sebabeach.org>
+ * Makefile.am (run-cgen): Pass new args archfile and opcfile
+ to cgen.sh.
+ (stamp-ip2k,stamp-m32r,stamp-fr30,stamp-frv,stamp-openrisc,
+ stamp-iq2000,stamp-xstormy16): Pass paths of .cpu and .opc files
+ to cgen.sh.
+ (stamp-frv): Delete hardcoded path spec workaround.
+ * Makefile.in: Regenerate.
+ * cgen.sh: New args archfile and opcfile. Pass on to cgen.
+
+2003-09-04 Nick Clifton <nickc@redhat.com>
+
+ * v850-dis.c (disassemble): Accept bfd_mach_v850e1.
+ * v850-opc.c (v850_opcodes): Add DBTRAP and DBRET instructions.
+
+2003-09-04 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-dis.c (struct dis_private): New.
+ (powerpc_dialect): Make static. Accept -Many in addition to existing
+ options. Save dialect in dis_private.
+ (print_insn_big_powerpc): Retrieve dialect from dis_private.
+ (print_insn_little_powerpc): Likewise.
+ (print_insn_powerpc): Call powpc_dialect here. Remove unnecessary
+ efs/altivec check. Try harder to disassemble if given -Many.
+ * ppc-opc.c (insert_fxm): Expand comment.
+ (PPC, PPCCOM, PPC32, PPC64, PPCVEC): Remove PPC_OPCODE_ANY.
+ (POWER, POWER2, PPCPWR2, POWER32, COM, COM32, M601, PWRCOM): Likewise.
+ (POWER4): Remove PPCCOM.
+ (PPCONLY): Don't define. Update all occurrences to PPC.
+
+2003-09-03 Andrew Cagney <cagney@redhat.com>
+
+ * dis-init.c (init_disassemble_info): New file and function.
+ * Makefile.am (CFILES): Add "dis-init.c".
+ (libopcodes_la_SOURCES): Add "dis-init.c".
+ (dis-init.lo): Specify dependencies.
+ * Makefile.in: Regenerate.
+
+2003-09-03 Dave Brolley <brolley@redhat.com>
+
+ * frv-*: Regenerated.
+
+2003-09-02 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (powerpc_opcodes): Combine identical PPC403/BOOKE entries.
+ Move duplicate mnemonic entries together. Use RS instead of RT on
+ all mt*.
+ * ppc-dis.c: Convert to ISO C.
+
+2003-08-29 Dave Brolley <brolley@redhat.com>
+
+ * Makefile.am (stamp-frv): Copy frv.cpu and frv.opc from
+ $(srcdir)/../cpu temporarily when regenerating source files.
+ * Makefile.in: Regenerated.
+
+2003-08-19 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c (print_insn_arm: case 'A'): Add code to
+ disassemble unindexed form of Addressing Mode 5.
+
+2003-08-19 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (PPC440): Define.
+ (powerpc_opcodes): Allow mac*, mul*, nmac*, dccci, dcread, iccci,
+ icread instructions when PPC440. Add dlmzb instruction.
+
+2003-08-14 Alan Modra <amodra@bigpond.net.au>
+
+ * dep-in.sed: Remove libintl.h.
+ * Makefile.am (POTFILES.in): Unset LC_COLLATE.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-08-07 Michael Meissner <gnu@the-meissners.org>
+
+ * cgen-asm.c (hash_insn_array): Remove PARAMS macro.
+ (hash_insn_list): Ditto.
+ (build_asm_hash_table): Ditto.
+ (cgen_set_parse_operand_fn): Prototype definition.
+ (cgen_init_parse_operand): Ditto.
+ (hash_insn_array): Ditto.
+ (hash_insn_list): Ditto.
+ (build_asm_hash_table): Ditto.
+ (cgen_asm_lookup_insn): Ditto.
+ (cgen_parse_keyword): Ditto.
+ (cgen_parse_signed_integer): Ditto.
+ (cgen_parse_unsigned_integer): Ditto.
+ (cgen_parse_address): Ditto.
+ (cgen_validate_signed_integer): Ditto.
+ (cgen_validate_unsigned_integer): Ditto.
+
+ * cgen-opc.c (hash_keyword_name): Remove PARAMS macro.
+ (hash_keyword_value): Ditto.
+ (build_keyword_hash_tables): Ditto.
+ (cgen_keyword_lookup_name): Prototype definition.
+ (cgen_keyword_lookup_value): Ditto.
+ (cgen_keyword_add): Ditto.
+ (cgen_keyword_search_init): Ditto.
+ (cgen_keyword_search_next): Ditto.
+ (hash_keyword_name): Ditto.
+ (hash_keyword_value): Ditto.
+ (build_keyword_hash_tables): Ditto.
+ (cgen_hw_lookup_by_name): Ditto.
+ (cgen_hw_lookup_by_num): Ditto.
+ (cgen_operand_lookup_by_name): Ditto.
+ (cgen_operand_lookup_by_num): Ditto.
+ (cgen_insn_count): Ditto.
+ (cgen_macro_insn_count): Ditto.
+ (cgen_get_insn_value): Ditto.
+ (cgen_put_insn_value): Ditto.
+ (cgen_lookup_insn): Ditto.
+ (cgen_get_insn_operands): Ditto.
+ (cgen_lookup_get_insn_operands): Ditto.
+ (cgen_set_signed_overflow_ok): Ditto.
+ (cgen_clear_signed_overflow_ok): Ditto.
+ (cgen_signed_overflow_ok_p): Ditto.
+
+ * cgen-dis.c (hash_insn_array): Remove PARAMS macro.
+ (hash_insn_list): Ditto.
+ (build_dis_hash_table): Ditto.
+ (count_decodable_bits): Ditto.
+ (add_insn_to_hash_chain): Ditto.
+ (count_decodable_bits): Prototype definition.
+ (add_insn_to_hash_chain): Ditto.
+ (hash_insn_array): Ditto.
+ (hash_insn_list): Ditto.
+ (build_dis_hash_table): Ditto.
+ (cgen_dis_lookup_insn): Ditto.
+
+ * cgen-asm.in (parse_insn_normal): Remove PARAMS macro.
+ (@arch@_cgen_build_insn_regex): Prototype definition.
+ (parse_insn_normal): Ditto.
+ (@arch@_cgen_assemble_insn): Ditto.
+ (@arch@_cgen_asm_hash_keywords): Ditto.
+
+ * cgen-dis.in (print_normal): Remove PARAMS macro. Use void *
+ instead of PTR.
+ (print_address): Ditto.
+ (print_keyword): Ditto.
+ (print_insn_normal): Ditto.
+ (print_insn): Ditto.
+ (default_print_insn): Ditto.
+ (read_insn): Ditto.
+ (print_normal): Prototype definition. Use void * instead of PTR.
+ (print_address): Ditto.
+ (print_keyword): Ditto.
+ (print_insn_normal): Ditto.
+ (read_insn): Ditto.
+ (print_insn): Ditto.
+ (default_print_insn): Ditto.
+ (print_insn_@arch@): Ditto.
+
+ * cgen-ibld.in (insert_normal): Remove PARAMS macro.
+ (insn_insn_normal): Ditto.
+ (extract_normal): Ditto.
+ (extract_insn_normal): Ditto.
+ (put_insn_int_value): Ditto.
+ (insert_1): Ditto.
+ (fill_cache): Ditto.
+ (extract_1): Ditto.
+ (insert_1): Prototype definition.
+ (insert_normal): Ditto.
+ (insert_insn_normal): Ditto.
+ (put_insn_int_value): Ditto.
+ (fill_cache): Ditto.
+ (extract_1): Ditto.
+ (extract_normal): Ditto.
+ (extract_insn_normal): Ditto.
+
+ * fr30-asm.c: Regenerate.
+ * fr30-dis.c: Ditto.
+ * fr30-ibld.c: Ditto.
+ * frv-asm.c: Ditto.
+ * frv-dis.c: Ditto.
+ * frv-ibld.c: Ditto.
+ * ip2k-asm.c: Ditto.
+ * ip2k-dis.c: Ditto.
+ * ip2k-ibld.c: Ditto.
+ * iq2000-asm.c: Ditto.
+ * iq2000-dis.c: Ditto.
+ * iq2000-ibld.c: Ditto.
+ * m32r-asm.c: Ditto.
+ * m32r-dis.c: Ditto.
+ * m32r-ibld.c: Ditto.
+ * openrisc-asm.c: Ditto.
+ * openrisc-dis.c: Ditto.
+ * openrisc-ibld.c: Ditto.
+ * xstormy16-asm.c: Ditto.
+ * xstormy16-dis.c: Ditto.
+ * xstormy16-ibld.c: Ditto.
+
+2003-08-06 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2003-08-05 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add nl.
+ * configure: Regenerate.
+ * po/nl.po: New Dutch translation.
+
+2003-07-30 Jason Eckhardt <jle@rice.edu>
+
+ * i860-dis.c: Convert to ISO C90. Remove superflous prototypes.
+
+2003-07-30 Nick Clifton <nickc@redhat.com>
+
+ * po/ro.po: Updated Romanian translation.
+
+2003-07-29 Jakub Jelinek <jakub@redhat.com>
+
+ * ppc-opc.c (insert_mbe, extract_mbe): Shift 1L instead of 1 up.
+
+2003-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2003-07-18 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c (parse_arm_disassembler_option): Do not expect
+ option string to be NUL terminated.
+ (parse_disassembler_options): Allow options to be space or
+ comma separated.
+
+2003-07-17 Nick Clifton <nickc@redhat.com>
+
+ * po/es.po: New Spanish translation.
+ * po/sv.po: New Swedish translation.
+ * po/opcodes.pot: Regenerate.
+
+2003-07-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * mips-dis.c (mips_arch_choices): Add rm7000 and rm9000 entries.
+
+2003-07-14 Nick Clifton <nickc@redhat.com>
+
+ * po/tr.po: Update with latest version.
+ * po/POTFILES.in: Regenerate.
+ * Makefile.in: Regenerate.
+
+2003-07-11 Alan Modra <amodra@bigpond.net.au>
+
+ * po/opcodes.pot: Regenerate.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2000-05-25 Alexandre Oliva <aoliva@cygnus.com>
+ * m10300-dis.c (disassemble): Negate negative accumulator's shift.
+ 2000-05-24 Alexandre Oliva <aoliva@cygnus.com>
+ * m10300-dis.c (disassemble, case FSREG, FDREG): Don't assume
+ 32-bit longs when sign-extending operands.
+ 2000-04-20 Alexandre Oliva <aoliva@cygnus.com>
+ * m10300-opc.c: Remove MN10300_OPERAND_RELAX from all FSREGs.
+ * m10300-dis.c (HAVE_AM33_2): Define.
+ (disassemble): Use it.
+ (HAVE_AM33): Redefine.
+ (print_insn_mn10300): Fix mask for 5-byte extended insns.
+ 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
+ * m10300-opc.c: Renamed AM332 to AM33_2.
+ 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
+ * m10300-opc.c: Defined AM33 2.0 register operands. Added support
+ for AM33 2.0 `imm8,(abs16)' addressing mode for btst, bset and
+ bclr. Implemented `fbCC', `flCC', `dcpf' and all FP insns.
+ * m10300-dis.c (print_insn_mn10300): Recognize 5byte extended
+ insn code of AM33 2.0.
+ (disassemble): Recognize FMT_D3. Print out FP register names.
+
+2003-07-09 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (set_default_mips_dis_options): Get BFD from
+ the disassembler_info's section, rather than from the
+ disassembler_info's symbols pointer.
+
+2003-07-07 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c: Remove NULL pointer checks. Formatting. Remove
+ extraneous ATTRIBUTE_UNUSED.
+ * ppc-dis.c (print_insn_powerpc): Always pass a valid address to
+ operand->extract.
+
+2003-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c: Convert to C90, removing unnecessary prototypes and
+ casts. Formatting.
+
+ * ppc-opc.c: Remove PARAMS from prototypes.
+ (FXM4): Define.
+ (insert_fxm): New function, used by both FXM and FXM4.
+ (extract_fxm): Likewise.
+ (XFXFXM_MASK): Remove 1 << 20 term.
+ (powerpc_opcodes): Add Power4 version of "mfcr". Simplify "mtcr" mask.
+
+2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-dis.c (s390_extract_operand): Add support for long displacements.
+ * s390-mkopc.c (s390_opcode_cpu_val): Add support for cpu type z990.
+ * s390-opc.c (D20_20): Add define for 20 bit displacements.
+ (INSTR_RRF_R0RR, INSTR_RSL_R0RD, INSTR_RSY_RRRD, INSTR_RSY_RURD,
+ INSTR_RSY_AARD, INSTR_RXY_RRRD, INSTR_RXY_FRRD, INSTR_SIY_URD): Add
+ new instruction formats.
+ (MASK_RRF_R0RR, MASK_RSL_R0RD, MASK_RSY_RRRD, MASK_RSY_RURD,
+ MASK_RSY_AARD, MASK_RXY_RRRD, MASK_RXY_FRRD, MASK_SIY_URD): Likewise.
+ (s390_opformats): Likewise.
+ * s390-opc.txt: Add new instructions for cpu type z990. Add missing
+ hfp instructions. Add missing instructions pgin, pgout and xsch.
+
+2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (PNI_Fixup): New. Fix up "mwait" and "monitor" in
+ Intel Precott New Instructions.
+ (PREGRP27): New. Added for "addsubpd" and "addsubps".
+ (PREGRP28): New. Added for "haddpd" and "haddps".
+ (PREGRP29): New. Added for "hsubpd" and "hsubps".
+ (PREGRP30): New. Added for "movsldup" and "movddup".
+ (PREGRP31): New. Added for "movshdup" and "movhpd".
+ (PREGRP32): New. Added for "lddqu".
+ (dis386_twobyte): Use PREGRP30 to replace the "movlpX" entry.
+ Use PREGRP31 to replace the "movhpX" entry. Use PREGRP28 for
+ entry 0x7c. Use PREGRP29 for entry 0x7d. Use PREGRP27 for
+ entry 0xd0. Use PREGRP32 for entry 0xf0.
+ (twobyte_has_modrm): Updated.
+ (twobyte_uses_SSE_prefix): Likewise.
+ (grps): Use PNI_Fixup in the "sidtQ" entry.
+ (prefix_user_table): Add PREGRP27, PREGRP28, PREGRP29, PREGRP30,
+ PREGRP31 and PREGRP32.
+ (float_mem): Use "fisttp{l||l|}" in entry 1 in opcode 0xdb.
+ Use "fisttpll" in entry 1 in opcode 0xdd.
+ Use "fisttp" in entry 1 in opcode 0xdf.
+
+2003-06-19 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c (instr_data_s): Change tabl_index from long to int.
+ (print_insn_z8k): Correctly check return value from
+ z8k_lookup_instr call.
+ (unparse_instr): Handle CLASS_IRO case.
+ * z8kgen.c: Fix function definitions. Fix formatting.
+ (opt): Add brk opcode alias for non-simulator breakpoint. Add
+ missing and fix existing in/out and sin/sout opcode definitions.
+ (args): "@ri", "@ro" - add CLASS_IRO register usage for in/out
+ opcodes.
+ (internal): Check p->flags for non-zero before dereferencing it.
+ (gas): Add CLASS_IRO line. Insert new OPC_xxx lines for the added
+ opcodes and renumber the remaining lines repectively.
+ (main): Remove "-d" command line switch.
+ * z8k-opc.h: Regenerate with new z8kgen.c.
+
+2003-06-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * po/Make-in (DESTDIR): New.
+ (install-data-yes): Support $(DESTDIR).
+ (uninstall): Likewise.
+
+2003-06-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2003-06-10 Doug Evans <dje@sebabeach.org>
+
+ * cgen-asm.in (@arch@_cgen_assemble_insn): CGEN_INSN_RELAX renamed to
+ CGEN_INSN_RELAXED.
+ * fr30-asm.c,fr30-desc.c,fr30-desc.h: Regenerate.
+ * frv-asm.c,frv-desc.c,frv-desc.h: Regenerate.
+ * ip2k-asm.c,ip2k-desc.c,ip2k-desc.h: Regenerate.
+ * iq2000-asm.c,iq2000-desc.c,iq2000-desc.h: Regenerate.
+ * m32r-asm.c,m32r-desc.c,m32r-desc.h,m32r-opc.c: Regenerate.
+ * openrisc-asm.c,openrisc-desc.c,openrisc-desc.h: Regenerate.
+ * xstormy16-asm.c,xstormy16-desc.c,xstormy16-desc.h: Regenerate.
+
+2003-06-10 Gary Hade <garyhade@us.ibm.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (DQ, RAQ, RSQ, RTQ): Define.
+ (insert_dq, extract_dq, insert_raq, insert_rtq, insert_rsq): New.
+ (powerpc_opcodes): Add "attn", "lq" and "stq".
+
+2003-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * h8300-dis.c (bfd_h8_disassemble): Don't print brackets round
+ rts/l and rte/l register lists.
+
+2003-06-03 Nick Clifton <nickc@redhat.com>
+
+ * frv-desc.c: Regenerate.
+ * frv-opc.c: Regenerate.
+ * frv-asm.c: Regenerate.
+ * frv-desc.h: Regenerate.
+ * frv-dis.c: Regenerate.
+ * frv-ibld.c: Regenerate.
+ * frv-opc.h: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2003-06-03 Michael Snyder <msnyder@redhat.com>
+ and Bernd Schmidt <bernds@redhat.com>
+ and Alexandre Oliva <aoliva@redhat.com>
+
+ * disassemble.c (disassembler): Add support for h8300sx.
+ * h8300-dis.c: Ditto.
+
+2003-06-03 Nick Clifton <nickc@redhat.com>
+
+ * frv-desc.c: Regenerate.
+ * frv-opc.c: Regenerate.
+
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * iq2000-asm.c: Regenerate.
+ * iq2000-desc.c: Regenerate.
+ * iq2000-desc.h: Regenerate.
+ * iq2000-dis.c: Regenerate.
+ * iq2000-ibld.c: Regenerate.
+ * iq2000-opc.c: Regenerate.
+ * iq2000-opc.h: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2003-05-23 Jason Eckhardt <jle@rice.edu>
+
+ * i860-dis.c (crnames): Add bear, ccr, p0, p1, p2, p3.
+ (print_insn_i860): Grab 4 bits of the control register field
+ instead of 3.
+
+2003-05-18 Jason Eckhardt <jle@rice.edu>
+
+ * i860-dis.c (print_insn_i860): Instruction shrd has a dual bit,
+ print it.
+
+2003-05-17 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.am (libopcodes_la_LIBADD): Add libbfd.la.
+ (libopcodes_la_DEPENDENCIES): Add libbfd.la.
+ * Makefile.in: Regenerated.
+
+2003-05-16 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add Romanian translation.
+ * configure: Regenerate.
+ * po/ro.po: New file: Romanian translation.
+
+2003-05-12 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * disassemble.c (disassembler): Add support for h8300hn and h8300sn.
+
+2003-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c (print_insn): Test intel_syntax against (char) -1 in
+ case char is unsigned.
+
+2003-05-01 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c (z8k_lookup_instr): Optimize FETCH_DATA calls.
+ (unpack_instr): Fix representation of segmented addresses.
+ (intr_name): Added, contains names of the parameters to the EI/DI
+ instructions.
+ (unparse_instr): Fix display of EI/DI parameters.
+
+2003-04-22 Doug Evans <dje@sebabeach.org>
+
+ * fr30-desc.c,fr30-desc.h,fr30-opc.c,fr30-opc.h: Regenerate.
+ * frv-desc.c,frv-desc.h,frv-opc.c,frv-opc.h: Regenerate.
+ * ip2k-desc.c,ip2k-desc.h,ip2k-opc.c,ip2k-opc.h: Regenerate.
+ * m32r-desc.c,m32r-desc.h,m32r-opc.c,m32r-opc.h: Regenerate.
+ * m32r-opinst.c: Regenerate.
+ * openrisc-desc.c,openrisc-desc.h,openrisc-opc.c,openrisc-opc.h: Regenerate.
+ * xstormy16-desc.c,xstormy16-desc.h,xstormy16-opc.c,xstormy16-opc.h: Regenerate.
+
+2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+ * h8500-opc.c: Replace occurrances of 'Hitachi' with 'Renesas'.
+
+2003-04-07 James E Wilson <wilson@tuliptree.org>
+
+ * ia64-ic.tbl (fr-readers): Add mem-writers-fp.
+ * ia64-asmtab.c: Regenerate.
+
+2003-04-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * mips-dis.c (mips_gpr_names_newabi): Reverted previous patch.
+
+2003-04-07 Alexandre Oliva <aoliva@redhat.com>
+
+ * mips-dis.c (mips_gpr_names_newabi): $12-$15 are named $t4-$t7.
+
+2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x-dis.c: Namespace cleanup. Replace s/c4x/tic4x and
+ s/c3x/tic3x/
+
+2003-04-01 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c: Remove presence of (r) and (tm) symbols.
+ * arm-opc.h: Remove presence of (r) and (tm) symbols.
+
+2003-03-25 Stan Cox <scox@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ Contribute support for Intel's iWMMXt chip - an ARM variant:
+
+ * arm-dis.c (regnames): Add iWMMXt register names.
+ (set_iwmmxt_regnames): New function.
+ (print_insn_arm): Handle iWMMXt formatters.
+ * arm-opc.h: Document iWMMXt formatters.
+ (arm_opcod): Add iWMMXt instructions.
+
+2003-03-22 Doug Evans <dje@sebabeach.org>
+
+ * i386-dis.c (dis386): Recognize icebp (0xf1).
+
+2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-dis.c (init_disasm): Rename S390_OPCODE_ESAME to
+ S390_OPCODE_ZARCH.
+ (print_insn_s390): Use new modes field of s390_opcodes.
+ * s390-mkopc.c (ARCHBITS_ESAONLY, ARCHBITS_ESA, ARCHBITS_ESAME): Remove.
+ (s390_opcode_mode_val, s390_opcode_cpu_val): New enums.
+ (struct op_struct): Remove archbits. Add mode_bits and min_cpu.
+ (insertOpcode): Replace archbits by min_cpu and mode_bits.
+ (dumpTable): Write mode_bits and min_cpu instead of archbits.
+ (main): Adapt to new format in s390-opcode.txt.
+ * s390-opc.c (s390_opformats): Replace archbits by min_cpu and
+ mode_bits.
+ * s390-opc.txt: Replace archbits by min_cpu and mode_bits.
+
+2003-03-17 Nick Clifton <nickc@redhat.com>
+
+ * ppc-opc.c: Fix formatting. Update copyright date.
+
+2003-03-14 Daniel Jacobowitz <drow@mvista.com>
+
+ * ppc-opc.c (powerpc_opcodes): Readd tlbre for PPC403.
+
+2003-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * hppa-dis.c: Formatting.
+
+2003-02-25 Matthew Wilcox <willy@debian.org>
+
+ * hppa-dis.c (print_insn_hppa): Implement fcnv instruction modifiers.
+
+ * hppa-dis.c (print_insn_hppa <2 bit space register>): Do not print
+ the space register when the value is zero.
+
+2003-02-23 Elias Athanasopoulos <elathan@phys.uoa.gr>
+
+ * mips-dis.c (print_mips_disassembler_options): Make 'i' unsigned,
+ use ARRAY_SIZE in loops.
+
+2003-02-12 Dave Brolley <brolley@redhat.com>
+
+ * fr30-desc.c: Regenerate.
+
+2003-02-06 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com>
+
+ * i386-dis.c (dq_mode, Edq): Define.
+ (dis386_twobyte): Correct movd operands.
+ (OP_E): Handle dq_mode case.
+
+2003-01-29 Henric Jungheim <henric@attbi.com>
+
+ * sparc-dis.c (print_insn_sparc): When examining values added in
+ to rs1, make sure that there are previous instructions.
+
+2003-01-23 Nick Clifton <nickc@redhat.com>
+
+ * Add sh2e support:
+
+ 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-dis.c (print_insn_shx): Handle bfd_mach_sh2e.
+ * sh-opc.h (arch_sh2e, arch_sh2e_up): New.
+ (arch_sh2_up): Added sh2e.
+ (sh_table): Replaced all occurrences of arch_sh3e_up with
+ arch_sh2e_up, except in fsqrt.
+
+2003-01-23 Alan Modra <amodra@bigpond.net.au>
+
+ * sh64-dis.c: Include elf32-sh64.h.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-01-17 Richard Henderson <rth@redhat.com>
+
+ * alpha-opc.c (alpha_opcodes): Add bugchk, rduniq, wruniq, gentrap
+ PAL entry points.
+
+2003-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2003-01-08 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (ALL_MACHINES): Add msp430-dis.lo.
+ * Makefile.in: Regenerate.
+
+2003-01-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (powerpc_macros <extrwi>): Accept a shift of 32.
+
+2002-01-02 Ben Elliston <bje@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * iq2000-asm.c: New file.
+ * iq2000-desc.c: Likewise.
+ * iq2000-desc.h: Likewise.
+ * iq2000-dis.c: Likewise.
+ * iq2000-ibld.c: Likewise.
+ * iq2000-opc.c: Likewise.
+ * iq2000-opc.h: Likewise.
+ * Makefile.am (HFILES): Add iq2000-desc.h, iq2000-opc.h.
+ (CFILES): Add iq2000-asm.c, iq2000-desc.c, iq2000-dis.c,
+ iq2000-ibld.c, iq2000-opc.c.
+ (ALL_MACHINES): Add iq2000-asm.lo, iq2000-desc.lo, iq2000-dis.lo,
+ iq2000-ibld.lo, iq2000-opc.lo.
+ (CLEANFILES): Add stamp-iq2000.
+ (IQ2000_DEPS): New macro.
+ (stamp-iq2000): New target.
+ * Makefile.in: Regenerate.
+ * configure.in: Handle bfd_iq2000_arch.
+ * configure: Regenerate.
+
+2003-01-02 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (print_insn_args): Use position extracted by "+A"
+ to calculate size for "+B". Redo code for "+C" so it shares
+ the same style as "+A" and "+B" now do.
+
+2003-01-02 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c: Update copyright years.
+ (print_insn_arg): Rename to...
+ (print_insn_args): This, returning void. Process the whole
+ string of args rather than a single one. Reindent.
+ (print_insn_mips): Update to match the above.
+
+2002-12-31 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Move "di" into the
+ right order alphabetically, and make all hex constants use
+ lower-case letters.
+
+2002-12-31 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_cp0sel_name): New structure.
+ (mips_cp0sel_names_mips3264, mips_cp0sel_names_mips3264r2)
+ (mips_cp0sel_names_sb1): New arrays.
+ (mips_arch_choice): New structure members "cp0sel_names" and
+ "cp0sel_names_len".
+ (mips_arch_choices): Add references to new cp0sel_names arrays
+ as appropriate, and make all existing entries reference
+ appropriate mips_XXX_names_numeric arrays rather than simply
+ using NULL.
+ (mips_cp0sel_names, mips_cp0sel_names_len): New variables.
+ (lookup_mips_cp0sel_name): New function.
+ (set_default_mips_dis_options): Set mips_cp0sel_names and
+ mips_cp0sel_names_len as appropriate. Remove now-unnecessary
+ checks for NULL register name arrays.
+ (parse_mips_dis_option): Likewise.
+ (print_insn_arg): Handle "+D" operand type.
+ * mips-opc.c (mips_builtin_opcodes): Add new "+D" variants
+ of mfc0, mtc0, dmfc0, and dmtc0 to print CP0+sel register
+ names symbolically.
+
+2002-12-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_cp0_names_mips3264r2, mips_hwr_names_numeric)
+ (mips_hwr_names_mips3264r2): New arrays.
+ (mips_arch_choice): New "hwr_names" member.
+ (mips_arch_choices): Adjust for structure change, and add a new
+ entry for "mips32r2" ISA.
+ (mips_hwr_names): New variable.
+ (set_default_mips_dis_options): Set mips_hwr_names.
+ (parse_mips_dis_option): New "hwr-names" option which sets
+ mips_hwr_names, and adjust "reg-names=ARCH" to set mips_hwr_names.
+ (print_insn_arg): Change return type to "int"
+ and use that to indicate number of characters consumed.
+ Add support for "+" operand extension character, "+A", "+B",
+ "+C", and "K" operands.
+ (print_insn_mips): Adjust for changes to print_insn_arg.
+ (print_mips_disassembler_options): Adjust for "hwr-names"
+ addition and "reg-names" change.
+ * mips-opc (I33): New define (shorthand for INSN_ISA32R2).
+ (mips_builtin_opcodes): Note that "nop" and "ssnop" are special
+ forms of "sll". Add new MIPS32 Release 2 instructions: ehb,
+ di, ei, ext, ins, jr.hb, jalr.hb, mfhc1, mfhc2, mthc1, mthc2,
+ rdhwr, rdpgpr, seb, seh, synci, wrpgpr, wsbh.
+ Note that hardware rotate instructions (ror, rorv) can be
+ used on MIPS32 Release 2, and add the official mnemonics
+ for them (rotr, rotrv) and the similar "rotl" mnemonic for
+ left-rotate.
+
+2002-12-30 Dmitry Diky <diwil@mail.ru>
+
+ * configure.in: Add msp430 target.
+ * configure: Regenerate.
+ * disassemble.c: Add entry for msp430 disassembly.
+ * msp430-dis.c: New file: msp430 disassembler.
+
+2002-12-27 Chris Demetriou <cgd@broadcom.com>
+
+ * disassemble.c (disassembler_usage): Add invocation of
+ print_mips_disassembler_options.
+ * mips-dis.c: Include libiberty.h.
+ (print_mips_disassembler_options, set_default_mips_dis_options)
+ (parse_mips_dis_option, parse_mips_dis_options, choose_abi_by_name)
+ (choose_arch_by_name, choose_arch_by_number): New functions.
+ (mips_abi_choice, mips_arch_choice): New structures.
+ (mips32_reg_names, mips64_reg_names, reg_names): Remove.
+ (mips_gpr_names_numeric, mips_gpr_names_oldabi)
+ (mips_gpr_names_newabi, mips_fpr_names_numeric)
+ (mips_fpr_names_32, mips_fpr_names_n32, mips_fpr_names_64)
+ (mips_cp0_names_numeric, mips_cp0_names_mips3264)
+ (mips_cp0_names_sb1, mips_abi_choices, mips_arch_choices)
+ (mips_processor, mips_isa, mips_gpr_names, mips_fpr_names)
+ (mips_cp0_names): New variables.
+ (print_insn_args): Use new variables to print GPR, FPR, and CP0
+ register names.
+ (mips_isa_type): Remove.
+ (print_insn_mips): Remove ISA and CPU setup since it is now done...
+ (_print_insn_mips): Here. Remove register setup code, and
+ call set_default_mips_dis_options and parse_mips_dis_options
+ instead.
+ (print_mips16_insn_arg): Use mips_gpr_names instead of mips32_names.
+
+2002-12-23 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2002-12-19 Nick Kelsey <nickk@ubicom.com>
+
+ * cgen-asm.c (cgen_parse_keyword): Added underscore to symbol character
+ check to fix false keyword trigger with names such as <keyword>_foo.
+
+2002-12-19 Doug Evans <dje@sebabeach.org>
+
+ * Makefile.am (CGEN_CPUS): New variable.
+ (run-cgen-all): New rule.
+ * Makefile.in: Regenerate.
+
+2002-12-18 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Remove one "ror" and two
+ "dror" entries, and reorder the remaining "dror" and "ror" entries.
+
+2002-12-16 DJ Delorie <dj@delorie.com>
+
+ * xstormy16-asm.c (parse_immediate16): Add prototype.
+
+2002-12-16 Andrew MacLeod <amacleod@redhat.com>
+
+ * xstormy16-asm.c: Regenerate.
+
+2002-12-16 Alan Modra <amodra@bigpond.net.au>
+
+ * ns32k-dis.c (print_insn_ns32k): Constify "d", remove register
+ keyword.
+
+2002-12-13 Alan Modra <amodra@bigpond.net.au>
+
+ * h8500-opc.h (h8500_table): Add missing initializers to quiet
+ warnings.
+ * pj-dis.c (print_insn_pj): Adjust for pj_opc_info_t change.
+ * pj-opc.c (pj_opc_info): Add braces around union initializer.
+ * z8kgen.c: Include "libiberty.h".
+ (opt, args, toks): Fix initializer warnings.
+ (chewname): Make "name" a char **. Return mnemonic trimmed of
+ operands.
+ (gas): Improve emitted "DO NOT EDIT" warning. Format emitted
+ opcode_entry_type, and make "nicename" and "name" const. Make
+ z8k_table const too. Formatting. Generate idx as gas needs it.
+ * z8k-opc.h: Regenerate.
+
+2002-12-08 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-dis.c (print_indexed_operand): Fix PC-relative address
+ for 9 and 16-bit PC-relative addressing mode.
+
+2002-12-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c: Delete evsabs, evsnabs, evsneg, evsadd, evssub,
+ evsmul, evsdiv, evscmpgt, evsgmplt, evststgt, evtstlt, evststeq,
+ evscfui, evscfsi, evscfuf, evscfsf, evsctui, evsctuiz, evsctsi,
+ evsctsiz, evsctuf, evsctsf, evmwhssfaa, evmwhssmaa, evmwhsmfaa,
+ evmwhsmiaa, evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian,
+ evmwhsmfan, evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa,
+ evmwhgsmfaa, evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan,
+ evmwhgsmian, evmwhgumian.
+ (mftb): Add to opcode table.
+ (mtspefscr): Change RT to RS in opcode table.
+
+2002-12-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c: Move mbar and msync up. Change mask for mbar and
+ msync.
+
+2002-12-04 David Mosberger <davidm@hpl.hp.com>
+
+ * ia64-opc-d.c (ia64_opcodes_d): Add "hint" instruction.
+ * ia64-opc-b.c: Add "hint.b" instruction.
+ * ia64-opc-f.c: Add "hint.f" instruction.
+ * ia64-opc-i.c: Add "hint.i" instruction.
+ * ia64-opc-m.c: Add "hint.m", "fc.i", "ld16", "st16", and
+ "cmp8xchg16" instructions.
+ * ia64-opc-x.c: Add "hint.x" instruction.
+
+ * ia64-opc.h (AR_CSD): New macro.
+
+ * ia64-ic.tbl: Update according to SDM2.1.
+ * ia64-raw.tbl: Ditto.
+ * ia64-waw.tbl: Ditto.
+
+ * ia64-gen.c (in_iclass): Handle "hint" like "nop".
+ (lookup_regindex): Recognize AR[FCR], AR[EFLAG], AR[CSD],
+ AR[SSD], AR[CFLG], AR[FSR], AR[FIR], and AR[FDR].
+ * ia64-asmtab.c: Regenerate.
+
+2002-11-25 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c: Remove evmwlssf, evmwlssfa, evmwlsmf, evmwlsmfa,
+ evmwlssfaaw, evmwlsmfaaw, evmwlssfanw, evmwlsfanw.
+
+2002-12-04 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c (PMRN): Remove.
+ (RA): Set to NB + 1.
+ (powerpc_opcodes): Change PMRN to SPR.
+ Change all RD to RS.
+ Change mftb to look like mftbl.
+ Move mftb before mftbl.
+ Add mfbbtar.
+ Add mtbbtar.
+ Change mfpmr to use PMR.
+ Change mtpmr to use PMR.
+ (RD): Remove.
+ (insert_ev2): Fix mask and shift.
+ (extract_ev2): Same.
+ (insert_ev4): Same.
+ (extract_ev4): Same.
+ (PMR): Define.
+ (extract_pmrn): Remove.
+ (insert_pmrn): Remove.
+
+2002-12-03 Richard Henderson <rth@redhat.com>
+
+ * ia64-opc-m.c: Add ld8.mov.
+ * ia64-asmtab.c: Regenerate.
+
+2002-12-02 Alan Modra <amodra@bigpond.net.au>
+
+ * arm-dis.c (print_insn_arm): Constify "insn". Formatting.
+ (print_insn_thumb): Likewise.
+ * h8500-dis.c (print_insn_h8500): Constify "opcode".
+ * mcore-dis.c (print_insn_mcore): Constify "op". Formatting.
+ * ns32k-dis.c (print_insn_arg <case 'F'>): Use a union to avoid
+ type-punned pointer warnings.
+ <case 'L'>: Likewise. Fix error message too.
+ * pdp11-dis.c (print_reg): Warning fix.
+ * sh-dis.c (print_movxy): Constify "op" param.
+ (print_insn_ddt): Constify sh_opcode_info vars.
+ (print_insn_ppi): Likewise.
+ (print_insn_sh): Likewise.
+ * tic30-dis.c (cnvt_tmsfloat_ieee): Use a union to avoid
+ type-punned pointer warnings.
+ * w65-dis.c (print_insn_w65): Constify "op".
+
+2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-dis.c (PC_REGNUM): Define.
+ (print_indexed_operand): Need an adjustment for some PC-relative
+ operand modes; print the final address of PC-relative modes.
+ (print_insn): Take into account movw/movb to adjust the PC-relative
+ operand addresses.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ *arm-dis.c, cris-dis.c, h8300-dis.c, mips-dis.c, mmix-dis.c, sh-dis.c,
+ sh64-dis.c, v850-dis.c: Replace boolean with bfd_boolean, true with
+ TRUE, false with FALSE. Simplify comparisons of bfd_boolean vars
+ with TRUE/FALSE. Formatting.
+
+2002-11-25 DJ Delorie <dj@redhat.com>
+
+ * xstormy16-opc.c: Regenerate.
+
+2002-11-25 Jim Wilson <wilson@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Correct handling of IA64_OPND_TGT64.
+
+2002-11-15 DJ Delorie <dj@redhat.com>
+
+ * xstormy16-desc.c: Regenerate.
+ * xstormy16-opc.c: Regenerate.
+ * xstormy16-opc.h: Regenerate.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * avr-dis.c: Include libiberty.h (for xmalloc).
+ (struct avr_opcodes_s): Remove 'bin_mask' field (it's
+ automatically computed in the init routine).
+ (AVR_INSN): No longer provide bin_mask field in initializer.
+ (avr_opcodes_s): Declare as const.
+ (print_insn_avr): Store the bin_mask field in a separate table
+ (allocated with xmalloc); iterate through it at the same time as
+ we iterate through the opcodes.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * h8300-dis.c: Include libiberty.h (for xmalloc).
+ (struct h8_instruction): New type, used to wrap h8_opcodes with a
+ length field (computed at run-time).
+ (h8_instructions): New variable.
+ (bfd_h8_disassemble_init): Allocate the storage for
+ h8_instructions. Fill h8_instructions with pointers to the
+ appropriate opcode and the correct value for the length field.
+ (bfd_h8_disassemble): Iterate through h8_instructions instead of
+ h8_opcodes.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * arc-opc.c (arc_ext_opcodes): Define.
+ (arc_ext_operands): Define.
+ * i386-dis.c (Suffix3DNow): Declare as const.
+ * arm-opc.h (arm_opcodes): Declare as const.
+ (thumb_opcodes): Declare as const.
+ * h8500-opc.h (h8500_table): Declare as const.
+ (h8500_table): Use a NULL for the opcode in the terminator, so
+ that code testing (opcode->name) behaves correctly.
+ * mcore-opc.h (mcore_table): Declare as const.
+ * sh-opc.h (sh_table): Declare as const.
+ * w65-opc.h (optable): Declare as const.
+ * z8k-opc.h (z8k_table): Declare as const.
+
+2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x-dis.c: Added support for enhanced and special insn.
+ (c4x_print_op): Added insn class 'i' and 'j'
+ (c4x_hash_opcode_special): Add to support special insn
+ (c4x_hash_opcode): Update to support the new opcode-list
+ format. Add support for the new special insns.
+ (c4x_disassemble): New opcode-list support.
+
+2002-11-16 Klee Dienes <kdienes@apple.com>
+
+ * m88k-dis.c: Include libiberty.h (for xmalloc).
+ (HASHTAB): New type, used to build instruction hash tables.
+ Contains a pointer to an INSTAB and a pointer to the next hash
+ chain entry.
+ (instructions): Move definition from m88k.h; remove initialization
+ of 'next' field.
+ (hashtable): Now an aray of pointer-to-HASHTAB, not INSTAB.
+ (printop): Mark pointer to OPSPEC as const.
+ (install): Remove; fold into init_disasm.
+ (m88kdis): Update to ihashtab_initialized to 1 after calling
+ init_disasm. entry_ptr now iterates through HASHTABs, not
+ INSTABs.
+ (init_disasm): Iterate through the instructions and add to
+ hashtable[].
+
+2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x-dis.c: (c4x_print_op): Add support for the new argument
+ format. Fix bug in 'N' register printer.
+
+2002-11-12 Segher Boessenkool <segher@koffie.nl>
+
+ * ppc-dis.c (print_insn_powerpc): Correct condition register display.
+
+2002-11-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c (EVUIMM_4): Change bit size to 32.
+ (EVUIMM_2): Same.
+ (EVUIMM_8): Same.
+
+2002-11-07 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (ia64-asmtab.c): Update to use the new '--srcdir'
+ argument to ia64-gen.
+ Regenerate dependencies for ia64-len.lo.
+ * Makefile.in: Regenerate.
+ * ia64-gen.c: Convert to use getopt(). Add the standard GNU
+ options, as well as '--srcdir', which controls the directory in
+ which ia64-gen looks for the sources it uses to generate the
+ output table. Add a 'const' to the declaration of the final
+ output table. Call xmalloc_set_program_name to set the program
+ name.
+ * ia64-asmtab.c: Regenerate.
+
+2002-11-07 Nick Clifton <nickc@redhat.com>
+
+ * ia64-gen.c: Fix comment formatting and compile time warnings.
+ * ia64-opc-a.c: Fix compile time warnings.
+ * ia64-opc-b.c: Likewise.
+ * ia64-opc-d.c: Likewise.
+ * ia64-opc-f.c: Likewise.
+ * ia64-opc-i.c: Likewise.
+ * ia64-opc-m.c: Likewise.
+ * ia64-opc-x.c: Likewise.
+
+2002-11-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c: Change RD to RS for evmerge*.
+
+2002-10-07 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * sparc-opc.c (sparc_opcodes) <fb, fba, fbe, fbz, fbg, fbge,
+ fbl, fble, fblg, fbn, fbne, fbnz, fbo, fbu, fbue, fbug, fbuge,
+ fbul, fbule>: Add conditional/unconditional branch
+ classification.
+
+2002-10-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-dis.c (print_insn): Treat bitmask and branch operands
+ at the end.
+
+2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
+ Ken Raeburn <raeburn@cygnus.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * mips-dis.c (print_insn_arg): Handle '[', ']', 'e' and '%'.
+ (mips_isa_type): Handle bfd_mach_mips4120, bfd_mach_mips5400
+ and bfd_mach_mips5500.
+ * mips-opc.c (V1): Include INSN_4111 and INSN_4120.
+ (N411, N412, N5, N54, N55): New convenience defines.
+ (mips_builtin_opcodes): Add vr4120, vr5400 and vr5500 opcodes.
+ Change dmadd16 and madd16 from V1 to N411.
+
+2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (print_insn_mips): Always allow disassembly of
+ 32-bit jalx opcode.
+
+2002-09-24 Nick Clifton <nickc@redhat.com>
+
+ * po/de.po: Updated German translation.
+
+2002-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2002-09-20 Nick Clifton <nickc@redhat.com>
+
+ * ppc-opc.c (CRFD, CRFS): Add PPC_OPERAND_CR flag so that cr
+ register names are accepted.
+
+2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x-dis.c: Add function declarations and ATTRIBUTE_UNUSED.
+ Convert functions to K&R format.
+
+2002-09-13 Nick Clifton <nickc@redhat.com>
+
+ * ppc-opc.c (MFDEC2): Include Book-E.
+ (PPCCHLK64): New opcode mask.
+ (evsubw, evsubiw, evmr, evnot, isellt, iselgt, iseleq, mfpid,
+ mfcsrr0, mfcsrr1, mfdear, mfesr, mfivpr, mfusprg0, mftbl,
+ mftbu, mfpir, mfdbsr, mfdbcr0, mfdbcr1, mfdbcr2, mfiac1,
+ mfiac2, mfiac3, mfiac4, mfdac1, mfdac2, mfdvc1, mfdvc2, mftsr,
+ mftcr, mfivor0, mfivor1, mfivor2, mfivor3, mfivor4, mfivor5,
+ mfivor6, mfivor7, mfivor8, mfivor9, mfivor10, mfivor11,
+ mfivor12, mfivor13, mfivor14, mfivor15, mfbbear, mfmcsrr0,
+ mfmcsrr1, mfmcsr, mtpid, mtdecar, mtcsrr0, mtcsrr1, mtdear,
+ mtesr, mtivpr, mtusprg0, mtsprg4, mtsprg5, mtsprg6, mtsprg7,
+ mtdbsr, mtdbcr0, mtdbcr1, mtdbcr2, mtiac1, mtiac2, mtiac3,
+ mtiac4, mtdac1, mtdac2, mtdvc1, mtdvc2, mttsr, mttcr, mtivor0,
+ mtivor1, mtivor2, mtivor3, mtivor4, mtivor5, mtivor6, mtivor7,
+ mtivor8, mtivor9, mtivor10, mtivor11, mtivor12, mtivor13,
+ mtivor14, mtivor15, mtbbear, mtmcsrr0, mtmcsrr1, mtmcsr): New
+ Book-E instructions.
+ (evfsneg): Fix opcode value.
+ (dcbtstlse, dcbtlse, icblce, dcblce, icbtsle): Use PPCCHLK64
+ mask.
+ (mcrxr64, tlbivaxe, tlbsxe, tlbsxe.): Restrict to 64-bit
+ Book-E.
+ (extsw): Restrict to 64-bit PPC instruction sets.
+ (extsw.): Does not exist in 64-bit Book-E.
+ (powerpc_macro): Remove mftbl, mftbu and mftb Book-E macros as
+ they are no longer needed.
+
+2002-09-12 Gary Hade <garyhade@us.ibm.com>
+
+ * ppc-dis.c (powerpc_dialect): Add missing PPC_OPCODE_CLASSIC.
+
+2002-09-11 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: Updated Danish translation file.
+
+2002-09-04 Nick Clifton <nickc@redhat.com>
+
+ * ppc-opc.c (extsw, extsw.): Do not allow for the BookE32.
+
+2002-09-04 Nick Clifton <nickc@redhat.com>
+
+ * disassemble.c (disassembler_usage): Add invocation of
+ print_ppc_disassembler_options.
+ * ppc-dis.c (print_ppc_disassembler_options): New function.
+
+2002-09-04 Nick Clifton <nickc@redhat.com>
+
+ * ppc-opc.c: The BookE implementations of the TLBWE and TLBRE
+ instructions do not take any arguments.
+
+2002-09-02 Nick Clifton <nickc@redhat.com>
+
+ * v850-opc.c: Remove redundant references to V850EA architecture.
+
+2002-09-02 Alan Modra <amodra@bigpond.net.au>
+
+ * arc-opc.c: Include bfd.h.
+ (arc_get_opcode_mach): Subtract off base bfd_mach value.
+
+2002-08-30 Alan Modra <amodra@bigpond.net.au>
+
+ * v850-dis.c (disassemble): Remove bfd_mach_v850ea case.
+
+ * mips-dis.c (_print_insn_mips): Don't use hard-coded mach constants.
+
+2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * configure.in: Added bfd_tic4x_arch.
+ * configure: Regenerate.
+ * Makefile.am: Added tic4x-dis.o target.
+ * Makefile.in: Regenerate.
+
+2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * disassemble.c: Added tic4x target and c4x
+ disassembler routine.
+ * tic4x-dis.c: New file.
+
+2002-08-16 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c (unparse_instr): case CLASS_BA: Designate hex
+ values as those.
+ * z8kgen.c (opt): Fix definition of "in rd,imm16" opcode.
+ * z8k-opc.h: Regenerated with new z8kgen.c.
+
+2002-08-19 Elena Zannoni <ezannoni@redhat.com>
+
+ From matthew green <mrg@redhat.com>
+
+ * ppc-dis.c (powerpc_dialect): Support `-m500', `-m500x2' and
+ `-mefs'. Turn off AltiVec for E500 and efs.
+ (print_insn_powerpc): Don't print an AltiVec instruction if the
+ dialect is not efs.
+
+ * ppc-opc.c (insert_pmrn, extract_pmrn, insert_ev2, extract_ev2,
+ insert_ev4, extract_ev4, insert_ev8, extract_ev8): New functions
+ for extracting pmrn/evld/evstd/etc operands.
+ (CRB, CRFD, CRFS, DC, RD): New instruction fields.
+ (CT): Make this equal to RD + 1.
+ (PMRN): New operand.
+ (RA): Update.
+ (EVUIMM, EVUIMM_2, EVUIMM_4, EVUIMM_8): New operands.
+ (WS): Update.
+ (EVSEL, EVSEL_MASK): New instruction form and mask for EVSEL.
+ (ISEL, ISEL_MASK): New instruction form and mask for ISEL.
+ (XISEL, XISEL_MASK): New instruction form and mask for ISEL.
+ (CTX, CTX_MASK): New instruction form and mask for context cache
+ instructions.
+ (UCTX, UCTX_MASK): New instruction form and mask for user context
+ cache instructions.
+ (XC, XC_MASK, XUC, XUC_MASK): New instruction forms.
+ (CLASSIC): New define.
+ (PPCESPE): New define.
+ (PPCISEL, , PPCBRLK, PPCPMR, PPCCHLK, PPCRFMI): New
+ defines for integer select, cache control, branch
+ locking, power management, cache locking and machine check
+ APU instructions, respectively.
+ (efsabs, efsnabs, efsneg, efsadd, efssub, efsmul,
+ efsdiv, efscmpgt, efscmplt, efscmpeq, efststgt, efststlt,
+ efststeq, efscfui, efsctuiz, efscfsi, efscfuf, efscfsf,
+ efsctui, efsctsi, efsctsiz, efsctuf, efsctsf,
+ evaddw, evaddiw, evsubfw, evsubifw, evabs, evneg, evextsb,
+ evextsh, evrndw, evcntlzw, evcntlsw, brinc, evand, evandc, evor,
+ evorc, evxor, eveqv, evnand, evnor, evrlw, evrlwi, evslw, evslwi,
+ evsrws, evsrwu, evsrwis, evsrwiu, evsplati, evsplatfi, evmergehi,
+ evmergelo, evmergehilo, evmergelohi, evcmpgts, evcmpgtu, evcmplts,
+ evcmpltu, evcmpeq, evsel, evldd, evlddx, evldw, evldwx, evldh,
+ evldhx, evlwhe, evlwhex, evlwhou, evlwhoux, evlwhos, evlwhosx,
+ evlwwsplat, evlwwsplatx, evlwhsplat, evlwhsplatx, evlhhesplat,
+ evlhhesplatx, evlhousplat, evlhousplatx, evlhossplat, evlhossplatx,
+ evstdd, evstddx, evstdw, evstdwx, evstdh, evstdhx, evstwwe,
+ evstwwex, evstwwo, evstwwox, evstwhe, evstwhex, evstwho, evstwhox,
+ evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul, evfsdiv,
+ evfscmpgt, evfscmplt, evfscmpeq, evfststgt, evfststlt, evfststeq,
+ evfscfui, evfsctuiz, evfscfsi, evfscfuf, evfscfsf, evfsctui,
+ evfsctsi, evfsctsiz, evfsctuf, evfsctsf, evsabs, evsnabs, evsneg,
+ evsadd, evssub, evsmul, evsdiv, evscmpgt, evsgmplt, evsgmpeq,
+ evststgt, evststlt, evststeq, evscfui, evscfsi, evscfuf, evscfsf,
+ evsctui, evsctuiz, evsctsi, evsctsiz, evsctuf, evsctsf, evmhossf,
+ evmhossfa, evmhosmf, evmhosmfa, evmhosmi, evmhosmia, evmhoumi,
+ evmhoumia, evmhessf, evmhessfa, evmhesmf, evmhesmfa, evmhesmi,
+ evmhesmia, evmheumi, evmheumia, evmhossfaaw, evmhossiaaw,
+ evmhosmfaaw, evmhosmiaaw, evmhousiaaw, evmhoumiaaw, evmhessfaaw,
+ evmhessiaaw, evmhesmfaaw, evmhesmiaaw, evmheusiaaw, evmheumiaaw,
+ evmhossfanw, evmhossianw, evmhosmfanw, evmhosmianw, evmhousianw,
+ evmhoumianw, evmhessfanw, evmhessianw, evmhesmfanw, evmhesmianw,
+ evmheusianw, evmheumianw, evmhogsmfaa, evmhogsmiaa, evmhogumiaa,
+ evmhegsmfaa, evmhegsmiaa, evmhegumiaa, evmhogsmfan, evmhogsmian,
+ evmhogumian, evmhegsmfan, evmhegsmian, evmhegumian, evmwhssf,
+ evmwhssfa, evmwhssfaa, evmwhssmaa, evmwhsmfaa, evmwhsmiaa,
+ evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian, evmwhsmfan,
+ evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa, evmwhgsmfaa,
+ evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan, evmwhgsmian,
+ evmwhgumian, evmwhsmf, evmwhsmfa, evmshsmi, evmshsmia, evmshumi,
+ evmshumia, evmmlssf, evmmlssfa, evmwlsmf, evmwlsmfa, evmwlumi,
+ evmwlumia, evmwlssfaaw, evmwlssiaaw, evmwlsmfaaw, evmwlsmiaaw,
+ evmwlusiaaw, evmwlumiaaw, evmwissfanw, evmwissianw, evmwlsmfanw,
+ evmwlsmianw, evmwlusianw, evmwlumianw, evmwssf, evmwssfa,
+ evmwsmf, evmwsmfa, evmwsmi, evmwsmia, evmwumi, evmwumia,
+ evmwssfaa, evmwsmfaa, evmwsmiaa, evmwumiaa, evmwssfan, evmwsmfan,
+ evmwsmian, evmwumian, evaddssiaaw, evaddsmiaaw, evaddusiaaw,
+ evaddumiaaw, evsubfssiaaw, evsubfsmiaaw, evsubfusiaaw,
+ evsubfumiaaw, evmra, evdivws, evdivws): New e500x2 Core Complex
+ instructions.
+ (rfmci): New machine check APU instruction.
+ (isel): New integer select APU instructino.
+ (icbtls, icbtlse, icblc, icblce, dcbtls, dcbtlse, dcbtstls,
+ dcbtstlse, dcblc, dcblce): New cache control APU instructions.
+ (mtspefscr, mfspefscr): New instructions.
+ (mfpmr, mtpmr): New performance monitor APU instructions.
+ (savecontext): New context cache APU instructions.
+ (bblels, bbelr): New branch locking APU instructions.
+ (bblels, bbelr): New instructions.
+ (mftbl, mftbu, mftb): Set as CLASSIC instructions. Add BOOKE alias.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-opc.c: Update call operand to accept the page definition.
+ Identify instructions that are branches and calls to generate a
+ RL_JUMP relocation.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-dis.c (print_insn): Take into account 68HC12 memory
+ banks and fix disassembling of call instruction.
+ (print_indexed_operand): New param to tell whether
+ it was an indirect addressing operand (for disassembling call).
+
+2002-08-09 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2002-08-08 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * mips-opc.c (mips_builtin_opcodes): Remove "dla" and "la" as
+ aliases to "daddiu" and "addiu".
+
+2002-07-30 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2002-07-25 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+ * po/pr_BR.po: Updated Brazilian Portuguese translation.
+ * po/tr.po: Updated Turkish translation.
+ * po/fr.po: Updated French translation.
+
+2002-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+ * po/pr_BR.po: Updated Brazilian Portuguese translation.
+
+2002-07-23 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2002-07-23 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+ * po/pr_BR.po: New Brazilian Portuguese translation.
+ * po/id.po: Updated Indonesian translation.
+ * configure.in (LINGUAS): Add pr_BR.
+ * configure: Regenerate.
+
+2002-07-18 Denis Chertykov <denisc@overta.ru>
+ Frank Ch. Eigler <fche@redhat.com>
+ Alan Lehotsky <alehotsky@cygnus.com>
+ matthew green <mrg@redhat.com>
+
+ * configure.in: Add support for ip2k.
+ * configure: Regenerate.
+ * Makefile.am: Add support for ip2k.
+ * Makefile.in: Regenerate.
+ * disassemble.c: Add support for ip2k.
+ * ip2k-asm.c: New generated file.
+ * ip2k-desc.c: New generated file.
+ * ip2k-desc.h: New generated file.
+ * ip2k-dis.c: New generated file.
+ * ip2k-ibld.c: New generated file.
+ * ip2k-opc.c: New generated file.
+ * ip2k-opc.h: New generated file.
+
+2002-07-17 David Mosberger <davidm@hpl.hp.com>
+
+ * ia64-opc-b.c (bWhc): New macro.
+ (mWhc): Ditto.
+ (OpPaWhcD): Ditto.
+ (ia64_opcodes_b): Correct patterns for indirect call
+ instructions to use 3-bit "wh" field.
+ * ia64-asmtab.c: Regnerate.
+
+2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (mips_isa_type): Add MIPS16 insn handling.
+ * mips-opc.c (I16): New define.
+ (mips_builtin_opcodes): Make jalx an I16 insn.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ * po/POTFILES.in: Add frv-*.[ch].
+ * disassemble.c (ARCH_frv): New macro.
+ (disassembler): Handle bfd_arch_frv.
+ * configure.in: Support frv_bfd_arch.
+ * Makefile.am (HFILES): Add frv-*.h.
+ (CFILES): Add frv-*.c
+ (ALL_MACHINES): Add frv-*.lo.
+ (CLEANFILES): Add stamp-frv.
+ (FRV_DEPS): New variable.
+ (stamp-frv): New target.
+ (frv-asm.lo): New target.
+ (frv-desc.lo): New target.
+ (frv-dis.lo): New target.
+ (frv-ibld.lo): New target.
+ (frv-opc.lo): New target.
+ (frv-*.[ch]): New files.
+
+2002-06-18 Ben Elliston <bje@redhat.com>
+
+ * Makefile.am (CGENDEPS): Remove unnecessary stamp-cgen.
+ * Makefile.in: Regenerate.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * a29k-dis.c: Replace CONST with const.
+ * h8300-dis.c: Likewise.
+ * m68k-dis.c: Likewise.
+ * or32-dis.c: Likewise.
+ * sparc-dis.c: Likewise.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.in: Add "sh5*-*" to list of targets which include
+ sh64 support.
+ * configure: Regenerate.
+
+2002-05-31 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c: Clean up a few whitespace issues, and sort a
+ few entries understanding that 'x' follows 'w' in the alphabet.
+
+2002-05-31 Chris G. Demetriou <cgd@broadcom.com>
+ Ed Satterthwaite <ehs@broadcom.com>
+
+ * mips-opc.c: Add support for SB-1 MDMX subset and extensions.
+
+2002-05-31 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
+ Ed Satterthwaite <ehs@broadcom.com>
+
+ * mips-dis.c (print_insn_arg): Add support for 'O', 'Q', 'X', 'Y',
+ and 'Z' formats, for MDMX.
+ (mips_isa_type): Add MDMX instructions to the ISA
+ bit mask for bfd_mach_mipsisa64.
+ * mips-opc.c: Add support for MDMX instructions.
+ (MX): New definition.
+
+ * mips-dis.c: Update copyright years to include 2002.
+
+2002-05-30 Diego Novillo <dnovillo@redhat.com>
+
+ * d10v-opc.c (d10v_opcodes): `btsti' does not modify its
+ arguments.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * configure.in: Add DLX configuraton support.
+ * configure: Regenerate.
+ * Makefile.am: Add DLX configuraton support.
+ * Makefile.in: Regenerate.
+ * disassemble.c: Add DLX support.
+ * dlx-dis.c: New file.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (sh-dis.lo): Don't put make commands in deps.
+ * Makefile.in: Regenerate.
+ * arc-dis.c: Use #include "" instead of <> for local header files.
+ * m68k-dis.c: Likewise.
+
+2002-05-22 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * Makefile.am (sh-dis.lo): Compile with @archdefs@.
+ * Makefile.in: regenerate.
+
+ * sh-dis.c (print_insn_sh): If coff and bfd_mach_sh, use arch_sh4
+ for disassembly.
+
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-opc.c (mips_builtin_opcodes): Add drol, dror macros.
+
+2002-05-17 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * disassemble.c (disassembler): Just use print_insn_sh for bfd_arch_sh.
+ * sh-dis.c (LITTLE_BIT): Delete.
+ (print_insn_sh, print_insn_shl): Deleted.
+ (print_insn_shx): Renamed to
+ (print_insn_sh). No longer static. Handle SHmedia instructions.
+ Use info->endian to determine endianness.
+ * sh64-dis.c (print_insn_sh64, print_insn_sh64l): Delete.
+ (print_insn_sh64x): No longer static. Renamed to
+ (print_insn_sh64). Removed pfun_compact and endian arguments.
+ If we got an uneven address to indicate SHmedia, adjust it.
+ Return -2 for SHcompact instructions.
+
+2002-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * acinclude.m4 (AM_INSTALL_LIBBFD): Fake to fool autotools.
+ * configure.in: Invoke AM_INSTALL_LIBBFD.
+ * Makefile.am (install-data-local): Move to..
+ (install_libopcodes): .. New target.
+ (uninstall_libopcodes): Likewise.
+ (install-bfdlibLTLIBRARIES): Likewise.
+ (uninstall-bfdlibLTLIBRARIES): Likewise.
+ (bfdlibdir): New.
+ (bfdincludedir): New.
+ (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * fr30-asm.c: Regenerate.
+ * fr30-desc.c: Regenerate.
+ * fr30-dis.c: Regenerate.
+ * m32r-asm.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-dis.c: Regenerate.
+ * openrisc-asm.c: Regenerate.
+ * openrisc-desc.c: Regenerate.
+ * openrisc-dis.c: Regenerate.
+ * xstormy16-asm.c: Regenerate.
+ * xstormy16-desc.c: Regenerate.
+ * xstormy16-dis.c: Regenerate.
+
+2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (is_newabi): EABI is not a NewABI.
+
+2002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.in (shle-*-*elf*): Include sh64 support.
+ * configure: Regenerate.
+
+2002-04-28 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * vax-dis.c (print_insn_arg): Pass the insn info to print_insn_mode.
+ (print_insn_mode): Print some basic info about floating point values.
+
+2002-05-09 Anton Blanchard <anton@samba.org>
+
+ * ppc-opc.c: Add "tlbiel" for POWER4.
+
+2002-05-07 Graydon Hoare <graydon@redhat.com>
+
+ * cgen-dis.in: (print_insn_@arch@): Cache list of opened CPUs rather
+ than just most-recently-opened.
+
+2002-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c: Add "tlbsx." and "tlbsxe." for booke.
+
+2002-04-24 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c (print_insn_z8k): Set disassemble_info to 2
+ bytes_per_chunk, 6 bytes_per_line for nicer display of the hex
+ codes.
+ (z8k_lookup_instr): CLASS_IGNORE case added.
+ (output_instr): Don't print hex codes, they are already
+ printed.
+ (unpack_instr): ARG_NIM4 case added. ARG_NIM8 case
+ fixed. Support CLASS_BIT_1OR2 and CLASS_IGNORE cases.
+ (unparse_instr): Fix base and indexed addressing disassembly:
+ The index is inside the brackets.
+ * z8kgen.c (gas): Add ARG_NIM4 and CLASS_IGNORE defines.
+ (opt): Fix shift left/right arithmetic/logical byte defines:
+ The high byte of the immediate word is ignored by the
+ processor.
+ Fix n parameter of ldm opcodes: The opcode contains (n-1).
+ (args): Fix "n" entry.
+ (toks): Add "nim4" and "iiii" entries.
+ * z8k-opc.h: Regenerated with new z8kgen.c.
+
+2002-04-24 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/id.po: New Indonesian translation.
+ * configure.in (ALL_LIGUAS): Add id.po
+ * configure: Regenerate.
+
+2002-04-17 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (powerpc_opcode): Fix dssall operand list.
+
+2002-04-04 Alan Modra <amodra@bigpond.net.au>
+
+ * dep-in.sed: Cope with absolute paths.
+ * Makefile.am (dep.sed): Subst TOPDIR.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * ppc-opc.c: Whitespace.
+ * s390-dis.c: Fix copyright date.
+
+2002-03-23 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (vmaddfp): Fix operand order.
+
+2002-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2002-03-21 Anton Blanchard <anton@samba.org>
+
+ * ppc-opc.c: Add optional field to mtmsrd.
+ (MTMSRD_L, XRLARB_MASK): Define.
+
+2002-03-18 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c (prefix_name): Fix handling of 32bit address prefix
+ in 64bit mode.
+ (print_insn) Likewise.
+ (putop): Fix handling of 'E'
+ (OP_E, OP_OFF): handle 32bit addressing mode in 64bit.
+ (ptr_reg): Likewise.
+
+2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-16 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (M3D): Tweak comment.
+ (mips_builtin_op): Add comment indicating that opcodes of the
+ same name must be placed together in the table, and sort
+ the "recip.fmt", "recip1.fmt", "recip2.fmt", "rsqrt.fmt",
+ "rsqrt1.fmt", and "rsqrt2.fmt" opcodes by name.
+
+2002-03-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * Makefile.am: Tidy up sh64 rules.
+ * Makefile.in: Regenerate.
+
+2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c: Update copyright years.
+
+2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_isa_type): Add MIPS3D instructions to the ISA
+ bit masks for bfd_mach_mips_sb1 and bfd_mach_mipsisa64. Add
+ comments for bfd_mach_mipsisa32 and bfd_mach_mipsisa64 that
+ indicate that they should dissassemble all applicable
+ MIPS-specified ASEs.
+ * mips-opc.c: Add support for MIPS-3D instructions.
+ (M3D): New definition.
+
+ * mips-opc.c: Update copyright years.
+
+2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Sort bc<N> opcodes by name.
+
+2002-03-15 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (is_newabi): Fix ABI decoding.
+
+2002-03-14 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_isa_type): Fix formatting of bfd_mach_mipsisa32
+ and bfd_mach_mipsisa64 cases to match the rest.
+
+2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-13 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c: Add optional `L' field to tlbie.
+ (XRTLRA_MASK): Define.
+
+2002-03-06 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Mark "pref" as being
+ present on I4.
+
+ * mips-opc.c (mips_builtin_opcodes): Add "movn.ps" and "movz.ps".
+
+2002-03-05 Paul Koning <pkoning@equallogic.com>
+
+ * pdp11-opc.c: Fix "mark" operand type. Fix operand types
+ for float opcodes that take float operands. Add alternate
+ names (xxxD vs. xxxF) for float opcodes.
+ * pdp11-dis.c (print_operand): Clean up formatting for mode 67.
+ (print_foperand): New function to handle float opcode operands.
+ (print_insn_pdp11): Use print_foperand to disassemble float ops.
+
+2002-02-27 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/de.po: Updated.
+
+2002-02-26 Brian Gaeke <brg@dgate.org>
+
+ * Makefile.am (install-data-local): Install dis-asm.h.
+
+2002-02-26 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * configure.in (LINGUAS): Add de.po.
+ * configure: Regenerate.
+ * po/de.po: New file.
+
+2002-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-dis.c (powerpc_dialect): Handle power4 option.
+ * ppc-opc.c (insert_bdm): Correct description of "at" branch
+ hints. Test PPC_OPCODE_POWER4 to determine branch hint flavour.
+ (extract_bdm, insert_bdp, extract_bdp, valid_bo): Likewise.
+ (BOFM64, BOFP64, BOTM64, BOFP64): Rename to BOFM4, BOFP4 etc.
+ (BODNZM64, BODNZP64, BODZM64, BODZP64): Likewise.
+ (PPCCOM32, PPCCOM64): Delete.
+ (NOPOWER4, POWER4): Define.
+ (powerpc_opcodes): Replace occurences of PPCCOM32 with NOPOWER4,
+ and PPCCOM4 with POWER4 so that "at" style branch hint opcodes
+ are enabled for power4 rather than ppc64.
+
+2002-02-20 Tom Rix <trix@redhat.com>
+
+ * ppc-opc.c (powerpc_operands): Add WS field. Use for tlbre, tlbwe.
+
+2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-dis.c (init_disasm): Use renamed architecture defines.
+
+2002-02-19 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (powerpc_dialect): Fix comment; BookE is not Motorola
+ specific.
+
+2002-02-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/tr.po: Updated translation.
+
+2002-02-15 Richard Henderson <rth@redhat.com>
+
+ * alpha-opc.c (alpha_opcodes): Fix thinko in ret pseudo
+ disassembly mask.
+
+2002-02-15 Richard Henderson <rth@redhat.com>
+
+ * alpha-opc.c (alpha_opcodes): Add simple pseudos for
+ lda, ldah, jmp, ret.
+
+2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/da.po: Updated translation.
+
+2002-02-12 Graydon Hoare <graydon@redhat.com>
+
+ * cgen-asm.in (parse_insn_normal): Change call from
+ @arch@_cgen_parse_operand to cd->parse_operand, to
+ facilitate CGEN_ASM_INIT_HOOK doing useful work.
+
+2002-02-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * sparc-dis.c (print_insn_sparc): Make sure 0xFFFFFFFF is not
+ sign-extended.
+
+2002-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: "make dep-am".
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * configure.in <bfd_sh_arc>: For sh-* and shl-*, enable sh64
+ support only for sh-*-*elf*, shl-*-*elf*, sh-*-linux* and
+ shl-*-linux*.
+ * configure: Regenerate.
+
+2002-02-10 Daniel Jacobowitz <drow@mvista.com>
+
+ * cgen-dis.c: Add prototypes for count_decodable_bits
+ and add_insn_to_hash_chain.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in <bfd_sh_arc>: Enable sh64 support on sh-*.
+ * configure: Rebuilt.
+
+2002-02-08 Ivan Guzvinec <ivang@opencores.org>
+
+ * or32-opc.c: Fix compile time warning messages.
+ * or32-dis.c: Fix compile time warning messages.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ Contribute sh64-elf.
+ 2001-10-08 Nick Clifton <nickc@cambridge.redhat.com>
+ * sh64-opc.c: Regenerate.
+ 2001-03-13 DJ Delorie <dj@redhat.com>
+ * sh64-opc.h: Rename A_RESV_Fx to A_REUSE_PREV so that its
+ purpose is more obvious.
+ * sh64-opc.c (shmedia_table): Ditto.
+ * sh64-dis.c (initialize_shmedia_opcode_mask_table): Ditto.
+ (print_insn_shmedia): Ditto.
+ 2001-03-12 DJ Delorie <dj@redhat.com>
+ * sh64-opc.c: Adjust comments to reflect reality: replace bits
+ 3:0 with zeros (not "reserved"), replace "rrrrrr" with
+ "gggggg" for two-operand floating point opcodes. Remove
+ "fsina".
+ 2001-01-08 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-dis.c (print_insn_shmedia) <failing read_memory_func>:
+ Correct printing of .byte:s. Return number of printed bytes or
+ -1; never 0.
+ (print_insn_sh64x) <not CRT_SH5_ISA16>: Ditto. Print as .byte:s
+ to next four-byte-alignment if insn or data is not aligned.
+ 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-dis.c: Update comments and fix comment formatting.
+ (initialize_shmedia_opcode_mask_table) <case A_IMMM>:
+ Abort instead of setting length to 0.
+ (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
+ crange_bsearch_cmpl, sh64_get_contents_type,
+ sh64_address_in_cranges): Move to bfd/elf32-sh64.c.
+ 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-opc.c: Remove #if 0:d entries for instructions not found in
+ SH-5/ST50-023-04: fcosa.s, fsrra.s and prefo.
+ 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-dis.c (print_insn_shmedia): Display MOVI/SHORI-formed
+ address with same prefix as SHcompact.
+ In the disassembler, use a .cranges section for linked executables.
+ * sh64-dis.c (SAVED_MOVI_R, SAVED_MOVI_IMM): Move to head of file
+ and update for using structure in info->private_data.
+ (struct sh64_disassemble_info): New.
+ (is_shmedia_p): Delete.
+ (crange_qsort_cmpb): New function.
+ (crange_qsort_cmpl, crange_bsearch_cmpb): New functions.
+ (crange_bsearch_cmpl, sh64_address_in_cranges): New functions.
+ (init_sh64_disasm_info, sh64_get_contents_type_disasm): New functions.
+ (sh64_get_contents_type, sh64_address_is_shmedia): New functions.
+ (print_insn_shmedia): Correct displaying of address after MOVI/SHORI
+ pair. Display addresses for linked executables only.
+ (print_insn_sh64x_media): Initialize info->private_data by calling
+ init_sh64_disasm_info.
+ (print_insn_sh64x): Ditto. Find out type of contents by calling
+ sh64_contents_type_disasm. Display data regions using ".long" and
+ ".byte" similar to unrecognized opcodes.
+ 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-dis.c (is_shmedia_p): Check info->section and look for ISA
+ information in section flags before considering symbols. Don't
+ assume an info->mach setting of bfd_mach_sh5 means SHmedia code.
+ * configure.in (bfd_sh_arch): Check presence of sh64 insns by
+ matching $target $canon_targets instead of looking at the
+ now-removed -DINCLUDE_SHMEDIA in $targ_cflags.
+ * configure: Regenerate.
+ 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-opc.c (shmedia_creg_table): New.
+ * sh64-opc.h (shmedia_creg_info): New type.
+ (shmedia_creg_table): Declare.
+ * sh64-dis.c (creg_name): New function.
+ (print_insn_shmedia): Use it.
+ * disassemble.c (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map
+ bfd_mach_sh5 to print_insn_sh64 if big-endian and to
+ print_insn_sh64l if little-endian.
+ * sh64-dis.c (print_insn_shmedia): Make r unsigned.
+ (print_insn_sh64l): New.
+ (print_insn_sh64x): New.
+ (print_insn_sh64x_media): New.
+ (print_insn_sh64): Break out code to print_insn_sh64x and
+ print_insn_sh64x_media.
+ 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-opc.h: New file
+ * sh64-opc.c: New file
+ * sh64-dis.c: New file
+ * Makefile.am: Add sh64 targets.
+ (HFILES): Add sh64-opc.h.
+ (CFILES): Add sh64-opc.c and sh64-dis.c.
+ (ALL_MACHINES): Add sh64 files.
+ * Makefile.in: Regenerate.
+ * configure.in: Add support for sh64 to bfd_sh_arch.
+ * configure: Regenerate.
+ * disassemble.c [ARCH_all] (INCLUDE_SHMEDIA): Define.
+ (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map bfd_mach_sh5 to
+ print_insn_sh64.
+ * sh-dis.c (print_insn_shx): Handle bfd_mach_sh5 as arch_sh4.
+ * po/POTFILES.in: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2002-02-04 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-dis.in (print_insn_@arch@): Support disassemble_info.insn_sets.
+
+2002-02-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-opc.h (sh_arg_type): Added A_DISP_PC_ABS.
+
+2002-02-01 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am"
+ * Makefile.in: Regenerate.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * or32-dis.c: New file.
+ * or32-opc.c: New file.
+ * configure.in: Add support for or32.
+ * configure: Regenerate.
+ * Makefile.am: Add support for or32.
+ * Makefile.in: Regenerate.
+ * disassemble.c: Add support for or32.
+ * po/POTFILES.in: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2002-01-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * configure: Regenerated.
+
+2002-01-26 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/es.po: Updated version.
+
+2002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/da.po: New version.
+
+2002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/da.po: New file: Spanish translation.
+ * configure.in (ALL_LINGUAS): Add da.
+ * configure: Regenerate.
+
+2002-01-22 Graydon Hoare <graydon@redhat.com>
+
+ * fr30-asm.c: Regenerate.
+ * fr30-desc.c: Likewise.
+ * fr30-desc.h: Likewise.
+ * fr30-dis.c: Likewise.
+ * fr30-ibld.c: Likewise.
+ * fr30-opc.c: Likewise.
+ * fr30-opc.h: Likewise.
+ * m32r-asm.c: Likewise.
+ * m32r-desc.c: Likewise.
+ * m32r-desc.h: Likewise.
+ * m32r-dis.c: Likewise.
+ * m32r-ibld.c: Likewise.
+ * m32r-opc.c: Likewise.
+ * m32r-opc.h: Likewise.
+ * m32r-opinst.c: Likewise.
+ * openrisc-asm.c: Likewise.
+ * openrisc-desc.c: Likewise.
+ * openrisc-desc.h: Likewise.
+ * openrisc-dis.c: Likewise.
+ * openrisc-ibld.c: Likewise.
+ * openrisc-opc.c: Likewise.
+ * openrisc-opc.h: Likewise.
+ * xstormy16-desc.c: Likewise.
+
+2002-01-22 Richard Henderson <rth@redhat.com>
+
+ * alpha-dis.c (print_insn_alpha): Also mask the base opcode for
+ comparison.
+
+2002-01-22 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2002-01-19 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-opc.h (arm_opcodes): Use generic rule %5?hb instead of %h.
+ * arm-dis.c (print_insn_arm): Don't handle 'h' case.
+
+2002-01-18 Keith Walker <keith.walker@arm.com>
+
+ * arm-opc.h (arm_opcodes): Add bxj instruction.
+
+2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/opcodes.pot: Regenerate.
+ * po/fr.po: Regenerate.
+ * po/sv.po: Regenerate.
+ * po/tr.po: Regenerate.
+
+2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/tr.po: Import new version.
+
+2002-01-15 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-opc.h (arm_opcodes): Add patterns for VFP instructions.
+ * arm-dis.c (print_insn_arm): Support new disassembly qualifiers for
+ VFP bitfields.
+
+2002-01-10 matthew green <mrg@redhat.com>
+
+ * xstormy16-asm.c: Regenerate.
+ * xstormy16-desc.c: Likewise.
+ * xstormy16-desc.h: Likewise.
+ * xstormy16-dis.c: Likewise.
+ * xstormy16-opc.c: Likewise.
+ * xstormy16-opc.h: Likewise.
+
+2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/es.po: New file: Spanish translation.
+ * configure.in (ALL_LINGUAS): Add es.
+ * configure: Regenerate.
+
+For older changes see ChangeLog-0001
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am
index e227b1f3817..ea621f2d366 100644
--- a/opcodes/Makefile.am
+++ b/opcodes/Makefile.am
@@ -283,8 +283,13 @@ disassemble.lo: disassemble.c $(INCDIR)/dis-asm.h
$(LIBTOOL) --mode=compile $(COMPILE) -c @archdefs@ $(srcdir)/disassemble.c
libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c
-libopcodes_la_DEPENDENCIES = $(OFILES) ../bfd/libbfd.la
-libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ ../bfd/libbfd.la
+# It's desirable to list ../bfd/libbfd.la in DEPENDENCIES and LIBADD.
+# Unfortunately this causes libtool to add -L$(libdir), referring to the
+# planned install directory of libbfd. This can cause us to pick up an
+# old version of libbfd, or to pick up libbfd for the wrong architecture
+# if host != build.
+libopcodes_la_DEPENDENCIES = $(OFILES)
+libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@
libopcodes_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@
# libtool will build .libs/libopcodes.a. We create libopcodes.a in
diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in
index de427eaeb92..559194dab78 100644
--- a/opcodes/Makefile.in
+++ b/opcodes/Makefile.in
@@ -1,6 +1,6 @@
-# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
-# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -393,8 +393,13 @@ OFILES = @BFD_MACHINES@
INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ -I$(srcdir)/../intl -I../intl
libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c
-libopcodes_la_DEPENDENCIES = $(OFILES) ../bfd/libbfd.la
-libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ ../bfd/libbfd.la
+# It's desirable to list ../bfd/libbfd.la in DEPENDENCIES and LIBADD.
+# Unfortunately this causes libtool to add -L$(libdir), referring to the
+# planned install directory of libbfd. This can cause us to pick up an
+# old version of libbfd, or to pick up libbfd for the wrong architecture
+# if host != build.
+libopcodes_la_DEPENDENCIES = $(OFILES)
+libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@
libopcodes_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@
# libtool will build .libs/libopcodes.a. We create libopcodes.a in
@@ -617,7 +622,7 @@ maintainer-clean-recursive:
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
- test "$$subdir" != "." || dot_seen=yes; \
+ test "$$subdir" = "." && dot_seen=yes; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
diff --git a/opcodes/arm-opc.h b/opcodes/arm-opc.h
index cc59b8f5cea..d427946a22e 100644
--- a/opcodes/arm-opc.h
+++ b/opcodes/arm-opc.h
@@ -328,9 +328,6 @@ static const struct arm_opcode arm_opcodes[] =
{0x01200050, 0x0ff00ff0, "qsub%c\t%12-15r, %0-3r, %16-19r"},
{0x01600050, 0x0ff00ff0, "qdsub%c\t%12-15r, %0-3r, %16-19r"},
- {0x0c400000, 0x0ff00000, "mcrr%c\t%8-11d, %4-7d, %12-15r, %16-19r, cr%0-3d"},
- {0x0c500000, 0x0ff00000, "mrrc%c\t%8-11d, %4-7d, %12-15r, %16-19r, cr%0-3d"},
-
/* ARM Instructions. */
{0x00000090, 0x0e100090, "str%c%6's%5?hb\t%12-15r, %s"},
{0x00100090, 0x0e100090, "ldr%c%6's%5?hb\t%12-15r, %s"},
@@ -569,6 +566,8 @@ static const struct arm_opcode arm_opcodes[] =
{0x0e300600, 0x0ff00f00, "cfmsuba32%c\tmvax%5-7d, mvax%12-15d, mvfx%16-19d, mvfx%0-3d"},
/* Generic coprocessor instructions */
+ {0x0c400000, 0x0ff00000, "mcrr%c\t%8-11d, %4-7d, %12-15r, %16-19r, cr%0-3d"},
+ {0x0c500000, 0x0ff00000, "mrrc%c\t%8-11d, %4-7d, %12-15r, %16-19r, cr%0-3d"},
{0x0e000000, 0x0f000010, "cdp%c\t%8-11d, %20-23d, cr%12-15d, cr%16-19d, cr%0-3d, {%5-7d}"},
{0x0e100010, 0x0f100010, "mrc%c\t%8-11d, %21-23d, %12-15r, cr%16-19d, cr%0-3d, {%5-7d}"},
{0x0e000010, 0x0f100010, "mcr%c\t%8-11d, %21-23d, %12-15r, cr%16-19d, cr%0-3d, {%5-7d}"},
diff --git a/opcodes/frv-asm.c b/opcodes/frv-asm.c
index 678a250d6db..145b56a2a79 100644
--- a/opcodes/frv-asm.c
+++ b/opcodes/frv-asm.c
@@ -110,7 +110,66 @@ parse_ulo16 (cd, strp, opindex, valuep)
++*strp;
if (errmsg == NULL
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value >>= 16;
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotlo(", 6) == 0)
+ {
+ *strp += 7;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOTLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotfuncdesclo(", 14) == 0)
+ {
+ *strp += 15;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofflo(", 9) == 0)
+ {
+ *strp += 10;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_GOTOFFLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofffuncdesclo(", 17) == 0)
+ {
+ *strp += 18;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
*valuep = value;
return errmsg;
}
@@ -159,6 +218,65 @@ parse_uslo16 (cd, strp, opindex, valuep)
*valuep = value;
return errmsg;
}
+ else if (strncasecmp (*strp + 1, "gotlo(", 6) == 0)
+ {
+ *strp += 7;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOTLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotfuncdesclo(", 14) == 0)
+ {
+ *strp += 15;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofflo(", 9) == 0)
+ {
+ *strp += 10;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_GOTOFFLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofffuncdesclo(", 17) == 0)
+ {
+ *strp += 18;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
}
return cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
}
@@ -204,6 +322,65 @@ parse_uhi16 (cd, strp, opindex, valuep)
*valuep = value;
return errmsg;
}
+ else if (strncasecmp (*strp + 1, "gothi(", 6) == 0)
+ {
+ *strp += 7;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOTHI,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value >>= 16;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotfuncdeschi(", 14) == 0)
+ {
+ *strp += 15;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTHI,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value >>= 16;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotoffhi(", 9) == 0)
+ {
+ *strp += 10;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_GOTOFFHI,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value >>= 16;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofffuncdeschi(", 17) == 0)
+ {
+ *strp += 18;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFHI,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value >>= 16;
+ *valuep = value;
+ return errmsg;
+ }
}
return cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
}
@@ -286,6 +463,53 @@ parse_d12 (cd, strp, opindex, valuep)
*valuep = value;
return errmsg;
}
+ else if (strncasecmp (*strp + 1, "got12(", 6) == 0)
+ {
+ *strp += 7;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOT12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotfuncdesc12(", 14) == 0)
+ {
+ *strp += 15;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOT12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotoff12(", 9) == 0)
+ {
+ *strp += 10;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_GOTOFF12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofffuncdesc12(", 17) == 0)
+ {
+ *strp += 18;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
}
return cgen_parse_signed_integer (cd, strp, opindex, valuep);
}
@@ -314,6 +538,56 @@ parse_s12 (cd, strp, opindex, valuep)
*valuep = value;
return errmsg;
}
+ else if ((**strp == '#' || **strp == '%')
+ && strncasecmp (*strp + 1, "got12(", 6) == 0)
+ {
+ *strp += 7;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOT12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if ((**strp == '#' || **strp == '%')
+ && strncasecmp (*strp + 1, "gotfuncdesc12(", 14) == 0)
+ {
+ *strp += 15;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOT12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if ((**strp == '#' || **strp == '%')
+ && strncasecmp (*strp + 1, "gotoff12(", 9) == 0)
+ {
+ *strp += 10;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOTOFF12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if ((**strp == '#' || **strp == '%')
+ && strncasecmp (*strp + 1, "gotofffuncdesc12(", 17) == 0)
+ {
+ *strp += 18;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
else
{
if (**strp == '#')
diff --git a/opcodes/msp430-dis.c b/opcodes/msp430-dis.c
index 767ffa472c1..1b5ffb1ec12 100644
--- a/opcodes/msp430-dis.c
+++ b/opcodes/msp430-dis.c
@@ -1,5 +1,5 @@
/* Disassemble MSP430 instructions.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
Contributed by Dmitry Diky <diwil@mail.ru>
@@ -491,6 +491,10 @@ msp430_doubleoperand (info, opcode, addr, insn, op1, op2, comm1, comm2, cycles)
{
/* Absolute. */
dst = msp430dis_opcode (addr + 2, info);
+ /* If the 'src' field is not the same as the dst
+ then this is not an rla instruction. */
+ if (dst != msp430dis_opcode (addr + 4, info))
+ return 0;
cmd_len += 4;
*cycles = 6;
sprintf (op1, "&0x%04x", PS (dst));
diff --git a/readline/ChangeLog.gdb b/readline/ChangeLog.gdb
index adc733ca0d3..abf32820194 100644
--- a/readline/ChangeLog.gdb
+++ b/readline/ChangeLog.gdb
@@ -1,3 +1,22 @@
+2003-12-28 Eli Zaretskii <eliz@elta.co.il>
+
+ * readline.c (rl_save_state, rl_restore_state): Support systems
+ that don't define SIGWINCH.
+
+2003-12-25 Eli Zaretskii <eliz@elta.co.il>
+
+ * terminal.c (_rl_get_screen_size) [__DJGPP__]: Compute the
+ screen width and height using console I/O.
+ (_rl_init_terminal_io) [__MSDOS__]: Zero out all the _rl_term_*
+ variables. Convert to _rl_* naming scheme.
+ (_rl_set_cursor) [__MSDOS__]: Ifdef away this function.
+
+2003-12-23 Eli Zaretskii <eliz@elta.co.il>
+
+ * display.c (_rl_move_vert) [__MSDOS__]: Don't use undeclared
+ variable `l'. Use `delta' instead recomputing its value anew.
+ Assign -delta to i instead of the other way around.
+
2003-12-11 Michael Chastain <mec.gnu@mindspring.com>
* rlmbutil.h: Require HAVE_MBSTATE_T for HANDLE_MULTIBYTE.
diff --git a/readline/display.c b/readline/display.c
index e151cf2862b..e7b75912c9e 100644
--- a/readline/display.c
+++ b/readline/display.c
@@ -1642,10 +1642,10 @@ _rl_move_vert (to)
#ifdef __MSDOS__
int row, col;
- l = fflush (rl_outstream); /* make sure the cursor pos is current! */
+ fflush (rl_outstream); /* make sure the cursor pos is current! */
ScreenGetCursor (&row, &col);
- ScreenSetCursor ((row + to - _rl_last_v_pos), col);
- delta = i;
+ ScreenSetCursor (row + delta, col);
+ i = -delta; /* in case someone wants to use it after the loop */
#else /* !__MSDOS__ */
if (_rl_term_up && *_rl_term_up)
for (i = 0; i < -delta; i++)
diff --git a/readline/readline.c b/readline/readline.c
index 28801f19dfc..efa0bf84c27 100644
--- a/readline/readline.c
+++ b/readline/readline.c
@@ -933,7 +933,9 @@ rl_save_state (sp)
sp->macro = rl_executing_macro;
sp->catchsigs = rl_catch_signals;
+#if defined (SIGWINCH)
sp->catchsigwinch = rl_catch_sigwinch;
+#endif
return (0);
}
@@ -967,7 +969,9 @@ rl_restore_state (sp)
rl_executing_macro = sp->macro;
rl_catch_signals = sp->catchsigs;
+#if defined (SIGWINCH)
rl_catch_sigwinch = sp->catchsigwinch;
+#endif
return (0);
}
diff --git a/readline/terminal.c b/readline/terminal.c
index ea3270e9683..06bc8e94d6b 100644
--- a/readline/terminal.c
+++ b/readline/terminal.c
@@ -220,7 +220,10 @@ _rl_get_screen_size (tty, ignore_env)
if (ignore_env == 0 && (ss = sh_get_env_value ("COLUMNS")))
_rl_screenwidth = atoi (ss);
-#if !defined (__DJGPP__)
+#if defined (__DJGPP__)
+ if (_rl_screenwidth <= 0)
+ _rl_screenwidth = ScreenCols ();
+#else
if (_rl_screenwidth <= 0 && term_string_buffer)
_rl_screenwidth = tgetnum ("co");
#endif
@@ -233,7 +236,10 @@ _rl_get_screen_size (tty, ignore_env)
if (ignore_env == 0 && (ss = sh_get_env_value ("LINES")))
_rl_screenheight = atoi (ss);
-#if !defined (__DJGPP__)
+#if defined (__DJGPP__)
+ if (_rl_screenheight <= 0)
+ _rl_screenheight = ScreenRows ();
+#else
if (_rl_screenheight <= 0 && term_string_buffer)
_rl_screenheight = tgetnum ("li");
#endif
@@ -382,12 +388,19 @@ _rl_init_terminal_io (terminal_name)
term = "dumb";
#ifdef __MSDOS__
- term_im = term_ei = term_ic = term_IC = (char *)NULL;
- term_up = term_dc = term_DC = visible_bell = (char *)NULL;
- term_ku = term_kd = term_kl = term_kr = (char *)NULL;
- term_mm = term_mo = (char *)NULL;
- terminal_can_insert = term_has_meta = _rl_term_autowrap = 0;
- term_cr = "\r";
+ _rl_term_im = _rl_term_ei = _rl_term_ic = _rl_term_IC = (char *)NULL;
+ _rl_term_up = _rl_term_dc = _rl_term_DC = _rl_visible_bell = (char *)NULL;
+ _rl_term_ku = _rl_term_kd = _rl_term_kl = _rl_term_kr = (char *)NULL;
+ _rl_term_mm = _rl_term_mo = (char *)NULL;
+ _rl_terminal_can_insert = term_has_meta = _rl_term_autowrap = 0;
+ _rl_term_cr = "\r";
+ _rl_term_clreol = _rl_term_clrpag = _rl_term_backspace = (char *)NULL;
+ _rl_term_goto = _rl_term_pc = _rl_term_ip = (char *)NULL;
+ _rl_term_ks = _rl_term_ke =_rl_term_vs = _rl_term_ve = (char *)NULL;
+ _rl_term_kh = _rl_term_kH = _rl_term_at7 = _rl_term_kI = (char *)NULL;
+#if defined(HACK_TERMCAP_MOTION)
+ _rl_term_forward_char = (char *)NULL;
+#endif
_rl_get_screen_size (tty, 0);
#else /* !__MSDOS__ */
@@ -677,6 +690,7 @@ void
_rl_set_cursor (im, force)
int im, force;
{
+#ifndef __MSDOS__
if (_rl_term_ve && _rl_term_vs)
{
if (force || im != rl_insert_mode)
@@ -687,4 +701,5 @@ _rl_set_cursor (im, force)
tputs (_rl_term_ve, 1, _rl_output_character_function);
}
}
+#endif
}
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog
index a3cd7f2248a..6447e219679 100644
--- a/sim/arm/ChangeLog
+++ b/sim/arm/ChangeLog
@@ -1,3 +1,14 @@
+2003-12-29 Mark Mitchell <mark@codesourcery.com>
+
+ * armos.c (fcntl.h): Do not include it.
+ (O_RDONLY): Do not define.
+ (O_WRONLY): Likewise.
+ (O_RDWR): Likewise.
+ (targ-vals.h): Include it.
+ (translate_open_mode): Use TARGET_O_* instead of O_*.
+ (SWIopen): Likewise.
+ * Makefile.in (armos.o): Depend on targ-vals.h.
+
2003-04-13 Nick Clifton <nickc@redhat.com>
* armvirt.c (GetWord): Only call XScale_check_memacc if in XScale
diff --git a/sim/arm/Makefile.in b/sim/arm/Makefile.in
index 7def0f967bb..1214a4a335c 100644
--- a/sim/arm/Makefile.in
+++ b/sim/arm/Makefile.in
@@ -28,7 +28,7 @@ SIM_OBJS = armemu26.o armemu32.o arminit.o armos.o armsupp.o \
## COMMON_POST_CONFIG_FRAG
-armos.o: armos.c armdefs.h armos.h armfpe.h
+armos.o: armos.c armdefs.h armos.h armfpe.h targ-vals.h
armcopro.o: armcopro.c armdefs.h
maverick.o: maverick.c armdefs.h
diff --git a/sim/arm/armos.c b/sim/arm/armos.c
index 613d07eda17..5c26b2b0b9a 100644
--- a/sim/arm/armos.c
+++ b/sim/arm/armos.c
@@ -28,19 +28,10 @@
#include <time.h>
#include <errno.h>
#include <string.h>
-#include <fcntl.h>
+#include "targ-vals.h"
-#ifndef O_RDONLY
-#define O_RDONLY 0
-#endif
-#ifndef O_WRONLY
-#define O_WRONLY 1
-#endif
-#ifndef O_RDWR
-#define O_RDWR 2
-#endif
-#ifndef O_BINARY
-#define O_BINARY 0
+#ifndef TARGET_O_BINARY
+#define TARGET_O_BINARY 0
#endif
#ifdef __STDC__
@@ -260,18 +251,18 @@ ARMword ARMul_OSLastErrorP (ARMul_State * state)
static int translate_open_mode[] =
{
- O_RDONLY, /* "r" */
- O_RDONLY + O_BINARY, /* "rb" */
- O_RDWR, /* "r+" */
- O_RDWR + O_BINARY, /* "r+b" */
- O_WRONLY + O_CREAT + O_TRUNC, /* "w" */
- O_WRONLY + O_BINARY + O_CREAT + O_TRUNC, /* "wb" */
- O_RDWR + O_CREAT + O_TRUNC, /* "w+" */
- O_RDWR + O_BINARY + O_CREAT + O_TRUNC, /* "w+b" */
- O_WRONLY + O_APPEND + O_CREAT, /* "a" */
- O_WRONLY + O_BINARY + O_APPEND + O_CREAT, /* "ab" */
- O_RDWR + O_APPEND + O_CREAT, /* "a+" */
- O_RDWR + O_BINARY + O_APPEND + O_CREAT /* "a+b" */
+ TARGET_O_RDONLY, /* "r" */
+ TARGET_O_RDONLY + TARGET_O_BINARY, /* "rb" */
+ TARGET_O_RDWR, /* "r+" */
+ TARGET_O_RDWR + TARGET_O_BINARY, /* "r+b" */
+ TARGET_O_WRONLY + TARGET_O_CREAT + TARGET_O_TRUNC, /* "w" */
+ TARGET_O_WRONLY + TARGET_O_BINARY + TARGET_O_CREAT + TARGET_O_TRUNC, /* "wb" */
+ TARGET_O_RDWR + TARGET_O_CREAT + TARGET_O_TRUNC, /* "w+" */
+ TARGET_O_RDWR + TARGET_O_BINARY + TARGET_O_CREAT + TARGET_O_TRUNC, /* "w+b" */
+ TARGET_O_WRONLY + TARGET_O_APPEND + TARGET_O_CREAT, /* "a" */
+ TARGET_O_WRONLY + TARGET_O_BINARY + TARGET_O_APPEND + TARGET_O_CREAT, /* "ab" */
+ TARGET_O_RDWR + TARGET_O_APPEND + TARGET_O_CREAT, /* "a+" */
+ TARGET_O_RDWR + TARGET_O_BINARY + TARGET_O_APPEND + TARGET_O_CREAT /* "a+b" */
};
static void
@@ -325,7 +316,7 @@ SWIopen (ARMul_State * state, ARMword name, ARMword SWIflags)
/* Filename ":tt" is special: it denotes stdin/out. */
if (strcmp (dummy, ":tt") == 0)
{
- if (flags == O_RDONLY) /* opening tty "r" */
+ if (flags == TARGET_O_RDONLY) /* opening tty "r" */
state->Reg[0] = 0; /* stdin */
else
state->Reg[0] = 1; /* stdout */
diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog
index 5d66c95ea85..9938196d7b6 100644
--- a/sim/h8300/ChangeLog
+++ b/sim/h8300/ChangeLog
@@ -1,3 +1,7 @@
+2004-01-05 Michael Snyder <msnyder@redhat.com>
+
+ * compile.c (sim_load): Don't pass a type to bfd_openr.
+
2003-12-16 Michael Snyder <msnyder@redhat.com>
Patch submitted by Anil Paranjape <AnilP1@KPITCummins.com>
diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c
index 462240ce145..ec5f974c7b3 100644
--- a/sim/h8300/compile.c
+++ b/sim/h8300/compile.c
@@ -5052,7 +5052,7 @@ sim_load (SIM_DESC sd, char *prog, bfd *abfd, int from_tty)
if (abfd != NULL)
prog_bfd = abfd;
else
- prog_bfd = bfd_openr (prog, "coff-h8300");
+ prog_bfd = bfd_openr (prog, NULL);
if (prog_bfd != NULL)
{
/* Set the cpu type. We ignore failure from bfd_check_format
diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog
index faa6ebc4f9a..9659f953aa1 100644
--- a/sim/sh/ChangeLog
+++ b/sim/sh/ChangeLog
@@ -1,3 +1,37 @@
+2004-01-07 Michael Snyder <msnyder@redhat.com>
+
+ * gencode.c: Whitespace cleanup.
+ * interp.c: Ditto.
+
+ * gencode.c: Replace 'Hitachi' with 'Renesas'.
+ (op tab): Add new instructions for sh4a, DBR, SBR.
+ (expand_opcode): Add handling for new movxy combinations.
+ (gensym_caselist): Ditto.
+ (expand_ppi_movxy): Remove movx/movy expansions,
+ now handled in expand_opcode.
+ (gensym): Add some helpful macros.
+ (expand_ppi_code): Flatten loop for simplicity, tweak for 12-bit
+ instead of 8-bit table (some insns are ambiguous to 8 bits).
+ (ppi_gensim, main): Generate 12-bit instead of 8-bit ppi table.
+
+ * interp.c: Replace 'Hitachi' with 'Renesas'.
+ (union saved_state_type): Add dbr, sgr, ldst.
+ (get_loop_bounds_ext): New function.
+ (init_dsp): Add bfd_mach_sh4al_dsp.
+ (sim_resume): Handle extended loop bounds.
+
+2003-12-18 Michael Snyder <msnyder@redhat.com>
+
+ * gencode.c (expand_opcode): Simplify and reorganize.
+ Eliminate "shift" parameter. Eliminate "4 bits at a time"
+ assumption. Flatten switch statement to a single level.
+ Add "eeee" token for even-numbered registers.
+ (bton): Delete.
+ (fsca): Use "eeee" token.
+ (ppi_moves): Rename to "expand_ppi_movxy". Do the ddt
+ [movx/movy] expansion here, as well as the ppi expansion.
+ (gensim_caselist): Accept 'eeee' along with 'nnnn'.
+
2003-11-03 J"orn Rennecke <joern.rennecke@superh.com>
* interp.c (fsca_s, fsrra_s): New functions.
diff --git a/sim/sh/gencode.c b/sim/sh/gencode.c
index 07d62a98c5a..52e611f3698 100644
--- a/sim/sh/gencode.c
+++ b/sim/sh/gencode.c
@@ -1,4 +1,5 @@
-/* Simulator/Opcode generator for the Hitachi Super-H architecture.
+/* Simulator/Opcode generator for the Renesas
+ (formerly Hitachi) / SuperH Inc. Super-H architecture.
Written by Steve Chamberlain of Cygnus Support.
sac@cygnus.com
@@ -48,7 +49,7 @@ op tab[] =
{
{ "n", "", "add #<imm>,<REG_N>", "0111nnnni8*1....",
- "R[n] += SEXT(i);",
+ "R[n] += SEXT (i);",
"if (i == 0) {",
" UNDEF(n); /* see #ifdef PARANOID */",
" break;",
@@ -84,7 +85,7 @@ op tab[] =
{ "", "", "bf <bdisp8>", "10001011i8p1....",
"if (!T) {",
- " SET_NIP (PC + 4 + (SEXT(i) * 2));",
+ " SET_NIP (PC + 4 + (SEXT (i) * 2));",
" cycles += 2;",
"}",
},
@@ -151,6 +152,11 @@ op tab[] =
"SET_SR_T (0);",
},
+ /* sh4a */
+ { "", "", "clrdmxy", "0000000010001000",
+ "saved_state.asregs.cregs.named.sr &= ~(SR_MASK_DMX | SR_MASK_DMY);"
+ },
+
{ "", "0", "cmp/eq #<imm>,R0", "10001000i8*1....",
"SET_SR_T (R0 == SEXT (i));",
},
@@ -195,7 +201,7 @@ op tab[] =
"SET_SR_T (0);",
},
- { "", "nm", "div1 <REG_M>,<REG_N>", "0011nnnnmmmm0100", /* ? MVS */
+ { "", "nm", "div1 <REG_M>,<REG_N>", "0011nnnnmmmm0100",
"div1 (R, m, n/*, T*/);",
},
@@ -229,7 +235,7 @@ op tab[] =
/* sh2e */
{ "", "", "fabs <FREG_N>", "1111nnnn01011101",
"FP_UNARY (n, fabs);",
- "/* FIXME: FR(n) &= 0x7fffffff; */",
+ "/* FIXME: FR (n) &= 0x7fffffff; */",
},
/* sh2e */
@@ -257,7 +263,7 @@ op tab[] =
" int i;",
" float f;",
" } u;",
- " u.f = DR(n);",
+ " u.f = DR (n);",
" FPUL = u.i;",
"}",
},
@@ -274,7 +280,7 @@ op tab[] =
" float f;",
" } u;",
" u.i = FPUL;",
- " SET_DR(n, u.f);",
+ " SET_DR (n, u.f);",
"}",
},
@@ -285,21 +291,30 @@ op tab[] =
},
/* sh4 */
- { "", "", "fipr <FV_M>,<FV_N>", "1111nnmm11101101",
- "/* FIXME: not implemented */",
- "RAISE_EXCEPTION (SIGILL);",
- "/* FIXME: check for DP and (n & 1) == 0? */",
+ { "", "", "fipr <FV_M>,<FV_N>", "1111vvVV11101101",
+ "if (FPSCR_PR)",
+ " RAISE_EXCEPTION (SIGILL);",
+ "else",
+ "{",
+ " double fsum = 0;",
+ " /* FIXME: check for nans and infinities. */",
+ " fsum += FR (v1+0) * FR (v2+0);",
+ " fsum += FR (v1+1) * FR (v2+1);",
+ " fsum += FR (v1+2) * FR (v2+2);",
+ " fsum += FR (v1+3) * FR (v2+3);",
+ " SET_FR (v1+3, fsum);",
+ "}",
},
/* sh2e */
{ "", "", "fldi0 <FREG_N>", "1111nnnn10001101",
- "SET_FR (n, (float)0.0);",
+ "SET_FR (n, (float) 0.0);",
"/* FIXME: check for DP and (n & 1) == 0? */",
},
/* sh2e */
{ "", "", "fldi1 <FREG_N>", "1111nnnn10011101",
- "SET_FR (n, (float)1.0);",
+ "SET_FR (n, (float) 1.0);",
"/* FIXME: check for DP and (n & 1) == 0? */",
},
@@ -310,7 +325,7 @@ op tab[] =
" int i;",
" float f;",
" } u;",
- " u.f = FR(n);",
+ " u.f = FR (n);",
" FPUL = u.i;",
},
@@ -318,16 +333,16 @@ op tab[] =
{ "", "", "float FPUL,<FREG_N>", "1111nnnn00101101",
/* sh4 */
"if (FPSCR_PR)",
- " SET_DR (n, (double)FPUL);",
+ " SET_DR (n, (double) FPUL);",
"else",
"{",
- " SET_FR (n, (float)FPUL);",
+ " SET_FR (n, (float) FPUL);",
"}",
},
/* sh2e */
{ "", "", "fmac <FREG_0>,<FREG_M>,<FREG_N>", "1111nnnnmmmm1110",
- "SET_FR (n, FR(m) * FR(0) + FR(n));",
+ "SET_FR (n, FR (m) * FR (0) + FR (n));",
"/* FIXME: check for DP and (n & 1) == 0? */",
},
@@ -355,7 +370,7 @@ op tab[] =
"else",
"{",
" MA (1);",
- " WLAT (R[n], FI(m));",
+ " WLAT (R[n], FI (m));",
"}",
},
/* sh2e */
@@ -368,7 +383,7 @@ op tab[] =
"else",
"{",
" MA (1);",
- " SET_FI(n, RLAT(R[m]));",
+ " SET_FI (n, RLAT (R[m]));",
"}",
},
/* sh2e */
@@ -398,7 +413,7 @@ op tab[] =
"{",
" MA (1);",
" R[n] -= 4;",
- " WLAT (R[n], FI(m));",
+ " WLAT (R[n], FI (m));",
"}",
},
/* sh2e */
@@ -411,7 +426,7 @@ op tab[] =
"else",
"{",
" MA (1);",
- " SET_FI(n, RLAT(R[0] + R[m]));",
+ " SET_FI (n, RLAT (R[0] + R[m]));",
"}",
},
/* sh2e */
@@ -424,7 +439,7 @@ op tab[] =
"else",
"{",
" MA (1);",
- " WLAT((R[0]+R[n]), FI(m));",
+ " WLAT ((R[0]+R[n]), FI (m));",
"}",
},
@@ -432,12 +447,17 @@ op tab[] =
/* sh2e */
{ "", "", "fmul <FREG_M>,<FREG_N>", "1111nnnnmmmm0010",
- "FP_OP(n, *, m);",
+ "FP_OP (n, *, m);",
},
/* sh2e */
{ "", "", "fneg <FREG_N>", "1111nnnn01001101",
- "FP_UNARY(n, -);",
+ "FP_UNARY (n, -);",
+ },
+
+ /* sh4a */
+ { "", "", "fpchg", "1111011111111101",
+ "SET_FPSCR (GET_FPSCR () ^ FPSCR_MASK_PR);",
},
/* sh4 */
@@ -445,11 +465,11 @@ op tab[] =
"if (FPSCR_PR)",
" RAISE_EXCEPTION (SIGILL);",
"else",
- " SET_FPSCR (GET_FPSCR() ^ FPSCR_MASK_FR);",
+ " SET_FPSCR (GET_FPSCR () ^ FPSCR_MASK_FR);",
},
/* sh4 */
- { "", "", "fsca", "1111nnn011111101",
+ { "", "", "fsca", "1111eeee11111101",
"if (FPSCR_PR)",
" RAISE_EXCEPTION (SIGILL);",
"else",
@@ -461,12 +481,12 @@ op tab[] =
/* sh4 */
{ "", "", "fschg", "1111001111111101",
- "SET_FPSCR (GET_FPSCR() ^ FPSCR_MASK_SZ);",
+ "SET_FPSCR (GET_FPSCR () ^ FPSCR_MASK_SZ);",
},
/* sh3e */
{ "", "", "fsqrt <FREG_N>", "1111nnnn01101101",
- "FP_UNARY(n, sqrt);",
+ "FP_UNARY (n, sqrt);",
},
/* sh4 */
@@ -479,23 +499,34 @@ op tab[] =
/* sh2e */
{ "", "", "fsub <FREG_M>,<FREG_N>", "1111nnnnmmmm0001",
- "FP_OP(n, -, m);",
+ "FP_OP (n, -, m);",
},
/* sh2e */
{ "", "", "ftrc <FREG_N>, FPUL", "1111nnnn00111101",
/* sh4 */
"if (FPSCR_PR) {",
- " if (DR(n) != DR(n)) /* NaN */",
+ " if (DR (n) != DR (n)) /* NaN */",
" FPUL = 0x80000000;",
" else",
- " FPUL = (int)DR(n);",
+ " FPUL = (int) DR (n);",
"}",
"else",
- "if (FR(n) != FR(n)) /* NaN */",
+ "if (FR (n) != FR (n)) /* NaN */",
" FPUL = 0x80000000;",
"else",
- " FPUL = (int)FR(n);",
+ " FPUL = (int) FR (n);",
+ },
+
+ /* sh4 */
+ { "", "", "ftrv <FV_N>", "1111vv0111111101",
+ "if (FPSCR_PR)",
+ " RAISE_EXCEPTION (SIGILL);",
+ "else",
+ "{",
+ " /* FIXME not implemented. */",
+ " printf (\"ftrv xmtrx, FV%d\\n\", v1);",
+ "}",
},
/* sh2e */
@@ -535,12 +566,18 @@ op tab[] =
{ "", "n", "ldc <REG_N>,MOD", "0100nnnn01011110",
"SET_MOD (R[n]);",
},
-#if 0
{ "", "n", "ldc <REG_N>,DBR", "0100nnnn11111010",
- "DBR = R[n];",
- "/* FIXME: user mode */",
+ "if (SR_MD)",
+ " DBR = R[n]; /* priv mode */",
+ "else",
+ " RAISE_EXCEPTION (SIGILL); /* user mode */",
+ },
+ { "", "n", "ldc <REG_N>,SGR", "0100nnnn00111010",
+ "if (SR_MD)",
+ " SGR = R[n]; /* priv mode */",
+ "else",
+ " RAISE_EXCEPTION (SIGILL); /* user mode */",
},
-#endif
{ "n", "n", "ldc.l @<REG_N>+,<CREG_M>", "0100nnnnmmmm0111",
"MA (1);",
"CREG (m) = RLAT (R[n]);",
@@ -558,14 +595,26 @@ op tab[] =
"SET_MOD (RLAT (R[n]));",
"R[n] += 4;",
},
-#if 0
{ "n", "n", "ldc.l @<REG_N>+,DBR", "0100nnnn11110110",
- "MA (1);",
- "DBR = RLAT (R[n]);",
- "R[n] += 4;",
- "/* FIXME: user mode */",
+ "if (SR_MD)",
+ "{ /* priv mode */",
+ " MA (1);",
+ " DBR = RLAT (R[n]);",
+ " R[n] += 4;",
+ "}",
+ "else",
+ " RAISE_EXCEPTION (SIGILL); /* user mode */",
+ },
+ { "n", "n", "ldc.l @<REG_N>+,SGR", "0100nnnn00110110",
+ "if (SR_MD)",
+ "{ /* priv mode */",
+ " MA (1);",
+ " SGR = RLAT (R[n]);",
+ " R[n] += 4;",
+ "}",
+ "else",
+ " RAISE_EXCEPTION (SIGILL); /* user mode */",
},
-#endif
/* sh-dsp */
{ "", "", "ldre @(<disp>,PC)", "10001110i8p1....",
@@ -575,22 +624,36 @@ op tab[] =
"RS = SEXT (i) * 2 + 4 + PH2T (PC);",
},
+ /* sh4a */
+ { "", "n", "ldrc <REG_N>", "0100nnnn00110100",
+ "SET_RC (R[n]);",
+ "loop = get_loop_bounds_ext (RS, RE, memory, mem_end, maskw, endianw);",
+ "CHECK_INSN_PTR (insn_ptr);",
+ "RE |= 1;",
+ },
+ { "", "", "ldrc #<imm>", "10001010i8*1....",
+ "SET_RC (i);",
+ "loop = get_loop_bounds_ext (RS, RE, memory, mem_end, maskw, endianw);",
+ "CHECK_INSN_PTR (insn_ptr);",
+ "RE |= 1;",
+ },
+
{ "", "n", "lds <REG_N>,<SREG_M>", "0100nnnnssss1010",
"SREG (m) = R[n];",
},
{ "n", "n", "lds.l @<REG_N>+,<SREG_M>", "0100nnnnssss0110",
"MA (1);",
- "SREG (m) = RLAT(R[n]);",
+ "SREG (m) = RLAT (R[n]);",
"R[n] += 4;",
},
/* sh2e / sh-dsp (lds <REG_N>,DSR) */
{ "", "n", "lds <REG_N>,FPSCR", "0100nnnn01101010",
- "SET_FPSCR(R[n]);",
+ "SET_FPSCR (R[n]);",
},
/* sh2e / sh-dsp (lds.l @<REG_N>+,DSR) */
{ "n", "n", "lds.l @<REG_N>+,FPSCR", "0100nnnn01100110",
"MA (1);",
- "SET_FPSCR (RLAT(R[n]));",
+ "SET_FPSCR (RLAT (R[n]));",
"R[n] += 4;",
},
@@ -599,15 +662,15 @@ op tab[] =
},
{ "nm", "nm", "mac.l @<REG_M>+,@<REG_N>+", "0000nnnnmmmm1111",
- "macl(&R0,memory,n,m);",
+ "macl (&R0,memory,n,m);",
},
{ "nm", "nm", "mac.w @<REG_M>+,@<REG_N>+", "0100nnnnmmmm1111",
- "macw(&R0,memory,n,m,endianw);",
+ "macw (&R0,memory,n,m,endianw);",
},
{ "n", "", "mov #<imm>,<REG_N>", "1110nnnni8*1....",
- "R[n] = SEXT(i);",
+ "R[n] = SEXT (i);",
},
{ "n", "m", "mov <REG_M>,<REG_N>", "0110nnnnmmmm0011",
"R[n] = R[m];",
@@ -777,14 +840,49 @@ op tab[] =
"WLAT (R[n], R[0]);",
},
+ { "n", "0", "movco.l R0, @<REG_N>", "0000nnnn01110011",
+ "/* LDST -> T */",
+ "SET_SR_T (LDST);",
+ "/* if (T) R0 -> (Rn) */",
+ "if (T)",
+ " WLAT (R[n], R[0]);",
+ "/* 0 -> LDST */",
+ "SET_LDST (0);",
+ },
+
+ { "0", "n", "movli.l @<REG_N>, R0", "0000nnnn01100011",
+ "/* 1 -> LDST */",
+ "SET_LDST (1);",
+ "/* (Rn) -> R0 */",
+ "R[0] = RLAT (R[n]);",
+ "/* if (interrupt/exception) 0 -> LDST */",
+ "/* (we don't simulate asynchronous interrupts/exceptions) */",
+ },
+
{ "n", "", "movt <REG_N>", "0000nnnn00101001",
"R[n] = T;",
},
+ { "0", "n", "movua.l @<REG_N>,R0", "0100nnnn10101001",
+ "int regn = R[n];",
+ "MA (1);",
+ "R[0] = (RBAT (regn) << 24) + (RBAT (regn + 1) << 16) + ",
+ " (RBAT (regn + 2) << 8) + RBAT (regn + 3);",
+ "L (n);",
+ },
+ { "0n", "n", "movua.l @<REG_N>+,R0", "0100nnnn11101001",
+ "int regn = R[n];",
+ "MA (1);",
+ "R[0] = (RBAT (regn) << 24) + (RBAT (regn + 1) << 16) + ",
+ " (RBAT (regn + 2) << 8) + RBAT (regn + 3);",
+ "R[n] += 4;",
+ "L (n);",
+ },
{ "", "mn", "mul.l <REG_M>,<REG_N>", "0000nnnnmmmm0111",
- "MACL = ((int)R[n]) * ((int)R[m]);",
+ "MACL = ((int) R[n]) * ((int) R[m]);",
},
-#if 0
+#if 0 /* FIXME: The above cast to int is not really portable.
+ It should be replaced by a SEXT32 macro. */
{ "", "nm", "mul.l <REG_M>,<REG_N>", "0000nnnnmmmm0111",
"MACL = R[n] * R[m];",
},
@@ -792,13 +890,13 @@ op tab[] =
/* muls.w - see muls */
{ "", "mn", "muls <REG_M>,<REG_N>", "0010nnnnmmmm1111",
- "MACL = ((int)(short)R[n]) * ((int)(short)R[m]);",
+ "MACL = ((int) (short) R[n]) * ((int) (short) R[m]);",
},
/* mulu.w - see mulu */
{ "", "mn", "mulu <REG_M>,<REG_N>", "0010nnnnmmmm1110",
- "MACL = (((unsigned int)(unsigned short)R[n])",
- " * ((unsigned int)(unsigned short)R[m]));",
+ "MACL = (((unsigned int) (unsigned short) R[n])",
+ " * ((unsigned int) (unsigned short) R[m]));",
},
{ "n", "m", "neg <REG_M>,<REG_N>", "0110nnnnmmmm1011",
@@ -820,6 +918,12 @@ op tab[] =
"R[n] = ~R[m];",
},
+ /* sh4a */
+ { "", "n", "icbi @<REG_N>", "0000nnnn11100011",
+ "/* Except for the effect on the cache - which is not simulated -",
+ " this is like a nop. */",
+ },
+
{ "", "n", "ocbi @<REG_N>", "0000nnnn10010011",
"RSBAT (R[n]); /* Take exceptions like byte load, otherwise noop. */",
"/* FIXME: Cache not implemented */",
@@ -851,6 +955,18 @@ op tab[] =
" this is like a nop. */",
},
+ /* sh4a */
+ { "", "n", "prefi @<REG_N>", "0000nnnn11010011",
+ "/* Except for the effect on the cache - which is not simulated -",
+ " this is like a nop. */",
+ },
+
+ /* sh4a */
+ { "", "", "synco", "0000000010101011",
+ "/* Except for the effect on the pipeline - which is not simulated -",
+ " this is like a nop. */",
+ },
+
{ "n", "n", "rotcl <REG_N>", "0100nnnn00100100",
"ult = R[n] < 0;",
"R[n] = (R[n] << 1) | T;",
@@ -898,6 +1014,18 @@ op tab[] =
"Delay_Slot (PC + 2);",
},
+ /* sh4a */
+ { "", "", "setdmx", "0000000010011000",
+ "saved_state.asregs.cregs.named.sr |= SR_MASK_DMX;"
+ "saved_state.asregs.cregs.named.sr &= ~SR_MASK_DMY;"
+ },
+
+ /* sh4a */
+ { "", "", "setdmy", "0000000011001000",
+ "saved_state.asregs.cregs.named.sr |= SR_MASK_DMY;"
+ "saved_state.asregs.cregs.named.sr &= ~SR_MASK_DMX;"
+ },
+
/* sh-dsp */
{ "", "n", "setrc <REG_N>", "0100nnnn00010100",
"SET_RC (R[n]);",
@@ -980,31 +1108,43 @@ op tab[] =
"R[n] = CREG (m);",
},
-#if 0
{ "n", "", "stc SGR,<REG_N>", "0000nnnn00111010",
- "R[n] = SGR;",
+ "if (SR_MD)",
+ " R[n] = SGR; /* priv mode */",
+ "else",
+ " RAISE_EXCEPTION (SIGILL); /* user mode */",
},
{ "n", "", "stc DBR,<REG_N>", "0000nnnn11111010",
- "R[n] = DBR;",
+ "if (SR_MD)",
+ " R[n] = DBR; /* priv mode */",
+ "else",
+ " RAISE_EXCEPTION (SIGILL); /* user mode */",
},
-#endif
{ "n", "n", "stc.l <CREG_M>,@-<REG_N>", "0100nnnnmmmm0011",
"MA (1);",
"R[n] -= 4;",
"WLAT (R[n], CREG (m));",
},
-#if 0
{ "n", "n", "stc.l SGR,@-<REG_N>", "0100nnnn00110010",
- "MA (1);",
- "R[n] -= 4;",
- "WLAT (R[n], SGR);",
+ "if (SR_MD)",
+ "{ /* priv mode */",
+ " MA (1);",
+ " R[n] -= 4;",
+ " WLAT (R[n], SGR);",
+ "}",
+ "else",
+ " RAISE_EXCEPTION (SIGILL); /* user mode */",
},
{ "n", "n", "stc.l DBR,@-<REG_N>", "0100nnnn11110010",
- "MA (1);",
- "R[n] -= 4;",
- "WLAT (R[n], DBR);",
+ "if (SR_MD)",
+ "{ /* priv mode */",
+ " MA (1);",
+ " R[n] -= 4;",
+ " WLAT (R[n], DBR);",
+ "}",
+ "else",
+ " RAISE_EXCEPTION (SIGILL); /* user mode */",
},
-#endif
{ "n", "", "sts <SREG_M>,<REG_N>", "0000nnnnssss1010",
"R[n] = SREG (m);",
@@ -1044,9 +1184,9 @@ op tab[] =
{ "", "n", "tas.b @<REG_N>", "0100nnnn00011011",
"MA (1);",
- "ult = RBAT(R[n]);",
+ "ult = RBAT (R[n]);",
"SET_SR_T (ult == 0);",
- "WBAT(R[n],ult|0x80);",
+ "WBAT (R[n],ult|0x80);",
},
{ "0", "", "trapa #<imm>", "11000011i8*1....",
@@ -1056,15 +1196,15 @@ op tab[] =
#if 0
"else {",
/* SH-[12] */
- " R[15]-=4;",
- " WLAT (R[15], GET_SR());",
- " R[15]-=4;",
+ " R[15] -= 4;",
+ " WLAT (R[15], GET_SR ());",
+ " R[15] -= 4;",
" WLAT (R[15], PH2T (PC + 2));",
#else
"else if (!SR_BL) {",
- " SSR = GET_SR();",
+ " SSR = GET_SR ();",
" SPC = PH2T (PC + 2);",
- " SET_SR (GET_SR() | SR_MASK_MD | SR_MASK_BL | SR_MASK_RB);",
+ " SET_SR (GET_SR () | SR_MASK_MD | SR_MASK_BL | SR_MASK_RB);",
" /* FIXME: EXPEVT = 0x00000160; */",
#endif
" SET_NIP (PT2H (RLAT (VBR + (imm<<2))));",
@@ -1102,10 +1242,10 @@ op tab[] =
#if 0
{ "divs.l <REG_M>,<REG_N>", "0100nnnnmmmm1110",
- "divl(0,R[n],R[m]);",
+ "divl (0,R[n],R[m]);",
},
{ "divu.l <REG_M>,<REG_N>", "0100nnnnmmmm1101",
- "divl(0,R[n],R[m]);",
+ "divl (0,R[n],R[m]);",
},
#endif
@@ -1258,56 +1398,118 @@ op movsxy_tab[] =
"WLAT (R[n], SEXT (DSP_R (m)));",
"R[n] += R[8];",
},
- { "", "n", "movx.w @<REG_x>,<DSP_XX>", "111100xxXX000100",
+ { "", "n", "movx.w @<REG_xy>,<DSP_XY>", "111100xyXY0001??",
"DSP_R (m) = RSWAT (R[n]) << 16;",
- "iword &= 0xfd53; goto top;",
+ "if (iword & 3)",
+ " {",
+ " iword &= 0xfd53; goto top;",
+ " }",
+ },
+ { "", "n", "movx.l @<REG_xy>,<DSP_XY>", "111100xyXY010100",
+ "DSP_R (m) = RLAT (R[n]);",
},
- { "n", "n", "movx.w @<REG_x>+,<DSP_XX>", "111100xxXX001000",
+ { "n", "n", "movx.w @<REG_xy>+,<DSP_XY>", "111100xyXY0010??",
"DSP_R (m) = RSWAT (R[n]) << 16;",
"R[n] += ((R[n] & 0xffff) == MOD_ME) ? MOD_DELTA : 2;",
- "iword &= 0xfd53; goto top;",
+ "if (iword & 3)",
+ " {",
+ " iword &= 0xfd53; goto top;",
+ " }",
+ },
+ { "n", "n", "movx.l @<REG_xy>+,<DSP_XY>", "111100xyXY011000",
+ "DSP_R (m) = RLAT (R[n]);",
+ "R[n] += ((R[n] & 0xffff) == MOD_ME) ? MOD_DELTA : 4;",
},
- { "n", "n8","movx.w @<REG_x>+REG_8,<DSP_XX>", "111100xxXX001100",
+ { "n", "n8","movx.w @<REG_xy>+REG_8,<DSP_XY>", "111100xyXY0011??",
"DSP_R (m) = RSWAT (R[n]) << 16;",
"R[n] += ((R[n] & 0xffff) == MOD_ME) ? MOD_DELTA : R[8];",
- "iword &= 0xfd53; goto top;",
+ "if (iword & 3)",
+ " {",
+ " iword &= 0xfd53; goto top;",
+ " }",
},
- { "", "n", "movx.w <DSP_Aa>,@<REG_x>", "111100xxaa100100",
+ { "n", "n8","movx.l @<REG_xy>+REG_8,<DSP_XY>", "111100xyXY011100",
+ "DSP_R (m) = RLAT (R[n]);",
+ "R[n] += ((R[n] & 0xffff) == MOD_ME) ? MOD_DELTA : R[8];",
+ },
+ { "", "n", "movx.w <DSP_Ax>,@<REG_xy>", "111100xyax1001??",
"WWAT (R[n], DSP_R (m) >> 16);",
- "iword &= 0xfd53; goto top;",
+ "if (iword & 3)",
+ " {",
+ " iword &= 0xfd53; goto top;",
+ " }",
+ },
+ { "", "n", "movx.l <DSP_Ax>,@<REG_xy>", "111100xyax110100",
+ "WLAT (R[n], DSP_R (m));",
},
- { "n", "n", "movx.w <DSP_Aa>,@<REG_x>+", "111100xxaa101000",
+ { "n", "n", "movx.w <DSP_Ax>,@<REG_xy>+", "111100xyax1010??",
"WWAT (R[n], DSP_R (m) >> 16);",
"R[n] += ((R[n] & 0xffff) == MOD_ME) ? MOD_DELTA : 2;",
- "iword &= 0xfd53; goto top;",
+ "if (iword & 3)",
+ " {",
+ " iword &= 0xfd53; goto top;",
+ " }",
},
- { "n", "n8","movx.w <DSP_Aa>,@<REG_x>+REG_8","111100xxaa101100",
+ { "n", "n", "movx.l <DSP_Ax>,@<REG_xy>+", "111100xyax111000",
+ "WLAT (R[n], DSP_R (m));",
+ "R[n] += ((R[n] & 0xffff) == MOD_ME) ? MOD_DELTA : 4;",
+ },
+ { "n", "n8","movx.w <DSP_Ax>,@<REG_xy>+REG_8","111100xyax1011??",
"WWAT (R[n], DSP_R (m) >> 16);",
"R[n] += ((R[n] & 0xffff) == MOD_ME) ? MOD_DELTA : R[8];",
- "iword &= 0xfd53; goto top;",
+ "if (iword & 3)",
+ " {",
+ " iword &= 0xfd53; goto top;",
+ " }",
},
- { "", "n", "movy.w @<REG_y>,<DSP_YY>", "111100yyYY000001",
+ { "n", "n8","movx.l <DSP_Ax>,@<REG_xy>+REG_8","111100xyax111100",
+ "WLAT (R[n], DSP_R (m));",
+ "R[n] += ((R[n] & 0xffff) == MOD_ME) ? MOD_DELTA : R[8];",
+ },
+ { "", "n", "movy.w @<REG_yx>,<DSP_YX>", "111100yxYX000001",
"DSP_R (m) = RSWAT (R[n]) << 16;",
},
- { "n", "n", "movy.w @<REG_y>+,<DSP_YY>", "111100yyYY000010",
+ { "n", "n", "movy.w @<REG_yx>+,<DSP_YX>", "111100yxYX000010",
"DSP_R (m) = RSWAT (R[n]) << 16;",
"R[n] += ((R[n] | ~0xffff) == MOD_ME) ? MOD_DELTA : 2;",
},
- { "n", "n9","movy.w @<REG_y>+REG_9,<DSP_YY>", "111100yyYY000011",
+ { "n", "n9","movy.w @<REG_yx>+REG_9,<DSP_YX>", "111100yxYX000011",
"DSP_R (m) = RSWAT (R[n]) << 16;",
"R[n] += ((R[n] | ~0xffff) == MOD_ME) ? MOD_DELTA : R[9];",
},
- { "", "n", "movy.w <DSP_Aa>,@<REG_y>", "111100yyAA010001",
+ { "", "n", "movy.w <DSP_Ay>,@<REG_yx>", "111100yxAY010001",
"WWAT (R[n], DSP_R (m) >> 16);",
},
- { "n", "n", "movy.w <DSP_Aa>,@<REG_y>+", "111100yyAA010010",
+ { "n", "n", "movy.w <DSP_Ay>,@<REG_yx>+", "111100yxAY010010",
"WWAT (R[n], DSP_R (m) >> 16);",
"R[n] += ((R[n] | ~0xffff) == MOD_ME) ? MOD_DELTA : 2;",
},
- { "n", "n9", "movy.w <DSP_Aa>,@<REG_y>+REG_9", "111100yyAA010011",
+ { "n", "n9", "movy.w <DSP_Ay>,@<REG_yx>+REG_9", "111100yxAY010011",
"WWAT (R[n], DSP_R (m) >> 16);",
"R[n] += ((R[n] | ~0xffff) == MOD_ME) ? MOD_DELTA : R[9];",
},
+ { "", "n", "movy.l @<REG_yx>,<DSP_YX>", "111100yxYX100001",
+ "DSP_R (m) = RLAT (R[n]);",
+ },
+ { "n", "n", "movy.l @<REG_yx>+,<DSP_YX>", "111100yxYX100010",
+ "DSP_R (m) = RLAT (R[n]);",
+ "R[n] += ((R[n] | ~0xffff) == MOD_ME) ? MOD_DELTA : 4;",
+ },
+ { "n", "n9","movy.l @<REG_yx>+REG_9,<DSP_YX>", "111100yxYX100011",
+ "DSP_R (m) = RLAT (R[n]);",
+ "R[n] += ((R[n] | ~0xffff) == MOD_ME) ? MOD_DELTA : R[9];",
+ },
+ { "", "n", "movy.l <DSP_Ay>,@<REG_yx>", "111100yxAY110001",
+ "WLAT (R[n], DSP_R (m));",
+ },
+ { "n", "n", "movy.l <DSP_Ay>,@<REG_yx>+", "111100yxAY110010",
+ "WLAT (R[n], DSP_R (m));",
+ "R[n] += ((R[n] | ~0xffff) == MOD_ME) ? MOD_DELTA : 4;",
+ },
+ { "n", "n9", "movy.l <DSP_Ay>,@<REG_yx>+REG_9", "111100yxAY110011",
+ "WLAT (R[n], DSP_R (m));",
+ "R[n] += ((R[n] | ~0xffff) == MOD_ME) ? MOD_DELTA : R[9];",
+ },
{ "", "", "nopx nopy", "1111000000000000",
"/* nop */",
},
@@ -1462,7 +1664,7 @@ op ppi_tab[] =
"DSR |= carry;\n",
"goto assign_z;\n",
},
- { "","", "pcmp Sx,Sy", "10000100xxyy....",
+ { "","", "pcmp Sx,Sy", "10000100xxyyzzzz",
"int Sx = DSP_R (x);",
"int Sx_grd = GET_DSP_GRD (x);",
"int Sy = DSP_R (y);",
@@ -1479,6 +1681,24 @@ op ppi_tab[] =
},
{ "","", "pwad Sx,Sy,Dz", "10110100xxyyzzzz",
},
+ { "","", "(if cc) pabs Sx,Dz", "100010ccxx01zzzz",
+ "/* FIXME: duplicate code pabs. */",
+ "res = DSP_R (x);",
+ "res_grd = GET_DSP_GRD (x);",
+ "if (res >= 0)",
+ " carry = 0;",
+ "else",
+ " {",
+ " res = -res;",
+ " carry = (res != 0); /* The manual has a bug here. */",
+ " res_grd = -res_grd - carry;",
+ " }",
+ "COMPUTE_OVERFLOW;",
+ "/* ??? The re-computing of overflow after",
+ " saturation processing is specific to pabs. */",
+ "overflow = res_grd != SIGN32 (res) ? DSR_MASK_V : 0;",
+ "ADD_SUB_GE;",
+ },
{ "","", "pabs Sx,Dz", "10001000xx..zzzz",
"res = DSP_R (x);",
"res_grd = GET_DSP_GRD (x);",
@@ -1496,6 +1716,18 @@ op ppi_tab[] =
"overflow = res_grd != SIGN32 (res) ? DSR_MASK_V : 0;",
"ADD_SUB_GE;",
},
+
+ { "","", "(if cc) prnd Sx,Dz", "100110ccxx01zzzz",
+ "/* FIXME: duplicate code prnd. */",
+ "int Sx = DSP_R (x);",
+ "int Sx_grd = GET_DSP_GRD (x);",
+ "",
+ "res = (Sx + 0x8000) & 0xffff0000;",
+ "carry = (unsigned) res < (unsigned) Sx;",
+ "res_grd = Sx_grd + carry;",
+ "COMPUTE_OVERFLOW;",
+ "ADD_SUB_GE;",
+ },
{ "","", "prnd Sx,Dz", "10011000xx..zzzz",
"int Sx = DSP_R (x);",
"int Sx_grd = GET_DSP_GRD (x);",
@@ -1506,6 +1738,31 @@ op ppi_tab[] =
"COMPUTE_OVERFLOW;",
"ADD_SUB_GE;",
},
+
+ { "","", "(if cc) pabs Sy,Dz", "101010cc01yyzzzz",
+ "/* FIXME: duplicate code pabs. */",
+ "res = DSP_R (y);",
+ "res_grd = 0;",
+ "overflow = 0;",
+ "greater_equal = DSR_MASK_G;",
+ "if (res >= 0)",
+ " carry = 0;",
+ "else",
+ " {",
+ " res = -res;",
+ " carry = 1;",
+ " if (res < 0)",
+ " {",
+ " if (S)",
+ " res = 0x7fffffff;",
+ " else",
+ " {",
+ " overflow = DSR_MASK_V;",
+ " greater_equal = 0;",
+ " }",
+ " }",
+ " }",
+ },
{ "","", "pabs Sy,Dz", "10101000..yyzzzz",
"res = DSP_R (y);",
"res_grd = 0;",
@@ -1529,6 +1786,17 @@ op ppi_tab[] =
" }",
" }",
},
+ { "","", "(if cc) prnd Sy,Dz", "101110cc01yyzzzz",
+ "/* FIXME: duplicate code prnd. */",
+ "int Sy = DSP_R (y);",
+ "int Sy_grd = SIGN32 (Sy);",
+ "",
+ "res = (Sy + 0x8000) & 0xffff0000;",
+ "carry = (unsigned) res < (unsigned) Sy;",
+ "res_grd = Sy_grd + carry;",
+ "COMPUTE_OVERFLOW;",
+ "ADD_SUB_GE;",
+ },
{ "","", "prnd Sy,Dz", "10111000..yyzzzz",
"int Sy = DSP_R (y);",
"int Sy_grd = SIGN32 (Sy);",
@@ -1609,6 +1877,18 @@ op ppi_tab[] =
"COMPUTE_OVERFLOW;",
"ADD_SUB_GE;",
},
+ { "","", "(if cc) psub Sy,Sx,Dz", "100001ccxxyyzzzz",
+ "int Sx = DSP_R (x);",
+ "int Sx_grd = GET_DSP_GRD (x);",
+ "int Sy = DSP_R (y);",
+ "int Sy_grd = SIGN32 (Sy);",
+ "",
+ "res = Sy - Sx;",
+ "carry = (unsigned) res > (unsigned) Sy;",
+ "res_grd = Sy_grd - Sx_grd - carry;",
+ "COMPUTE_OVERFLOW;",
+ "ADD_SUB_GE;",
+ },
{ "","", "(if cc) padd Sx,Sy,Dz", "101100ccxxyyzzzz",
"int Sx = DSP_R (x);",
"int Sx_grd = GET_DSP_GRD (x);",
@@ -1698,6 +1978,21 @@ op ppi_tab[] =
"overflow = 0;",
"greater_equal = 1;",
},
+ { "","", "pclr Du pmuls Se,Sf,Dg", "0100eeff0001gguu",
+ "/* Do multiply. */",
+ "res = (DSP_R (e) >> 16) * (DSP_R (f) >> 16) * 2;",
+ "if (res == 0x80000000)",
+ " res = 0x7fffffff;",
+ "DSP_R (g) = res;",
+ "DSP_GRD (g) = SIGN32 (res);",
+ "/* FIXME: update DSR based on results of multiply! */",
+ "",
+ "/* Do clr. */",
+ "z = u;",
+ "res = 0;",
+ "res_grd = 0;",
+ "goto assign_z;",
+ },
{ "","", "(if cc) pdmsb Sx,Dz", "100111ccxx..zzzz",
"unsigned Sx = DSP_R (x);",
"int Sx_grd = GET_DSP_GRD (x);",
@@ -1813,6 +2108,27 @@ op ppi_tab[] =
" MACL = DSP_R (z) = res;",
"return;",
},
+ /* sh4a */
+ { "","", "(if cc) pswap Sx,Dz", "100111ccxx01zzzz",
+ "int Sx = DSP_R (x);",
+ "",
+ "res = ((Sx & 0xffff) * 65536) + ((Sx >> 16) & 0xffff);",
+ "res_grd = GET_DSP_GRD (x);",
+ "carry = 0;",
+ "overflow = 0;",
+ "greater_equal = res & 0x80000000 ? 0 : DSR_MASK_G;",
+ },
+ /* sh4a */
+ { "","", "(if cc) pswap Sy,Dz", "101111cc01yyzzzz",
+ "int Sy = DSP_R (y);",
+ "",
+ "res = ((Sy & 0xffff) * 65536) + ((Sy >> 16) & 0xffff);",
+ "res_grd = SIGN32 (Sy);",
+ "carry = 0;",
+ "overflow = 0;",
+ "greater_equal = res & 0x80000000 ? 0 : DSR_MASK_G;",
+ },
+
{0, 0}
};
@@ -1950,128 +2266,130 @@ gengastab ()
}
-/* Convert a string of 4 binary digits into an int */
-
-static
-int
-bton (s)
- char *s;
-
-{
- int n = 0;
- int v = 8;
- while (v)
- {
- if (*s == '1')
- n |= v;
- v >>= 1;
- s++;
- }
- return n;
-}
-
static unsigned char table[1 << 16];
-/* Take an opcode expand all varying fields in it out and fill all the
- right entries in 'table' with the opcode index*/
+/* Take an opcode, expand all varying fields in it out and fill all the
+ right entries in 'table' with the opcode index. */
static void
-expand_opcode (shift, val, i, s)
- int shift;
+expand_opcode (val, i, s)
int val;
int i;
char *s;
{
- int j;
-
if (*s == 0)
{
table[val] = i;
}
else
{
+ int j = 0, m = 0;
+
switch (s[0])
{
-
+ default:
+ fprintf (stderr, "expand_opcode: illegal char '%c'\n", s[0]);
+ exit (1);
case '0':
case '1':
- {
- int m, mv;
-
- if (s[1] - '0' > 1U || !s[2] || ! s[3])
- expand_opcode (shift - 1, val + s[0] - '0', i, s + 1);
- val |= bton (s) << shift;
- if (s[2] == '0' || s[2] == '1')
- expand_opcode (shift - 4, val, i, s + 4);
- else if (s[2] == 'N')
- for (j = 0; j < 4; j++)
- expand_opcode (shift - 4, val | (j << shift), i, s + 4);
- else if (s[2] == 'x')
- for (j = 0; j < 4; j += 2)
- for (m = 0; m < 32; m++)
- {
- /* Ignore illegal nopy */
- if ((m & 7) == 0 && m != 0)
- continue;
- mv = m & 3 | (m & 4) << 2 | (m & 8) << 3 | (m & 16) << 4;
- expand_opcode (shift - 4, val | mv | (j << shift), i,
- s + 4);
- }
- else if (s[2] == 'y')
- for (j = 0; j < 2; j++)
- expand_opcode (shift - 4, val | (j << shift), i, s + 4);
- break;
- }
+ /* Consume an arbitrary number of ones and zeros. */
+ do {
+ j = (j << 1) + (s[m++] - '0');
+ } while (s[m] == '0' || s[m] == '1');
+ expand_opcode ((val << m) | j, i, s + m);
+ break;
+ case 'N': /* NN -- four-way fork */
+ for (j = 0; j < 4; j++)
+ expand_opcode ((val << 2) | j, i, s + 2);
+ break;
+ case 'x': /* xx or xy -- two-way or four-way fork */
+ for (j = 0; j < 4; j += (s[1] == 'x' ? 2 : 1))
+ expand_opcode ((val << 2) | j, i, s + 2);
+ break;
+ case 'y': /* yy or yx -- two-way or four-way fork */
+ for (j = 0; j < (s[1] == 'x' ? 4 : 2); j++)
+ expand_opcode ((val << 2) | j, i, s + 2);
+ break;
+ case '?': /* Seven-way "wildcard" fork for movxy */
+ expand_opcode ((val << 2), i, s + 2);
+ for (j = 1; j < 4; j++)
+ {
+ expand_opcode ((val << 2) | j, i, s + 2);
+ expand_opcode ((val << 2) | (j + 16), i, s + 2);
+ }
+ break;
+ case 'i': /* eg. "i8*1" */
+ case '.': /* "...." is a wildcard */
case 'n':
case 'm':
- {
- int digits = 1;
- while (s[digits] == s[0])
- digits++;
- for (j = 0; j < (1 << digits); j++)
- {
- expand_opcode (shift - digits, val | (j << shift), i,
- s + digits);
- }
- break;
- }
+ /* nnnn, mmmm, i#*#, .... -- 16-way fork. */
+ for (j = 0; j < 16; j++)
+ expand_opcode ((val << 4) | j, i, s + 4);
+ break;
+ case 'e':
+ /* eeee -- even numbered register:
+ 8 way fork. */
+ for (j = 0; j < 15; j += 2)
+ expand_opcode ((val << 4) | j, i, s + 4);
+ break;
case 'M':
- /* A1, A0,X0,X1,Y0,Y1,M0,A1G,M1,M1G */
- for (j = 5; j < 16; j++)
- if (j != 6)
- expand_opcode (shift - 4, val | (j << shift), i, s + 4);
+ /* A0, A1, X0, X1, Y0, Y1, M0, M1, A0G, A1G:
+ MMMM -- 10-way fork */
+ expand_opcode ((val << 4) | 5, i, s + 4);
+ for (j = 7; j < 16; j++)
+ expand_opcode ((val << 4) | j, i, s + 4);
break;
case 'G':
- /* A1G, A0G: */
+ /* A1G, A0G:
+ GGGG -- two-way fork */
for (j = 13; j <= 15; j +=2)
- expand_opcode (shift - 4, val | (j << shift), i, s + 4);
+ expand_opcode ((val << 4) | j, i, s + 4);
break;
case 's':
+ /* ssss -- 10-way fork */
/* System registers mach, macl, pr: */
for (j = 0; j < 3; j++)
- expand_opcode (shift - 4, val | (j << shift), i, s + 4);
+ expand_opcode ((val << 4) | j, i, s + 4);
/* System registers fpul, fpscr/dsr, a0, x0, x1, y0, y1: */
for (j = 5; j < 12; j++)
- expand_opcode (shift - 4, val | (j << shift), i, s + 4);
+ expand_opcode ((val << 4) | j, i, s + 4);
break;
case 'X':
+ /* XX/XY -- 2/4 way fork. */
+ for (j = 0; j < 4; j += (s[1] == 'X' ? 2 : 1))
+ expand_opcode ((val << 2) | j, i, s + 2);
+ break;
case 'a':
- val |= bton (s) << shift;
- for (j = 0; j < 16; j += 8)
- expand_opcode (shift - 4, val | (j << shift), i, s + 4);
+ /* aa/ax -- 2/4 way fork. */
+ for (j = 0; j < 4; j += (s[1] == 'a' ? 2 : 1))
+ expand_opcode ((val << 2) | j, i, s + 2);
break;
case 'Y':
+ /* YY/YX -- 2/4 way fork. */
+ for (j = 0; j < (s[1] == 'Y' ? 2 : 4); j += 1)
+ expand_opcode ((val << 2) | j, i, s + 2);
+ break;
case 'A':
- val |= bton (s) << shift;
- for (j = 0; j < 8; j += 4)
- expand_opcode (shift - 4, val | (j << shift), i, s + 4);
+ /* AA/AY: 2/4 way fork. */
+ for (j = 0; j < (s[1] == 'A' ? 2 : 4); j += 1)
+ expand_opcode ((val << 2) | j, i, s + 2);
break;
-
- default:
- for (j = 0; j < (1 << (shift + 4)); j++)
+ case 'v':
+ /* vv(VV) -- 4(16) way fork. */
+ /* Vector register fv0/4/8/12. */
+ if (s[2] == 'V')
+ {
+ /* 2 vector registers. */
+ for (j = 0; j < 15; j++)
+ expand_opcode ((val << 4) | j, i, s + 4);
+ }
+ else
{
- table[val | j] = i;
+ /* 1 vector register. */
+ for (j = 0; j < 4; j += 1)
+ expand_opcode ((val << 2) | j, i, s + 2);
}
+ break;
}
}
}
@@ -2127,7 +2445,7 @@ filltable (p)
for (; p->name; p++)
{
p->index = index++;
- expand_opcode (12, 0, p->index, p->code);
+ expand_opcode (0, p->index, p->code);
}
}
@@ -2136,7 +2454,7 @@ filltable (p)
processing insns (ppi) for code 0xf800 (ppi nopx nopy). Copy the
latter tag to represent all combinations of ppi with ddt. */
static void
-ppi_moves ()
+expand_ppi_movxy ()
{
int i;
@@ -2171,6 +2489,18 @@ gensim_caselist (p)
*s);
exit (1);
break;
+ case '?':
+ /* Wildcard expansion, nothing to do here. */
+ s += 2;
+ break;
+ case 'v':
+ printf (" int v1 = ((iword >> 10) & 3) * 4;\n");
+ s += 2;
+ break;
+ case 'V':
+ printf (" int v2 = ((iword >> 8) & 3) * 4;\n");
+ s += 2;
+ break;
case '0':
case '1':
s += 2;
@@ -2179,7 +2509,8 @@ gensim_caselist (p)
s += 4;
break;
case 'n':
- printf (" int n = (iword >>8) & 0xf;\n");
+ case 'e':
+ printf (" int n = (iword >> 8) & 0xf;\n");
needn = 1;
s += 4;
break;
@@ -2188,12 +2519,26 @@ gensim_caselist (p)
s += 2;
break;
case 'x':
- printf (" int n = ((iword >> 9) & 1) + 4;\n");
+ if (s[1] == 'y') /* xy */
+ {
+ printf (" int n = (iword & 3) ? \n");
+ printf (" ((iword >> 9) & 1) + 4 : \n");
+ printf (" REG_xy ((iword >> 8) & 3);\n");
+ }
+ else
+ printf (" int n = ((iword >> 9) & 1) + 4;\n");
needn = 1;
s += 2;
break;
case 'y':
- printf (" int n = ((iword >> 8) & 1) + 6;\n");
+ if (s[1] == 'x') /* yx */
+ {
+ printf (" int n = (iword & 0xc) ? \n");
+ printf (" ((iword >> 8) & 1) + 6 : \n");
+ printf (" REG_yx ((iword >> 8) & 3);\n");
+ }
+ else
+ printf (" int n = ((iword >> 8) & 1) + 6;\n");
needn = 1;
s += 2;
break;
@@ -2202,23 +2547,51 @@ gensim_caselist (p)
case 's':
case 'M':
case 'G':
- printf (" int m = (iword >>4) & 0xf;\n");
+ printf (" int m = (iword >> 4) & 0xf;\n");
s += 4;
break;
case 'X':
- printf (" int m = ((iword >> 7) & 1) + 8;\n");
+ if (s[1] == 'Y') /* XY */
+ {
+ printf (" int m = (iword & 3) ? \n");
+ printf (" ((iword >> 7) & 1) + 8 : \n");
+ printf (" DSP_xy ((iword >> 6) & 3);\n");
+ }
+ else
+ printf (" int m = ((iword >> 7) & 1) + 8;\n");
s += 2;
break;
case 'a':
- printf (" int m = 7 - ((iword >> 6) & 2);\n");
+ if (s[1] == 'x') /* ax */
+ {
+ printf (" int m = (iword & 3) ? \n");
+ printf (" 7 - ((iword >> 6) & 2) : \n");
+ printf (" DSP_ax ((iword >> 6) & 3);\n");
+ }
+ else
+ printf (" int m = 7 - ((iword >> 6) & 2);\n");
s += 2;
break;
case 'Y':
- printf (" int m = ((iword >> 6) & 1) + 10;\n");
+ if (s[1] == 'X') /* YX */
+ {
+ printf (" int m = (iword & 0xc) ? \n");
+ printf (" ((iword >> 6) & 1) + 10 : \n");
+ printf (" DSP_yx ((iword >> 6) & 3);\n");
+ }
+ else
+ printf (" int m = ((iword >> 6) & 1) + 10;\n");
s += 2;
break;
case 'A':
- printf (" int m = 7 - ((iword >> 5) & 2);\n");
+ if (s[1] == 'Y') /* AY */
+ {
+ printf (" int m = (iword & 0xc) ? \n");
+ printf (" 7 - ((iword >> 5) & 2) : \n");
+ printf (" DSP_ay ((iword >> 6) & 3);\n");
+ }
+ else
+ printf (" int m = 7 - ((iword >> 5) & 2);\n");
s += 2;
break;
@@ -2246,10 +2619,10 @@ gensim_caselist (p)
case '1':
break;
case '2':
- printf ("<<1");
+ printf (" << 1");
break;
case '4':
- printf ("<<2");
+ printf (" << 2");
break;
}
printf (";\n");
@@ -2258,27 +2631,27 @@ gensim_caselist (p)
}
if (sextbit > 0)
{
- printf (" i = (i ^ (1<<%d))-(1<<%d);\n",
+ printf (" i = (i ^ (1 << %d)) - (1 << %d);\n",
sextbit - 1, sextbit - 1);
}
if (needm && needn)
- printf (" TB(m,n);\n");
+ printf (" TB (m,n);\n");
else if (needm)
- printf (" TL(m);\n");
+ printf (" TL (m);\n");
else if (needn)
- printf (" TL(n);\n");
+ printf (" TL (n);\n");
{
/* Do the refs */
char *r;
for (r = p->refs; *r; r++)
{
- if (*r == '0') printf(" CREF(0);\n");
- if (*r == '8') printf(" CREF(8);\n");
- if (*r == '9') printf(" CREF(9);\n");
- if (*r == 'n') printf(" CREF(n);\n");
- if (*r == 'm') printf(" CREF(m);\n");
+ if (*r == '0') printf (" CREF (0);\n");
+ if (*r == '8') printf (" CREF (8);\n");
+ if (*r == '9') printf (" CREF (9);\n");
+ if (*r == 'n') printf (" CREF (n);\n");
+ if (*r == 'm') printf (" CREF (m);\n");
}
}
@@ -2297,9 +2670,9 @@ gensim_caselist (p)
char *r;
for (r = p->defs; *r; r++)
{
- if (*r == '0') printf(" CDEF(0);\n");
- if (*r == 'n') printf(" CDEF(n);\n");
- if (*r == 'm') printf(" CDEF(m);\n");
+ if (*r == '0') printf(" CDEF (0);\n");
+ if (*r == 'n') printf(" CDEF (n);\n");
+ if (*r == 'm') printf(" CDEF (m);\n");
}
}
@@ -2312,6 +2685,18 @@ static void
gensim ()
{
printf ("{\n");
+ printf ("/* REG_xy = [r4, r5, r0, r1]. */\n");
+ printf ("#define REG_xy(R) ((R)==0 ? 4 : (R)==2 ? 5 : (R)==1 ? 0 : 1)\n");
+ printf ("/* REG_yx = [r6, r7, r2, r3]. */\n");
+ printf ("#define REG_yx(R) ((R)==0 ? 6 : (R)==1 ? 7 : (R)==2 ? 2 : 3)\n");
+ printf ("/* DSP_ax = [a0, a1, x0, x1]. */\n");
+ printf ("#define DSP_ax(R) ((R)==0 ? 7 : (R)==2 ? 5 : (R)==1 ? 8 : 9)\n");
+ printf ("/* DSP_ay = [a0, a1, y0, y1]. */\n");
+ printf ("#define DSP_ay(R) ((R)==0 ? 7 : (R)==1 ? 5 : (R)==2 ? 10 : 11)\n");
+ printf ("/* DSP_xy = [x0, x1, y0, y1]. */\n");
+ printf ("#define DSP_xy(R) ((R)==0 ? 8 : (R)==2 ? 9 : (R)==1 ? 10 : 11)\n");
+ printf ("/* DSP_yx = [y0, y1, x0, x1]. */\n");
+ printf ("#define DSP_yx(R) ((R)==0 ? 10 : (R)==1 ? 11 : (R)==2 ? 8 : 9)\n");
printf (" switch (jump_table[iword]) {\n");
gensim_caselist (tab);
@@ -2335,22 +2720,27 @@ gendefines ()
char *s = p->name;
printf ("#define OPC_");
while (*s) {
- if (isupper(*s))
- *s = tolower(*s);
- if (isalpha(*s)) printf("%c", *s);
- if (*s == ' ') printf("_");
- if (*s == '@') printf("ind_");
- if (*s == ',') printf("_");
+ if (isupper (*s))
+ *s = tolower (*s);
+ if (isalpha (*s))
+ printf ("%c", *s);
+ if (*s == ' ')
+ printf ("_");
+ if (*s == '@')
+ printf ("ind_");
+ if (*s == ',')
+ printf ("_");
s++;
}
- printf(" %d\n",p->index);
+ printf (" %d\n",p->index);
}
}
static int ppi_index;
/* Take a ppi code, expand all varying fields in it and fill all the
- right entries in 'table' with the opcode index. */
+ right entries in 'table' with the opcode index.
+ NOTE: tail recursion optimization removed for simplicity. */
static void
expand_ppi_code (val, i, s)
@@ -2360,46 +2750,40 @@ expand_ppi_code (val, i, s)
{
int j;
- for (;;)
+ switch (s[0])
{
- switch (s[0])
- {
- default:
- fprintf (stderr, "gencode/expand_ppi_code: Illegal char '%c'\n",
- s[0]);
- exit (2);
- break;
- /* The last eight bits are disregarded for the switch table. */
- case 'm':
- case 'x':
- case '.':
- table[val] = i;
- return;
- case '0':
- val += val;
- s++;
- break;
- case '1':
- val += val + 1;
- s++;
- break;
- case 'i':
- case 'e': case 'f':
- val += val;
- s++;
- expand_ppi_code (val, i, s);
- val++;
- break;
- case 'c':
- val <<= 2;
- s += 2;
- val++;
- expand_ppi_code (val, ppi_index++, s);
- val++;
- expand_ppi_code (val, i, s);
- val++;
- break;
- }
+ default:
+ fprintf (stderr, "gencode/expand_ppi_code: Illegal char '%c'\n", s[0]);
+ exit (2);
+ break;
+ case 'g':
+ case 'z':
+ /* The last four bits are disregarded for the switch table. */
+ table[val] = i;
+ return;
+ case 'm':
+ /* Four-bit expansion. */
+ for (j = 0; j < 16; j++)
+ expand_ppi_code ((val << 4) + j, i, s + 4);
+ break;
+ case '.':
+ case '0':
+ expand_ppi_code ((val << 1), i, s + 1);
+ break;
+ case '1':
+ expand_ppi_code ((val << 1) + 1, i, s + 1);
+ break;
+ case 'i':
+ case 'e': case 'f':
+ case 'x': case 'y':
+ expand_ppi_code ((val << 1), i, s + 1);
+ expand_ppi_code ((val << 1) + 1, i, s + 1);
+ break;
+ case 'c':
+ expand_ppi_code ((val << 2) + 1, ppi_index++, s + 2);
+ expand_ppi_code ((val << 2) + 2, i, s + 2);
+ expand_ppi_code ((val << 2) + 3, i, s + 2);
+ break;
}
}
@@ -2451,18 +2835,24 @@ ppi_gensim ()
printf ("ppi_insn (iword)\n");
printf (" int iword;\n");
printf ("{\n");
+ printf (" /* 'ee' = [x0, x1, y0, a1] */\n");
printf (" static char e_tab[] = { 8, 9, 10, 5};\n");
+ printf (" /* 'ff' = [y0, y1, x0, a1] */\n");
printf (" static char f_tab[] = {10, 11, 8, 5};\n");
+ printf (" /* 'xx' = [x0, x1, a0, a1] */\n");
printf (" static char x_tab[] = { 8, 9, 7, 5};\n");
+ printf (" /* 'yy' = [y0, y1, m0, m1] */\n");
printf (" static char y_tab[] = {10, 11, 12, 14};\n");
+ printf (" /* 'gg' = [m0, m1, a0, a1] */\n");
printf (" static char g_tab[] = {12, 14, 7, 5};\n");
+ printf (" /* 'uu' = [x0, y0, a0, a1] */\n");
printf (" static char u_tab[] = { 8, 10, 7, 5};\n");
printf ("\n");
printf (" int z;\n");
printf (" int res, res_grd;\n");
printf (" int carry, overflow, greater_equal;\n");
printf ("\n");
- printf (" switch (ppi_table[iword >> 8]) {\n");
+ printf (" switch (ppi_table[iword >> 4]) {\n");
for (; p->name; p++)
{
@@ -2618,12 +3008,12 @@ main (ac, av)
memset (table, 0, sizeof table);
filltable (movsxy_tab);
- ppi_moves ();
+ expand_ppi_movxy ();
dumptable ("sh_dsp_table", 1 << 12, 0xf000);
memset (table, 0, sizeof table);
ppi_filltable ();
- dumptable ("ppi_table", 1 << 8, 0);
+ dumptable ("ppi_table", 1 << 12, 0);
}
else if (strcmp (av[1], "-x") == 0)
{
diff --git a/sim/sh/interp.c b/sim/sh/interp.c
index 5ca8e61a0a7..981067804cd 100644
--- a/sim/sh/interp.c
+++ b/sim/sh/interp.c
@@ -1,4 +1,4 @@
-/* Simulator for the Hitachi SH architecture.
+/* Simulator for the Renesas (formerly Hitachi) / SuperH Inc. SH architecture.
Written by Steve Chamberlain of Cygnus Support.
sac@cygnus.com
@@ -120,6 +120,9 @@ typedef union
int re;
/* sh3 */
int bank[8];
+ int dbr; /* debug base register */
+ int sgr; /* saved gr15 */
+ int ldst; /* load/store flag (boolean) */
} named;
int i[16];
} cregs;
@@ -167,10 +170,8 @@ static int target_dsp;
static int host_little_endian;
static char **prog_argv;
-#if 1
static int maskw = 0;
static int maskl = 0;
-#endif
static SIM_OPEN_KIND sim_kind;
static char *myname;
@@ -182,15 +183,17 @@ static char *myname;
#define R0 saved_state.asregs.regs[0]
#define Rn saved_state.asregs.regs[n]
#define Rm saved_state.asregs.regs[m]
-#define UR0 (unsigned int)(saved_state.asregs.regs[0])
-#define UR (unsigned int)R
-#define UR (unsigned int)R
+#define UR0 (unsigned int) (saved_state.asregs.regs[0])
+#define UR (unsigned int) R
+#define UR (unsigned int) R
#define SR0 saved_state.asregs.regs[0]
#define CREG(n) (saved_state.asregs.cregs.i[(n)])
#define GBR saved_state.asregs.cregs.named.gbr
#define VBR saved_state.asregs.cregs.named.vbr
+#define DBR saved_state.asregs.cregs.named.dbr
#define SSR saved_state.asregs.cregs.named.ssr
#define SPC saved_state.asregs.cregs.named.spc
+#define SGR saved_state.asregs.cregs.named.sgr
#define SREG(n) (saved_state.asregs.sregs.i[(n)])
#define MACH saved_state.asregs.sregs.named.mach
#define MACL saved_state.asregs.sregs.named.macl
@@ -228,6 +231,7 @@ static char *myname;
#define Q ((saved_state.asregs.cregs.named.sr & SR_MASK_Q) != 0)
#define S ((saved_state.asregs.cregs.named.sr & SR_MASK_S) != 0)
#define T ((saved_state.asregs.cregs.named.sr & SR_MASK_T) != 0)
+#define LDST ((saved_state.asregs.cregs.named.ldst) != 0)
#define SR_BL ((saved_state.asregs.cregs.named.sr & SR_MASK_BL) != 0)
#define SR_RB ((saved_state.asregs.cregs.named.sr & SR_MASK_RB) != 0)
@@ -249,6 +253,7 @@ do { \
#define SET_SR_Q(EXP) SET_SR_BIT ((EXP), SR_MASK_Q)
#define SET_SR_S(EXP) SET_SR_BIT ((EXP), SR_MASK_S)
#define SET_SR_T(EXP) SET_SR_BIT ((EXP), SR_MASK_T)
+#define SET_LDST(EXP) (saved_state.asregs.cregs.named.ldst = ((EXP) != 0))
/* stc currently relies on being able to read SR without modifications. */
#define GET_SR() (saved_state.asregs.cregs.named.sr - 0)
@@ -265,9 +270,9 @@ do { \
#define FPSCR_MASK_SZ (1 << 20)
#define FPSCR_MASK_PR (1 << 19)
-#define FPSCR_FR ((GET_FPSCR() & FPSCR_MASK_FR) != 0)
-#define FPSCR_SZ ((GET_FPSCR() & FPSCR_MASK_SZ) != 0)
-#define FPSCR_PR ((GET_FPSCR() & FPSCR_MASK_PR) != 0)
+#define FPSCR_FR ((GET_FPSCR () & FPSCR_MASK_FR) != 0)
+#define FPSCR_SZ ((GET_FPSCR () & FPSCR_MASK_SZ) != 0)
+#define FPSCR_PR ((GET_FPSCR () & FPSCR_MASK_PR) != 0)
/* Count the number of arguments in an argv. */
static int
@@ -325,7 +330,7 @@ void
raise_exception (x)
int x;
{
- RAISE_EXCEPTION(x);
+ RAISE_EXCEPTION (x);
}
void
@@ -400,7 +405,7 @@ do { \
#ifdef PARANOID
int valid[16];
-#define CREF(x) if(!valid[x]) fail();
+#define CREF(x) if (!valid[x]) fail ();
#define CDEF(x) valid[x] = 1;
#define UNDEF(x) valid[x] = 0;
#else
@@ -411,14 +416,14 @@ int valid[16];
static void parse_and_set_memory_size PARAMS ((char *str));
static int IOMEM PARAMS ((int addr, int write, int value));
-static struct loop_bounds get_loop_bounds PARAMS((int, int, unsigned char *,
- unsigned char *, int, int));
-static void process_wlat_addr PARAMS((int, int));
-static void process_wwat_addr PARAMS((int, int));
-static void process_wbat_addr PARAMS((int, int));
-static int process_rlat_addr PARAMS((int));
-static int process_rwat_addr PARAMS((int));
-static int process_rbat_addr PARAMS((int));
+static struct loop_bounds get_loop_bounds PARAMS ((int, int, unsigned char *,
+ unsigned char *, int, int));
+static void process_wlat_addr PARAMS ((int, int));
+static void process_wwat_addr PARAMS ((int, int));
+static void process_wbat_addr PARAMS ((int, int));
+static int process_rlat_addr PARAMS ((int));
+static int process_rwat_addr PARAMS ((int));
+static int process_rbat_addr PARAMS ((int));
static void INLINE wlat_fast PARAMS ((unsigned char *, int, int, int));
static void INLINE wwat_fast PARAMS ((unsigned char *, int, int, int, int));
static void INLINE wbat_fast PARAMS ((unsigned char *, int, int, int));
@@ -517,10 +522,10 @@ set_dr (n, exp)
if (((n) & 1) || ((m) & 1)) \
RAISE_EXCEPTION (SIGILL); \
else \
- SET_DR(n, (DR(n) OP DR(m))); \
+ SET_DR (n, (DR (n) OP DR (m))); \
} \
else \
- SET_FR(n, (FR(n) OP FR(m))); \
+ SET_FR (n, (FR (n) OP FR (m))); \
} while (0)
#define FP_UNARY(n, OP) \
@@ -530,10 +535,10 @@ set_dr (n, exp)
if ((n) & 1) \
RAISE_EXCEPTION (SIGILL); \
else \
- SET_DR(n, (OP (DR(n)))); \
+ SET_DR (n, (OP (DR (n)))); \
} \
else \
- SET_FR(n, (OP (FR(n)))); \
+ SET_FR (n, (OP (FR (n)))); \
} while (0)
#define FP_CMP(n, OP, m) \
@@ -543,10 +548,10 @@ set_dr (n, exp)
if (((n) & 1) || ((m) & 1)) \
RAISE_EXCEPTION (SIGILL); \
else \
- SET_SR_T (DR(n) OP DR(m)); \
+ SET_SR_T (DR (n) OP DR (m)); \
} \
else \
- SET_SR_T (FR(n) OP FR(m)); \
+ SET_SR_T (FR (n) OP FR (m)); \
} while (0)
static void
@@ -575,7 +580,7 @@ wlat_fast (memory, x, value, maskl)
unsigned char *memory;
{
int v = value;
- unsigned int *p = (unsigned int *)(memory + x);
+ unsigned int *p = (unsigned int *) (memory + x);
WRITE_BUSERROR (x, maskl, v, process_wlat_addr);
*p = v;
}
@@ -585,7 +590,7 @@ wwat_fast (memory, x, value, maskw, endianw)
unsigned char *memory;
{
int v = value;
- unsigned short *p = (unsigned short *)(memory + (x ^ endianw));
+ unsigned short *p = (unsigned short *) (memory + (x ^ endianw));
WRITE_BUSERROR (x, maskw, v, process_wwat_addr);
*p = v;
}
@@ -606,7 +611,7 @@ static int INLINE
rlat_fast (memory, x, maskl)
unsigned char *memory;
{
- unsigned int *p = (unsigned int *)(memory + x);
+ unsigned int *p = (unsigned int *) (memory + x);
READ_BUSERROR (x, maskl, process_rlat_addr);
return *p;
@@ -617,7 +622,7 @@ rwat_fast (memory, x, maskw, endianw)
unsigned char *memory;
int x, maskw, endianw;
{
- unsigned short *p = (unsigned short *)(memory + (x ^ endianw));
+ unsigned short *p = (unsigned short *) (memory + (x ^ endianw));
READ_BUSERROR (x, maskw, process_rwat_addr);
return *p;
@@ -627,7 +632,7 @@ static int INLINE
riat_fast (insn_ptr, endianw)
unsigned char *insn_ptr;
{
- unsigned short *p = (unsigned short *)((size_t) insn_ptr ^ endianw);
+ unsigned short *p = (unsigned short *) ((size_t) insn_ptr ^ endianw);
return *p;
}
@@ -650,10 +655,10 @@ rbat_fast (memory, x, maskb)
#define WLAT(x,v) (wlat_fast (memory, x, v, maskl))
#define WBAT(x,v) (wbat_fast (memory, x, v, maskb))
-#define RUWAT(x) (RWAT(x) & 0xffff)
-#define RSWAT(x) ((short)(RWAT(x)))
-#define RSLAT(x) ((long)(RLAT(x)))
-#define RSBAT(x) (SEXT(RBAT(x)))
+#define RUWAT(x) (RWAT (x) & 0xffff)
+#define RSWAT(x) ((short) (RWAT (x)))
+#define RSLAT(x) ((long) (RLAT (x)))
+#define RSBAT(x) (SEXT (RBAT (x)))
#define RDAT(x, n) (do_rdat (memory, (x), (n), (maskl)))
static int
@@ -758,11 +763,11 @@ process_rbat_addr (addr)
#define SEXT(x) (((x & 0xff) ^ (~0x7f))+0x80)
#define SEXT12(x) (((x & 0xfff) ^ 0x800) - 0x800)
-#define SEXTW(y) ((int)((short)y))
+#define SEXTW(y) ((int) ((short) y))
#if 0
-#define SEXT32(x) ((int)((x & 0xffffffff) ^ 0x80000000U) - 0x7fffffff - 1)
+#define SEXT32(x) ((int) ((x & 0xffffffff) ^ 0x80000000U) - 0x7fffffff - 1)
#else
-#define SEXT32(x) ((int)(x))
+#define SEXT32(x) ((int) (x))
#endif
#define SIGN32(x) (SEXT32 (x) >> 31)
@@ -801,7 +806,7 @@ do { \
#define L(x) thislock = x;
#define TL(x) if ((x) == prevlock) stalls++;
-#define TB(x,y) if ((x) == prevlock || (y)==prevlock) stalls++;
+#define TB(x,y) if ((x) == prevlock || (y) == prevlock) stalls++;
#endif
@@ -999,10 +1004,11 @@ trap (i, regs, insn_ptr, memory, maskl, maskw, endianw)
Besides, it's quite dangerous. */
#if 0
case SYS_execve:
- regs[0] = execve (ptr (regs[5]), (char **)ptr (regs[6]), (char **)ptr (regs[7]));
+ regs[0] = execve (ptr (regs[5]), (char **) ptr (regs[6]),
+ (char **) ptr (regs[7]));
break;
case SYS_execv:
- regs[0] = execve (ptr (regs[5]),(char **) ptr (regs[6]), 0);
+ regs[0] = execve (ptr (regs[5]), (char **) ptr (regs[6]), 0);
break;
#endif
case SYS_pipe:
@@ -1027,9 +1033,11 @@ trap (i, regs, insn_ptr, memory, maskl, maskw, endianw)
case SYS_write:
strnswap (regs[6], regs[7]);
if (regs[5] == 1)
- regs[0] = (int)callback->write_stdout (callback, ptr(regs[6]), regs[7]);
+ regs[0] = (int) callback->write_stdout (callback,
+ ptr (regs[6]), regs[7]);
else
- regs[0] = (int)callback->write (callback, regs[5], ptr (regs[6]), regs[7]);
+ regs[0] = (int) callback->write (callback, regs[5],
+ ptr (regs[6]), regs[7]);
strnswap (regs[6], regs[7]);
break;
case SYS_lseek:
@@ -1042,7 +1050,7 @@ trap (i, regs, insn_ptr, memory, maskl, maskw, endianw)
{
int len = strswaplen (regs[5]);
strnswap (regs[5], len);
- regs[0] = callback->open (callback,ptr (regs[5]), regs[6]);
+ regs[0] = callback->open (callback, ptr (regs[5]), regs[6]);
strnswap (regs[5], len);
break;
}
@@ -1333,11 +1341,11 @@ macw (regs, memory, n, m, endianw)
long tempm, tempn;
long prod, macl, sum;
- tempm=RSWAT(regs[m]); regs[m]+=2;
- tempn=RSWAT(regs[n]); regs[n]+=2;
+ tempm=RSWAT (regs[m]); regs[m]+=2;
+ tempn=RSWAT (regs[n]); regs[n]+=2;
macl = MACL;
- prod = (long)(short) tempm * (long)(short) tempn;
+ prod = (long) (short) tempm * (long) (short) tempn;
sum = prod + macl;
if (S)
{
@@ -1377,10 +1385,10 @@ macl (regs, memory, n, m)
long long m64; /* 64 bit MAC */
}mac64;
- tempm = RSLAT(regs[m]);
+ tempm = RSLAT (regs[m]);
regs[m] += 4;
- tempn = RSLAT(regs[n]);
+ tempn = RSLAT (regs[n]);
regs[n] += 4;
mach = MACH;
@@ -1389,7 +1397,7 @@ macl (regs, memory, n, m)
mac64.m[0] = macl;
mac64.m[1] = mach;
- ans = (long long)tempm * (long long)tempn; /* Multiply 32bit * 32bit */
+ ans = (long long) tempm * (long long) tempn; /* Multiply 32bit * 32bit */
mac64.m64 += ans; /* Accumulate 64bit + 64 bit */
@@ -1411,6 +1419,32 @@ macl (regs, memory, n, m)
MACH = mach;
}
+
+/* GET_LOOP_BOUNDS {EXTENDED}
+ These two functions compute the actual starting and ending point
+ of the repeat loop, based on the RS and RE registers (repeat start,
+ repeat stop). The extended version is called for LDRC, and the
+ regular version is called for SETRC. The difference is that for
+ LDRC, the loop start and end instructions are literally the ones
+ pointed to by RS and RE -- for SETRC, they're not (see docs). */
+
+static struct loop_bounds
+get_loop_bounds_ext (rs, re, memory, mem_end, maskw, endianw)
+ int rs, re;
+ unsigned char *memory, *mem_end;
+ int maskw, endianw;
+{
+ struct loop_bounds loop;
+
+ /* FIXME: should I verify RS < RE? */
+ loop.start = PT2H (RS); /* FIXME not using the params? */
+ loop.end = PT2H (RE & ~1); /* Ignore bit 0 of RE. */
+ SKIP_INSN (loop.end);
+ if (loop.end >= mem_end)
+ loop.end = PT2H (0);
+ return loop;
+}
+
float
fsca_s (int in, double (*f) (double))
{
@@ -1446,7 +1480,7 @@ fsrra_s (float in)
architectural spec. */
frac = frexp (result, &exp);
frac = ldexp (frac, 24);
- error = 4.; /* 1 << 24-1-21 */
+ error = 4.0; /* 1 << 24-1-21 */
/* use eps to compensate for possible 1 ulp error in our 'exact' result. */
eps = ldexp (1., -29);
upper = floor (frac + error - eps);
@@ -1499,8 +1533,7 @@ get_loop_bounds (rs, re, memory, mem_end, maskw, endianw)
return loop;
}
-static void
-ppi_insn();
+static void ppi_insn ();
#include "ppi.c"
@@ -1541,7 +1574,9 @@ init_dsp (abfd)
int was_dsp = target_dsp;
unsigned long mach = bfd_get_mach (abfd);
- if (mach == bfd_mach_sh_dsp || mach == bfd_mach_sh3_dsp)
+ if (mach == bfd_mach_sh_dsp ||
+ mach == bfd_mach_sh4al_dsp ||
+ mach == bfd_mach_sh3_dsp)
{
int ram_area_size, xram_start, yram_start;
int new_select;
@@ -1556,7 +1591,7 @@ init_dsp (abfd)
xram_start = 0x0800f000;
ram_area_size = 0x1000;
}
- if (mach == bfd_mach_sh3_dsp)
+ if (mach == bfd_mach_sh3_dsp || mach == bfd_mach_sh4al_dsp)
{
/* SH7612:
8KB each for X & Y memory;
@@ -1624,7 +1659,7 @@ static void
init_pointers ()
{
host_little_endian = 0;
- *(char*)&host_little_endian = 1;
+ * (char*) &host_little_endian = 1;
host_little_endian &= 1;
if (saved_state.asregs.msize != 1 << sim_memory_size)
@@ -1740,7 +1775,11 @@ sim_resume (sd, step, siggnal)
memory = saved_state.asregs.memory;
mem_end = memory + saved_state.asregs.msize;
- loop = get_loop_bounds (RS, RE, memory, mem_end, maskw, endianw);
+ if (RE & 1)
+ loop = get_loop_bounds_ext (RS, RE, memory, mem_end, maskw, endianw);
+ else
+ loop = get_loop_bounds (RS, RE, memory, mem_end, maskw, endianw);
+
insn_ptr = PT2H (saved_state.asregs.pc);
CHECK_INSN_PTR (insn_ptr);
@@ -1911,7 +1950,7 @@ sim_store_register (sd, rn, memory, length)
unsigned val;
init_pointers ();
- val = swap (* (int *)memory);
+ val = swap (* (int *) memory);
switch (rn)
{
case SIM_SH_R0_REGNUM: case SIM_SH_R1_REGNUM: case SIM_SH_R2_REGNUM:
@@ -2203,7 +2242,8 @@ sim_info (sd, verbose)
SIM_DESC sd;
int verbose;
{
- double timetaken = (double) saved_state.asregs.ticks / (double) now_persec ();
+ double timetaken =
+ (double) saved_state.asregs.ticks / (double) now_persec ();
double virttime = saved_state.asregs.cycles / 36.0e6;
callback->printf_filtered (callback, "\n\n# instructions executed %10d\n",
@@ -2357,7 +2397,7 @@ sim_create_inferior (sd, prog_bfd, argv, env)
{
/* Clear the registers. */
memset (&saved_state, 0,
- (char*)&saved_state.asregs.end_of_registers - (char*)&saved_state);
+ (char*) &saved_state.asregs.end_of_registers - (char*) &saved_state);
/* Set the PC. */
if (prog_bfd != NULL)
@@ -2383,13 +2423,15 @@ sim_do_command (sd, cmd)
}
cmdsize = strlen (sms_cmd);
- if (strncmp (cmd, sms_cmd, cmdsize) == 0 && strchr (" \t", cmd[cmdsize]) != NULL)
+ if (strncmp (cmd, sms_cmd, cmdsize) == 0
+ && strchr (" \t", cmd[cmdsize]) != NULL)
{
parse_and_set_memory_size (cmd + cmdsize + 1);
}
else if (strcmp (cmd, "help") == 0)
{
- (callback->printf_filtered) (callback, "List of SH simulator commands:\n\n");
+ (callback->printf_filtered) (callback,
+ "List of SH simulator commands:\n\n");
(callback->printf_filtered) (callback, "set-memory-size <n> -- Set the number of address bits to use\n");
(callback->printf_filtered) (callback, "\n");
}
diff --git a/sim/testsuite/sim/sh/ChangeLog b/sim/testsuite/sim/sh/ChangeLog
index 7df64f70db6..ed3f5ba0636 100644
--- a/sim/testsuite/sim/sh/ChangeLog
+++ b/sim/testsuite/sim/sh/ChangeLog
@@ -1,3 +1,11 @@
+2004-01-07 Michael Snyder <msnyder@redhat.com>
+
+ * dmxy.s, fipr.s, fpchg.s, ldrc.s, loop.s, movli.s, movua.s,
+ movxy.s, pabs.s, pclr.s, prnd.s, psub.s, pswap.s: New files.
+ * allinsn.exp: Add new tests.
+ * testutils.inc (set_sr_bit): Add argument.
+ (set_greg): Add .align directives.
+
2003-08-11 Michael Snyder <msnyder@redhat.com>
* macl.s: New file.
diff --git a/sim/testsuite/sim/sh/allinsn.exp b/sim/testsuite/sim/sh/allinsn.exp
index 7192e81fa96..23a53dbd9e6 100644
--- a/sim/testsuite/sim/sh/allinsn.exp
+++ b/sim/testsuite/sim/sh/allinsn.exp
@@ -4,6 +4,7 @@ set all "sh shdsp"
if [istarget sh-*elf] {
run_sim_test add.s $all
+ run_sim_test dmxy.s shdsp
run_sim_test fabs.s sh
run_sim_test fadd.s sh
run_sim_test fcmpeq.s sh
@@ -11,6 +12,7 @@ if [istarget sh-*elf] {
run_sim_test fcnvds.s sh
run_sim_test fcnvsd.s sh
run_sim_test fdiv.s sh
+ run_sim_test fipr.s sh
run_sim_test fldi0.s sh
run_sim_test fldi1.s sh
run_sim_test flds.s sh
@@ -19,24 +21,35 @@ if [istarget sh-*elf] {
run_sim_test fmov.s sh
run_sim_test fmul.s sh
run_sim_test fneg.s sh
+ run_sim_test fpchg.s sh
run_sim_test frchg.s sh
run_sim_test fschg.s sh
run_sim_test fsqrt.s sh
run_sim_test fsub.s sh
run_sim_test ftrc.s sh
+ run_sim_test ldrc.s shdsp
+ run_sim_test loop.s shdsp
run_sim_test macl.s sh
run_sim_test macw.s sh
+ run_sim_test movli.s $all
+ run_sim_test movua.s $all
+ run_sim_test movxy.s shdsp
+ run_sim_test pabs.s shdsp
run_sim_test paddc.s shdsp
run_sim_test padd.s shdsp
run_sim_test pand.s shdsp
+ run_sim_test pclr.s shdsp
run_sim_test pdec.s shdsp
run_sim_test pdmsb.s shdsp
run_sim_test pinc.s shdsp
run_sim_test pmuls.s shdsp
+ run_sim_test prnd.s shdsp
run_sim_test pshai.s shdsp
run_sim_test pshar.s shdsp
run_sim_test pshli.s shdsp
run_sim_test pshlr.s shdsp
+ run_sim_test psub.s shdsp
+ run_sim_test pswap.s shdsp
run_sim_test shll.s $all
run_sim_test shll2.s $all
run_sim_test shll8.s $all
diff --git a/sim/testsuite/sim/sh/dmxy.s b/sim/testsuite/sim/sh/dmxy.s
new file mode 100644
index 00000000000..0e96963aee9
--- /dev/null
+++ b/sim/testsuite/sim/sh/dmxy.s
@@ -0,0 +1,21 @@
+# sh testcase for setdmx, setdmy, clrdmxy
+# mach: shdsp
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ .include "testutils.inc"
+
+ start
+ set_grs_a5a5
+ setdmx
+ test_sr_bit_set 0x400
+ test_sr_bit_clear 0x800
+ setdmy
+ test_sr_bit_clear 0x400
+ test_sr_bit_set 0x800
+ clrdmxy
+ test_sr_bit_clear 0x400
+ test_sr_bit_clear 0x800
+
+ test_grs_a5a5
+ pass
+ exit 0
diff --git a/sim/testsuite/sim/sh/fipr.s b/sim/testsuite/sim/sh/fipr.s
new file mode 100644
index 00000000000..6a949aa6ec7
--- /dev/null
+++ b/sim/testsuite/sim/sh/fipr.s
@@ -0,0 +1,137 @@
+# sh testcase for fipr $fvm, $fvn
+# mach: sh
+# as(sh): -defsym sim_cpu=0
+
+ .include "testutils.inc"
+
+ start
+initv0:
+ set_grs_a5a5
+ set_fprs_a5a5
+ # Load 1 into fr0.
+ fldi1 fr0
+ # Load 2 into fr1.
+ fldi1 fr1
+ fadd fr1, fr1
+ # Load 4 into fr2.
+ fldi1 fr2
+ fadd fr2, fr2
+ fadd fr2, fr2
+ # Load 8 into fr3.
+ fmov fr2, fr3
+ fadd fr2, fr3
+
+initv8:
+ fldi1 fr8
+ fldi0 fr9
+ fldi1 fr10
+ fldi0 fr11
+
+ fipr fv0, fv8
+test1:
+ # Result will be in fr11.
+ assert_fpreg_i 1, fr0
+ assert_fpreg_i 2, fr1
+ assert_fpreg_i 4, fr2
+ assert_fpreg_i 8, fr3
+ assert_fpreg_x 0xa5a5a5a5, fr4
+ assert_fpreg_x 0xa5a5a5a5, fr5
+ assert_fpreg_x 0xa5a5a5a5, fr6
+ assert_fpreg_x 0xa5a5a5a5, fr7
+ assert_fpreg_i 1, fr8
+ assert_fpreg_i 0, fr9
+ assert_fpreg_i 1, fr10
+ assert_fpreg_i 5, fr11
+ assert_fpreg_x 0xa5a5a5a5, fr12
+ assert_fpreg_x 0xa5a5a5a5, fr13
+ assert_fpreg_x 0xa5a5a5a5, fr14
+ assert_fpreg_x 0xa5a5a5a5, fr15
+
+ test_grs_a5a5
+test_infp:
+ # Test positive infinity
+ fldi0 fr11
+ mov.l infp, r0
+ lds r0, fpul
+ fsts fpul, fr0
+ fipr fv0, fv8
+ # fr11 should be plus infinity
+ assert_fpreg_x 0x7f800000, fr11
+test_infm:
+ # Test negitive infinity
+ fldi0 fr11
+ mov.l infm, r0
+ lds r0, fpul
+ fsts fpul, fr0
+ fipr fv0, fv8
+ # fr11 should be plus infinity
+ assert_fpreg_x 0xff800000, fr11
+test_qnanp:
+ # Test positive qnan
+ fldi0 fr11
+ mov.l qnanp, r0
+ lds r0, fpul
+ fsts fpul, fr0
+ fipr fv0, fv8
+ # fr11 should be plus qnan (or greater)
+ flds fr11, fpul
+ sts fpul, r1
+ cmp/ge r0, r1
+ bt .L0
+ fail
+.L0:
+test_snanp:
+ # Test positive snan
+ fldi0 fr11
+ mov.l snanp, r0
+ lds r0, fpul
+ fsts fpul, fr0
+ fipr fv0, fv8
+ # fr11 should be plus snan (or greater)
+ flds fr11, fpul
+ sts fpul, r1
+ cmp/ge r0, r1
+ bt .L1
+ fail
+.L1:
+.if 0
+ # Handling of nan and inf not implemented yet.
+test_qnanm:
+ # Test negantive qnan
+ fldi0 fr11
+ mov.l qnanm, r0
+ lds r0, fpul
+ fsts fpul, fr0
+ fipr fv0, fv8
+ # fr11 should be minus qnan (or less)
+ flds fr11, fpul
+ sts fpul, r1
+ cmp/ge r1, r0
+ bt .L2
+ fail
+.L2:
+test_snanm:
+ # Test negative snan
+ fldi0 fr11
+ mov.l snanm, r0
+ lds r0, fpul
+ fsts fpul, fr0
+ fipr fv0, fv8
+ # fr11 should be minus snan (or less)
+ flds fr11, fpul
+ sts fpul, r1
+ cmp/ge r1, r0
+ bt .L3
+ fail
+.L3:
+.endif
+ pass
+ exit 0
+
+ .align 2
+qnanp: .long 0x7f800001
+qnanm: .long 0xff800001
+snanp: .long 0x7fc00000
+snanm: .long 0xffc00000
+infp: .long 0x7f800000
+infm: .long 0xff800000
diff --git a/sim/testsuite/sim/sh/fpchg.s b/sim/testsuite/sim/sh/fpchg.s
new file mode 100644
index 00000000000..47ba03b1c03
--- /dev/null
+++ b/sim/testsuite/sim/sh/fpchg.s
@@ -0,0 +1,30 @@
+# sh testcase for fpchg
+# mach: sh
+# as(sh): -defsym sim_cpu=0
+
+ .include "testutils.inc"
+
+ start
+ set_grs_a5a5
+ set_fprs_a5a5
+ sts fpscr, r0
+ assertreg0 0
+ fpchg
+ sts fpscr, r0
+ assertreg0 0x80000
+ fpchg
+ sts fpscr, r0
+ assertreg0 0
+ fpchg
+ sts fpscr, r0
+ assertreg0 0x80000
+ fpchg
+ sts fpscr, r0
+ assertreg0 0
+
+ set_greg 0xa5a5a5a5, r0
+ test_grs_a5a5
+ test_fprs_a5a5
+
+ pass
+ exit 0
diff --git a/sim/testsuite/sim/sh/ldrc.s b/sim/testsuite/sim/sh/ldrc.s
new file mode 100644
index 00000000000..444131302f4
--- /dev/null
+++ b/sim/testsuite/sim/sh/ldrc.s
@@ -0,0 +1,118 @@
+# sh testcase for ldrc, strc
+# mach: shdsp
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ .include "testutils.inc"
+
+ start
+
+setrc_imm:
+ set_grs_a5a5
+ # Test setrc
+ #
+ ldrs lstart
+ ldre lend
+ setrc #0xff
+ get_sr r1
+ shlr16 r1
+ set_greg 0xfff, r0
+ and r0, r1
+ assertreg 0xff, r1
+
+ stc rs, r0 ! rs unchanged
+ assertreg0 lstart
+ stc re, r0 ! re unchanged
+ assertreg0 lend
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+
+ test_grs_a5a5
+
+setrc_reg:
+ set_grs_a5a5
+ # Test setrc
+ #
+ ldrs lstart
+ ldre lend
+ set_greg 0xfff, r0
+ setrc r0
+ get_sr r1
+ shlr16 r1
+ set_greg 0xfff, r0
+ and r0, r1
+ assertreg 0xfff, r1
+
+ stc rs, r0 ! rs unchanged
+ assertreg0 lstart
+ stc re, r0 ! re unchanged
+ assertreg0 lend
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+
+ test_grs_a5a5
+
+ bra ldrc_imm
+
+ .global lstart
+ .align 2
+lstart: nop
+ nop
+ nop
+ nop
+ .global lend
+ .align 2
+lend: nop
+ nop
+ nop
+ nop
+
+ldrc_imm:
+ set_grs_a5a5
+ # Test ldrc
+ setrc #0x0 ! zero rc
+ ldrc #0xa5
+ get_sr r1
+ shlr16 r1
+ set_greg 0xfff, r0
+ and r0, r1
+ assertreg 0xa5, r1
+ stc rs, r0 ! rs unchanged
+ assertreg0 lstart
+ stc re, r0
+ assertreg0 lend+1 ! bit 0 set in re
+
+ # fix up re for next test
+ dt r0 ! Ugh! No DEC insn!
+ ldc r0, re
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+
+ test_grs_a5a5
+
+ldrc_reg:
+ set_grs_a5a5
+ # Test ldrc
+ setrc #0x0 ! zero rc
+ set_greg 0xa5a, r0
+ ldrc r0
+ get_sr r1
+ shlr16 r1
+ set_greg 0xfff, r0
+ and r0, r1
+ assertreg 0xa5a, r1
+ stc rs, r0 ! rs unchanged
+ assertreg0 lstart
+ stc re, r0
+ assertreg0 lend+1 ! bit 0 set in re
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+
+ test_grs_a5a5
+
+ pass
+ exit 0
+
diff --git a/sim/testsuite/sim/sh/loop.s b/sim/testsuite/sim/sh/loop.s
new file mode 100644
index 00000000000..604051938e7
--- /dev/null
+++ b/sim/testsuite/sim/sh/loop.s
@@ -0,0 +1,311 @@
+# sh testcase for loop control
+# mach: shdsp
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ .include "testutils.inc"
+
+ start
+loop1:
+ set_grs_a5a5
+
+ ldrs Loop1_start0+8
+ ldre Loop1_start0+4
+ setrc #5
+Loop1_start0:
+ add #1, r1 ! Before loop
+ # Loop should execute one instruction five times.
+Loop1_begin:
+ add #1, r1 ! Within loop
+Loop1_end:
+ add #2, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 8 (five in loop, two after, one before)
+ assertreg 0xa5a5a5a5+8, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loop2:
+ set_grs_a5a5
+
+ ldrs Loop2_start0+6
+ ldre Loop2_start0+4
+ setrc #5
+Loop2_start0:
+ add #1, r1 ! Before loop
+ # Loop should execute two instructions five times.
+Loop2_begin:
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+Loop2_end:
+ add #3, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 14 (ten in loop, three after, one before)
+ assertreg 0xa5a5a5a5+14, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loop3:
+ set_grs_a5a5
+
+ ldrs Loop3_start0+4
+ ldre Loop3_start0+4
+ setrc #5
+Loop3_start0:
+ add #1, r1 ! Before loop
+ # Loop should execute three instructions five times.
+Loop3_begin:
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+Loop3_end:
+ add #2, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 18 (fifteen in loop, two after, one before)
+ assertreg 0xa5a5a5a5+18, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loop4:
+ set_grs_a5a5
+
+ ldrs Loop4_begin
+ ldre Loop4_last3+4
+ setrc #5
+ add #1, r1 ! Before loop
+ # Loop should execute four instructions five times.
+Loop4_begin:
+Loop4_last3:
+ add #1, r1 ! Within loop
+Loop4_last2:
+ add #1, r1 ! Within loop
+Loop4_last1:
+ add #1, r1 ! Within loop
+Loop4_last:
+ add #1, r1 ! Within loop
+Loop4_end:
+ add #2, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 23 (20 in loop, two after, one before)
+ assertreg 0xa5a5a5a5+23, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loop5:
+ set_grs_a5a5
+
+ ldrs Loop5_begin
+ ldre Loop5_last3+4
+ setrc #5
+ add #1, r1 ! Before loop
+ # Loop should execute five instructions five times.
+Loop5_begin:
+ add #1, r1 ! Within loop
+Loop5_last3:
+ add #1, r1 ! Within loop
+Loop5_last2:
+ add #1, r1 ! Within loop
+Loop5_last1:
+ add #1, r1 ! Within loop
+Loop5_last:
+ add #1, r1 ! Within loop
+Loop5_end:
+ add #2, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 28 (25 in loop, two after, one before)
+ assertreg 0xa5a5a5a5+28, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loopn:
+ set_grs_a5a5
+
+ ldrs Loopn_begin
+ ldre Loopn_last3+4
+ setrc #5
+ add #1, r1 ! Before loop
+ # Loop should execute n instructions five times.
+Loopn_begin:
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+Loopn_last3:
+ add #1, r1 ! Within loop
+Loopn_last2:
+ add #1, r1 ! Within loop
+Loopn_last1:
+ add #1, r1 ! Within loop
+Loopn_last:
+ add #1, r1 ! Within loop
+Loopn_end:
+ add #3, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 64 (60 in loop, three after, one before)
+ assertreg 0xa5a5a5a5+64, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loop1e:
+ set_grs_a5a5
+
+ ldrs Loop1e_begin
+ ldre Loop1e_last
+ ldrc #5
+ add #1, r1 ! Before loop
+ # Loop should execute one instruction five times.
+Loop1e_begin:
+Loop1e_last:
+ add #1, r1 ! Within loop
+Loop1e_end:
+ add #2, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 8 (five in loop, two after, one before)
+ assertreg 0xa5a5a5a5+8, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loop2e:
+ set_grs_a5a5
+
+ ldrs Loop2e_begin
+ ldre Loop2e_last
+ ldrc #5
+ add #1, r1 ! Before loop
+ # Loop should execute two instructions five times.
+Loop2e_begin:
+ add #1, r1 ! Within loop
+Loop2e_last:
+ add #1, r1 ! Within loop
+Loop2e_end:
+ add #2, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 13 (ten in loop, two after, one before)
+ assertreg 0xa5a5a5a5+13, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loop3e:
+ set_grs_a5a5
+
+ ldrs Loop3e_begin
+ ldre Loop3e_last
+ ldrc #5
+ add #1, r1 ! Before loop
+ # Loop should execute three instructions five times.
+Loop3e_begin:
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+Loop3e_last:
+ add #1, r1 ! Within loop
+Loop3e_end:
+ add #2, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 18 (fifteen in loop, two after, one before)
+ assertreg 0xa5a5a5a5+18, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loop4e:
+ set_grs_a5a5
+
+ ldrs Loop4e_begin
+ ldre Loop4e_last
+ ldrc #5
+ add #1, r1 ! Before loop
+ # Loop should execute four instructions five times.
+Loop4e_begin:
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+Loop4e_last:
+ add #1, r1 ! Within loop
+Loop4e_end:
+ add #2, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 23 (twenty in loop, two after, one before)
+ assertreg 0xa5a5a5a5+23, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loop5e:
+ set_grs_a5a5
+
+ ldrs Loop5e_begin
+ ldre Loop5e_last
+ ldrc #5
+ add #1, r1 ! Before loop
+ # Loop should execute five instructions five times.
+Loop5e_begin:
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+Loop5e_last:
+ add #1, r1 ! Within loop
+Loop5e_end:
+ add #2, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 28 (twenty five in loop, two after, one before)
+ assertreg 0xa5a5a5a5+28, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+loop_n_e:
+ set_grs_a5a5
+
+ ldrs Loop_n_e_begin
+ ldre Loop_n_e_last
+ ldrc #5
+ add #1, r1 ! Before loop
+ # Loop should execute n instructions five times.
+Loop_n_e_begin:
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+ add #1, r1 ! Within loop
+Loop_n_e_last:
+ add #1, r1 ! Within loop
+Loop_n_e_end:
+ add #2, r1 ! After loop
+
+ # r1 = 0xa5a5a5a5 + 48 (forty five in loop, two after, one before)
+ assertreg 0xa5a5a5a5+48, r1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+
+ pass
+
+ exit 0
+
diff --git a/sim/testsuite/sim/sh/movli.s b/sim/testsuite/sim/sh/movli.s
new file mode 100644
index 00000000000..eacd10358ba
--- /dev/null
+++ b/sim/testsuite/sim/sh/movli.s
@@ -0,0 +1,55 @@
+# sh testcase for movli
+# mach: all
+# as(sh): -defsym sim_cpu=0
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ .include "testutils.inc"
+
+ .align 2
+x: .long 1
+y: .long 2
+z: .long 3
+
+ start
+ set_grs_a5a5
+ mov.l xptr, r1
+ mov.l yptr, r2
+ # Move linked/conditional, x to y
+ movli.l @r1, r0
+ movco.l r0, @r2
+
+ # Check result.
+ assertreg0 1
+ mov.l yptr, r1
+ mov.l @r1, r2
+ assertreg 1, r2
+
+ # Now attempt an unlinked move of r0 to z
+ mov.l zptr, r1
+ movco.l r0, @r1
+
+ # Check that z is unchanged.
+ mov.l zptr, r1
+ mov.l @r1, r2
+ assertreg 3, r2
+
+ test_gr_a5a5 r3
+ test_gr_a5a5 r4
+ test_gr_a5a5 r5
+ test_gr_a5a5 r6
+ test_gr_a5a5 r7
+ test_gr_a5a5 r8
+ test_gr_a5a5 r9
+ test_gr_a5a5 r10
+ test_gr_a5a5 r11
+ test_gr_a5a5 r12
+ test_gr_a5a5 r13
+ test_gr_a5a5 r14
+
+ pass
+ exit 0
+
+ .align 2
+xptr: .long x
+yptr: .long y
+zptr: .long z
diff --git a/sim/testsuite/sim/sh/movua.s b/sim/testsuite/sim/sh/movua.s
new file mode 100644
index 00000000000..e8620f0b429
--- /dev/null
+++ b/sim/testsuite/sim/sh/movua.s
@@ -0,0 +1,129 @@
+# sh testcase for movua
+# mach: all
+# as(sh): -defsym sim_cpu=0
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ .include "testutils.inc"
+
+ start
+movua_1:
+ set_grs_a5a5
+ mov.l srcp, r1
+ movua.l @r1, r0
+ assertreg0 0x00010203
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x01020304
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x02030405
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x03040506
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x04050607
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x05060708
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x06070809
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x0708090a
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x08090a0b
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x090a0b0c
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x0a0b0c0d
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x0b0c0d0e
+
+ add #1, r1
+ movua.l @r1, r0
+ assertreg0 0x0c0d0e0f
+
+ assertreg src+12, r1
+ test_gr_a5a5 r2
+ test_gr_a5a5 r3
+ test_gr_a5a5 r4
+ test_gr_a5a5 r5
+ test_gr_a5a5 r6
+ test_gr_a5a5 r7
+ test_gr_a5a5 r8
+ test_gr_a5a5 r9
+ test_gr_a5a5 r10
+ test_gr_a5a5 r11
+ test_gr_a5a5 r12
+ test_gr_a5a5 r13
+ test_gr_a5a5 r14
+
+ bra movua_4:
+ nop
+
+ .align 0
+src: .byte 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
+ .align 2
+srcp: .long src
+
+movua_4:
+ set_grs_a5a5
+ mov.l srcp2, r1
+ movua.l @r1+, r0
+ assertreg0 0x00010203
+ assertreg src+4, r1
+
+ mov.l srcp2, r1
+ add #1, r1
+ movua.l @r1+, r0
+ assertreg0 0x01020304
+ assertreg src+5, r1
+
+ mov.l srcp2, r1
+ add #2, r1
+ movua.l @r1+, r0
+ assertreg0 0x02030405
+ assertreg src+6, r1
+
+ mov.l srcp2, r1
+ add #3, r1
+ movua.l @r1+, r0
+ assertreg0 0x03040506
+ assertreg src+7, r1
+
+ test_gr_a5a5 r2
+ test_gr_a5a5 r3
+ test_gr_a5a5 r4
+ test_gr_a5a5 r5
+ test_gr_a5a5 r6
+ test_gr_a5a5 r7
+ test_gr_a5a5 r8
+ test_gr_a5a5 r9
+ test_gr_a5a5 r10
+ test_gr_a5a5 r11
+ test_gr_a5a5 r12
+ test_gr_a5a5 r13
+ test_gr_a5a5 r14
+
+ pass
+ exit 0
+
+srcp2: .long src
+
diff --git a/sim/testsuite/sim/sh/movxy.s b/sim/testsuite/sim/sh/movxy.s
new file mode 100644
index 00000000000..7768ef96d50
--- /dev/null
+++ b/sim/testsuite/sim/sh/movxy.s
@@ -0,0 +1,1186 @@
+# sh testcase for movxy
+# mach: shdsp
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ .include "testutils.inc"
+
+ .align 2
+src1: .word 1
+src2: .word 2
+src3: .word 3
+src4: .word 4
+src5: .word 5
+src6: .word 6
+src7: .word 7
+src8: .word 8
+src9: .word 9
+ .word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+
+dst1: .word 0
+dst2: .word 0
+dst3: .word 0
+dst4: .word 0
+dst5: .word 0
+dst6: .word 0
+dst7: .word 0
+dst8: .word 0
+dst9: .word 0
+ .word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+
+ start
+movxw_nopy:
+ set_grs_a5a5
+ # load up pointers
+ mov.l srcp1, r4
+ mov.l dstp1, r5
+
+ # perform moves
+ movx.w @r4, x0
+ pcopy x0, a0
+ movx.w a0, @r5
+
+ # verify pointers unchanged
+ mov.l srcp1, r0
+ cmp/eq r0, r4
+ bt .L0
+ fail
+.L0:
+ mov.l dstp1, r1
+ cmp/eq r1, r5
+ bt .L1
+ fail
+.L1:
+ # verify copied values
+ mov.w @r0, r0
+ mov.w @r1, r1
+ cmp/eq r0, r1
+ bt .L2
+ fail
+.L2:
+ test_gr_a5a5 r2
+ test_gr_a5a5 r3
+ test_gr_a5a5 r6
+ test_gr_a5a5 r7
+ test_gr_a5a5 r8
+ test_gr_a5a5 r9
+ test_gr_a5a5 r10
+ test_gr_a5a5 r11
+ test_gr_a5a5 r12
+ test_gr_a5a5 r13
+ test_gr_a5a5 r14
+
+movyw_nopx:
+ set_grs_a5a5
+ # load up pointers
+ mov.l srcp2, r6
+ mov.l dstp2, r7
+
+ # perform moves
+ movy.w @r6, y0
+ pcopy y0, a0
+ movy.w a0, @r7
+
+ # verify pointers unchanged
+ mov.l srcp2, r2
+ cmp/eq r2, r6
+ bt .L3
+ fail
+.L3:
+ mov.l dstp2, r3
+ cmp/eq r3, r7
+ bt .L4
+ fail
+.L4:
+ # verify copied values
+ mov.w @r2, r2
+ mov.w @r3, r3
+ cmp/eq r2, r3
+ bt .L5
+ fail
+.L5:
+ test_gr_a5a5 r0
+ test_gr_a5a5 r1
+ test_gr_a5a5 r4
+ test_gr_a5a5 r5
+ test_gr_a5a5 r8
+ test_gr_a5a5 r9
+ test_gr_a5a5 r10
+ test_gr_a5a5 r11
+ test_gr_a5a5 r12
+ test_gr_a5a5 r13
+ test_gr_a5a5 r14
+
+movxw_movyw:
+ set_grs_a5a5
+ # load up pointers
+ mov.l srcp3, r4
+ mov.l dstp3, r5
+ mov.l srcp4, r6
+ mov.l dstp4, r7
+
+ # perform moves
+ movx.w @r4, x1 movy.w @r6, y1
+ pcopy x1, a0
+ pcopy y1, a1
+ movx.w a0, @r5 movy.w a1, @r7
+
+ # verify pointers unchanged
+ mov.l srcp3, r0
+ cmp/eq r0, r4
+ bt .L6
+ fail
+.L6:
+ mov.l dstp3, r1
+ cmp/eq r1, r5
+ bt .L7
+ fail
+.L7:
+ mov.l srcp4, r2
+ cmp/eq r2, r6
+ bt .L8
+ fail
+.L8:
+ mov.l dstp4, r3
+ cmp/eq r3, r7
+ bt .L9
+ fail
+.L9:
+ # verify copied values
+ mov.w @r0, r0
+ mov.w @r1, r1
+ cmp/eq r0, r1
+ bt .L10
+ fail
+.L10:
+ mov.w @r2, r2
+ mov.w @r3, r3
+ cmp/eq r2, r3
+ bt .L11
+ fail
+.L11:
+ test_gr_a5a5 r8
+ test_gr_a5a5 r9
+ test_gr_a5a5 r10
+ test_gr_a5a5 r11
+ test_gr_a5a5 r12
+ test_gr_a5a5 r13
+ test_gr_a5a5 r14
+
+ bra movxw_movyw_new
+ nop
+
+ .align 2
+srcp1: .long src1
+srcp2: .long src2
+srcp3: .long src3
+srcp4: .long src4
+srcp5: .long src5
+srcp6: .long src6
+srcp7: .long src7
+srcp8: .long src8
+srcp9: .long src9
+
+dstp1: .long dst1
+dstp2: .long dst2
+dstp3: .long dst3
+dstp4: .long dst4
+dstp5: .long dst5
+dstp6: .long dst6
+dstp7: .long dst7
+dstp8: .long dst8
+dstp9: .long dst9
+
+movxw_movyw_new:
+ set_grs_a5a5
+ # load up pointers
+ mov.l srcp5b, r0
+ mov.l dstp5b, r1
+ mov.l srcp6b, r2
+ mov.l dstp6b, r3
+
+ # perform moves
+ movx.w @r0, x1
+ movy.w @r2, y1
+ movx.w x1, @r1
+ movy.w y1, @r3
+
+ # verify pointers unchanged
+ mov.l srcp5b, r4
+ cmp/eq r0, r4
+ bt .L12
+ fail
+
+.L12:
+ mov.l dstp5b, r5
+ cmp/eq r1, r5
+ bt .L13
+ fail
+.L13:
+ mov.l srcp6b, r6
+ cmp/eq r2, r6
+ bt .L14
+ fail
+.L14:
+ mov.l dstp6b, r7
+ cmp/eq r3, r7
+ bt .L15
+ fail
+.L15:
+ # verify copied values
+ mov.w @r0, r0
+ mov.w @r1, r1
+ cmp/eq r0, r1
+ bt .L16
+ fail
+.L16:
+ mov.w @r2, r2
+ mov.w @r3, r3
+ cmp/eq r2, r3
+ bt .L17
+ fail
+.L17:
+ test_gr_a5a5 r8
+ test_gr_a5a5 r9
+ test_gr_a5a5 r10
+ test_gr_a5a5 r11
+ test_gr_a5a5 r12
+ test_gr_a5a5 r13
+ test_gr_a5a5 r14
+
+ mov.l srcp1b, r0
+ mov.l dstp1b, r1
+ mov.l srcp2b, r2
+ mov.l dstp2b, r3
+ mov.l srcp1b, r4
+ mov.l dstp1b, r5
+ mov.l srcp2b, r6
+ mov.l dstp2b, r7
+ mov #4, r8
+ mov #4, r9
+ bra .L18
+ nop
+
+ .align 2
+srcp1b: .long src1
+srcp2b: .long src2
+srcp3b: .long src3
+srcp4b: .long src4
+srcp5b: .long src5
+srcp6b: .long src6
+srcp7b: .long src7
+srcp8b: .long src8
+srcp9b: .long src9
+
+dstp1b: .long dst1
+dstp2b: .long dst2
+dstp3b: .long dst3
+dstp4b: .long dst4
+dstp5b: .long dst5
+dstp6b: .long dst6
+dstp7b: .long dst7
+dstp8b: .long dst8
+dstp9b: .long dst9
+
+.L18:
+
+ # movx.w @Ax{}, Dx | nopy
+movxwaxdx_nopy:
+ movx.w @r4,x0 ! .word 0xf004
+ movx.w @r4,x1 ! .word 0xf084
+ movx.w @r5,x0 ! .word 0xf204
+ movx.w @r5,x1 ! .word 0xf284
+ movx.w @r4+,x0 ! .word 0xf008
+ movx.w @r4+,x1 ! .word 0xf088
+ movx.w @r5+,x0 ! .word 0xf208
+ movx.w @r5+,x1 ! .word 0xf288
+ movx.w @r4+r8,x0 ! .word 0xf00c
+ movx.w @r4+r8,x1 ! .word 0xf08c
+ movx.w @r5+r8,x0 ! .word 0xf20c
+ movx.w @r5+r8,x1 ! .word 0xf28c
+ # movx.w Da, @Ax{} | nopy
+movxwdaax_nopy:
+ movx.w a0,@r4 ! .word 0xf024
+ movx.w a1,@r4 ! .word 0xf0a4
+ movx.w a0,@r5 ! .word 0xf224
+ movx.w a1,@r5 ! .word 0xf2a4
+ movx.w a0,@r4+ ! .word 0xf028
+ movx.w a1,@r4+ ! .word 0xf0a8
+ movx.w a0,@r5+ ! .word 0xf228
+ movx.w a1,@r5+ ! .word 0xf2a8
+ movx.w a0,@r4+r8 ! .word 0xf02c
+ movx.w a1,@r4+r8 ! .word 0xf0ac
+ movx.w a0,@r5+r8 ! .word 0xf22c
+ movx.w a1,@r5+r8 ! .word 0xf2ac
+ # movy.w @Ay{}, Dy | nopx
+movywaydy_nopx:
+ movy.w @r6,y0 ! .word 0xf001
+ movy.w @r6,y1 ! .word 0xf041
+ movy.w @r7,y0 ! .word 0xf101
+ movy.w @r7,y1 ! .word 0xf141
+ movy.w @r6+,y0 ! .word 0xf002
+ movy.w @r6+,y1 ! .word 0xf042
+ movy.w @r7+,y0 ! .word 0xf102
+ movy.w @r7+,y1 ! .word 0xf142
+ movy.w @r6+r9,y0 ! .word 0xf003
+ movy.w @r6+r9,y1 ! .word 0xf043
+ movy.w @r7+r9,y0 ! .word 0xf103
+ movy.w @r7+r9,y1 ! .word 0xf143
+ # movy.w Da, @Ay{} | nopx
+movywdaay_nopx:
+ movy.w a0,@r6 ! .word 0xf011
+ movy.w a1,@r6 ! .word 0xf051
+ movy.w a0,@r7 ! .word 0xf111
+ movy.w a1,@r7 ! .word 0xf151
+ movy.w a0,@r6+ ! .word 0xf012
+ movy.w a1,@r6+ ! .word 0xf052
+ movy.w a0,@r7+ ! .word 0xf112
+ movy.w a1,@r7+ ! .word 0xf152
+ movy.w a0,@r6+r9 ! .word 0xf013
+ movy.w a1,@r6+r9 ! .word 0xf053
+ movy.w a0,@r7+r9 ! .word 0xf113
+ movy.w a1,@r7+r9 ! .word 0xf153
+ # movx {} || movy {}
+movx_movy:
+ movx.w @r4,x0 movy.w @r6,y0 ! .word 0xf005
+ movx.w @r4,x0 movy.w @r6,y1 ! .word 0xf045
+ movx.w @r4,x1 movy.w @r6,y0 ! .word 0xf085
+ movx.w @r4,x1 movy.w @r6,y1 ! .word 0xf0c5
+ movx.w @r4,x0 movy.w @r7,y0 ! .word 0xf105
+ movx.w @r4,x0 movy.w @r7,y1 ! .word 0xf145
+ movx.w @r4,x1 movy.w @r7,y0 ! .word 0xf185
+ movx.w @r4,x1 movy.w @r7,y1 ! .word 0xf1c5
+ movx.w @r5,x0 movy.w @r6,y0 ! .word 0xf205
+ movx.w @r5,x0 movy.w @r6,y1 ! .word 0xf245
+ movx.w @r5,x1 movy.w @r6,y0 ! .word 0xf285
+ movx.w @r5,x1 movy.w @r6,y1 ! .word 0xf2c5
+ movx.w @r5,x0 movy.w @r7,y0 ! .word 0xf305
+ movx.w @r5,x0 movy.w @r7,y1 ! .word 0xf345
+ movx.w @r5,x1 movy.w @r7,y0 ! .word 0xf385
+ movx.w @r5,x1 movy.w @r7,y1 ! .word 0xf3c5
+ movx.w @r4,x0 movy.w @r6+,y0 ! .word 0xf006
+ movx.w @r4,x0 movy.w @r6+,y1 ! .word 0xf046
+ movx.w @r4,x1 movy.w @r6+,y0 ! .word 0xf086
+ movx.w @r4,x1 movy.w @r6+,y1 ! .word 0xf0c6
+ movx.w @r4,x0 movy.w @r7+,y0 ! .word 0xf106
+ movx.w @r4,x0 movy.w @r7+,y1 ! .word 0xf146
+ movx.w @r4,x1 movy.w @r7+,y0 ! .word 0xf186
+ movx.w @r4,x1 movy.w @r7+,y1 ! .word 0xf1c6
+ movx.w @r5,x0 movy.w @r6+,y0 ! .word 0xf206
+ movx.w @r5,x0 movy.w @r6+,y1 ! .word 0xf246
+ movx.w @r5,x1 movy.w @r6+,y0 ! .word 0xf286
+ movx.w @r5,x1 movy.w @r6+,y1 ! .word 0xf2c6
+ movx.w @r5,x0 movy.w @r7+,y0 ! .word 0xf306
+ movx.w @r5,x0 movy.w @r7+,y1 ! .word 0xf346
+ movx.w @r5,x1 movy.w @r7+,y0 ! .word 0xf386
+ movx.w @r5,x1 movy.w @r7+,y1 ! .word 0xf3c6
+ movx.w @r4,x0 movy.w @r6+r9,y0 ! .word 0xf007
+ movx.w @r4,x0 movy.w @r6+r9,y1 ! .word 0xf047
+ movx.w @r4,x1 movy.w @r6+r9,y0 ! .word 0xf087
+ movx.w @r4,x1 movy.w @r6+r9,y1 ! .word 0xf0c7
+ movx.w @r4,x0 movy.w @r7+r9,y0 ! .word 0xf107
+ movx.w @r4,x0 movy.w @r7+r9,y1 ! .word 0xf147
+ movx.w @r4,x1 movy.w @r7+r9,y0 ! .word 0xf187
+ movx.w @r4,x1 movy.w @r7+r9,y1 ! .word 0xf1c7
+ movx.w @r5,x0 movy.w @r6+r9,y0 ! .word 0xf207
+ movx.w @r5,x0 movy.w @r6+r9,y1 ! .word 0xf247
+ movx.w @r5,x1 movy.w @r6+r9,y0 ! .word 0xf287
+ movx.w @r5,x1 movy.w @r6+r9,y1 ! .word 0xf2c7
+ movx.w @r5,x0 movy.w @r7+r9,y0 ! .word 0xf307
+ movx.w @r5,x0 movy.w @r7+r9,y1 ! .word 0xf347
+ movx.w @r5,x1 movy.w @r7+r9,y0 ! .word 0xf387
+ movx.w @r5,x1 movy.w @r7+r9,y1 ! .word 0xf3c7
+ movx.w @r4+,x0 movy.w @r6,y0 ! .word 0xf009
+ movx.w @r4+,x0 movy.w @r6,y1 ! .word 0xf049
+ movx.w @r4+,x1 movy.w @r6,y0 ! .word 0xf089
+ movx.w @r4+,x1 movy.w @r6,y1 ! .word 0xf0c9
+ movx.w @r4+,x0 movy.w @r7,y0 ! .word 0xf109
+ movx.w @r4+,x0 movy.w @r7,y1 ! .word 0xf149
+ movx.w @r4+,x1 movy.w @r7,y0 ! .word 0xf189
+ movx.w @r4+,x1 movy.w @r7,y1 ! .word 0xf1c9
+ movx.w @r5+,x0 movy.w @r6,y0 ! .word 0xf209
+ movx.w @r5+,x0 movy.w @r6,y1 ! .word 0xf249
+ movx.w @r5+,x1 movy.w @r6,y0 ! .word 0xf289
+ movx.w @r5+,x1 movy.w @r6,y1 ! .word 0xf2c9
+ movx.w @r5+,x0 movy.w @r7,y0 ! .word 0xf309
+ movx.w @r5+,x0 movy.w @r7,y1 ! .word 0xf349
+ movx.w @r5+,x1 movy.w @r7,y0 ! .word 0xf389
+ movx.w @r5+,x1 movy.w @r7,y1 ! .word 0xf3c9
+ movx.w @r4+,x0 movy.w @r6+,y0 ! .word 0xf00a
+ movx.w @r4+,x0 movy.w @r6+,y1 ! .word 0xf04a
+ movx.w @r4+,x1 movy.w @r6+,y0 ! .word 0xf08a
+ movx.w @r4+,x1 movy.w @r6+,y1 ! .word 0xf0ca
+ movx.w @r4+,x0 movy.w @r7+,y0 ! .word 0xf10a
+ movx.w @r4+,x0 movy.w @r7+,y1 ! .word 0xf14a
+ movx.w @r4+,x1 movy.w @r7+,y0 ! .word 0xf18a
+ movx.w @r4+,x1 movy.w @r7+,y1 ! .word 0xf1ca
+ movx.w @r5+,x0 movy.w @r6+,y0 ! .word 0xf20a
+ movx.w @r5+,x0 movy.w @r6+,y1 ! .word 0xf24a
+ movx.w @r5+,x1 movy.w @r6+,y0 ! .word 0xf28a
+ movx.w @r5+,x1 movy.w @r6+,y1 ! .word 0xf2ca
+ movx.w @r5+,x0 movy.w @r7+,y0 ! .word 0xf30a
+ movx.w @r5+,x0 movy.w @r7+,y1 ! .word 0xf34a
+ movx.w @r5+,x1 movy.w @r7+,y0 ! .word 0xf38a
+ movx.w @r5+,x1 movy.w @r7+,y1 ! .word 0xf3ca
+ movx.w @r4+,x0 movy.w @r6+r9,y0 ! .word 0xf00b
+ movx.w @r4+,x0 movy.w @r6+r9,y1 ! .word 0xf04b
+ movx.w @r4+,x1 movy.w @r6+r9,y0 ! .word 0xf08b
+ movx.w @r4+,x1 movy.w @r6+r9,y1 ! .word 0xf0cb
+ movx.w @r4+,x0 movy.w @r7+r9,y0 ! .word 0xf10b
+ movx.w @r4+,x0 movy.w @r7+r9,y1 ! .word 0xf14b
+ movx.w @r4+,x1 movy.w @r7+r9,y0 ! .word 0xf18b
+ movx.w @r4+,x1 movy.w @r7+r9,y1 ! .word 0xf1cb
+ movx.w @r5+,x0 movy.w @r6+r9,y0 ! .word 0xf20b
+ movx.w @r5+,x0 movy.w @r6+r9,y1 ! .word 0xf24b
+ movx.w @r5+,x1 movy.w @r6+r9,y0 ! .word 0xf28b
+ movx.w @r5+,x1 movy.w @r6+r9,y1 ! .word 0xf2cb
+ movx.w @r5+,x0 movy.w @r7+r9,y0 ! .word 0xf30b
+ movx.w @r5+,x0 movy.w @r7+r9,y1 ! .word 0xf34b
+ movx.w @r5+,x1 movy.w @r7+r9,y0 ! .word 0xf38b
+ movx.w @r5+,x1 movy.w @r7+r9,y1 ! .word 0xf3cb
+ movx.w @r4+r8,x0 movy.w @r6,y0 ! .word 0xf00d
+ movx.w @r4+r8,x0 movy.w @r6,y1 ! .word 0xf04d
+ movx.w @r4+r8,x1 movy.w @r6,y0 ! .word 0xf08d
+ movx.w @r4+r8,x1 movy.w @r6,y1 ! .word 0xf0cd
+ movx.w @r4+r8,x0 movy.w @r7,y0 ! .word 0xf10d
+ movx.w @r4+r8,x0 movy.w @r7,y1 ! .word 0xf14d
+ movx.w @r4+r8,x1 movy.w @r7,y0 ! .word 0xf18d
+ movx.w @r4+r8,x1 movy.w @r7,y1 ! .word 0xf1cd
+ movx.w @r5+r8,x0 movy.w @r6,y0 ! .word 0xf20d
+ movx.w @r5+r8,x0 movy.w @r6,y1 ! .word 0xf24d
+ movx.w @r5+r8,x1 movy.w @r6,y0 ! .word 0xf28d
+ movx.w @r5+r8,x1 movy.w @r6,y1 ! .word 0xf2cd
+ movx.w @r5+r8,x0 movy.w @r7,y0 ! .word 0xf30d
+ movx.w @r5+r8,x0 movy.w @r7,y1 ! .word 0xf34d
+ movx.w @r5+r8,x1 movy.w @r7,y0 ! .word 0xf38d
+ movx.w @r5+r8,x1 movy.w @r7,y1 ! .word 0xf3cd
+ movx.w @r4+r8,x0 movy.w @r6+,y0 ! .word 0xf00e
+ movx.w @r4+r8,x0 movy.w @r6+,y1 ! .word 0xf04e
+ movx.w @r4+r8,x1 movy.w @r6+,y0 ! .word 0xf08e
+ movx.w @r4+r8,x1 movy.w @r6+,y1 ! .word 0xf0ce
+ movx.w @r4+r8,x0 movy.w @r7+,y0 ! .word 0xf10e
+ movx.w @r4+r8,x0 movy.w @r7+,y1 ! .word 0xf14e
+ movx.w @r4+r8,x1 movy.w @r7+,y0 ! .word 0xf18e
+ movx.w @r4+r8,x1 movy.w @r7+,y1 ! .word 0xf1ce
+ movx.w @r5+r8,x0 movy.w @r6+,y0 ! .word 0xf20e
+ movx.w @r5+r8,x0 movy.w @r6+,y1 ! .word 0xf24e
+ movx.w @r5+r8,x1 movy.w @r6+,y0 ! .word 0xf28e
+ movx.w @r5+r8,x1 movy.w @r6+,y1 ! .word 0xf2ce
+ movx.w @r5+r8,x0 movy.w @r7+,y0 ! .word 0xf30e
+ movx.w @r5+r8,x0 movy.w @r7+,y1 ! .word 0xf34e
+ movx.w @r5+r8,x1 movy.w @r7+,y0 ! .word 0xf38e
+ movx.w @r5+r8,x1 movy.w @r7+,y1 ! .word 0xf3ce
+ movx.w @r4+r8,x0 movy.w @r6+r9,y0 ! .word 0xf00f
+ movx.w @r4+r8,x0 movy.w @r6+r9,y1 ! .word 0xf04f
+ movx.w @r4+r8,x1 movy.w @r6+r9,y0 ! .word 0xf08f
+ movx.w @r4+r8,x1 movy.w @r6+r9,y1 ! .word 0xf0cf
+ movx.w @r4+r8,x0 movy.w @r7+r9,y0 ! .word 0xf10f
+ movx.w @r4+r8,x0 movy.w @r7+r9,y1 ! .word 0xf14f
+ movx.w @r4+r8,x1 movy.w @r7+r9,y0 ! .word 0xf18f
+ movx.w @r4+r8,x1 movy.w @r7+r9,y1 ! .word 0xf1cf
+ movx.w @r5+r8,x0 movy.w @r6+r9,y0 ! .word 0xf20f
+ movx.w @r5+r8,x0 movy.w @r6+r9,y1 ! .word 0xf24f
+ movx.w @r5+r8,x1 movy.w @r6+r9,y0 ! .word 0xf28f
+ movx.w @r5+r8,x1 movy.w @r6+r9,y1 ! .word 0xf2cf
+ movx.w @r5+r8,x0 movy.w @r7+r9,y0 ! .word 0xf30f
+ movx.w @r5+r8,x0 movy.w @r7+r9,y1 ! .word 0xf34f
+ movx.w @r5+r8,x1 movy.w @r7+r9,y0 ! .word 0xf38f
+ movx.w @r5+r8,x1 movy.w @r7+r9,y1 ! .word 0xf3cf
+ movx.w @r4,x0 movy.w a0,@r6 ! .word 0xf015
+ movx.w @r4,x0 movy.w a1,@r6 ! .word 0xf055
+ movx.w @r4,x1 movy.w a0,@r6 ! .word 0xf095
+ movx.w @r4,x1 movy.w a1,@r6 ! .word 0xf0d5
+ movx.w @r4,x0 movy.w a0,@r7 ! .word 0xf115
+ movx.w @r4,x0 movy.w a1,@r7 ! .word 0xf155
+ movx.w @r4,x1 movy.w a0,@r7 ! .word 0xf195
+ movx.w @r4,x1 movy.w a1,@r7 ! .word 0xf1d5
+ movx.w @r5,x0 movy.w a0,@r6 ! .word 0xf215
+ movx.w @r5,x0 movy.w a1,@r6 ! .word 0xf255
+ movx.w @r5,x1 movy.w a0,@r6 ! .word 0xf295
+ movx.w @r5,x1 movy.w a1,@r6 ! .word 0xf2d5
+ movx.w @r5,x0 movy.w a0,@r7 ! .word 0xf315
+ movx.w @r5,x0 movy.w a1,@r7 ! .word 0xf355
+ movx.w @r5,x1 movy.w a0,@r7 ! .word 0xf395
+ movx.w @r5,x1 movy.w a1,@r7 ! .word 0xf3d5
+ movx.w @r4,x0 movy.w a0,@r6+ ! .word 0xf016
+ movx.w @r4,x0 movy.w a1,@r6+ ! .word 0xf056
+ movx.w @r4,x1 movy.w a0,@r6+ ! .word 0xf096
+ movx.w @r4,x1 movy.w a1,@r6+ ! .word 0xf0d6
+ movx.w @r4,x0 movy.w a0,@r7+ ! .word 0xf116
+ movx.w @r4,x0 movy.w a1,@r7+ ! .word 0xf156
+ movx.w @r4,x1 movy.w a0,@r7+ ! .word 0xf196
+ movx.w @r4,x1 movy.w a1,@r7+ ! .word 0xf1d6
+ movx.w @r5,x0 movy.w a0,@r6+ ! .word 0xf216
+ movx.w @r5,x0 movy.w a1,@r6+ ! .word 0xf256
+ movx.w @r5,x1 movy.w a0,@r6+ ! .word 0xf296
+ movx.w @r5,x1 movy.w a1,@r6+ ! .word 0xf2d6
+ movx.w @r5,x0 movy.w a0,@r7+ ! .word 0xf316
+ movx.w @r5,x0 movy.w a1,@r7+ ! .word 0xf356
+ movx.w @r5,x1 movy.w a0,@r7+ ! .word 0xf396
+ movx.w @r5,x1 movy.w a1,@r7+ ! .word 0xf3d6
+ movx.w @r4,x0 movy.w a0,@r6+r9 ! .word 0xf017
+ movx.w @r4,x0 movy.w a1,@r6+r9 ! .word 0xf057
+ movx.w @r4,x1 movy.w a0,@r6+r9 ! .word 0xf097
+ movx.w @r4,x1 movy.w a1,@r6+r9 ! .word 0xf0d7
+ movx.w @r4,x0 movy.w a0,@r7+r9 ! .word 0xf117
+ movx.w @r4,x0 movy.w a1,@r7+r9 ! .word 0xf157
+ movx.w @r4,x1 movy.w a0,@r7+r9 ! .word 0xf197
+ movx.w @r4,x1 movy.w a1,@r7+r9 ! .word 0xf1d7
+ movx.w @r5,x0 movy.w a0,@r6+r9 ! .word 0xf217
+ movx.w @r5,x0 movy.w a1,@r6+r9 ! .word 0xf257
+ movx.w @r5,x1 movy.w a0,@r6+r9 ! .word 0xf297
+ movx.w @r5,x1 movy.w a1,@r6+r9 ! .word 0xf2d7
+ movx.w @r5,x0 movy.w a0,@r7+r9 ! .word 0xf317
+ movx.w @r5,x0 movy.w a1,@r7+r9 ! .word 0xf357
+ movx.w @r5,x1 movy.w a0,@r7+r9 ! .word 0xf397
+ movx.w @r5,x1 movy.w a1,@r7+r9 ! .word 0xf3d7
+ movx.w @r4+,x0 movy.w a0,@r6 ! .word 0xf019
+ movx.w @r4+,x0 movy.w a1,@r6 ! .word 0xf059
+ movx.w @r4+,x1 movy.w a0,@r6 ! .word 0xf099
+ movx.w @r4+,x1 movy.w a1,@r6 ! .word 0xf0d9
+ movx.w @r4+,x0 movy.w a0,@r7 ! .word 0xf119
+ movx.w @r4+,x0 movy.w a1,@r7 ! .word 0xf159
+ movx.w @r4+,x1 movy.w a0,@r7 ! .word 0xf199
+ movx.w @r4+,x1 movy.w a1,@r7 ! .word 0xf1d9
+ movx.w @r5+,x0 movy.w a0,@r6 ! .word 0xf219
+ movx.w @r5+,x0 movy.w a1,@r6 ! .word 0xf259
+ movx.w @r5+,x1 movy.w a0,@r6 ! .word 0xf299
+ movx.w @r5+,x1 movy.w a1,@r6 ! .word 0xf2d9
+ movx.w @r5+,x0 movy.w a0,@r7 ! .word 0xf319
+ movx.w @r5+,x0 movy.w a1,@r7 ! .word 0xf359
+ movx.w @r5+,x1 movy.w a0,@r7 ! .word 0xf399
+ movx.w @r5+,x1 movy.w a1,@r7 ! .word 0xf3d9
+ movx.w @r4+,x0 movy.w a0,@r6+ ! .word 0xf01a
+ movx.w @r4+,x0 movy.w a1,@r6+ ! .word 0xf05a
+ movx.w @r4+,x1 movy.w a0,@r6+ ! .word 0xf09a
+ movx.w @r4+,x1 movy.w a1,@r6+ ! .word 0xf0da
+ movx.w @r4+,x0 movy.w a0,@r7+ ! .word 0xf11a
+ movx.w @r4+,x0 movy.w a1,@r7+ ! .word 0xf15a
+ movx.w @r4+,x1 movy.w a0,@r7+ ! .word 0xf19a
+ movx.w @r4+,x1 movy.w a1,@r7+ ! .word 0xf1da
+ movx.w @r5+,x0 movy.w a0,@r6+ ! .word 0xf21a
+ movx.w @r5+,x0 movy.w a1,@r6+ ! .word 0xf25a
+ movx.w @r5+,x1 movy.w a0,@r6+ ! .word 0xf29a
+ movx.w @r5+,x1 movy.w a1,@r6+ ! .word 0xf2da
+ movx.w @r5+,x0 movy.w a0,@r7+ ! .word 0xf31a
+ movx.w @r5+,x0 movy.w a1,@r7+ ! .word 0xf35a
+ movx.w @r5+,x1 movy.w a0,@r7+ ! .word 0xf39a
+ movx.w @r5+,x1 movy.w a1,@r7+ ! .word 0xf3da
+ movx.w @r4+,x0 movy.w a0,@r6+r9 ! .word 0xf01b
+ movx.w @r4+,x0 movy.w a1,@r6+r9 ! .word 0xf05b
+ movx.w @r4+,x1 movy.w a0,@r6+r9 ! .word 0xf09b
+ movx.w @r4+,x1 movy.w a1,@r6+r9 ! .word 0xf0db
+ movx.w @r4+,x0 movy.w a0,@r7+r9 ! .word 0xf11b
+ movx.w @r4+,x0 movy.w a1,@r7+r9 ! .word 0xf15b
+ movx.w @r4+,x1 movy.w a0,@r7+r9 ! .word 0xf19b
+ movx.w @r4+,x1 movy.w a1,@r7+r9 ! .word 0xf1db
+ movx.w @r5+,x0 movy.w a0,@r6+r9 ! .word 0xf21b
+ movx.w @r5+,x0 movy.w a1,@r6+r9 ! .word 0xf25b
+ movx.w @r5+,x1 movy.w a0,@r6+r9 ! .word 0xf29b
+ movx.w @r5+,x1 movy.w a1,@r6+r9 ! .word 0xf2db
+ movx.w @r5+,x0 movy.w a0,@r7+r9 ! .word 0xf31b
+ movx.w @r5+,x0 movy.w a1,@r7+r9 ! .word 0xf35b
+ movx.w @r5+,x1 movy.w a0,@r7+r9 ! .word 0xf39b
+ movx.w @r5+,x1 movy.w a1,@r7+r9 ! .word 0xf3db
+ movx.w @r4+r8,x0 movy.w a0,@r6 ! .word 0xf01d
+ movx.w @r4+r8,x0 movy.w a1,@r6 ! .word 0xf05d
+ movx.w @r4+r8,x1 movy.w a0,@r6 ! .word 0xf09d
+ movx.w @r4+r8,x1 movy.w a1,@r6 ! .word 0xf0dd
+ movx.w @r4+r8,x0 movy.w a0,@r7 ! .word 0xf11d
+ movx.w @r4+r8,x0 movy.w a1,@r7 ! .word 0xf15d
+ movx.w @r4+r8,x1 movy.w a0,@r7 ! .word 0xf19d
+ movx.w @r4+r8,x1 movy.w a1,@r7 ! .word 0xf1dd
+ movx.w @r5+r8,x0 movy.w a0,@r6 ! .word 0xf21d
+ movx.w @r5+r8,x0 movy.w a1,@r6 ! .word 0xf25d
+ movx.w @r5+r8,x1 movy.w a0,@r6 ! .word 0xf29d
+ movx.w @r5+r8,x1 movy.w a1,@r6 ! .word 0xf2dd
+ movx.w @r5+r8,x0 movy.w a0,@r7 ! .word 0xf31d
+ movx.w @r5+r8,x0 movy.w a1,@r7 ! .word 0xf35d
+ movx.w @r5+r8,x1 movy.w a0,@r7 ! .word 0xf39d
+ movx.w @r5+r8,x1 movy.w a1,@r7 ! .word 0xf3dd
+ movx.w @r4+r8,x0 movy.w a0,@r6+ ! .word 0xf01e
+ movx.w @r4+r8,x0 movy.w a1,@r6+ ! .word 0xf05e
+ movx.w @r4+r8,x1 movy.w a0,@r6+ ! .word 0xf09e
+ movx.w @r4+r8,x1 movy.w a1,@r6+ ! .word 0xf0de
+ movx.w @r4+r8,x0 movy.w a0,@r7+ ! .word 0xf11e
+ movx.w @r4+r8,x0 movy.w a1,@r7+ ! .word 0xf15e
+ movx.w @r4+r8,x1 movy.w a0,@r7+ ! .word 0xf19e
+ movx.w @r4+r8,x1 movy.w a1,@r7+ ! .word 0xf1de
+ movx.w @r5+r8,x0 movy.w a0,@r6+ ! .word 0xf21e
+ movx.w @r5+r8,x0 movy.w a1,@r6+ ! .word 0xf25e
+ movx.w @r5+r8,x1 movy.w a0,@r6+ ! .word 0xf29e
+ movx.w @r5+r8,x1 movy.w a1,@r6+ ! .word 0xf2de
+ movx.w @r5+r8,x0 movy.w a0,@r7+ ! .word 0xf31e
+ movx.w @r5+r8,x0 movy.w a1,@r7+ ! .word 0xf35e
+ movx.w @r5+r8,x1 movy.w a0,@r7+ ! .word 0xf39e
+ movx.w @r5+r8,x1 movy.w a1,@r7+ ! .word 0xf3de
+ movx.w @r4+r8,x0 movy.w a0,@r6+r9 ! .word 0xf01f
+ movx.w @r4+r8,x0 movy.w a1,@r6+r9 ! .word 0xf05f
+ movx.w @r4+r8,x1 movy.w a0,@r6+r9 ! .word 0xf09f
+ movx.w @r4+r8,x1 movy.w a1,@r6+r9 ! .word 0xf0df
+ movx.w @r4+r8,x0 movy.w a0,@r7+r9 ! .word 0xf11f
+ movx.w @r4+r8,x0 movy.w a1,@r7+r9 ! .word 0xf15f
+ movx.w @r4+r8,x1 movy.w a0,@r7+r9 ! .word 0xf19f
+ movx.w @r4+r8,x1 movy.w a1,@r7+r9 ! .word 0xf1df
+ movx.w @r5+r8,x0 movy.w a0,@r6+r9 ! .word 0xf21f
+ movx.w @r5+r8,x0 movy.w a1,@r6+r9 ! .word 0xf25f
+ movx.w @r5+r8,x1 movy.w a0,@r6+r9 ! .word 0xf29f
+ movx.w @r5+r8,x1 movy.w a1,@r6+r9 ! .word 0xf2df
+ movx.w @r5+r8,x0 movy.w a0,@r7+r9 ! .word 0xf31f
+ movx.w @r5+r8,x0 movy.w a1,@r7+r9 ! .word 0xf35f
+ movx.w @r5+r8,x1 movy.w a0,@r7+r9 ! .word 0xf39f
+ movx.w @r5+r8,x1 movy.w a1,@r7+r9 ! .word 0xf3df
+ movx.w a0,@r4 movy.w @r6,y0 ! .word 0xf025
+ movx.w a0,@r4 movy.w @r6,y1 ! .word 0xf065
+ movx.w a1,@r4 movy.w @r6,y0 ! .word 0xf0a5
+ movx.w a1,@r4 movy.w @r6,y1 ! .word 0xf0e5
+ movx.w a0,@r4 movy.w @r7,y0 ! .word 0xf125
+ movx.w a0,@r4 movy.w @r7,y1 ! .word 0xf165
+ movx.w a1,@r4 movy.w @r7,y0 ! .word 0xf1a5
+ movx.w a1,@r4 movy.w @r7,y1 ! .word 0xf1e5
+ movx.w a0,@r5 movy.w @r6,y0 ! .word 0xf225
+ movx.w a0,@r5 movy.w @r6,y1 ! .word 0xf265
+ movx.w a1,@r5 movy.w @r6,y0 ! .word 0xf2a5
+ movx.w a1,@r5 movy.w @r6,y1 ! .word 0xf2e5
+ movx.w a0,@r5 movy.w @r7,y0 ! .word 0xf325
+ movx.w a0,@r5 movy.w @r7,y1 ! .word 0xf365
+ movx.w a0,@r5 movy.w @r7,y1 ! .word 0xf3a5
+ movx.w a1,@r5 movy.w @r7,y1 ! .word 0xf3e5
+ movx.w a0,@r4 movy.w @r6+,y0 ! .word 0xf026
+ movx.w a0,@r4 movy.w @r6+,y1 ! .word 0xf066
+ movx.w a1,@r4 movy.w @r6+,y0 ! .word 0xf0a6
+ movx.w a1,@r4 movy.w @r6+,y1 ! .word 0xf0e6
+ movx.w a0,@r4 movy.w @r7+,y0 ! .word 0xf126
+ movx.w a0,@r4 movy.w @r7+,y1 ! .word 0xf166
+ movx.w a1,@r4 movy.w @r7+,y0 ! .word 0xf1a6
+ movx.w a1,@r4 movy.w @r7+,y1 ! .word 0xf1e6
+ movx.w a0,@r5 movy.w @r6+,y0 ! .word 0xf226
+ movx.w a0,@r5 movy.w @r6+,y1 ! .word 0xf266
+ movx.w a1,@r5 movy.w @r6+,y0 ! .word 0xf2a6
+ movx.w a1,@r5 movy.w @r6+,y1 ! .word 0xf2e6
+ movx.w a0,@r5 movy.w @r7+,y0 ! .word 0xf326
+ movx.w a0,@r5 movy.w @r7+,y1 ! .word 0xf366
+ movx.w a1,@r5 movy.w @r7+,y0 ! .word 0xf3a6
+ movx.w a1,@r5 movy.w @r7+,y1 ! .word 0xf3e6
+ movx.w a0,@r4 movy.w @r6+r9,y0 ! .word 0xf027
+ movx.w a0,@r4 movy.w @r6+r9,y1 ! .word 0xf067
+ movx.w a1,@r4 movy.w @r6+r9,y0 ! .word 0xf0a7
+ movx.w a1,@r4 movy.w @r6+r9,y1 ! .word 0xf0e7
+ movx.w a0,@r4 movy.w @r7+r9,y0 ! .word 0xf127
+ movx.w a0,@r4 movy.w @r7+r9,y1 ! .word 0xf167
+ movx.w a1,@r4 movy.w @r7+r9,y0 ! .word 0xf1a7
+ movx.w a1,@r4 movy.w @r7+r9,y1 ! .word 0xf1e7
+ movx.w a0,@r5 movy.w @r6+r9,y0 ! .word 0xf227
+ movx.w a0,@r5 movy.w @r6+r9,y1 ! .word 0xf267
+ movx.w a1,@r5 movy.w @r6+r9,y0 ! .word 0xf2a7
+ movx.w a1,@r5 movy.w @r6+r9,y1 ! .word 0xf2e7
+ movx.w a0,@r5 movy.w @r7+r9,y0 ! .word 0xf327
+ movx.w a0,@r5 movy.w @r7+r9,y1 ! .word 0xf367
+ movx.w a1,@r5 movy.w @r7+r9,y0 ! .word 0xf3a7
+ movx.w a1,@r5 movy.w @r7+r9,y1 ! .word 0xf3e7
+ movx.w a0,@r4+ movy.w @r6,y0 ! .word 0xf029
+ movx.w a0,@r4+ movy.w @r6,y1 ! .word 0xf069
+ movx.w a1,@r4+ movy.w @r6,y0 ! .word 0xf0a9
+ movx.w a1,@r4+ movy.w @r6,y1 ! .word 0xf0e9
+ movx.w a0,@r4+ movy.w @r7,y0 ! .word 0xf129
+ movx.w a0,@r4+ movy.w @r7,y1 ! .word 0xf169
+ movx.w a1,@r4+ movy.w @r7,y0 ! .word 0xf1a9
+ movx.w a1,@r4+ movy.w @r7,y1 ! .word 0xf1e9
+ movx.w a0,@r5+ movy.w @r6,y0 ! .word 0xf229
+ movx.w a0,@r5+ movy.w @r6,y1 ! .word 0xf269
+ movx.w a1,@r5+ movy.w @r6,y0 ! .word 0xf2a9
+ movx.w a1,@r5+ movy.w @r6,y1 ! .word 0xf2e9
+ movx.w a0,@r5+ movy.w @r7,y0 ! .word 0xf329
+ movx.w a0,@r5+ movy.w @r7,y1 ! .word 0xf369
+ movx.w a1,@r5+ movy.w @r7,y0 ! .word 0xf3a9
+ movx.w a1,@r5+ movy.w @r7,y1 ! .word 0xf3e9
+ movx.w a0,@r4+ movy.w @r6+,y0 ! .word 0xf02a
+ movx.w a0,@r4+ movy.w @r6+,y1 ! .word 0xf06a
+ movx.w a1,@r4+ movy.w @r6+,y0 ! .word 0xf0aa
+ movx.w a1,@r4+ movy.w @r6+,y1 ! .word 0xf0ea
+ movx.w a0,@r4+ movy.w @r7+,y0 ! .word 0xf12a
+ movx.w a0,@r4+ movy.w @r7+,y1 ! .word 0xf16a
+ movx.w a1,@r4+ movy.w @r7+,y0 ! .word 0xf1aa
+ movx.w a1,@r4+ movy.w @r7+,y1 ! .word 0xf1ea
+ movx.w a0,@r5+ movy.w @r6+,y0 ! .word 0xf22a
+ movx.w a0,@r5+ movy.w @r6+,y1 ! .word 0xf26a
+ movx.w a1,@r5+ movy.w @r6+,y0 ! .word 0xf2aa
+ movx.w a1,@r5+ movy.w @r6+,y1 ! .word 0xf2ea
+ movx.w a0,@r5+ movy.w @r7+,y0 ! .word 0xf32a
+ movx.w a0,@r5+ movy.w @r7+,y1 ! .word 0xf36a
+ movx.w a1,@r5+ movy.w @r7+,y0 ! .word 0xf3aa
+ movx.w a1,@r5+ movy.w @r7+,y1 ! .word 0xf3ea
+ movx.w a0,@r4+ movy.w @r6+r9,y0 ! .word 0xf02b
+ movx.w a0,@r4+ movy.w @r6+r9,y1 ! .word 0xf06b
+ movx.w a1,@r4+ movy.w @r6+r9,y0 ! .word 0xf0ab
+ movx.w a1,@r4+ movy.w @r6+r9,y1 ! .word 0xf0eb
+ movx.w a0,@r4+ movy.w @r7+r9,y0 ! .word 0xf12b
+ movx.w a0,@r4+ movy.w @r7+r9,y1 ! .word 0xf16b
+ movx.w a1,@r4+ movy.w @r7+r9,y0 ! .word 0xf1ab
+ movx.w a1,@r4+ movy.w @r7+r9,y1 ! .word 0xf1eb
+ movx.w a0,@r5+ movy.w @r6+r9,y0 ! .word 0xf22b
+ movx.w a0,@r5+ movy.w @r6+r9,y1 ! .word 0xf26b
+ movx.w a1,@r5+ movy.w @r6+r9,y0 ! .word 0xf2ab
+ movx.w a1,@r5+ movy.w @r6+r9,y1 ! .word 0xf2eb
+ movx.w a0,@r5+ movy.w @r7+r9,y0 ! .word 0xf32b
+ movx.w a0,@r5+ movy.w @r7+r9,y1 ! .word 0xf36b
+ movx.w a1,@r5+ movy.w @r7+r9,y0 ! .word 0xf3ab
+ movx.w a1,@r5+ movy.w @r7+r9,y1 ! .word 0xf3eb
+ movx.w a0,@r4+r8 movy.w @r6,y0 ! .word 0xf02d
+ movx.w a0,@r4+r8 movy.w @r6,y1 ! .word 0xf06d
+ movx.w a1,@r4+r8 movy.w @r6,y0 ! .word 0xf0ad
+ movx.w a1,@r4+r8 movy.w @r6,y1 ! .word 0xf0ed
+ movx.w a0,@r4+r8 movy.w @r7,y0 ! .word 0xf12d
+ movx.w a0,@r4+r8 movy.w @r7,y1 ! .word 0xf16d
+ movx.w a1,@r4+r8 movy.w @r7,y0 ! .word 0xf1ad
+ movx.w a1,@r4+r8 movy.w @r7,y1 ! .word 0xf1ed
+ movx.w a0,@r5+r8 movy.w @r6,y0 ! .word 0xf22d
+ movx.w a0,@r5+r8 movy.w @r6,y1 ! .word 0xf26d
+ movx.w a1,@r5+r8 movy.w @r6,y0 ! .word 0xf2ad
+ movx.w a1,@r5+r8 movy.w @r6,y1 ! .word 0xf2ed
+ movx.w a0,@r5+r8 movy.w @r7,y0 ! .word 0xf32d
+ movx.w a0,@r5+r8 movy.w @r7,y1 ! .word 0xf36d
+ movx.w a1,@r5+r8 movy.w @r7,y0 ! .word 0xf3ad
+ movx.w a1,@r5+r8 movy.w @r7,y1 ! .word 0xf3ed
+ movx.w a0,@r4+r8 movy.w @r6+,y0 ! .word 0xf02e
+ movx.w a0,@r4+r8 movy.w @r6+,y1 ! .word 0xf06e
+ movx.w a1,@r4+r8 movy.w @r6+,y0 ! .word 0xf0ae
+ movx.w a1,@r4+r8 movy.w @r6+,y1 ! .word 0xf0ee
+ movx.w a0,@r4+r8 movy.w @r7+,y0 ! .word 0xf12e
+ movx.w a0,@r4+r8 movy.w @r7+,y1 ! .word 0xf16e
+ movx.w a1,@r4+r8 movy.w @r7+,y0 ! .word 0xf1ae
+ movx.w a1,@r4+r8 movy.w @r7+,y1 ! .word 0xf1ee
+ movx.w a0,@r5+r8 movy.w @r6+,y0 ! .word 0xf22e
+ movx.w a0,@r5+r8 movy.w @r6+,y1 ! .word 0xf26e
+ movx.w a1,@r5+r8 movy.w @r6+,y0 ! .word 0xf2ae
+ movx.w a1,@r5+r8 movy.w @r6+,y1 ! .word 0xf2ee
+ movx.w a0,@r5+r8 movy.w @r7+,y0 ! .word 0xf32e
+ movx.w a0,@r5+r8 movy.w @r7+,y1 ! .word 0xf36e
+ movx.w a1,@r5+r8 movy.w @r7+,y0 ! .word 0xf3ae
+ movx.w a1,@r5+r8 movy.w @r7+,y1 ! .word 0xf3ee
+ movx.w a0,@r4+r8 movy.w @r6+r9,y0 ! .word 0xf02f
+ movx.w a0,@r4+r8 movy.w @r6+r9,y1 ! .word 0xf06f
+ movx.w a1,@r4+r8 movy.w @r6+r9,y0 ! .word 0xf0af
+ movx.w a1,@r4+r8 movy.w @r6+r9,y1 ! .word 0xf0ef
+ movx.w a0,@r4+r8 movy.w @r7+r9,y0 ! .word 0xf12f
+ movx.w a0,@r4+r8 movy.w @r7+r9,y1 ! .word 0xf16f
+ movx.w a1,@r4+r8 movy.w @r7+r9,y0 ! .word 0xf1af
+ movx.w a1,@r4+r8 movy.w @r7+r9,y1 ! .word 0xf1ef
+ movx.w a0,@r5+r8 movy.w @r6+r9,y0 ! .word 0xf22f
+ movx.w a0,@r5+r8 movy.w @r6+r9,y1 ! .word 0xf26f
+ movx.w a1,@r5+r8 movy.w @r6+r9,y0 ! .word 0xf2af
+ movx.w a1,@r5+r8 movy.w @r6+r9,y1 ! .word 0xf2ef
+ movx.w a0,@r5+r8 movy.w @r7+r9,y0 ! .word 0xf32f
+ movx.w a0,@r5+r8 movy.w @r7+r9,y1 ! .word 0xf36f
+ movx.w a1,@r5+r8 movy.w @r7+r9,y0 ! .word 0xf3af
+ movx.w a1,@r5+r8 movy.w @r7+r9,y1 ! .word 0xf3ef
+
+movxwaxydxy:
+ movx.w @r4,x0 !
+ movx.w @r4,y0 !
+ movx.w @r4,x1 !
+ movx.w @r4,y1 !
+ movx.w @r0,x0 !
+ movx.w @r0,y0 !
+ movx.w @r0,x1 !
+ movx.w @r0,y1 !
+ movx.w @r5,x0 !
+ movx.w @r5,y0 !
+ movx.w @r5,x1 !
+ movx.w @r5,y1 !
+ movx.w @r1,x0 !
+ movx.w @r1,y0 !
+ movx.w @r1,x1 !
+ movx.w @r1,y1 !
+ movx.w @r4+,x0 !
+ movx.w @r4+,y0 !
+ movx.w @r4+,x1 !
+ movx.w @r4+,y1 !
+ movx.w @r0+,x0 !
+ movx.w @r0+,y0 !
+ movx.w @r0+,x1 !
+ movx.w @r0+,y1 !
+ movx.w @r5+,x0 !
+ movx.w @r5+,y0 !
+ movx.w @r5+,x1 !
+ movx.w @r5+,y1 !
+ movx.w @r1+,x0 !
+ movx.w @r1+,y0 !
+ movx.w @r1+,x1 !
+ movx.w @r1+,y1 !
+ movx.w @r4+r8,x0 !
+ movx.w @r4+r8,y0 !
+ movx.w @r4+r8,x1 !
+ movx.w @r4+r8,y1 !
+ movx.w @r0+r8,x0 !
+ movx.w @r0+r8,y0 !
+ movx.w @r0+r8,x1 !
+ movx.w @r0+r8,y1 !
+ movx.w @r5+r8,x0 !
+ movx.w @r5+r8,y0 !
+ movx.w @r5+r8,x1 !
+ movx.w @r5+r8,y1 !
+ movx.w @r1+r8,x0 !
+ movx.w @r1+r8,y0 !
+ movx.w @r1+r8,x1 !
+ movx.w @r1+r8,y1 !
+
+movxwdaxaxy: !
+ movx.w a0,@r4 !
+ movx.w x0,@r4 !
+ movx.w a1,@r4 !
+ movx.w x1,@r4 !
+ movx.w a0,@r0 !
+ movx.w x0,@r0 !
+ movx.w a1,@r0 !
+ movx.w x1,@r0 !
+ movx.w a0,@r5 !
+ movx.w x0,@r5 !
+ movx.w a1,@r5 !
+ movx.w x1,@r5 !
+ movx.w a0,@r1 !
+ movx.w x0,@r1 !
+ movx.w a1,@r1 !
+ movx.w x1,@r1 !
+ movx.w a0,@r4+ !
+ movx.w x0,@r4+ !
+ movx.w a1,@r4+ !
+ movx.w x1,@r4+ !
+ movx.w a0,@r0+ !
+ movx.w x0,@r0+ !
+ movx.w a1,@r0+ !
+ movx.w x1,@r0+ !
+ movx.w a0,@r5+ !
+ movx.w x0,@r5+ !
+ movx.w a1,@r5+ !
+ movx.w x1,@r5+ !
+ movx.w a0,@r1+ !
+ movx.w x0,@r1+ !
+ movx.w a1,@r1+ !
+ movx.w x1,@r1+ !
+ movx.w a0,@r4+r8 !
+ movx.w x0,@r4+r8 !
+ movx.w a1,@r4+r8 !
+ movx.w x1,@r4+r8 !
+ movx.w a0,@r0+r8 !
+ movx.w x0,@r0+r8 !
+ movx.w a1,@r0+r8 !
+ movx.w x1,@r0+r8 !
+ movx.w a0,@r5+r8 !
+ movx.w x0,@r5+r8 !
+ movx.w a1,@r5+r8 !
+ movx.w x1,@r5+r8 !
+ movx.w a0,@r1+r8 !
+ movx.w x0,@r1+r8 !
+ movx.w a1,@r1+r8 !
+ movx.w x1,@r1+r8 !
+
+movywayxdyx: !
+ movy.w @r6,y0 !
+ movy.w @r6,y1 !
+ movy.w @r6,x0 !
+ movy.w @r6,x1 !
+ movy.w @r7,y0 !
+ movy.w @r7,y1 !
+ movy.w @r7,x0 !
+ movy.w @r7,x1 !
+ movy.w @r2,y0 !
+ movy.w @r2,y1 !
+ movy.w @r2,x0 !
+ movy.w @r2,x1 !
+ movy.w @r3,y0 !
+ movy.w @r3,y1 !
+ movy.w @r3,x0 !
+ movy.w @r3,x1 !
+ movy.w @r6+,y0 !
+ movy.w @r6+,y1 !
+ movy.w @r6+,x0 !
+ movy.w @r6+,x1 !
+ movy.w @r7+,y0 !
+ movy.w @r7+,y1 !
+ movy.w @r7+,x0 !
+ movy.w @r7+,x1 !
+ movy.w @r2+,y0 !
+ movy.w @r2+,y1 !
+ movy.w @r2+,x0 !
+ movy.w @r2+,x1 !
+ movy.w @r3+,y0 !
+ movy.w @r3+,y1 !
+ movy.w @r3+,x0 !
+ movy.w @r3+,x1 !
+ movy.w @r6+r9,y0 !
+ movy.w @r6+r9,y1 !
+ movy.w @r6+r9,x0 !
+ movy.w @r6+r9,x1 !
+ movy.w @r7+r9,y0 !
+ movy.w @r7+r9,y1 !
+ movy.w @r7+r9,x0 !
+ movy.w @r7+r9,x1 !
+ movy.w @r2+r9,y0 !
+ movy.w @r2+r9,y1 !
+ movy.w @r2+r9,x0 !
+ movy.w @r2+r9,x1 !
+ movy.w @r3+r9,y0 !
+ movy.w @r3+r9,y1 !
+ movy.w @r3+r9,x0 !
+ movy.w @r3+r9,x1 !
+
+movywdayayx:
+ movy.w a0,@r6
+ movy.w a1,@r6
+ movy.w y0,@r6
+ movy.w y1,@r6
+ movy.w a0,@r7
+ movy.w a1,@r7
+ movy.w y0,@r7
+ movy.w y1,@r7
+ movy.w a0,@r2
+ movy.w a1,@r2
+ movy.w y0,@r2
+ movy.w y1,@r2
+ movy.w a0,@r3
+ movy.w a1,@r3
+ movy.w y0,@r3
+ movy.w y1,@r3
+ movy.w a0,@r6+
+ movy.w a1,@r6+
+ movy.w y0,@r6+
+ movy.w y1,@r6+
+ movy.w a0,@r7+
+ movy.w a1,@r7+
+ movy.w y0,@r7+
+ movy.w y1,@r7+
+ movy.w a0,@r2+
+ movy.w a1,@r2+
+ movy.w y0,@r2+
+ movy.w y1,@r2+
+ movy.w a0,@r3+
+ movy.w a1,@r3+
+ movy.w y0,@r3+
+ movy.w y1,@r3+
+ movy.w a0,@r6+r9
+ movy.w a1,@r6+r9
+ movy.w y0,@r6+r9
+ movy.w y1,@r6+r9
+ movy.w a0,@r7+r9
+ movy.w a1,@r7+r9
+ movy.w y0,@r7+r9
+ movy.w y1,@r7+r9
+ movy.w a0,@r2+r9
+ movy.w a1,@r2+r9
+ movy.w y0,@r2+r9
+ movy.w y1,@r2+r9
+ movy.w a0,@r3+r9
+ movy.w a1,@r3+r9
+ movy.w y0,@r3+r9
+ movy.w y1,@r3+r9
+
+ mov r4, r0
+ mov r4, r1
+ mov r4, r2
+ mov r4, r3
+ mov r4, r5
+ mov r4, r6
+ mov r5, r7
+
+movxlaxydxy:
+ movx.l @r4,x0
+ movx.l @r4,y0
+ movx.l @r4,x1
+ movx.l @r4,y1
+ movx.l @r0,x0
+ movx.l @r0,y0
+ movx.l @r0,x1
+ movx.l @r0,y1
+ movx.l @r5,x0
+ movx.l @r5,y0
+ movx.l @r5,x1
+ movx.l @r5,y1
+ movx.l @r1,x0
+ movx.l @r1,y0
+ movx.l @r1,x1
+ movx.l @r1,y1
+ movx.l @r4+,x0
+ movx.l @r4+,y0
+ movx.l @r4+,x1
+ movx.l @r4+,y1
+ movx.l @r0+,x0
+ movx.l @r0+,y0
+ movx.l @r0+,x1
+ movx.l @r0+,y1
+ movx.l @r5+,x0
+ movx.l @r5+,y0
+ movx.l @r5+,x1
+ movx.l @r5+,y1
+ movx.l @r1+,x0
+ movx.l @r1+,y0
+ movx.l @r1+,x1
+ movx.l @r1+,y1
+ movx.l @r4+r8,x0
+ movx.l @r4+r8,y0
+ movx.l @r4+r8,x1
+ movx.l @r4+r8,y1
+ movx.l @r0+r8,x0
+ movx.l @r0+r8,y0
+ movx.l @r0+r8,x1
+ movx.l @r0+r8,y1
+ movx.l @r5+r8,x0
+ movx.l @r5+r8,y0
+ movx.l @r5+r8,x1
+ movx.l @r5+r8,y1
+ movx.l @r1+r8,x0
+ movx.l @r1+r8,y0
+ movx.l @r1+r8,x1
+ movx.l @r1+r8,y1
+
+movxldaxaxy:
+ movx.l a0,@r4
+ movx.l x0,@r4
+ movx.l a1,@r4
+ movx.l x1,@r4
+ movx.l a0,@r0
+ movx.l x0,@r0
+ movx.l a1,@r0
+ movx.l x1,@r0
+ movx.l a0,@r5
+ movx.l x0,@r5
+ movx.l a1,@r5
+ movx.l x1,@r5
+ movx.l a0,@r1
+ movx.l x0,@r1
+ movx.l a1,@r1
+ movx.l x1,@r1
+ movx.l a0,@r4+
+ movx.l x0,@r4+
+ movx.l a1,@r4+
+ movx.l x1,@r4+
+ movx.l a0,@r0+
+ movx.l x0,@r0+
+ movx.l a1,@r0+
+ movx.l x1,@r0+
+ movx.l a0,@r5+
+ movx.l x0,@r5+
+ movx.l a1,@r5+
+ movx.l x1,@r5+
+ movx.l a0,@r1+
+ movx.l x0,@r1+
+ movx.l a1,@r1+
+ movx.l x1,@r1+
+ movx.l a0,@r4+r8
+ movx.l x0,@r4+r8
+ movx.l a1,@r4+r8
+ movx.l x1,@r4+r8
+ movx.l a0,@r0+r8
+ movx.l x0,@r0+r8
+ movx.l a1,@r0+r8
+ movx.l x1,@r0+r8
+ movx.l a0,@r5+r8
+ movx.l x0,@r5+r8
+ movx.l a1,@r5+r8
+ movx.l x1,@r5+r8
+ movx.l a0,@r1+r8
+ movx.l x0,@r1+r8
+ movx.l a1,@r1+r8
+ movx.l x1,@r1+r8
+
+movylayxdyx:
+ movy.l @r6,y0
+ movy.l @r6,y1
+ movy.l @r6,x0
+ movy.l @r6,x1
+ movy.l @r7,y0
+ movy.l @r7,y1
+ movy.l @r7,x0
+ movy.l @r7,x1
+ movy.l @r2,y0
+ movy.l @r2,y1
+ movy.l @r2,x0
+ movy.l @r2,x1
+ movy.l @r3,y0
+ movy.l @r3,y1
+ movy.l @r3,x0
+ movy.l @r3,x1
+ movy.l @r6+,y0
+ movy.l @r6+,y1
+ movy.l @r6+,x0
+ movy.l @r6+,x1
+ movy.l @r7+,y0
+ movy.l @r7+,y1
+ movy.l @r7+,x0
+ movy.l @r7+,x1
+ movy.l @r2+,y0
+ movy.l @r2+,y1
+ movy.l @r2+,x0
+ movy.l @r2+,x1
+ movy.l @r3+,y0
+ movy.l @r3+,y1
+ movy.l @r3+,x0
+ movy.l @r3+,x1
+ movy.l @r6+r9,y0
+ movy.l @r6+r9,y1
+ movy.l @r6+r9,x0
+ movy.l @r6+r9,x1
+ movy.l @r7+r9,y0
+ movy.l @r7+r9,y1
+ movy.l @r7+r9,x0
+ movy.l @r7+r9,x1
+ movy.l @r2+r9,y0
+ movy.l @r2+r9,y1
+ movy.l @r2+r9,x0
+ movy.l @r2+r9,x1
+ movy.l @r3+r9,y0
+ movy.l @r3+r9,y1
+ movy.l @r3+r9,x0
+ movy.l @r3+r9,x1
+
+movyldayayx:
+ movy.l a0,@r6
+ movy.l a1,@r6
+ movy.l y0,@r6
+ movy.l y1,@r6
+ movy.l a0,@r7
+ movy.l a1,@r7
+ movy.l y0,@r7
+ movy.l y1,@r7
+ movy.l a0,@r2
+ movy.l a1,@r2
+ movy.l y0,@r2
+ movy.l y1,@r2
+ movy.l a0,@r3
+ movy.l a1,@r3
+ movy.l y0,@r3
+ movy.l y1,@r3
+ movy.l a0,@r6+
+ movy.l a1,@r6+
+ movy.l y0,@r6+
+ movy.l y1,@r6+
+ movy.l a0,@r7+
+ movy.l a1,@r7+
+ movy.l y0,@r7+
+ movy.l y1,@r7+
+ movy.l a0,@r2+
+ movy.l a1,@r2+
+ movy.l y0,@r2+
+ movy.l y1,@r2+
+ movy.l a0,@r3+
+ movy.l a1,@r3+
+ movy.l y0,@r3+
+ movy.l y1,@r3+
+ movy.l a0,@r6+r9
+ movy.l a1,@r6+r9
+ movy.l y0,@r6+r9
+ movy.l y1,@r6+r9
+ movy.l a0,@r7+r9
+ movy.l a1,@r7+r9
+ movy.l y0,@r7+r9
+ movy.l y1,@r7+r9
+ movy.l a0,@r2+r9
+ movy.l a1,@r2+r9
+ movy.l y0,@r2+r9
+ movy.l y1,@r2+r9
+ movy.l a0,@r3+r9
+ movy.l a1,@r3+r9
+ movy.l y0,@r3+r9
+ movy.l y1,@r3+r9
+
+ pass
+ exit 0
diff --git a/sim/testsuite/sim/sh/pabs.s b/sim/testsuite/sim/sh/pabs.s
new file mode 100644
index 00000000000..6a9e4f24226
--- /dev/null
+++ b/sim/testsuite/sim/sh/pabs.s
@@ -0,0 +1,54 @@
+# sh testcase for pabs
+# mach: shdsp
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ # FIXME: opcode table ambiguity in ignored bits 4-7.
+
+ .include "testutils.inc"
+
+ start
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+ pabs x0, x1
+ pabs y0, y1
+ assert_sreg 0x5a5a5a5b, x1
+ assert_sreg 0x5a5a5a5b, y1
+ pabs x1, x0
+ pabs y1, y0
+ assert_sreg 0x5a5a5a5b, x0
+ assert_sreg 0x5a5a5a5b, y0
+
+ set_dcfalse
+ dct pabs a0, a0
+ dct pabs m0, m0
+ assert_sreg 0xa5a5a5a5, a0
+ assert_sreg2 0xa5a5a5a5, m0
+ set_dctrue
+ dct pabs a0, a0
+ dct pabs m0, m0
+ assert_sreg 0x5a5a5a5b, a0
+ assert_sreg2 0x5a5a5a5b, m0
+
+ set_dctrue
+ dcf pabs a1, a1
+ dcf pabs m1, m1
+ assert_sreg2 0xa5a5a5a5, a1
+ assert_sreg2 0xa5a5a5a5, m1
+ set_dcfalse
+ dcf pabs a1, a1
+ dcf pabs m1, m1
+ assert_sreg2 0x5a5a5a5b, a1
+ assert_sreg2 0x5a5a5a5b, m1
+
+ test_grs_a5a5
+
+ pass
+ exit 0
diff --git a/sim/testsuite/sim/sh/pclr.s b/sim/testsuite/sim/sh/pclr.s
new file mode 100644
index 00000000000..c396f832dee
--- /dev/null
+++ b/sim/testsuite/sim/sh/pclr.s
@@ -0,0 +1,65 @@
+# sh testcase for pclr
+# mach: shdsp
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ # FIXME: opcode table ambiguity in ignored bits 4-7.
+
+ .include "testutils.inc"
+
+ start
+pclr_cc:
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+ assert_sreg 0xa5a5a5a5, x0
+ pclr x0
+ assert_sreg 0, x0
+
+ set_dcfalse
+ dct pclr x1
+ assert_sreg 0xa5a5a5a5, x1
+ set_dctrue
+ dct pclr x1
+ assert_sreg 0, x1
+
+ set_dctrue
+ dcf pclr y0
+ assert_sreg 0xa5a5a5a5, y0
+ set_dcfalse
+ dcf pclr y0
+ assert_sreg 0, y0
+
+ test_grs_a5a5
+ assert_sreg 0xa5a5a5a5, a0
+ assert_sreg 0xa5a5a5a5, y1
+ assert_sreg2 0xa5a5a5a5, a1
+ assert_sreg2 0xa5a5a5a5, m0
+ assert_sreg2 0xa5a5a5a5, m1
+
+pclr_pmuls:
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+ pclr x0 pmuls y0, y1, a0
+
+ assert_sreg 0, x0
+ assert_sreg 0x3fc838b2, a0 ! 0xa5a5 x 0xa5a5
+
+ test_grs_a5a5
+
+ pass
+ exit 0
diff --git a/sim/testsuite/sim/sh/prnd.s b/sim/testsuite/sim/sh/prnd.s
new file mode 100644
index 00000000000..897d5b9ded9
--- /dev/null
+++ b/sim/testsuite/sim/sh/prnd.s
@@ -0,0 +1,90 @@
+# sh testcase for prnd
+# mach: shdsp
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ # FIXME: opcode table ambiguity in ignored bits 4-7.
+
+ .include "testutils.inc"
+
+ start
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+ # prnd(0xa5a5a5a5) = 0xa5a60000
+ prnd x0, x0
+ prnd y0, y0
+ assert_sreg 0xa5a60000, x0
+ assert_sreg 0xa5a60000, y0
+
+ # prnd(1) = 1
+ mov #1, r0
+ shll16 r0
+ lds r0, x0
+ pcopy x0, y0
+ prnd x0, x0
+ prnd y0, y0
+ assert_sreg 0x10000, x0
+ assert_sreg 0x10000, y0
+
+ # prnd(1.4999999) = 1
+ mov #1, r0
+ shll8 r0
+ or #0x7f, r0
+ shll8 r0
+ or #0xff, r0
+ lds r0, x0
+ pcopy x0, y0
+ prnd x0, x0
+ prnd y0, y0
+ assert_sreg 0x10000, x0
+ assert_sreg 0x10000, y0
+
+ # prnd(1.5) = 2
+ mov #1, r0
+ shll8 r0
+ or #0x80, r0
+ shll8 r0
+ lds r0, x0
+ pcopy x0, y0
+ prnd x0, x0
+ prnd y0, y0
+ assert_sreg 0x20000, x0
+ assert_sreg 0x20000, y0
+
+ # dct prnd
+ set_dcfalse
+ dct prnd x0, x1
+ dct prnd y0, y1
+ assert_sreg2 0xa5a5a5a5, x1
+ assert_sreg2 0xa5a5a5a5, y1
+ set_dctrue
+ dct prnd x0, x1
+ dct prnd y0, y1
+ assert_sreg2 0x20000, x1
+ assert_sreg2 0x20000, y1
+
+ # dcf prnd
+ set_dctrue
+ dcf prnd x0, m0
+ dcf prnd y0, m1
+ assert_sreg2 0xa5a5a5a5, m0
+ assert_sreg2 0xa5a5a5a5, m1
+ set_dcfalse
+ dcf prnd x0, m0
+ dcf prnd y0, m1
+ assert_sreg2 0x20000, m0
+ assert_sreg2 0x20000, m1
+
+ set_greg 0xa5a5a5a5, r0
+ test_grs_a5a5
+ assert_sreg 0xa5a5a5a5, a0
+ assert_sreg2 0xa5a5a5a5, a1
+ pass
+ exit 0
diff --git a/sim/testsuite/sim/sh/psub.s b/sim/testsuite/sim/sh/psub.s
new file mode 100644
index 00000000000..bcfd26e9514
--- /dev/null
+++ b/sim/testsuite/sim/sh/psub.s
@@ -0,0 +1,64 @@
+# sh testcase for psub
+# mach: shdsp
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ .include "testutils.inc"
+
+ start
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+psub_sx_sy:
+ # 0xa5a5a5a5 minus 0xa5a5a5a5 equals zero
+ psub x0, y0, a0
+ assert_sreg 0, a0
+
+psub_sy_sx:
+ # 100 - 25 = 75
+ mov #100, r0
+ mov #25, r1
+ lds r0, y1
+ lds r1, x1
+ psub y1, x1, a0
+ assert_sreg 75, a0
+
+dct_psub:
+ # 100 - 25 = 75
+ set_dcfalse
+ dct psub y1, x1, a1
+ assert_sreg2 0xa5a5a5a5, a1
+ set_dctrue
+ dct psub y1, x1, a1
+ assert_sreg2 75, a1
+
+dcf_psub:
+ # 25 - 100 = -75
+ set_dctrue
+ dcf psub x1, y1, m1
+ assert_sreg2 0xa5a5a5a5, m1
+ set_dcfalse
+ dcf psub x1, y1, m1
+ assert_sreg2 -75, m1
+
+psub_pmuls:
+ # 25 - 100 = -75, and 2 x 2 = 8 (yes, eight, not four)
+ mov #2, r0
+ shll16 r0
+ lds r0, x0
+ lds r0, y0
+ psub x1, y1, a1 pmuls x0, y0, a0
+ assert_sreg 8, a0
+ assert_sreg2 -75, a1
+
+ set_greg 0xa5a5a5a5, r0
+ set_greg 0xa5a5a5a5, r1
+ test_grs_a5a5
+ pass
+ exit 0
diff --git a/sim/testsuite/sim/sh/pswap.s b/sim/testsuite/sim/sh/pswap.s
new file mode 100644
index 00000000000..5bd6a5939cc
--- /dev/null
+++ b/sim/testsuite/sim/sh/pswap.s
@@ -0,0 +1,177 @@
+# sh testcase for pswap
+# mach: shdsp
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ .include "testutils.inc"
+
+ start
+
+pswapx:
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+ set_greg 0xa5a57777, r0
+ lds r0, x0
+ pswap x0, y0
+ assert_sreg 0x7777a5a5, y0
+
+ set_greg 0xa5a5a5a5, r0
+ test_grs_a5a5
+ assert_sreg 0xa5a57777, x0
+ assert_sreg 0xa5a5a5a5, x1
+ assert_sreg 0xa5a5a5a5, y1
+ assert_sreg 0xa5a5a5a5, a0
+ assert_sreg2 0xa5a5a5a5, a1
+ assert_sreg2 0xa5a5a5a5, m0
+ assert_sreg2 0xa5a5a5a5, m1
+
+pswapy:
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+ set_greg 0xa5a57777, r0
+ lds r0, y0
+ pswap y0, x0
+ assert_sreg 0x7777a5a5, x0
+
+ set_greg 0xa5a5a5a5, r0
+ test_grs_a5a5
+ assert_sreg 0xa5a57777, y0
+ assert_sreg 0xa5a5a5a5, x1
+ assert_sreg 0xa5a5a5a5, y1
+ assert_sreg 0xa5a5a5a5, a0
+ assert_sreg2 0xa5a5a5a5, a1
+ assert_sreg2 0xa5a5a5a5, m0
+ assert_sreg2 0xa5a5a5a5, m1
+
+pswapa:
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+ set_greg 0xa5a57777, r0
+ lds r0, a0
+ pcopy a0, a1
+ pswap a1, y0
+ assert_sreg 0x7777a5a5, y0
+
+ set_greg 0xa5a5a5a5, r0
+ test_grs_a5a5
+ assert_sreg 0xa5a57777, a0
+ assert_sreg2 0xa5a57777, a1
+ assert_sreg 0xa5a5a5a5, x0
+ assert_sreg 0xa5a5a5a5, x1
+ assert_sreg 0xa5a5a5a5, y1
+ assert_sreg2 0xa5a5a5a5, m0
+ assert_sreg2 0xa5a5a5a5, m1
+
+pswapm:
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+ set_greg 0xa5a57777, r0
+ lds r0, a0
+ pcopy a0, m1
+ pswap m1, y0
+ assert_sreg 0x7777a5a5, y0
+
+ set_greg 0xa5a5a5a5, r0
+ test_grs_a5a5
+ assert_sreg 0xa5a57777, a0
+ assert_sreg2 0xa5a57777, m1
+ assert_sreg 0xa5a5a5a5, x0
+ assert_sreg 0xa5a5a5a5, x1
+ assert_sreg 0xa5a5a5a5, y1
+ assert_sreg2 0xa5a5a5a5, a1
+ assert_sreg2 0xa5a5a5a5, m0
+
+
+dct_pswapx:
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+ set_greg 0xa5a57777, r0
+ lds r0, x0
+ set_dcfalse
+ dct pswap x0, y0
+ assert_sreg 0xa5a5a5a5, y0
+ set_dctrue
+ dct pswap x0, y0
+ assert_sreg 0x7777a5a5, y0
+
+ set_greg 0xa5a5a5a5, r0
+ test_grs_a5a5
+ assert_sreg 0xa5a57777, x0
+ assert_sreg 0xa5a5a5a5, x1
+ assert_sreg 0xa5a5a5a5, y1
+ assert_sreg 0xa5a5a5a5, a0
+ assert_sreg2 0xa5a5a5a5, a1
+ assert_sreg2 0xa5a5a5a5, m0
+ assert_sreg2 0xa5a5a5a5, m1
+
+dcf_pswapy:
+ set_grs_a5a5
+ lds r0, a0
+ pcopy a0, a1
+ lds r0, x0
+ lds r0, x1
+ lds r0, y0
+ lds r0, y1
+ pcopy x0, m0
+ pcopy y1, m1
+
+ set_greg 0xa5a57777, r0
+ lds r0, x0
+ set_dctrue
+ dcf pswap x0, y0
+ assert_sreg 0xa5a5a5a5, y0
+ set_dcfalse
+ dcf pswap x0, y0
+ assert_sreg 0x7777a5a5, y0
+
+ set_greg 0xa5a5a5a5, r0
+ test_grs_a5a5
+ assert_sreg 0xa5a57777, x0
+ assert_sreg 0xa5a5a5a5, x1
+ assert_sreg 0xa5a5a5a5, y1
+ assert_sreg 0xa5a5a5a5, a0
+ assert_sreg2 0xa5a5a5a5, a1
+ assert_sreg2 0xa5a5a5a5, m0
+ assert_sreg2 0xa5a5a5a5, m1
+
+ pass
+ exit 0
diff --git a/sim/testsuite/sim/sh/testutils.inc b/sim/testsuite/sim/sh/testutils.inc
index 5c547f2b596..736934cffbb 100644
--- a/sim/testsuite/sim/sh/testutils.inc
+++ b/sim/testsuite/sim/sh/testutils.inc
@@ -473,7 +473,7 @@ set_greg\@:
pop r0
.endm
- .macro set_sr_bit
+ .macro set_sr_bit val
push r0
push r1
get_sr r0
@@ -532,6 +532,7 @@ set_greg\@:
pop r0
bra .Lssr\@
nop
+ .align 2
.Lssrval\@:
.long \val
.Lssr\@:
@@ -550,6 +551,7 @@ set_greg\@:
pop r0
bra .Lssr2_\@
nop
+ .align 2
.Lssr2val\@:
.long \val
.Lssr2_\@:
@@ -564,6 +566,7 @@ set_greg\@:
pop r0
bra .Lscr\@
nop
+ .align 2
.Lscrval\@:
.long \val
.Lscr\@: