Import of Binutils from the FSF 2.11 branch [checked out 19-July-2001].
This fixes an annoying `ld' bug.
This commit is contained in:
parent
dfb1a3b23c
commit
e3bf29e1d6
File diff suppressed because it is too large
Load Diff
103
contrib/binutils/MAINTAINERS
Normal file
103
contrib/binutils/MAINTAINERS
Normal file
@ -0,0 +1,103 @@
|
||||
Please feel free to add, edit, delete this file.
|
||||
Please do not make ChangeLog entries.
|
||||
|
||||
COPYING, COPYING.LIB, README
|
||||
http://gnu.org.
|
||||
|
||||
Makefile.in; configure; configure.in
|
||||
Please notify the following of any committed patches.
|
||||
binutils@sources.redhat.com
|
||||
gdb-patches@sources.redhat.com
|
||||
|
||||
bfd/; binutils/; gas/; gprof/; ld/; opcodes/; BFD's part of include/
|
||||
binutils: http://sources.redhat.com/binutils/
|
||||
Patches to binutils@sources.redhat.com.
|
||||
Please notify the following of any interface changes:
|
||||
gdb-patches@sources.redhat.com
|
||||
|
||||
cgen/; cgen parts of opcodes/, sim/ & include/
|
||||
cgen: http://sources.redhat.com/cgen/
|
||||
Patches to cgen@sources.redhat.com
|
||||
May need separate opcodes/ or sim/ approval for
|
||||
commits of regenerated files there.
|
||||
|
||||
config.guess; config.sub
|
||||
config: http://gnu.org
|
||||
Patches to config-patches@gnu.org.
|
||||
Changes need to be done in tandem with the official CONFIG
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge.
|
||||
|
||||
dejagnu/
|
||||
Notify http://dejagnu.sourceforge.net/ of generic changes.
|
||||
Generic patches to gdb-patches@sources.redhat.com &
|
||||
sid@sources.redhat.com.
|
||||
See also SID & GDB.
|
||||
|
||||
gdb/; mmalloc/; readline/; sim/; GDB's part of include/ & dejagnu/
|
||||
gdb: http://sources.redhat.com/gdb/
|
||||
Patches to gdb-patches@sources.redhat.com.
|
||||
See also gdb/MAINTAINERS, sim/MAINTAINERS, mmalloc/MAINTAINERS.
|
||||
|
||||
include/
|
||||
See binutils/, gdb/, sid/, gcc/, libiberty/ etc.
|
||||
|
||||
libiberty/; libiberty's part of include/
|
||||
gcc: http://gcc.gnu.org
|
||||
Changes need to be done in tandem with the official GCC
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge.
|
||||
|
||||
ltconfig; ltmain.sh
|
||||
libtool: http://gnu.org
|
||||
Changes need to be done in tandem with the official LIBTOOL
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge.
|
||||
|
||||
mkinstalldirs; move-if-change; symlink-tree
|
||||
autoconf: http://gnu.org
|
||||
Patches to autoconf-patches@gnu.org.
|
||||
Changes need to be done in tandem with the official AUTOCONF
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge.
|
||||
|
||||
newlib/; libgloss/
|
||||
http://sources.redhat.com/newlib/
|
||||
Patches to newlib@sources.redhat.com.
|
||||
|
||||
sid/; SID's part of cgen/ & dejagnu/
|
||||
sid: http://sources.redhat.com/sid/
|
||||
Patches to sid@sources.redhat.com
|
||||
|
||||
texinfo/texinfo.tex
|
||||
texinfo: http://ftp.gnu.org.
|
||||
Latest version can be found on ftp://ftp.gnu.org and can be
|
||||
imported at any (reasonable) time.
|
||||
Please not use GCC's texinfo. Please do not import texinfo.
|
||||
|
||||
tcl/; tix/; itcl/; tk/; libgui/
|
||||
insight: http://sources.redhat.com/insight/
|
||||
Contact insight@sources.redhat.com.
|
||||
|
||||
winsup/
|
||||
cygwin: http://sources.redhat.com/cygwin
|
||||
Patches to cygwin-patches@sources.redhat.com.
|
||||
General discussion cygwin@sources.redhat.com.
|
||||
See also winsup/MAINTAINERS.
|
||||
|
||||
expect/; config-ml.in; mpw-README; mpw-build.in; mpw-config.in;
|
||||
mpw-configure; mpw-install; setup.com; missing; makefile.vms; utils/;
|
||||
config/; config.if; makefile.vms; missing; ylwrap; mkdep; etc/;
|
||||
install-sh; intl/
|
||||
Ask.
|
||||
|
||||
modules file
|
||||
Obviously changes to this file should not go through
|
||||
overseers@sources.redhat.com. If you understand the file
|
||||
format (or can cut-and-paste existing entries), modify it. If
|
||||
it scares you, get someone who does understand it to help you.
|
||||
Be prepared to fix it if you do break it.
|
||||
|
||||
/* Local variables: */
|
||||
/* change-log-default-name: "/dev/null" */
|
||||
/* End: */
|
14
contrib/binutils/README-maintainer-mode
Normal file
14
contrib/binutils/README-maintainer-mode
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
Notes on enabling maintainer mode
|
||||
|
||||
Note that if you configure with --enable-maintainer-mode, you will need
|
||||
special versions of automake, autoconf, libtool and gettext. You will
|
||||
find the sources for these in ftp://sourceware.cygnus.com/pub/binutils.
|
||||
|
||||
Note - "make distclean" does not work with maintainer mode enabled.
|
||||
The Makefiles in the some of the po/ subdirectories depend upon the
|
||||
Makefiles in their parent directories, and distclean will delete the
|
||||
Makefiles in the parent directories before running the Makefiles in
|
||||
the child directories. There is no easy way around this (short of
|
||||
changing the automake macros) as these dependencies need to exist in
|
||||
order to correctly build the NLS files.
|
@ -1,3 +1,31 @@
|
||||
2001-07-06 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct sense of
|
||||
`interworking' warning message.
|
||||
|
||||
2001-07-05 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
|
||||
* peicode.h (coff_swap_scnhdr_in): For sections containing
|
||||
uninitialised data, only set their size to s_paddr if this does
|
||||
not reset their size to zero. MS's latest compilers will set
|
||||
s_paddr to zero.
|
||||
|
||||
2001-06-20 Bo Thorsen <bo@suse.co.uk>
|
||||
|
||||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Fix linking of
|
||||
shared libraries.
|
||||
|
||||
2001-06-21 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Always
|
||||
allocate local .got space. Use shortcuts from hash table for .got
|
||||
and .plt rather than comparing section names.
|
||||
(elf32_hppa_check_relocs): Use local_plt_refcounts var rather than
|
||||
adjusting index into local_got_refcounts to document what we are
|
||||
really doing.
|
||||
(elf32_hppa_relocate_section): Similarly for local_plt_offsets.
|
||||
Tidy .got and .plt error checking.
|
||||
|
||||
2001-06-19 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* configure.in: Set version to 2.11.2.
|
||||
|
@ -2188,7 +2188,7 @@ Warning: %s %s interworking, whereas %s %s"),
|
||||
bfd_get_filename (ibfd),
|
||||
in_flags & EF_INTERWORK ? _("supports") : _("does not support"),
|
||||
bfd_get_filename (obfd),
|
||||
out_flags & EF_INTERWORK ? _("does not") : _("does"));
|
||||
out_flags & EF_INTERWORK ? _("does") : _("does not"));
|
||||
}
|
||||
|
||||
return flags_compatible;
|
||||
|
7
contrib/binutils/bfd/po/BLD-POTFILES.in
Normal file
7
contrib/binutils/bfd/po/BLD-POTFILES.in
Normal file
@ -0,0 +1,7 @@
|
||||
elf32-ia64.c
|
||||
elf32-target.h
|
||||
elf64-ia64.c
|
||||
elf64-target.h
|
||||
peigen.c
|
||||
pepigen.c
|
||||
targmatch.h
|
254
contrib/binutils/bfd/po/SRC-POTFILES.in
Normal file
254
contrib/binutils/bfd/po/SRC-POTFILES.in
Normal file
@ -0,0 +1,254 @@
|
||||
aix386-core.c
|
||||
aout-adobe.c
|
||||
aout-arm.c
|
||||
aout-cris.c
|
||||
aout-ns32k.c
|
||||
aout-sparcle.c
|
||||
aout-target.h
|
||||
aout-tic30.c
|
||||
aout0.c
|
||||
aout32.c
|
||||
aout64.c
|
||||
aoutf1.h
|
||||
aoutx.h
|
||||
archive.c
|
||||
archures.c
|
||||
armnetbsd.c
|
||||
bfd.c
|
||||
binary.c
|
||||
bout.c
|
||||
cache.c
|
||||
cf-i386lynx.c
|
||||
cf-m68klynx.c
|
||||
cf-sparclynx.c
|
||||
cisco-core.c
|
||||
coff-a29k.c
|
||||
coff-alpha.c
|
||||
coff-apollo.c
|
||||
coff-arm.c
|
||||
coff-aux.c
|
||||
coff-go32.c
|
||||
coff-h8300.c
|
||||
coff-h8500.c
|
||||
coff-i386.c
|
||||
coff-i860.c
|
||||
coff-i960.c
|
||||
coff-m68k.c
|
||||
coff-m88k.c
|
||||
coff-mips.c
|
||||
coff-pmac.c
|
||||
coff-rs6000.c
|
||||
coff-sh.c
|
||||
coff-sparc.c
|
||||
coff-stgo32.c
|
||||
coff-svm68k.c
|
||||
coff-tic30.c
|
||||
coff-tic54x.c
|
||||
coff-tic80.c
|
||||
coff-u68k.c
|
||||
coff-w65.c
|
||||
coff-we32k.c
|
||||
coff-z8k.c
|
||||
coff64-rs6000.c
|
||||
coffcode.h
|
||||
coffgen.c
|
||||
cofflink.c
|
||||
coffswap.h
|
||||
corefile.c
|
||||
cpu-a29k.c
|
||||
cpu-alpha.c
|
||||
cpu-arc.c
|
||||
cpu-arm.c
|
||||
cpu-avr.c
|
||||
cpu-cris.c
|
||||
cpu-d10v.c
|
||||
cpu-d30v.c
|
||||
cpu-fr30.c
|
||||
cpu-h8300.c
|
||||
cpu-h8500.c
|
||||
cpu-hppa.c
|
||||
cpu-i370.c
|
||||
cpu-i386.c
|
||||
cpu-i860.c
|
||||
cpu-i960.c
|
||||
cpu-ia64.c
|
||||
cpu-m10200.c
|
||||
cpu-m10300.c
|
||||
cpu-m32r.c
|
||||
cpu-m68hc11.c
|
||||
cpu-m68hc12.c
|
||||
cpu-m68k.c
|
||||
cpu-m88k.c
|
||||
cpu-mcore.c
|
||||
cpu-mips.c
|
||||
cpu-ns32k.c
|
||||
cpu-pj.c
|
||||
cpu-powerpc.c
|
||||
cpu-rs6000.c
|
||||
cpu-sh.c
|
||||
cpu-sparc.c
|
||||
cpu-tic30.c
|
||||
cpu-tic54x.c
|
||||
cpu-tic80.c
|
||||
cpu-v850.c
|
||||
cpu-vax.c
|
||||
cpu-w65.c
|
||||
cpu-we32k.c
|
||||
cpu-z8k.c
|
||||
demo64.c
|
||||
dwarf1.c
|
||||
dwarf2.c
|
||||
ecoff.c
|
||||
ecofflink.c
|
||||
ecoffswap.h
|
||||
efi-app-ia32.c
|
||||
efi-app-ia64.c
|
||||
elf-bfd.h
|
||||
elf-hppa.h
|
||||
elf-m10200.c
|
||||
elf-m10300.c
|
||||
elf.c
|
||||
elf32-arc.c
|
||||
elf32-arm.h
|
||||
elf32-avr.c
|
||||
elf32-cris.c
|
||||
elf32-d10v.c
|
||||
elf32-d30v.c
|
||||
elf32-fr30.c
|
||||
elf32-gen.c
|
||||
elf32-hppa.c
|
||||
elf32-hppa.h
|
||||
elf32-i370.c
|
||||
elf32-i386.c
|
||||
elf32-i860.c
|
||||
elf32-i960.c
|
||||
elf32-m32r.c
|
||||
elf32-m68hc11.c
|
||||
elf32-m68hc12.c
|
||||
elf32-m68k.c
|
||||
elf32-m88k.c
|
||||
elf32-mcore.c
|
||||
elf32-mips.c
|
||||
elf32-pj.c
|
||||
elf32-ppc.c
|
||||
elf32-sh-lin.c
|
||||
elf32-sh.c
|
||||
elf32-sparc.c
|
||||
elf32-v850.c
|
||||
elf32.c
|
||||
elf64-alpha.c
|
||||
elf64-gen.c
|
||||
elf64-hppa.c
|
||||
elf64-hppa.h
|
||||
elf64-mips.c
|
||||
elf64-sparc.c
|
||||
elf64-x86-64.c
|
||||
elf64.c
|
||||
elfarm-nabi.c
|
||||
elfarm-oabi.c
|
||||
elfcode.h
|
||||
elfcore.h
|
||||
elflink.c
|
||||
elflink.h
|
||||
epoc-pe-arm.c
|
||||
epoc-pei-arm.c
|
||||
format.c
|
||||
freebsd.h
|
||||
genlink.h
|
||||
go32stub.h
|
||||
hash.c
|
||||
hp300bsd.c
|
||||
hp300hpux.c
|
||||
hpux-core.c
|
||||
i386aout.c
|
||||
i386bsd.c
|
||||
i386dynix.c
|
||||
i386freebsd.c
|
||||
i386linux.c
|
||||
i386lynx.c
|
||||
i386mach3.c
|
||||
i386msdos.c
|
||||
i386netbsd.c
|
||||
i386os9k.c
|
||||
ieee.c
|
||||
ihex.c
|
||||
init.c
|
||||
irix-core.c
|
||||
libaout.h
|
||||
libbfd.c
|
||||
libbfd.h
|
||||
libcoff.h
|
||||
libecoff.h
|
||||
libhppa.h
|
||||
libieee.h
|
||||
libnlm.h
|
||||
liboasys.h
|
||||
libpei.h
|
||||
linker.c
|
||||
lynx-core.c
|
||||
m68k4knetbsd.c
|
||||
m68klinux.c
|
||||
m68klynx.c
|
||||
m68knetbsd.c
|
||||
m88kmach3.c
|
||||
mipsbsd.c
|
||||
netbsd.h
|
||||
newsos3.c
|
||||
nlm-target.h
|
||||
nlm.c
|
||||
nlm32-alpha.c
|
||||
nlm32-i386.c
|
||||
nlm32-ppc.c
|
||||
nlm32-sparc.c
|
||||
nlm32.c
|
||||
nlm64.c
|
||||
nlmcode.h
|
||||
nlmswap.h
|
||||
ns32k.h
|
||||
ns32knetbsd.c
|
||||
oasys.c
|
||||
opncls.c
|
||||
osf-core.c
|
||||
pc532-mach.c
|
||||
pe-arm.c
|
||||
pe-i386.c
|
||||
pe-mcore.c
|
||||
pe-mips.c
|
||||
pe-ppc.c
|
||||
pe-sh.c
|
||||
pei-arm.c
|
||||
pei-i386.c
|
||||
pei-mcore.c
|
||||
pei-mips.c
|
||||
pei-ppc.c
|
||||
pei-sh.c
|
||||
peicode.h
|
||||
ppcboot.c
|
||||
reloc.c
|
||||
reloc16.c
|
||||
riscix.c
|
||||
sco5-core.c
|
||||
section.c
|
||||
som.c
|
||||
som.h
|
||||
sparclinux.c
|
||||
sparclynx.c
|
||||
sparcnetbsd.c
|
||||
srec.c
|
||||
stab-syms.c
|
||||
stabs.c
|
||||
sunos.c
|
||||
syms.c
|
||||
targets.c
|
||||
tekhex.c
|
||||
trad-core.c
|
||||
vaxnetbsd.c
|
||||
versados.c
|
||||
vms-gsd.c
|
||||
vms-hdr.c
|
||||
vms-misc.c
|
||||
vms-tir.c
|
||||
vms.c
|
||||
vms.h
|
||||
xcoff-target.h
|
||||
xcofflink.c
|
@ -1,3 +1,11 @@
|
||||
2001-06-29 James Cownie <jcownie@etnus.com>
|
||||
|
||||
* readelf.c: Support DWARF 2.1 attributes.
|
||||
|
||||
2001-06-27 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
|
||||
* objcopy.c (strip_main): Accept -o command line switch.
|
||||
|
||||
2001-06-11 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
Merge from mainline.
|
||||
|
@ -240,6 +240,7 @@ static struct option strip_options[] =
|
||||
{"keep-symbol", required_argument, 0, 'K'},
|
||||
{"output-format", required_argument, 0, 'O'}, /* Obsolete */
|
||||
{"output-target", required_argument, 0, 'O'},
|
||||
{"output-file", required_argument, 0, 'o'},
|
||||
{"preserve-dates", no_argument, 0, 'p'},
|
||||
{"remove-section", required_argument, 0, 'R'},
|
||||
{"strip-all", no_argument, 0, 's'},
|
||||
@ -772,7 +773,7 @@ filter_symbols (abfd, obfd, osyms, isyms, symcount)
|
||||
even if relocatable is false. External users of the
|
||||
library containing the $idata section may reference these
|
||||
symbols. */
|
||||
keep = 1;
|
||||
keep = 1;
|
||||
else if ((flags & BSF_GLOBAL) != 0 /* Global symbol. */
|
||||
|| (flags & BSF_WEAK) != 0
|
||||
|| bfd_is_und_section (bfd_get_section (sym))
|
||||
@ -782,6 +783,10 @@ filter_symbols (abfd, obfd, osyms, isyms, symcount)
|
||||
keep = (strip_symbols != STRIP_DEBUG
|
||||
&& strip_symbols != STRIP_UNNEEDED
|
||||
&& ! convert_debugging);
|
||||
else if (bfd_get_section (sym)->comdat)
|
||||
/* COMDAT sections store special information in local
|
||||
symbols, so we cannot risk stripping any of them. */
|
||||
keep = 1;
|
||||
else /* Local symbol. */
|
||||
keep = (strip_symbols != STRIP_UNNEEDED
|
||||
&& (discard_locals != LOCALS_ALL
|
||||
@ -1835,7 +1840,7 @@ strip_main (argc, argv)
|
||||
struct section_list *p;
|
||||
char *output_file = NULL;
|
||||
|
||||
while ((c = getopt_long (argc, argv, "b:i:I:j:K:N:s:O:d:F:L:G:R:SpgxXVvW:",
|
||||
while ((c = getopt_long (argc, argv, "I:O:F:K:N:R:o:sSpdgxXVv",
|
||||
strip_options, (int *) 0)) != EOF)
|
||||
{
|
||||
switch (c)
|
||||
@ -1967,7 +1972,7 @@ copy_main (argc, argv)
|
||||
struct section_list *p;
|
||||
struct stat statbuf;
|
||||
|
||||
while ((c = getopt_long (argc, argv, "b:i:I:j:K:N:s:O:d:F:L:R:SpgxXVvW:",
|
||||
while ((c = getopt_long (argc, argv, "b:i:I:j:K:N:s:O:d:F:L:G:R:SpgxXVvW:",
|
||||
copy_options, (int *) 0)) != EOF)
|
||||
{
|
||||
switch (c)
|
||||
@ -2360,10 +2365,8 @@ copy_main (argc, argv)
|
||||
output_target = input_target;
|
||||
|
||||
if (preserve_dates)
|
||||
{
|
||||
if (stat (input_filename, &statbuf) < 0)
|
||||
fatal (_("Cannot stat: %s: %s"), input_filename, strerror (errno));
|
||||
}
|
||||
if (stat (input_filename, & statbuf) < 0)
|
||||
fatal (_("Cannot stat: %s: %s"), input_filename, strerror (errno));
|
||||
|
||||
/* If there is no destination file then create a temp and rename
|
||||
the result into the input. */
|
||||
|
@ -2,7 +2,7 @@
|
||||
Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
Originally developed by Eric Youngdale <eric@andante.jic.com>
|
||||
Modifications by Nick Clifton <nickc@cygnus.com>
|
||||
Modifications by Nick Clifton <nickc@redhat.com>
|
||||
|
||||
This file is part of GNU Binutils.
|
||||
|
||||
@ -5896,6 +5896,20 @@ get_AT_name (attribute)
|
||||
case DW_AT_variable_parameter: return "DW_AT_variable_parameter";
|
||||
case DW_AT_virtuality: return "DW_AT_virtuality";
|
||||
case DW_AT_vtable_elem_location: return "DW_AT_vtable_elem_location";
|
||||
/* DWARF 2.1 values. */
|
||||
case DW_AT_allocated: return "DW_AT_allocated";
|
||||
case DW_AT_associated: return "DW_AT_associated";
|
||||
case DW_AT_data_location: return "DW_AT_data_location";
|
||||
case DW_AT_stride: return "DW_AT_stride";
|
||||
case DW_AT_entry_pc: return "DW_AT_entry_pc";
|
||||
case DW_AT_use_UTF8: return "DW_AT_use_UTF8";
|
||||
case DW_AT_extension: return "DW_AT_extension";
|
||||
case DW_AT_ranges: return "DW_AT_ranges";
|
||||
case DW_AT_trampoline: return "DW_AT_trampoline";
|
||||
case DW_AT_call_column: return "DW_AT_call_column";
|
||||
case DW_AT_call_file: return "DW_AT_call_file";
|
||||
case DW_AT_call_line: return "DW_AT_call_line";
|
||||
/* SGI/MIPS extensions. */
|
||||
case DW_AT_MIPS_fde: return "DW_AT_MIPS_fde";
|
||||
case DW_AT_MIPS_loop_begin: return "DW_AT_MIPS_loop_begin";
|
||||
case DW_AT_MIPS_tail_loop_begin: return "DW_AT_MIPS_tail_loop_begin";
|
||||
@ -5907,6 +5921,7 @@ get_AT_name (attribute)
|
||||
case DW_AT_MIPS_abstract_name: return "DW_AT_MIPS_abstract_name";
|
||||
case DW_AT_MIPS_clone_origin: return "DW_AT_MIPS_clone_origin";
|
||||
case DW_AT_MIPS_has_inlines: return "DW_AT_MIPS_has_inlines";
|
||||
/* GNU extensions. */
|
||||
case DW_AT_sf_names: return "DW_AT_sf_names";
|
||||
case DW_AT_src_info: return "DW_AT_src_info";
|
||||
case DW_AT_mac_info: return "DW_AT_mac_info";
|
||||
@ -6472,6 +6487,22 @@ decode_location_expression (data, pointer_size, length)
|
||||
printf ("DW_OP_nop");
|
||||
break;
|
||||
|
||||
/* DWARF 2.1 extensions. */
|
||||
case DW_OP_push_object_address:
|
||||
printf ("DW_OP_push_object_address");
|
||||
break;
|
||||
case DW_OP_call2:
|
||||
printf ("DW_OP_call2: <%lx>", (long) byte_get (data, 2));
|
||||
data += 2;
|
||||
break;
|
||||
case DW_OP_call4:
|
||||
printf ("DW_OP_call4: <%lx>", (long) byte_get (data, 4));
|
||||
data += 4;
|
||||
break;
|
||||
case DW_OP_calli:
|
||||
printf ("DW_OP_calli");
|
||||
break;
|
||||
|
||||
default:
|
||||
if (op >= DW_OP_lo_user
|
||||
&& op <= DW_OP_hi_user)
|
||||
@ -6725,10 +6756,25 @@ read_and_display_attr (attribute, form, data, cu_offset, pointer_size)
|
||||
}
|
||||
break;
|
||||
|
||||
case DW_AT_ordering:
|
||||
switch (uvalue)
|
||||
{
|
||||
case -1: printf ("(undefined)"); break;
|
||||
case 0: printf ("(row major)"); break;
|
||||
case 1: printf ("(column major)"); break;
|
||||
}
|
||||
break;
|
||||
|
||||
case DW_AT_frame_base:
|
||||
case DW_AT_location:
|
||||
case DW_AT_data_member_location:
|
||||
case DW_AT_vtable_elem_location:
|
||||
case DW_AT_allocated:
|
||||
case DW_AT_associated:
|
||||
case DW_AT_data_location:
|
||||
case DW_AT_stride:
|
||||
case DW_AT_upper_bound:
|
||||
case DW_AT_lower_bound:
|
||||
if (block_start)
|
||||
{
|
||||
printf ("(");
|
||||
|
69
contrib/binutils/configure
vendored
69
contrib/binutils/configure
vendored
@ -3,7 +3,7 @@
|
||||
### WARNING: this file contains embedded tabs. Do not run untabify on this file.
|
||||
|
||||
# Configuration script
|
||||
# Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1999
|
||||
# Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@ -804,46 +804,57 @@ fi
|
||||
|
||||
# If CC and CXX are not set in the environment, and the Makefile
|
||||
# exists, try to extract them from it. This is to handle running
|
||||
# ./config.status by hand.
|
||||
if [ -z "${CC}" ] && [ -r Makefile ]; then
|
||||
sed -n -e ':loop
|
||||
/\\$/ N
|
||||
s/\\\n//g
|
||||
t loop
|
||||
/^CC[ ]*=/ s/CC[ ]*=[ ]*\(.*\)/\1/p' < Makefile > Makefile.cc
|
||||
CC=`tail -1 Makefile.cc`
|
||||
rm -f Makefile.cc
|
||||
fi
|
||||
# ./config.status by hand. Do the same for various Makefile fragments
|
||||
# so that they can specify these vars.
|
||||
for file in Mafefile ${package_makefile_rules_frag} \
|
||||
${site:+config/ms-${site}} ${host_makefile_frag} \
|
||||
${target_makefile_frag} ${package_makefile_frag}
|
||||
do
|
||||
if ! test -r $file; then
|
||||
file=${srcdir}/${file}
|
||||
if ! test -r $file; then continue; fi
|
||||
fi
|
||||
|
||||
if [ -z "${CFLAGS}" ] && [ -r Makefile ]; then
|
||||
sed -n -e ':loop
|
||||
if [ -z "${CC}" ]; then
|
||||
sed -n -e ':loop
|
||||
/\\$/ N
|
||||
s/\\\n//g
|
||||
t loop
|
||||
/^CFLAGS[ ]*=/ s/CFLAGS[ ]*=[ ]*\(.*\)/\1/p' < Makefile > Makefile.cc
|
||||
CFLAGS=`tail -1 Makefile.cc`
|
||||
rm -f Makefile.cc
|
||||
fi
|
||||
/^CC[ ]*=/ s/CC[ ]*=[ ]*\(.*\)/\1/p' < $file > Makefile.cc
|
||||
CC=`tail -1 Makefile.cc`
|
||||
rm -f Makefile.cc
|
||||
fi
|
||||
|
||||
if [ -z "${CXX}" ] && [ -r Makefile ]; then
|
||||
sed -n -e ':loop
|
||||
if [ -z "${CFLAGS}" ]; then
|
||||
sed -n -e ':loop
|
||||
/\\$/ N
|
||||
s/\\\n//g
|
||||
t loop
|
||||
/^CXX[ ]*=/ s/CXX[ ]*=[ ]*\(.*\)/\1/p' < Makefile > Makefile.cc
|
||||
CXX=`tail -1 Makefile.cc`
|
||||
rm -f Makefile.cc
|
||||
fi
|
||||
/^CFLAGS[ ]*=/ s/CFLAGS[ ]*=[ ]*\(.*\)/\1/p' < $file > Makefile.cc
|
||||
CFLAGS=`tail -1 Makefile.cc`
|
||||
rm -f Makefile.cc
|
||||
fi
|
||||
|
||||
if [ -z "${CXXFLAGS}" ] && [ -r Makefile ]; then
|
||||
sed -n -e ':loop
|
||||
if [ -z "${CXX}" ]; then
|
||||
sed -n -e ':loop
|
||||
/\\$/ N
|
||||
s/\\\n//g
|
||||
t loop
|
||||
/^CXXFLAGS[ ]*=/ s/CXXFLAGS[ ]*=[ ]*\(.*\)/\1/p' < Makefile > Makefile.cc
|
||||
CXXFLAGS=`tail -1 Makefile.cc`
|
||||
rm -f Makefile.cc
|
||||
fi
|
||||
/^CXX[ ]*=/ s/CXX[ ]*=[ ]*\(.*\)/\1/p' < $file > Makefile.cc
|
||||
CXX=`tail -1 Makefile.cc`
|
||||
rm -f Makefile.cc
|
||||
fi
|
||||
|
||||
if [ -z "${CXXFLAGS}" ]; then
|
||||
sed -n -e ':loop
|
||||
/\\$/ N
|
||||
s/\\\n//g
|
||||
t loop
|
||||
/^CXXFLAGS[ ]*=/ s/CXXFLAGS[ ]*=[ ]*\(.*\)/\1/p' < $file > Makefile.cc
|
||||
CXXFLAGS=`tail -1 Makefile.cc`
|
||||
rm -f Makefile.cc
|
||||
fi
|
||||
done
|
||||
|
||||
# Generate a default definition for YACC. This is used if the makefile can't
|
||||
# locate bison or byacc in objdir.
|
||||
|
@ -60,7 +60,7 @@ fi
|
||||
# these tools are built for the host environment
|
||||
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
|
||||
# know that we are building the simulator.
|
||||
host_tools="byacc flex bison binutils ld gas gcc cgen sid sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find emacs emacs19 uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext zip"
|
||||
host_tools="texinfo byacc flex bison binutils ld gas gcc cgen sid sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find emacs emacs19 uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext zip"
|
||||
|
||||
# these libraries are built for the target environment, and are built after
|
||||
# the host libraries and the host tools (which may be a cross compiler)
|
||||
@ -127,6 +127,9 @@ appdirs=""
|
||||
# Work in distributions that contain no compiler tools, like Autoconf.
|
||||
if [ -d ${srcdir}/config ]; then
|
||||
case "${host}" in
|
||||
alpha*-*-freebsd*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-fbsdaxp"
|
||||
;;
|
||||
m68k-hp-hpux*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-hp300"
|
||||
;;
|
||||
|
@ -1,3 +1,22 @@
|
||||
2001-07-14 matthew green <mrg@eterna.com.au>
|
||||
|
||||
* configure.in (i386-*-netbsdelf*): New target.
|
||||
* configure: Regenerate.
|
||||
|
||||
2001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
|
||||
* ecoff.c (add_file): Only set debug_type to DEBUG_NONE if it is
|
||||
DEBUG_UNSPECIFIED.
|
||||
|
||||
2001-06-27 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
|
||||
* config/tc-arm.c (do_ldst): Use MVN to build simple inverted
|
||||
constants.
|
||||
|
||||
2000-06-20 Tom Rix <trix@redhat.com>
|
||||
|
||||
* config/tc-ppc.c (ppc_comm): Change default alignment to 4 bytes.
|
||||
|
||||
2001-06-18 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* config/tc-arm.c (do_msr): Remove restriction on usage of
|
||||
|
@ -4431,38 +4431,52 @@ do_ldst (str, flags)
|
||||
return;
|
||||
}
|
||||
|
||||
if (inst.reloc.exp.X_op == O_constant
|
||||
&& (value = validate_immediate (inst.reloc.exp.X_add_number)) != FAIL)
|
||||
if (inst.reloc.exp.X_op == O_constant)
|
||||
{
|
||||
/* This can be done with a mov instruction. */
|
||||
inst.instruction &= LITERAL_MASK;
|
||||
inst.instruction |= INST_IMMEDIATE | (OPCODE_MOV << DATA_OP_SHIFT);
|
||||
inst.instruction |= (flags & COND_MASK) | (value & 0xfff);
|
||||
end_of_line (str);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Insert into literal pool. */
|
||||
if (add_to_lit_pool () == FAIL)
|
||||
value = validate_immediate (inst.reloc.exp.X_add_number);
|
||||
|
||||
if (value != FAIL)
|
||||
{
|
||||
if (!inst.error)
|
||||
inst.error = _("literal pool insertion failed");
|
||||
/* This can be done with a mov instruction. */
|
||||
inst.instruction &= LITERAL_MASK;
|
||||
inst.instruction |= INST_IMMEDIATE | (OPCODE_MOV << DATA_OP_SHIFT);
|
||||
inst.instruction |= (flags & COND_MASK) | (value & 0xfff);
|
||||
end_of_line (str);
|
||||
return;
|
||||
}
|
||||
|
||||
value = validate_immediate (~ inst.reloc.exp.X_add_number);
|
||||
|
||||
/* Change the instruction exp to point to the pool. */
|
||||
if (halfword)
|
||||
if (value != FAIL)
|
||||
{
|
||||
inst.instruction |= HWOFFSET_IMM;
|
||||
inst.reloc.type = BFD_RELOC_ARM_HWLITERAL;
|
||||
/* This can be done with a mvn instruction. */
|
||||
inst.instruction &= LITERAL_MASK;
|
||||
inst.instruction |= INST_IMMEDIATE | (OPCODE_MVN << DATA_OP_SHIFT);
|
||||
inst.instruction |= (flags & COND_MASK) | (value & 0xfff);
|
||||
end_of_line (str);
|
||||
return;
|
||||
}
|
||||
else
|
||||
inst.reloc.type = BFD_RELOC_ARM_LITERAL;
|
||||
inst.reloc.pc_rel = 1;
|
||||
inst.instruction |= (REG_PC << 16);
|
||||
pre_inc = 1;
|
||||
}
|
||||
|
||||
/* Insert into literal pool. */
|
||||
if (add_to_lit_pool () == FAIL)
|
||||
{
|
||||
if (!inst.error)
|
||||
inst.error = _("literal pool insertion failed");
|
||||
return;
|
||||
}
|
||||
|
||||
/* Change the instruction exp to point to the pool. */
|
||||
if (halfword)
|
||||
{
|
||||
inst.instruction |= HWOFFSET_IMM;
|
||||
inst.reloc.type = BFD_RELOC_ARM_HWLITERAL;
|
||||
}
|
||||
else
|
||||
inst.reloc.type = BFD_RELOC_ARM_LITERAL;
|
||||
inst.reloc.pc_rel = 1;
|
||||
inst.instruction |= (REG_PC << 16);
|
||||
pre_inc = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2340,7 +2340,8 @@ static boolean ppc_stab_symbol;
|
||||
|
||||
/* The .comm and .lcomm pseudo-ops for XCOFF. XCOFF puts common
|
||||
symbols in the .bss segment as though they were local common
|
||||
symbols, and uses a different smclas. */
|
||||
symbols, and uses a different smclas. The native Aix 4.3.3 assember
|
||||
aligns .comm and .lcomm to 4 bytes. */
|
||||
|
||||
static void
|
||||
ppc_comm (lcomm)
|
||||
@ -2382,7 +2383,7 @@ ppc_comm (lcomm)
|
||||
{
|
||||
/* The third argument to .comm is the alignment. */
|
||||
if (*input_line_pointer != ',')
|
||||
align = 3;
|
||||
align = 2;
|
||||
else
|
||||
{
|
||||
++input_line_pointer;
|
||||
@ -2390,7 +2391,7 @@ ppc_comm (lcomm)
|
||||
if (align <= 0)
|
||||
{
|
||||
as_warn (_("ignoring bad alignment"));
|
||||
align = 3;
|
||||
align = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2399,11 +2400,7 @@ ppc_comm (lcomm)
|
||||
char *lcomm_name;
|
||||
char lcomm_endc;
|
||||
|
||||
if (size <= 1)
|
||||
align = 0;
|
||||
else if (size <= 2)
|
||||
align = 1;
|
||||
else if (size <= 4)
|
||||
if (size <= 4)
|
||||
align = 2;
|
||||
else
|
||||
align = 3;
|
||||
|
1
contrib/binutils/gas/configure
vendored
1
contrib/binutils/gas/configure
vendored
@ -2356,6 +2356,7 @@ for this_target in $target $canon_targets ; do
|
||||
i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
|
||||
i386-*-bsd*) fmt=aout em=386bsd ;;
|
||||
i386-*-netbsd0.8) fmt=aout em=386bsd ;;
|
||||
i386-*-netbsdelf*) fmt=elf em=nbsd bfd_gas=yes;;
|
||||
i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
|
||||
i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
|
||||
i386-*-linux*aout* | i386-*-linux*oldld) fmt=aout em=linux ;;
|
||||
|
@ -240,6 +240,7 @@ changequote([,])dnl
|
||||
i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
|
||||
i386-*-bsd*) fmt=aout em=386bsd ;;
|
||||
i386-*-netbsd0.8) fmt=aout em=386bsd ;;
|
||||
i386-*-netbsdelf*) fmt=elf em=nbsd bfd_gas=yes;;
|
||||
i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
|
||||
i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
|
||||
i386-*-linux*aout* | i386-*-linux*oldld) fmt=aout em=linux ;;
|
||||
|
@ -2220,7 +2220,7 @@ add_file (file_name, indx, fake)
|
||||
if (! symbol_table_frozen && debug_type == DEBUG_UNSPECIFIED)
|
||||
debug_type = DEBUG_ECOFF;
|
||||
}
|
||||
else
|
||||
else if (debug_type == DEBUG_UNSPECIFIED)
|
||||
debug_type = DEBUG_NONE;
|
||||
|
||||
#ifndef NO_LISTING
|
||||
|
@ -1,3 +1,7 @@
|
||||
2001-07-19 David O'Brien <obrien@FreeBSD.org>
|
||||
|
||||
* libiberty.h: Add lbasename.
|
||||
|
||||
2001-06-07 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* Many files: Update copyright notices.
|
||||
|
@ -1,3 +1,7 @@
|
||||
2001-06-29 James Cownie <jcownie@etnus.com>
|
||||
|
||||
* dwarf2.h: Add DWARF 2.1 attribues.
|
||||
|
||||
2001-06-11 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
Merge from mainline.
|
||||
|
@ -1,6 +1,7 @@
|
||||
/* Declarations and definitions of codes relating to the DWARF symbolic
|
||||
/* Declarations and definitions of codes relating to the DWARF2 symbolic
|
||||
debugging information format.
|
||||
Copyright 1992, 1993, 1995, 1996, 1999 Free Software Foundation, Inc.
|
||||
Copyright 1992, 1993, 1995, 1996, 1999, 2000, 2001
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
|
||||
Office (AJPO), Florida State Unviversity and Silicon Graphics Inc.
|
||||
@ -29,7 +30,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
Revision 2.0.0 (July 27, 1993) developed by the UNIX International
|
||||
Programming Languages Special Interest Group (UI/PLSIG) and distributed
|
||||
by UNIX International. Copies of this specification are available from
|
||||
UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054. */
|
||||
UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054.
|
||||
|
||||
|
||||
This file also now contains definitions from the DWARF 2.1 specification. */
|
||||
|
||||
/* This file is shared between GCC and GDB, and should not contain
|
||||
prototypes. */
|
||||
|
||||
#ifndef _ELF_DWARF2_H
|
||||
#define _ELF_DWARF2_H
|
||||
@ -121,7 +128,6 @@ DWARF2_Internal_ARange;
|
||||
|
||||
|
||||
/* Tag names and codes. */
|
||||
|
||||
enum dwarf_tag
|
||||
{
|
||||
DW_TAG_padding = 0x00,
|
||||
@ -172,18 +178,20 @@ enum dwarf_tag
|
||||
DW_TAG_variant_part = 0x33,
|
||||
DW_TAG_variable = 0x34,
|
||||
DW_TAG_volatile_type = 0x35,
|
||||
/* SGI/MIPS Extensions */
|
||||
/* SGI/MIPS Extensions. */
|
||||
DW_TAG_MIPS_loop = 0x4081,
|
||||
/* GNU extensions */
|
||||
DW_TAG_format_label = 0x4101, /* for FORTRAN 77 and Fortran 90 */
|
||||
/* GNU extensions. */
|
||||
DW_TAG_format_label = 0x4101, /* For FORTRAN 77 and Fortran 90. */
|
||||
DW_TAG_function_template = 0x4102, /* for C++ */
|
||||
DW_TAG_class_template = 0x4103 /* for C++ */
|
||||
DW_TAG_class_template = 0x4103, /* for C++ */
|
||||
DW_TAG_GNU_BINCL = 0x4104,
|
||||
DW_TAG_GNU_EINCL = 0x4105
|
||||
};
|
||||
|
||||
#define DW_TAG_lo_user 0x4080
|
||||
#define DW_TAG_hi_user 0xffff
|
||||
|
||||
/* flag that tells whether entry has a child or not */
|
||||
/* Flag that tells whether entry has a child or not. */
|
||||
#define DW_children_no 0
|
||||
#define DW_children_yes 1
|
||||
|
||||
@ -279,7 +287,20 @@ enum dwarf_attribute
|
||||
DW_AT_variable_parameter = 0x4b,
|
||||
DW_AT_virtuality = 0x4c,
|
||||
DW_AT_vtable_elem_location = 0x4d,
|
||||
/* SGI/MIPS Extensions */
|
||||
/* DWARF 2.1 values. */
|
||||
DW_AT_allocated = 0x4e,
|
||||
DW_AT_associated = 0x4f,
|
||||
DW_AT_data_location = 0x50,
|
||||
DW_AT_stride = 0x51,
|
||||
DW_AT_entry_pc = 0x52,
|
||||
DW_AT_use_UTF8 = 0x53,
|
||||
DW_AT_extension = 0x54,
|
||||
DW_AT_ranges = 0x55,
|
||||
DW_AT_trampoline = 0x56,
|
||||
DW_AT_call_column = 0x57,
|
||||
DW_AT_call_file = 0x58,
|
||||
DW_AT_call_line = 0x59,
|
||||
/* SGI/MIPS Extensions. */
|
||||
DW_AT_MIPS_fde = 0x2001,
|
||||
DW_AT_MIPS_loop_begin = 0x2002,
|
||||
DW_AT_MIPS_tail_loop_begin = 0x2003,
|
||||
@ -292,19 +313,18 @@ enum dwarf_attribute
|
||||
DW_AT_MIPS_clone_origin = 0x200a,
|
||||
DW_AT_MIPS_has_inlines = 0x200b,
|
||||
/* GNU extensions. */
|
||||
DW_AT_sf_names = 0x2101,
|
||||
DW_AT_src_info = 0x2102,
|
||||
DW_AT_mac_info = 0x2103,
|
||||
DW_AT_sf_names = 0x2101,
|
||||
DW_AT_src_info = 0x2102,
|
||||
DW_AT_mac_info = 0x2103,
|
||||
DW_AT_src_coords = 0x2104,
|
||||
DW_AT_body_begin = 0x2105,
|
||||
DW_AT_body_end = 0x2106
|
||||
DW_AT_body_end = 0x2106
|
||||
};
|
||||
|
||||
#define DW_AT_lo_user 0x2000 /* implementation-defined range start */
|
||||
#define DW_AT_hi_user 0x3ff0 /* implementation-defined range end */
|
||||
#define DW_AT_lo_user 0x2000 /* Implementation-defined range start. */
|
||||
#define DW_AT_hi_user 0x3ff0 /* Implementation-defined range end. */
|
||||
|
||||
/* Location atom names and codes. */
|
||||
|
||||
enum dwarf_location_atom
|
||||
{
|
||||
DW_OP_addr = 0x03,
|
||||
@ -451,14 +471,18 @@ enum dwarf_location_atom
|
||||
DW_OP_piece = 0x93,
|
||||
DW_OP_deref_size = 0x94,
|
||||
DW_OP_xderef_size = 0x95,
|
||||
DW_OP_nop = 0x96
|
||||
DW_OP_nop = 0x96,
|
||||
/* DWARF 2.1 extensions. */
|
||||
DW_OP_push_object_address = 0x97,
|
||||
DW_OP_call2 = 0x98, /* 1 2-byte offset of DIE. */
|
||||
DW_OP_call4 = 0x99, /* 1 4-byte offset of DIE. */
|
||||
DW_OP_calli = 0x9a
|
||||
};
|
||||
|
||||
#define DW_OP_lo_user 0x80 /* implementation-defined range start */
|
||||
#define DW_OP_hi_user 0xff /* implementation-defined range end */
|
||||
#define DW_OP_lo_user 0x80 /* Implementation-defined range start. */
|
||||
#define DW_OP_hi_user 0xff /* Implementation-defined range end. */
|
||||
|
||||
/* Type encodings. */
|
||||
|
||||
enum dwarf_type
|
||||
{
|
||||
DW_ATE_void = 0x0,
|
||||
@ -482,7 +506,7 @@ enum dwarf_array_dim_ordering
|
||||
DW_ORD_col_major = 1
|
||||
};
|
||||
|
||||
/* access attribute */
|
||||
/* Access attribute. */
|
||||
enum dwarf_access_attribute
|
||||
{
|
||||
DW_ACCESS_public = 1,
|
||||
@ -490,7 +514,7 @@ enum dwarf_access_attribute
|
||||
DW_ACCESS_private = 3
|
||||
};
|
||||
|
||||
/* visibility */
|
||||
/* Visibility. */
|
||||
enum dwarf_visibility_attribute
|
||||
{
|
||||
DW_VIS_local = 1,
|
||||
@ -498,7 +522,7 @@ enum dwarf_visibility_attribute
|
||||
DW_VIS_qualified = 3
|
||||
};
|
||||
|
||||
/* virtuality */
|
||||
/* Virtuality. */
|
||||
enum dwarf_virtuality_attribute
|
||||
{
|
||||
DW_VIRTUALITY_none = 0,
|
||||
@ -506,7 +530,7 @@ enum dwarf_virtuality_attribute
|
||||
DW_VIRTUALITY_pure_virtual = 2
|
||||
};
|
||||
|
||||
/* case sensitivity */
|
||||
/* Case sensitivity. */
|
||||
enum dwarf_id_case
|
||||
{
|
||||
DW_ID_case_sensitive = 0,
|
||||
@ -515,7 +539,7 @@ enum dwarf_id_case
|
||||
DW_ID_case_insensitive = 3
|
||||
};
|
||||
|
||||
/* calling convention */
|
||||
/* Calling convention. */
|
||||
enum dwarf_calling_convention
|
||||
{
|
||||
DW_CC_normal = 0x1,
|
||||
@ -526,7 +550,7 @@ enum dwarf_calling_convention
|
||||
#define DW_CC_lo_user 0x40
|
||||
#define DW_CC_hi_user 0xff
|
||||
|
||||
/* inline attribute */
|
||||
/* Inline attribute. */
|
||||
enum dwarf_inline_attribute
|
||||
{
|
||||
DW_INL_not_inlined = 0,
|
||||
@ -535,14 +559,14 @@ enum dwarf_inline_attribute
|
||||
DW_INL_declared_inlined = 3
|
||||
};
|
||||
|
||||
/* descriminant lists */
|
||||
/* Descriminant lists. */
|
||||
enum dwarf_descrim_list
|
||||
{
|
||||
DW_DSC_label = 0,
|
||||
DW_DSC_range = 1
|
||||
};
|
||||
|
||||
/* line number opcodes */
|
||||
/* Line number opcodes. */
|
||||
enum dwarf_line_number_ops
|
||||
{
|
||||
DW_LNS_extended_op = 0,
|
||||
@ -557,7 +581,7 @@ enum dwarf_line_number_ops
|
||||
DW_LNS_fixed_advance_pc = 9
|
||||
};
|
||||
|
||||
/* line number extended opcodes */
|
||||
/* Line number extended opcodes. */
|
||||
enum dwarf_line_number_x_ops
|
||||
{
|
||||
DW_LNE_end_sequence = 1,
|
||||
@ -565,7 +589,7 @@ enum dwarf_line_number_x_ops
|
||||
DW_LNE_define_file = 3
|
||||
};
|
||||
|
||||
/* call frame information */
|
||||
/* Call frame information. */
|
||||
enum dwarf_call_frame_info
|
||||
{
|
||||
DW_CFA_advance_loc = 0x40,
|
||||
@ -586,8 +610,20 @@ enum dwarf_call_frame_info
|
||||
DW_CFA_def_cfa = 0x0c,
|
||||
DW_CFA_def_cfa_register = 0x0d,
|
||||
DW_CFA_def_cfa_offset = 0x0e,
|
||||
/* SGI/MIPS specific */
|
||||
DW_CFA_MIPS_advance_loc8 = 0x1d
|
||||
DW_CFA_def_cfa_expression = 0x0f,
|
||||
DW_CFA_expression = 0x10,
|
||||
/* Dwarf 2.1. */
|
||||
DW_CFA_offset_extended_sf = 0x11,
|
||||
DW_CFA_def_cfa_sf = 0x12,
|
||||
DW_CFA_def_cfa_offset_sf = 0x13,
|
||||
|
||||
/* SGI/MIPS specific. */
|
||||
DW_CFA_MIPS_advance_loc8 = 0x1d,
|
||||
|
||||
/* GNU extensions. */
|
||||
DW_CFA_GNU_window_save = 0x2d,
|
||||
DW_CFA_GNU_args_size = 0x2e,
|
||||
DW_CFA_GNU_negative_offset_extended = 0x2f
|
||||
};
|
||||
|
||||
#define DW_CIE_ID 0xffffffff
|
||||
@ -603,7 +639,6 @@ enum dwarf_call_frame_info
|
||||
#define DW_ADDR_none 0
|
||||
|
||||
/* Source language names and codes. */
|
||||
|
||||
enum dwarf_source_language
|
||||
{
|
||||
DW_LANG_C89 = 0x0001,
|
||||
@ -621,11 +656,10 @@ enum dwarf_source_language
|
||||
};
|
||||
|
||||
|
||||
#define DW_LANG_lo_user 0x8000 /* implementation-defined range start */
|
||||
#define DW_LANG_hi_user 0xffff /* implementation-defined range start */
|
||||
#define DW_LANG_lo_user 0x8000 /* Implementation-defined range start. */
|
||||
#define DW_LANG_hi_user 0xffff /* Implementation-defined range start. */
|
||||
|
||||
/* Names and codes for macro information. */
|
||||
|
||||
enum dwarf_macinfo_record_type
|
||||
{
|
||||
DW_MACINFO_define = 1,
|
||||
@ -634,5 +668,4 @@ enum dwarf_macinfo_record_type
|
||||
DW_MACINFO_end_file = 4,
|
||||
DW_MACINFO_vendor_ext = 255
|
||||
};
|
||||
|
||||
#endif /* _ELF_DWARF2_H */
|
||||
|
@ -81,6 +81,10 @@ extern char *basename ();
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* A well-defined basename () that is always compiled in. */
|
||||
|
||||
extern char *lbasename PARAMS ((const char *));
|
||||
|
||||
/* Concatenate an arbitrary number of strings, up to (char *) NULL.
|
||||
Allocates memory using xmalloc. */
|
||||
|
||||
|
@ -1,3 +1,29 @@
|
||||
2001-07-19 David O'Brien <obrien@FreeBSD.org>
|
||||
|
||||
* emultempl/elf32.em: Do not assuming that contents of the buffer
|
||||
returned from basename function will remain unchanged accross other
|
||||
function calls.
|
||||
|
||||
2001-07-19 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
|
||||
* ldlang.c (lang_leave_overlay): If a region is specified assign
|
||||
it to all sections inside the overlay unless they have been
|
||||
assigned to the own, non-default, memory region.
|
||||
|
||||
2001-07-14 matthew green <mrg@eterna.com.au>
|
||||
|
||||
* configure.tgt (i386-*-netbsdelf*): New target.
|
||||
(i386-*-netbsd*): Set targ_extra_emuls to `elf_i386'
|
||||
|
||||
2001-06-27 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* emulparams/hppa64linux.sh: New file.
|
||||
* configure.tgt: hppa*64*-*-linux* uses hppa64linux.sh
|
||||
* Makefile.am (ALL_64_EMULATIONS): Add ehppa64linux.o
|
||||
(ehppa64linux.c): Add rule to make it.
|
||||
Run "make dep-am".
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2001-06-07 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* elf_x86_64.sh (NONPAGED_TEXT_START_ADDR): Increase.
|
||||
|
@ -248,7 +248,8 @@ ALL_64_EMULATIONS = \
|
||||
eelf64bmip.o \
|
||||
eelf64btsmip.o \
|
||||
eelf64ltsmip.o \
|
||||
eelf64hppa.o
|
||||
eelf64hppa.o \
|
||||
ehppa64linux.o
|
||||
|
||||
ALL_EMUL_EXTRA_OFILES = \
|
||||
deffilep.o \
|
||||
@ -560,6 +561,9 @@ ehppalinux.c: $(srcdir)/emulparams/hppalinux.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/hppaelf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} hppalinux "$(tdir_hppalinux)"
|
||||
ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} hppa64linux "$(tdir_hppa64linux)"
|
||||
ei386aout.c: $(srcdir)/emulparams/i386aout.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} i386aout "$(tdir_i386aout)"
|
||||
|
@ -357,7 +357,8 @@ ALL_64_EMULATIONS = \
|
||||
eelf64bmip.o \
|
||||
eelf64btsmip.o \
|
||||
eelf64ltsmip.o \
|
||||
eelf64hppa.o
|
||||
eelf64hppa.o \
|
||||
ehppa64linux.o
|
||||
|
||||
|
||||
ALL_EMUL_EXTRA_OFILES = \
|
||||
@ -1274,6 +1275,9 @@ ehppalinux.c: $(srcdir)/emulparams/hppalinux.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/hppaelf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} hppalinux "$(tdir_hppalinux)"
|
||||
ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} hppa64linux "$(tdir_hppa64linux)"
|
||||
ei386aout.c: $(srcdir)/emulparams/i386aout.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} i386aout "$(tdir_i386aout)"
|
||||
|
@ -144,7 +144,12 @@ i[3456]86-*-sysv[45]*) targ_emul=elf_i386 ;;
|
||||
i[3456]86-*-solaris2*) targ_emul=elf_i386 ;;
|
||||
i[3456]86-*-unixware) targ_emul=elf_i386 ;;
|
||||
i[3456]86-*-solaris*) targ_emul=elf_i386 ;;
|
||||
i[3456]86-*-netbsd*) targ_emul=i386nbsd ;;
|
||||
i[3456]86-*-netbsdelf*) targ_emul=elf_i386
|
||||
targ_extra_emuls=i386nbsd
|
||||
;;
|
||||
i[3456]86-*-netbsd*) targ_emul=i386nbsd
|
||||
targ_extra_emuls=elf_i386
|
||||
;;
|
||||
i[3456]86-*-netware) targ_emul=i386nw ;;
|
||||
i[3456]86-*-elf*) targ_emul=elf_i386 ;;
|
||||
i[3456]86-*-freebsdaout* | i[3456]86-*-freebsd[12].* | i[3456]86-*-freebsd[12])
|
||||
@ -242,6 +247,7 @@ m68*-hp*-netbsd*) targ_emul=m68k4knbsd ;;
|
||||
m68*-*-netbsd*) targ_emul=m68knbsd ;;
|
||||
m68*-*-psos*) targ_emul=m68kpsos ;;
|
||||
m68*-*-rtems*) targ_emul=m68kcoff ;;
|
||||
hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
|
||||
hppa*64*-*) targ_emul=elf64hppa ;;
|
||||
hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
|
||||
hppa*-*-*elf*) targ_emul=hppaelf ;;
|
||||
|
@ -142,7 +142,7 @@ gld${EMULATION_NAME}_vercheck (s)
|
||||
|
||||
soname = bfd_elf_get_dt_soname (s->the_bfd);
|
||||
if (soname == NULL)
|
||||
soname = basename (bfd_get_filename (s->the_bfd));
|
||||
soname = lbasename (bfd_get_filename (s->the_bfd));
|
||||
|
||||
for (l = global_vercheck_needed; l != NULL; l = l->next)
|
||||
{
|
||||
@ -224,7 +224,7 @@ gld${EMULATION_NAME}_stat_needed (s)
|
||||
|
||||
soname = bfd_elf_get_dt_soname (s->the_bfd);
|
||||
if (soname == NULL)
|
||||
soname = basename (s->filename);
|
||||
soname = lbasename (s->filename);
|
||||
|
||||
if (strncmp (soname, global_needed->name,
|
||||
suffix - global_needed->name) == 0)
|
||||
@ -329,7 +329,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
|
||||
einfo ("%F%P:%B: bfd_stat failed: %E\n", abfd);
|
||||
|
||||
/* First strip off everything before the last '/'. */
|
||||
soname = basename (abfd->filename);
|
||||
soname = lbasename (abfd->filename);
|
||||
|
||||
if (trace_file_tries)
|
||||
info_msg (_("found %s at %s\n"), soname, name);
|
||||
|
@ -4766,10 +4766,13 @@ lang_leave_overlay (fill, memspec, phdrs, lma_memspec)
|
||||
const char *lma_memspec;
|
||||
{
|
||||
lang_memory_region_type *region;
|
||||
lang_memory_region_type * default_region;
|
||||
lang_memory_region_type *lma_region;
|
||||
struct overlay_list *l;
|
||||
struct lang_nocrossref *nocrossref;
|
||||
|
||||
default_region = lang_memory_region_lookup ("*default*");
|
||||
|
||||
if (memspec == NULL)
|
||||
region = NULL;
|
||||
else
|
||||
@ -4789,8 +4792,15 @@ lang_leave_overlay (fill, memspec, phdrs, lma_memspec)
|
||||
|
||||
if (fill != 0 && l->os->fill == 0)
|
||||
l->os->fill = fill;
|
||||
if (region != NULL && l->os->region == NULL)
|
||||
|
||||
/* Assign a region to the sections, if one has been specified.
|
||||
Override the assignment of the default section, but not
|
||||
other sections. */
|
||||
if (region != NULL &&
|
||||
(l->os->region == NULL ||
|
||||
l->os->region == default_region))
|
||||
l->os->region = region;
|
||||
|
||||
/* We only set lma_region for the first overlay section, as
|
||||
subsequent overlay sections will have load_base set relative
|
||||
to the first section. Also, don't set lma_region if
|
||||
@ -4800,6 +4810,7 @@ lang_leave_overlay (fill, memspec, phdrs, lma_memspec)
|
||||
if (lma_region != NULL && l->os->lma_region == NULL
|
||||
&& l->next == NULL && l->os->load_base == NULL)
|
||||
l->os->lma_region = lma_region;
|
||||
|
||||
if (phdrs != NULL && l->os->phdrs == NULL)
|
||||
l->os->phdrs = phdrs;
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
2001-07-19 David O'Brien <obrien@FreeBSD.org>
|
||||
|
||||
* lbasename.c: New file.
|
||||
|
||||
2000-12-29 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* fnmatch.c: Make the note about the origins of this file more
|
||||
|
@ -128,7 +128,8 @@ CFILES = asprintf.c alloca.c argv.c atexit.c basename.c bcmp.c bcopy.c \
|
||||
bzero.c calloc.c choose-temp.c clock.c concat.c cplus-dem.c \
|
||||
cp-demangle.c dyn-string.c fdmatch.c fnmatch.c getcwd.c \
|
||||
getpwd.c getopt.c getopt1.c getpagesize.c getruntime.c \
|
||||
floatformat.c hashtab.c hex.c index.c insque.c md5.c memchr.c \
|
||||
floatformat.c hashtab.c hex.c index.c insque.c lbasename.c \
|
||||
md5.c memchr.c \
|
||||
memcmp.c memcpy.c memmove.c memset.c mkstemps.c objalloc.c obstack.c \
|
||||
partition.c pexecute.c putenv.c random.c rename.c rindex.c setenv.c \
|
||||
sigsetmask.c safe-ctype.c sort.c spaces.c splay-tree.c strcasecmp.c \
|
||||
@ -140,7 +141,8 @@ CFILES = asprintf.c alloca.c argv.c atexit.c basename.c bcmp.c bcopy.c \
|
||||
# These are always included in the library.
|
||||
REQUIRED_OFILES = argv.o choose-temp.o concat.o cplus-dem.o cp-demangle.o \
|
||||
dyn-string.o fdmatch.o fnmatch.o getopt.o getopt1.o getpwd.o \
|
||||
getruntime.o hashtab.o hex.o floatformat.o md5.o objalloc.o obstack.o \
|
||||
getruntime.o hashtab.o hex.o floatformat.o lbasename.o md5.o \
|
||||
objalloc.o obstack.o \
|
||||
partition.o pexecute.o safe-ctype.o sort.o spaces.o splay-tree.o \
|
||||
strerror.o strsignal.o xatexit.o xexit.o xmalloc.o xmemdup.o \
|
||||
xstrdup.o xstrerror.o
|
||||
@ -276,6 +278,7 @@ getpwd.o: config.h $(INCDIR)/libiberty.h
|
||||
getruntime.o: config.h $(INCDIR)/libiberty.h
|
||||
hex.o: $(INCDIR)/libiberty.h
|
||||
floatformat.o: $(INCDIR)/floatformat.h
|
||||
lbasename.o: $(INCDIR)/libiberty.h
|
||||
mkstemps.o: config.h
|
||||
md5.o: config.h
|
||||
objalloc.o: config.h $(INCDIR)/objalloc.h
|
||||
|
89
contrib/binutils/libiberty/lbasename.c
Normal file
89
contrib/binutils/libiberty/lbasename.c
Normal file
@ -0,0 +1,89 @@
|
||||
/* Libiberty basename. Like basename, but is not overridden by the
|
||||
system C library.
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the libiberty library.
|
||||
Libiberty is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
Libiberty is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with libiberty; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
NAME
|
||||
lbasename -- return pointer to last component of a pathname
|
||||
|
||||
SYNOPSIS
|
||||
char *lbasename (const char *name)
|
||||
|
||||
DESCRIPTION
|
||||
Given a pointer to a string containing a typical pathname
|
||||
(/usr/src/cmd/ls/ls.c for example), returns a pointer to the
|
||||
last component of the pathname ("ls.c" in this case). The
|
||||
returned pointer is guaranteed to lie within the original
|
||||
string. This latter fact is not true of many vendor C
|
||||
libraries, which return special strings or modify the passed
|
||||
strings for particular input.
|
||||
|
||||
In particular, the empty string returns the same empty string,
|
||||
and a path ending in '/' returns the empty string after it.
|
||||
*/
|
||||
|
||||
#include "ansidecl.h"
|
||||
#include "libiberty.h"
|
||||
#include "safe-ctype.h"
|
||||
|
||||
#ifndef DIR_SEPARATOR
|
||||
# define DIR_SEPARATOR '/'
|
||||
#endif
|
||||
|
||||
#if defined (_WIN32) || defined (__MSDOS__) \
|
||||
|| defined (__DJGPP__) || defined (__OS2__)
|
||||
# define HAVE_DOS_BASED_FILE_SYSTEM
|
||||
# ifndef DIR_SEPARATOR_2
|
||||
# define DIR_SEPARATOR_2 '\\'
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Define IS_DIR_SEPARATOR. VMS uses '::', ':', '[...]' and '<...>' to
|
||||
separate the different components of a file specification. It's a
|
||||
bit of a stretch to call ':', ']' and '>' directory separators, so
|
||||
just define the test to find the file name component. */
|
||||
#ifdef VMS
|
||||
# define IS_DIR_SEPARATOR(ch) ((ch) == ':' || (ch) == ']' || (ch) == '>')
|
||||
#else
|
||||
# ifndef DIR_SEPARATOR_2
|
||||
# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
|
||||
# else
|
||||
# define IS_DIR_SEPARATOR(ch) \
|
||||
(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
|
||||
# endif
|
||||
#endif
|
||||
|
||||
char *
|
||||
lbasename (name)
|
||||
const char *name;
|
||||
{
|
||||
const char *base;
|
||||
|
||||
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
|
||||
/* Skip over a possible disk name. */
|
||||
if (ISALPHA (name[0]) && name[1] == ':')
|
||||
name += 2;
|
||||
#endif
|
||||
|
||||
for (base = name; *name; name++)
|
||||
if (IS_DIR_SEPARATOR (*name))
|
||||
base = name + 1;
|
||||
|
||||
return (char *) base;
|
||||
}
|
@ -1,3 +1,11 @@
|
||||
2001-07-16 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR.
|
||||
|
||||
2001-07-03 Zoltan Hidvegi <hzoli@hzoli.2y.net>
|
||||
|
||||
* ppc-opc.c: Fix encoding of 'clf' instruction.
|
||||
|
||||
2001-06-11 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
Merge from mainline.
|
||||
|
@ -201,7 +201,7 @@ print_insn_arm (pc, info, given)
|
||||
offset = - offset;
|
||||
|
||||
/* pre-indexed */
|
||||
func (stream, ", #%x]", offset);
|
||||
func (stream, ", #%d]", offset);
|
||||
|
||||
offset += pc + 8;
|
||||
|
||||
@ -215,7 +215,7 @@ print_insn_arm (pc, info, given)
|
||||
else
|
||||
{
|
||||
/* Post indexed. */
|
||||
func (stream, "], #%x", offset);
|
||||
func (stream, "], #%d", offset);
|
||||
|
||||
offset = pc + 8; /* ie ignore the offset. */
|
||||
}
|
||||
@ -280,7 +280,7 @@ print_insn_arm (pc, info, given)
|
||||
if ((given & 0x00800000) == 0)
|
||||
offset = -offset;
|
||||
|
||||
func (stream, "[pc, #%x]\t; ", offset);
|
||||
func (stream, "[pc, #%d]\t; ", offset);
|
||||
|
||||
(*info->print_address_func)
|
||||
(offset + pc + 8, info);
|
||||
|
@ -2480,7 +2480,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
|
||||
{ "mtsrdin", X(31,114), XRA_MASK, PPC64, { RS, RB } },
|
||||
|
||||
{ "clf", X(31,118), XRB_MASK, POWER, { RT, RA } },
|
||||
{ "clf", X(31,118), XTO_MASK, POWER, { RA, RB } },
|
||||
|
||||
{ "lbzux", X(31,119), X_MASK, COM, { RT, RAL, RB } },
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user