* config/tc-cris.c (SIMPLE_EXPR): New macro.
(cris_relax_frag): New function.
(md_estimate_size_before_relax) <case ENCODE_RELAX
(STATE_BASE_PLUS_DISP_PREFIX, STATE_UNDF)>: Pass on unresolved
expressions that will become absolute expressions to relaxation.
(md_convert_frag) <case ENCODE_RELAX (STATE_BASE_PLUS_DISP_PREFIX,
STATE_WORD)>: Expect only absolute expressions. Use the symbol
value, not distance to symbol.
<case ENCODE_RELAX (STATE_BASE_PLUS_DISP_PREFIX, STATE_BYTE)>:
Ditto. Correct placement of fixup.
(md_assemble): Use SIMPLE_EXPR when dissecting expressions.
(gen_bdap): Ditto.
* config/tc-cris.h (cris_relax_frag): Declare.
(md_relax_frag): Define.
Alexandre Oliva [Tue, 22 Oct 2002 22:13:26 +0000 (22:13 +0000)]
* emulparams/elf32bmipn32-defs.sh: Set ELFSIZE according to
emulation name. Set LIB_PATH only for native tools, and
search the ABI-specific versions of NATIVE_LIB_DIRS before the
.../lib variants, not instead of them. Mostly copied from...
* emulparams/elf32ppc.sh: ... here. Fixed typo.
* emulparams/elf64bmip-defs.sh: Backed out.
* emulparams/elf64bmip.sh: Import elf32bmipn32-defs.sh again.
* emulparams/elf64btsmip.sh: Likewise.
(DATA_ADDR, NONPAGED_TEXT_START_ADDR, SHLIB_TEXT_START_ADDR,
TEXT_DYNAMIC): Removed.
Alexandre Oliva [Tue, 22 Oct 2002 21:00:10 +0000 (21:00 +0000)]
* 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.
Keith Seitz [Tue, 22 Oct 2002 17:53:42 +0000 (17:53 +0000)]
* mi-main.c (mi_cmd_thread_select): Only return MI_CMD_CAUGHT_ERROR
when we really did catch an error(). If we got GDB_RC_FAIL, return
MI_CMD_ERROR instead.
Elena Zannoni [Mon, 21 Oct 2002 19:11:50 +0000 (19:11 +0000)]
2002-10-21 Jim Blandy <jimb@redhat.com>
Elena Zannoni <ezannoni@redhat.com>
* symtab.h (address_class): Re-add LOC_THREAD_LOCAL_STATIC
for thread local storage locations.
(struct symbol): Add objfile field.
(SYMBOL_OBJFILE): Define.
* dwarf2read.c (is_thread_local): New static variable.
(new_symbol): If variable is in thread local fill in address class
and objfile appropriately.
(decode_locdesc): Recognize and handle DW_OP_GNU_push_tls_address
stack operation.
* printcmd.c (address_info): Print the information for thread
local storage variable.
* findvar.c (read_var_value): In case of thread local variable,
defer to the target vector code to compute address.
Mark Kettenis [Sun, 20 Oct 2002 11:54:40 +0000 (11:54 +0000)]
* configure.tgt (i[3456]86-*-openbsd*): Set gdb_target to obds.
* config/i386/obsd.mt: New file.
* i386bsd-nat.c (_initialize_i386bsd_nat): Introduce
i386obsd_sc_pc_offset and i386obsd_sc_sp_offset;
* i386obsd-nat.c (_initialize_i386obsd_nat): Set
i386obsd_sigtramp_start and i386obsd_sigtramp_end instead of
i386nbsd_sigtramp_start and i386nbsd_sigtramp_end.
* i386obsd-tdep.c: New file.
David O'Brien [Sun, 20 Oct 2002 05:37:33 +0000 (05:37 +0000)]
2002-10-19 David O'Brien <obrien@FreeBSD.org>
* configure.tgt (alpha*-*-freebsd*, i[3456]86-*-freebsd*,
sparc64-*-freebsd*): Combine to make *-*-freebsd* with gdb_target set
to fbsd. Removes need for additional freebsd tupples.
Alexandre Oliva [Thu, 17 Oct 2002 21:54:44 +0000 (21:54 +0000)]
* emulparams/elf32bmipn32-defs.sh (LIB_PATH): Set to /usr/lib32.
(GENERATE_SHLIB_SCRIPT): Set to yes.
(EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Moved to...
* emulparams/elf32bmipn32.sh: here.
(GENERATE_SHLIB_SCRIPT): Deleted as redundant.
* emulparams/elf32btsmipn32.sh: Delete redundant unsets.
* emulparams/elf64bmip-defs.sh: New file. Extend
elf32bmipn32-defs.sh by overiding ELFSIZE and LIB_PATH.
* emulparams/elf64bmip.sh: Bring in definitions from
elf64bmip-defs.sh.
(ELFSIZE, GENERATE_SHLIB_SCRIPT, LIB_PATH): Delete redundant
settings.
(WRITABLE_RODATA): Moved from elf32bmipn32-defs.sh.
* emulparams/elf64btsmip.sh: Bring in definitions from
elf64bmip-defs.sh.
(ELFSIZE, GENERATE_SHLIB_SCRIPT): Delete, redundant.
(EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Delete redundant unsets.
David Carlton [Thu, 17 Oct 2002 21:16:12 +0000 (21:16 +0000)]
2002-10-09 David Carlton <carlton@math.stanford.edu>
* symfile.h: Add opaque declaration for struct obstack.
Declare obsavestring to take a const char *.
* symfile.c (obsavestring): Make first argument a const char *.
Alan Modra [Thu, 17 Oct 2002 02:59:15 +0000 (02:59 +0000)]
* 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.
Stephen Clarke [Mon, 14 Oct 2002 19:29:54 +0000 (19:29 +0000)]
* 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.
Stephen Clarke [Mon, 14 Oct 2002 18:45:03 +0000 (18:45 +0000)]
ld-sh/ld-r-1.d: Disable for sh64*-*-linux*.
* ld-sh/sh64/sh64.exp: Likewise.
* ld-sh/sh.exp: Disable relaxing tests for sh64*-*-linux*.
* ld-sh/sh64/abi32.sd: Adjust expected output to include
sh64*-*-linux* formats too.
* ld-sh/sh64/relax.exp: Add emul32 variable to hold target
emulation, and set it appropriately for sh*-*-linux*.
* ld-sh/sh64/relfail.exp: Add variables to hold target
emulation, output format, start symbol, and whether target
supports 64-bit ABI. Set appropriately for sh*-*-linux*.