diff options
author | Ian Lance Taylor <ian@airs.com> | 1999-09-11 21:51:55 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1999-09-11 21:51:55 +0000 |
commit | c0bed66d0947bee6d6e71ac26cba4707464d5922 (patch) | |
tree | 52aebfde2f30e98da7f91503ed6e8cc162ca74b4 /bfd | |
parent | a50f8417d5e6969db1193da0a056a7033a922bd1 (diff) | |
download | gdb-c0bed66d0947bee6d6e71ac26cba4707464d5922.zip gdb-c0bed66d0947bee6d6e71ac26cba4707464d5922.tar.gz gdb-c0bed66d0947bee6d6e71ac26cba4707464d5922.tar.bz2 |
1999-09-11 Donn Terry <donn@interix.com>
* libbfd-in.h (_bfd_abort): Declare.
(abort): Define.
* bfd.c (_bfd_abort): New function.
* libbfd.h: Rebuild.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/bfd.c | 24 | ||||
-rw-r--r-- | bfd/libbfd-in.h | 11 | ||||
-rw-r--r-- | bfd/libbfd.h | 11 |
4 files changed, 51 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4895d5f..c9aa5e1 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -7,6 +7,11 @@ 1999-09-11 Donn Terry <donn@interix.com> + * libbfd-in.h (_bfd_abort): Declare. + (abort): Define. + * bfd.c (_bfd_abort): New function. + * libbfd.h: Rebuild. + * coffcode.h (coff_set_alignment_hook): Delete POWERPC_LE_PE special handling. @@ -679,6 +679,30 @@ bfd_assert (file, line) (*_bfd_error_handler) (_("bfd assertion fail %s:%d"), file, line); } +/* A more or less friendly abort message. In libbfd.h abort is + defined to call this function. */ + +#ifndef EXIT_FAILURE +#define EXIT_FAILURE 1 +#endif + +void +_bfd_abort (file, line, fn) + const char *file; + int line; + const char *fn; +{ + if (fn != NULL) + (*_bfd_error_handler) + (_("BFD internal error, aborting at %s line %d in %s\n"), + file, line, fn); + else + (*_bfd_error_handler) + (_("BFD internal error, aborting at %s line %d\n"), + file, line); + (*_bfd_error_handler) (_("Please report this bug.\n")); + xexit (EXIT_FAILURE); +} /* FUNCTION diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h index f2ac823..79a176d 100644 --- a/bfd/libbfd-in.h +++ b/bfd/libbfd-in.h @@ -503,6 +503,17 @@ void bfd_assert PARAMS ((const char*,int)); #define BFD_FAIL() \ { bfd_assert(__FILE__,__LINE__); } +extern void _bfd_abort PARAMS ((const char *, int, const char *)) + ATTRIBUTE_NORETURN; + +/* if gcc, we can give a function name, too */ +#if !defined (__GNUC__) || __GNUC_MINOR__ <= 5 +#define __PRETTY_FUNCTION__ ((char *) NULL) +#endif + +#undef abort +#define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) + FILE * bfd_cache_lookup_worker PARAMS ((bfd *)); extern bfd *bfd_last_cache; diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 9a252ee..4918d26 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -503,6 +503,17 @@ void bfd_assert PARAMS ((const char*,int)); #define BFD_FAIL() \ { bfd_assert(__FILE__,__LINE__); } +extern void _bfd_abort PARAMS ((const char *, int, const char *)) + ATTRIBUTE_NORETURN; + +/* if gcc, we can give a function name, too */ +#if !defined (__GNUC__) || __GNUC_MINOR__ <= 5 +#define __PRETTY_FUNCTION__ ((char *) NULL) +#endif + +#undef abort +#define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) + FILE * bfd_cache_lookup_worker PARAMS ((bfd *)); extern bfd *bfd_last_cache; |