Move bfd_init to bfd.c
init.c contains just one function that doesn't do much. Move it to bfd.c and give it something to do, initialising static state. So far the only initialisation is for bfd.c static variables. The idea behind reinitialising state is to see whether some set of flaky oss-fuzz crashes go away. oss-fuzz stresses binutils in ways that can't occur in reality, feeding multiple testcases into the internals of binutils. So one testcase may affect the result of the next testcase. * init.c: Delete file. Move bfd_init to.. * bfd.c (bfd_init): ..here. Init static variables. * Makefile.am (BFD32_LIBS): Remove init.lo. (BFD32_LIBS_CFILES, BFD_H_FILES): Remove init.c. * doc/local.mk: Remove mention of init.texi and init.c. * Makefile.in: Regenerate. * bfd-in2.h: Regenerate. * po/SRC-POTFILES.in: Regenerate.
This commit is contained in:
parent
bf716a53bd
commit
b1c95bc4dd
7 changed files with 56 additions and 60 deletions
|
@ -77,7 +77,7 @@ BFD_H = bfd.h
|
||||||
BFD32_LIBS = \
|
BFD32_LIBS = \
|
||||||
archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo cache.lo \
|
archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo cache.lo \
|
||||||
coff-bfd.lo compress.lo corefile.lo elf-properties.lo format.lo \
|
coff-bfd.lo compress.lo corefile.lo elf-properties.lo format.lo \
|
||||||
hash.lo init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \
|
hash.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \
|
||||||
section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \
|
section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \
|
||||||
binary.lo ihex.lo srec.lo tekhex.lo verilog.lo
|
binary.lo ihex.lo srec.lo tekhex.lo verilog.lo
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ BFD64_LIBS = archive64.lo
|
||||||
BFD32_LIBS_CFILES = \
|
BFD32_LIBS_CFILES = \
|
||||||
archive.c archures.c bfd.c bfdio.c bfdwin.c cache.c coff-bfd.c \
|
archive.c archures.c bfd.c bfdio.c bfdwin.c cache.c coff-bfd.c \
|
||||||
compress.c corefile.c elf-properties.c format.c hash.c \
|
compress.c corefile.c elf-properties.c format.c hash.c \
|
||||||
init.c libbfd.c linker.c merge.c opncls.c reloc.c \
|
libbfd.c linker.c merge.c opncls.c reloc.c \
|
||||||
section.c simple.c stab-syms.c stabs.c syms.c targets.c \
|
section.c simple.c stab-syms.c stabs.c syms.c targets.c \
|
||||||
binary.c ihex.c srec.c tekhex.c verilog.c
|
binary.c ihex.c srec.c tekhex.c verilog.c
|
||||||
|
|
||||||
|
@ -923,7 +923,7 @@ stmp-bfd-h: bfd-in3.h
|
||||||
rm -f bfd-tmp.h
|
rm -f bfd-tmp.h
|
||||||
touch stmp-bfd-h
|
touch stmp-bfd-h
|
||||||
|
|
||||||
BFD_H_FILES = bfd-in.h init.c opncls.c libbfd.c \
|
BFD_H_FILES = bfd-in.h opncls.c libbfd.c \
|
||||||
bfdio.c bfdwin.c section.c archures.c reloc.c \
|
bfdio.c bfdwin.c section.c archures.c reloc.c \
|
||||||
syms.c bfd.c archive.c corefile.c targets.c format.c \
|
syms.c bfd.c archive.c corefile.c targets.c format.c \
|
||||||
linker.c simple.c compress.c
|
linker.c simple.c compress.c
|
||||||
|
|
|
@ -186,10 +186,9 @@ LTLIBRARIES = $(bfdlib_LTLIBRARIES) $(noinst_LTLIBRARIES)
|
||||||
am__DEPENDENCIES_1 =
|
am__DEPENDENCIES_1 =
|
||||||
am__objects_1 = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \
|
am__objects_1 = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \
|
||||||
cache.lo coff-bfd.lo compress.lo corefile.lo elf-properties.lo \
|
cache.lo coff-bfd.lo compress.lo corefile.lo elf-properties.lo \
|
||||||
format.lo hash.lo init.lo libbfd.lo linker.lo merge.lo \
|
format.lo hash.lo libbfd.lo linker.lo merge.lo opncls.lo \
|
||||||
opncls.lo reloc.lo section.lo simple.lo stab-syms.lo stabs.lo \
|
reloc.lo section.lo simple.lo stab-syms.lo stabs.lo syms.lo \
|
||||||
syms.lo targets.lo binary.lo ihex.lo srec.lo tekhex.lo \
|
targets.lo binary.lo ihex.lo srec.lo tekhex.lo verilog.lo
|
||||||
verilog.lo
|
|
||||||
am_libbfd_la_OBJECTS = $(am__objects_1)
|
am_libbfd_la_OBJECTS = $(am__objects_1)
|
||||||
libbfd_la_OBJECTS = $(am_libbfd_la_OBJECTS)
|
libbfd_la_OBJECTS = $(am_libbfd_la_OBJECTS)
|
||||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||||
|
@ -546,7 +545,7 @@ BFD_H = bfd.h
|
||||||
BFD32_LIBS = \
|
BFD32_LIBS = \
|
||||||
archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo cache.lo \
|
archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo cache.lo \
|
||||||
coff-bfd.lo compress.lo corefile.lo elf-properties.lo format.lo \
|
coff-bfd.lo compress.lo corefile.lo elf-properties.lo format.lo \
|
||||||
hash.lo init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \
|
hash.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \
|
||||||
section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \
|
section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \
|
||||||
binary.lo ihex.lo srec.lo tekhex.lo verilog.lo
|
binary.lo ihex.lo srec.lo tekhex.lo verilog.lo
|
||||||
|
|
||||||
|
@ -554,7 +553,7 @@ BFD64_LIBS = archive64.lo
|
||||||
BFD32_LIBS_CFILES = \
|
BFD32_LIBS_CFILES = \
|
||||||
archive.c archures.c bfd.c bfdio.c bfdwin.c cache.c coff-bfd.c \
|
archive.c archures.c bfd.c bfdio.c bfdwin.c cache.c coff-bfd.c \
|
||||||
compress.c corefile.c elf-properties.c format.c hash.c \
|
compress.c corefile.c elf-properties.c format.c hash.c \
|
||||||
init.c libbfd.c linker.c merge.c opncls.c reloc.c \
|
libbfd.c linker.c merge.c opncls.c reloc.c \
|
||||||
section.c simple.c stab-syms.c stabs.c syms.c targets.c \
|
section.c simple.c stab-syms.c stabs.c syms.c targets.c \
|
||||||
binary.c ihex.c srec.c tekhex.c verilog.c
|
binary.c ihex.c srec.c tekhex.c verilog.c
|
||||||
|
|
||||||
|
@ -1216,7 +1215,7 @@ libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@ $(LIBDL) $(ZLIB) $(ZSTD_LIBS) ..
|
||||||
# everything else starts using libtool. FIXME.
|
# everything else starts using libtool. FIXME.
|
||||||
noinst_LIBRARIES = libbfd.a
|
noinst_LIBRARIES = libbfd.a
|
||||||
libbfd_a_SOURCES =
|
libbfd_a_SOURCES =
|
||||||
BFD_H_FILES = bfd-in.h init.c opncls.c libbfd.c \
|
BFD_H_FILES = bfd-in.h opncls.c libbfd.c \
|
||||||
bfdio.c bfdwin.c section.c archures.c reloc.c \
|
bfdio.c bfdwin.c section.c archures.c reloc.c \
|
||||||
syms.c bfd.c archive.c corefile.c targets.c format.c \
|
syms.c bfd.c archive.c corefile.c targets.c format.c \
|
||||||
linker.c simple.c compress.c
|
linker.c simple.c compress.c
|
||||||
|
@ -1263,7 +1262,6 @@ DOCFILES = \
|
||||||
doc/elf.texi \
|
doc/elf.texi \
|
||||||
doc/format.texi \
|
doc/format.texi \
|
||||||
doc/hash.texi \
|
doc/hash.texi \
|
||||||
doc/init.texi \
|
|
||||||
doc/libbfd.texi \
|
doc/libbfd.texi \
|
||||||
doc/linker.texi \
|
doc/linker.texi \
|
||||||
doc/mmo.texi \
|
doc/mmo.texi \
|
||||||
|
@ -1296,13 +1294,12 @@ SRCPROT = $(srcdir)/archive.c $(srcdir)/archures.c \
|
||||||
$(srcdir)/bfdio.c $(srcdir)/bfdwin.c \
|
$(srcdir)/bfdio.c $(srcdir)/bfdwin.c \
|
||||||
$(srcdir)/opncls.c $(srcdir)/reloc.c \
|
$(srcdir)/opncls.c $(srcdir)/reloc.c \
|
||||||
$(srcdir)/section.c $(srcdir)/syms.c \
|
$(srcdir)/section.c $(srcdir)/syms.c \
|
||||||
$(srcdir)/targets.c $(srcdir)/init.c
|
$(srcdir)/targets.c
|
||||||
|
|
||||||
SRCIPROT = $(srcdir)/cache.c $(srcdir)/libbfd.c \
|
SRCIPROT = $(srcdir)/cache.c $(srcdir)/libbfd.c \
|
||||||
$(srcdir)/bfdio.c $(srcdir)/bfdwin.c \
|
$(srcdir)/bfdio.c $(srcdir)/bfdwin.c \
|
||||||
$(srcdir)/reloc.c $(srcdir)/cpu-h8300.c \
|
$(srcdir)/reloc.c $(srcdir)/cpu-h8300.c \
|
||||||
$(srcdir)/archures.c \
|
$(srcdir)/archures.c
|
||||||
$(srcdir)/init.c
|
|
||||||
|
|
||||||
TEXIDIR = $(srcdir)/../texinfo/fsf
|
TEXIDIR = $(srcdir)/../texinfo/fsf
|
||||||
info_TEXINFOS = doc/bfd.texi
|
info_TEXINFOS = doc/bfd.texi
|
||||||
|
@ -1682,7 +1679,6 @@ distclean-compile:
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386lynx.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386lynx.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386msdos.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386msdos.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ihex.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ihex.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/irix-core.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/irix-core.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libbfd.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libbfd.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linker.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linker.Plo@am__quote@
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically
|
/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically
|
||||||
generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c",
|
generated from "bfd-in.h", "opncls.c", "libbfd.c", "bfdio.c",
|
||||||
"bfdio.c", "bfdwin.c", "section.c", "archures.c", "reloc.c",
|
"bfdwin.c", "section.c", "archures.c", "reloc.c", "syms.c", "bfd.c",
|
||||||
"syms.c", "bfd.c", "archive.c", "corefile.c", "targets.c", "format.c",
|
"archive.c", "corefile.c", "targets.c", "format.c", "linker.c",
|
||||||
"linker.c", "simple.c" and "compress.c".
|
"simple.c" and "compress.c".
|
||||||
Run "make headers" in your build bfd/ to regenerate. */
|
Run "make headers" in your build bfd/ to regenerate. */
|
||||||
|
|
||||||
/* Main header file for the bfd library -- portable access to object files.
|
/* Main header file for the bfd library -- portable access to object files.
|
||||||
|
@ -488,13 +488,6 @@ startswith (const char *str, const char *prefix)
|
||||||
{
|
{
|
||||||
return strncmp (str, prefix, strlen (prefix)) == 0;
|
return strncmp (str, prefix, strlen (prefix)) == 0;
|
||||||
}
|
}
|
||||||
/* Extracted from init.c. */
|
|
||||||
unsigned int bfd_init (void);
|
|
||||||
|
|
||||||
|
|
||||||
/* Value returned by bfd_init. */
|
|
||||||
|
|
||||||
#define BFD_INIT_MAGIC (sizeof (struct bfd_section))
|
|
||||||
/* Extracted from opncls.c. */
|
/* Extracted from opncls.c. */
|
||||||
/* Set to N to open the next N BFDs using an alternate id space. */
|
/* Set to N to open the next N BFDs using an alternate id space. */
|
||||||
extern unsigned int bfd_use_reserved_id;
|
extern unsigned int bfd_use_reserved_id;
|
||||||
|
@ -7263,6 +7256,11 @@ bfd_vma bfd_emul_get_commonpagesize (const char *);
|
||||||
|
|
||||||
char *bfd_demangle (bfd *, const char *, int);
|
char *bfd_demangle (bfd *, const char *, int);
|
||||||
|
|
||||||
|
unsigned int bfd_init (void);
|
||||||
|
|
||||||
|
/* Value returned by bfd_init. */
|
||||||
|
#define BFD_INIT_MAGIC (sizeof (struct bfd_section))
|
||||||
|
|
||||||
/* Extracted from archive.c. */
|
/* Extracted from archive.c. */
|
||||||
symindex bfd_get_next_mapent
|
symindex bfd_get_next_mapent
|
||||||
(bfd *abfd, symindex previous, carsym **sym);
|
(bfd *abfd, symindex previous, carsym **sym);
|
||||||
|
|
37
bfd/bfd.c
37
bfd/bfd.c
|
@ -696,9 +696,9 @@ CODE_FRAGMENT
|
||||||
.
|
.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static bfd_error_type bfd_error = bfd_error_no_error;
|
static bfd_error_type bfd_error;
|
||||||
static bfd *input_bfd = NULL;
|
static bfd *input_bfd;
|
||||||
static bfd_error_type input_error = bfd_error_no_error;
|
static bfd_error_type input_error;
|
||||||
|
|
||||||
const char *const bfd_errmsgs[] =
|
const char *const bfd_errmsgs[] =
|
||||||
{
|
{
|
||||||
|
@ -2605,3 +2605,34 @@ _bfd_get_link_info (bfd *abfd)
|
||||||
|
|
||||||
return elf_link_info (abfd);
|
return elf_link_info (abfd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
FUNCTION
|
||||||
|
bfd_init
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
unsigned int bfd_init (void);
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
This routine must be called before any other BFD function to
|
||||||
|
initialize magical internal data structures.
|
||||||
|
Returns a magic number, which may be used to check
|
||||||
|
that the bfd library is configured as expected by users.
|
||||||
|
|
||||||
|
.{* Value returned by bfd_init. *}
|
||||||
|
.#define BFD_INIT_MAGIC (sizeof (struct bfd_section))
|
||||||
|
.
|
||||||
|
*/
|
||||||
|
|
||||||
|
unsigned int
|
||||||
|
bfd_init (void)
|
||||||
|
{
|
||||||
|
bfd_error = bfd_error_no_error;
|
||||||
|
input_bfd = NULL;
|
||||||
|
input_error = bfd_error_no_error;
|
||||||
|
_bfd_error_program_name = NULL;
|
||||||
|
_bfd_error_internal = error_handler_fprintf;
|
||||||
|
_bfd_assert_handler = _bfd_default_assert_handler;
|
||||||
|
|
||||||
|
return BFD_INIT_MAGIC;
|
||||||
|
}
|
||||||
|
|
|
@ -32,7 +32,6 @@ DOCFILES = \
|
||||||
%D%/elf.texi \
|
%D%/elf.texi \
|
||||||
%D%/format.texi \
|
%D%/format.texi \
|
||||||
%D%/hash.texi \
|
%D%/hash.texi \
|
||||||
%D%/init.texi \
|
|
||||||
%D%/libbfd.texi \
|
%D%/libbfd.texi \
|
||||||
%D%/linker.texi \
|
%D%/linker.texi \
|
||||||
%D%/mmo.texi \
|
%D%/mmo.texi \
|
||||||
|
@ -64,13 +63,12 @@ SRCPROT = $(srcdir)/archive.c $(srcdir)/archures.c \
|
||||||
$(srcdir)/bfdio.c $(srcdir)/bfdwin.c \
|
$(srcdir)/bfdio.c $(srcdir)/bfdwin.c \
|
||||||
$(srcdir)/opncls.c $(srcdir)/reloc.c \
|
$(srcdir)/opncls.c $(srcdir)/reloc.c \
|
||||||
$(srcdir)/section.c $(srcdir)/syms.c \
|
$(srcdir)/section.c $(srcdir)/syms.c \
|
||||||
$(srcdir)/targets.c $(srcdir)/init.c
|
$(srcdir)/targets.c
|
||||||
|
|
||||||
SRCIPROT = $(srcdir)/cache.c $(srcdir)/libbfd.c \
|
SRCIPROT = $(srcdir)/cache.c $(srcdir)/libbfd.c \
|
||||||
$(srcdir)/bfdio.c $(srcdir)/bfdwin.c \
|
$(srcdir)/bfdio.c $(srcdir)/bfdwin.c \
|
||||||
$(srcdir)/reloc.c $(srcdir)/cpu-h8300.c \
|
$(srcdir)/reloc.c $(srcdir)/cpu-h8300.c \
|
||||||
$(srcdir)/archures.c \
|
$(srcdir)/archures.c
|
||||||
$(srcdir)/init.c
|
|
||||||
|
|
||||||
TEXIDIR = $(srcdir)/../texinfo/fsf
|
TEXIDIR = $(srcdir)/../texinfo/fsf
|
||||||
|
|
||||||
|
|
26
bfd/init.c
26
bfd/init.c
|
@ -33,29 +33,3 @@ SUBSECTION
|
||||||
These are the functions that handle initializing a BFD.
|
These are the functions that handle initializing a BFD.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
FUNCTION
|
|
||||||
bfd_init
|
|
||||||
|
|
||||||
SYNOPSIS
|
|
||||||
unsigned int bfd_init (void);
|
|
||||||
|
|
||||||
DESCRIPTION
|
|
||||||
This routine must be called before any other BFD function to
|
|
||||||
initialize magical internal data structures.
|
|
||||||
Returns a magic number, which may be used to check
|
|
||||||
that the bfd library is configured as expected by users.
|
|
||||||
.
|
|
||||||
.{* Value returned by bfd_init. *}
|
|
||||||
.
|
|
||||||
.#define BFD_INIT_MAGIC (sizeof (struct bfd_section))
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Actually, there is currently nothing for this function to do.
|
|
||||||
However, someday it may be needed, so keep it around. */
|
|
||||||
|
|
||||||
unsigned int
|
|
||||||
bfd_init (void)
|
|
||||||
{
|
|
||||||
return BFD_INIT_MAGIC;
|
|
||||||
}
|
|
||||||
|
|
|
@ -284,7 +284,6 @@ i386bsd.c
|
||||||
i386lynx.c
|
i386lynx.c
|
||||||
i386msdos.c
|
i386msdos.c
|
||||||
ihex.c
|
ihex.c
|
||||||
init.c
|
|
||||||
irix-core.c
|
irix-core.c
|
||||||
libaout.h
|
libaout.h
|
||||||
libbfd.c
|
libbfd.c
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue