Commit graph

67054 commits

Author SHA1 Message Date
Matthew Gretton-Dann
60e5ef9f19 * gas/config/tc-arm.c (arm_ext_mp): Add.
(do_pld): Update comment.
	(insns): Add support for pldw.
	(arm_cpus): Update cortex-a5, cortex-a9, and cortex-a15 to support
	MP extension.
	(arm_extensions): Add 'mp' extension.
	(aeabi_set_public_attributes): Emit correct build attribute when
	MP extension is enabled.
	* gas/doc/c-arm.texi: Update for MP extensions.
	* gas/testsuite/gas/arm/arch7a-mp.d: Add.
	* gas/testsuite/gas/arm/arch7ar-mp.s: Likewise.
	* gas/testsuite/gas/arm/arch7r-mp.d: Likewise.
	* gas/testsuite/gas/arm/armv2-mp-bad.d: Likewise.
	* gas/testsuite/gas/arm/armv2-mp-bad.l: Likewise.
	* gas/testsuite/gas/arm/attr-march-all.d: Update for MP extension.
	* gas/testsuite/gas/arm/attr-march-armv7-a+mp.d: Add.
	* gas/testsuite/gas/arm/attr-march-armv7-r+mp.d: Likewise.
	* include/opcode/arm.h (ARM_EXT_MP): Add.
	(ARM_ARCH_V7A_MP): Likewise.
	* opcodes/arm-dis.c (arm_opcodes): Add support for pldw.
	(thumb32_opcodes): Likewise.
2010-09-23 15:18:19 +00:00
Matthew Gretton-Dann
6913386316 * gas/config/tc-arm.c (md_pseduo_table): Add .arch_extension directive.
(arm_option_extension_value_table): Add.
	(arm_extensions): Change type.
	(arm_option_cpu_table): Rename...
	(arm_option_fpu_table): ...to this.
	(arm_fpus): Change type.
	(arm_parse_extension): Enforce alphabetical order.  Allow
	extensions to be removed.
	(arm_parse_arch): Allow extensions to be specified with -march.
	(s_arm_arch_extension): Add.
	(s_arm_fpu): Update for type changes.
	* gas/doc/c-arm.texi: Document changes to infrastructure.
2010-09-23 15:11:56 +00:00
Alan Modra
78336cd61f * ld-elf/elf.exp: Don't run --gc-sections tls var test on v850.
* ld-elf/group2.d: xfail xstormy.
	* ld-elf/group4.d: Likewise.
	* ld-elf/group5.d: Likewise.
	* ld-elf/group6.d: Likewise.
	* ld-elf/init-fini-arrays.d: xfail cr16 and crx.
	* ld-elf/orphan2.d: xfail xstormy.
	* ld-elf/sec64k.exp: Don't run on targets using generic linker.
	Allow a larger range for ld -r expected bar_1 section.  Don't run
	final link test on a number of targets.  Select avr6 for avr targets.
	* ld-elfcomm/elfcomm.exp: Don't attempt on hpux.
2010-09-23 12:24:41 +00:00
Alan Modra
c4990c4b1f * gas/all/gas.exp: Update "forward" and "redef3" xfails.
* gas/m68k/all.exp: Don't xfail pcrel on uclinux.
	* gas/sh/arch/arch.exp: Don't pass dashes to send_log.
2010-09-23 12:15:55 +00:00
Alan Modra
57b3551ee8 * config/tc-mn10300.c (tc_gen_reloc): Replace absolute symbols
with the absolute section symbol.
2010-09-23 12:11:31 +00:00
Alan Modra
4cd2845651 * binutils-all/ar.exp: Don't run unique_symbol on msp or hpux.
* binutils-all/copy-2.d: Update not-target list.
	* binutils-all/note-1.d: Don't run on h8300.
	* binutils-all/objcopy.exp: Don't run strip-10 on msp or hpux.
	(objcopy_test): Remove h8300-rtems from xfails.
2010-09-23 12:04:37 +00:00
Alan Modra
009600a9b7 * ld-d10v/reloc-007.d: Don't error.
* ld-d10v/reloc-008.d: Likewise.
	* ld-d10v/reloc-015.d: Likewise.
	* ld-d10v/reloc-016.d: Likewise.
	* ld-d10v/reloc-012.ld: Use a sane offset.
2010-09-23 11:55:47 +00:00
Alan Modra
70a0e63d55 * cpu-d10v.c: Make bits_per_address 18 for all arch_info entries. 2010-09-23 11:55:01 +00:00
Alan Modra
0814be7d69 ld/
* ldlang.c (lang_add_section): Don't copy SEC_RELOC from input
	to output section on a final link.
bfd/
	* elf.c (_bfd_elf_init_private_section_data): Allow for SEC_RELOC
	difference between input and output section.
2010-09-23 11:40:06 +00:00
Maciej W. Rozycki
b7cf0db702 * gas/mips/jal.d: Remove duplicate pattern. 2010-09-23 00:11:22 +00:00
gdbadmin
0b4ed05a91 *** empty log message *** 2010-09-23 00:00:33 +00:00
Alan Modra
1feaeeee6a daily update 2010-09-23 00:00:04 +00:00
Joel Brobecker
39383a48f7 [Ada] Do not compute task ptid when debugging core file
After thread support over core files was added for GNU/Linux was added,
we started noticing the following type of crash when trying to perform
task switches (this is a bit accademic, since task switching is not
supported when debugging core files - this is what our testcase was
verifying).

(please check out the comment inside ada-tasks.c:task_command for
more details on this topic)

The reason for the crash comes from the fact that the GNU/Linux thread
layer now gets pushed on the target stack, causing the associated
to_get_ada_task_ptid target method to be activated.  This routine
makes the assumption that, for all threads, the private area is not
NULL.  This is incorrect in the case of core files, as the core layer
creates some threads with no private data.

But, taking a step back, we don't need to try to compute the task ptid,
as we'll never be using it anyways (we only use it for task switching).
So the fix is to avoid the ptid computation altogether when debugging
a core file.

gdb/ChangeLog:

        * ada-tasks.c (read_atcb): Do not compute the task ptid when
        debugging a core file.
2010-09-22 22:50:54 +00:00
Mike Frysinger
7a360e83fc opcodes: blackfin: fix decoding of 32bit addresses on 64bit systems
The Blackfin ISA is very exact with regards to address truncation when
under/over flowing its 32bit range.  On a 32bit system, things work the
same and so addresses are decoded properly.  On a 64bit system though,
the decoded addresses may include the bits that are supposed to have
been truncated.  So force a 32bit truncation after the address has been
calculated.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:55:17 +00:00
Mike Frysinger
35fc57f38c opcodes: blackfin: fix decoding of all register move insns
Many register move insns were not being decoded properly, so rewrite
the whole function to be a bit more manageable in terms of valid
combinations.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:54:33 +00:00
Mike Frysinger
219b747a3b opcodes: blackfin: fix decoding of many invalid insns
The Blackfin disassembler was originally based on the premise of parsing
valid opcodes all the time, so some of the opcode checking can be a bit
fuzzy.  This is exemplified in decoding of parallel insns where many
times things are decoded as invalid when in reality, they may not be
used in parallel combinations.  So add parallel checking to most insn
decoding routines so we see ILLEGAL and not just whatever insn happens
to be close to a valid mnemonic, as well as some additional sub-opcode
checks.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:53:46 +00:00
Mike Frysinger
775f1cf0c2 opcodes: blackfin: mark push/pop insns with a P6/P7 range as illegal
The push/pop multiple insn has a 3 bit field for the P register range,
but only values of 0...5 are valid (P0 - P5).  There is no such P6 or
P7 register, so mark these insns as illegal.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:53:14 +00:00
Mike Frysinger
0b7691fd6e opcodes: blackfin: fix decoding of vector shift insn w/saturation
The saturation bit was missed when decoding a vector shift insn
leading to the output looking the same as the non-saturating insn.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:41:39 +00:00
Mike Frysinger
b2459327a6 opcodes: blackfin: decode all ASTAT bits
All ASTAT bits work in the hardware even though they aren't part of the
official Blackfin ISA.  So decode every ASTAT field to make the output
a bit nicer when working with hand generated opcodes.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:39:08 +00:00
Mike Frysinger
50e2162a22 opcodes: blackfin: decode insns with invalid register as illegal
Sometimes the encoding in the opcode is a 4 bit field which defines a
register number.  However, register numbers are only 0-7, so make sure
we call illegal for when the opcode register number is greater than 8.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:38:20 +00:00
Mike Frysinger
1c37c8cebb MAINTAINERS: add myself for Blackfin parts
I know a thing or two about Blackfin parts, and if I can't find the
answer, I can usually locate someone who does.  Especially since Jie
and Bernd no longer work for ADI :(.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:36:09 +00:00
Mike Frysinger
f9e3222117 gas: blackfin: fix typo in BYTEOP16P comment
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:34:10 +00:00
Mike Frysinger
db3b8e53b5 gas: blackfin: reject multiple store insns in parallel insns
Check for & reject attempts to use multiple store insns in a single
parallel insn combination.  These are illegal per the Blackfin ISA.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:31:18 +00:00
Mike Frysinger
9d2eed0673 gas: blackfin: add missing register move insns
The Blackfin ISA supports moving just about anything to/from EMUDAT, so
make sure the assembler accepts these insns too.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:30:35 +00:00
Mike Frysinger
a2c28b80f1 gas: blackfin: clarify some errors with register usage in insns
Using "Register mismatch" everywhere can be a bit vague, so clarify
why exactly we're barfing on these unsupported insns.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:29:41 +00:00
Mike Frysinger
a01eda858f gas: blackfin: fix DBG/DBGCMPLX insn encoding
Some extended registers when given to the DBG/DBGCMPLX pseudo insns are
not encoded properly.  So fix them, fix the display of them when being
disassembled, and add testcases.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:26:13 +00:00
Mike Frysinger
efda024297 gas: blackfin: handle multibyte symbols
Accept any 8bit char with the high bit set so as to support multibyte
characters.  Also use the locale safe regular expressions to match
chars/digits.  This brings the Blackfin assembler inline with the
behavior of other assemblers.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:08:31 +00:00
Mike Frysinger
22215ae09b opcodes/gas: blackfin: handle more ASTAT flags
Support a few more ASTAT bits with the standard insns that operate on
ASTAT bits directly.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 21:05:03 +00:00
Mike Frysinger
73a63ccf2f opcodes/gas: blackfin: support OUTC debug insn
The disassembler has partial (but incomplete/broken) support already for
the pseudo debug insn OUTC, so let's fix it up and finish it.  And now
that the disassembler can handle it, make sure our assembler can output
it too.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 20:59:00 +00:00
Mike Frysinger
59a82d2333 opcodes: blackfin: fix decoding of LSHIFT insns
The Blackfin ISA does not have a "SHIFT" insn, it has either LSHIFT,
ASHIFT, or BXORSHIFT.  So be specific when disassembling.

As fall out of this change, we need to update some assembler tests.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 20:37:25 +00:00
Mike Frysinger
528c6277f7 opcodes: blackfin: constify formatting related structures
No need for these local structures related to formatting of output to
be writable, so constify the whole shebang.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 20:32:40 +00:00
Mike Frysinger
1b182c3c15 gas: blackfin: support ABORT debug insn
There is a pseudo debug insn named ABORT that is commonly used in
simulation, so support it in the assembler too.  The disassembler
already supports it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 20:21:32 +00:00
Mike Frysinger
302080128a gas: blackfin: add support for BF51x-0.2 processors
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 20:19:53 +00:00
Mike Frysinger
6e38d38491 gas: blackfin: add support for BF592 processors
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 20:17:51 +00:00
Joel Brobecker
a176ad9221 Fix order of ChangeLog entries.
(entry added at wrong location by patch).
2010-09-22 20:08:04 +00:00
Joel Brobecker
05692c42a6 preserve columnar alignment.
gdb/testsuite/ChangeLog:

        * gdb.dwarf2/dw2-const.S: Minor (space) reformatting.
2010-09-22 20:06:58 +00:00
Jan Kratochvil
d31d2fc374 gdb/
Code cleanup.
	* objfiles.c (allocate_objfile) <objfile->name != NULL>: Remove.
	(free_objfile) <objfile->name != NULL>: Remove the conditional around
	xfree.
	* objfiles.h (struct objfile) <name>: New comment it is never NULL.
	* python/py-auto-load.c (auto_load_new_objfile) <!objfile->name>:
	Remove.
	* python/py-objfile.c (objfpy_get_filename) <obj->objfile->name>
	Remove the conditional.
	* python/py-progspace.c (pspy_get_filename) <objfile->name>: Likewise.
2010-09-22 20:00:53 +00:00
Jan Kratochvil
7f6130ff85 gdb/
* main.c: Include objfiles.h.
	(captured_main): New variable objfile.  Call
	load_auto_scripts_for_objfile for ALL_OBJFILES.
2010-09-22 19:59:15 +00:00
Jan Kratochvil
c2b0a2291a gdb/
* dwarf2read.c (die_needs_namespace) <DW_TAG_variable>: Add also
	DW_TAG_constant.

gdb/testsuite/
	* gdb.fortran/module.exp (fully qualified name of DW_TAG_constant):
	New test.
	* gdb.fortran/module.f90 (mod1) <var_const>: New constant.
2010-09-22 19:22:44 +00:00
Mike Frysinger
7286ec15a4 gas: blackfin: allow end-of-line comments via #
We don't use the # character in the Blackfin assembly language, so let it
start end-of-line comments like most other assemblers.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-09-22 19:17:19 +00:00
Joel Brobecker
e8ae22d197 [testsuite] dw2-const.S: fix type reference size on 64bit platforms.
The testcase was failing on various 64bit platforms, because the
debugging info said that the target type for a const type is a
4-byte reference.  In the asm file, I used a .long directive, but
the size of .long is of course dependent on the platform.  This
replaces this .long by a .4byte directive.

gdb/testsuite/ChangeLog:

        * gdb.dwarf2/dw2-const.S: Use .4byte to reference the target
        type of our const type.
2010-09-22 19:13:40 +00:00
Joel Brobecker
72929c628e DWARF: Add support for DW_TAG_constant DIEs
gdb/ChangeLog:

        * dwarf2read.c (scan_partial_symbols): Add handling of
        DW_TAG_constant DIEs.
        (add_partial_symbol, load_partial_dies, new_symbol): Likewise.

gdb/testsuite/ChangeLog:

        * gdb.dwarf2/dw2-const.S, gdb.dwarf2/dw2-const.exp: New files.
2010-09-22 16:15:34 +00:00
Joel Brobecker
496c0e1ba7 Allow disabling of gdbserver build (--enable-gdbserver=yes/no/auto).
This patch adds a new --enable-gdbserver=yes/no/auto command-line switch
in gdb/configure.  The primary purpose is to allow a user to disable the
build & install of gdbserver when not desired.  It also allows the user
to request gdbserver in which case the configure script will abort if
automatic building of gdbserver is not supported for that configuration.

The default keeps things as is: We automatically build gdbserver if
building for a native configuration and if gdbserver is supported for
that configuration.

gdb/ChangeLog:

        * configure.ac: Add support for --enable-gdbserver.
        * configure: Regenerate.

At AdaCore, this is mostly intended for ia64-linux, where we currently
do not want to distribute gdbserver.  This will be useful in the context
of I417-033, where we are now using "make install" to determine what
needs to be packaged inside the GNAT Pro package.
2010-09-22 16:15:01 +00:00
Tom Tromey
e846761004 * gdb.texinfo (Values From Inferior): Mention Value.__init__. 2010-09-22 15:51:43 +00:00
Sami Wagiaalla
ec32282347 Fix PR 12028: "GDB crashes on a double free during overload resolution "
2010-09-22  Sami Wagiaalla  <swagiaal@redhat.com>

	PR C++/12028
	* valops.c (find_oload_champ_namespace_loop): removed incorrect
	'old_cleanups' reassignment.

2010-09-22  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.cp/pr12028.cc: New.
	* gdb.cp/pr12028.exp: New.
2010-09-22 15:48:59 +00:00
Kai Tietz
e4b0fe2fa7 2010-09-22 Kai Tietz <kai.tietz@onevision.com>
* ldlang.c (lang_add_section): Allow for debugging
        section to be marked as noload but to keep content.
        (IGNORE_SECTION): Likewise.
        (lang_check_section_addresses): Likewise.
        * ldwrite.c (build_link_order): Likewise.
2010-09-22 14:20:24 +00:00
Kai Tietz
72e4db75e8 2010-09-22 Kai Tietz <kai.tietz@onevision.com>
* coffcode.h (sec_to_styp_flags): Adjust debug
        sections to be conform to pe-coff specification
        and avoid marking them as excluded.
        (styp_to_sec_flags): Doing reverse mapping.
2010-09-22 14:19:35 +00:00
Eli Zaretskii
fccd1d1e5f gdb.texinfo (Values From Inferior): Clarify that
value.dynamic_type works only in C++ programs with RTTI.
2010-09-22 09:13:31 +00:00
Kai Tietz
d487497340 2010-09-22 Kai Tietz <kai.tietz@onevision.com>
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add
        idata to orphan set.
        * emultempl/pep.em: Likewise.
        * scripttempl/armcoff.sc: Separate idata
        and add __IAT_start__ and __IAT_end__ labels.
        * scripttempl/pe.sc: Likewise.
        * scripttempl/pep.sc: Likewise.
2010-09-22 08:03:42 +00:00
Kai Tietz
cb2f80e68a 2010-09-22 Kai Tietz <kai.tietz@onevision.com>
* peXXigen.c (_bfd_XXi_final_link_postscript):
        Add handling for setting IAT directory entry.
2010-09-22 08:01:56 +00:00