summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/hppa1.1/simhppa/tools
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-03-23 19:51:40 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-03-23 19:51:40 +0000
commit5839b0c1400a052aff12095b7be26bb0f81f23f2 (patch)
tree9737040b7f49d8094c2f22289f18672cd3715937 /c/src/lib/libbsp/hppa1.1/simhppa/tools
parentPatches from Eric Norum: (diff)
downloadrtems-5839b0c1400a052aff12095b7be26bb0f81f23f2.tar.bz2
Converted to conditionally uses strerr code to better work with glibc2.
Diffstat (limited to 'c/src/lib/libbsp/hppa1.1/simhppa/tools')
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in2
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/tools/print_dump.c27
2 files changed, 21 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in
index d4af1bb269..e90cae8569 100644
--- a/c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in
@@ -31,7 +31,7 @@ include $(RTEMS_ROOT)/make/leaf.cfg
#
DEFINES +=
-CPPFLAGS +=
+CPPFLAGS += -I.
CFLAGS +=
LD_PATHS +=
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/tools/print_dump.c b/c/src/lib/libbsp/hppa1.1/simhppa/tools/print_dump.c
index fa8d02b9ad..ec85339e41 100644
--- a/c/src/lib/libbsp/hppa1.1/simhppa/tools/print_dump.c
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/tools/print_dump.c
@@ -28,6 +28,24 @@ usage: print_dump [ -v ] \n\
#include <memory.h>
#include <stdarg.h>
+#include "../../../../../../build-tools/src/config.h"
+
+#ifndef VMS
+#ifndef HAVE_STRERROR
+#if defined(__linux__) && (__GLIBC__ < 2)
+extern char *sys_errlist[];
+#endif
+
+#define strerror( _err ) \
+ ((_err) < sys_nerr) ? sys_errlist [(_err)] : "unknown error"
+
+#else /* HAVE_STRERROR */
+char *strerror ();
+#endif
+#else /* VMS */
+char *strerror (int,...);
+#endif
+
#define Failed(x) (((int) (x)) == -1)
#define TRUE 1
#define FALSE 0
@@ -280,8 +298,6 @@ error(int error_flag, ...)
{
va_list arglist;
register char *format;
- extern char *sys_errlist[];
- extern int sys_nerr;
int local_errno;
extern int errno;
@@ -299,12 +315,9 @@ error(int error_flag, ...)
va_end(arglist);
if (local_errno)
- if ((local_errno > 0) && (local_errno < sys_nerr))
- (void) fprintf(stderr, " (%s)\n", sys_errlist[local_errno]);
- else
- (void) fprintf(stderr, " (unknown errno=%d)\n", local_errno);
+ (void) fprintf(stderr, " (%s)\n", strerror(local_errno));
else
- (void) fprintf(stderr, "\n");
+ (void) fprintf(stderr, "\n");
(void) fflush(stderr);