* addr2line.c: Convert to ISO C90 prototypes, change PTR, remove

unneeded (void *) casts.
	* ar.c: Likewise.
	* arlex.l: Likewise.
	* arparse.y: Likewise.
	* arsup.c: Likewise.
	* binemul.c: Likewise.
	* binemul.h: Likewise.
	* bucomm.c: Likewise.
	* bucomm.h: Likewise.
	* budbg.h: Likewise.
	* budemang.c: Likewise.
	* budemang.h: Likewise.
	* coffdump.c: Likewise.
	* coffgrok.c: Likewise.
	* cxxfilt.c: Likewise.
	* debug.c: Likewise.
	* debug.h: Likewise.
	* deflex.l: Likewise.
	* dlltool.c: Likewise.
	* dlltool.h: Likewise.
	* dllwrap.c: Likewise.
	* emul_aix.c: Likewise.
	* filemode.c: Likewise.
	* ieee.c: Likewise.
	* nlmconv.c: Likewise.
	* nlmconv.h: Likewise.
	* nlmheader.y: Likewise.
	* nm.c: Likewise.
	* prdbg.c: Likewise.
	* rclex.l: Likewise.
	* rcparse.y: Likewise.
	* rdcoff.c: Likewise.
	* rddbg.c: Likewise.
	* rename.c: Likewise.
	* resbin.c: Likewise.
	* rescoff.c: Likewise.
	* resrc.c: Likewise.
	* size.c: Likewise.
	* srconv.c: Likewise.
	* stabs.c: Likewise.
	* strings.c: Likewise.
	* sysdump.c: Likewise.
	* sysinfo.y: Likewise.
	* syslex.l: Likewise.
	* unwind-ia64.c: Likewise.
	* unwind-ia64.h: Likewise.
	* version.c: Likewise.
	* windres.c: Likewise.
	* windres.h: Likewise.
	* winduni.c: Likewise.
	* wrstabs.c: Likewise.
This commit is contained in:
Andreas Jaeger
2003-09-14 12:20:17 +00:00
parent 4a4b3fedfe
commit 2da42df615
53 changed files with 2377 additions and 4387 deletions

View File

@@ -1,5 +1,5 @@
/* nlmconv.c -- NLM conversion program
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@@ -56,7 +56,7 @@
/* If strerror is just a macro, we want to use the one from libiberty
since it will handle undefined values. */
#undef strerror
extern char *strerror PARAMS ((int));
extern char *strerror (int);
#ifndef localtime
extern struct tm *localtime ();
@@ -122,48 +122,37 @@ static struct option long_options[] =
/* Local routines. */
int main PARAMS ((int, char **));
int main (int, char **);
static void show_usage
PARAMS ((FILE *, int));
static void show_usage (FILE *, int);
static const char *select_output_format
PARAMS ((enum bfd_architecture, unsigned long, bfd_boolean));
static void setup_sections
PARAMS ((bfd *, asection *, PTR));
static void copy_sections
PARAMS ((bfd *, asection *, PTR));
(enum bfd_architecture, unsigned long, bfd_boolean);
static void setup_sections (bfd *, asection *, void *);
static void copy_sections (bfd *, asection *, void *);
static void mangle_relocs
PARAMS ((bfd *, asection *, arelent ***, long *, char *, bfd_size_type));
(bfd *, asection *, arelent ***, long *, char *, bfd_size_type);
static void default_mangle_relocs
PARAMS ((bfd *, asection *, arelent ***, long *, char *, bfd_size_type));
static char *link_inputs
PARAMS ((struct string_list *, char *));
(bfd *, asection *, arelent ***, long *, char *, bfd_size_type);
static char *link_inputs (struct string_list *, char *);
#ifdef NLMCONV_I386
static void i386_mangle_relocs
PARAMS ((bfd *, asection *, arelent ***, long *, char *, bfd_size_type));
static void i386_mangle_relocs (bfd *, asection *, arelent ***, long *, char *, bfd_size_type);
#endif
#ifdef NLMCONV_ALPHA
static void alpha_mangle_relocs
PARAMS ((bfd *, asection *, arelent ***, long *, char *, bfd_size_type));
static void alpha_mangle_relocs (bfd *, asection *, arelent ***, long *, char *, bfd_size_type);
#endif
#ifdef NLMCONV_POWERPC
static void powerpc_build_stubs
PARAMS ((bfd *, bfd *, asymbol ***, long *));
static void powerpc_resolve_stubs
PARAMS ((bfd *, bfd *));
static void powerpc_mangle_relocs
PARAMS ((bfd *, asection *, arelent ***, long *, char *, bfd_size_type));
static void powerpc_build_stubs (bfd *, bfd *, asymbol ***, long *);
static void powerpc_resolve_stubs (bfd *, bfd *);
static void powerpc_mangle_relocs (bfd *, asection *, arelent ***, long *, char *, bfd_size_type);
#endif
/* The main routine. */
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
int opt;
char *input_file = NULL;
@@ -286,15 +275,15 @@ main (argc, argv)
/* Initialize the header information to default values. */
fixed_hdr = &fixed_hdr_struct;
memset ((PTR) &fixed_hdr_struct, 0, sizeof fixed_hdr_struct);
memset ((void *) &fixed_hdr_struct, 0, sizeof fixed_hdr_struct);
var_hdr = &var_hdr_struct;
memset ((PTR) &var_hdr_struct, 0, sizeof var_hdr_struct);
memset ((void *) &var_hdr_struct, 0, sizeof var_hdr_struct);
version_hdr = &version_hdr_struct;
memset ((PTR) &version_hdr_struct, 0, sizeof version_hdr_struct);
memset ((void *) &version_hdr_struct, 0, sizeof version_hdr_struct);
copyright_hdr = &copyright_hdr_struct;
memset ((PTR) &copyright_hdr_struct, 0, sizeof copyright_hdr_struct);
memset ((void *) &copyright_hdr_struct, 0, sizeof copyright_hdr_struct);
extended_hdr = &extended_hdr_struct;
memset ((PTR) &extended_hdr_struct, 0, sizeof extended_hdr_struct);
memset ((void *) &extended_hdr_struct, 0, sizeof extended_hdr_struct);
check_procedure = NULL;
custom_file = NULL;
debug_info = FALSE;
@@ -432,7 +421,7 @@ main (argc, argv)
#endif
/* Set up the sections. */
bfd_map_over_sections (inbfd, setup_sections, (PTR) outbfd);
bfd_map_over_sections (inbfd, setup_sections, (void *) outbfd);
text_sec = bfd_get_section_by_name (outbfd, NLM_CODE_NAME);
@@ -589,7 +578,7 @@ main (argc, argv)
{
newsymalloc += 10;
newsyms = ((asymbol **)
xrealloc ((PTR) newsyms,
xrealloc ((void *) newsyms,
(newsymalloc
* sizeof (asymbol *))));
}
@@ -903,12 +892,12 @@ main (argc, argv)
#endif
/* Copy over the sections. */
bfd_map_over_sections (inbfd, copy_sections, (PTR) outbfd);
bfd_map_over_sections (inbfd, copy_sections, (void *) outbfd);
/* Finish up the header information. */
if (custom_file != NULL)
{
PTR data;
void *data;
data = xmalloc (custom_size);
if (fread (data, 1, custom_size, custom_data) != custom_size)
@@ -937,7 +926,7 @@ main (argc, argv)
non_fatal (_("warning: MAP and FULLMAP are not supported; try ld -M"));
if (help_file != NULL)
{
PTR data;
void *data;
data = xmalloc (help_size);
if (fread (data, 1, help_size, help_data) != help_size)
@@ -955,7 +944,7 @@ main (argc, argv)
}
if (message_file != NULL)
{
PTR data;
void *data;
data = xmalloc (message_size);
if (fread (data, 1, message_size, message_data) != message_size)
@@ -980,7 +969,7 @@ main (argc, argv)
}
if (modules != NULL)
{
PTR data;
void *data;
unsigned char *set;
struct string_list *l;
bfd_size_type c;
@@ -1004,7 +993,7 @@ main (argc, argv)
}
if (rpc_file != NULL)
{
PTR data;
void *data;
data = xmalloc (rpc_size);
if (fread (data, 1, rpc_size, rpc_data) != rpc_size)
@@ -1022,7 +1011,7 @@ main (argc, argv)
}
if (sharelib_file != NULL)
{
PTR data;
void *data;
data = xmalloc (shared_size);
if (fseek (shared_data, shared_offset, SEEK_SET) != 0
@@ -1102,9 +1091,7 @@ main (argc, argv)
/* Show a usage message and exit. */
static void
show_usage (file, status)
FILE *file;
int status;
show_usage (FILE *file, int status)
{
fprintf (file, _("Usage: %s [option(s)] [in-file [out-file]]\n"), program_name);
fprintf (file, _(" Convert an object file into a NetWare Loadable Module\n"));
@@ -1126,10 +1113,8 @@ show_usage (file, status)
and endianness. This chooses the appropriate NLM target. */
static const char *
select_output_format (arch, mach, bigendian)
enum bfd_architecture arch;
unsigned long mach;
bfd_boolean bigendian ATTRIBUTE_UNUSED;
select_output_format (enum bfd_architecture arch, unsigned long mach,
bfd_boolean bigendian ATTRIBUTE_UNUSED)
{
switch (arch)
{
@@ -1161,10 +1146,7 @@ select_output_format (arch, mach, bigendian)
name, size, etc. */
static void
setup_sections (inbfd, insec, data_ptr)
bfd *inbfd ATTRIBUTE_UNUSED;
asection *insec;
PTR data_ptr;
setup_sections (bfd *inbfd ATTRIBUTE_UNUSED, asection *insec, void *data_ptr)
{
bfd *outbfd = (bfd *) data_ptr;
flagword f;
@@ -1231,17 +1213,14 @@ setup_sections (inbfd, insec, data_ptr)
/* Copy the section contents. */
static void
copy_sections (inbfd, insec, data_ptr)
bfd *inbfd;
asection *insec;
PTR data_ptr;
copy_sections (bfd *inbfd, asection *insec, void *data_ptr)
{
static bfd_size_type secsecoff = 0;
bfd *outbfd = (bfd *) data_ptr;
const char *inname;
asection *outsec;
bfd_size_type size;
PTR contents;
void *contents;
long reloc_size;
bfd_byte buf[4];
bfd_size_type add;
@@ -1311,7 +1290,7 @@ copy_sections (inbfd, insec, data_ptr)
}
/* Add this section to .nlmsections. */
if (! bfd_set_section_contents (outbfd, secsec, (PTR) inname, secsecoff,
if (! bfd_set_section_contents (outbfd, secsec, (void *) inname, secsecoff,
strlen (inname) + 1))
bfd_fatal (_("set .nlmsection contents"));
secsecoff += strlen (inname) + 1;
@@ -1343,14 +1322,9 @@ copy_sections (inbfd, insec, data_ptr)
by the input formats. */
static void
mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
contents_size)
bfd *outbfd;
asection *insec;
arelent ***relocs_ptr;
long *reloc_count_ptr;
char *contents;
bfd_size_type contents_size;
mangle_relocs (bfd *outbfd, asection *insec, arelent ***relocs_ptr,
long *reloc_count_ptr, char *contents,
bfd_size_type contents_size)
{
switch (bfd_get_arch (outbfd))
{
@@ -1383,14 +1357,10 @@ mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
the output_offset. */
static void
default_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
contents_size)
bfd *outbfd ATTRIBUTE_UNUSED;
asection *insec;
arelent ***relocs_ptr;
long *reloc_count_ptr;
char *contents ATTRIBUTE_UNUSED;
bfd_size_type contents_size ATTRIBUTE_UNUSED;
default_mangle_relocs (bfd *outbfd ATTRIBUTE_UNUSED, asection *insec,
arelent ***relocs_ptr, long *reloc_count_ptr,
char *contents ATTRIBUTE_UNUSED,
bfd_size_type contents_size ATTRIBUTE_UNUSED)
{
if (insec->output_offset != 0)
{
@@ -1429,14 +1399,9 @@ static reloc_howto_type nlm_i386_pcrel_howto =
TRUE); /* pcrel_offset */
static void
i386_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
contents_size)
bfd *outbfd;
asection *insec;
arelent ***relocs_ptr;
long *reloc_count_ptr;
char *contents;
bfd_size_type contents_size;
i386_mangle_relocs (bfd *outbfd, asection *insec, arelent ***relocs_ptr,
long *reloc_count_ptr, char *contents,
bfd_size_type contents_size)
{
long reloc_count, i;
arelent **relocs;
@@ -1587,14 +1552,10 @@ static reloc_howto_type nlm32_alpha_nw_howto =
FALSE); /* pcrel_offset */
static void
alpha_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
contents_size)
bfd *outbfd;
asection *insec;
register arelent ***relocs_ptr;
long *reloc_count_ptr;
char *contents ATTRIBUTE_UNUSED;
bfd_size_type contents_size ATTRIBUTE_UNUSED;
alpha_mangle_relocs (bfd *outbfd, asection *insec,
register arelent ***relocs_ptr, long *reloc_count_ptr,
char *contents ATTRIBUTE_UNUSED,
bfd_size_type contents_size ATTRIBUTE_UNUSED)
{
long old_reloc_count;
arelent **old_relocs;
@@ -1647,8 +1608,7 @@ alpha_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
++relocs;
++(*reloc_count_ptr);
memcpy ((PTR) relocs, (PTR) old_relocs,
(size_t) old_reloc_count * sizeof (arelent *));
memcpy (relocs, old_relocs, (size_t) old_reloc_count * sizeof (arelent *));
relocs[old_reloc_count] = (arelent *) NULL;
free (old_relocs);
@@ -1724,11 +1684,8 @@ static bfd_size_type powerpc_initial_got_size;
build a stub for each one. */
static void
powerpc_build_stubs (inbfd, outbfd, symbols_ptr, symcount_ptr)
bfd *inbfd;
bfd *outbfd ATTRIBUTE_UNUSED;
asymbol ***symbols_ptr;
long *symcount_ptr;
powerpc_build_stubs (bfd *inbfd, bfd *outbfd ATTRIBUTE_UNUSED,
asymbol ***symbols_ptr, long *symcount_ptr)
{
asection *stub_sec;
asection *got_sec;
@@ -1844,9 +1801,7 @@ powerpc_build_stubs (inbfd, outbfd, symbols_ptr, symcount_ptr)
of the output section, and create new relocs in the TOC. */
static void
powerpc_resolve_stubs (inbfd, outbfd)
bfd *inbfd;
bfd *outbfd;
powerpc_resolve_stubs (bfd *inbfd, bfd *outbfd)
{
bfd_byte buf[POWERPC_STUB_SIZE];
unsigned int i;
@@ -1907,14 +1862,10 @@ powerpc_resolve_stubs (inbfd, outbfd)
any further reloc. */
static void
powerpc_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
contents_size)
bfd *outbfd;
asection *insec;
register arelent ***relocs_ptr;
long *reloc_count_ptr;
char *contents;
bfd_size_type contents_size ATTRIBUTE_UNUSED;
powerpc_mangle_relocs (bfd *outbfd, asection *insec,
register arelent ***relocs_ptr,
long *reloc_count_ptr, char *contents,
bfd_size_type contents_size ATTRIBUTE_UNUSED)
{
reloc_howto_type *toc_howto;
long reloc_count;
@@ -2090,9 +2041,7 @@ powerpc_mangle_relocs (outbfd, insec, relocs_ptr, reloc_count_ptr, contents,
file. */
static char *
link_inputs (inputs, ld)
struct string_list *inputs;
char *ld;
link_inputs (struct string_list *inputs, char *ld)
{
size_t c;
struct string_list *q;