From b0de9ed86f3af84fbd636f94a58b9c4ad7f4e743 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 1 Jun 2022 10:44:01 +0930 Subject: [PATCH] Re: use libiberty xmalloc in bfd/doc/chew.c We can't use libiberty.a in chew. libiberty is a host library, chew a build program. Partly revert commit 7273d78f3f7a, instead define local versions of the libiberty functions. ansidecl.h also isn't needed. * doc/chew.c: Don't include libiberty.h or ansidecl.h. (xmalloc, xrealloc, xstrdup): New functions. * doc/local.mk (LIBIBERTY): Don't define or use. * Makefile.in: Regenerate. --- bfd/Makefile.in | 3 +-- bfd/doc/chew.c | 41 +++++++++++++++++++++++++++++++++++++++-- bfd/doc/local.mk | 4 +--- 3 files changed, 41 insertions(+), 7 deletions(-) diff --git a/bfd/Makefile.in b/bfd/Makefile.in index 53cac75af0e..741e08d603c 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -1301,7 +1301,6 @@ doc_bfd_TEXINFOS = $(DOCFILES) doc/bfdsumm.texi AM_MAKEINFOFLAGS = --no-split -I "$(srcdir)/doc" -I doc TEXI2DVI = texi2dvi -I "$(srcdir)/doc" -I doc MKDOC = doc/chew$(EXEEXT_FOR_BUILD) -LIBIBERTY = ../libiberty/libiberty.a # We can't replace these rules with an implicit rule, because # makes without VPATH support couldn't find the .h files in `..'. @@ -2488,7 +2487,7 @@ doc/chew.stamp: $(srcdir)/doc/chew.c doc/$(am__dirstamp) $(AM_V_CCLD)$(CC_FOR_BUILD) -o doc/chw$$$$$(EXEEXT_FOR_BUILD) $(CFLAGS_FOR_BUILD) \ $(LDFLAGS_FOR_BUILD) $(H_CFLAGS) \ -I. -I$(srcdir) -Idoc -I$(srcdir)/../include -I$(srcdir)/../intl -I../intl \ - $(srcdir)/doc/chew.c $(LIBIBERTY) && \ + $(srcdir)/doc/chew.c && \ $(SHELL) $(srcdir)/../move-if-change \ doc/chw$$$$$(EXEEXT_FOR_BUILD) $(MKDOC) && \ touch $@ diff --git a/bfd/doc/chew.c b/bfd/doc/chew.c index a12c00370d9..1695173970a 100644 --- a/bfd/doc/chew.c +++ b/bfd/doc/chew.c @@ -81,8 +81,6 @@ Foo. */ -#include "ansidecl.h" -#include "libiberty.h" #include #include #include @@ -145,6 +143,45 @@ die (char *msg) exit (1); } +void * +xmalloc (size_t size) +{ + void *newmem; + + if (size == 0) + size = 1; + newmem = malloc (size); + if (!newmem) + die ("out of memory"); + + return newmem; +} + +void * +xrealloc (void *oldmem, size_t size) +{ + void *newmem; + + if (size == 0) + size = 1; + if (!oldmem) + newmem = malloc (size); + else + newmem = realloc (oldmem, size); + if (!newmem) + die ("out of memory"); + + return newmem; +} + +char * +xstrdup (const char *s) +{ + size_t len = strlen (s) + 1; + char *ret = xmalloc (len); + return memcpy (ret, s, len); +} + static void init_string_with_size (string_type *buffer, unsigned int size) { diff --git a/bfd/doc/local.mk b/bfd/doc/local.mk index 8c6932802f6..931942f874c 100644 --- a/bfd/doc/local.mk +++ b/bfd/doc/local.mk @@ -82,14 +82,12 @@ TEXI2DVI = texi2dvi -I "$(srcdir)/%D%" -I %D% MKDOC = %D%/chew$(EXEEXT_FOR_BUILD) -LIBIBERTY = ../libiberty/libiberty.a - $(MKDOC): %D%/chew.stamp ; @true %D%/chew.stamp: $(srcdir)/%D%/chew.c %D%/$(am__dirstamp) $(AM_V_CCLD)$(CC_FOR_BUILD) -o %D%/chw$$$$$(EXEEXT_FOR_BUILD) $(CFLAGS_FOR_BUILD) \ $(LDFLAGS_FOR_BUILD) $(H_CFLAGS) \ -I. -I$(srcdir) -I%D% -I$(srcdir)/../include -I$(srcdir)/../intl -I../intl \ - $(srcdir)/%D%/chew.c $(LIBIBERTY) && \ + $(srcdir)/%D%/chew.c && \ $(SHELL) $(srcdir)/../move-if-change \ %D%/chw$$$$$(EXEEXT_FOR_BUILD) $(MKDOC) && \ touch $@ -- 2.30.2