* 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 @@
/* dlltool.c -- tool to generate stuff for PE style DLLs
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@ -267,16 +267,12 @@
#endif
/* Forward references. */
static char *look_for_prog
PARAMS ((const char *, const char *, int));
static char *deduce_name
PARAMS ((const char *));
static char *look_for_prog (const char *, const char *, int);
static char *deduce_name (const char *);
#ifdef DLLTOOL_MCORE_ELF
static void mcore_elf_cache_filename
PARAMS ((char *));
static void mcore_elf_gen_out_file
PARAMS ((void));
static void mcore_elf_cache_filename (char *);
static void mcore_elf_gen_out_file (void);
#endif
#ifdef HAVE_SYS_WAIT_H
@ -665,98 +661,57 @@ struct string_list
static struct string_list *excludes;
static const char *rvaafter
PARAMS ((int));
static const char *rvabefore
PARAMS ((int));
static const char *asm_prefix
PARAMS ((int));
static void process_def_file
PARAMS ((const char *));
static void new_directive
PARAMS ((char *));
static void append_import
PARAMS ((const char *, const char *, int));
static void run
PARAMS ((const char *, char *));
static void scan_drectve_symbols
PARAMS ((bfd *));
static void scan_filtered_symbols
PARAMS ((bfd *, PTR, long, unsigned int));
static void add_excludes
PARAMS ((const char *));
static bfd_boolean match_exclude
PARAMS ((const char *));
static void set_default_excludes
PARAMS ((void));
static long filter_symbols
PARAMS ((bfd *, PTR, long, unsigned int));
static void scan_all_symbols
PARAMS ((bfd *));
static void scan_open_obj_file
PARAMS ((bfd *));
static void scan_obj_file
PARAMS ((const char *));
static void dump_def_info
PARAMS ((FILE *));
static int sfunc
PARAMS ((const void *, const void *));
static void flush_page
PARAMS ((FILE *, long *, int, int));
static void gen_def_file
PARAMS ((void));
static void generate_idata_ofile
PARAMS ((FILE *));
static void assemble_file
PARAMS ((const char *, const char *));
static void gen_exp_file
PARAMS ((void));
static const char *xlate
PARAMS ((const char *));
static const char *rvaafter (int);
static const char *rvabefore (int);
static const char *asm_prefix (int);
static void process_def_file (const char *);
static void new_directive (char *);
static void append_import (const char *, const char *, int);
static void run (const char *, char *);
static void scan_drectve_symbols (bfd *);
static void scan_filtered_symbols (bfd *, void *, long, unsigned int);
static void add_excludes (const char *);
static bfd_boolean match_exclude (const char *);
static void set_default_excludes (void);
static long filter_symbols (bfd *, void *, long, unsigned int);
static void scan_all_symbols (bfd *);
static void scan_open_obj_file (bfd *);
static void scan_obj_file (const char *);
static void dump_def_info (FILE *);
static int sfunc (const void *, const void *);
static void flush_page (FILE *, long *, int, int);
static void gen_def_file (void);
static void generate_idata_ofile (FILE *);
static void assemble_file (const char *, const char *);
static void gen_exp_file (void);
static const char *xlate (const char *);
#if 0
static void dump_iat
PARAMS ((FILE *, export_type *));
static void dump_iat (FILE *, export_type *);
#endif
static char *make_label
PARAMS ((const char *, const char *));
static char *make_imp_label
PARAMS ((const char *, const char *));
static bfd *make_one_lib_file
PARAMS ((export_type *, int));
static bfd *make_head
PARAMS ((void));
static bfd *make_tail
PARAMS ((void));
static void gen_lib_file
PARAMS ((void));
static int pfunc
PARAMS ((const void *, const void *));
static int nfunc
PARAMS ((const void *, const void *));
static void remove_null_names
PARAMS ((export_type **));
static void dtab
PARAMS ((export_type **));
static void process_duplicates
PARAMS ((export_type **));
static void fill_ordinals
PARAMS ((export_type **));
static int alphafunc
PARAMS ((const void *, const void *));
static void mangle_defs
PARAMS ((void));
static void usage
PARAMS ((FILE *, int));
static void inform
PARAMS ((const char *, ...));
static char *make_label (const char *, const char *);
static char *make_imp_label (const char *, const char *);
static bfd *make_one_lib_file (export_type *, int);
static bfd *make_head (void);
static bfd *make_tail (void);
static void gen_lib_file (void);
static int pfunc (const void *, const void *);
static int nfunc (const void *, const void *);
static void remove_null_names (export_type **);
static void dtab (export_type **);
static void process_duplicates (export_type **);
static void fill_ordinals (export_type **);
static int alphafunc (const void *, const void *);
static void mangle_defs (void);
static void usage (FILE *, int);
static void inform (const char *, ...);
static char *
prefix_encode PARAMS ((char *start, unsigned code))
prefix_encode (char *start, unsigned code))
{
static char alpha[26] = "abcdefghijklmnopqrstuvwxyz";
static char buf[32];
char *p;
strcpy (buf, start);
strcpy (buf, start;
p = strchr (buf, '\0');
do
*p++ = alpha[code % sizeof (alpha)];
@ -766,11 +721,11 @@ prefix_encode PARAMS ((char *start, unsigned code))
}
static char *
dlltmp PARAMS ((char **buf, const char *fmt))
dlltmp (char **buf, const char *fmt))
{
if (!*buf)
{
*buf = malloc (strlen (tmp_prefix) + 64);
*buf = malloc (strlen (tmp_prefix) + 64;
sprintf (*buf, fmt, tmp_prefix);
}
return *buf;
@ -791,8 +746,7 @@ inform VPARAMS ((const char * message, ...))
}
static const char *
rvaafter (machine)
int machine;
rvaafter (int machine)
{
switch (machine)
{
@ -816,8 +770,7 @@ rvaafter (machine)
}
static const char *
rvabefore (machine)
int machine;
rvabefore (int machine)
{
switch (machine)
{
@ -841,8 +794,7 @@ rvabefore (machine)
}
static const char *
asm_prefix (machine)
int machine;
asm_prefix (int machine)
{
switch (machine)
{
@ -866,17 +818,17 @@ asm_prefix (machine)
return "";
}
#define ASM_BYTE mtable[machine].how_byte
#define ASM_SHORT mtable[machine].how_short
#define ASM_BYTE mtable[machine].how_byte
#define ASM_SHORT mtable[machine].how_short
#define ASM_LONG mtable[machine].how_long
#define ASM_TEXT mtable[machine].how_asciz
#define ASM_C mtable[machine].how_comment
#define ASM_JUMP mtable[machine].how_jump
#define ASM_C mtable[machine].how_comment
#define ASM_JUMP mtable[machine].how_jump
#define ASM_GLOBAL mtable[machine].how_global
#define ASM_SPACE mtable[machine].how_space
#define ASM_ALIGN_SHORT mtable[machine].how_align_short
#define ASM_RVA_BEFORE rvabefore(machine)
#define ASM_RVA_AFTER rvaafter(machine)
#define ASM_RVA_BEFORE rvabefore(machine)
#define ASM_RVA_AFTER rvaafter(machine)
#define ASM_PREFIX asm_prefix(machine)
#define ASM_ALIGN_LONG mtable[machine].how_align_long
#define HOW_BFD_READ_TARGET 0 /* always default*/
@ -890,8 +842,7 @@ asm_prefix (machine)
static char **oav;
static void
process_def_file (name)
const char *name;
process_def_file (const char *name)
{
FILE *f = fopen (name, FOPEN_RT);
@ -928,8 +879,7 @@ static int d_is_dll;
static int d_is_exe;
int
yyerror (err)
const char * err ATTRIBUTE_UNUSED;
yyerror (const char * err ATTRIBUTE_UNUSED)
{
/* xgettext:c-format */
non_fatal (_("Syntax error in def file %s:%d"), def_file, linenumber);
@ -938,13 +888,8 @@ yyerror (err)
}
void
def_exports (name, internal_name, ordinal, noname, constant, data)
const char *name;
const char *internal_name;
int ordinal;
int noname;
int constant;
int data;
def_exports (const char *name, const char *internal_name, int ordinal,
int noname, int constant, int data)
{
struct export *p = (struct export *) xmalloc (sizeof (*p));
@ -966,9 +911,7 @@ def_exports (name, internal_name, ordinal, noname, constant, data)
}
void
def_name (name, base)
const char *name;
int base;
def_name (const char *name, int base)
{
/* xgettext:c-format */
inform (_("NAME: %s base: %x"), name, base);
@ -985,9 +928,7 @@ def_name (name, base)
}
void
def_library (name, base)
const char *name;
int base;
def_library (const char *name, int base)
{
/* xgettext:c-format */
inform (_("LIBRARY: %s base: %x"), name, base);
@ -1003,8 +944,7 @@ def_library (name, base)
}
void
def_description (desc)
const char *desc;
def_description (const char *desc)
{
dlist_type *d = (dlist_type *) xmalloc (sizeof (dlist_type));
d->text = xstrdup (desc);
@ -1013,8 +953,7 @@ def_description (desc)
}
static void
new_directive (dir)
char *dir;
new_directive (char *dir)
{
dlist_type *d = (dlist_type *) xmalloc (sizeof (dlist_type));
d->text = xstrdup (dir);
@ -1023,9 +962,7 @@ new_directive (dir)
}
void
def_heapsize (reserve, commit)
int reserve;
int commit;
def_heapsize (int reserve, int commit)
{
char b[200];
if (commit > 0)
@ -1036,9 +973,7 @@ def_heapsize (reserve, commit)
}
void
def_stacksize (reserve, commit)
int reserve;
int commit;
def_stacksize (int reserve, int commit)
{
char b[200];
if (commit > 0)
@ -1052,10 +987,7 @@ def_stacksize (reserve, commit)
import_list. It is used by def_import. */
static void
append_import (symbol_name, dll_name, func_ordinal)
const char *symbol_name;
const char *dll_name;
int func_ordinal;
append_import (const char *symbol_name, const char *dll_name, int func_ordinal)
{
iheadtype **pq;
iheadtype *q;
@ -1119,12 +1051,8 @@ append_import (symbol_name, dll_name, func_ordinal)
present (i.e., not NULL). */
void
def_import (app_name, module, dllext, entry, ord_val)
const char *app_name;
const char *module;
const char *dllext;
const char *entry;
int ord_val;
def_import (const char *app_name, const char *module, const char *dllext,
const char *entry, int ord_val)
{
const char *application_name;
char *buf;
@ -1150,17 +1078,13 @@ def_import (app_name, module, dllext, entry, ord_val)
}
void
def_version (major, minor)
int major;
int minor;
def_version (int major, int minor)
{
printf ("VERSION %d.%d\n", major, minor);
}
void
def_section (name, attr)
const char *name;
int attr;
def_section (const char *name, int attr)
{
char buf[200];
char atts[5];
@ -1180,16 +1104,14 @@ def_section (name, attr)
}
void
def_code (attr)
int attr;
def_code (int attr)
{
def_section ("CODE", attr);
}
void
def_data (attr)
int attr;
def_data (int attr)
{
def_section ("DATA", attr);
}
@ -1197,9 +1119,7 @@ def_data (attr)
/**********************************************************************/
static void
run (what, args)
const char *what;
char *args;
run (const char *what, char *args)
{
char *s;
int pid, wait_status;
@ -1270,8 +1190,7 @@ run (what, args)
ABFD. Pass each one to def_exports. */
static void
scan_drectve_symbols (abfd)
bfd *abfd;
scan_drectve_symbols (bfd *abfd)
{
asection * s;
int size;
@ -1349,11 +1268,8 @@ scan_drectve_symbols (abfd)
symbols to export. */
static void
scan_filtered_symbols (abfd, minisyms, symcount, size)
bfd *abfd;
PTR minisyms;
long symcount;
unsigned int size;
scan_filtered_symbols (bfd *abfd, void *minisyms, long symcount,
unsigned int size)
{
asymbol *store;
bfd_byte *from, *fromend;
@ -1395,8 +1311,7 @@ scan_filtered_symbols (abfd, minisyms, symcount, size)
/* Add a list of symbols to exclude. */
static void
add_excludes (new_excludes)
const char *new_excludes;
add_excludes (const char *new_excludes)
{
char *local_copy;
char *exclude_string;
@ -1429,8 +1344,7 @@ add_excludes (new_excludes)
/* See if STRING is on the list of symbols to exclude. */
static bfd_boolean
match_exclude (string)
const char *string;
match_exclude (const char *string)
{
struct string_list *excl_item;
@ -1451,11 +1365,7 @@ set_default_excludes (void)
/* Choose which symbols to export. */
static long
filter_symbols (abfd, minisyms, symcount, size)
bfd *abfd;
PTR minisyms;
long symcount;
unsigned int size;
filter_symbols (bfd *abfd, void *minisyms, long symcount, unsigned int size)
{
bfd_byte *from, *fromend, *to;
asymbol *store;
@ -1473,7 +1383,7 @@ filter_symbols (abfd, minisyms, symcount, size)
int keep = 0;
asymbol *sym;
sym = bfd_minisymbol_to_symbol (abfd, FALSE, (const PTR) from, store);
sym = bfd_minisymbol_to_symbol (abfd, FALSE, (const void *) from, store);
if (sym == NULL)
bfd_fatal (bfd_get_filename (abfd));
@ -1499,11 +1409,10 @@ filter_symbols (abfd, minisyms, symcount, size)
export. */
static void
scan_all_symbols (abfd)
bfd *abfd;
scan_all_symbols (bfd *abfd)
{
long symcount;
PTR minisyms;
void *minisyms;
unsigned int size;
/* Ignore bfds with an import descriptor table. We assume that any
@ -1542,8 +1451,7 @@ scan_all_symbols (abfd)
/* Look at the object file to decide which symbols to export. */
static void
scan_open_obj_file (abfd)
bfd *abfd;
scan_open_obj_file (bfd *abfd)
{
if (export_all_symbols)
scan_all_symbols (abfd);
@ -1557,8 +1465,7 @@ scan_open_obj_file (abfd)
}
static void
scan_obj_file (filename)
const char *filename;
scan_obj_file (const char *filename)
{
bfd * f = bfd_openr (filename, 0);
@ -1601,8 +1508,7 @@ scan_obj_file (filename)
/**********************************************************************/
static void
dump_def_info (f)
FILE *f;
dump_def_info (FILE *f)
{
int i;
export_type *exp;
@ -1627,19 +1533,13 @@ dump_def_info (f)
/* Generate the .exp file. */
static int
sfunc (a, b)
const void *a;
const void *b;
sfunc (const void *a, const void *b)
{
return *(const long *) a - *(const long *) b;
}
static void
flush_page (f, need, page_addr, on_page)
FILE *f;
long *need;
int page_addr;
int on_page;
flush_page (FILE *f, long *need, int page_addr, int on_page)
{
int i;
@ -1669,7 +1569,7 @@ flush_page (f, need, page_addr, on_page)
}
static void
gen_def_file ()
gen_def_file (void)
{
int i;
export_type *exp;
@ -1689,7 +1589,7 @@ gen_def_file ()
if (res)
{
fprintf (output_def,";\t%s\n", res);
fprintf (output_def,";\t%s\n", res);
free (res);
}
@ -1729,8 +1629,7 @@ gen_def_file ()
the file. */
static void
generate_idata_ofile (filvar)
FILE *filvar;
generate_idata_ofile (FILE *filvar)
{
iheadtype *headptr;
ifunctype *funcptr;
@ -1822,9 +1721,7 @@ generate_idata_ofile (filvar)
/* Assemble the specified file. */
static void
assemble_file (source, dest)
const char * source;
const char * dest;
assemble_file (const char * source, const char * dest)
{
char * cmd;
@ -1837,7 +1734,7 @@ assemble_file (source, dest)
}
static void
gen_exp_file ()
gen_exp_file (void)
{
FILE *f;
int i;
@ -2087,8 +1984,7 @@ gen_exp_file ()
}
static const char *
xlate (name)
const char *name;
xlate (const char *name)
{
int lead_at = (*name == '@');
@ -2118,9 +2014,7 @@ xlate (name)
#if 0
static void
dump_iat (f, exp)
FILE *f;
export_type *exp;
dump_iat (FILE *f, export_type *exp)
{
if (exp->noname && !show_allnames )
{
@ -2250,9 +2144,7 @@ ID2: .short 2
bctr */
static char *
make_label (prefix, name)
const char *prefix;
const char *name;
make_label (const char *prefix, const char *name)
{
int len = strlen (ASM_PREFIX) + strlen (prefix) + strlen (name);
char *copy = xmalloc (len +1 );
@ -2264,9 +2156,7 @@ make_label (prefix, name)
}
static char *
make_imp_label (prefix, name)
const char *prefix;
const char *name;
make_imp_label (const char *prefix, const char *name)
{
int len;
char *copy;
@ -2290,9 +2180,7 @@ make_imp_label (prefix, name)
}
static bfd *
make_one_lib_file (exp, i)
export_type *exp;
int i;
make_one_lib_file (export_type *exp, int i)
{
#if 0
{
@ -2757,7 +2645,7 @@ make_one_lib_file (exp, i)
}
static bfd *
make_head ()
make_head (void)
{
FILE *f = fopen (TMP_HEAD_S, FOPEN_WT);
@ -2816,7 +2704,7 @@ make_head ()
}
static bfd *
make_tail ()
make_tail (void)
{
FILE *f = fopen (TMP_TAIL_S, FOPEN_WT);
@ -2874,7 +2762,7 @@ make_tail ()
}
static void
gen_lib_file ()
gen_lib_file (void)
{
int i;
export_type *exp;
@ -2960,9 +2848,7 @@ gen_lib_file ()
/* Run through the information gathered from the .o files and the
.def file and work out the best stuff. */
static int
pfunc (a, b)
const void *a;
const void *b;
pfunc (const void *a, const void *b)
{
export_type *ap = *(export_type **) a;
export_type *bp = *(export_type **) b;
@ -2978,9 +2864,7 @@ pfunc (a, b)
}
static int
nfunc (a, b)
const void *a;
const void *b;
nfunc (const void *a, const void *b)
{
export_type *ap = *(export_type **) a;
export_type *bp = *(export_type **) b;
@ -2989,8 +2873,7 @@ nfunc (a, b)
}
static void
remove_null_names (ptr)
export_type **ptr;
remove_null_names (export_type **ptr)
{
int src;
int dst;
@ -3007,12 +2890,11 @@ remove_null_names (ptr)
}
static void
dtab (ptr)
export_type ** ptr
dtab (export **ptr
#ifndef SACDEBUG
ATTRIBUTE_UNUSED
#endif
;
)
{
#ifdef SACDEBUG
int i;
@ -3033,8 +2915,7 @@ ATTRIBUTE_UNUSED
}
static void
process_duplicates (d_export_vec)
export_type **d_export_vec;
process_duplicates (export_type **d_export_vec)
{
int more = 1;
int i;
@ -3092,8 +2973,7 @@ process_duplicates (d_export_vec)
}
static void
fill_ordinals (d_export_vec)
export_type **d_export_vec;
fill_ordinals (export_type **d_export_vec)
{
int lowest = -1;
int i;
@ -3167,9 +3047,7 @@ fill_ordinals (d_export_vec)
}
static int
alphafunc (av,bv)
const void *av;
const void *bv;
alphafunc (const void *av, const void *bv)
{
const export_type **a = (const export_type **) av;
const export_type **b = (const export_type **) bv;
@ -3178,7 +3056,7 @@ alphafunc (av,bv)
}
static void
mangle_defs ()
mangle_defs (void)
{
/* First work out the minimum ordinal chosen. */
export_type *exp;
@ -3226,9 +3104,7 @@ mangle_defs ()
/**********************************************************************/
static void
usage (file, status)
FILE *file;
int status;
usage (FILE *file, int status)
{
/* xgetext:c-format */
fprintf (file, _("Usage %s <option(s)> <object-file(s)>\n"), program_name);
@ -3303,12 +3179,10 @@ static const struct option long_options[] =
{NULL,0,NULL,0}
};
int main PARAMS ((int, char **));
int main (int, char **);
int
main (ac, av)
int ac;
char **av;
main (int ac, char **av)
{
int c;
int i;
@ -3519,10 +3393,7 @@ main (ac, av)
appropriate. */
static char *
look_for_prog (prog_name, prefix, end_prefix)
const char *prog_name;
const char *prefix;
int end_prefix;
look_for_prog (const char *prog_name, const char *prefix, int end_prefix)
{
struct stat s;
char *cmd;
@ -3588,8 +3459,7 @@ look_for_prog (prog_name, prefix, end_prefix)
Returns a dynamically allocated string. */
static char *
deduce_name (prog_name)
const char *prog_name;
deduce_name (const char *prog_name)
{
char *cmd;
char *dash, *slash, *cp;