aboutsummaryrefslogtreecommitdiff
path: root/bfd/bfd.c
diff options
context:
space:
mode:
authornobody <>2006-11-15 00:00:36 +0000
committernobody <>2006-11-15 00:00:36 +0000
commit6ea925ed04e69ecd81fe4b1167d9f4570c564924 (patch)
treee8266757d03d8acce1ff252ca82cf2080f4b6578 /bfd/bfd.c
parentc9a129a5d1574b9b27f9fc84b0f5f0f63bc6bf34 (diff)
downloadfsf-binutils-gdb-nickrob-async-20060828-mergepoint.zip
fsf-binutils-gdb-nickrob-async-20060828-mergepoint.tar.gz
fsf-binutils-gdb-nickrob-async-20060828-mergepoint.tar.bz2
This commit was manufactured by cvs2svn to create tag 'nickrob-nickrob-async-20060828-mergepoint
async-20060828-mergepoint'. Sprout from gdb_6_6-branch 2006-11-15 00:00:34 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'gdb_6_6-branch'.' Cherrypick from master 2006-08-28 00:56:25 UTC DJ Delorie <dj@redhat.com> 'merge from gcc': COPYING.LIBGLOSS COPYING.NEWLIB ChangeLog Makefile.def Makefile.in Makefile.tpl bfd/ChangeLog bfd/Makefile.am bfd/Makefile.in bfd/archive.c bfd/archive64.c bfd/archures.c bfd/bfd-in.h bfd/bfd-in2.h bfd/bfd.c bfd/coff-arm.c bfd/coff-maxq.c bfd/coff-ppc.c bfd/coff-stgo32.c bfd/coffcode.h bfd/cofflink.c bfd/config.bfd bfd/configure bfd/configure.in bfd/cpu-arm.c bfd/cpu-i960.c bfd/dwarf2.c bfd/ecoff.c bfd/elf-bfd.h bfd/elf-eh-frame.c bfd/elf-m10300.c bfd/elf.c bfd/elf32-arm.c bfd/elf32-avr.c bfd/elf32-bfin.c bfd/elf32-cr16c.c bfd/elf32-cris.c bfd/elf32-crx.c bfd/elf32-d10v.c bfd/elf32-fr30.c bfd/elf32-frv.c bfd/elf32-h8300.c bfd/elf32-hppa.c bfd/elf32-i370.c bfd/elf32-i386.c bfd/elf32-ip2k.c bfd/elf32-iq2000.c bfd/elf32-m32c.c bfd/elf32-m32r.c bfd/elf32-m68hc11.c bfd/elf32-m68hc12.c bfd/elf32-m68hc1x.c bfd/elf32-m68hc1x.h bfd/elf32-m68k.c bfd/elf32-mcore.c bfd/elf32-mips.c bfd/elf32-msp430.c bfd/elf32-mt.c bfd/elf32-openrisc.c bfd/elf32-ppc.c bfd/elf32-s390.c bfd/elf32-sh-symbian.c bfd/elf32-sh.c bfd/elf32-sh64.c bfd/elf32-sparc.c bfd/elf32-v850.c bfd/elf32-vax.c bfd/elf32-xstormy16.c bfd/elf32-xtensa.c bfd/elf64-alpha.c bfd/elf64-hppa.c bfd/elf64-mips.c bfd/elf64-mmix.c bfd/elf64-ppc.c bfd/elf64-s390.c bfd/elf64-sh64.c bfd/elf64-sparc.c bfd/elf64-x86-64.c bfd/elfcode.h bfd/elflink.c bfd/elfn32-mips.c bfd/elfxx-ia64.c bfd/elfxx-mips.c bfd/elfxx-sparc.c bfd/elfxx-target.h bfd/hpux-core.c bfd/i386linux.c bfd/ieee.c bfd/libbfd-in.h bfd/libbfd.h bfd/libpei.h bfd/linker.c bfd/m68klinux.c bfd/merge.c bfd/mmo.c bfd/nlmcode.h bfd/osf-core.c bfd/pe-arm-wince.c bfd/pe-i386.c bfd/peXXigen.c bfd/pef.c bfd/pei-arm-wince.c bfd/pei-i386.c bfd/peicode.h bfd/po/BLD-POTFILES.in bfd/po/SRC-POTFILES.in bfd/reloc.c bfd/section.c bfd/som.c bfd/sparclinux.c bfd/stabs.c bfd/targets.c bfd/version.h bfd/vms-hdr.c config.guess config.sub config/ChangeLog config/tls.m4 configure configure.in gdb/ChangeLog gdb/ChangeLog-2004 gdb/Makefile.in gdb/NEWS gdb/ada-lex.l gdb/arch-utils.c gdb/arch-utils.h gdb/arm-tdep.c gdb/blockframe.c gdb/breakpoint.c gdb/cli/cli-cmds.c gdb/cli/cli-cmds.h gdb/cli/cli-decode.c gdb/cli/cli-setshow.c gdb/command.h gdb/configure.host gdb/configure.tgt gdb/defs.h gdb/doc/ChangeLog gdb/doc/gdb.texinfo gdb/doc/gdbint.texinfo gdb/doc/stabs.texinfo gdb/dwarf2loc.c gdb/dwarf2read.c gdb/eval.c gdb/exceptions.h gdb/exec.c gdb/expprint.c gdb/expression.h gdb/fork-child.c gdb/frame.c gdb/frame.h gdb/gcore.c gdb/gdbarch.c gdb/gdbarch.h gdb/gdbarch.sh gdb/gdbcmd.h gdb/gdbserver/ChangeLog gdb/gdbserver/acinclude.m4 gdb/gdbserver/config.in gdb/gdbserver/configure gdb/gdbserver/configure.ac gdb/gdbserver/configure.srv gdb/gdbserver/inferiors.c gdb/gdbserver/linux-low.c gdb/gdbserver/linux-low.h gdb/gdbserver/linux-s390-low.c gdb/gdbserver/remote-utils.c gdb/gdbserver/server.c gdb/gdbserver/server.h gdb/gdbserver/target.h gdb/gdbserver/thread-db.c gdb/infcall.c gdb/infcmd.c gdb/inferior.h gdb/infrun.c gdb/interps.c gdb/linux-fork.c gdb/linux-nat.c gdb/linux-thread-db.c gdb/m32c-tdep.c gdb/m68k-tdep.c gdb/memattr.c gdb/memattr.h gdb/mi/mi-cmd-stack.c gdb/minsyms.c gdb/monitor.c gdb/p-valprint.c gdb/parse.c gdb/parser-defs.h gdb/ppc-linux-tdep.c gdb/printcmd.c gdb/remote-sds.c gdb/remote-sim.c gdb/remote.c gdb/ser-mingw.c gdb/serial.c gdb/solib-svr4.c gdb/solib.c gdb/somread.c gdb/sparc-tdep.c gdb/stack.c gdb/symfile.c gdb/symtab.c gdb/symtab.h gdb/target.c gdb/target.h gdb/testsuite/ChangeLog gdb/testsuite/config/abug.exp gdb/testsuite/config/cpu32bug.exp gdb/testsuite/config/est.exp gdb/testsuite/config/hmsirom.exp gdb/testsuite/config/nind.exp gdb/testsuite/gdb.ada/array_return/p.adb gdb/testsuite/gdb.ada/array_return/pck.adb gdb/testsuite/gdb.ada/array_return/pck.ads gdb/testsuite/gdb.ada/arrayidx.exp gdb/testsuite/gdb.ada/exec_changed/first.adb gdb/testsuite/gdb.ada/exec_changed/second.adb gdb/testsuite/gdb.base/annota1.exp gdb/testsuite/gdb.base/args.c gdb/testsuite/gdb.base/args.exp gdb/testsuite/gdb.base/completion.exp gdb/testsuite/gdb.base/constvars.c gdb/testsuite/gdb.base/help.exp gdb/testsuite/gdb.base/maint.exp gdb/testsuite/gdb.base/multi-forks.exp gdb/testsuite/gdb.base/sepdebug.exp gdb/testsuite/gdb.cp/maint.exp gdb/testsuite/gdb.mi/mi-basics.exp gdb/testsuite/gdb.mi/mi-file.exp gdb/testsuite/gdb.mi/mi-stack.exp gdb/testsuite/gdb.mi/mi2-basics.exp gdb/testsuite/gdb.stabs/weird.exp gdb/testsuite/gdb.threads/manythreads.c gdb/testsuite/gdb.threads/manythreads.exp gdb/testsuite/gdb.trace/tracecmd.exp gdb/testsuite/lib/gdb.exp gdb/testsuite/lib/gdbserver-support.exp gdb/tui/tui-source.c gdb/utils.c gdb/valops.c gdb/version.in include/ChangeLog include/bfdlink.h include/coff/ChangeLog include/coff/external.h include/coff/internal.h include/coff/pe.h include/dis-asm.h include/elf/ChangeLog include/elf/arm.h include/elf/common.h include/elf/mips.h include/opcode/ChangeLog include/opcode/arm.h include/opcode/i386.h include/opcode/ppc.h intl/ChangeLog intl/Makefile.in intl/dgettext.c intl/dngettext.c libiberty/ChangeLog libiberty/Makefile.in libiberty/bcopy.c libiberty/configure libiberty/configure.ac libiberty/cp-demangle.c libiberty/floatformat.c libiberty/pex-win32.c libiberty/pexecute.txh libiberty/testsuite/Makefile.in libiberty/testsuite/demangle-expected opcodes/ChangeLog opcodes/Makefile.am opcodes/Makefile.in opcodes/arm-dis.c opcodes/configure opcodes/configure.in opcodes/cris-dis.c opcodes/disassemble.c opcodes/h8300-dis.c opcodes/i386-dis.c opcodes/ia64-gen.c opcodes/mips-dis.c opcodes/po/POTFILES.in opcodes/ppc-dis.c opcodes/ppc-opc.c opcodes/sh-dis.c readline/ChangeLog.gdb readline/Makefile.in readline/callback.c readline/terminal.c sim/ChangeLog sim/MAINTAINERS sim/common/ChangeLog sim/common/gentmap.c sim/common/sim-base.h sim/common/sim-fpu.c sim/common/sim-profile.c sim/cris/config.in sim/cris/configure sim/cris/configure.ac sim/cris/cris-sim.h sim/cris/sim-if.c sim/cris/traps.c sim/mips/ChangeLog sim/mips/Makefile.in sim/mips/configure.ac sim/mips/dsp.igen sim/mips/m16e.igen sim/mips/mips.igen sim/mips/sim-main.h sim/testsuite/ChangeLog sim/testsuite/sim/cris/c/clone5.c sim/testsuite/sim/cris/c/fcntl1.c sim/testsuite/sim/cris/c/mprotect1.c sim/testsuite/sim/cris/c/pipe2.c sim/testsuite/sim/cris/c/readlink2.c sim/testsuite/sim/cris/c/rtsigprocmask1.c sim/testsuite/sim/cris/c/rtsigsuspend1.c sim/testsuite/sim/cris/c/sig7.c sim/testsuite/sim/cris/c/sigreturn1.c sim/testsuite/sim/cris/c/sigreturn2.c sim/testsuite/sim/cris/c/syscall1.c sim/testsuite/sim/cris/c/syscall2.c sim/testsuite/sim/cris/c/sysctl2.c sim/testsuite/sim/mips/ChangeLog sim/testsuite/sim/mips/basic.exp sim/testsuite/sim/mips/testutils.inc Delete: bfd/coff-x86_64.c bfd/cpu-score.c bfd/cpu-spu.c bfd/elf32-score.c bfd/elf32-spu.c bfd/elf32-spu.h bfd/pe-x86_64.c bfd/pei-x86_64.c config/multi.m4 gdb/config/xtensa/xtensa.mt gdb/gdb_expat.h gdb/memory-map.c gdb/memory-map.h gdb/target-memory.c gdb/testsuite/gdb.ada/watch_arg.exp gdb/testsuite/gdb.ada/watch_arg/watch.adb gdb/testsuite/gdb.base/sepsymtab.c gdb/testsuite/gdb.base/sepsymtab.exp gdb/testsuite/gdb.base/subst.exp gdb/testsuite/gdb.cp/call-c-1.c gdb/testsuite/gdb.cp/call-c.cc gdb/testsuite/gdb.cp/call-c.exp gdb/testsuite/gdb.threads/tls-nodebug.c gdb/testsuite/gdb.threads/tls-nodebug.exp gdb/vec.c gdb/vec.h gdb/xml-support.c gdb/xml-support.h gdb/xtensa-config.c gdb/xtensa-tdep.c gdb/xtensa-tdep.h include/coff/x86_64.h include/elf/score.h include/elf/spu.h include/opcode/score-datadep.h include/opcode/score-inst.h include/opcode/spu-insns.h include/opcode/spu.h opcodes/score-dis.c opcodes/score-opc.h opcodes/spu-dis.c opcodes/spu-opc.c sim/mips/smartmips.igen sim/testsuite/sim/cris/asm/option3.ms sim/testsuite/sim/cris/asm/option4.ms sim/testsuite/sim/cris/c/clone6.c sim/testsuite/sim/cris/c/fcntl2.c sim/testsuite/sim/cris/c/mprotect2.c sim/testsuite/sim/cris/c/readlink11.c sim/testsuite/sim/cris/c/rtsigprocmask2.c sim/testsuite/sim/cris/c/rtsigsuspend2.c sim/testsuite/sim/cris/c/sig13.c sim/testsuite/sim/cris/c/sigreturn3.c sim/testsuite/sim/cris/c/sigreturn4.c sim/testsuite/sim/cris/c/syscall3.c sim/testsuite/sim/cris/c/syscall4.c sim/testsuite/sim/cris/c/syscall5.c sim/testsuite/sim/cris/c/syscall6.c sim/testsuite/sim/cris/c/syscall7.c sim/testsuite/sim/cris/c/syscall8.c sim/testsuite/sim/cris/c/sysctl3.c
Diffstat (limited to 'bfd/bfd.c')
-rw-r--r--bfd/bfd.c51
1 files changed, 12 insertions, 39 deletions
diff --git a/bfd/bfd.c b/bfd/bfd.c
index b970141..13fbf93 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -271,7 +271,6 @@ CODE_FRAGMENT
. bfd_error_bad_value,
. bfd_error_file_truncated,
. bfd_error_file_too_big,
-. bfd_error_on_input,
. bfd_error_invalid_error_code
.}
.bfd_error_type;
@@ -279,8 +278,6 @@ CODE_FRAGMENT
*/
static bfd_error_type bfd_error = bfd_error_no_error;
-static bfd *input_bfd = NULL;
-static bfd_error_type input_error = bfd_error_no_error;
const char *const bfd_errmsgs[] =
{
@@ -303,7 +300,6 @@ const char *const bfd_errmsgs[] =
N_("Bad value"),
N_("File truncated"),
N_("File too big"),
- N_("Error reading %s: %s"),
N_("#<Invalid error code>")
};
@@ -329,32 +325,16 @@ FUNCTION
bfd_set_error
SYNOPSIS
- void bfd_set_error (bfd_error_type error_tag, ...);
+ void bfd_set_error (bfd_error_type error_tag);
DESCRIPTION
Set the BFD error condition to be @var{error_tag}.
- If @var{error_tag} is bfd_error_on_input, then this function
- takes two more parameters, the input bfd where the error
- occurred, and the bfd_error_type error.
*/
void
-bfd_set_error (bfd_error_type error_tag, ...)
+bfd_set_error (bfd_error_type error_tag)
{
bfd_error = error_tag;
- if (error_tag == bfd_error_on_input)
- {
- /* This is an error that occurred during bfd_close when
- writing an archive, but on one of the input files. */
- va_list ap;
-
- va_start (ap, error_tag);
- input_bfd = va_arg (ap, bfd *);
- input_error = va_arg (ap, int);
- if (input_error >= bfd_error_on_input)
- abort ();
- va_end (ap);
- }
}
/*
@@ -375,19 +355,6 @@ bfd_errmsg (bfd_error_type error_tag)
#ifndef errno
extern int errno;
#endif
- if (error_tag == bfd_error_on_input)
- {
- char *buf;
- const char *msg = bfd_errmsg (input_error);
-
- if (asprintf (&buf, _(bfd_errmsgs [error_tag]), input_bfd->filename, msg)
- != -1)
- return buf;
-
- /* Ick, what to do on out of memory? */
- return msg;
- }
-
if (error_tag == bfd_error_system_call)
return xstrerror (errno);
@@ -415,10 +382,16 @@ DESCRIPTION
void
bfd_perror (const char *message)
{
- if (message == NULL || *message == '\0')
- fprintf (stderr, "%s\n", bfd_errmsg (bfd_get_error ()));
+ if (bfd_get_error () == bfd_error_system_call)
+ /* Must be a system error then. */
+ perror ((char *) message);
else
- fprintf (stderr, "%s: %s\n", message, bfd_errmsg (bfd_get_error ()));
+ {
+ if (message == NULL || *message == '\0')
+ fprintf (stderr, "%s\n", bfd_errmsg (bfd_get_error ()));
+ else
+ fprintf (stderr, "%s: %s\n", message, bfd_errmsg (bfd_get_error ()));
+ }
}
/*
@@ -908,7 +881,7 @@ bfd_get_sign_extend_vma (bfd *abfd)
no place to store this information in the COFF back end.
Should enough other COFF targets add support for DWARF2,
a place will have to be found. Until then, this hack will do. */
- if (CONST_STRNEQ (name, "coff-go32")
+ if (strncmp (name, "coff-go32", sizeof ("coff-go32") - 1) == 0
|| strcmp (name, "pe-i386") == 0
|| strcmp (name, "pei-i386") == 0
|| strcmp (name, "pe-arm-wince-little") == 0