aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
Diffstat (limited to 'ld/emultempl')
-rw-r--r--ld/emultempl/aix.em100
-rw-r--r--ld/emultempl/alphaelf.em7
-rw-r--r--ld/emultempl/armcoff.em66
-rw-r--r--ld/emultempl/armelf.em31
-rw-r--r--ld/emultempl/armelf_oabi.em20
-rw-r--r--ld/emultempl/beos.em91
-rw-r--r--ld/emultempl/elf32.em152
-rw-r--r--ld/emultempl/generic.em14
-rw-r--r--ld/emultempl/gld960.em26
-rw-r--r--ld/emultempl/gld960c.em18
-rw-r--r--ld/emultempl/hppaelf.em43
-rw-r--r--ld/emultempl/linux.em28
-rw-r--r--ld/emultempl/lnk960.em64
-rw-r--r--ld/emultempl/m68hc1xelf.em86
-rw-r--r--ld/emultempl/m68kcoff.em28
-rw-r--r--ld/emultempl/m68kelf.em13
-rw-r--r--ld/emultempl/mipsecoff.em32
-rw-r--r--ld/emultempl/mipself.em20
-rw-r--r--ld/emultempl/mmix-elfnmmo.em7
-rw-r--r--ld/emultempl/mmixelf.em6
-rw-r--r--ld/emultempl/mmo.em26
-rw-r--r--ld/emultempl/needrelax.em4
-rw-r--r--ld/emultempl/netbsd.em5
-rw-r--r--ld/emultempl/pe.em142
-rw-r--r--ld/emultempl/sh64elf.em15
-rw-r--r--ld/emultempl/sunos.em79
-rw-r--r--ld/emultempl/ticoff.em29
-rw-r--r--ld/emultempl/vanilla.em14
-rw-r--r--ld/emultempl/xtensaelf.em599
29 files changed, 605 insertions, 1160 deletions
diff --git a/ld/emultempl/aix.em b/ld/emultempl/aix.em
index ad4c6dc..842911e 100644
--- a/ld/emultempl/aix.em
+++ b/ld/emultempl/aix.em
@@ -56,40 +56,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "libcoff.h"
#include "libxcoff.h"
-static void gld${EMULATION_NAME}_before_parse
- PARAMS ((void));
-static bfd_boolean gld${EMULATION_NAME}_parse_args
- PARAMS ((int, char **));
-static void gld${EMULATION_NAME}_add_options
- PARAMS ((int, char **, int, struct option **, int, struct option **));
-static bfd_boolean gld${EMULATION_NAME}_handle_option
- PARAMS ((int));
-static void gld${EMULATION_NAME}_after_open
- PARAMS ((void));
-static char *gld${EMULATION_NAME}_choose_target
- PARAMS ((int, char **));
-static void gld${EMULATION_NAME}_before_allocation
- PARAMS ((void));
-static void gld${EMULATION_NAME}_read_file
- PARAMS ((const char *, bfd_boolean));
-static void gld${EMULATION_NAME}_free
- PARAMS ((PTR));
-static void gld${EMULATION_NAME}_find_relocs
- PARAMS ((lang_statement_union_type *));
-static void gld${EMULATION_NAME}_find_exp_assignment
- PARAMS ((etree_type *));
-static char *gld${EMULATION_NAME}_get_script
- PARAMS ((int *isfile));
-static bfd_boolean gld${EMULATION_NAME}_unrecognized_file
- PARAMS ((lang_input_statement_type *));
-static void gld${EMULATION_NAME}_create_output_section_statements
- PARAMS ((void));
-static void gld${EMULATION_NAME}_set_output_arch
- PARAMS ((void));
-static int is_syscall
- PARAMS ((char *, unsigned int *));
-static int change_symbol_mode
- PARAMS ((char *));
+static void gld${EMULATION_NAME}_read_file (const char *, bfd_boolean);
+static void gld${EMULATION_NAME}_free (void *);
+static void gld${EMULATION_NAME}_find_relocs (lang_statement_union_type *);
+static void gld${EMULATION_NAME}_find_exp_assignment (etree_type *);
+
/* The file alignment required for each section. */
static unsigned long file_align;
@@ -160,7 +131,7 @@ static char *command_line_blibpath = NULL;
/* This routine is called before anything else is done. */
static void
-gld${EMULATION_NAME}_before_parse ()
+gld${EMULATION_NAME}_before_parse (void)
{
const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}");
if (arch)
@@ -210,13 +181,9 @@ enum
};
static void
-gld${EMULATION_NAME}_add_options (ns, shortopts, nl, longopts, nrl, really_longopts)
- int ns;
- char **shortopts;
- int nl;
- struct option **longopts;
- int nrl ATTRIBUTE_UNUSED;
- struct option **really_longopts ATTRIBUTE_UNUSED;
+gld${EMULATION_NAME}_add_options
+ (int ns, char **shortopts, int nl, struct option **longopts,
+ int nrl ATTRIBUTE_UNUSED, struct option **really_longopts ATTRIBUTE_UNUSED)
{
static const char xtra_short[] = "D:H:KT:z";
static const struct option xtra_long[] = {
@@ -291,15 +258,13 @@ gld${EMULATION_NAME}_add_options (ns, shortopts, nl, longopts, nrl, really_longo
*shortopts = (char *) xrealloc (*shortopts, ns + sizeof (xtra_short));
memcpy (*shortopts + ns, &xtra_short, sizeof (xtra_short));
- *longopts = (struct option *)
- xrealloc (*longopts, nl * sizeof (struct option) + sizeof (xtra_long));
+ *longopts = xrealloc (*longopts,
+ nl * sizeof (struct option) + sizeof (xtra_long));
memcpy (*longopts + nl, &xtra_long, sizeof (xtra_long));
}
static bfd_boolean
-gld${EMULATION_NAME}_parse_args (argc, argv)
- int argc;
- char **argv;
+gld${EMULATION_NAME}_parse_args (int argc, char **argv)
{
int indx;
@@ -327,8 +292,7 @@ gld${EMULATION_NAME}_parse_args (argc, argv)
}
static bfd_boolean
-gld${EMULATION_NAME}_handle_option (optc)
- int optc;
+gld${EMULATION_NAME}_handle_option (int optc)
{
bfd_signed_vma val;
const char *end;
@@ -570,8 +534,7 @@ gld${EMULATION_NAME}_handle_option (optc)
as an import file. This is for AIX compatibility. */
static bfd_boolean
-gld${EMULATION_NAME}_unrecognized_file (entry)
- lang_input_statement_type *entry;
+gld${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry)
{
FILE *e;
bfd_boolean ret;
@@ -607,7 +570,7 @@ gld${EMULATION_NAME}_unrecognized_file (entry)
/* This is called after the input files have been opened. */
static void
-gld${EMULATION_NAME}_after_open ()
+gld${EMULATION_NAME}_after_open (void)
{
bfd_boolean r;
struct set_info *p;
@@ -652,7 +615,7 @@ gld${EMULATION_NAME}_after_open ()
sections, but before any sizes or addresses have been set. */
static void
-gld${EMULATION_NAME}_before_allocation ()
+gld${EMULATION_NAME}_before_allocation (void)
{
struct filelist *fl;
struct export_symbol_list *el;
@@ -834,9 +797,7 @@ gld${EMULATION_NAME}_before_allocation ()
}
static char *
-gld${EMULATION_NAME}_choose_target (argc, argv)
- int argc;
- char **argv;
+gld${EMULATION_NAME}_choose_target (int argc, char **argv)
{
int i, j, jmax;
static char *from_outside;
@@ -871,8 +832,7 @@ gld${EMULATION_NAME}_choose_target (argc, argv)
1 : state changed
0 : no change */
static int
-change_symbol_mode (input)
- char *input;
+change_symbol_mode (char *input)
{
char *symbol_mode_string[] = {
"# 32", /* 0x01 */
@@ -906,9 +866,7 @@ change_symbol_mode (input)
0 : ignore
-1 : error, try something else */
static int
-is_syscall (input, flag)
- char *input;
- unsigned int *flag;
+is_syscall (char *input, unsigned int *flag)
{
unsigned int bit;
char *string;
@@ -958,9 +916,7 @@ is_syscall (input, flag)
this is called by the handle_option emulation routine. */
static void
-gld${EMULATION_NAME}_read_file (filename, import)
- const char *filename;
- bfd_boolean import;
+gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import)
{
struct obstack *o;
FILE *f;
@@ -1201,8 +1157,7 @@ gld${EMULATION_NAME}_read_file (filename, import)
/* This routine saves us from worrying about declaring free. */
static void
-gld${EMULATION_NAME}_free (p)
- PTR p;
+gld${EMULATION_NAME}_free (void *p)
{
free (p);
}
@@ -1212,8 +1167,7 @@ gld${EMULATION_NAME}_free (p)
to symbols. */
static void
-gld${EMULATION_NAME}_find_relocs (s)
- lang_statement_union_type *s;
+gld${EMULATION_NAME}_find_relocs (lang_statement_union_type *s)
{
if (s->header.type == lang_reloc_statement_enum)
{
@@ -1233,8 +1187,7 @@ gld${EMULATION_NAME}_find_relocs (s)
/* Look through an expression for an assignment statement. */
static void
-gld${EMULATION_NAME}_find_exp_assignment (exp)
- etree_type *exp;
+gld${EMULATION_NAME}_find_exp_assignment (etree_type *exp)
{
struct bfd_link_hash_entry *h;
@@ -1278,8 +1231,7 @@ gld${EMULATION_NAME}_find_exp_assignment (exp)
}
static char *
-gld${EMULATION_NAME}_get_script (isfile)
- int *isfile;
+gld${EMULATION_NAME}_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
@@ -1332,7 +1284,7 @@ fi
cat >>e${EMULATION_NAME}.c <<EOF
static void
-gld${EMULATION_NAME}_create_output_section_statements ()
+gld${EMULATION_NAME}_create_output_section_statements (void)
{
/* __rtinit */
if ((bfd_get_flavour (output_bfd) == bfd_target_xcoff_flavour)
@@ -1371,7 +1323,7 @@ gld${EMULATION_NAME}_create_output_section_statements ()
}
static void
-gld${EMULATION_NAME}_set_output_arch ()
+gld${EMULATION_NAME}_set_output_arch (void)
{
bfd_set_arch_mach (output_bfd,
bfd_xcoff_architecture (output_bfd),
diff --git a/ld/emultempl/alphaelf.em b/ld/emultempl/alphaelf.em
index a1bb0c5..7e64323 100644
--- a/ld/emultempl/alphaelf.em
+++ b/ld/emultempl/alphaelf.em
@@ -27,16 +27,13 @@ cat >>e${EMULATION_NAME}.c <<EOF
#include "elf/alpha.h"
#include "elf-bfd.h"
-static void alpha_after_parse PARAMS ((void));
-static void alpha_finish PARAMS ((void));
-
static int elf64alpha_32bit = 0;
/* Set the start address as in the Tru64 ld. */
#define ALPHA_TEXT_START_32BIT 0x12000000
static void
-alpha_after_parse ()
+alpha_after_parse (void)
{
if (elf64alpha_32bit && !link_info.shared && !link_info.relocatable)
lang_section_start (".interp",
@@ -46,7 +43,7 @@ alpha_after_parse ()
}
static void
-alpha_finish ()
+alpha_finish (void)
{
if (elf64alpha_32bit)
elf_elfheader (output_bfd)->e_flags |= EF_ALPHA_32BIT;
diff --git a/ld/emultempl/armcoff.em b/ld/emultempl/armcoff.em
index 15ebecf..2368b90 100644
--- a/ld/emultempl/armcoff.em
+++ b/ld/emultempl/armcoff.em
@@ -40,18 +40,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ldfile.h"
#include "ldemul.h"
-static void gld${EMULATION_NAME}_before_parse PARAMS ((void));
-static void gld${EMULATION_NAME}_before_allocation PARAMS ((void));
-static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile));
-static void gld${EMULATION_NAME}_add_options
- PARAMS ((int, char **, int, struct option **, int, struct option **));
-static void gld${EMULATION_NAME}_list_options PARAMS ((FILE *));
-static bfd_boolean gld${EMULATION_NAME}_handle_option PARAMS ((int));
-static void gld${EMULATION_NAME}_finish PARAMS ((void));
-static void gld${EMULATION_NAME}_after_open PARAMS ((void));
-
-/* If TRUE, then interworking stubs which support calls to old, non-interworking
- aware ARM code should be generated. */
+/* If TRUE, then interworking stubs which support calls to old,
+ non-interworking aware ARM code should be generated. */
static int support_old_code = 0;
static char * thumb_entry_symbol = NULL;
@@ -60,13 +50,10 @@ static char * thumb_entry_symbol = NULL;
#define OPTION_THUMB_ENTRY 301
static void
-gld${EMULATION_NAME}_add_options (ns, shortopts, nl, longopts, nrl, really_longopts)
- int ns ATTRIBUTE_UNUSED;
- char **shortopts ATTRIBUTE_UNUSED;
- int nl;
- struct option **longopts;
- int nrl ATTRIBUTE_UNUSED;
- struct option **really_longopts ATTRIBUTE_UNUSED;
+gld${EMULATION_NAME}_add_options
+ (int ns ATTRIBUTE_UNUSED, char **shortopts ATTRIBUTE_UNUSED, int nl,
+ struct option **longopts, int nrl ATTRIBUTE_UNUSED,
+ struct option **really_longopts ATTRIBUTE_UNUSED)
{
static const struct option xtra_long[] = {
{"support-old-code", no_argument, NULL, OPTION_SUPPORT_OLD_CODE},
@@ -74,22 +61,20 @@ gld${EMULATION_NAME}_add_options (ns, shortopts, nl, longopts, nrl, really_longo
{NULL, no_argument, NULL, 0}
};
- *longopts = (struct option *)
- xrealloc (*longopts, nl * sizeof (struct option) + sizeof (xtra_long));
+ *longopts = xrealloc (*longopts,
+ nl * sizeof (struct option) + sizeof (xtra_long));
memcpy (*longopts + nl, &xtra_long, sizeof (xtra_long));
}
static void
-gld${EMULATION_NAME}_list_options (file)
- FILE * file;
+gld${EMULATION_NAME}_list_options (FILE *file)
{
fprintf (file, _(" --support-old-code Support interworking with old code\n"));
fprintf (file, _(" --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"));
}
static bfd_boolean
-gld${EMULATION_NAME}_handle_option (optc)
- int optc;
+gld${EMULATION_NAME}_handle_option (int optc)
{
switch (optc)
{
@@ -104,12 +89,12 @@ gld${EMULATION_NAME}_handle_option (optc)
thumb_entry_symbol = optarg;
break;
}
-
+
return TRUE;
}
static void
-gld${EMULATION_NAME}_before_parse ()
+gld${EMULATION_NAME}_before_parse (void)
{
#ifndef TARGET_ /* I.e., if not generic. */
ldfile_set_output_arch ("`echo ${ARCH}`");
@@ -120,7 +105,7 @@ gld${EMULATION_NAME}_before_parse ()
sections, but before any sizes or addresses have been set. */
static void
-gld${EMULATION_NAME}_before_allocation ()
+gld${EMULATION_NAME}_before_allocation (void)
{
/* we should be able to set the size of the interworking stub section */
@@ -143,7 +128,7 @@ gld${EMULATION_NAME}_before_allocation ()
}
static void
-gld${EMULATION_NAME}_after_open ()
+gld${EMULATION_NAME}_after_open (void)
{
if (strstr (bfd_get_target (output_bfd), "arm") == NULL)
{
@@ -154,7 +139,7 @@ gld${EMULATION_NAME}_after_open ()
einfo ("%F%X%P: error: cannot change output format whilst linking ARM binaries\n");
return;
}
-
+
{
LANG_FOR_EACH_INPUT_STATEMENT (is)
{
@@ -165,13 +150,13 @@ gld${EMULATION_NAME}_after_open ()
}
static void
-gld${EMULATION_NAME}_finish PARAMS((void))
+gld${EMULATION_NAME}_finish (void)
{
struct bfd_link_hash_entry * h;
if (thumb_entry_symbol == NULL)
return;
-
+
h = bfd_link_hash_lookup (link_info.hash, thumb_entry_symbol,
FALSE, FALSE, TRUE);
@@ -182,21 +167,21 @@ gld${EMULATION_NAME}_finish PARAMS((void))
{
static char buffer[32];
bfd_vma val;
-
+
/* Special procesing is required for a Thumb entry symbol. The
bottom bit of its address must be set. */
val = (h->u.def.value
+ bfd_get_section_vma (output_bfd,
h->u.def.section->output_section)
+ h->u.def.section->output_offset);
-
+
val |= 1;
/* Now convert this value into a string and store it in entry_symbol
- where the lang_finish() function will pick it up. */
+ where the lang_finish() function will pick it up. */
buffer[0] = '0';
buffer[1] = 'x';
-
+
sprintf_vma (buffer + 2, val);
if (entry_symbol.name != NULL && entry_from_cmdline)
@@ -209,8 +194,7 @@ gld${EMULATION_NAME}_finish PARAMS((void))
}
static char *
-gld${EMULATION_NAME}_get_script (isfile)
- int *isfile;
+gld${EMULATION_NAME}_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
@@ -221,7 +205,7 @@ then
sc="-f stringify.sed"
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 0;
if (link_info.relocatable && config.build_constructors)
@@ -242,7 +226,7 @@ else
# Scripts read from the filesystem.
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 1;
if (link_info.relocatable && config.build_constructors)
@@ -262,7 +246,7 @@ fi
cat >>e${EMULATION_NAME}.c <<EOF
-struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
+struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
{
gld${EMULATION_NAME}_before_parse,
syslib_default,
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
index b125c57..c5c69fc 100644
--- a/ld/emultempl/armelf.em
+++ b/ld/emultempl/armelf.em
@@ -28,9 +28,8 @@ static int no_pipeline_knowledge = 0;
static char *thumb_entry_symbol = NULL;
static bfd *bfd_for_interwork;
-
static void
-gld${EMULATION_NAME}_before_parse ()
+gld${EMULATION_NAME}_before_parse (void)
{
#ifndef TARGET_ /* I.e., if not generic. */
ldfile_set_output_arch ("`echo ${ARCH}`");
@@ -39,10 +38,8 @@ gld${EMULATION_NAME}_before_parse ()
config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
}
-static void arm_elf_after_open PARAMS ((void));
-
static void
-arm_elf_after_open ()
+arm_elf_after_open (void)
{
if (strstr (bfd_get_target (output_bfd), "arm") == NULL)
{
@@ -65,12 +62,8 @@ arm_elf_after_open ()
gld${EMULATION_NAME}_after_open ();
}
-static void arm_elf_set_bfd_for_interworking
- PARAMS ((lang_statement_union_type *));
-
static void
-arm_elf_set_bfd_for_interworking (statement)
- lang_statement_union_type *statement;
+arm_elf_set_bfd_for_interworking (lang_statement_union_type *statement)
{
if (statement->header.type == lang_input_section_enum
&& !statement->input_section.ifile->just_syms_flag)
@@ -90,10 +83,8 @@ arm_elf_set_bfd_for_interworking (statement)
}
}
-static void arm_elf_before_allocation PARAMS ((void));
-
static void
-arm_elf_before_allocation ()
+arm_elf_before_allocation (void)
{
bfd *tem;
@@ -138,10 +129,8 @@ arm_elf_before_allocation ()
bfd_elf32_arm_allocate_interworking_sections (& link_info);
}
-static void arm_elf_finish PARAMS ((void));
-
static void
-arm_elf_finish ()
+arm_elf_finish (void)
{
struct bfd_link_hash_entry * h;
@@ -150,7 +139,7 @@ arm_elf_finish ()
if (thumb_entry_symbol == NULL)
return;
-
+
h = bfd_link_hash_lookup (link_info.hash, thumb_entry_symbol,
FALSE, FALSE, TRUE);
@@ -161,21 +150,21 @@ arm_elf_finish ()
{
static char buffer[32];
bfd_vma val;
-
+
/* Special procesing is required for a Thumb entry symbol. The
bottom bit of its address must be set. */
val = (h->u.def.value
+ bfd_get_section_vma (output_bfd,
h->u.def.section->output_section)
+ h->u.def.section->output_offset);
-
+
val |= 1;
/* Now convert this value into a string and store it in entry_symbol
- where the lang_finish() function will pick it up. */
+ where the lang_finish() function will pick it up. */
buffer[0] = '0';
buffer[1] = 'x';
-
+
sprintf_vma (buffer + 2, val);
if (entry_symbol.name != NULL && entry_from_cmdline)
diff --git a/ld/emultempl/armelf_oabi.em b/ld/emultempl/armelf_oabi.em
index 99b18cd..f556551 100644
--- a/ld/emultempl/armelf_oabi.em
+++ b/ld/emultempl/armelf_oabi.em
@@ -47,13 +47,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ldfile.h"
#include "ldemul.h"
-static void gld${EMULATION_NAME}_before_parse PARAMS ((void));
-static void gld${EMULATION_NAME}_before_allocation PARAMS ((void));
-static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile));
-static void gld${EMULATION_NAME}_after_open PARAMS ((void));
-
static void
-gld${EMULATION_NAME}_before_parse ()
+gld${EMULATION_NAME}_before_parse (void)
{
#ifndef TARGET_ /* I.e., if not generic. */
ldfile_set_output_arch ("`echo ${ARCH}`");
@@ -64,7 +59,7 @@ gld${EMULATION_NAME}_before_parse ()
sections, but before any sizes or addresses have been set. */
static void
-gld${EMULATION_NAME}_before_allocation ()
+gld${EMULATION_NAME}_before_allocation (void)
{
/* we should be able to set the size of the interworking stub section */
@@ -86,7 +81,7 @@ gld${EMULATION_NAME}_before_allocation ()
}
static void
-gld${EMULATION_NAME}_after_open ()
+gld${EMULATION_NAME}_after_open (void)
{
LANG_FOR_EACH_INPUT_STATEMENT (is)
@@ -98,8 +93,7 @@ gld${EMULATION_NAME}_after_open ()
}
static char *
-gld${EMULATION_NAME}_get_script (isfile)
- int *isfile;
+gld${EMULATION_NAME}_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
@@ -110,7 +104,7 @@ then
sc="-f stringify.sed"
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 0;
if (link_info.relocatable && config.build_constructors)
@@ -131,7 +125,7 @@ else
# Scripts read from the filesystem.
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 1;
if (link_info.relocatable && config.build_constructors)
@@ -151,7 +145,7 @@ fi
cat >>e${EMULATION_NAME}.c <<EOF
-struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
+struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
{
gld${EMULATION_NAME}_before_parse,
syslib_default,
diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em
index 23b9dc5..619e692 100644
--- a/ld/emultempl/beos.em
+++ b/ld/emultempl/beos.em
@@ -51,33 +51,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define TARGET_IS_${EMULATION_NAME}
-static void gld_${EMULATION_NAME}_set_symbols PARAMS ((void));
-static void gld_${EMULATION_NAME}_after_open PARAMS ((void));
-static void gld_${EMULATION_NAME}_before_parse PARAMS ((void));
-static void gld_${EMULATION_NAME}_before_allocation PARAMS ((void));
-static bfd_boolean gld${EMULATION_NAME}_place_orphan
- PARAMS ((lang_input_statement_type *, asection *));
-static char *gld_${EMULATION_NAME}_get_script PARAMS ((int *));
-
-static int sort_by_file_name PARAMS ((const PTR, const PTR));
-static int sort_by_section_name PARAMS ((const PTR, const PTR));
-static lang_statement_union_type **sort_sections_1
- PARAMS ((lang_statement_union_type **, lang_statement_union_type *, int,
- int (*) PARAMS((const PTR, const PTR))));
-static void sort_sections PARAMS ((lang_statement_union_type *));
-
-static void set_pe_name PARAMS ((char *, long int));
-static void set_pe_subsystem PARAMS ((void));
-static void set_pe_value PARAMS ((char *));
-static void set_pe_stack_heap PARAMS ((char *, char *));
-
static struct internal_extra_pe_aouthdr pe;
static int dll;
extern const char *output_filename;
static void
-gld_${EMULATION_NAME}_before_parse()
+gld_${EMULATION_NAME}_before_parse (void)
{
const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}");
if (arch)
@@ -109,17 +89,11 @@ gld_${EMULATION_NAME}_before_parse()
#define OPTION_SUBSYSTEM (OPTION_STACK + 1)
#define OPTION_HEAP (OPTION_SUBSYSTEM + 1)
-static void gld${EMULATION_NAME}_add_options
- PARAMS ((int, char **, int, struct option **, int, struct option **));
-
static void
-gld${EMULATION_NAME}_add_options (ns, shortopts, nl, longopts, nrl, really_longopts)
- int ns ATTRIBUTE_UNUSED;
- char **shortopts ATTRIBUTE_UNUSED;
- int nl;
- struct option **longopts;
- int nrl ATTRIBUTE_UNUSED;
- struct option **really_longopts ATTRIBUTE_UNUSED;
+gld${EMULATION_NAME}_add_options
+ (int ns ATTRIBUTE_UNUSED, char **shortopts ATTRIBUTE_UNUSED, int nl,
+ struct option **longopts, int nrl ATTRIBUTE_UNUSED,
+ struct option **really_longopts ATTRIBUTE_UNUSED)
{
static const struct option xtra_long[] = {
/* PE options */
@@ -185,9 +159,7 @@ static definfo init[] =
static void
-set_pe_name (name, val)
- char *name;
- long val;
+set_pe_name (char *name, long val)
{
int i;
/* Find the name and set it. */
@@ -205,7 +177,7 @@ set_pe_name (name, val)
static void
-set_pe_subsystem ()
+set_pe_subsystem (void)
{
const char *sver;
int len;
@@ -281,11 +253,8 @@ set_pe_subsystem ()
}
-
static void
-set_pe_value (name)
- char *name;
-
+set_pe_value (char *name)
{
char *end;
set_pe_name (name, strtoul (optarg, &end, 0));
@@ -298,9 +267,7 @@ set_pe_value (name)
}
static void
-set_pe_stack_heap (resname, comname)
- char *resname;
- char *comname;
+set_pe_stack_heap (char *resname, char *comname)
{
set_pe_value (resname);
if (*optarg == ',')
@@ -315,12 +282,8 @@ set_pe_stack_heap (resname, comname)
}
-static bfd_boolean gld${EMULATION_NAME}_handle_option
- PARAMS ((int));
-
static bfd_boolean
-gld${EMULATION_NAME}_handle_option (optc)
- int optc;
+gld${EMULATION_NAME}_handle_option (int optc)
{
switch (optc)
{
@@ -328,7 +291,7 @@ gld${EMULATION_NAME}_handle_option (optc)
return FALSE;
case OPTION_BASE_FILE:
- link_info.base_file = (PTR) fopen (optarg, FOPEN_WB);
+ link_info.base_file = fopen (optarg, FOPEN_WB);
if (link_info.base_file == NULL)
{
fprintf (stderr, "%s: Can't open base file %s\n",
@@ -385,7 +348,7 @@ gld${EMULATION_NAME}_handle_option (optc)
read. */
static void
-gld_${EMULATION_NAME}_set_symbols()
+gld_${EMULATION_NAME}_set_symbols (void)
{
/* Run through and invent symbols for all the
names and insert the defaults. */
@@ -437,7 +400,7 @@ gld_${EMULATION_NAME}_set_symbols()
}
static void
-gld_${EMULATION_NAME}_after_open()
+gld_${EMULATION_NAME}_after_open (void)
{
/* Pass the wacky PE command line options into the output bfd.
FIXME: This should be done via a function, rather than by
@@ -455,9 +418,7 @@ gld_${EMULATION_NAME}_after_open()
/* Callback functions for qsort in sort_sections. */
static int
-sort_by_file_name (a, b)
- const PTR a;
- const PTR b;
+sort_by_file_name (const void *a, const void *b)
{
const lang_statement_union_type *const *ra = a;
const lang_statement_union_type *const *rb = b;
@@ -512,9 +473,7 @@ return 0;
}
static int
-sort_by_section_name (a, b)
- const PTR a;
- const PTR b;
+sort_by_section_name (const void *a, const void *b)
{
const lang_statement_union_type *const *ra = a;
const lang_statement_union_type *const *rb = b;
@@ -539,10 +498,10 @@ sort_by_section_name (a, b)
The result is a pointer to the last element's "next" pointer. */
static lang_statement_union_type **
-sort_sections_1 (startptr, next_after, count, sort_func)
- lang_statement_union_type **startptr,*next_after;
- int count;
- int (*sort_func) PARAMS ((const PTR, const PTR));
+sort_sections_1 (lang_statement_union_type **startptr,
+ lang_statement_union_type *next_after,
+ int count,
+ int (*sort_func) (const void *, const void *))
{
lang_statement_union_type **vec;
lang_statement_union_type *p;
@@ -585,8 +544,7 @@ sort_sections_1 (startptr, next_after, count, sort_func)
place_orphans routine to implement grouped sections. */
static void
-sort_sections (s)
- lang_statement_union_type *s;
+sort_sections (lang_statement_union_type *s)
{
for (; s ; s = s->header.next)
switch (s->header.type)
@@ -673,7 +631,7 @@ sort_sections (s)
}
static void
-gld_${EMULATION_NAME}_before_allocation()
+gld_${EMULATION_NAME}_before_allocation (void)
{
extern lang_statement_list_type *stat_ptr;
@@ -730,9 +688,7 @@ gld_${EMULATION_NAME}_before_allocation()
/*ARGSUSED*/
static bfd_boolean
-gld${EMULATION_NAME}_place_orphan (file, s)
- lang_input_statement_type *file;
- asection *s;
+gld${EMULATION_NAME}_place_orphan (lang_input_statement_type *file, asection *s)
{
const char *secname;
char *output_secname, *ps;
@@ -821,8 +777,7 @@ gld${EMULATION_NAME}_place_orphan (file, s)
}
static char *
-gld_${EMULATION_NAME}_get_script(isfile)
- int *isfile;
+gld_${EMULATION_NAME}_get_script (int *isfile)
EOF
# Scripts compiled in.
# sed commands to quote an ld script as a C string.
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 85ca351..dd9c15b 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -53,38 +53,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <ldgram.h>
#include "elf/common.h"
-static void gld${EMULATION_NAME}_before_parse
- PARAMS ((void));
-static void gld${EMULATION_NAME}_vercheck
- PARAMS ((lang_input_statement_type *));
-static void gld${EMULATION_NAME}_stat_needed
- PARAMS ((lang_input_statement_type *));
-static bfd_boolean gld${EMULATION_NAME}_try_needed
- PARAMS ((const char *, int));
-static bfd_boolean gld${EMULATION_NAME}_search_needed
- PARAMS ((const char *, const char *, int));
-static void gld${EMULATION_NAME}_check_needed
- PARAMS ((lang_input_statement_type *));
-static void gld${EMULATION_NAME}_after_open
- PARAMS ((void));
-static void gld${EMULATION_NAME}_find_exp_assignment
- PARAMS ((etree_type *));
-static void gld${EMULATION_NAME}_find_statement_assignment
- PARAMS ((lang_statement_union_type *));
-static void gld${EMULATION_NAME}_before_allocation
- PARAMS ((void));
-static bfd_boolean gld${EMULATION_NAME}_open_dynamic_archive
- PARAMS ((const char *, search_dirs_type *, lang_input_statement_type *));
-static lang_output_section_statement_type *output_rel_find
- PARAMS ((asection *));
-static asection *output_prev_sec_find
- PARAMS ((lang_output_section_statement_type *));
+/* Declare functions used by various EXTRA_EM_FILEs. */
+static void gld${EMULATION_NAME}_before_parse (void);
+static void gld${EMULATION_NAME}_after_open (void);
+static void gld${EMULATION_NAME}_before_allocation (void);
static bfd_boolean gld${EMULATION_NAME}_place_orphan
- PARAMS ((lang_input_statement_type *, asection *));
-static void gld${EMULATION_NAME}_finish
- PARAMS ((void));
-static char *gld${EMULATION_NAME}_get_script
- PARAMS ((int *isfile));
+ (lang_input_statement_type *file, asection *s);
+static void gld${EMULATION_NAME}_finish (void);
EOF
@@ -104,7 +79,7 @@ if test x"$LDEMUL_BEFORE_PARSE" != xgld"$EMULATION_NAME"_before_parse; then
cat >>e${EMULATION_NAME}.c <<EOF
static void
-gld${EMULATION_NAME}_before_parse ()
+gld${EMULATION_NAME}_before_parse (void)
{
const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}");
if (arch)
@@ -152,8 +127,7 @@ static bfd_boolean global_vercheck_failed;
a conflicting version. */
static void
-gld${EMULATION_NAME}_vercheck (s)
- lang_input_statement_type *s;
+gld${EMULATION_NAME}_vercheck (lang_input_statement_type *s)
{
const char *soname;
struct bfd_link_needed_list *l;
@@ -190,10 +164,10 @@ gld${EMULATION_NAME}_vercheck (s)
if (strncmp (soname, l->name, suffix - l->name) == 0)
{
/* Here we know that S is a dynamic object FOO.SO.VER1, and
- the object we are considering needs a dynamic object
- FOO.SO.VER2, and VER1 and VER2 are different. This
- appears to be a version mismatch, so we tell the caller
- to try a different version of this library. */
+ the object we are considering needs a dynamic object
+ FOO.SO.VER2, and VER1 and VER2 are different. This
+ appears to be a version mismatch, so we tell the caller
+ to try a different version of this library. */
global_vercheck_failed = TRUE;
return;
}
@@ -205,8 +179,7 @@ gld${EMULATION_NAME}_vercheck (s)
the file. */
static void
-gld${EMULATION_NAME}_stat_needed (s)
- lang_input_statement_type *s;
+gld${EMULATION_NAME}_stat_needed (lang_input_statement_type *s)
{
struct stat st;
const char *suffix;
@@ -261,9 +234,7 @@ gld${EMULATION_NAME}_stat_needed (s)
to skip the check for a conflicting version. */
static bfd_boolean
-gld${EMULATION_NAME}_try_needed (name, force)
- const char *name;
- int force;
+gld${EMULATION_NAME}_try_needed (const char *name, int force)
{
bfd *abfd;
const char *soname;
@@ -310,16 +281,16 @@ gld${EMULATION_NAME}_try_needed (name, force)
{
bfd_close (abfd);
/* Return FALSE to force the caller to move on to try
- another file on the search path. */
+ another file on the search path. */
return FALSE;
}
/* But wait! It gets much worse. On Linux, if a shared
- library does not use libc at all, we are supposed to skip
- it the first time around in case we encounter a shared
- library later on with the same name which does use the
- version of libc that we want. This is much too horrible
- to use on any system other than Linux. */
+ library does not use libc at all, we are supposed to skip
+ it the first time around in case we encounter a shared
+ library later on with the same name which does use the
+ version of libc that we want. This is much too horrible
+ to use on any system other than Linux. */
EOF
case ${target} in
@@ -369,7 +340,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
if (global_found)
{
/* Return TRUE to indicate that we found the file, even though
- we aren't going to do anything with it. */
+ we aren't going to do anything with it. */
return TRUE;
}
@@ -393,10 +364,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
/* Search for a needed file in a path. */
static bfd_boolean
-gld${EMULATION_NAME}_search_needed (path, name, force)
- const char *path;
- const char *name;
- int force;
+gld${EMULATION_NAME}_search_needed (const char *path, const char *name, int force)
{
const char *s;
size_t len;
@@ -445,11 +413,8 @@ if [ "x${USE_LIBPATH}" = xyes ] ; then
/* Add the sysroot to every entry in a colon-separated path. */
-static char * gld${EMULATION_NAME}_add_sysroot PARAMS ((const char *));
-
static char *
-gld${EMULATION_NAME}_add_sysroot (path)
- const char *path;
+gld${EMULATION_NAME}_add_sysroot (const char *path)
{
int len, colons, i;
char *ret, *p;
@@ -472,7 +437,7 @@ gld${EMULATION_NAME}_add_sysroot (path)
while (path[i])
if (path[i] == ':')
{
- *p++ = path[i++];
+ *p++ = path[i++];
strcpy (p, ld_sysroot);
p = p + strlen (p);
}
@@ -491,13 +456,8 @@ EOF
in which we may find shared libraries. /etc/ld.so.conf is really
only meaningful on Linux. */
-static bfd_boolean gld${EMULATION_NAME}_check_ld_so_conf
- PARAMS ((const char *, int));
-
static bfd_boolean
-gld${EMULATION_NAME}_check_ld_so_conf (name, force)
- const char *name;
- int force;
+gld${EMULATION_NAME}_check_ld_so_conf (const char *name, int force)
{
static bfd_boolean initialized;
static char *ld_so_conf;
@@ -588,8 +548,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
/* See if an input file matches a DT_NEEDED entry by name. */
static void
-gld${EMULATION_NAME}_check_needed (s)
- lang_input_statement_type *s;
+gld${EMULATION_NAME}_check_needed (lang_input_statement_type *s)
{
if (global_found)
return;
@@ -638,7 +597,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
/* This is called after all the input files have been opened. */
static void
-gld${EMULATION_NAME}_after_open ()
+gld${EMULATION_NAME}_after_open (void)
{
struct bfd_link_needed_list *needed, *l;
@@ -794,8 +753,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
/* Look through an expression for an assignment statement. */
static void
-gld${EMULATION_NAME}_find_exp_assignment (exp)
- etree_type *exp;
+gld${EMULATION_NAME}_find_exp_assignment (etree_type *exp)
{
struct bfd_link_hash_entry *h;
@@ -855,8 +813,7 @@ gld${EMULATION_NAME}_find_exp_assignment (exp)
symbols which are referred to by dynamic objects. */
static void
-gld${EMULATION_NAME}_find_statement_assignment (s)
- lang_statement_union_type *s;
+gld${EMULATION_NAME}_find_statement_assignment (lang_statement_union_type *s)
{
if (s->header.type == lang_assignment_statement_enum)
gld${EMULATION_NAME}_find_exp_assignment (s->assignment_statement.exp);
@@ -883,7 +840,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
sections, but before any sizes or addresses have been set. */
static void
-gld${EMULATION_NAME}_before_allocation ()
+gld${EMULATION_NAME}_before_allocation (void)
{
const char *rpath;
asection *sinterp;
@@ -899,7 +856,7 @@ gld${EMULATION_NAME}_before_allocation ()
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
if (! (bfd_elf${ELFSIZE}_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
+ (output_bfd, command_line.soname, rpath,
command_line.filter_shlib,
(const char * const *) command_line.auxiliary_filters,
&link_info, &sinterp, lang_elf_version_info)))
@@ -964,10 +921,8 @@ cat >>e${EMULATION_NAME}.c <<EOF
like hpux). */
static bfd_boolean
-gld${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
- const char *arch;
- search_dirs_type *search;
- lang_input_statement_type *entry;
+gld${EMULATION_NAME}_open_dynamic_archive
+ (const char *arch, search_dirs_type *search, lang_input_statement_type *entry)
{
const char *filename;
char *string;
@@ -1043,8 +998,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
/* A variant of lang_output_section_find. Used by place_orphan. */
static lang_output_section_statement_type *
-output_rel_find (sec)
- asection *sec;
+output_rel_find (asection *sec)
{
lang_statement_union_type *u;
lang_output_section_statement_type *lookup;
@@ -1089,8 +1043,7 @@ output_rel_find (sec)
Used by place_orphan. */
static asection *
-output_prev_sec_find (os)
- lang_output_section_statement_type *os;
+output_prev_sec_find (lang_output_section_statement_type *os)
{
asection *s = (asection *) NULL;
lang_statement_union_type *u;
@@ -1122,9 +1075,7 @@ struct orphan_save {
};
static bfd_boolean
-gld${EMULATION_NAME}_place_orphan (file, s)
- lang_input_statement_type *file;
- asection *s;
+gld${EMULATION_NAME}_place_orphan (lang_input_statement_type *file, asection *s)
{
static struct orphan_save hold_text;
static struct orphan_save hold_rodata;
@@ -1422,7 +1373,7 @@ if test x"$LDEMUL_FINISH" != xgld"$EMULATION_NAME"_finish; then
cat >>e${EMULATION_NAME}.c <<EOF
static void
-gld${EMULATION_NAME}_finish ()
+gld${EMULATION_NAME}_finish (void)
{
if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info))
{
@@ -1447,8 +1398,7 @@ if test x"$LDEMUL_GET_SCRIPT" != xgld"$EMULATION_NAME"_get_script; then
cat >>e${EMULATION_NAME}.c <<EOF
static char *
-gld${EMULATION_NAME}_get_script (isfile)
- int *isfile;
+gld${EMULATION_NAME}_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
@@ -1573,17 +1523,10 @@ cat >>e${EMULATION_NAME}.c <<EOF
#define OPTION_GROUP (OPTION_ENABLE_NEW_DTAGS + 1)
#define OPTION_EH_FRAME_HDR (OPTION_GROUP + 1)
-static void gld${EMULATION_NAME}_add_options
- PARAMS ((int, char **, int, struct option **, int, struct option **));
-
static void
-gld${EMULATION_NAME}_add_options (ns, shortopts, nl, longopts, nrl, really_longopts)
- int ns;
- char **shortopts;
- int nl;
- struct option **longopts;
- int nrl ATTRIBUTE_UNUSED;
- struct option **really_longopts ATTRIBUTE_UNUSED;
+gld${EMULATION_NAME}_add_options
+ (int ns, char **shortopts, int nl, struct option **longopts,
+ int nrl ATTRIBUTE_UNUSED, struct option **really_longopts ATTRIBUTE_UNUSED)
{
static const char xtra_short[] = "${PARSE_AND_LIST_SHORTOPTS}z:";
static const struct option xtra_long[] = {
@@ -1615,12 +1558,8 @@ cat >>e${EMULATION_NAME}.c <<EOF
memcpy (*longopts + nl, &xtra_long, sizeof (xtra_long));
}
-static bfd_boolean gld${EMULATION_NAME}_handle_option
- PARAMS ((int));
-
static bfd_boolean
-gld${EMULATION_NAME}_handle_option (optc)
- int optc;
+gld${EMULATION_NAME}_handle_option (int optc)
{
switch (optc)
{
@@ -1683,7 +1622,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
else if (strcmp (optarg, "nocombreloc") == 0)
link_info.combreloc = FALSE;
else if (strcmp (optarg, "nocopyreloc") == 0)
- link_info.nocopyreloc = TRUE;
+ link_info.nocopyreloc = TRUE;
else if (strcmp (optarg, "execstack") == 0)
{
link_info.execstack = TRUE;
@@ -1716,11 +1655,8 @@ EOF
if test x"$LDEMUL_LIST_OPTIONS" != xgld"$EMULATION_NAME"_list_options; then
cat >>e${EMULATION_NAME}.c <<EOF
-static void gld${EMULATION_NAME}_list_options PARAMS ((FILE * file));
-
static void
-gld${EMULATION_NAME}_list_options (file)
- FILE * file;
+gld${EMULATION_NAME}_list_options (FILE * file)
{
EOF
diff --git a/ld/emultempl/generic.em b/ld/emultempl/generic.em
index 611a948..c33d86b 100644
--- a/ld/emultempl/generic.em
+++ b/ld/emultempl/generic.em
@@ -39,9 +39,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ldfile.h"
#include "ldemul.h"
-static void gld${EMULATION_NAME}_before_parse PARAMS ((void));
-static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile));
-
EOF
# Import any needed special functions and/or overrides.
@@ -54,7 +51,7 @@ if test x"$LDEMUL_BEFORE_PARSE" != xgld"$EMULATION_NAME"_before_parse; then
cat >>e${EMULATION_NAME}.c <<EOF
static void
-gld${EMULATION_NAME}_before_parse()
+gld${EMULATION_NAME}_before_parse (void)
{
#ifndef TARGET_ /* I.e., if not generic. */
ldfile_set_output_arch ("`echo ${ARCH}`");
@@ -68,8 +65,7 @@ if test x"$LDEMUL_GET_SCRIPT" != xgld"$EMULATION_NAME"_get_script; then
cat >>e${EMULATION_NAME}.c <<EOF
static char *
-gld${EMULATION_NAME}_get_script(isfile)
- int *isfile;
+gld${EMULATION_NAME}_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
@@ -80,7 +76,7 @@ then
sc="-f stringify.sed"
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 0;
if (link_info.relocatable && config.build_constructors)
@@ -101,7 +97,7 @@ else
# Scripts read from the filesystem.
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 1;
if (link_info.relocatable && config.build_constructors)
@@ -121,7 +117,7 @@ fi
cat >>e${EMULATION_NAME}.c <<EOF
-struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
+struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
{
${LDEMUL_BEFORE_PARSE-gld${EMULATION_NAME}_before_parse},
${LDEMUL_SYSLIB-syslib_default},
diff --git a/ld/emultempl/gld960.em b/ld/emultempl/gld960.em
index e9ef7e5..9b93bac 100644
--- a/ld/emultempl/gld960.em
+++ b/ld/emultempl/gld960.em
@@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License
along with GLD; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-/*
+/*
* emulate the Intels port of gld
*/
@@ -39,15 +39,10 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307
#include "ldfile.h"
#include "ldemul.h"
-static void gld960_before_parse PARAMS ((void));
-static char *gld960_choose_target PARAMS ((int, char **));
-static void gld960_set_output_arch PARAMS ((void));
-static char *gld960_get_script PARAMS ((int *));
-
#ifdef GNU960
static void
-gld960_before_parse()
+gld960_before_parse (void)
{
static char *env_variables[] = { "G960LIB", "G960BASE", 0 };
char **p;
@@ -67,7 +62,7 @@ gld960_before_parse()
#else /* not GNU960 */
-static void gld960_before_parse()
+static void gld960_before_parse (void)
{
char *env ;
env = getenv("G960LIB");
@@ -84,15 +79,13 @@ static void gld960_before_parse()
static void
-gld960_set_output_arch()
+gld960_set_output_arch (void)
{
bfd_set_arch_mach(output_bfd, ldfile_output_architecture, bfd_mach_i960_core);
}
static char *
-gld960_choose_target (argc, argv)
- int argc ATTRIBUTE_UNUSED;
- char **argv ATTRIBUTE_UNUSED;
+gld960_choose_target (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
#ifdef GNU960
@@ -113,8 +106,7 @@ gld960_choose_target (argc, argv)
}
static char *
-gld960_get_script(isfile)
- int *isfile;
+gld960_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
@@ -125,7 +117,7 @@ then
sc="-f stringify.sed"
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 0;
if (link_info.relocatable && config.build_constructors)
@@ -146,7 +138,7 @@ else
# Scripts read from the filesystem.
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 1;
if (link_info.relocatable && config.build_constructors)
@@ -166,7 +158,7 @@ fi
cat >>e${EMULATION_NAME}.c <<EOF
-struct ld_emulation_xfer_struct ld_gld960_emulation =
+struct ld_emulation_xfer_struct ld_gld960_emulation =
{
gld960_before_parse,
syslib_default,
diff --git a/ld/emultempl/gld960c.em b/ld/emultempl/gld960c.em
index 160eb2a..89e75ae 100644
--- a/ld/emultempl/gld960c.em
+++ b/ld/emultempl/gld960c.em
@@ -41,15 +41,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "ldfile.h"
#include "ldemul.h"
-static void gld960_before_parse PARAMS ((void));
-static void gld960_set_output_arch PARAMS ((void));
-static char *gld960_choose_target PARAMS ((int, char **));
-static char *gld960_get_script PARAMS ((int *));
-
#ifdef GNU960
static void
-gld960_before_parse()
+gld960_before_parse (void)
{
static char *env_variables[] = { "G960LIB", "G960BASE", 0 };
char **p;
@@ -69,7 +64,7 @@ gld960_before_parse()
#else /* not GNU960 */
-static void gld960_before_parse()
+static void gld960_before_parse (void)
{
char *env ;
env = getenv("G960LIB");
@@ -87,7 +82,7 @@ static void gld960_before_parse()
static void
-gld960_set_output_arch()
+gld960_set_output_arch (void)
{
if (ldfile_output_machine_name != NULL
&& *ldfile_output_machine_name != '\0')
@@ -105,9 +100,7 @@ gld960_set_output_arch()
}
static char *
-gld960_choose_target (argc, argv)
- int argc ATTRIBUTE_UNUSED;
- char **argv ATTRIBUTE_UNUSED;
+gld960_choose_target (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
#ifdef GNU960
@@ -128,8 +121,7 @@ gld960_choose_target (argc, argv)
}
static char *
-gld960_get_script(isfile)
- int *isfile;
+gld960_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
diff --git a/ld/emultempl/hppaelf.em b/ld/emultempl/hppaelf.em
index 456e17c..1ee43ac 100644
--- a/ld/emultempl/hppaelf.em
+++ b/ld/emultempl/hppaelf.em
@@ -27,14 +27,6 @@ cat >>e${EMULATION_NAME}.c <<EOF
#include "ldctor.h"
#include "elf32-hppa.h"
-static void hppaelf_after_parse PARAMS ((void));
-static void hppaelf_create_output_section_statements PARAMS ((void));
-static asection *hppaelf_add_stub_section
- PARAMS ((const char *, asection *));
-static void hppaelf_layout_sections_again PARAMS ((void));
-static void gld${EMULATION_NAME}_finish PARAMS ((void));
-static void build_section_lists PARAMS ((lang_statement_union_type *));
-
/* Fake input file for stubs. */
static lang_input_statement_type *stub_file;
@@ -56,7 +48,7 @@ static bfd_signed_vma group_size = 1;
and adds millicode library to the list of input files. */
static void
-hppaelf_after_parse ()
+hppaelf_after_parse (void)
{
if (link_info.relocatable)
lang_add_unique (".text");
@@ -72,7 +64,7 @@ hppaelf_after_parse ()
fake input file to hold the stub sections. */
static void
-hppaelf_create_output_section_statements ()
+hppaelf_create_output_section_statements (void)
{
stub_file = lang_add_input_file ("linker stubs",
lang_input_file_is_fake_enum,
@@ -99,13 +91,8 @@ struct hook_stub_info
/* Traverse the linker tree to find the spot where the stub goes. */
-static bfd_boolean hook_in_stub
- PARAMS ((struct hook_stub_info *, lang_statement_union_type **));
-
static bfd_boolean
-hook_in_stub (info, lp)
- struct hook_stub_info *info;
- lang_statement_union_type **lp;
+hook_in_stub (struct hook_stub_info *info, lang_statement_union_type **lp)
{
lang_statement_union_type *l;
bfd_boolean ret;
@@ -177,9 +164,7 @@ hook_in_stub (info, lp)
immediately before INPUT_SECTION. */
static asection *
-hppaelf_add_stub_section (stub_sec_name, input_section)
- const char *stub_sec_name;
- asection *input_section;
+hppaelf_add_stub_section (const char *stub_sec_name, asection *input_section)
{
asection *stub_sec;
flagword flags;
@@ -220,7 +205,7 @@ hppaelf_add_stub_section (stub_sec_name, input_section)
/* Another call-back for elf32_hppa_size_stubs. */
static void
-hppaelf_layout_sections_again ()
+hppaelf_layout_sections_again (void)
{
/* If we have changed sizes of the stub sections, then we need
to recalculate all the section offsets. This may mean we need to
@@ -243,8 +228,7 @@ hppaelf_layout_sections_again ()
static void
-build_section_lists (statement)
- lang_statement_union_type *statement;
+build_section_lists (lang_statement_union_type *statement)
{
if (statement->header.type == lang_input_section_enum
&& !statement->input_section.ifile->just_syms_flag
@@ -261,7 +245,7 @@ build_section_lists (statement)
to build linker stubs. */
static void
-gld${EMULATION_NAME}_finish ()
+gld${EMULATION_NAME}_finish (void)
{
/* bfd_elf32_discard_info just plays with debugging sections,
ie. doesn't affect any code, so we can delay resizing the
@@ -326,23 +310,16 @@ gld${EMULATION_NAME}_finish ()
/* Avoid processing the fake stub_file in vercheck, stat_needed and
check_needed routines. */
-static void hppa_for_each_input_file_wrapper
- PARAMS ((lang_input_statement_type *));
-static void hppa_lang_for_each_input_file
- PARAMS ((void (*) (lang_input_statement_type *)));
-
-static void (*real_func) PARAMS ((lang_input_statement_type *));
+static void (*real_func) (lang_input_statement_type *);
-static void hppa_for_each_input_file_wrapper (l)
- lang_input_statement_type *l;
+static void hppa_for_each_input_file_wrapper (lang_input_statement_type *l)
{
if (l != stub_file)
(*real_func) (l);
}
static void
-hppa_lang_for_each_input_file (func)
- void (*func) PARAMS ((lang_input_statement_type *));
+hppa_lang_for_each_input_file (void (*func) (lang_input_statement_type *))
{
real_func = func;
lang_for_each_input_file (&hppa_for_each_input_file_wrapper);
diff --git a/ld/emultempl/linux.em b/ld/emultempl/linux.em
index ce7f3b6f..b48549d 100644
--- a/ld/emultempl/linux.em
+++ b/ld/emultempl/linux.em
@@ -44,18 +44,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ldfile.h"
#include "ldemul.h"
-static void gld${EMULATION_NAME}_before_parse PARAMS ((void));
-static bfd_boolean gld${EMULATION_NAME}_open_dynamic_archive
- PARAMS ((const char *, search_dirs_type *, lang_input_statement_type *));
-static void gld${EMULATION_NAME}_find_address_statement
- PARAMS ((lang_statement_union_type *));
-static void gld${EMULATION_NAME}_create_output_section_statements
- PARAMS ((void));
-static void gld${EMULATION_NAME}_before_allocation PARAMS ((void));
-static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile));
-
static void
-gld${EMULATION_NAME}_before_parse()
+gld${EMULATION_NAME}_before_parse (void)
{
const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}");
if (arch)
@@ -74,10 +64,8 @@ gld${EMULATION_NAME}_before_parse()
dynamic libraries have an extension of .sa. */
static bfd_boolean
-gld${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
- const char *arch;
- search_dirs_type *search;
- lang_input_statement_type *entry;
+gld${EMULATION_NAME}_open_dynamic_archive
+ (const char *arch, search_dirs_type *search, lang_input_statement_type *entry)
{
char *string;
@@ -110,8 +98,7 @@ gld${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
Linux tools. */
static void
-gld${EMULATION_NAME}_find_address_statement (s)
- lang_statement_union_type *s;
+gld${EMULATION_NAME}_find_address_statement (lang_statement_union_type *s)
{
if (s->header.type == lang_address_statement_enum
&& strcmp (s->address_statement.section_name, ".text") == 0)
@@ -124,7 +111,7 @@ gld${EMULATION_NAME}_find_address_statement (s)
/* This is called before opening the input BFD's. */
static void
-gld${EMULATION_NAME}_create_output_section_statements ()
+gld${EMULATION_NAME}_create_output_section_statements (void)
{
lang_for_each_statement (gld${EMULATION_NAME}_find_address_statement);
}
@@ -133,7 +120,7 @@ gld${EMULATION_NAME}_create_output_section_statements ()
sections, but before any sizes or addresses have been set. */
static void
-gld${EMULATION_NAME}_before_allocation ()
+gld${EMULATION_NAME}_before_allocation (void)
{
if (link_info.relocatable)
return;
@@ -145,8 +132,7 @@ gld${EMULATION_NAME}_before_allocation ()
}
static char *
-gld${EMULATION_NAME}_get_script(isfile)
- int *isfile;
+gld${EMULATION_NAME}_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
diff --git a/ld/emultempl/lnk960.em b/ld/emultempl/lnk960.em
index 56facaa..2c294ec 100644
--- a/ld/emultempl/lnk960.em
+++ b/ld/emultempl/lnk960.em
@@ -47,23 +47,9 @@ static lib_list_type **hll_list_tail = &hll_list;
static lib_list_type *syslib_list;
static lib_list_type **syslib_list_tail = &syslib_list;
-static void append PARAMS ((lib_list_type ***, char *));
-static void lnk960_hll PARAMS ((char *));
-static void lnk960_syslib PARAMS ((char *));
-static void lnk960_before_parse PARAMS ((void));
-static void add_on PARAMS ((lib_list_type *, lang_input_file_enum_type));
-static void lnk960_after_parse PARAMS ((void));
-static void lnk960_before_allocation PARAMS ((void));
-static void lnk960_after_allocation PARAMS ((void));
-static void lnk960_set_output_arch PARAMS ((void));
-static char *lnk960_choose_target PARAMS ((int, char **));
-static char *lnk960_get_script PARAMS ((int *));
-
static void
-append (list, name)
- lib_list_type ***list;
- char *name;
+append (lib_list_type ***list, char *name)
{
lib_list_type *element = (lib_list_type *) xmalloc (sizeof (lib_list_type));
@@ -78,8 +64,7 @@ static bfd_boolean had_hll = FALSE;
static bfd_boolean had_hll_name = FALSE;
static void
-lnk960_hll (name)
- char *name;
+lnk960_hll (char *name)
{
had_hll = TRUE;
if (name != (char *) NULL)
@@ -89,9 +74,8 @@ lnk960_hll (name)
}
}
-static void
-lnk960_syslib (name)
- char *name;
+static void
+lnk960_syslib (char *name)
{
append (&syslib_list_tail, name);
}
@@ -99,8 +83,8 @@ lnk960_syslib (name)
#ifdef GNU960
-static void
-lnk960_before_parse ()
+static void
+lnk960_before_parse (void)
{
static char *env_variables[] = { "G960LIB", "G960BASE", 0 };
char **p;
@@ -123,8 +107,8 @@ lnk960_before_parse ()
#else /* not GNU960 */
-static void
-lnk960_before_parse ()
+static void
+lnk960_before_parse (void)
{
char *name = getenv ("I960BASE");
@@ -145,9 +129,7 @@ lnk960_before_parse ()
static void
-add_on (list, search)
- lib_list_type *list;
- lang_input_file_enum_type search;
+add_on (lib_list_type *list, lang_input_file_enum_type search)
{
while (list)
{
@@ -155,15 +137,16 @@ add_on (list, search)
list = list->next;
}
}
+
static void
-lnk960_after_parse ()
+lnk960_after_parse (void)
{
/* If there has been no arch, default to -KB */
if (ldfile_output_machine_name[0] == 0)
ldfile_add_arch ("KB");
/* if there has been no hll list then add our own */
-
+
if (had_hll && !had_hll_name)
{
append (&hll_list_tail, "cg");
@@ -171,18 +154,18 @@ lnk960_after_parse ()
|| ldfile_output_machine == bfd_mach_i960_ca)
append (&hll_list_tail, "fpg");
}
-
+
add_on (hll_list, lang_input_file_is_l_enum);
add_on (syslib_list, lang_input_file_is_search_file_enum);
}
static void
-lnk960_before_allocation ()
+lnk960_before_allocation (void)
{
}
static void
-lnk960_after_allocation ()
+lnk960_after_allocation (void)
{
if (!link_info.relocatable)
{
@@ -197,7 +180,7 @@ lnk960_after_allocation ()
static struct
{
unsigned long number;
- char *name;
+ char *name;
}
machine_table[] =
{
@@ -227,7 +210,7 @@ machine_table[] =
};
static void
-lnk960_set_output_arch ()
+lnk960_set_output_arch (void)
{
/* Set the output architecture and machine if possible */
unsigned int i;
@@ -245,9 +228,7 @@ lnk960_set_output_arch ()
}
static char *
-lnk960_choose_target (argc, argv)
- int argc ATTRIBUTE_UNUSED;
- char **argv ATTRIBUTE_UNUSED;
+lnk960_choose_target (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
#ifdef GNU960
@@ -268,8 +249,7 @@ lnk960_choose_target (argc, argv)
}
static char *
-lnk960_get_script (isfile)
- int *isfile;
+lnk960_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
@@ -280,7 +260,7 @@ then
sc="-f stringify.sed"
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 0;
if (link_info.relocatable && config.build_constructors)
@@ -301,7 +281,7 @@ else
# Scripts read from the filesystem.
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 1;
if (link_info.relocatable && config.build_constructors)
@@ -321,7 +301,7 @@ fi
cat >>e${EMULATION_NAME}.c <<EOF
-struct ld_emulation_xfer_struct ld_lnk960_emulation =
+struct ld_emulation_xfer_struct ld_lnk960_emulation =
{
lnk960_before_parse,
lnk960_syslib,
diff --git a/ld/emultempl/m68hc1xelf.em b/ld/emultempl/m68hc1xelf.em
index ed059a2..82f9b12 100644
--- a/ld/emultempl/m68hc1xelf.em
+++ b/ld/emultempl/m68hc1xelf.em
@@ -44,12 +44,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
#include "ldctor.h"
#include "elf32-m68hc1x.h"
-static void m68hc11elf_create_output_section_statements PARAMS ((void));
-static asection *m68hc11elf_add_stub_section
- PARAMS ((const char *, asection *));
-static void gld${EMULATION_NAME}_finish PARAMS ((void));
-static void m68hc11_elf_${EMULATION_NAME}_before_allocation PARAMS ((void));
-
+static asection *m68hc11elf_add_stub_section (const char *, asection *);
/* Fake input file for stubs. */
static lang_input_statement_type *stub_file;
@@ -64,7 +59,7 @@ static int no_trampoline = 0;
static const char* bank_window_name = 0;
static void
-m68hc11_elf_${EMULATION_NAME}_before_allocation ()
+m68hc11_elf_${EMULATION_NAME}_before_allocation (void)
{
lang_memory_region_type* region;
int ret;
@@ -87,9 +82,9 @@ m68hc11_elf_${EMULATION_NAME}_before_allocation ()
/* Call into the BFD backend to do the real work. */
if (!elf32_m68hc11_size_stubs (output_bfd,
- stub_file->the_bfd,
- &link_info,
- &m68hc11elf_add_stub_section))
+ stub_file->the_bfd,
+ &link_info,
+ &m68hc11elf_add_stub_section))
{
einfo ("%X%P: can not size stub section: %E\n");
return;
@@ -123,7 +118,7 @@ m68hc11_elf_${EMULATION_NAME}_before_allocation ()
pinfo->bank_size = region->length;
pinfo->bank_shift = 0;
for (i = pinfo->bank_size; i != 0; i >>= 1)
- pinfo->bank_shift++;
+ pinfo->bank_shift++;
pinfo->bank_shift--;
pinfo->bank_size = 1L << pinfo->bank_shift;
pinfo->bank_mask = (1 << pinfo->bank_shift) - 1;
@@ -131,12 +126,12 @@ m68hc11_elf_${EMULATION_NAME}_before_allocation ()
pinfo->bank_physical_end = region->origin + pinfo->bank_size;
if (pinfo->bank_size != region->length)
- {
- einfo (_("warning: the size of the 'window' memory region "
- "is not a power of 2\n"));
- einfo (_("warning: its size %d is truncated to %d\n"),
- region->length, pinfo->bank_size);
- }
+ {
+ einfo (_("warning: the size of the 'window' memory region "
+ "is not a power of 2\n"));
+ einfo (_("warning: its size %d is truncated to %d\n"),
+ region->length, pinfo->bank_size);
+ }
}
}
@@ -144,7 +139,7 @@ m68hc11_elf_${EMULATION_NAME}_before_allocation ()
fake input file to hold the stub sections. */
static void
-m68hc11elf_create_output_section_statements ()
+m68hc11elf_create_output_section_statements (void)
{
stub_file = lang_add_input_file ("linker stubs",
lang_input_file_is_fake_enum,
@@ -152,8 +147,8 @@ m68hc11elf_create_output_section_statements ()
stub_file->the_bfd = bfd_create ("linker stubs", output_bfd);
if (stub_file->the_bfd == NULL
|| !bfd_set_arch_mach (stub_file->the_bfd,
- bfd_get_arch (output_bfd),
- bfd_get_mach (output_bfd)))
+ bfd_get_arch (output_bfd),
+ bfd_get_mach (output_bfd)))
{
einfo ("%X%P: can not create BFD %E\n");
return;
@@ -171,13 +166,8 @@ struct hook_stub_info
/* Traverse the linker tree to find the spot where the stub goes. */
-static bfd_boolean hook_in_stub
- PARAMS ((struct hook_stub_info *, lang_statement_union_type **));
-
static bfd_boolean
-hook_in_stub (info, lp)
- struct hook_stub_info *info;
- lang_statement_union_type **lp;
+hook_in_stub (struct hook_stub_info *info, lang_statement_union_type **lp)
{
lang_statement_union_type *l;
bfd_boolean ret;
@@ -213,10 +203,10 @@ hook_in_stub (info, lp)
case lang_input_section_enum:
if (l->input_section.section == info->input_section
- || strcmp (bfd_get_section_name (output_section,
- l->input_section.section),
- bfd_get_section_name (output_section,
- info->input_section)) == 0)
+ || strcmp (bfd_get_section_name (output_section,
+ l->input_section.section),
+ bfd_get_section_name (output_section,
+ info->input_section)) == 0)
{
/* We've found our section. Insert the stub immediately
before its associated input section. */
@@ -253,9 +243,8 @@ hook_in_stub (info, lp)
immediately before INPUT_SECTION. */
static asection *
-m68hc11elf_add_stub_section (stub_sec_name, tramp_section)
- const char *stub_sec_name;
- asection *tramp_section;
+m68hc11elf_add_stub_section (const char *stub_sec_name,
+ asection *tramp_section)
{
asection *stub_sec;
flagword flags;
@@ -263,7 +252,7 @@ m68hc11elf_add_stub_section (stub_sec_name, tramp_section)
const char *secname;
lang_output_section_statement_type *os;
struct hook_stub_info info;
-
+
stub_sec = bfd_make_section_anyway (stub_file->the_bfd, stub_sec_name);
if (stub_sec == NULL)
goto err_ret;
@@ -300,18 +289,18 @@ m68hc11elf_add_stub_section (stub_sec_name, tramp_section)
to build linker stubs. */
static void
-gld${EMULATION_NAME}_finish ()
+gld${EMULATION_NAME}_finish (void)
{
/* Now build the linker stubs. */
if (stub_file->the_bfd->sections != NULL)
{
/* Call again the trampoline analyzer to initialize the trampoline
- stubs with the correct symbol addresses. Since there could have
- been relaxation, the symbol addresses that were found during
- first call may no longer be correct. */
+ stubs with the correct symbol addresses. Since there could have
+ been relaxation, the symbol addresses that were found during
+ first call may no longer be correct. */
if (!elf32_m68hc11_size_stubs (output_bfd,
- stub_file->the_bfd,
- &link_info, 0))
+ stub_file->the_bfd,
+ &link_info, 0))
{
einfo ("%X%P: can not size stub section: %E\n");
return;
@@ -325,23 +314,16 @@ gld${EMULATION_NAME}_finish ()
/* Avoid processing the fake stub_file in vercheck, stat_needed and
check_needed routines. */
-static void m68hc11_for_each_input_file_wrapper
- PARAMS ((lang_input_statement_type *));
-static void m68hc11_lang_for_each_input_file
- PARAMS ((void (*) (lang_input_statement_type *)));
-
-static void (*real_func) PARAMS ((lang_input_statement_type *));
+static void (*real_func) (lang_input_statement_type *);
-static void m68hc11_for_each_input_file_wrapper (l)
- lang_input_statement_type *l;
+static void m68hc11_for_each_input_file_wrapper (lang_input_statement_type *l)
{
if (l != stub_file)
(*real_func) (l);
}
static void
-m68hc11_lang_for_each_input_file (func)
- void (*func) PARAMS ((lang_input_statement_type *));
+m68hc11_lang_for_each_input_file (void (*func) (lang_input_statement_type *))
{
real_func = func;
lang_for_each_input_file (&m68hc11_for_each_input_file_wrapper);
@@ -355,8 +337,8 @@ EOF
# parse_args and list_options functions.
#
PARSE_AND_LIST_PROLOGUE='
-#define OPTION_NO_TRAMPOLINE 300
-#define OPTION_BANK_WINDOW 301
+#define OPTION_NO_TRAMPOLINE 300
+#define OPTION_BANK_WINDOW 301
'
# The options are repeated below so that no abbreviations are allowed.
diff --git a/ld/emultempl/m68kcoff.em b/ld/emultempl/m68kcoff.em
index e56c71f..3b92d17 100644
--- a/ld/emultempl/m68kcoff.em
+++ b/ld/emultempl/m68kcoff.em
@@ -37,14 +37,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ldemul.h"
#include "ldmisc.h"
-static void gld${EMULATION_NAME}_before_parse PARAMS ((void));
-static void gld${EMULATION_NAME}_after_open PARAMS ((void));
-static void check_sections PARAMS ((bfd *, asection *, PTR));
-static void gld${EMULATION_NAME}_after_allocation PARAMS ((void));
-static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile));
+static void check_sections (bfd *, asection *, void *);
static void
-gld${EMULATION_NAME}_before_parse ()
+gld${EMULATION_NAME}_before_parse (void)
{
#ifndef TARGET_ /* I.e., if not generic. */
ldfile_set_output_arch ("`echo ${ARCH}`");
@@ -58,7 +54,7 @@ gld${EMULATION_NAME}_before_parse ()
time. */
static void
-gld${EMULATION_NAME}_after_open ()
+gld${EMULATION_NAME}_after_open (void)
{
bfd *abfd;
@@ -111,13 +107,10 @@ gld${EMULATION_NAME}_after_open ()
relocs. This is called via bfd_map_over_sections. */
static void
-check_sections (abfd, sec, datasec)
- bfd *abfd;
- asection *sec;
- PTR datasec;
+check_sections (bfd *abfd, asection *sec, void *datasec)
{
if ((bfd_get_section_flags (abfd, sec) & SEC_DATA)
- && sec != (asection *) datasec
+ && sec != datasec
&& sec->reloc_count != 0)
einfo ("%B%X: section %s has relocs; can not use --embedded-relocs\n",
abfd, bfd_get_section_name (abfd, sec));
@@ -128,7 +121,7 @@ check_sections (abfd, sec, datasec)
BFD backend routine to do the work. */
static void
-gld${EMULATION_NAME}_after_allocation ()
+gld${EMULATION_NAME}_after_allocation (void)
{
bfd *abfd;
@@ -164,8 +157,7 @@ gld${EMULATION_NAME}_after_allocation ()
}
static char *
-gld${EMULATION_NAME}_get_script(isfile)
- int *isfile;
+gld${EMULATION_NAME}_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
@@ -176,7 +168,7 @@ then
sc="-f stringify.sed"
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 0;
if (link_info.relocatable && config.build_constructors)
@@ -197,7 +189,7 @@ else
# Scripts read from the filesystem.
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 1;
if (link_info.relocatable && config.build_constructors)
@@ -217,7 +209,7 @@ fi
cat >>e${EMULATION_NAME}.c <<EOF
-struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
+struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
{
gld${EMULATION_NAME}_before_parse,
syslib_default,
diff --git a/ld/emultempl/m68kelf.em b/ld/emultempl/m68kelf.em
index 0bc20ef..64d4aa8 100644
--- a/ld/emultempl/m68kelf.em
+++ b/ld/emultempl/m68kelf.em
@@ -31,16 +31,14 @@ esac
cat >>e${EMULATION_NAME}.c <<EOF
-static void m68k_elf_after_open PARAMS ((void));
#ifdef SUPPORT_EMBEDDED_RELOCS
-static void check_sections PARAMS ((bfd *, asection *, PTR));
+static void check_sections (bfd *, asection *, void *);
#endif
-static void m68k_elf_after_allocation PARAMS ((void));
/* This function is run after all the input files have been opened. */
static void
-m68k_elf_after_open ()
+m68k_elf_after_open (void)
{
/* Call the standard elf routine. */
gld${EMULATION_NAME}_after_open ();
@@ -106,10 +104,7 @@ m68k_elf_after_open ()
relocs. This is called via bfd_map_over_sections. */
static void
-check_sections (abfd, sec, datasec)
- bfd *abfd;
- asection *sec;
- PTR datasec;
+check_sections (bfd *abfd, asection *sec, PTR datasec)
{
if ((bfd_get_section_flags (abfd, sec) & SEC_DATA)
&& sec != (asection *) datasec
@@ -124,7 +119,7 @@ check_sections (abfd, sec, datasec)
been set. */
static void
-m68k_elf_after_allocation ()
+m68k_elf_after_allocation (void)
{
/* Call the standard elf routine. */
after_allocation_default ();
diff --git a/ld/emultempl/mipsecoff.em b/ld/emultempl/mipsecoff.em
index 89ca5c6..c0e8093 100644
--- a/ld/emultempl/mipsecoff.em
+++ b/ld/emultempl/mipsecoff.em
@@ -1,6 +1,6 @@
# This shell script emits a C file. -*- C -*-
# It does some substitutions.
-if [ -z "$MACHINE" ]; then
+if [ -z "$MACHINE" ]; then
OUTPUT_ARCH=${ARCH}
else
OUTPUT_ARCH=${ARCH}:${MACHINE}
@@ -44,14 +44,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ldfile.h"
#include "ldemul.h"
-static void gld${EMULATION_NAME}_before_parse PARAMS ((void));
-static void gld${EMULATION_NAME}_after_open PARAMS ((void));
-static void check_sections PARAMS ((bfd *, asection *, PTR));
-static void gld${EMULATION_NAME}_after_allocation PARAMS ((void));
-static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile));
+static void check_sections (bfd *, asection *, void *);
static void
-gld${EMULATION_NAME}_before_parse()
+gld${EMULATION_NAME}_before_parse (void)
{
#ifndef TARGET_ /* I.e., if not generic. */
const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}");
@@ -74,7 +70,7 @@ gld${EMULATION_NAME}_before_parse()
have been compiled using -membedded-pic. */
static void
-gld${EMULATION_NAME}_after_open ()
+gld${EMULATION_NAME}_after_open (void)
{
bfd *abfd;
@@ -119,7 +115,7 @@ gld${EMULATION_NAME}_after_open ()
/* Double check that all other data sections are empty, as is
required for embedded PIC code. */
- bfd_map_over_sections (abfd, check_sections, (PTR) datasec);
+ bfd_map_over_sections (abfd, check_sections, datasec);
}
}
@@ -127,13 +123,10 @@ gld${EMULATION_NAME}_after_open ()
relocs. This is called via bfd_map_over_sections. */
static void
-check_sections (abfd, sec, sdatasec)
- bfd *abfd;
- asection *sec;
- PTR sdatasec;
+check_sections (bfd *abfd, asection *sec, void *sdatasec)
{
if ((bfd_get_section_flags (abfd, sec) & SEC_CODE) == 0
- && sec != (asection *) sdatasec
+ && sec != sdatasec
&& sec->reloc_count != 0)
einfo ("%B%X: section %s has relocs; can not use --embedded-relocs\n",
abfd, bfd_get_section_name (abfd, sec));
@@ -144,7 +137,7 @@ check_sections (abfd, sec, sdatasec)
BFD backend routine to do the work. */
static void
-gld${EMULATION_NAME}_after_allocation ()
+gld${EMULATION_NAME}_after_allocation (void)
{
bfd *abfd;
@@ -180,8 +173,7 @@ gld${EMULATION_NAME}_after_allocation ()
}
static char *
-gld${EMULATION_NAME}_get_script(isfile)
- int *isfile;
+gld${EMULATION_NAME}_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
@@ -192,7 +184,7 @@ then
sc="-f stringify.sed"
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 0;
if (link_info.relocatable && config.build_constructors)
@@ -213,7 +205,7 @@ else
# Scripts read from the filesystem.
cat >>e${EMULATION_NAME}.c <<EOF
-{
+{
*isfile = 1;
if (link_info.relocatable && config.build_constructors)
@@ -233,7 +225,7 @@ fi
cat >>e${EMULATION_NAME}.c <<EOF
-struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
+struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
{
gld${EMULATION_NAME}_before_parse,
syslib_default,
diff --git a/ld/emultempl/mipself.em b/ld/emultempl/mipself.em
index 944fbe1..a950fb1 100644
--- a/ld/emultempl/mipself.em
+++ b/ld/emultempl/mipself.em
@@ -1,3 +1,4 @@
+# This shell script emits a C file. -*- C -*-
# Copyright 2002, 2003 Free Software Foundation, Inc.
# Written by Mitch Lichtenberg <mpl@broadcom.com> and
# Chris Demetriou <cgd@broadcom.com> based on m68kelf.em and mipsecoff.em.
@@ -17,7 +18,6 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-# This shell script emits a C file. -*- C -*-
# This file is sourced from elf32.em, and defines some extra routines for m68k
@@ -33,17 +33,14 @@ esac
cat >>e${EMULATION_NAME}.c <<EOF
-static void mips_elf${ELFSIZE}_after_open PARAMS ((void));
#ifdef SUPPORT_EMBEDDED_RELOCS
-static void mips_elf${ELFSIZE}_check_sections PARAMS ((bfd *, asection *,
- PTR));
+static void mips_elf${ELFSIZE}_check_sections (bfd *, asection *, void *);
#endif
-static void mips_elf${ELFSIZE}_after_allocation PARAMS ((void));
/* This function is run after all the input files have been opened. */
static void
-mips_elf${ELFSIZE}_after_open()
+mips_elf${ELFSIZE}_after_open (void)
{
/* Call the standard elf routine. */
gld${EMULATION_NAME}_after_open ();
@@ -105,7 +102,7 @@ mips_elf${ELFSIZE}_after_open()
/* Double check that all other data sections have no relocs,
as is required for embedded PIC code. */
bfd_map_over_sections (abfd, mips_elf${ELFSIZE}_check_sections,
- (PTR) datasec);
+ datasec);
}
}
#endif /* SUPPORT_EMBEDDED_RELOCS */
@@ -116,13 +113,10 @@ mips_elf${ELFSIZE}_after_open()
relocs. This is called via bfd_map_over_sections. */
static void
-mips_elf${ELFSIZE}_check_sections (abfd, sec, sdatasec)
- bfd *abfd;
- asection *sec;
- PTR sdatasec;
+mips_elf${ELFSIZE}_check_sections (bfd *abfd, asection *sec, void *sdatasec)
{
if ((bfd_get_section_flags (abfd, sec) & SEC_DATA)
- && sec != (asection *) sdatasec
+ && sec != sdatasec
&& sec->reloc_count != 0)
einfo ("%B%X: section %s has relocs; cannot use --embedded-relocs\n",
abfd, bfd_get_section_name (abfd, sec));
@@ -134,7 +128,7 @@ mips_elf${ELFSIZE}_check_sections (abfd, sec, sdatasec)
BFD backend routine to do the work. */
static void
-mips_elf${ELFSIZE}_after_allocation ()
+mips_elf${ELFSIZE}_after_allocation (void)
{
/* Call the standard elf routine. */
after_allocation_default ();
diff --git a/ld/emultempl/mmix-elfnmmo.em b/ld/emultempl/mmix-elfnmmo.em
index 3a2b870..3668e51 100644
--- a/ld/emultempl/mmix-elfnmmo.em
+++ b/ld/emultempl/mmix-elfnmmo.em
@@ -24,13 +24,10 @@
cat >>e${EMULATION_NAME}.c <<EOF
#include "elf/mmix.h"
-static void mmix_before_allocation PARAMS ((void));
-static void mmix_after_allocation PARAMS ((void));
-
/* Set up handling of linker-allocated global registers. */
static void
-mmix_before_allocation ()
+mmix_before_allocation (void)
{
/* Call the default first. */
gld${EMULATION_NAME}_before_allocation ();
@@ -55,7 +52,7 @@ mmix_before_allocation ()
GREGs. */
static void
-mmix_after_allocation ()
+mmix_after_allocation (void)
{
asection *sec
= bfd_get_section_by_name (output_bfd, MMIX_REG_CONTENTS_SECTION_NAME);
diff --git a/ld/emultempl/mmixelf.em b/ld/emultempl/mmixelf.em
index 80d2d94..7cdae55 100644
--- a/ld/emultempl/mmixelf.em
+++ b/ld/emultempl/mmixelf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2001, 2002 Free Software Foundation, Inc.
+# Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
#
# This file is part of GLD, the Gnu Linker.
#
@@ -26,10 +26,8 @@
cat >>e${EMULATION_NAME}.c <<EOF
#line 29 "${srcdir}/emultempl/elfmmix.em"
-static void elfmmix_before_parse PARAMS ((void));
-
static void
-elfmmix_before_parse ()
+elfmmix_before_parse (void)
{
gld${EMULATION_NAME}_before_parse ();
diff --git a/ld/emultempl/mmo.em b/ld/emultempl/mmo.em
index 84d1197..9e19af1 100644
--- a/ld/emultempl/mmo.em
+++ b/ld/emultempl/mmo.em
@@ -32,22 +32,13 @@ EOF
cat >>e${EMULATION_NAME}.c <<EOF
-static bfd_boolean mmo_place_orphan
- PARAMS ((lang_input_statement_type *, asection *));
-static asection *output_prev_sec_find
- PARAMS ((lang_output_section_statement_type *));
-static void mmo_finish PARAMS ((void));
-static void mmo_wipe_sec_reloc_flag PARAMS ((bfd *, asection *, PTR));
-static void mmo_after_open PARAMS ((void));
-
/* Find the last output section before given output statement.
Used by place_orphan. */
static asection *
-output_prev_sec_find (os)
- lang_output_section_statement_type *os;
+output_prev_sec_find (lang_output_section_statement_type *os)
{
- asection *s = (asection *) NULL;
+ asection *s = NULL;
lang_statement_union_type *u;
lang_output_section_statement_type *lookup;
@@ -85,9 +76,7 @@ struct orphan_save {
from elf32.em. */
static bfd_boolean
-mmo_place_orphan (file, s)
- lang_input_statement_type *file;
- asection *s;
+mmo_place_orphan (lang_input_statement_type *file, asection *s)
{
static struct orphan_save hold_text;
struct orphan_save *place;
@@ -227,10 +216,7 @@ mmo_place_orphan (file, s)
paper over the bug similarly. */
static void
-mmo_wipe_sec_reloc_flag (abfd, sec, ptr)
- bfd *abfd;
- asection *sec;
- PTR ptr ATTRIBUTE_UNUSED;
+mmo_wipe_sec_reloc_flag (bfd *abfd, asection *sec, void *ptr ATTRIBUTE_UNUSED)
{
bfd_set_section_flags (abfd, sec,
bfd_get_section_flags (abfd, sec) & ~SEC_RELOC);
@@ -239,7 +225,7 @@ mmo_wipe_sec_reloc_flag (abfd, sec, ptr)
/* Iterate with bfd_map_over_sections over mmo_wipe_sec_reloc_flag... */
static void
-mmo_finish ()
+mmo_finish (void)
{
bfd_map_over_sections (output_bfd, mmo_wipe_sec_reloc_flag, NULL);
}
@@ -251,7 +237,7 @@ mmo_finish ()
when all input files are seen, which is equivalent. */
static void
-mmo_after_open ()
+mmo_after_open (void)
{
/* When there's a mismatch between the output format and the emulation
(using weird combinations like "-m mmo --oformat elf64-mmix" for
diff --git a/ld/emultempl/needrelax.em b/ld/emultempl/needrelax.em
index 5e052c0..65e622b 100644
--- a/ld/emultempl/needrelax.em
+++ b/ld/emultempl/needrelax.em
@@ -25,10 +25,8 @@ LDEMUL_BEFORE_ALLOCATION=need_relax_${EMULATION_NAME}_before_allocation
cat >>e${EMULATION_NAME}.c <<EOF
-static void need_relax_${EMULATION_NAME}_before_allocation PARAMS ((void));
-
static void
-need_relax_${EMULATION_NAME}_before_allocation ()
+need_relax_${EMULATION_NAME}_before_allocation (void)
{
/* Call main function; we're just extending it. */
gld${EMULATION_NAME}_before_allocation ();
diff --git a/ld/emultempl/netbsd.em b/ld/emultempl/netbsd.em
index 891a879..b252515 100644
--- a/ld/emultempl/netbsd.em
+++ b/ld/emultempl/netbsd.em
@@ -1,9 +1,8 @@
LDEMUL_BEFORE_PARSE=gldnetbsd_before_parse
-cat >>e${EMULATION_NAME}.c <<EOF
-static void gldnetbsd_before_parse PARAMS ((void));
+cat >>e${EMULATION_NAME}.c <<EOF
static void
-gldnetbsd_before_parse ()
+gldnetbsd_before_parse (void)
{
gld${EMULATION_NAME}_before_parse ();
link_info.common_skip_ar_aymbols = bfd_link_common_skip_text;
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 9197bd0..bed23c3 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -103,44 +103,6 @@ cat >>e${EMULATION_NAME}.c <<EOF
#define PE_DEF_FILE_ALIGNMENT 0x00000200
#endif
-static void gld_${EMULATION_NAME}_set_symbols PARAMS ((void));
-static void gld_${EMULATION_NAME}_after_open PARAMS ((void));
-static void gld_${EMULATION_NAME}_before_parse PARAMS ((void));
-static void gld_${EMULATION_NAME}_after_parse PARAMS ((void));
-static void gld_${EMULATION_NAME}_before_allocation PARAMS ((void));
-static asection *output_prev_sec_find
- PARAMS ((lang_output_section_statement_type *));
-static bfd_boolean gld_${EMULATION_NAME}_place_orphan
- PARAMS ((lang_input_statement_type *, asection *));
-static char *gld_${EMULATION_NAME}_get_script PARAMS ((int *));
-static void gld_${EMULATION_NAME}_finish PARAMS ((void));
-static bfd_boolean gld_${EMULATION_NAME}_open_dynamic_archive
- PARAMS ((const char *, search_dirs_type *, lang_input_statement_type *));
-static void gld${EMULATION_NAME}_add_options
- PARAMS ((int, char **, int, struct option **, int, struct option **));
-static bfd_boolean gld${EMULATION_NAME}_handle_option PARAMS ((int));
-static void gld_${EMULATION_NAME}_list_options PARAMS ((FILE *));
-static void set_pe_name PARAMS ((char *, long));
-static void set_pe_subsystem PARAMS ((void));
-static void set_pe_value PARAMS ((char *));
-static void set_pe_stack_heap PARAMS ((char *, char *));
-
-#ifdef DLL_SUPPORT
-static bfd_boolean pe_undef_cdecl_match
- PARAMS ((struct bfd_link_hash_entry *, PTR));
-static void pe_fixup_stdcalls PARAMS ((void));
-static int make_import_fixup PARAMS ((arelent *, asection *));
-static void pe_find_data_imports PARAMS ((void));
-#endif
-
-static bfd_boolean pr_sym PARAMS ((struct bfd_hash_entry *, PTR));
-static bfd_boolean gld_${EMULATION_NAME}_unrecognized_file
- PARAMS ((lang_input_statement_type *));
-static bfd_boolean gld_${EMULATION_NAME}_recognized_file
- PARAMS ((lang_input_statement_type *));
-static int gld_${EMULATION_NAME}_find_potential_libraries
- PARAMS ((char *, lang_input_statement_type *));
-
static struct internal_extra_pe_aouthdr pe;
static int dll;
@@ -159,7 +121,7 @@ static char *pe_dll_search_prefix = NULL;
extern const char *output_filename;
static void
-gld_${EMULATION_NAME}_before_parse()
+gld_${EMULATION_NAME}_before_parse (void)
{
const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}");
if (arch)
@@ -201,8 +163,8 @@ gld_${EMULATION_NAME}_before_parse()
#define OPTION_MINOR_OS_VERSION (OPTION_MINOR_IMAGE_VERSION + 1)
#define OPTION_MINOR_SUBSYSTEM_VERSION (OPTION_MINOR_OS_VERSION + 1)
#define OPTION_SECTION_ALIGNMENT (OPTION_MINOR_SUBSYSTEM_VERSION + 1)
-#define OPTION_STACK (OPTION_SECTION_ALIGNMENT + 1)
-#define OPTION_SUBSYSTEM (OPTION_STACK + 1)
+#define OPTION_STACK (OPTION_SECTION_ALIGNMENT + 1)
+#define OPTION_SUBSYSTEM (OPTION_STACK + 1)
#define OPTION_HEAP (OPTION_SUBSYSTEM + 1)
#define OPTION_SUPPORT_OLD_CODE (OPTION_HEAP + 1)
#define OPTION_OUT_DEF (OPTION_SUPPORT_OLD_CODE + 1)
@@ -230,13 +192,10 @@ gld_${EMULATION_NAME}_before_parse()
(OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC + 1)
static void
-gld${EMULATION_NAME}_add_options (ns, shortopts, nl, longopts, nrl, really_longopts)
- int ns ATTRIBUTE_UNUSED;
- char **shortopts ATTRIBUTE_UNUSED;
- int nl;
- struct option **longopts;
- int nrl ATTRIBUTE_UNUSED;
- struct option **really_longopts ATTRIBUTE_UNUSED;
+gld${EMULATION_NAME}_add_options
+ (int ns ATTRIBUTE_UNUSED, char **shortopts ATTRIBUTE_UNUSED, int nl,
+ struct option **longopts, int nrl ATTRIBUTE_UNUSED,
+ struct option **really_longopts ATTRIBUTE_UNUSED)
{
static const struct option xtra_long[] = {
/* PE options */
@@ -336,8 +295,7 @@ static definfo init[] =
static void
-gld_${EMULATION_NAME}_list_options (file)
- FILE * file;
+gld_${EMULATION_NAME}_list_options (FILE *file)
{
fprintf (file, _(" --base_file <basefile> Generate a base file for relocatable DLLs\n"));
fprintf (file, _(" --dll Set image base to the default for DLLs\n"));
@@ -389,9 +347,7 @@ gld_${EMULATION_NAME}_list_options (file)
static void
-set_pe_name (name, val)
- char *name;
- long val;
+set_pe_name (char *name, long val)
{
int i;
@@ -410,7 +366,7 @@ set_pe_name (name, val)
static void
-set_pe_subsystem ()
+set_pe_subsystem (void)
{
const char *sver;
int len;
@@ -494,9 +450,7 @@ set_pe_subsystem ()
static void
-set_pe_value (name)
- char *name;
-
+set_pe_value (char *name)
{
char *end;
@@ -510,9 +464,7 @@ set_pe_value (name)
static void
-set_pe_stack_heap (resname, comname)
- char *resname;
- char *comname;
+set_pe_stack_heap (char *resname, char *comname)
{
set_pe_value (resname);
@@ -527,8 +479,7 @@ set_pe_stack_heap (resname, comname)
static bfd_boolean
-gld${EMULATION_NAME}_handle_option (optc)
- int optc;
+gld${EMULATION_NAME}_handle_option (int optc)
{
switch (optc)
{
@@ -536,7 +487,7 @@ gld${EMULATION_NAME}_handle_option (optc)
return FALSE;
case OPTION_BASE_FILE:
- link_info.base_file = (PTR) fopen (optarg, FOPEN_WB);
+ link_info.base_file = fopen (optarg, FOPEN_WB);
if (link_info.base_file == NULL)
{
/* xgettext:c-format */
@@ -697,7 +648,7 @@ compute_dll_image_base (const char *ofile)
read. */
static void
-gld_${EMULATION_NAME}_set_symbols ()
+gld_${EMULATION_NAME}_set_symbols (void)
{
/* Run through and invent symbols for all the
names and insert the defaults. */
@@ -761,7 +712,7 @@ gld_${EMULATION_NAME}_set_symbols ()
have been read. */
static void
-gld_${EMULATION_NAME}_after_parse ()
+gld_${EMULATION_NAME}_after_parse (void)
{
/* The Windows libraries are designed for the linker to treat the
entry point as an undefined symbol. Otherwise, the .obj that
@@ -791,13 +742,12 @@ char * pe_data_import_dll;
static struct bfd_link_hash_entry *pe_undef_found_sym;
static bfd_boolean
-pe_undef_cdecl_match (h, string)
- struct bfd_link_hash_entry *h;
- PTR string;
+pe_undef_cdecl_match (struct bfd_link_hash_entry *h, void *inf)
{
int sl;
+ char *string = inf;
- sl = strlen (string); /* Silence compiler warning. */
+ sl = strlen (string);
if (h->type == bfd_link_hash_defined
&& strncmp (h->root.string, string, sl) == 0
&& h->root.string[sl] == '@')
@@ -809,7 +759,7 @@ pe_undef_cdecl_match (h, string)
}
static void
-pe_fixup_stdcalls ()
+pe_fixup_stdcalls (void)
{
static int gave_warning_message = 0;
struct bfd_link_hash_entry *undef, *sym;
@@ -858,7 +808,7 @@ pe_fixup_stdcalls ()
symbols - which means scanning the whole symbol table. */
pe_undef_found_sym = 0;
bfd_link_hash_traverse (link_info.hash, pe_undef_cdecl_match,
- (PTR) undef->root.string);
+ (char *) undef->root.string);
sym = pe_undef_found_sym;
if (sym)
{
@@ -883,9 +833,7 @@ pe_fixup_stdcalls ()
}
static int
-make_import_fixup (rel, s)
- arelent *rel;
- asection *s;
+make_import_fixup (arelent *rel, asection *s)
{
struct symbol_cache_entry *sym = *rel->sym_ptr_ptr;
int addend = 0;
@@ -904,7 +852,7 @@ make_import_fixup (rel, s)
}
static void
-pe_find_data_imports ()
+pe_find_data_imports (void)
{
struct bfd_link_hash_entry *undef, *sym;
@@ -971,19 +919,17 @@ pe_find_data_imports ()
#endif /* DLL_SUPPORT */
static bfd_boolean
-pr_sym (h, string)
- struct bfd_hash_entry *h;
- PTR string ATTRIBUTE_UNUSED;
+pr_sym (struct bfd_hash_entry *h, void *inf ATTRIBUTE_UNUSED)
{
if (pe_dll_extra_pe_debug)
- printf ("+%s\n",h->string);
+ printf ("+%s\n", h->string);
return TRUE;
}
static void
-gld_${EMULATION_NAME}_after_open ()
+gld_${EMULATION_NAME}_after_open (void)
{
if (pe_dll_extra_pe_debug)
{
@@ -994,7 +940,7 @@ gld_${EMULATION_NAME}_after_open ()
for (sym = link_info.hash->undefs; sym; sym=sym->next)
printf ("-%s\n", sym->root.string);
- bfd_hash_traverse (&link_info.hash->table, pr_sym,NULL);
+ bfd_hash_traverse (&link_info.hash->table, pr_sym, NULL);
for (a = link_info.input_bfds; a; a = a->link_next)
printf ("*%s\n",a->filename);
@@ -1229,7 +1175,7 @@ gld_${EMULATION_NAME}_after_open ()
}
static void
-gld_${EMULATION_NAME}_before_allocation ()
+gld_${EMULATION_NAME}_before_allocation (void)
{
#ifdef TARGET_IS_ppcpe
/* Here we rummage through the found bfds to collect toc information. */
@@ -1278,7 +1224,7 @@ gld_${EMULATION_NAME}_before_allocation ()
check here for .DEF files and pull them in automatically. */
static int
-saw_option (char * option)
+saw_option (char *option)
{
int i;
@@ -1290,8 +1236,7 @@ saw_option (char * option)
#endif /* DLL_SUPPORT */
static bfd_boolean
-gld_${EMULATION_NAME}_unrecognized_file (entry)
- lang_input_statement_type *entry ATTRIBUTE_UNUSED;
+gld_${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIBUTE_UNUSED)
{
#ifdef DLL_SUPPORT
const char *ext = entry->filename + strlen (entry->filename) - 4;
@@ -1380,8 +1325,7 @@ gld_${EMULATION_NAME}_unrecognized_file (entry)
}
static bfd_boolean
-gld_${EMULATION_NAME}_recognized_file (entry)
- lang_input_statement_type *entry ATTRIBUTE_UNUSED;
+gld_${EMULATION_NAME}_recognized_file (lang_input_statement_type *entry ATTRIBUTE_UNUSED)
{
#ifdef DLL_SUPPORT
#ifdef TARGET_IS_i386pe
@@ -1414,7 +1358,7 @@ gld_${EMULATION_NAME}_recognized_file (entry)
}
static void
-gld_${EMULATION_NAME}_finish ()
+gld_${EMULATION_NAME}_finish (void)
{
#if defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_epoc_pe)
struct bfd_link_hash_entry * h;
@@ -1498,8 +1442,7 @@ gld_${EMULATION_NAME}_finish ()
Used by place_orphan. */
static asection *
-output_prev_sec_find (os)
- lang_output_section_statement_type *os;
+output_prev_sec_find (lang_output_section_statement_type *os)
{
asection *s = (asection *) NULL;
lang_statement_union_type *u;
@@ -1541,9 +1484,7 @@ struct orphan_save
};
static bfd_boolean
-gld_${EMULATION_NAME}_place_orphan (file, s)
- lang_input_statement_type *file;
- asection *s;
+gld_${EMULATION_NAME}_place_orphan (lang_input_statement_type *file, asection *s)
{
const char *secname;
char *hold_section_name;
@@ -1824,10 +1765,9 @@ gld_${EMULATION_NAME}_place_orphan (file, s)
}
static bfd_boolean
-gld_${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
- const char * arch ATTRIBUTE_UNUSED;
- search_dirs_type * search;
- lang_input_statement_type * entry;
+gld_${EMULATION_NAME}_open_dynamic_archive
+ (const char *arch ATTRIBUTE_UNUSED, search_dirs_type *search,
+ lang_input_statement_type *entry)
{
const char * filename;
char * string;
@@ -1915,16 +1855,14 @@ gld_${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
}
static int
-gld_${EMULATION_NAME}_find_potential_libraries (name, entry)
- char * name;
- lang_input_statement_type * entry;
+gld_${EMULATION_NAME}_find_potential_libraries
+ (char *name, lang_input_statement_type *entry)
{
return ldfile_open_file_search (name, entry, "", ".lib");
}
static char *
-gld_${EMULATION_NAME}_get_script (isfile)
- int *isfile;
+gld_${EMULATION_NAME}_get_script (int *isfile)
EOF
# Scripts compiled in.
# sed commands to quote an ld script as a C string.
diff --git a/ld/emultempl/sh64elf.em b/ld/emultempl/sh64elf.em
index 174850f..3c348fd 100644
--- a/ld/emultempl/sh64elf.em
+++ b/ld/emultempl/sh64elf.em
@@ -33,9 +33,6 @@ cat >>e${EMULATION_NAME}.c <<EOF
#include "elf/sh.h"
#include "elf32-sh64.h"
-static void sh64_elf_${EMULATION_NAME}_before_allocation PARAMS ((void));
-static void sh64_elf_${EMULATION_NAME}_after_allocation PARAMS ((void));
-
/* Check if we need a .cranges section and create it if it's not in any
input file. It might seem better to always create it and if unneeded,
discard it, but I don't find a simple way to discard it totally from
@@ -47,7 +44,7 @@ static void sh64_elf_${EMULATION_NAME}_after_allocation PARAMS ((void));
they will be linked. */
static void
-sh64_elf_${EMULATION_NAME}_before_allocation ()
+sh64_elf_${EMULATION_NAME}_before_allocation (void)
{
asection *cranges;
asection *osec;
@@ -240,7 +237,7 @@ sh64_elf_${EMULATION_NAME}_before_allocation ()
/* Size up and extend the .cranges section, merging generated entries. */
static void
-sh64_elf_${EMULATION_NAME}_after_allocation ()
+sh64_elf_${EMULATION_NAME}_after_allocation (void)
{
bfd_vma new_cranges = 0;
bfd_vma cranges_growth = 0;
@@ -384,8 +381,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation ()
/* Make sure we have .cranges in memory even if there were only
assembler-generated .cranges. */
cranges_growth = new_cranges * SH64_CRANGE_SIZE;
- cranges->contents
- = (bfd_byte *) xcalloc (cranges->_raw_size + cranges_growth, 1);
+ cranges->contents = xcalloc (cranges->_raw_size + cranges_growth, 1);
bfd_set_section_flags (cranges->owner, cranges,
bfd_get_section_flags (cranges->owner, cranges)
| SEC_IN_MEMORY);
@@ -507,8 +503,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation ()
- cranges->contents);
cr_addr_order->size = 4;
cr_addr_order->u.reloc.p
- = ((struct bfd_link_order_reloc *)
- xmalloc (sizeof (struct bfd_link_order_reloc)));
+ = xmalloc (sizeof (struct bfd_link_order_reloc));
cr_addr_order->u.reloc.p->reloc = BFD_RELOC_32;
cr_addr_order->u.reloc.p->u.section = osec;
@@ -540,7 +535,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation ()
bfd_put_32 (output_bfd, cr_size,
crangesp + SH64_CRANGE_CR_SIZE_OFFSET);
- bfd_put_16 (output_bfd, (bfd_vma) cr_type,
+ bfd_put_16 (output_bfd, cr_type,
crangesp + SH64_CRANGE_CR_TYPE_OFFSET);
last_cr_type = cr_type;
diff --git a/ld/emultempl/sunos.em b/ld/emultempl/sunos.em
index 2f75b77..912d2f3 100644
--- a/ld/emultempl/sunos.em
+++ b/ld/emultempl/sunos.em
@@ -61,33 +61,27 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# endif
#endif
-static void gld${EMULATION_NAME}_before_parse PARAMS ((void));
-static void gld${EMULATION_NAME}_set_symbols PARAMS ((void));
-static void gld${EMULATION_NAME}_create_output_section_statements
- PARAMS ((void));
static void gld${EMULATION_NAME}_find_so
- PARAMS ((lang_input_statement_type *));
+ (lang_input_statement_type *);
static char *gld${EMULATION_NAME}_search_dir
- PARAMS ((const char *, const char *, bfd_boolean *));
-static void gld${EMULATION_NAME}_after_open PARAMS ((void));
+ (const char *, const char *, bfd_boolean *);
static void gld${EMULATION_NAME}_check_needed
- PARAMS ((lang_input_statement_type *));
+ (lang_input_statement_type *);
static bfd_boolean gld${EMULATION_NAME}_search_needed
- PARAMS ((const char *, const char *));
+ (const char *, const char *);
static bfd_boolean gld${EMULATION_NAME}_try_needed
- PARAMS ((const char *, const char *));
-static void gld${EMULATION_NAME}_before_allocation PARAMS ((void));
+ (const char *, const char *);
static void gld${EMULATION_NAME}_find_assignment
- PARAMS ((lang_statement_union_type *));
-static void gld${EMULATION_NAME}_find_exp_assignment PARAMS ((etree_type *));
+ (lang_statement_union_type *);
+static void gld${EMULATION_NAME}_find_exp_assignment
+ (etree_type *);
static void gld${EMULATION_NAME}_count_need
- PARAMS ((lang_input_statement_type *));
+ (lang_input_statement_type *);
static void gld${EMULATION_NAME}_set_need
- PARAMS ((lang_input_statement_type *));
-static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile));
+ (lang_input_statement_type *);
static void
-gld${EMULATION_NAME}_before_parse()
+gld${EMULATION_NAME}_before_parse (void)
{
const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}");
if (arch)
@@ -108,7 +102,7 @@ gld${EMULATION_NAME}_before_parse()
list. */
static void
-gld${EMULATION_NAME}_set_symbols ()
+gld${EMULATION_NAME}_set_symbols (void)
{
EOF
if [ "x${host}" = "x${target}" ] ; then
@@ -154,7 +148,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
search it after including the .so file. */
static void
-gld${EMULATION_NAME}_create_output_section_statements ()
+gld${EMULATION_NAME}_create_output_section_statements (void)
{
lang_for_each_input_file (gld${EMULATION_NAME}_find_so);
}
@@ -162,8 +156,7 @@ gld${EMULATION_NAME}_create_output_section_statements ()
/* Search the directory for a .so file for each library search. */
static void
-gld${EMULATION_NAME}_find_so (inp)
- lang_input_statement_type *inp;
+gld${EMULATION_NAME}_find_so (lang_input_statement_type *inp)
{
search_dirs_type *search;
char *found = NULL;
@@ -234,10 +227,8 @@ gld${EMULATION_NAME}_find_so (inp)
/* Search a directory for a .so file. */
static char *
-gld${EMULATION_NAME}_search_dir (dirname, filename, found_static)
- const char *dirname;
- const char *filename;
- bfd_boolean *found_static;
+gld${EMULATION_NAME}_search_dir
+ (const char *dirname, const char *filename, bfd_boolean *found_static)
{
int force_maj, force_min;
const char *dot;
@@ -302,9 +293,9 @@ gld${EMULATION_NAME}_search_dir (dirname, filename, found_static)
}
/* We accept libfoo.so without a version number, even though the
- native linker does not. This is more convenient for packages
- which just generate .so files for shared libraries, as on ELF
- systems. */
+ native linker does not. This is more convenient for packages
+ which just generate .so files for shared libraries, as on ELF
+ systems. */
if (strncmp (entry->d_name + 3 + len, ".so", 3) != 0)
continue;
if (entry->d_name[6 + len] == '\0')
@@ -378,7 +369,7 @@ static bfd_boolean global_found;
/* This is called after all the input files have been opened. */
static void
-gld${EMULATION_NAME}_after_open ()
+gld${EMULATION_NAME}_after_open (void)
{
struct bfd_link_needed_list *needed, *l;
@@ -514,9 +505,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
/* Search for a needed file in a path. */
static bfd_boolean
-gld${EMULATION_NAME}_search_needed (path, name)
- const char *path;
- const char *name;
+gld${EMULATION_NAME}_search_needed (const char *path, const char *name)
{
const char *s;
@@ -559,9 +548,7 @@ gld${EMULATION_NAME}_search_needed (path, name)
dynamic object. */
static bfd_boolean
-gld${EMULATION_NAME}_try_needed (dir, name)
- const char *dir;
- const char *name;
+gld${EMULATION_NAME}_try_needed (const char *dir, const char *name)
{
char *file;
char *alc;
@@ -603,8 +590,7 @@ gld${EMULATION_NAME}_try_needed (dir, name)
dynamic object more than once. */
static void
-gld${EMULATION_NAME}_check_needed (s)
- lang_input_statement_type *s;
+gld${EMULATION_NAME}_check_needed (lang_input_statement_type *s)
{
if (s->filename == NULL)
return;
@@ -679,7 +665,7 @@ static bfd_byte *need_pnames;
sections, but before any sizes or addresses have been set. */
static void
-gld${EMULATION_NAME}_before_allocation ()
+gld${EMULATION_NAME}_before_allocation (void)
{
struct bfd_link_hash_entry *hdyn = NULL;
asection *sneed;
@@ -718,7 +704,7 @@ gld${EMULATION_NAME}_before_allocation ()
lang_output_section_statement_type *os;
/* Set the .text section to start at 0x20, not 0x2020. FIXME:
- This is too magical. */
+ This is too magical. */
os = lang_output_section_statement_lookup (".text");
if (os->addr_tree == NULL)
os->addr_tree = exp_intop (0x20);
@@ -842,8 +828,7 @@ gld${EMULATION_NAME}_before_allocation ()
symbols which are referred to by dynamic objects. */
static void
-gld${EMULATION_NAME}_find_assignment (s)
- lang_statement_union_type *s;
+gld${EMULATION_NAME}_find_assignment (lang_statement_union_type *s)
{
if (s->header.type == lang_assignment_statement_enum
&& (find_assign == NULL || ! found_assign))
@@ -853,8 +838,7 @@ gld${EMULATION_NAME}_find_assignment (s)
/* Look through an expression for an assignment statement. */
static void
-gld${EMULATION_NAME}_find_exp_assignment (exp)
- etree_type *exp;
+gld${EMULATION_NAME}_find_exp_assignment (etree_type *exp)
{
switch (exp->type.node_class)
{
@@ -902,8 +886,7 @@ gld${EMULATION_NAME}_find_exp_assignment (exp)
for more information. */
static void
-gld${EMULATION_NAME}_count_need (inp)
- lang_input_statement_type *inp;
+gld${EMULATION_NAME}_count_need (lang_input_statement_type *inp)
{
if (inp->the_bfd != NULL
&& (inp->the_bfd->flags & DYNAMIC) != 0)
@@ -924,8 +907,7 @@ gld${EMULATION_NAME}_count_need (inp)
/* Fill in the contents of the .need section. */
static void
-gld${EMULATION_NAME}_set_need (inp)
- lang_input_statement_type *inp;
+gld${EMULATION_NAME}_set_need (lang_input_statement_type *inp)
{
if (inp->the_bfd != NULL
&& (inp->the_bfd->flags & DYNAMIC) != 0)
@@ -974,8 +956,7 @@ gld${EMULATION_NAME}_set_need (inp)
}
static char *
-gld${EMULATION_NAME}_get_script(isfile)
- int *isfile;
+gld${EMULATION_NAME}_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
diff --git a/ld/emultempl/ticoff.em b/ld/emultempl/ticoff.em
index aca5409..448fea8 100644
--- a/ld/emultempl/ticoff.em
+++ b/ld/emultempl/ticoff.em
@@ -39,24 +39,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
static int coff_version;
-static void gld_${EMULATION_NAME}_before_parse PARAMS ((void));
-static char *gld_${EMULATION_NAME}_get_script PARAMS ((int *));
-static void gld${EMULATION_NAME}_add_options
- PARAMS ((int, char **, int, struct option **, int, struct option **));
-static bfd_boolean gld${EMULATION_NAME}_handle_option PARAMS ((int));
-static void gld_${EMULATION_NAME}_list_options PARAMS ((FILE *));
-
/* TI COFF extra command line options */
#define OPTION_COFF_FORMAT (300 + 1)
static void
-gld${EMULATION_NAME}_add_options (ns, shortopts, nl, longopts, nrl, really_longopts)
- int ns ATTRIBUTE_UNUSED;
- char **shortopts ATTRIBUTE_UNUSED;
- int nl;
- struct option **longopts;
- int nrl ATTRIBUTE_UNUSED;
- struct option **really_longopts ATTRIBUTE_UNUSED;
+gld${EMULATION_NAME}_add_options
+ (int ns ATTRIBUTE_UNUSED, char **shortopts ATTRIBUTE_UNUSED, int nl,
+ struct option **longopts, int nrl ATTRIBUTE_UNUSED,
+ struct option **really_longopts ATTRIBUTE_UNUSED)
{
static const struct option xtra_long[] = {
/* TI COFF options */
@@ -70,15 +60,13 @@ gld${EMULATION_NAME}_add_options (ns, shortopts, nl, longopts, nrl, really_longo
}
static void
-gld_${EMULATION_NAME}_list_options (file)
- FILE * file;
+gld_${EMULATION_NAME}_list_options (FILE * file)
{
fprintf (file, _(" --format 0|1|2 Specify which COFF version to use"));
}
static bfd_boolean
-gld${EMULATION_NAME}_handle_option (optc)
- int optc;
+gld${EMULATION_NAME}_handle_option (int optc)
{
switch (optc)
{
@@ -106,7 +94,7 @@ gld${EMULATION_NAME}_handle_option (optc)
}
static void
-gld_${EMULATION_NAME}_before_parse()
+gld_${EMULATION_NAME}_before_parse(void)
{
#ifndef TARGET_ /* I.e., if not generic. */
ldfile_set_output_arch ("`echo ${ARCH}`");
@@ -114,8 +102,7 @@ gld_${EMULATION_NAME}_before_parse()
}
static char *
-gld_${EMULATION_NAME}_get_script (isfile)
- int *isfile;
+gld_${EMULATION_NAME}_get_script (int *isfile)
EOF
if test -n "$COMPILE_IN"
then
diff --git a/ld/emultempl/vanilla.em b/ld/emultempl/vanilla.em
index 8d4f6d4..2141083 100644
--- a/ld/emultempl/vanilla.em
+++ b/ld/emultempl/vanilla.em
@@ -35,17 +35,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ldfile.h"
#include "ldemul.h"
-static void vanilla_before_parse PARAMS ((void));
-static void vanilla_set_output_arch PARAMS ((void));
-static char *vanilla_get_script PARAMS ((int *));
-
-
-static void vanilla_before_parse()
+static void vanilla_before_parse (void)
{
}
static void
-vanilla_set_output_arch()
+vanilla_set_output_arch (void)
{
/* Set the output architecture and machine if possible */
unsigned long machine = 0;
@@ -53,14 +48,13 @@ vanilla_set_output_arch()
}
static char *
-vanilla_get_script(isfile)
- int *isfile;
+vanilla_get_script (int *isfile)
{
*isfile = 0;
return "";
}
-struct ld_emulation_xfer_struct ld_vanilla_emulation =
+struct ld_emulation_xfer_struct ld_vanilla_emulation =
{
vanilla_before_parse,
syslib_default,
diff --git a/ld/emultempl/xtensaelf.em b/ld/emultempl/xtensaelf.em
index bc91365..8762920 100644
--- a/ld/emultempl/xtensaelf.em
+++ b/ld/emultempl/xtensaelf.em
@@ -26,22 +26,8 @@ cat >>e${EMULATION_NAME}.c <<EOF
#include <xtensa-config.h>
-static char *elf_xtensa_choose_target
- PARAMS ((int, char **));
-static bfd_boolean elf_xtensa_place_orphan
- PARAMS ((lang_input_statement_type *, asection *));
-static void elf_xtensa_before_parse
- PARAMS ((void));
-static void elf_xtensa_before_allocation
- PARAMS ((void));
-static void xtensa_wild_group_interleave
- PARAMS ((lang_statement_union_type *));
-static void xtensa_wild_group_interleave_callback
- PARAMS ((lang_statement_union_type *));
-static void xtensa_colocate_output_literals
- PARAMS ((lang_statement_union_type *));
-static void xtensa_colocate_output_literals_callback
- PARAMS ((lang_statement_union_type *));
+static void xtensa_wild_group_interleave (lang_statement_union_type *);
+static void xtensa_colocate_output_literals (lang_statement_union_type *);
/* Flag for the emulation-specific "--no-relax" option. */
@@ -58,9 +44,8 @@ static bfd_boolean xtensa_use_literal_pages = FALSE;
static char *
-elf_xtensa_choose_target (argc, argv)
- int argc ATTRIBUTE_UNUSED;
- char **argv ATTRIBUTE_UNUSED;
+elf_xtensa_choose_target (int argc ATTRIBUTE_UNUSED,
+ char **argv ATTRIBUTE_UNUSED)
{
if (XCHAL_HAVE_BE)
return "${BIG_OUTPUT_FORMAT}";
@@ -70,9 +55,7 @@ elf_xtensa_choose_target (argc, argv)
static bfd_boolean
-elf_xtensa_place_orphan (file, s)
- lang_input_statement_type *file;
- asection *s;
+elf_xtensa_place_orphan (lang_input_statement_type *file, asection *s)
{
/* Early exit for relocatable links. */
if (link_info.relocatable)
@@ -83,7 +66,7 @@ elf_xtensa_place_orphan (file, s)
static void
-elf_xtensa_before_parse ()
+elf_xtensa_before_parse (void)
{
/* Just call the default hook.... Tensilica's version of this function
does some other work that isn't relevant here. */
@@ -94,8 +77,8 @@ elf_xtensa_before_parse ()
/* This is called after the sections have been attached to output
sections, but before any sizes or addresses have been set. */
-void
-elf_xtensa_before_allocation ()
+static void
+elf_xtensa_before_allocation (void)
{
bfd *in_bfd;
bfd_boolean is_big_endian = XCHAL_HAVE_BE;
@@ -143,7 +126,7 @@ elf_xtensa_before_allocation ()
gld${EMULATION_NAME}_before_allocation ();
xtensa_wild_group_interleave (stat_ptr->head);
- if (command_line.relax)
+ if (command_line.relax)
xtensa_colocate_output_literals (stat_ptr->head);
/* TBD: We need to force the page alignments to here and only do
@@ -184,64 +167,29 @@ struct reloc_deps_graph_t
};
static void xtensa_layout_wild
- PARAMS ((const reloc_deps_graph *, lang_wild_statement_type *));
+ (const reloc_deps_graph *, lang_wild_statement_type *);
-typedef void (*deps_callback_t)
- PARAMS ((asection *, /* src_sec */
- bfd_vma, /* src_offset */
- asection *, /* target_sec */
- bfd_vma, /* target_offset */
- PTR)); /* closure */
+typedef void (*deps_callback_t) (asection *, /* src_sec */
+ bfd_vma, /* src_offset */
+ asection *, /* target_sec */
+ bfd_vma, /* target_offset */
+ void *); /* closure */
-static void build_deps_graph_callback
- PARAMS ((asection *, bfd_vma, asection *, bfd_vma, PTR));
extern bfd_boolean xtensa_callback_required_dependence
- PARAMS ((bfd *, asection *, struct bfd_link_info *,
- deps_callback_t, PTR));
+ (bfd *, asection *, struct bfd_link_info *, deps_callback_t, void *);
static void xtensa_ldlang_clear_addresses
- PARAMS ((lang_statement_union_type *));
+ (lang_statement_union_type *);
static bfd_boolean ld_local_file_relocations_fit
- PARAMS ((lang_statement_union_type *, const reloc_deps_graph *));
+ (lang_statement_union_type *, const reloc_deps_graph *);
static bfd_vma ld_assign_relative_paged_dot
- PARAMS ((bfd_vma, lang_statement_union_type *,
- const reloc_deps_graph *, bfd_boolean));
+ (bfd_vma, lang_statement_union_type *, const reloc_deps_graph *,
+ bfd_boolean);
static bfd_vma ld_xtensa_insert_page_offsets
- PARAMS ((bfd_vma, lang_statement_union_type *, reloc_deps_graph *,
- bfd_boolean));
-static void lang_for_each_statement_worker
- PARAMS ((void (*) (lang_statement_union_type *),
- lang_statement_union_type *));
-static void xtensa_move_dependencies_to_front
- PARAMS ((reloc_deps_graph *, lang_wild_statement_type *));
-static reloc_deps_graph *ld_build_required_section_dependence
- PARAMS ((lang_statement_union_type *));
-static bfd_boolean section_is_source
- PARAMS ((const reloc_deps_graph *, lang_statement_union_type *));
-static bfd_boolean section_is_target
- PARAMS ((const reloc_deps_graph *, lang_statement_union_type *));
-static bfd_boolean section_is_source_or_target
- PARAMS ((const reloc_deps_graph *, lang_statement_union_type *));
-static bfd_boolean deps_has_sec_edge
- PARAMS ((const reloc_deps_graph *, asection *, asection *));
-static bfd_boolean deps_has_edge
- PARAMS ((const reloc_deps_graph *, lang_statement_union_type *,
- lang_statement_union_type *));
-static void add_deps_edge
- PARAMS ((reloc_deps_graph *, asection *, asection *));
+ (bfd_vma, lang_statement_union_type *, reloc_deps_graph *, bfd_boolean);
#if EXTRA_VALIDATION
static size_t ld_count_children
- PARAMS ((lang_statement_union_type *));
+ (lang_statement_union_type *);
#endif
-static void free_reloc_deps_graph
- PARAMS ((reloc_deps_graph *));
-static void xtensa_colocate_literals
- PARAMS ((reloc_deps_graph *, lang_statement_union_type *));
-static reloc_deps_section *xtensa_get_section_deps
- PARAMS ((const reloc_deps_graph *, asection *));
-static void xtensa_set_section_deps
- PARAMS ((const reloc_deps_graph *, asection *, reloc_deps_section *));
-static void xtensa_append_section_deps
- PARAMS ((reloc_deps_graph *, asection *));
extern lang_statement_list_type constructor_list;
@@ -250,99 +198,94 @@ extern lang_statement_list_type constructor_list;
there statically. */
static void
-lang_for_each_statement_worker (func, s)
- void (*func) PARAMS ((lang_statement_union_type *));
- lang_statement_union_type *s;
+lang_for_each_statement_worker (void (*func) (lang_statement_union_type *),
+ lang_statement_union_type *s)
{
for (; s != (lang_statement_union_type *) NULL; s = s->header.next)
{
func (s);
switch (s->header.type)
- {
- case lang_constructors_statement_enum:
- lang_for_each_statement_worker (func, constructor_list.head);
- break;
- case lang_output_section_statement_enum:
- lang_for_each_statement_worker
- (func,
- s->output_section_statement.children.head);
- break;
- case lang_wild_statement_enum:
- lang_for_each_statement_worker
- (func,
- s->wild_statement.children.head);
- break;
- case lang_group_statement_enum:
- lang_for_each_statement_worker (func,
- s->group_statement.children.head);
- break;
- case lang_data_statement_enum:
- case lang_reloc_statement_enum:
- case lang_object_symbols_statement_enum:
- case lang_output_statement_enum:
- case lang_target_statement_enum:
- case lang_input_section_enum:
- case lang_input_statement_enum:
- case lang_assignment_statement_enum:
- case lang_padding_statement_enum:
- case lang_address_statement_enum:
- case lang_fill_statement_enum:
- break;
- default:
- FAIL ();
- break;
- }
+ {
+ case lang_constructors_statement_enum:
+ lang_for_each_statement_worker (func, constructor_list.head);
+ break;
+ case lang_output_section_statement_enum:
+ lang_for_each_statement_worker
+ (func,
+ s->output_section_statement.children.head);
+ break;
+ case lang_wild_statement_enum:
+ lang_for_each_statement_worker
+ (func,
+ s->wild_statement.children.head);
+ break;
+ case lang_group_statement_enum:
+ lang_for_each_statement_worker (func,
+ s->group_statement.children.head);
+ break;
+ case lang_data_statement_enum:
+ case lang_reloc_statement_enum:
+ case lang_object_symbols_statement_enum:
+ case lang_output_statement_enum:
+ case lang_target_statement_enum:
+ case lang_input_section_enum:
+ case lang_input_statement_enum:
+ case lang_assignment_statement_enum:
+ case lang_padding_statement_enum:
+ case lang_address_statement_enum:
+ case lang_fill_statement_enum:
+ break;
+ default:
+ FAIL ();
+ break;
+ }
}
}
/* End of verbatim code from ldlang.c. */
-reloc_deps_section *
-xtensa_get_section_deps (deps, sec)
- const reloc_deps_graph *deps ATTRIBUTE_UNUSED;
- asection *sec;
+static reloc_deps_section *
+xtensa_get_section_deps (const reloc_deps_graph *deps ATTRIBUTE_UNUSED,
+ asection *sec)
{
/* We have a separate function for this so that
we could in the future keep a completely independent
structure that maps a section to its dependence edges.
For now, we place these in the sec->userdata field. */
- reloc_deps_section *sec_deps = (reloc_deps_section *) sec->userdata;
+ reloc_deps_section *sec_deps = sec->userdata;
return sec_deps;
}
-void
-xtensa_set_section_deps (deps, sec, deps_section)
- const reloc_deps_graph *deps ATTRIBUTE_UNUSED;
- asection *sec;
- reloc_deps_section *deps_section;
+static void
+xtensa_set_section_deps (const reloc_deps_graph *deps ATTRIBUTE_UNUSED,
+ asection *sec,
+ reloc_deps_section *deps_section)
{
- sec->userdata = (void *) deps_section;
+ sec->userdata = deps_section;
}
/* This is used to keep a list of all of the sections participating in
the graph so we can clean them up quickly. */
-static void
-xtensa_append_section_deps (deps, sec)
- reloc_deps_graph *deps;
- asection *sec;
+static void
+xtensa_append_section_deps (reloc_deps_graph *deps, asection *sec)
{
if (deps->size <= deps->count)
{
asection **new_sections;
size_t i;
size_t new_size;
-
+
new_size = deps->size * 2;
if (new_size == 0)
new_size = 20;
-
- new_sections = (asection**) xmalloc (sizeof (asection*) * new_size);
- memset (new_sections, 0, sizeof (asection*) * new_size);
- for (i = 0; i < deps->count; i++)
+
+ new_sections = xmalloc (sizeof (asection *) * new_size);
+ memset (new_sections, 0, sizeof (asection *) * new_size);
+ for (i = 0; i < deps->count; i++)
{
new_sections[i] = deps->sections[i];
}
@@ -356,9 +299,8 @@ xtensa_append_section_deps (deps, sec)
}
-static void
-free_reloc_deps_graph (deps)
- reloc_deps_graph *deps;
+static void
+free_reloc_deps_graph (reloc_deps_graph *deps)
{
size_t i;
for (i = 0; i < deps->count; i++)
@@ -366,7 +308,7 @@ free_reloc_deps_graph (deps)
asection *sec = deps->sections[i];
reloc_deps_section *sec_deps;
sec_deps = xtensa_get_section_deps (deps, sec);
- if (sec_deps)
+ if (sec_deps)
{
reloc_deps_e *next;
while (sec_deps->succs != NULL)
@@ -375,7 +317,7 @@ free_reloc_deps_graph (deps)
free (sec_deps->succs);
sec_deps->succs = next;
}
-
+
while (sec_deps->preds != NULL)
{
next = sec_deps->preds->next;
@@ -393,10 +335,9 @@ free_reloc_deps_graph (deps)
}
-bfd_boolean
-section_is_source (deps, s)
- const reloc_deps_graph *deps ATTRIBUTE_UNUSED;
- lang_statement_union_type *s;
+static bfd_boolean
+section_is_source (const reloc_deps_graph *deps ATTRIBUTE_UNUSED,
+ lang_statement_union_type *s)
{
asection *sec;
const reloc_deps_section *sec_deps;
@@ -406,14 +347,13 @@ section_is_source (deps, s)
sec = s->input_section.section;
sec_deps = xtensa_get_section_deps (deps, sec);
- return (sec_deps && sec_deps->succs != NULL);
+ return sec_deps && sec_deps->succs != NULL;
}
-bfd_boolean
-section_is_target (deps, s)
- const reloc_deps_graph *deps ATTRIBUTE_UNUSED;
- lang_statement_union_type *s;
+static bfd_boolean
+section_is_target (const reloc_deps_graph *deps ATTRIBUTE_UNUSED,
+ lang_statement_union_type *s)
{
asection *sec;
const reloc_deps_section *sec_deps;
@@ -423,13 +363,12 @@ section_is_target (deps, s)
sec = s->input_section.section;
sec_deps = xtensa_get_section_deps (deps, sec);
- return (sec_deps && sec_deps->preds != NULL);
+ return sec_deps && sec_deps->preds != NULL;
}
-bfd_boolean
-section_is_source_or_target (deps, s)
- const reloc_deps_graph *deps ATTRIBUTE_UNUSED;
- lang_statement_union_type *s;
+static bfd_boolean
+section_is_source_or_target (const reloc_deps_graph *deps ATTRIBUTE_UNUSED,
+ lang_statement_union_type *s)
{
return (section_is_source (deps, s)
|| section_is_target (deps, s));
@@ -449,19 +388,14 @@ struct xtensa_ld_iter_t
struct xtensa_ld_iter_stack_t
{
xtensa_ld_iter iterloc; /* List that hold it. */
-
+
xtensa_ld_iter_stack *next; /* Next in the stack. */
xtensa_ld_iter_stack *prev; /* Back pointer for stack. */
};
-static void ld_xtensa_move_section_after
- PARAMS ((xtensa_ld_iter *, xtensa_ld_iter *));
-
-void
-ld_xtensa_move_section_after (to, current)
- xtensa_ld_iter *to;
- xtensa_ld_iter *current;
+static void
+ld_xtensa_move_section_after (xtensa_ld_iter *to, xtensa_ld_iter *current)
{
lang_statement_union_type *to_next;
lang_statement_union_type *current_next;
@@ -474,7 +408,7 @@ ld_xtensa_move_section_after (to, current)
if (to == current)
return;
-
+
#if EXTRA_VALIDATION
old_to_count = ld_count_children (to->parent);
old_current_count = ld_count_children (current->parent);
@@ -482,9 +416,9 @@ ld_xtensa_move_section_after (to, current)
to_next = *(to->loc);
current_next = (*current->loc)->header.next;
-
+
*(to->loc) = *(current->loc);
-
+
*(current->loc) = current_next;
(*(to->loc))->header.next = to_next;
@@ -502,7 +436,7 @@ ld_xtensa_move_section_after (to, current)
new_to_count = ld_count_children (to->parent);
new_current_count = ld_count_children (current->parent);
- ASSERT ((old_to_count + old_current_count)
+ ASSERT ((old_to_count + old_current_count)
== (new_to_count + new_current_count));
#endif
}
@@ -511,41 +445,21 @@ ld_xtensa_move_section_after (to, current)
/* Can only be called with lang_statements that have lists. Returns
false if the list is empty. */
-static bfd_boolean iter_stack_empty
- PARAMS ((xtensa_ld_iter_stack **));
-static bfd_boolean iter_stack_push
- PARAMS ((xtensa_ld_iter_stack **, lang_statement_union_type *));
-static void iter_stack_pop
- PARAMS ((xtensa_ld_iter_stack **));
-static void iter_stack_update
- PARAMS ((xtensa_ld_iter_stack **));
-static void iter_stack_next
- PARAMS ((xtensa_ld_iter_stack **));
-static lang_statement_union_type *iter_stack_current
- PARAMS ((xtensa_ld_iter_stack **));
-static void iter_stack_create
- PARAMS ((xtensa_ld_iter_stack **, lang_statement_union_type *));
-static void iter_stack_copy_current
- PARAMS ((xtensa_ld_iter_stack **, xtensa_ld_iter *));
-
-
-static bfd_boolean
-iter_stack_empty (stack_p)
- xtensa_ld_iter_stack **stack_p;
+static bfd_boolean
+iter_stack_empty (xtensa_ld_iter_stack **stack_p)
{
- return (*stack_p == NULL);
+ return *stack_p == NULL;
}
static bfd_boolean
-iter_stack_push (stack_p, parent)
- xtensa_ld_iter_stack **stack_p;
- lang_statement_union_type *parent;
+iter_stack_push (xtensa_ld_iter_stack **stack_p,
+ lang_statement_union_type *parent)
{
xtensa_ld_iter_stack *stack;
lang_statement_list_type *l = NULL;
- switch (parent->header.type)
+ switch (parent->header.type)
{
case lang_output_section_statement_enum:
l = &parent->output_section_statement.children;
@@ -562,10 +476,10 @@ iter_stack_push (stack_p, parent)
}
/* Empty. do not push. */
- if (l->tail == &l->head)
+ if (l->tail == &l->head)
return FALSE;
- stack = (xtensa_ld_iter_stack *) xmalloc (sizeof (xtensa_ld_iter_stack));
+ stack = xmalloc (sizeof (xtensa_ld_iter_stack));
memset (stack, 0, sizeof (xtensa_ld_iter_stack));
stack->iterloc.parent = parent;
stack->iterloc.l = l;
@@ -573,28 +487,27 @@ iter_stack_push (stack_p, parent)
stack->next = *stack_p;
stack->prev = NULL;
- if (*stack_p != NULL)
+ if (*stack_p != NULL)
(*stack_p)->prev = stack;
*stack_p = stack;
return TRUE;
}
-static void
-iter_stack_pop (stack_p)
- xtensa_ld_iter_stack **stack_p;
+static void
+iter_stack_pop (xtensa_ld_iter_stack **stack_p)
{
xtensa_ld_iter_stack *stack;
stack = *stack_p;
- if (stack == NULL)
+ if (stack == NULL)
{
ASSERT (stack != NULL);
return;
}
- if (stack->next != NULL)
+ if (stack->next != NULL)
stack->next->prev = NULL;
*stack_p = stack->next;
@@ -607,11 +520,10 @@ iter_stack_pop (stack_p)
accordingly. */
static void
-iter_stack_update (stack_p)
- xtensa_ld_iter_stack **stack_p;
+iter_stack_update (xtensa_ld_iter_stack **stack_p)
{
if (!iter_stack_empty (stack_p)
- && (*(*stack_p)->iterloc.loc) == NULL)
+ && (*(*stack_p)->iterloc.loc) == NULL)
{
iter_stack_pop (stack_p);
@@ -626,9 +538,8 @@ iter_stack_update (stack_p)
}
-static void
-iter_stack_next (stack_p)
- xtensa_ld_iter_stack **stack_p;
+static void
+iter_stack_next (xtensa_ld_iter_stack **stack_p)
{
xtensa_ld_iter_stack *stack;
lang_statement_union_type *current;
@@ -636,9 +547,9 @@ iter_stack_next (stack_p)
current = *stack->iterloc.loc;
/* If we are on the first element. */
- if (current != NULL)
+ if (current != NULL)
{
- switch (current->header.type)
+ switch (current->header.type)
{
case lang_output_section_statement_enum:
case lang_wild_statement_enum:
@@ -664,8 +575,7 @@ iter_stack_next (stack_p)
static lang_statement_union_type *
-iter_stack_current (stack_p)
- xtensa_ld_iter_stack **stack_p;
+iter_stack_current (xtensa_ld_iter_stack **stack_p)
{
return *((*stack_p)->iterloc.loc);
}
@@ -673,28 +583,25 @@ iter_stack_current (stack_p)
/* The iter stack is a preorder. */
-static void
-iter_stack_create (stack_p, parent)
- xtensa_ld_iter_stack **stack_p;
- lang_statement_union_type *parent;
+static void
+iter_stack_create (xtensa_ld_iter_stack **stack_p,
+ lang_statement_union_type *parent)
{
iter_stack_push (stack_p, parent);
}
-static void
-iter_stack_copy_current (stack_p, front)
- xtensa_ld_iter_stack **stack_p;
- xtensa_ld_iter *front;
+static void
+iter_stack_copy_current (xtensa_ld_iter_stack **stack_p,
+ xtensa_ld_iter *front)
{
*front = (*stack_p)->iterloc;
}
-void
-xtensa_colocate_literals (deps, statement)
- reloc_deps_graph *deps;
- lang_statement_union_type *statement;
+static void
+xtensa_colocate_literals (reloc_deps_graph *deps,
+ lang_statement_union_type *statement)
{
/* Keep a stack of pointers to control iteration through the contours. */
xtensa_ld_iter_stack *stack = NULL;
@@ -719,15 +626,15 @@ xtensa_colocate_literals (deps, statement)
lang_for_each_statement_worker (xtensa_ldlang_clear_addresses, statement);
#endif
-
+
iter_stack_create (stack_p, statement);
- while (!iter_stack_empty (stack_p))
+ while (!iter_stack_empty (stack_p))
{
bfd_boolean skip_increment = FALSE;
lang_statement_union_type *l = iter_stack_current (stack_p);
-
- switch (l->header.type)
+
+ switch (l->header.type)
{
case lang_assignment_statement_enum:
/* Any assignment statement should block reordering across it. */
@@ -740,12 +647,12 @@ xtensa_colocate_literals (deps, statement)
{
in_literals = (section_is_target (deps, l)
&& !section_is_source (deps, l));
- if (in_literals)
+ if (in_literals)
{
front_p = &front;
iter_stack_copy_current (stack_p, front_p);
}
- }
+ }
else
{
bfd_boolean is_target;
@@ -762,15 +669,15 @@ xtensa_colocate_literals (deps, statement)
}
else
{
- if (is_target)
+ if (is_target)
{
/* Try to insert in place. */
ld_xtensa_move_section_after (front_p, current_p);
- ld_assign_relative_paged_dot (0x100000,
+ ld_assign_relative_paged_dot (0x100000,
statement,
deps,
xtensa_use_literal_pages);
-
+
/* We use this code because it's already written. */
if (!ld_local_file_relocations_fit (statement, deps))
{
@@ -779,7 +686,7 @@ xtensa_colocate_literals (deps, statement)
/* Reset the literal placement. */
iter_stack_copy_current (stack_p, front_p);
}
- else
+ else
{
/* Move front pointer up by one. */
front_p->loc = &(*front_p->loc)->header.next;
@@ -801,15 +708,14 @@ xtensa_colocate_literals (deps, statement)
/* Be careful to update the stack_p if it now is a null. */
iter_stack_update (stack_p);
}
-
+
lang_for_each_statement_worker (xtensa_ldlang_clear_addresses, statement);
}
-void
-xtensa_move_dependencies_to_front (deps, w)
- reloc_deps_graph *deps;
- lang_wild_statement_type *w;
+static void
+xtensa_move_dependencies_to_front (reloc_deps_graph *deps,
+ lang_wild_statement_type *w)
{
/* Keep a front pointer and a current pointer. */
lang_statement_union_type **front;
@@ -825,7 +731,7 @@ xtensa_move_dependencies_to_front (deps, w)
return;
current = &(*front)->header.next;
- while (*current != NULL)
+ while (*current != NULL)
{
if (section_is_source_or_target (deps, *current))
{
@@ -853,10 +759,9 @@ xtensa_move_dependencies_to_front (deps, w)
static bfd_boolean
-deps_has_sec_edge (deps, src, tgt)
- const reloc_deps_graph *deps;
- asection *src;
- asection *tgt;
+deps_has_sec_edge (const reloc_deps_graph *deps,
+ asection *src,
+ asection *tgt)
{
const reloc_deps_section *sec_deps;
const reloc_deps_e *sec_deps_e;
@@ -864,13 +769,13 @@ deps_has_sec_edge (deps, src, tgt)
sec_deps = xtensa_get_section_deps (deps, src);
if (sec_deps == NULL)
return FALSE;
-
+
for (sec_deps_e = sec_deps->succs;
- sec_deps_e != NULL;
+ sec_deps_e != NULL;
sec_deps_e = sec_deps_e->next)
{
ASSERT (sec_deps_e->src == src);
- if (sec_deps_e->tgt == tgt)
+ if (sec_deps_e->tgt == tgt)
return TRUE;
}
return FALSE;
@@ -878,10 +783,9 @@ deps_has_sec_edge (deps, src, tgt)
static bfd_boolean
-deps_has_edge (deps, src, tgt)
- const reloc_deps_graph *deps;
- lang_statement_union_type *src;
- lang_statement_union_type *tgt;
+deps_has_edge (const reloc_deps_graph *deps,
+ lang_statement_union_type *src,
+ lang_statement_union_type *tgt)
{
if (!section_is_source (deps, src))
return FALSE;
@@ -892,17 +796,16 @@ deps_has_edge (deps, src, tgt)
return FALSE;
if (tgt->header.type != lang_input_section_enum)
return FALSE;
-
+
return deps_has_sec_edge (deps, src->input_section.section,
tgt->input_section.section);
}
static void
-add_deps_edge (deps, src_sec, tgt_sec)
- reloc_deps_graph *deps;
- asection *src_sec;
- asection *tgt_sec;
+add_deps_edge (reloc_deps_graph *deps,
+ asection *src_sec,
+ asection *tgt_sec)
{
reloc_deps_section *src_sec_deps;
reloc_deps_section *tgt_sec_deps;
@@ -912,13 +815,12 @@ add_deps_edge (deps, src_sec, tgt_sec)
if (deps_has_sec_edge (deps, src_sec, tgt_sec))
return;
-
+
src_sec_deps = xtensa_get_section_deps (deps, src_sec);
if (src_sec_deps == NULL)
{
/* Add a section. */
- src_sec_deps = (reloc_deps_section *)
- xmalloc (sizeof (reloc_deps_section));
+ src_sec_deps = xmalloc (sizeof (reloc_deps_section));
memset (src_sec_deps, 0, sizeof (reloc_deps_section));
src_sec_deps->is_only_literal = 0;
src_sec_deps->preds = NULL;
@@ -931,8 +833,7 @@ add_deps_edge (deps, src_sec, tgt_sec)
if (tgt_sec_deps == NULL)
{
/* Add a section. */
- tgt_sec_deps = (reloc_deps_section *)
- xmalloc (sizeof (reloc_deps_section));
+ tgt_sec_deps = xmalloc (sizeof (reloc_deps_section));
memset (tgt_sec_deps, 0, sizeof (reloc_deps_section));
tgt_sec_deps->is_only_literal = 0;
tgt_sec_deps->preds = NULL;
@@ -942,14 +843,14 @@ add_deps_edge (deps, src_sec, tgt_sec)
}
/* Add the edges. */
- src_edge = (reloc_deps_e *) xmalloc (sizeof (reloc_deps_e));
+ src_edge = xmalloc (sizeof (reloc_deps_e));
memset (src_edge, 0, sizeof (reloc_deps_e));
src_edge->src = src_sec;
src_edge->tgt = tgt_sec;
src_edge->next = src_sec_deps->succs;
src_sec_deps->succs = src_edge;
- tgt_edge = (reloc_deps_e *) xmalloc (sizeof (reloc_deps_e));
+ tgt_edge = xmalloc (sizeof (reloc_deps_e));
memset (tgt_edge, 0, sizeof (reloc_deps_e));
tgt_edge->src = src_sec;
tgt_edge->tgt = tgt_sec;
@@ -958,17 +859,14 @@ add_deps_edge (deps, src_sec, tgt_sec)
}
-void
-build_deps_graph_callback (src_sec, src_offset,
- target_sec, target_offset, closure)
- asection *src_sec;
- bfd_vma src_offset ATTRIBUTE_UNUSED;
- asection *target_sec;
- bfd_vma target_offset ATTRIBUTE_UNUSED;
- PTR closure;
+static void
+build_deps_graph_callback (asection *src_sec,
+ bfd_vma src_offset ATTRIBUTE_UNUSED,
+ asection *target_sec,
+ bfd_vma target_offset ATTRIBUTE_UNUSED,
+ void *closure)
{
- reloc_deps_graph *deps;
- deps = (reloc_deps_graph*) closure;
+ reloc_deps_graph *deps = closure;
/* If the target is defined. */
if (target_sec != NULL)
@@ -976,21 +874,20 @@ build_deps_graph_callback (src_sec, src_offset,
}
-reloc_deps_graph *
-ld_build_required_section_dependence (s)
- lang_statement_union_type *s;
+static reloc_deps_graph *
+ld_build_required_section_dependence (lang_statement_union_type *s)
{
reloc_deps_graph *deps;
xtensa_ld_iter_stack *stack = NULL;
- deps = (reloc_deps_graph*) xmalloc (sizeof (reloc_deps_graph));
+ deps = xmalloc (sizeof (reloc_deps_graph));
deps->sections = NULL;
deps->count = 0;
deps->size = 0;
-
+
for (iter_stack_create (&stack, s);
!iter_stack_empty (&stack);
- iter_stack_next (&stack))
+ iter_stack_next (&stack))
{
lang_statement_union_type *l = iter_stack_current (&stack);
@@ -1003,7 +900,7 @@ ld_build_required_section_dependence (s)
&link_info,
/* Use the same closure. */
build_deps_graph_callback,
- (PTR) deps);
+ deps);
}
}
return deps;
@@ -1011,15 +908,14 @@ ld_build_required_section_dependence (s)
#if EXTRA_VALIDATION
-size_t
-ld_count_children (s)
- lang_statement_union_type *s;
+static size_t
+ld_count_children (lang_statement_union_type *s)
{
size_t count = 0;
xtensa_ld_iter_stack *stack = NULL;
for (iter_stack_create (&stack, s);
!iter_stack_empty (&stack);
- iter_stack_next (&stack))
+ iter_stack_next (&stack))
{
lang_statement_union_type *l = iter_stack_current (&stack);
ASSERT (l != NULL);
@@ -1030,9 +926,8 @@ ld_count_children (s)
#endif /* EXTRA_VALIDATION */
-void
-xtensa_wild_group_interleave_callback (statement)
- lang_statement_union_type * statement;
+static void
+xtensa_wild_group_interleave_callback (lang_statement_union_type *statement)
{
lang_wild_statement_type *w;
reloc_deps_graph *deps;
@@ -1069,13 +964,13 @@ xtensa_wild_group_interleave_callback (statement)
break;
}
}
- }
+ }
/* Special case until the NOREORDER linker directive is supported:
- *(.init) output sections and *(.fini) specs may NOT be reordered. */
+ *(.init) output sections and *(.fini) specs may NOT be reordered. */
/* Check for sorting in a section list wildcard spec as well. */
- if (!no_reorder)
+ if (!no_reorder)
{
struct wildcard_list *l;
for (l = w->section_list; l != NULL; l = l->next)
@@ -1095,7 +990,7 @@ xtensa_wild_group_interleave_callback (statement)
#endif
/* It is now officially a target. Build the graph of source
- section -> target section (kept as a list of edges). */
+ section -> target section (kept as a list of edges). */
deps = ld_build_required_section_dependence (statement);
/* If this wildcard does not reorder.... */
@@ -1124,18 +1019,16 @@ xtensa_wild_group_interleave_callback (statement)
}
-void
-xtensa_wild_group_interleave (s)
- lang_statement_union_type *s;
+static void
+xtensa_wild_group_interleave (lang_statement_union_type *s)
{
lang_for_each_statement_worker (xtensa_wild_group_interleave_callback, s);
}
-void
-xtensa_layout_wild (deps, w)
- const reloc_deps_graph *deps;
- lang_wild_statement_type *w;
+static void
+xtensa_layout_wild (const reloc_deps_graph *deps,
+ lang_wild_statement_type *w)
{
/* If it does not fit initially, we need to do this step. Move all
of the wild literal sections to a new list, then move each of
@@ -1145,7 +1038,7 @@ xtensa_layout_wild (deps, w)
size_t old_count, new_count;
size_t ct1, ct2;
#endif
-
+
lang_wild_statement_type literal_wild;
literal_wild.header.next = NULL;
literal_wild.header.type = lang_wild_statement_enum;
@@ -1167,7 +1060,7 @@ xtensa_layout_wild (deps, w)
if (l->header.type == lang_input_section_enum)
{
if (section_is_target (deps, l)
- && ! section_is_source (deps, l))
+ && ! section_is_source (deps, l))
{
/* Detach. */
*s_p = l->header.next;
@@ -1179,7 +1072,7 @@ xtensa_layout_wild (deps, w)
*literal_wild.children.tail = l;
literal_wild.children.tail = &l->header.next;
continue;
- }
+ }
}
s_p = &(*s_p)->header.next;
}
@@ -1187,10 +1080,10 @@ xtensa_layout_wild (deps, w)
#if EXTRA_VALIDATION
ct1 = ld_count_children ((lang_statement_union_type*) w);
ct2 = ld_count_children ((lang_statement_union_type*) &literal_wild);
-
+
ASSERT (old_count == (ct1 + ct2));
#endif
-
+
/* Now place them back in front of their dependent sections. */
while (literal_wild.children.head != NULL)
@@ -1205,12 +1098,12 @@ xtensa_layout_wild (deps, w)
/* Detach. */
literal_wild.children.head = lit->header.next;
- if (literal_wild.children.head == NULL)
+ if (literal_wild.children.head == NULL)
literal_wild.children.tail = &literal_wild.children.head;
lit->header.next = NULL;
/* Find a spot to place it. */
- for (s_p = &w->children.head; *s_p != NULL; s_p = &(*s_p)->header.next)
+ for (s_p = &w->children.head; *s_p != NULL; s_p = &(*s_p)->header.next)
{
lang_statement_union_type *src = *s_p;
if (deps_has_edge (deps, src, lit))
@@ -1222,7 +1115,7 @@ xtensa_layout_wild (deps, w)
break;
}
}
-
+
if (!placed)
{
/* Put it at the end. */
@@ -1238,9 +1131,8 @@ xtensa_layout_wild (deps, w)
}
-void
-xtensa_colocate_output_literals_callback (statement)
- lang_statement_union_type * statement;
+static void
+xtensa_colocate_output_literals_callback (lang_statement_union_type *statement)
{
lang_output_section_statement_type *os;
reloc_deps_graph *deps;
@@ -1271,7 +1163,7 @@ xtensa_colocate_output_literals_callback (statement)
#endif
/* It is now officially a target. Build the graph of source
- section -> target section (kept as a list of edges). */
+ section -> target section (kept as a list of edges). */
deps = ld_build_required_section_dependence (statement);
@@ -1290,7 +1182,7 @@ xtensa_colocate_output_literals_callback (statement)
/* Insert align/offset assignment statement. */
if (xtensa_use_literal_pages)
{
- ld_xtensa_insert_page_offsets ((bfd_vma) 0, statement, deps,
+ ld_xtensa_insert_page_offsets (0, statement, deps,
xtensa_use_literal_pages);
lang_for_each_statement_worker (xtensa_ldlang_clear_addresses,
statement);
@@ -1302,21 +1194,19 @@ xtensa_colocate_output_literals_callback (statement)
}
-void
-xtensa_colocate_output_literals (s)
- lang_statement_union_type *s;
+static void
+xtensa_colocate_output_literals (lang_statement_union_type *s)
{
lang_for_each_statement_worker (xtensa_colocate_output_literals_callback, s);
}
-void
-xtensa_ldlang_clear_addresses (statement)
- lang_statement_union_type * statement;
+static void
+xtensa_ldlang_clear_addresses (lang_statement_union_type *statement)
{
switch (statement->header.type)
{
- case lang_input_section_enum:
+ case lang_input_section_enum:
{
asection *bfd_section = statement->input_section.section;
bfd_section->output_offset = 0;
@@ -1328,16 +1218,15 @@ xtensa_ldlang_clear_addresses (statement)
}
-bfd_vma
-ld_assign_relative_paged_dot (dot, s, deps, lit_align)
- bfd_vma dot;
- lang_statement_union_type *s;
- const reloc_deps_graph *deps ATTRIBUTE_UNUSED;
- bfd_boolean lit_align;
+static bfd_vma
+ld_assign_relative_paged_dot (bfd_vma dot,
+ lang_statement_union_type *s,
+ const reloc_deps_graph *deps ATTRIBUTE_UNUSED,
+ bfd_boolean lit_align)
{
/* Walk through all of the input statements in this wild statement
assign dot to all of them. */
-
+
xtensa_ld_iter_stack *stack = NULL;
xtensa_ld_iter_stack **stack_p = &stack;
@@ -1346,18 +1235,18 @@ ld_assign_relative_paged_dot (dot, s, deps, lit_align)
for (iter_stack_create (stack_p, s);
!iter_stack_empty (stack_p);
- iter_stack_next (stack_p))
+ iter_stack_next (stack_p))
{
lang_statement_union_type *l = iter_stack_current (stack_p);
-
- switch (l->header.type)
+
+ switch (l->header.type)
{
case lang_input_section_enum:
{
asection *section = l->input_section.section;
size_t align_pow = section->alignment_power;
bfd_boolean do_xtensa_alignment = FALSE;
-
+
if (lit_align)
{
bfd_boolean sec_is_target = section_is_target (deps, l);
@@ -1371,7 +1260,7 @@ ld_assign_relative_paged_dot (dot, s, deps, lit_align)
do_xtensa_alignment = TRUE;
}
first_section = FALSE;
- if (section->_raw_size != 0)
+ if (section->_raw_size != 0)
in_literals = (sec_is_target && !sec_is_source);
}
@@ -1397,18 +1286,17 @@ ld_assign_relative_paged_dot (dot, s, deps, lit_align)
}
-bfd_boolean
-ld_local_file_relocations_fit (statement, deps)
- lang_statement_union_type *statement;
- const reloc_deps_graph *deps ATTRIBUTE_UNUSED;
+static bfd_boolean
+ld_local_file_relocations_fit (lang_statement_union_type *statement,
+ const reloc_deps_graph *deps ATTRIBUTE_UNUSED)
{
/* Walk over all of the dependencies that we identified and make
sure that IF the source and target are here (addr != 0):
1) target addr < source addr
- 2) (roundup(source + source_size, 4) - rounddown(target, 4))
+ 2) (roundup(source + source_size, 4) - rounddown(target, 4))
< (256K - (1 << bad align))
Need a worst-case proof.... */
-
+
xtensa_ld_iter_stack *stack = NULL;
xtensa_ld_iter_stack **stack_p = &stack;
size_t max_align_power = 0;
@@ -1419,10 +1307,10 @@ ld_local_file_relocations_fit (statement, deps)
/* Find the worst-case alignment requirement for this set of statements. */
for (iter_stack_create (stack_p, statement);
!iter_stack_empty (stack_p);
- iter_stack_next (stack_p))
+ iter_stack_next (stack_p))
{
lang_statement_union_type *l = iter_stack_current (stack_p);
- if (l->header.type == lang_input_section_enum)
+ if (l->header.type == lang_input_section_enum)
{
lang_input_section_type *input = &l->input_section;
asection *section = input->section;
@@ -1435,21 +1323,21 @@ ld_local_file_relocations_fit (statement, deps)
for (i = 0; i < deps->count; i++)
{
asection *sec = deps->sections[i];
- const reloc_deps_section *deps_section =
+ const reloc_deps_section *deps_section =
xtensa_get_section_deps (deps, sec);
if (deps_section)
{
/* We choose to walk through the successors. */
for (e = deps_section->succs; e != NULL; e = e->next)
{
- if ((e->src != e->tgt)
+ if (e->src != e->tgt
&& e->src->output_section == e->tgt->output_section
&& e->src->output_offset != 0
&& e->tgt->output_offset != 0)
{
- bfd_vma l32r_addr =
+ bfd_vma l32r_addr =
align_power (e->src->output_offset + e->src->_raw_size, 2);
- bfd_vma target_addr = e->tgt->output_offset & (~3);
+ bfd_vma target_addr = e->tgt->output_offset & ~3;
if (l32r_addr < target_addr)
{
fprintf (stderr, "Warning: "
@@ -1457,7 +1345,7 @@ ld_local_file_relocations_fit (statement, deps)
return FALSE;
}
- if ((l32r_addr - target_addr) > (256*1024 - align_penalty))
+ if (l32r_addr - target_addr > 256 * 1024 - align_penalty)
return FALSE;
}
}
@@ -1468,35 +1356,34 @@ ld_local_file_relocations_fit (statement, deps)
}
-bfd_vma
-ld_xtensa_insert_page_offsets (dot, s, deps, lit_align)
- bfd_vma dot;
- lang_statement_union_type *s;
- reloc_deps_graph *deps;
- bfd_boolean lit_align;
+static bfd_vma
+ld_xtensa_insert_page_offsets (bfd_vma dot,
+ lang_statement_union_type *s,
+ reloc_deps_graph *deps,
+ bfd_boolean lit_align)
{
xtensa_ld_iter_stack *stack = NULL;
xtensa_ld_iter_stack **stack_p = &stack;
bfd_boolean first_section = FALSE;
bfd_boolean in_literals = FALSE;
-
+
if (!lit_align)
return FALSE;
for (iter_stack_create (stack_p, s);
!iter_stack_empty (stack_p);
- iter_stack_next (stack_p))
+ iter_stack_next (stack_p))
{
lang_statement_union_type *l = iter_stack_current (stack_p);
- switch (l->header.type)
- {
+ switch (l->header.type)
+ {
case lang_input_section_enum:
{
asection *section = l->input_section.section;
bfd_boolean do_xtensa_alignment = FALSE;
-
+
if (lit_align)
{
if (section->_raw_size != 0
@@ -1507,7 +1394,7 @@ ld_xtensa_insert_page_offsets (dot, s, deps, lit_align)
do_xtensa_alignment = TRUE;
}
first_section = FALSE;
- if (section->_raw_size != 0)
+ if (section->_raw_size != 0)
{
in_literals = (section_is_target (deps, l)
&& !section_is_source (deps, l));
@@ -1527,7 +1414,7 @@ ld_xtensa_insert_page_offsets (dot, s, deps, lit_align)
lang_statement_union_type *assign_union;
lang_statement_list_type tmplist;
lang_statement_list_type *old_stat_ptr = stat_ptr;
-
+
/* There is hidden state in "lang_add_assignment". It
appends the new assignment statement to the stat_ptr
list. Thus, we swap it before and after the call. */
@@ -1544,12 +1431,12 @@ ld_xtensa_insert_page_offsets (dot, s, deps, lit_align)
assign_union->header.next = l;
*(*stack_p)->iterloc.loc = assign_union;
iter_stack_next (stack_p);
- }
- }
- break;
- default:
- break;
- }
+ }
+ }
+ break;
+ default:
+ break;
+ }
}
return dot;
}