* arsup.c (obfd, real_name, outfile): Likewise.
* binemul.c (ar_emul_create): Remove unused function.
(ar_emul_default_create): Likewise.
* binemul.h (ar_emul_create): Remove declaration.
(ar_emul_default_create): Likewise.
(struct bin_emulation_xfer_struct): Remove ar_create member.
* bucomm.c (report): Make static.
* bucomm.h (report): Remove declaration.
* cxxfilt.c (mbuffer): Make static.
(main): Use unsigned ints for some loop control variables.
* readelf.c: Make many global variables static.
* size.c (berkeley_format): Make static.
(long_options): Likewise.
* emul_aix.c (bin_aix_emulation): Remove ar_emul_default_create
structure initialiser.
(bin_aix5_emulation): Likewise.
* emul_vanilla.c (bin_vanilla_emulation): Likewise.
+2005-04-29 Ben Elliston <bje@au.ibm.com>
+
+ * ar.c (mri_mode): Make static.
+ * arsup.c (obfd, real_name, outfile): Likewise.
+ * binemul.c (ar_emul_create): Remove unused function.
+ (ar_emul_default_create): Likewise.
+ * binemul.h (ar_emul_create): Remove declaration.
+ (ar_emul_default_create): Likewise.
+ (struct bin_emulation_xfer_struct): Remove ar_create member.
+ * bucomm.c (report): Make static.
+ * bucomm.h (report): Remove declaration.
+ * cxxfilt.c (mbuffer): Make static.
+ (main): Use unsigned ints for some loop control variables.
+ * readelf.c: Make many global variables static.
+ * size.c (berkeley_format): Make static.
+ (long_options): Likewise.
+ * emul_aix.c (bin_aix_emulation): Remove ar_emul_default_create
+ structure initialiser.
+ (bin_aix5_emulation): Likewise.
+ * emul_vanilla.c (bin_vanilla_emulation): Likewise.
+
2005-04-27 Ben Elliston <bje@au.ibm.com>
* syslex.l: Adjust top-of-file comment: this file is part of GNU
\f
/** Globals and flags */
-int mri_mode;
+static int mri_mode;
/* This flag distinguishes between ar and ranlib:
1 means this is 'ranlib'; 0 means this is 'ar'.
extern int verbose;
+static bfd *obfd;
+static char *real_name;
+static FILE *outfile;
+
static void
map_over_list (bfd *arch, void (*function) (bfd *, bfd *), struct list *list)
{
}
-FILE *outfile;
static void
ar_directory_doer (bfd *abfd, bfd *ignore ATTRIBUTE_UNUSED)
}
-bfd *obfd;
-char *real_name;
-
void
ar_open (char *name, int t)
{
return TRUE;
}
-bfd_boolean
-ar_emul_create (bfd **abfd_out, char *archive_file_name, char *file_name)
-{
- if (bin_dummy_emulation.ar_create)
- return bin_dummy_emulation.ar_create (abfd_out, archive_file_name,
- file_name);
-
- return FALSE;
-}
-
-bfd_boolean
-ar_emul_default_create (bfd **abfd_out, char *archive_file_name,
- char *file_name)
-{
- char *target = NULL;
-
- /* Try to figure out the target to use for the archive from the
- first object on the list. */
- if (file_name != NULL)
- {
- bfd *obj;
-
- obj = bfd_openr (file_name, NULL);
- if (obj != NULL)
- {
- if (bfd_check_format (obj, bfd_object))
- target = bfd_get_target (obj);
- (void) bfd_close (obj);
- }
- }
-
- /* Create an empty archive. */
- *abfd_out = bfd_openw (archive_file_name, target);
- if (*abfd_out == NULL
- || ! bfd_set_format (*abfd_out, bfd_archive)
- || ! bfd_close (*abfd_out))
- bfd_fatal (archive_file_name);
-
- return TRUE;
-}
-
bfd_boolean
ar_emul_parse_arg (char *arg)
{
extern bfd_boolean ar_emul_default_append (bfd **, char *, bfd_boolean);
extern bfd_boolean ar_emul_replace (bfd **, char *, bfd_boolean);
extern bfd_boolean ar_emul_default_replace (bfd **, char *, bfd_boolean);
-extern bfd_boolean ar_emul_create (bfd **, char *, char *);
-extern bfd_boolean ar_emul_default_create (bfd **, char *, char *);
extern bfd_boolean ar_emul_parse_arg (char *);
extern bfd_boolean ar_emul_default_parse_arg (char *);
void (* ar_usage) (FILE *fp);
bfd_boolean (* ar_append) (bfd **, char *, bfd_boolean);
bfd_boolean (* ar_replace) (bfd **, char *, bfd_boolean);
- bfd_boolean (* ar_create) (bfd **, char *, char *);
bfd_boolean (* ar_parse_arg) (char *);
}
bin_emulation_xfer_type;
xexit (1);
}
-void
+static void
report (const char * format, va_list args)
{
fprintf (stderr, "%s: ", program_name);
void bfd_fatal (const char *) ATTRIBUTE_NORETURN;
-void report (const char *, va_list);
-
void fatal (const char *, ...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
void non_fatal (const char *, ...) ATTRIBUTE_PRINTF_1;
exit (status);
}
-#define MBUF_SIZE 32767
-char mbuffer[MBUF_SIZE];
+static char mbuffer[32767];
int strip_underscore = 0;
for (;;)
{
- int i = 0;
+ unsigned i = 0;
c = getchar ();
/* Try to read a label. */
while (c != EOF && (ISALNUM (c) || strchr (valid_symbols, c)))
{
- if (i >= MBUF_SIZE-1)
+ if (i >= sizeof (mbuffer) - 1)
break;
mbuffer[i++] = c;
c = getchar ();
}
if (i > 0)
{
- int skip_first = 0;
+ unsigned skip_first = 0;
mbuffer[i] = 0;
if (mbuffer[0] == '.' || mbuffer[0] == '$')
ar_emul_aix_usage,
ar_emul_aix_append,
ar_emul_aix_replace,
- ar_emul_default_create,
ar_emul_aix_parse_arg,
};
ar_emul_aix_usage,
ar_emul_aix5_append,
ar_emul_aix5_replace,
- ar_emul_default_create,
ar_emul_aix_parse_arg,
};
ar_emul_default_usage,
ar_emul_default_append,
ar_emul_default_replace,
- ar_emul_default_create,
ar_emul_default_parse_arg,
};
#include "libiberty.h"
char *program_name = "readelf";
-long archive_file_offset;
-unsigned long archive_file_size;
-unsigned long dynamic_addr;
-bfd_size_type dynamic_size;
-unsigned int dynamic_nent;
-char *dynamic_strings;
-unsigned long dynamic_strings_length;
-char *string_table;
-unsigned long string_table_length;
-unsigned long num_dynamic_syms;
-Elf_Internal_Sym *dynamic_symbols;
-Elf_Internal_Syminfo *dynamic_syminfo;
-unsigned long dynamic_syminfo_offset;
-unsigned int dynamic_syminfo_nent;
-char program_interpreter[64];
-bfd_vma dynamic_info[DT_JMPREL + 1];
-bfd_vma version_info[16];
-Elf_Internal_Ehdr elf_header;
-Elf_Internal_Shdr *section_headers;
-Elf_Internal_Phdr *program_headers;
-Elf_Internal_Dyn *dynamic_section;
-Elf_Internal_Shdr *symtab_shndx_hdr;
-int show_name;
-int do_dynamic;
-int do_syms;
-int do_reloc;
-int do_sections;
-int do_section_groups;
-int do_full_section_name;
-int do_segments;
-int do_unwind;
-int do_using_dynamic;
-int do_header;
-int do_dump;
-int do_version;
-int do_wide;
-int do_histogram;
-int do_debugging;
-int do_debug_info;
-int do_debug_abbrevs;
-int do_debug_lines;
-int do_debug_pubnames;
-int do_debug_aranges;
-int do_debug_ranges;
-int do_debug_frames;
-int do_debug_frames_interp;
-int do_debug_macinfo;
-int do_debug_str;
-int do_debug_loc;
-int do_arch;
-int do_notes;
-int is_32bit_elf;
-int have_frame_base;
-int need_base_address;
-bfd_vma eh_addr_size;
+static long archive_file_offset;
+static unsigned long archive_file_size;
+static unsigned long dynamic_addr;
+static bfd_size_type dynamic_size;
+static unsigned int dynamic_nent;
+static char *dynamic_strings;
+static unsigned long dynamic_strings_length;
+static char *string_table;
+static unsigned long string_table_length;
+static unsigned long num_dynamic_syms;
+static Elf_Internal_Sym *dynamic_symbols;
+static Elf_Internal_Syminfo *dynamic_syminfo;
+static unsigned long dynamic_syminfo_offset;
+static unsigned int dynamic_syminfo_nent;
+static char program_interpreter[64];
+static bfd_vma dynamic_info[DT_JMPREL + 1];
+static bfd_vma version_info[16];
+static Elf_Internal_Ehdr elf_header;
+static Elf_Internal_Shdr *section_headers;
+static Elf_Internal_Phdr *program_headers;
+static Elf_Internal_Dyn *dynamic_section;
+static Elf_Internal_Shdr *symtab_shndx_hdr;
+static int show_name;
+static int do_dynamic;
+static int do_syms;
+static int do_reloc;
+static int do_sections;
+static int do_section_groups;
+static int do_full_section_name;
+static int do_segments;
+static int do_unwind;
+static int do_using_dynamic;
+static int do_header;
+static int do_dump;
+static int do_version;
+static int do_wide;
+static int do_histogram;
+static int do_debugging;
+static int do_debug_info;
+static int do_debug_abbrevs;
+static int do_debug_lines;
+static int do_debug_pubnames;
+static int do_debug_aranges;
+static int do_debug_ranges;
+static int do_debug_frames;
+static int do_debug_frames_interp;
+static int do_debug_macinfo;
+static int do_debug_str;
+static int do_debug_loc;
+static int do_arch;
+static int do_notes;
+static int is_32bit_elf;
+static int have_frame_base;
+static int need_base_address;
+static bfd_vma eh_addr_size;
struct group_list
{
unsigned int group_index;
};
-struct group *section_groups;
-size_t group_count;
-
-struct group **section_headers_groups;
+static size_t group_count;
+static struct group *section_groups;
+static struct group **section_headers_groups;
/* A dynamic array of flags indicating for which sections a hex dump
has been requested (via the -x switch) and/or a disassembly dump
#define OPTION_DEBUG_DUMP 512
-struct option options[] =
+static struct option options[] =
{
{"all", no_argument, 0, 'a'},
{"file-header", no_argument, 0, 'h'},
return 1;
}
-struct
+static struct
{
const char *name;
int reloc;
/* A structure containing the name of a debug section
and a pointer to a function that can decode it. */
-struct
+static struct
{
const char *const name;
int (*display) (Elf_Internal_Shdr *, unsigned char *, FILE *);
}
radix = decimal;
-int berkeley_format = BSD_DEFAULT; /* 0 means use AT&T-style output. */
+/* 0 means use AT&T-style output. */
+static int berkeley_format = BSD_DEFAULT;
+
int show_version = 0;
int show_help = 0;
int show_totals = 0;
exit (status);
}
-struct option long_options[] =
+static struct option long_options[] =
{
{"format", required_argument, 0, 200},
{"radix", required_argument, 0, 201},