* filemode.c: Fix formatting.
* ieee.c: Likewise. * is-ranlib.c: Likewise. * is-strip.c: Likewise. * maybe-ranlib.c: Likewise. * maybe-strip.c: Likewise. * nlmconv.c: Likewise. * nm.c: Likewise. * not-ranlib.c: Likewise. * not-strip.c: Likewise. * objcopy.c: Likewise. * objdump.c: Likewise.
This commit is contained in:
parent
21611032e1
commit
0af11b59ba
13 changed files with 126 additions and 111 deletions
|
@ -1,3 +1,18 @@
|
||||||
|
2002-05-21 Kazu Hirata <kazu@cs.umass.edu>
|
||||||
|
|
||||||
|
* filemode.c: Fix formatting.
|
||||||
|
* ieee.c: Likewise.
|
||||||
|
* is-ranlib.c: Likewise.
|
||||||
|
* is-strip.c: Likewise.
|
||||||
|
* maybe-ranlib.c: Likewise.
|
||||||
|
* maybe-strip.c: Likewise.
|
||||||
|
* nlmconv.c: Likewise.
|
||||||
|
* nm.c: Likewise.
|
||||||
|
* not-ranlib.c: Likewise.
|
||||||
|
* not-strip.c: Likewise.
|
||||||
|
* objcopy.c: Likewise.
|
||||||
|
* objdump.c: Likewise.
|
||||||
|
|
||||||
2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||||||
|
|
||||||
* objdump.c (dump_headers): Fix output formatting for ELF32
|
* objdump.c (dump_headers): Fix output formatting for ELF32
|
||||||
|
|
|
@ -57,7 +57,7 @@ static void setst PARAMS ((unsigned long, char *));
|
||||||
9 'x' if any user may execute, 't' if the file is "sticky"
|
9 'x' if any user may execute, 't' if the file is "sticky"
|
||||||
(will be retained in swap space after execution), '-'
|
(will be retained in swap space after execution), '-'
|
||||||
otherwise.
|
otherwise.
|
||||||
'T' if the file is sticky but not executable. */
|
'T' if the file is sticky but not executable. */
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ filemodestring (statp, str)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Like filemodestring, but only the relevant part of the `struct stat'
|
/* Like filemodestring, but only the relevant part of the `struct stat'
|
||||||
is given as an argument. */
|
is given as an argument. */
|
||||||
|
|
||||||
void
|
void
|
||||||
mode_string (mode, str)
|
mode_string (mode, str)
|
||||||
|
@ -144,7 +144,7 @@ mode_string (mode, str)
|
||||||
'l' for symbolic links
|
'l' for symbolic links
|
||||||
's' for sockets
|
's' for sockets
|
||||||
'p' for fifos
|
'p' for fifos
|
||||||
'-' for any other file type. */
|
'-' for any other file type. */
|
||||||
|
|
||||||
#ifndef S_ISDIR
|
#ifndef S_ISDIR
|
||||||
#ifdef S_IFDIR
|
#ifdef S_IFDIR
|
||||||
|
@ -227,7 +227,7 @@ ftypelet (bits)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set the 's' and 't' flags in file attributes string CHARS,
|
/* Set the 's' and 't' flags in file attributes string CHARS,
|
||||||
according to the file mode BITS. */
|
according to the file mode BITS. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
setst (bits, chars)
|
setst (bits, chars)
|
||||||
|
@ -238,7 +238,7 @@ setst (bits, chars)
|
||||||
if (bits & S_ISUID)
|
if (bits & S_ISUID)
|
||||||
{
|
{
|
||||||
if (chars[3] != 'x')
|
if (chars[3] != 'x')
|
||||||
/* Set-uid, but not executable by owner. */
|
/* Set-uid, but not executable by owner. */
|
||||||
chars[3] = 'S';
|
chars[3] = 'S';
|
||||||
else
|
else
|
||||||
chars[3] = 's';
|
chars[3] = 's';
|
||||||
|
@ -248,7 +248,7 @@ setst (bits, chars)
|
||||||
if (bits & S_ISGID)
|
if (bits & S_ISGID)
|
||||||
{
|
{
|
||||||
if (chars[6] != 'x')
|
if (chars[6] != 'x')
|
||||||
/* Set-gid, but not executable by group. */
|
/* Set-gid, but not executable by group. */
|
||||||
chars[6] = 'S';
|
chars[6] = 'S';
|
||||||
else
|
else
|
||||||
chars[6] = 's';
|
chars[6] = 's';
|
||||||
|
@ -258,7 +258,7 @@ setst (bits, chars)
|
||||||
if (bits & S_ISVTX)
|
if (bits & S_ISVTX)
|
||||||
{
|
{
|
||||||
if (chars[9] != 'x')
|
if (chars[9] != 'x')
|
||||||
/* Sticky, but not executable by others. */
|
/* Sticky, but not executable by others. */
|
||||||
chars[9] = 'T';
|
chars[9] = 'T';
|
||||||
else
|
else
|
||||||
chars[9] = 't';
|
chars[9] = 't';
|
||||||
|
|
|
@ -344,7 +344,7 @@ ieee_read_number (info, pp, pv)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read a number in an IEEE file. If ppresent is not NULL, the number
|
/* Read a number in an IEEE file. If ppresent is not NULL, the number
|
||||||
need not be there. */
|
need not be there. */
|
||||||
|
|
||||||
static boolean
|
static boolean
|
||||||
ieee_read_optional_number (info, pp, pv, ppresent)
|
ieee_read_optional_number (info, pp, pv, ppresent)
|
||||||
|
@ -1036,7 +1036,7 @@ parse_ieee_bb (info, pp)
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
/* BB2: Global type definitions. The name is supposed to be
|
/* BB2: Global type definitions. The name is supposed to be
|
||||||
empty, but we don't check. */
|
empty, but we don't check. */
|
||||||
if (! debug_set_filename (info->dhandle, "*global*"))
|
if (! debug_set_filename (info->dhandle, "*global*"))
|
||||||
return false;
|
return false;
|
||||||
info->saw_filename = true;
|
info->saw_filename = true;
|
||||||
|
@ -6207,7 +6207,7 @@ ieee_end_struct_type (p)
|
||||||
|
|
||||||
/* If we were ignoring this struct definition because it was a
|
/* If we were ignoring this struct definition because it was a
|
||||||
duplicate defintion, just through away whatever bytes we have
|
duplicate defintion, just through away whatever bytes we have
|
||||||
accumulated. Leave the type on the stack. */
|
accumulated. Leave the type on the stack. */
|
||||||
if (info->type_stack->type.ignorep)
|
if (info->type_stack->type.ignorep)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
@ -6761,7 +6761,7 @@ ieee_tag_type (p, name, id, kind)
|
||||||
if (! nt->type.localp)
|
if (! nt->type.localp)
|
||||||
{
|
{
|
||||||
/* This is a duplicate of a global type, so it must be
|
/* This is a duplicate of a global type, so it must be
|
||||||
local. */
|
local. */
|
||||||
localp = true;
|
localp = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
/* Linked with ar.o to flag that this program is 'ranlib' (not 'ar'). */
|
/* Linked with ar.o to flag that this program is 'ranlib' (not 'ar'). */
|
||||||
|
|
||||||
int is_ranlib = 1;
|
int is_ranlib = 1;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Linked with objcopy.o to flag that this program is 'strip' (not
|
/* Linked with objcopy.o to flag that this program is 'strip' (not
|
||||||
'objcopy'). */
|
'objcopy'). */
|
||||||
|
|
||||||
int is_strip = 1;
|
int is_strip = 1;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Linked with ar.o to flag that this program decides at runtime
|
/* Linked with ar.o to flag that this program decides at runtime
|
||||||
(using argv[0] if it is is 'ar' or 'ranlib'. */
|
(using argv[0] if it is is 'ar' or 'ranlib'. */
|
||||||
|
|
||||||
int is_ranlib = -1;
|
int is_ranlib = -1;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Linked with objcopy.o to flag that this program decides at runtime
|
/* Linked with objcopy.o to flag that this program decides at runtime
|
||||||
(using argv[0] if it is is 'strip' or 'objcopy'. */
|
(using argv[0] if it is is 'strip' or 'objcopy'. */
|
||||||
|
|
||||||
int is_strip = -1;
|
int is_strip = -1;
|
||||||
|
|
|
@ -559,7 +559,7 @@ main (argc, argv)
|
||||||
sym->section = got_sec->output_section;
|
sym->section = got_sec->output_section;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If this is a global symbol, check the export list. */
|
/* If this is a global symbol, check the export list. */
|
||||||
if ((sym->flags & (BSF_EXPORT | BSF_GLOBAL)) != 0)
|
if ((sym->flags & (BSF_EXPORT | BSF_GLOBAL)) != 0)
|
||||||
|
@ -635,7 +635,7 @@ main (argc, argv)
|
||||||
non_fatal (_("warning: symbol %s imported but not in import list"),
|
non_fatal (_("warning: symbol %s imported but not in import list"),
|
||||||
bfd_asymbol_name (sym));
|
bfd_asymbol_name (sym));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* See if it's one of the special named symbols. */
|
/* See if it's one of the special named symbols. */
|
||||||
if ((sym->flags & BSF_DEBUGGING) == 0)
|
if ((sym->flags & BSF_DEBUGGING) == 0)
|
||||||
{
|
{
|
||||||
|
@ -699,7 +699,7 @@ main (argc, argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
bfd_set_symtab (outbfd, outsyms, symcount + newsymcount);
|
bfd_set_symtab (outbfd, outsyms, symcount + newsymcount);
|
||||||
|
|
||||||
if (! gotstart)
|
if (! gotstart)
|
||||||
non_fatal (_("warning: START procedure %s not defined"), start_procedure);
|
non_fatal (_("warning: START procedure %s not defined"), start_procedure);
|
||||||
if (! gotexit)
|
if (! gotexit)
|
||||||
|
@ -1810,7 +1810,7 @@ powerpc_build_stubs (inbfd, outbfd, symbols_ptr, symcount_ptr)
|
||||||
|
|
||||||
item->next = powerpc_stubs;
|
item->next = powerpc_stubs;
|
||||||
powerpc_stubs = item;
|
powerpc_stubs = item;
|
||||||
|
|
||||||
++stubcount;
|
++stubcount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1893,7 +1893,7 @@ powerpc_resolve_stubs (inbfd, outbfd)
|
||||||
reloc->address = l->toc_index + got_sec->output_offset;
|
reloc->address = l->toc_index + got_sec->output_offset;
|
||||||
reloc->addend = 0;
|
reloc->addend = 0;
|
||||||
reloc->howto = bfd_reloc_type_lookup (inbfd, BFD_RELOC_32);
|
reloc->howto = bfd_reloc_type_lookup (inbfd, BFD_RELOC_32);
|
||||||
|
|
||||||
*r++ = reloc;
|
*r++ = reloc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -441,14 +441,14 @@ main (argc, argv)
|
||||||
if (optarg != NULL)
|
if (optarg != NULL)
|
||||||
{
|
{
|
||||||
enum demangling_styles style;
|
enum demangling_styles style;
|
||||||
|
|
||||||
style = cplus_demangle_name_to_style (optarg);
|
style = cplus_demangle_name_to_style (optarg);
|
||||||
if (style == unknown_demangling)
|
if (style == unknown_demangling)
|
||||||
fatal (_("unknown demangling style `%s'"),
|
fatal (_("unknown demangling style `%s'"),
|
||||||
optarg);
|
optarg);
|
||||||
|
|
||||||
cplus_demangle_set_style (style);
|
cplus_demangle_set_style (style);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'D':
|
case 'D':
|
||||||
dynamic = 1;
|
dynamic = 1;
|
||||||
|
@ -1035,7 +1035,7 @@ filter_symbols (abfd, dynamic, minisyms, symcount, size)
|
||||||
asymbol *sym;
|
asymbol *sym;
|
||||||
|
|
||||||
PROGRESS (1);
|
PROGRESS (1);
|
||||||
|
|
||||||
sym = bfd_minisymbol_to_symbol (abfd, dynamic, (const PTR) from, store);
|
sym = bfd_minisymbol_to_symbol (abfd, dynamic, (const PTR) from, store);
|
||||||
if (sym == NULL)
|
if (sym == NULL)
|
||||||
bfd_fatal (bfd_get_filename (abfd));
|
bfd_fatal (bfd_get_filename (abfd));
|
||||||
|
@ -1144,7 +1144,7 @@ print_symbols (abfd, dynamic, minisyms, symcount, size, archive_bfd)
|
||||||
|
|
||||||
/* Print the symbols when sorting by size. */
|
/* Print the symbols when sorting by size. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_size_symbols (abfd, dynamic, symsizes, symcount, archive_bfd)
|
print_size_symbols (abfd, dynamic, symsizes, symcount, archive_bfd)
|
||||||
bfd *abfd;
|
bfd *abfd;
|
||||||
boolean dynamic;
|
boolean dynamic;
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
/* Linked with ar.o to flag that this program is 'ar' (not 'ranlib'). */
|
/* Linked with ar.o to flag that this program is 'ar' (not 'ranlib'). */
|
||||||
|
|
||||||
int is_ranlib = 0;
|
int is_ranlib = 0;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Linked with objcopy.o to flag that this program is 'objcopy' (not
|
/* Linked with objcopy.o to flag that this program is 'objcopy' (not
|
||||||
'strip'). */
|
'strip'). */
|
||||||
|
|
||||||
int is_strip = 0;
|
int is_strip = 0;
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
/* A list of symbols to explicitly strip out, or to keep. A linked
|
/* A list of symbols to explicitly strip out, or to keep. A linked
|
||||||
list is good enough for a small number from the command line, but
|
list is good enough for a small number from the command line, but
|
||||||
this will slow things down a lot if many symbols are being
|
this will slow things down a lot if many symbols are being
|
||||||
deleted. */
|
deleted. */
|
||||||
|
|
||||||
struct symlist
|
struct symlist
|
||||||
{
|
{
|
||||||
|
@ -97,7 +97,7 @@ static asymbol **osympp = NULL; /* Output symbols that survive stripping */
|
||||||
static int copy_byte = -1;
|
static int copy_byte = -1;
|
||||||
static int interleave = 4;
|
static int interleave = 4;
|
||||||
|
|
||||||
static boolean verbose; /* Print file and target names. */
|
static boolean verbose; /* Print file and target names. */
|
||||||
static boolean preserve_dates; /* Preserve input file timestamp. */
|
static boolean preserve_dates; /* Preserve input file timestamp. */
|
||||||
static int status = 0; /* Exit status. */
|
static int status = 0; /* Exit status. */
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ enum strip_action
|
||||||
STRIP_ALL /* strip all symbols */
|
STRIP_ALL /* strip all symbols */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Which symbols to remove. */
|
/* Which symbols to remove. */
|
||||||
static enum strip_action strip_symbols;
|
static enum strip_action strip_symbols;
|
||||||
|
|
||||||
enum locals_action
|
enum locals_action
|
||||||
|
@ -339,7 +339,7 @@ extern char *program_name;
|
||||||
|
|
||||||
/* This flag distinguishes between strip and objcopy:
|
/* This flag distinguishes between strip and objcopy:
|
||||||
1 means this is 'strip'; 0 means this is 'objcopy'.
|
1 means this is 'strip'; 0 means this is 'objcopy'.
|
||||||
-1 means if we should use argv[0] to decide. */
|
-1 means if we should use argv[0] to decide. */
|
||||||
extern int is_strip;
|
extern int is_strip;
|
||||||
|
|
||||||
/* The maximum length of an S record. This variable is declared in srec.c
|
/* The maximum length of an S record. This variable is declared in srec.c
|
||||||
|
@ -564,7 +564,7 @@ add_specific_symbol (name, list)
|
||||||
*list = tmp_list;
|
*list = tmp_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add symbols listed in `filename' to strip_specific_list. */
|
/* Add symbols listed in `filename' to strip_specific_list. */
|
||||||
|
|
||||||
#define IS_WHITESPACE(c) ((c) == ' ' || (c) == '\t')
|
#define IS_WHITESPACE(c) ((c) == ' ' || (c) == '\t')
|
||||||
#define IS_LINE_TERMINATOR(c) ((c) == '\n' || (c) == '\r' || (c) == '\0')
|
#define IS_LINE_TERMINATOR(c) ((c) == '\n' || (c) == '\r' || (c) == '\0')
|
||||||
|
@ -579,7 +579,7 @@ add_specific_symbols (filename, list)
|
||||||
char * line;
|
char * line;
|
||||||
char * buffer;
|
char * buffer;
|
||||||
unsigned int line_count;
|
unsigned int line_count;
|
||||||
|
|
||||||
if (stat (filename, & st) < 0)
|
if (stat (filename, & st) < 0)
|
||||||
fatal (_("cannot stat: %s: %s"), filename, strerror (errno));
|
fatal (_("cannot stat: %s: %s"), filename, strerror (errno));
|
||||||
if (st.st_size == 0)
|
if (st.st_size == 0)
|
||||||
|
@ -598,7 +598,7 @@ add_specific_symbols (filename, list)
|
||||||
buffer [st.st_size + 1] = '\0';
|
buffer [st.st_size + 1] = '\0';
|
||||||
|
|
||||||
line_count = 1;
|
line_count = 1;
|
||||||
|
|
||||||
for (line = buffer; * line != '\0'; line ++)
|
for (line = buffer; * line != '\0'; line ++)
|
||||||
{
|
{
|
||||||
char * eol;
|
char * eol;
|
||||||
|
@ -617,7 +617,7 @@ add_specific_symbols (filename, list)
|
||||||
++ eol;
|
++ eol;
|
||||||
finished = true;
|
finished = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '\r':
|
case '\r':
|
||||||
* eol = '\0';
|
* eol = '\0';
|
||||||
/* Cope with \r\n. */
|
/* Cope with \r\n. */
|
||||||
|
@ -625,18 +625,18 @@ add_specific_symbols (filename, list)
|
||||||
++ eol;
|
++ eol;
|
||||||
finished = true;
|
finished = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0:
|
case 0:
|
||||||
finished = true;
|
finished = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '#':
|
case '#':
|
||||||
/* Line comment, Terminate the line here, in case a
|
/* Line comment, Terminate the line here, in case a
|
||||||
name is present and then allow the rest of the
|
name is present and then allow the rest of the
|
||||||
loop to find the real end of the line. */
|
loop to find the real end of the line. */
|
||||||
* eol = '\0';
|
* eol = '\0';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -653,8 +653,8 @@ add_specific_symbols (filename, list)
|
||||||
for (name_end = name;
|
for (name_end = name;
|
||||||
(! IS_WHITESPACE (* name_end))
|
(! IS_WHITESPACE (* name_end))
|
||||||
&& (! IS_LINE_TERMINATOR (* name_end));
|
&& (! IS_LINE_TERMINATOR (* name_end));
|
||||||
name_end ++)
|
name_end ++)
|
||||||
;
|
;
|
||||||
|
|
||||||
if (! IS_LINE_TERMINATOR (* name_end))
|
if (! IS_LINE_TERMINATOR (* name_end))
|
||||||
{
|
{
|
||||||
|
@ -667,7 +667,7 @@ add_specific_symbols (filename, list)
|
||||||
non_fatal (_("Ignoring rubbish found on line %d of %s"),
|
non_fatal (_("Ignoring rubbish found on line %d of %s"),
|
||||||
line_count, filename);
|
line_count, filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
* name_end = '\0';
|
* name_end = '\0';
|
||||||
|
|
||||||
if (name_end > name)
|
if (name_end > name)
|
||||||
|
@ -797,7 +797,7 @@ filter_symbols (abfd, obfd, osyms, isyms, symcount)
|
||||||
&& ((*bfd_get_section (sym)->symbol_ptr_ptr)->flags
|
&& ((*bfd_get_section (sym)->symbol_ptr_ptr)->flags
|
||||||
& BSF_KEEP) != 0))
|
& BSF_KEEP) != 0))
|
||||||
keep = 1;
|
keep = 1;
|
||||||
else if (relocatable /* Relocatable file. */
|
else if (relocatable /* Relocatable file. */
|
||||||
&& (flags & (BSF_GLOBAL | BSF_WEAK)) != 0)
|
&& (flags & (BSF_GLOBAL | BSF_WEAK)) != 0)
|
||||||
keep = 1;
|
keep = 1;
|
||||||
else if (bfd_decode_symclass (sym) == 'I')
|
else if (bfd_decode_symclass (sym) == 'I')
|
||||||
|
@ -960,8 +960,8 @@ copy_object (ibfd, obfd)
|
||||||
start = bfd_get_start_address (ibfd);
|
start = bfd_get_start_address (ibfd);
|
||||||
start += change_start;
|
start += change_start;
|
||||||
|
|
||||||
/* Neither the start address nor the flags
|
/* Neither the start address nor the flags
|
||||||
need to be set for a core file. */
|
need to be set for a core file. */
|
||||||
if (bfd_get_format (obfd) != bfd_core)
|
if (bfd_get_format (obfd) != bfd_core)
|
||||||
{
|
{
|
||||||
if (!bfd_set_start_address (obfd, start)
|
if (!bfd_set_start_address (obfd, start)
|
||||||
|
@ -1088,8 +1088,8 @@ copy_object (ibfd, obfd)
|
||||||
size + (gap_stop - gap_start)))
|
size + (gap_stop - gap_start)))
|
||||||
{
|
{
|
||||||
non_fatal (_("Can't fill gap after %s: %s"),
|
non_fatal (_("Can't fill gap after %s: %s"),
|
||||||
bfd_get_section_name (obfd, osections[i]),
|
bfd_get_section_name (obfd, osections[i]),
|
||||||
bfd_errmsg (bfd_get_error ()));
|
bfd_errmsg (bfd_get_error ()));
|
||||||
status = 1;
|
status = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1113,8 +1113,8 @@ copy_object (ibfd, obfd)
|
||||||
pad_to - lma))
|
pad_to - lma))
|
||||||
{
|
{
|
||||||
non_fatal (_("Can't add padding to %s: %s"),
|
non_fatal (_("Can't add padding to %s: %s"),
|
||||||
bfd_get_section_name (obfd, osections[c - 1]),
|
bfd_get_section_name (obfd, osections[c - 1]),
|
||||||
bfd_errmsg (bfd_get_error ()));
|
bfd_errmsg (bfd_get_error ()));
|
||||||
status = 1;
|
status = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1363,7 +1363,7 @@ copy_archive (ibfd, obfd, output_target)
|
||||||
if (!bfd_close (output_bfd))
|
if (!bfd_close (output_bfd))
|
||||||
{
|
{
|
||||||
bfd_nonfatal (bfd_get_filename (output_bfd));
|
bfd_nonfatal (bfd_get_filename (output_bfd));
|
||||||
/* Error in new object file. Don't change archive. */
|
/* Error in new object file. Don't change archive. */
|
||||||
status = 1;
|
status = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1493,7 +1493,7 @@ add_section_rename (old_name, new_name, flags)
|
||||||
if (strcmp (rename->new_name, new_name) == 0
|
if (strcmp (rename->new_name, new_name) == 0
|
||||||
&& rename->flags == flags)
|
&& rename->flags == flags)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
fatal (_("Multiple renames of section %s"), old_name);
|
fatal (_("Multiple renames of section %s"), old_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1503,7 +1503,7 @@ add_section_rename (old_name, new_name, flags)
|
||||||
rename->new_name = new_name;
|
rename->new_name = new_name;
|
||||||
rename->flags = flags;
|
rename->flags = flags;
|
||||||
rename->next = section_rename_list;
|
rename->next = section_rename_list;
|
||||||
|
|
||||||
section_rename_list = rename;
|
section_rename_list = rename;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1553,7 +1553,7 @@ setup_section (ibfd, isection, obfdarg)
|
||||||
flagword flags;
|
flagword flags;
|
||||||
const char *err;
|
const char *err;
|
||||||
const char * name;
|
const char * name;
|
||||||
|
|
||||||
if ((bfd_get_section_flags (ibfd, isection) & SEC_DEBUGGING) != 0
|
if ((bfd_get_section_flags (ibfd, isection) & SEC_DEBUGGING) != 0
|
||||||
&& (strip_symbols == STRIP_DEBUG
|
&& (strip_symbols == STRIP_DEBUG
|
||||||
|| strip_symbols == STRIP_UNNEEDED
|
|| strip_symbols == STRIP_UNNEEDED
|
||||||
|
@ -1573,7 +1573,7 @@ setup_section (ibfd, isection, obfdarg)
|
||||||
|
|
||||||
/* Get the, possibly new, name of the output section. */
|
/* Get the, possibly new, name of the output section. */
|
||||||
name = find_section_rename (ibfd, isection, & flags);
|
name = find_section_rename (ibfd, isection, & flags);
|
||||||
|
|
||||||
osection = bfd_make_section_anyway (obfd, name);
|
osection = bfd_make_section_anyway (obfd, name);
|
||||||
|
|
||||||
if (osection == NULL)
|
if (osection == NULL)
|
||||||
|
@ -1711,7 +1711,7 @@ copy_section (ibfd, isection, obfdarg)
|
||||||
if (size == 0 || osection == 0)
|
if (size == 0 || osection == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Core files do not need to be relocated. */
|
/* Core files do not need to be relocated. */
|
||||||
if (bfd_get_format (obfd) == bfd_core)
|
if (bfd_get_format (obfd) == bfd_core)
|
||||||
relsize = 0;
|
relsize = 0;
|
||||||
else
|
else
|
||||||
|
@ -1732,7 +1732,7 @@ copy_section (ibfd, isection, obfdarg)
|
||||||
if (strip_symbols == STRIP_ALL)
|
if (strip_symbols == STRIP_ALL)
|
||||||
{
|
{
|
||||||
/* Remove relocations which are not in
|
/* Remove relocations which are not in
|
||||||
keep_strip_specific_list. */
|
keep_strip_specific_list. */
|
||||||
arelent **temp_relpp;
|
arelent **temp_relpp;
|
||||||
long temp_relcount = 0;
|
long temp_relcount = 0;
|
||||||
long i;
|
long i;
|
||||||
|
@ -1755,7 +1755,7 @@ copy_section (ibfd, isection, obfdarg)
|
||||||
isection->_cooked_size = isection->_raw_size;
|
isection->_cooked_size = isection->_raw_size;
|
||||||
isection->reloc_done = true;
|
isection->reloc_done = true;
|
||||||
|
|
||||||
if (bfd_get_section_flags (ibfd, isection) & SEC_HAS_CONTENTS
|
if (bfd_get_section_flags (ibfd, isection) & SEC_HAS_CONTENTS
|
||||||
&& bfd_get_section_flags (obfd, osection) & SEC_HAS_CONTENTS)
|
&& bfd_get_section_flags (obfd, osection) & SEC_HAS_CONTENTS)
|
||||||
{
|
{
|
||||||
PTR memhunk = (PTR) xmalloc ((unsigned) size);
|
PTR memhunk = (PTR) xmalloc ((unsigned) size);
|
||||||
|
@ -2124,9 +2124,9 @@ copy_main (argc, argv)
|
||||||
fatal (_("byte number must be non-negative"));
|
fatal (_("byte number must be non-negative"));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'B':
|
case 'B':
|
||||||
binary_architecture = optarg;
|
binary_architecture = optarg;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'i':
|
case 'i':
|
||||||
interleave = atoi (optarg);
|
interleave = atoi (optarg);
|
||||||
|
@ -2492,13 +2492,13 @@ copy_main (argc, argv)
|
||||||
set_start_set = true;
|
set_start_set = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OPTION_SREC_LEN:
|
case OPTION_SREC_LEN:
|
||||||
Chunk = parse_vma (optarg, "--srec-len");
|
Chunk = parse_vma (optarg, "--srec-len");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OPTION_SREC_FORCES3:
|
case OPTION_SREC_FORCES3:
|
||||||
S3Forced = true;
|
S3Forced = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OPTION_STRIP_SYMBOLS:
|
case OPTION_STRIP_SYMBOLS:
|
||||||
add_specific_symbols (optarg, &strip_specific_list);
|
add_specific_symbols (optarg, &strip_specific_list);
|
||||||
|
@ -2561,16 +2561,16 @@ copy_main (argc, argv)
|
||||||
if (binary_architecture != (char *) NULL)
|
if (binary_architecture != (char *) NULL)
|
||||||
{
|
{
|
||||||
if (input_target && strcmp (input_target, "binary") == 0)
|
if (input_target && strcmp (input_target, "binary") == 0)
|
||||||
{
|
{
|
||||||
const bfd_arch_info_type * temp_arch_info;
|
const bfd_arch_info_type * temp_arch_info;
|
||||||
|
|
||||||
temp_arch_info = bfd_scan_arch (binary_architecture);
|
temp_arch_info = bfd_scan_arch (binary_architecture);
|
||||||
|
|
||||||
if (temp_arch_info != NULL)
|
if (temp_arch_info != NULL)
|
||||||
bfd_external_binary_architecture = temp_arch_info->arch;
|
bfd_external_binary_architecture = temp_arch_info->arch;
|
||||||
else
|
else
|
||||||
fatal (_("architecture %s unknown"), binary_architecture);
|
fatal (_("architecture %s unknown"), binary_architecture);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
non_fatal (_("Warning: input target 'binary' required for binary architecture parameter."));
|
non_fatal (_("Warning: input target 'binary' required for binary architecture parameter."));
|
||||||
|
|
|
@ -441,7 +441,7 @@ slurp_dynamic_symtab (abfd)
|
||||||
|
|
||||||
/* Filter out (in place) symbols that are useless for disassembly.
|
/* Filter out (in place) symbols that are useless for disassembly.
|
||||||
COUNT is the number of elements in SYMBOLS.
|
COUNT is the number of elements in SYMBOLS.
|
||||||
Return the number of useful symbols. */
|
Return the number of useful symbols. */
|
||||||
|
|
||||||
static long
|
static long
|
||||||
remove_useless_symbols (symbols, count)
|
remove_useless_symbols (symbols, count)
|
||||||
|
@ -469,7 +469,7 @@ remove_useless_symbols (symbols, count)
|
||||||
|
|
||||||
/* Sort symbols into value order. */
|
/* Sort symbols into value order. */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
compare_symbols (ap, bp)
|
compare_symbols (ap, bp)
|
||||||
const PTR ap;
|
const PTR ap;
|
||||||
const PTR bp;
|
const PTR bp;
|
||||||
|
@ -686,7 +686,7 @@ find_symbol_for_address (abfd, sec, vma, require_sec, place)
|
||||||
long min = 0;
|
long min = 0;
|
||||||
long max = sorted_symcount;
|
long max = sorted_symcount;
|
||||||
long thisplace;
|
long thisplace;
|
||||||
unsigned int opb = bfd_octets_per_byte (abfd);
|
unsigned int opb = bfd_octets_per_byte (abfd);
|
||||||
|
|
||||||
if (sorted_symcount < 1)
|
if (sorted_symcount < 1)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -723,7 +723,7 @@ find_symbol_for_address (abfd, sec, vma, require_sec, place)
|
||||||
/* If the file is relocateable, and the symbol could be from this
|
/* If the file is relocateable, and the symbol could be from this
|
||||||
section, prefer a symbol from this section over symbols from
|
section, prefer a symbol from this section over symbols from
|
||||||
others, even if the other symbol's value might be closer.
|
others, even if the other symbol's value might be closer.
|
||||||
|
|
||||||
Note that this may be wrong for some symbol references if the
|
Note that this may be wrong for some symbol references if the
|
||||||
sections have overlapping memory ranges, but in that case there's
|
sections have overlapping memory ranges, but in that case there's
|
||||||
no way to tell what's desired without looking at the relocation
|
no way to tell what's desired without looking at the relocation
|
||||||
|
@ -952,7 +952,7 @@ skip_to_line (p, line, show)
|
||||||
if (strchr (buf, '\n') != NULL)
|
if (strchr (buf, '\n') != NULL)
|
||||||
++p->line;
|
++p->line;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Show the line number, or the source line, in a dissassembly
|
/* Show the line number, or the source line, in a dissassembly
|
||||||
listing. */
|
listing. */
|
||||||
|
@ -1073,10 +1073,10 @@ show_line (abfd, section, addr_offset)
|
||||||
p->next = print_files;
|
p->next = print_files;
|
||||||
print_files = p;
|
print_files = p;
|
||||||
|
|
||||||
if (file_start_context)
|
if (file_start_context)
|
||||||
l = 0;
|
l = 0;
|
||||||
else
|
else
|
||||||
l = line - SHOW_PRECEDING_CONTEXT_LINES;
|
l = line - SHOW_PRECEDING_CONTEXT_LINES;
|
||||||
if (l < 0)
|
if (l < 0)
|
||||||
l = 0;
|
l = 0;
|
||||||
skip_to_line (p, l, false);
|
skip_to_line (p, l, false);
|
||||||
|
@ -1171,8 +1171,8 @@ objdump_sprintf VPARAMS ((SFILE *f, const char *format, ...))
|
||||||
/* Disassemble some data in memory between given values. */
|
/* Disassemble some data in memory between given values. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
disassemble_bytes (info, disassemble_fn, insns, data,
|
disassemble_bytes (info, disassemble_fn, insns, data,
|
||||||
start_offset, stop_offset, relppp,
|
start_offset, stop_offset, relppp,
|
||||||
relppend)
|
relppend)
|
||||||
struct disassemble_info *info;
|
struct disassemble_info *info;
|
||||||
disassembler_ftype disassemble_fn;
|
disassembler_ftype disassemble_fn;
|
||||||
|
@ -1241,8 +1241,8 @@ disassemble_bytes (info, disassemble_fn, insns, data,
|
||||||
&& (info->insn_info_valid == 0
|
&& (info->insn_info_valid == 0
|
||||||
|| info->branch_delay_insns == 0)
|
|| info->branch_delay_insns == 0)
|
||||||
&& (z - addr_offset * opb >= SKIP_ZEROES
|
&& (z - addr_offset * opb >= SKIP_ZEROES
|
||||||
|| (z == stop_offset * opb &&
|
|| (z == stop_offset * opb &&
|
||||||
z - addr_offset * opb < SKIP_ZEROES_AT_END)))
|
z - addr_offset * opb < SKIP_ZEROES_AT_END)))
|
||||||
{
|
{
|
||||||
printf ("\t...\n");
|
printf ("\t...\n");
|
||||||
|
|
||||||
|
@ -1448,8 +1448,8 @@ disassemble_bytes (info, disassemble_fn, insns, data,
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((section->flags & SEC_RELOC) != 0
|
if ((section->flags & SEC_RELOC) != 0
|
||||||
#ifndef DISASSEMBLER_NEEDS_RELOCS
|
#ifndef DISASSEMBLER_NEEDS_RELOCS
|
||||||
&& dump_reloc_info
|
&& dump_reloc_info
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -1585,7 +1585,7 @@ disassemble_data (abfd)
|
||||||
disasm_info.mach = bfd_get_mach (abfd);
|
disasm_info.mach = bfd_get_mach (abfd);
|
||||||
disasm_info.disassembler_options = disassembler_options;
|
disasm_info.disassembler_options = disassembler_options;
|
||||||
disasm_info.octets_per_byte = opb;
|
disasm_info.octets_per_byte = opb;
|
||||||
|
|
||||||
if (bfd_big_endian (abfd))
|
if (bfd_big_endian (abfd))
|
||||||
disasm_info.display_endian = disasm_info.endian = BFD_ENDIAN_BIG;
|
disasm_info.display_endian = disasm_info.endian = BFD_ENDIAN_BIG;
|
||||||
else if (bfd_little_endian (abfd))
|
else if (bfd_little_endian (abfd))
|
||||||
|
@ -1617,10 +1617,10 @@ disassemble_data (abfd)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ((section->flags & SEC_RELOC) != 0
|
if ((section->flags & SEC_RELOC) != 0
|
||||||
#ifndef DISASSEMBLER_NEEDS_RELOCS
|
#ifndef DISASSEMBLER_NEEDS_RELOCS
|
||||||
&& dump_reloc_info
|
&& dump_reloc_info
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
long relsize;
|
long relsize;
|
||||||
|
|
||||||
|
@ -1694,7 +1694,7 @@ disassemble_data (abfd)
|
||||||
asymbol *nextsym;
|
asymbol *nextsym;
|
||||||
unsigned long nextstop_offset;
|
unsigned long nextstop_offset;
|
||||||
boolean insns;
|
boolean insns;
|
||||||
|
|
||||||
if (sym != NULL && bfd_asymbol_value (sym) <= section->vma + addr_offset)
|
if (sym != NULL && bfd_asymbol_value (sym) <= section->vma + addr_offset)
|
||||||
{
|
{
|
||||||
int x;
|
int x;
|
||||||
|
@ -1719,7 +1719,7 @@ disassemble_data (abfd)
|
||||||
false);
|
false);
|
||||||
printf (":\n");
|
printf (":\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sym != NULL && bfd_asymbol_value (sym) > section->vma + addr_offset)
|
if (sym != NULL && bfd_asymbol_value (sym) > section->vma + addr_offset)
|
||||||
nextsym = sym;
|
nextsym = sym;
|
||||||
else if (sym == NULL)
|
else if (sym == NULL)
|
||||||
|
@ -1740,7 +1740,7 @@ disassemble_data (abfd)
|
||||||
else
|
else
|
||||||
nextsym = sorted_syms[place];
|
nextsym = sorted_syms[place];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sym != NULL && bfd_asymbol_value (sym) > section->vma + addr_offset)
|
if (sym != NULL && bfd_asymbol_value (sym) > section->vma + addr_offset)
|
||||||
{
|
{
|
||||||
nextstop_offset = bfd_asymbol_value (sym) - section->vma;
|
nextstop_offset = bfd_asymbol_value (sym) - section->vma;
|
||||||
|
@ -1755,7 +1755,7 @@ disassemble_data (abfd)
|
||||||
if (nextstop_offset > stop_offset)
|
if (nextstop_offset > stop_offset)
|
||||||
nextstop_offset = stop_offset;
|
nextstop_offset = stop_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If a symbol is explicitly marked as being an object
|
/* If a symbol is explicitly marked as being an object
|
||||||
rather than a function, just dump the bytes without
|
rather than a function, just dump the bytes without
|
||||||
disassembling them. */
|
disassembling them. */
|
||||||
|
@ -1771,14 +1771,14 @@ disassemble_data (abfd)
|
||||||
insns = true;
|
insns = true;
|
||||||
else
|
else
|
||||||
insns = false;
|
insns = false;
|
||||||
|
|
||||||
disassemble_bytes (&disasm_info, disassemble_fn, insns, data,
|
disassemble_bytes (&disasm_info, disassemble_fn, insns, data,
|
||||||
addr_offset, nextstop_offset, &relpp, relppend);
|
addr_offset, nextstop_offset, &relpp, relppend);
|
||||||
|
|
||||||
addr_offset = nextstop_offset;
|
addr_offset = nextstop_offset;
|
||||||
sym = nextsym;
|
sym = nextsym;
|
||||||
}
|
}
|
||||||
|
|
||||||
free (data);
|
free (data);
|
||||||
if (relbuf != NULL)
|
if (relbuf != NULL)
|
||||||
free (relbuf);
|
free (relbuf);
|
||||||
|
@ -1841,13 +1841,13 @@ read_section_stabs (abfd, stabsect_name, strsect_name)
|
||||||
exit_status = 1;
|
exit_status = 1;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
stab_size = bfd_section_size (abfd, stabsect);
|
stab_size = bfd_section_size (abfd, stabsect);
|
||||||
stabstr_size = bfd_section_size (abfd, stabstrsect);
|
stabstr_size = bfd_section_size (abfd, stabstrsect);
|
||||||
|
|
||||||
stabs = (bfd_byte *) xmalloc (stab_size);
|
stabs = (bfd_byte *) xmalloc (stab_size);
|
||||||
strtab = (char *) xmalloc (stabstr_size);
|
strtab = (char *) xmalloc (stabstr_size);
|
||||||
|
|
||||||
if (! bfd_get_section_contents (abfd, stabsect, (PTR) stabs, 0, stab_size))
|
if (! bfd_get_section_contents (abfd, stabsect, (PTR) stabs, 0, stab_size))
|
||||||
{
|
{
|
||||||
non_fatal (_("Reading %s section of %s failed: %s"),
|
non_fatal (_("Reading %s section of %s failed: %s"),
|
||||||
|
@ -1929,7 +1929,7 @@ print_section_stabs (abfd, stabsect_name, strsect_name)
|
||||||
|
|
||||||
printf ("\n%-6d ", i);
|
printf ("\n%-6d ", i);
|
||||||
/* Either print the stab name, or, if unnamed, print its number
|
/* Either print the stab name, or, if unnamed, print its number
|
||||||
again (makes consistent formatting for tools like awk). */
|
again (makes consistent formatting for tools like awk). */
|
||||||
name = bfd_get_stab_name (type);
|
name = bfd_get_stab_name (type);
|
||||||
if (name != NULL)
|
if (name != NULL)
|
||||||
printf ("%-6s", name);
|
printf ("%-6s", name);
|
||||||
|
@ -2250,15 +2250,15 @@ dump_data (abfd)
|
||||||
if (stop_offset > bfd_section_size (abfd, section) / opb)
|
if (stop_offset > bfd_section_size (abfd, section) / opb)
|
||||||
stop_offset = bfd_section_size (abfd, section) / opb;
|
stop_offset = bfd_section_size (abfd, section) / opb;
|
||||||
}
|
}
|
||||||
for (addr_offset = start_offset;
|
for (addr_offset = start_offset;
|
||||||
addr_offset < stop_offset; addr_offset += onaline)
|
addr_offset < stop_offset; addr_offset += onaline)
|
||||||
{
|
{
|
||||||
bfd_size_type j;
|
bfd_size_type j;
|
||||||
|
|
||||||
printf (" %04lx ", (unsigned long int)
|
printf (" %04lx ", (unsigned long int)
|
||||||
(addr_offset + section->vma));
|
(addr_offset + section->vma));
|
||||||
for (j = addr_offset * opb;
|
for (j = addr_offset * opb;
|
||||||
j < addr_offset * opb + onaline; j++)
|
j < addr_offset * opb + onaline; j++)
|
||||||
{
|
{
|
||||||
if (j < stop_offset * opb)
|
if (j < stop_offset * opb)
|
||||||
printf ("%02x", (unsigned) (data[j]));
|
printf ("%02x", (unsigned) (data[j]));
|
||||||
|
@ -2800,12 +2800,12 @@ main (argc, argv)
|
||||||
enum demangling_styles style;
|
enum demangling_styles style;
|
||||||
|
|
||||||
style = cplus_demangle_name_to_style (optarg);
|
style = cplus_demangle_name_to_style (optarg);
|
||||||
if (style == unknown_demangling)
|
if (style == unknown_demangling)
|
||||||
fatal (_("unknown demangling style `%s'"),
|
fatal (_("unknown demangling style `%s'"),
|
||||||
optarg);
|
optarg);
|
||||||
|
|
||||||
cplus_demangle_set_style (style);
|
cplus_demangle_set_style (style);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'w':
|
case 'w':
|
||||||
wide_output = true;
|
wide_output = true;
|
||||||
|
@ -2924,7 +2924,7 @@ main (argc, argv)
|
||||||
show_version = true;
|
show_version = true;
|
||||||
seenflag = true;
|
seenflag = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
usage (stderr, 1);
|
usage (stderr, 1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue