forked from Imagelibrary/binutils-gdb
* 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:
@@ -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 = ©right_hdr_struct;
|
||||
memset ((PTR) ©right_hdr_struct, 0, sizeof copyright_hdr_struct);
|
||||
memset ((void *) ©right_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;
|
||||
|
||||
Reference in New Issue
Block a user