H.J. Lu [Thu, 22 Apr 2010 20:02:55 +0000 (20:02 +0000)]
Remove amd64_linux_gregset64_reg_offset.
2010-04-22 H.J. Lu <hongjiu.lu@intel.com>
* amd64-linux-nat.c (amd64_linux_gregset64_reg_offset): Removed.
(_initialize_amd64_linux_nat): Replace
amd64_linux_gregset64_reg_offset with
amd64_linux_gregset_reg_offset.
* amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Make it
global.
* amd64-tdep.h (amd64_linux_gregset_reg_offset): New.
Jan Kratochvil [Thu, 22 Apr 2010 16:32:43 +0000 (16:32 +0000)]
gdb/doc/
* gdb.texinfo (Data): New @menu reference to Pretty Printing.
(Python API): Change the reference to Pretty Printing API.
(Pretty Printing): Move the user part under the Data node. Reformat
the sample output to 72 columns. Create a new reference to Pretty
Printing API. Rename the API part ...
(Pretty Printing API): To a new node name.
(Selecting Pretty-Printers, Progspaces In Python, Objfiles In Python)
(GDB/MI Variable Objects): Change references to Pretty Printing API.
Nick Clifton [Thu, 22 Apr 2010 14:37:16 +0000 (14:37 +0000)]
Updated translation templates.
Updated Bulgarian translation.
Updated Finnish translations.
Updated French translations.
Updated Vietnamese translations.
H.J. Lu [Thu, 22 Apr 2010 14:12:42 +0000 (14:12 +0000)]
Add icf_virtual_function_folding_test to check_PROGRAMS.
2010-04-22 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/Makefile.am (check_PROGRAMS): Add
icf_virtual_function_folding_test.
* testsuite/Makefile.in: Regenerated.
Pierre Muller [Thu, 22 Apr 2010 13:37:18 +0000 (13:37 +0000)]
PR stabs/11479.
* gdb.stabs/gdb11479.exp: New file.
* gdb.stabs/gdb11479.c: New file.
Pierre Muller [Thu, 22 Apr 2010 12:34:24 +0000 (12:34 +0000)]
* Remove unwanted space in set_length_in_type_chain parameterdeclaration
Pierre Muller [Thu, 22 Apr 2010 12:30:55 +0000 (12:30 +0000)]
PR stabs/11479.
* stabsread.c (set_length_in_type_chain): New function.
(read_struct_type): Call set_length_in_type_chain function.
(read_enum_type): Idem.
Stan Shebs [Thu, 22 Apr 2010 04:14:15 +0000 (04:14 +0000)]
2010-04-21 Stan Shebs <stan@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
* tracepoint.c (trace_save): Open in binary mode.
Stan Shebs [Thu, 22 Apr 2010 04:09:25 +0000 (04:09 +0000)]
2010-04-21 Stan Shebs <stan@codesourcery.com>
* gdb.texinfo (Tracepoint Actions): Mention synonymy of actions
and commands.
(Listing Tracepoints): Update to reflect current behavior.
H.J. Lu [Thu, 22 Apr 2010 03:10:48 +0000 (03:10 +0000)]
Remove i386_is_register.
2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (i386_is_register): Removed.
(x86_cons): Don't use i386_is_register.
(parse_register): Likewise.
* config/tc-i386-intel.c (i386_intel_simplify): Likewise.
(i386_intel_operand): Likewise.
Mike Frysinger [Thu, 22 Apr 2010 02:18:32 +0000 (02:18 +0000)]
sim: profile: implement --profile-file backend
Need to update the sim_profile_print_bar() call after the common/ changes.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Alan Modra [Thu, 22 Apr 2010 01:51:01 +0000 (01:51 +0000)]
bfd/
* elf.c (assign_file_positions_for_load_sections): Revert 2008-05-29
change. Tidy. Don't error on sections not allocated in segment.
ld/testsuite/
* ld-elf/extract-symbol-1sec.d: Update lma.
* ld-i386/alloc.d: Expect a warning, not an error.
H.J. Lu [Thu, 22 Apr 2010 01:01:34 +0000 (01:01 +0000)]
Don't use i386_is_register in tc_x86_parse_to_dw2regnum.
2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (tc_x86_parse_to_dw2regnum): Don't use
i386_is_register.
H.J. Lu [Thu, 22 Apr 2010 00:43:38 +0000 (00:43 +0000)]
Remove is_intel_syntax from i386_is_register.
2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (i386_is_register): Remove is_intel_syntax.
(x86_cons): Updated.
(parse_register): Likewise.
(tc_x86_parse_to_dw2regnum): Likewise.
* config/tc-i386-intel.c (i386_intel_simplify): Likewise.
(i386_intel_operand): Likewise.
Mike Frysinger [Thu, 22 Apr 2010 00:40:44 +0000 (00:40 +0000)]
sim: profile: implement --profile-file backend
Need to update the sim_profile_print_bar() call after the common/ changes.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Thu, 22 Apr 2010 00:40:14 +0000 (00:40 +0000)]
sim: profile: implement --profile-file backend
The common/ code uses sim_cpu rather than SIM_CPU to avoid inter-header
dependency issues, so follow convention to fix building some targets.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Thu, 22 Apr 2010 00:26:08 +0000 (00:26 +0000)]
sim: profile: implement --profile-file backend
The profile code already has options and handling for accepting a file to
write the profile output like the trace code, but it doesn't actually use
it. At the moment, it simply opens the file at the start and closes it at
the end. So add two new local functions the way the trace code is doing
it and have them figure out whether to write the output to stdout or the
specified file. Then convert all existing output in the profile code to
use these helpers.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
gdbadmin [Thu, 22 Apr 2010 00:00:35 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 22 Apr 2010 00:00:06 +0000 (00:00 +0000)]
daily update
Pierre Muller [Wed, 21 Apr 2010 23:21:04 +0000 (23:21 +0000)]
gdb ChangeLog
* gdbtypes.h (builtin_type): Add builtin_char16 and builtin_char32
fields.
* gdbtypes.c (gdbtypes_post_init): Set builtin_char16 and
builtin_char32 fields.
* printcmd.c (decode_format): Set char size to '\0'
for strings unless explicit size is given.
(print_formatted): Correct calculation of NEXT_ADDRESS
for 16 or 32 bit strings.
(do_examine): Do not force byte size for strings.
Use builtin_char16 and builtin_char32 types to display
16 or 32 bit-wide strings.
(x_command): Set LAST_SIZE to 'b' for string type.
gdb/doc ChangeLog
* gdb.texinfo (Examining memory): Update for
change in string display with explicit size.
gdb/testsuite ChangeLog
* gdb.base/charset.c (Strin16, String32): New variables.
* gdb.base/charset.exp (gdb_test): Test correct display
of 16 or 32 bit strings.
H.J. Lu [Wed, 21 Apr 2010 20:23:03 +0000 (20:23 +0000)]
Reformat.
H.J. Lu [Wed, 21 Apr 2010 20:22:20 +0000 (20:22 +0000)]
Properly read i386 coredump.
2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
PR corefiles/11523
* amd64-linux-tdep.c (amd64_linux_core_read_description): Check
XCR0 first.
* i386-linux-tdep.c (i386_linux_core_read_xcr0): Return 0 if
there is no .reg-xstate section.
(i386_linux_core_read_description): Check XCR0 first.
Mike Frysinger [Wed, 21 Apr 2010 20:13:41 +0000 (20:13 +0000)]
gdb: workaround sparc memcpy fortify error
Building on an x86_64-linux system with --enable-targets=all fails on the
sparc code with a fortify error:
cc1: warnings being treated as errors
In file included from /usr/include/string.h:640,
from gnulib/string.h:23,
from ../../gdb/gdb_string.h:25,
from ../../gdb/vec.h:25,
from ../../gdb/memattr.h:24,
from ../../gdb/target.h:60,
from ../../gdb/exec.h:23,
from ../../gdb/gdbcore.h:31,
from ../../gdb/sparc-tdep.c:29:
In function 'memcpy',
inlined from 'sparc32_store_return_value' at ../../gdb/sparc-tdep.c:1112,
inlined from 'sparc32_return_value' at ../../gdb/sparc-tdep.c:1170:
/usr/include/bits/string3.h:52: error: call to __builtin___memcpy_chk will
always overflow destination buffer
make: *** [sparc-tdep.o] Error 1
This is due to the gcc optimizer bug PR37060, so tweak the gdb_assert ()
to avoid the issue.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Joseph Myers [Wed, 21 Apr 2010 18:56:45 +0000 (18:56 +0000)]
gas/testsuite:
* gas/tic6x/insns-c674x.s, gas/tic6x/insns-c674x.d: Also test
"b .S2 b3".
include/opcode:
* tic6x-insn-formats.h (s_branch): Correct typo in bitmask.
H.J. Lu [Wed, 21 Apr 2010 18:17:45 +0000 (18:17 +0000)]
Revert the accidental checkin.
H.J. Lu [Wed, 21 Apr 2010 18:09:52 +0000 (18:09 +0000)]
Properly handle ".equ symbol, reg + NUM" in x86 Intel syntax.
gas/
2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11509
* config/tc-i386-intel.c (i386_intel_simplify_register): New.
(i386_intel_simplify): Use i386_is_register and
i386_intel_simplify_register. Set X_md for O_register and
check X_md for O_constant.
(i386_intel_operand): Use i386_is_register.
* config/tc-i386.c (i386_is_register): New.
(x86_cons): Initialize the X_md field. Use i386_is_register.
(parse_register): Use i386_is_register.
(tc_x86_parse_to_dw2regnum): Likewise.
gas/testsuite/
2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11509
* gas/i386/equ.s: Add tests for ".equ symbol, reg + NUM".
* gas/i386/equ.d: Updated.
Chris Moller [Wed, 21 Apr 2010 17:33:54 +0000 (17:33 +0000)]
PR 9167
* cp-valprint.c (cp_print_value_fields): Replaced obstack_base()
method of popping recursion-detection stack with a method based on
obstack_object_size().
* gdb.cp/Makefile.in (EXECUTABLES): Added pr9167.
* gdb.cp/pr9167.cc: New file.
* gdb.cp/pr9167.exp: New file.
H.J. Lu [Wed, 21 Apr 2010 17:10:44 +0000 (17:10 +0000)]
Initialize the X_md field.
2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
* expr.c (expr): Initialize the X_md field.
Andrew Haley [Wed, 21 Apr 2010 16:32:31 +0000 (16:32 +0000)]
2010-04-15 Andrew Haley <aph@redhat.com>
* emultempl/armelf.em (merge_exidx_entries): New variable.
(OPTION_NO_MERGE_EXIDX_ENTRIES): New definition.
("no-merge-exidx-entries"): New option.
* ld.texinfo (merge-exidx-entries): Document this option.
2010-04-15 Andrew Haley <aph@redhat.com>
* bfd-in.h (elf32_arm_fix_exidx_coverage): Add new flag:
merge_exidx_entries.
* bfd-in2.h: Likewise.
* elf32-arm.c (elf32_arm_fix_exidx_coverage): Likewise. Use it to
control merging of exidx entries.
2010-04-15 Andrew Haley <aph@redhat.com>
* options.h (merge_exidx_entries): New option.
* arm.cc (class Arm_exidx_fixup): Add new arg, merge_exidx_entries.
(class Arm_exidx_fixup::merge_exidx_entries_): New member.
(Output_section::fix_exidx_coverage): Add new arg, merge_exidx_entries.
(Target_arm::merge_exidx_entries): New function.
(process_exidx_entry): Don't merge if merge_exidx_entries_ is false.
(Arm_output_section::fix_exidx_coverage): Pass merge_exidx_entries
to Arm_exidx_fixup constructor.
Add new arg, merge_exidx_entries.
(Target_arm::fix_exidx_coverage): pass merge_exidx_entries to
Arm_output_section::fix_exidx_coverage.
Aleksandar Ristovski [Wed, 21 Apr 2010 13:42:56 +0000 (13:42 +0000)]
* Makefile.in (nto_low_h nto-low.o nto-x86-low.o): New dependency lists.
* nto-x86-low.c: Include server.h
Pierre Muller [Wed, 21 Apr 2010 09:54:59 +0000 (09:54 +0000)]
gdb ChangeLog
PR pascal/11492.
* p-valprint.c (pascal_val_print): Fix default printing of integer
arrays.
gdb/testsuite ChangeLog
PR pascal/11492.
* gdb.pascal/gdb11492.pas: New file.
* gdb.pascal/gdb11492.exp: New file.
Pierre Muller [Wed, 21 Apr 2010 08:44:51 +0000 (08:44 +0000)]
Fix compilation warning on gcc-4.1.2.
* rs6000-aix-tdep.c (rs6000_convert_from_func_ptr_addr): Initialize
local variable`pc' to zero.
Doug Evans [Wed, 21 Apr 2010 03:27:35 +0000 (03:27 +0000)]
* gdb.base/source-test.gdb: New file.
Remove duplicate entry.
gdbadmin [Wed, 21 Apr 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 21 Apr 2010 00:00:04 +0000 (00:00 +0000)]
daily update
Joel Brobecker [Tue, 20 Apr 2010 23:14:12 +0000 (23:14 +0000)]
Implement thread support with core files on alpha-tru64
Thread support currently does not work with core files. Note that,
in order to thread support to work on tru64, one need to allow GDB
to write in the core file (this is because the thread debug library
needs to write).
An obvious visible symptom of the problem is that "info threads" does
not list the various threads:
(gdb) info threads
* 1 <main task> 0x000003ff805c0918 in __nxm_thread_kill ()
from /usr/shlib/libpthread.so
One other noticeable consequence is that GDB generates some warnings
when using "info tasks":
(gdb) info tasks
warning: Could not find thread id from THREAD = 0x3ffc01b6000
warning: Could not find thread id from THREAD = 0x20000e2b4c0
ID TID P-ID Pri State Name
* 1
140051000 0 30 Runnable main_task
* 2
14005c000 1 30 Accept or Select Term my_t
(notice also how both tasks are marked as being the active task,
which cannot be true).
The problem is that the dec-thread module has not updated its thread list
after the core file got loaded. In fact, the list only gets resync'ed
at the end of each target-wait. The solution was to implement the
find_new_threads target_ops method.
gdb/ChangeLog:
Implement thread support with core files on alpha-tru64.
* dec-thread.c (dec_thread_find_new_threads): New function,
extracted from resync_thread_list.
(resync_thread_list): Add OPS parameter. Replace extracted-out
code by call to dec_thread_find_new_threads.
(dec_thread_wait): Update call to resync_thread_list.
(init_dec_thread_ops): Set dec_thread_ops.to_find_new_threads.
Joel Brobecker [Tue, 20 Apr 2010 22:51:24 +0000 (22:51 +0000)]
Add missing directory name in last ChangeLog entry.
Joel Brobecker [Tue, 20 Apr 2010 22:40:36 +0000 (22:40 +0000)]
[AVR] inferior call of subprogram with pointer as argument
On AVR, the gdb view of an address is different from the machine view of the
same address. We need to use special machinery implemented by value_pointer
to take the pointer of a value.
For instance, considering the following function...
procedure Trace (Unit : T; Message : String);
... where T is an access Integer (a pointer to an integer), call to this
function currently triggers the following warnings:
(gdb) call debug.trace (me, "You")
warning: Value does not fit in 16 bits.
warning: Value does not fit in 16 bits.
Tracing message: You
It could have been worse if Trace actually tried to dereference the Unit
argument...
gdb/ChangeLog (from Tristan Gingold):
* ada-lang.c (value_pointer): New function.
(make_array_descriptor): Call value_pointer to convert addresses to
pointers.
Tested on avr and x86_64-linux.
Joel Brobecker [Tue, 20 Apr 2010 22:38:54 +0000 (22:38 +0000)]
[AIX] Memory error while checking if pointer is descriptor.
A long time ago (Oct 2009), I noticed a problem on AIX, where something
failed with an error while the debugger was checking whether an address
was a descriptor or not. Unfortunately, like an idiot, I forgot to write
notes about the scenario where the problem occured - I am usually pretty
meticulous about that because my memory of these things is really bad.
I hope you'll forgive me for not providing a solid testcase - if it's
any consolation, I've searched for a long time before giving up :-(.
Based on the testsuite reports that I have, I think that this happened
while inserting a breakpoint, as follow:
(gdb) break x
Cannot access memory at address 0x200093b4
What happened is that rs6000_convert_from_func_ptr_addr tried to read
the memory at the given address, and fail because of an exception.
It seems pretty clear that, if the address was in fact a descriptor,
GDB would have been able to read the target memory region.
So this patch protects the memory-read against exceptions, and treats
such exceptions as an indication that our address is not a descriptor.
gdb/ChangeLog:
* rs6000-aix-tdep.c: #include exceptions.h.
(rs6000_convert_from_func_ptr_addr): If an exception is thrown
while reading the memory at ADDR, then ADDR cannot be a function
descriptor.
Joel Brobecker [Tue, 20 Apr 2010 22:38:02 +0000 (22:38 +0000)]
"unsupported language" error in info types when using Ada.
This implements a rudimentary version of the la_print_typedef method
for Ada. Ada usually does not use typedefs, but there is one exception:
pointers to unconstrained arrays. Without this patch, we sometimes
get an error in the "info types" output:
(gdb) info types new_integer_type
All types matching regular expression "new_integer_type":
File foo.adb:
Language not supported.
For now, we treat the typedef as if it did not exist - using the
underlying type instead. This is the right thing to do for most cases,
the only exception being access to array types. Since we already have
a general issue in handling these pointers (we confuse them with fat
pointers), we will enhance ada_print_typedef to handle these pointers
at the same time we address the general issue.
gdb/ChangeLog:
* ada-typeprint.c (ada_print_typedef): New function.
* ada-lang.h (ada_print_typedef): Add declaration.
* ada-lang.c (ada_language_defn): set la_print_typdef field
to ada_print_typedef.
gdb/testsuite/ChangeLog:
* info_types.c, info_types.exp: New files.
Tested on x86_64-linux.
Joel Brobecker [Tue, 20 Apr 2010 22:36:35 +0000 (22:36 +0000)]
Unused function in procfs.c on alpha-tru64.
The procfs_address_to_host_pointer function was not used outside of
alpha-tru64, and thus was triggering a compiler warning. Adjusted
accordingly.
gdb/ChangeLog:
* procfs.c (procfs_address_to_host_pointer): Only define when used.
Joel Brobecker [Tue, 20 Apr 2010 22:35:58 +0000 (22:35 +0000)]
procfs.c: iterate_over_mappings callback has wrong profile.
The function proc_find_memory_regions calls iterate_over_mappings as
follow:
> return iterate_over_mappings (pi, func, data,
> find_memory_regions_callback);
The problem is that both func and find_memory_regions_callback
do not match the profile expected by iterate_over_mappings:
> iterate_over_mappings (procinfo *pi, int (*child_func) (), void *data,
> int (*func) (struct prmap *map,
> int (*child_func) (),
> void *data))
We cannot change proc_find_memory_regions such that FUNC is a pointer
to a function that takes no argument (in place of the 6 that it has).
This is because proc_find_memory_regions is used as a target_ops method.
However, it turns out that changing iterate_over_mappings to conform
to the profile imposed by the target_ops vector is possible without
much effort.
gdb/ChangeLog:
* procfs.c (iterate_over_mappings_cb_ftype): New typedef.
(iterate_over_mappings): Adjust function profile. Add declaration.
(insert_dbx_link_bpt_in_region, info_mappings_callback):
Adjust accordingly.
Joel Brobecker [Tue, 20 Apr 2010 22:35:03 +0000 (22:35 +0000)]
procfs.c: Move solib_mappings_callback up to avoid compiler warning.
There are currently 2 issues with the placement of this routine:
- It's defined after it is being used (causing an implicit declaration);
- It looks like it's being defined all the time, whereas it is used
only on mips-irix (AFAICT) - shouldn't have this triggered a warning
on sparc-solaris, for instance???
In any case, this patch moves this function up, inside the right region,
just before the function where it is actually used.
gdb/ChangeLog:
* procfs.c (solib_mappings_callback): Move function up to avoid
a compiler warning.
Joel Brobecker [Tue, 20 Apr 2010 22:34:09 +0000 (22:34 +0000)]
procfs.c: Move find_signalled_thread and find_stop_signal.
These two functions are only used from procfs_make_note_section, which
itself is only defined if:
#if defined (UNIXWARE) || defined (PIOCOPENLWP) || defined (PCAGENT)
So these two functions are unused on mips-irix, and they get flagged
by -Wunused-function. This patch simply moves these functions closer
to the function that uses them, which also has the effect of putting
them inside the same #if block as procfs_make_note_section. Thus
they are defined only when used.
gdb/ChangeLog:
* procfs.c (find_signalled_thread, find_stop_signal): Move
these functions down to define them only when used.
Joel Brobecker [Tue, 20 Apr 2010 22:26:57 +0000 (22:26 +0000)]
Wrong value printed by info locals for dynamic object.
The problem is printing the wrong value for dynamic local variables
when using the "info locals" command. Consider the following code:
procedure Print (I1 : Positive; I2 : Positive) is
type My_String is array (I1 .. I2) of Character;
I : My_String := (others => 'A');
S : String (1 .. I2 + 3) := (others => ' ');
begin
S (I1 .. I2) := String (I); -- BREAK
Put_Line (S);
end Print;
After the debugger stopped at BREAK, we try printing all local variables.
Here is what we get:
(gdb) info locals
i = "["00"]["00"]"
s = "["00"]["00"]["00"]["00"]["00"]["00"]["00"]["00"]"
Curiously, printing their value using the "print" command works:
(gdb) print i
$1 = "AA"
(gdb) print s
$2 = " "
We traced the problem to trying to get the contents of a variable
(call to value_contents) before "fix'ing" it. For those not familiar
with the Ada language support, "fixing" a value consists of swapping
the value's dynamic type with a static version that is appropriate
for our actual value. As a result, the dynamic type was used to
determine the value size, which is zero, and thus the value contents
was empty.
gdb/ChangeLog:
* valprint.c (common_val_print): Fix the value before extracting
its contents.
* ada-lang.c (ada_to_fixed_value): Make this function extern.
* ada-lang.h (ada_to_fixed_value): New function declaration.
* ada-valprint.c (ada_value_print): Use ada_to_fixed_value
to avoid code duplication and fix a bug in the handling of
fixed types contents.
gdb/testsuite/ChangeLog:
* gdb.ada/dyn_loc: New testcase.
Joseph Myers [Tue, 20 Apr 2010 22:03:00 +0000 (22:03 +0000)]
bfd:
* elf32-tic6x.h: New.
* elf-bfd.h (enum elf_target_id): Define TIC6X_ELF_DATA.
* elf32-tic6x.c (struct elf32_tic6x_obj_tdata, elf32_tic6x_tdata,
elf32_tic6x_howto_table_rel, elf32_tic6x_info_to_howto_rel,
elf32_tic6x_set_use_rela_p, elf32_tic6x_mkobject,
elf32_tic6x_new_section_hook, elf32_tic6x_rel_relocation_p,
bfd_elf32_mkobject, bfd_elf32_new_section_hook): New.
(elf32_tic6x_reloc_type_lookup, elf32_tic6x_reloc_name_lookup,
elf32_tic6x_relocate_section): Handle REL relocations.
(elf_info_to_howto_rel): Define to elf32_tic6x_info_to_howto_rel.
gas:
* config/tc-tic6x.c (OPTION_MGENERATE_REL): New.
(md_longopts): Add -mgenerate-rel.
(tic6x_generate_rela): New.
(md_parse_option): Handle -mgenerate-rel.
(md_show_usage): Add comment that -mgenerate-rel is undocumented.
(tic6x_init_after_args): New.
(md_apply_fix): Correct shift calculations for SB-relative
relocations.
(md_pcrel_from): Change to tic6x_pcrel_from_section. Do not
adjust addresses for relocations referencing symbols in other
sections.
(tc_gen_reloc): Adjust addend calculations for REL relocations.
* config/tc-tic6x.h (MD_PCREL_FROM_SECTION,
tic6x_pcrel_from_section, tc_init_after_args,
tic6x_init_after_args): New.
ld/testsuite:
* ld-tic6x/data-reloc-global-rel.d,
ld-tic6x/data-reloc-global-rel.s,
ld-tic6x/data-reloc-local-r-rel.d,
ld-tic6x/data-reloc-local-rel.d, ld-tic6x/mvk-reloc-global-rel.d,
ld-tic6x/mvk-reloc-global-rel.s, ld-tic6x/mvk-reloc-local-1-rel.s,
ld-tic6x/mvk-reloc-local-2-rel.s,
ld-tic6x/mvk-reloc-local-r-rel.d, ld-tic6x/mvk-reloc-local-rel.d,
ld-tic6x/pcrel-reloc-global-rel.d,
ld-tic6x/pcrel-reloc-local-r-rel.d,
ld-tic6x/pcrel-reloc-local-rel.d, ld-tic6x/sbr-reloc-global-rel.d,
ld-tic6x/sbr-reloc-global-rel.s, ld-tic6x/sbr-reloc-local-1-rel.s,
ld-tic6x/sbr-reloc-local-2-rel.s,
ld-tic6x/sbr-reloc-local-r-rel.d, ld-tic6x/sbr-reloc-local-rel.d:
New.
Tom Tromey [Tue, 20 Apr 2010 21:19:07 +0000 (21:19 +0000)]
* dwarf2read.c (dwarf2_compute_name): Handle DW_AT_linkage_name.
(read_partial_die): Likewise.
(dwarf_attr_name): Likewise.
Sriraman Tallam [Tue, 20 Apr 2010 21:13:30 +0000 (21:13 +0000)]
2010-04-18 Sriraman Tallam <tmsriram@google.com>
* icf.cc (get_section_contents): Check for preemptible functions.
Ignore addend when appropriate.
* symtab.cc (should_add_dynsym_entry): Add new parameter. Check for
section folded.
(add_from_relobj): Check for section folded.
(set_dynsym_indexes): Fix call to should_add_dynsym_entry.
* symtab.h (should_add_dynsym_entry): Add new parameter.
* target-reloc.h (scan_relocs): Check for section folded.
* x86_64.cc (Target_x86_64::Scan::possible_function_pointer_reloc):
Check reloc types for function pointers in shared objects.
* testsuite/Makefile.am (icf_virtual_function_folding_test): New test
case.
(icf_preemptible_functions_test): New test case.
(icf_string_merge_test): New test case.
* testsuite.Makefile.in: Regenerate.
* testsuite/icf_safe_so_test.sh: Change to not fold foo_glob and
bar_glob. Refactor code.
* testsuite/icf_preemptible_functions_test.cc: New file.
* testsuite/icf_preemptible_functions_test.sh: New file.
* testsuite/icf_string_merge_test.cc: New file.
* testsuite/icf_string_merge_test.sh: New file.
* testsuite/icf_virtual_function_folding_test.cc: New file.
* testsuite/icf_virtual_function_folding_test.sh: New file.
Chris Moller [Tue, 20 Apr 2010 20:22:12 +0000 (20:22 +0000)]
PR 10867
* cp-valprint.c (global): Adding new static array recursion
detection obstack.
(cp_print_value_fields, cp_print_static_field): Added new static
array recursion detection code.
* gdb.cp/Makefile.in (EXECUTABLES): Added pr10687
* gdb.cp/pr10687.cc: New file.
* gdb.cp/pr10687.exp: New file
Mark Kettenis [Tue, 20 Apr 2010 19:39:50 +0000 (19:39 +0000)]
* i386-linux-tdep.c (i386_linux_regset_sections): Size of the
general-purpose register set should be 68 instead of 144.
(i386_linux_sse_regset_sections): Likewise.
(i386_linux_avx_regset_sections): Likewise.
Stan Shebs [Tue, 20 Apr 2010 18:52:59 +0000 (18:52 +0000)]
2010-04-20 Stan Shebs <stan@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
* dwarf2loc.c (struct axs_var_loc): New struct.
(dwarf2_tracepoint_var_loc): New function.
(dwarf2_tracepoint_var_access): New function.
(dwarf2_tracepoint_var_ref): Use dwarf2_tracepoint_var_loc, deal
with DW_OP_piece.
(locexpr_describe_location_piece): New function.
(locexpr_describe_location_1): New function.
(locexpr_describe_location): Call it, update signature.
(loclist_describe_location): Rewrite to loop over locations,
update signature.
* symtab.h (struct symbol_computed_ops): Add address to
describe_location arguments, return void.
* printcmd.c (address_info): Get context PC, pass to computed
location description.
* tracepoint.c (scope_info): Ditto.
* ax-gdb.c (trace_kludge): Export.
Tom Tromey [Tue, 20 Apr 2010 17:33:14 +0000 (17:33 +0000)]
* dwarf2-frame.c (decode_frame_entry_1): Handle CIE version 4.
(struct dwarf2_cie) <segment_size>: New field.
* dwarf2read.c (partial_read_comp_unit_head): Accept DWARF 4.
(skip_one_die): Handle DW_FORM_flag_present, DW_FORM_sec_offset,
DW_FORM_exprloc.
(read_attribute_value): Handle DW_FORM_flag_present,
DW_FORM_sec_offset, DW_FORM_exprloc.
(dump_die_shallow): Likewise.
(attr_form_is_section_offset): Handle DW_FORM_sec_offset.
(dwarf2_const_value): Handle DW_FORM_exprloc.
(attr_form_is_block): Likewise.
(struct line_header) <maximum_ops_per_instruction>: New field.
(dwarf_decode_line_header): Set new field.
(dwarf_decode_lines): Handle new field.
Sergio Durigan Junior [Tue, 20 Apr 2010 17:22:19 +0000 (17:22 +0000)]
gdb/ChangeLog:
2010-04-20 Jan Kratochvil <jan.kratochvil@redhat.com>
* f-exp.y: Add new production to recognize the `logical*8' type.
(LOGICAL_S8_KEYWORD): New token.
* f-lang.c (enum f_primitive_types)
<f_primitive_type_logical_s8>: New field.
(f_language_arch_info): Handling `logical*8' type.
(build_fortran_types): Building `logical*8' type.
* f-lang.h (struct builtin_f_type) <builtin_logical_s8>: New field.
gdb/testsuite/ChangeLog:
2010-04-20 Jan Kratochvil <jan.kratochvil@redhat.com>
Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.fortran/logical.exp: New testcase.
* gdb.fortran/logical.f90: New file.
Nick Clifton [Tue, 20 Apr 2010 15:54:48 +0000 (15:54 +0000)]
PR gas/11507
* macro.c (macro_expand_body): Do not treat LOCAL as a keyword in
altmacro mode if found inside a quoted string.
* gas/macros/altmacro.s: New test.
* gas/macros/altmacro.d: Expected output.
Pierre Muller [Tue, 20 Apr 2010 09:58:42 +0000 (09:58 +0000)]
* win32-i386-low.c: Use __x86_64__ macro instead of __x86_64 to
be consistent with other sources of this directory.
(init_registers_amd64): Correct name of source file of this function
in the comment.
Jakub Jelinek [Tue, 20 Apr 2010 09:53:05 +0000 (09:53 +0000)]
* dwarf2.c (find_abstract_instance_name, scan_unit_for_symbols): Treat
DW_AT_linkage_name the same as DW_AT_MIPS_linkage_name.
Nick Clifton [Tue, 20 Apr 2010 09:28:15 +0000 (09:28 +0000)]
Updated French translation.
Nick Clifton [Tue, 20 Apr 2010 08:21:54 +0000 (08:21 +0000)]
* readelf.c: Add _() macros to constant strings that are
translatable.
Mike Frysinger [Tue, 20 Apr 2010 07:10:31 +0000 (07:10 +0000)]
gas: bfin: replace index() with strchr()
Doug Evans [Tue, 20 Apr 2010 06:06:38 +0000 (06:06 +0000)]
(generic_readchar): Tweak previous checkin, close error_fd if EOF.
Doug Evans [Tue, 20 Apr 2010 05:52:07 +0000 (05:52 +0000)]
* ser-base.c (generic_readchar): Watch for EOF in read of error_fd.
* ser-pipe.c (pipe_open): Fix file descriptor leaks.
(pipe_close): Ditto.
Doug Evans [Tue, 20 Apr 2010 05:36:02 +0000 (05:36 +0000)]
* gdb.base/help.exp (help source): Update expected output.
Pierre Muller [Tue, 20 Apr 2010 00:21:33 +0000 (00:21 +0000)]
* configure.tgt (x86_64-*-mingw*): Set BUILD_GDBSERVER to yes.
Pierre Muller [Tue, 20 Apr 2010 00:19:35 +0000 (00:19 +0000)]
* configure.srv (x86_64-*-mingw*): New configuration for Windows
64-bit executables.
Pierre Muller [Tue, 20 Apr 2010 00:17:05 +0000 (00:17 +0000)]
* win32-i386-low.c: Add 64-bit support.
(CONTEXT_EXTENDED_REGISTERS): Set macro to zero if not exisiting.
(init_registers_amd64): Declare.
(mappings): Add 64-bit version of array.
(init_windows_x86): New function.
(the_low_target): Change init_arch field to init_windows_x86.
Pierre Muller [Tue, 20 Apr 2010 00:07:44 +0000 (00:07 +0000)]
* win32-low.c: Adapt to support also 64-bit architecture.
(child_xfer_memory): Use uintptr_t type for local variable `addr'.
(get_image_name): Use SIZE_T type for local variable `done'.
(psapi_get_dll_name): Use LPVOID type for parameter `BaseAddress'.
(toolhelp_get_dll_name): Idem.
(handle_load_dll): Use CORE_ADDR type for local variable `load_addr'.
Use uintptr_t typecast to avoid warning.
(handle_unload_dll): Use uintptr_t typecast to avoid warning.
(handle_exception): Use phex_nz to avoid warning.
(win32_wait): Remove unused local variable `process'.
Alan Modra [Tue, 20 Apr 2010 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 20 Apr 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Pierre Muller [Mon, 19 Apr 2010 23:52:11 +0000 (23:52 +0000)]
* windows-tdep.c (windows_get_tlb_type): Change current_seh.handle
type to void function.
Stan Shebs [Mon, 19 Apr 2010 22:06:17 +0000 (22:06 +0000)]
2010-04-19 Stan Shebs <stan@codesourcery.com>
Vladimir Prus <vladimir@codesourcery.com>
* tracepoint.c (tfind_1): Add missing newline, report exit from
tfind mode as such.
* target.c (update_current_target): Make default
to_trace_find return -1.
Mike Frysinger [Mon, 19 Apr 2010 19:51:39 +0000 (19:51 +0000)]
gdb: objc-lang: check symbol name before accessing memory
The current ObjC logic will check both the symbol name and the target
address space when trying to locate an appropriate selector. The problem
is that first the target address space is checked before the symbol name.
This may lead to a lot of unnecessary host<->target transactions when
dealing with a non-OjbC target that does use function descriptors to
describe functions as every symbol will have its FD read just to have the
result thrown away with non-matching symbol names.
It also may lead to problems when a non-FD symbol is found that points near
the end of the address space as the target will throw up a memory_error().
One such example are symbols that are not functions, smaller than a FD,
and are the last valid location. Obviously treating it as a larger data
struct can cause memory overflows.
So to speed things up and not screw over such targets, check the symbol
name (which we already have locally) first before attempting to read the
function's descriptor. This fixes breakpoints with Blackfin Linux FDPIC
ELFs, and seems to cause no native regressions on my x86_64/Linux system.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Apr 2010 19:03:28 +0000 (19:03 +0000)]
sim: mn10300: convert to new sockser status code
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Apr 2010 18:42:00 +0000 (18:42 +0000)]
sim: add --model-info helper option
There is an architecture-info flag for listing possible arch values, but
there is on equivalent for listing possible model values. So add the
equivalent for models.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Pedro Alves [Mon, 19 Apr 2010 17:06:11 +0000 (17:06 +0000)]
* ada-lang.c (print_recreate_exception)
<ex_catch_exception_unhandled>: It's "catch exception unhandled",
not "catch unhandled".
Pierre Muller [Mon, 19 Apr 2010 14:08:05 +0000 (14:08 +0000)]
* configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by
`amd64-avx.o'.
Nick Clifton [Mon, 19 Apr 2010 08:46:48 +0000 (08:46 +0000)]
* archive64.c (bfd_elf64_archive_slurp_armap): Remove unused
arhdrpos variable.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Add unused
attribute to warned variable. Remove unused val, type and type2
variables.
Jan Kratochvil [Mon, 19 Apr 2010 03:13:07 +0000 (03:13 +0000)]
gdb/testsuite/
* gdb.base/solib-display.exp: Replace gdb_exit, gdb_start,
gdb_reinitialize_dir and gdb_load by clean_restart. Remove trailing
gdb_exit and return.
(executable): New variable.
(binfile): Use it.
Pedro Alves [Mon, 19 Apr 2010 01:08:25 +0000 (01:08 +0000)]
Fix format of previous-previous entry.
Pedro Alves [Mon, 19 Apr 2010 00:48:44 +0000 (00:48 +0000)]
PR breakpoints/8554.
Implement `save-breakpoints'.
gdb/
* breakpoint.c (save_cmdlist): New.
(breakpoint_set_cmdlist, breakpoint_show_cmdlist): Moved up close
to save_cmdlist.
(print_recreate_catch_fork): New.
(catch_fork_breakpoint_ops): Install it.
(print_recreate_catch_vfork): New.
(catch_vfork_breakpoint_ops): Install it.
(print_recreate_catch_syscall): New.
(catch_syscall_breakpoint_ops): Install it.
(print_recreate_catch_exec): New.
(catch_exec_breakpoint_ops): Install it.
(print_recreate_exception_catchpoint): New.
(gnu_v3_exception_catchpoint_ops): Install it.
(save_breakpoints): New, based on tracepoint_save_command, but
handle all breakpoint types.
(save_breakpoints_command): New.
(tracepoint_save_command): Rename to...
(save_tracepoints_command): ... this, and reimplement using
save_breakpoints.
(save_command): New.
(_initialize_breakpoints): Install the "save" command prefix.
Install the "save breakpoints" command. Make "save-tracepoints" a
deprecated alias for "save tracepoints".
* breakpoint.h (struct breakpoint_ops): New field `print_recreate'.
* ada-lang.c (print_recreate_exception): New.
(print_recreate_catch_exception): New.
(catch_exception_breakpoint_ops): Install it.
(print_recreate_catch_exception_unhandled): New.
(catch_exception_unhandled_breakpoint_ops): Install it.
(print_recreate_catch_assert): New.
(catch_assert_breakpoint_ops): Install it.
* NEWS: Mention the new `save breakpoints' command. Mention the
new `save tracepoints' alias and that `save-tracepoints' is now
deprecated.
gdb/doc/
* gdb.texinfo (Save Breakpoints): New node.
(save-tracepoints): Rename to ...
(save tracepoints): ... this. Mention that `save-tracepoints' is
a deprecated alias to `save tracepoints'.
gdb/testsuite/
* gdb.trace/save-trace.exp: Adjust.
gdbadmin [Mon, 19 Apr 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 19 Apr 2010 00:00:05 +0000 (00:00 +0000)]
daily update
Pedro Alves [Sun, 18 Apr 2010 00:11:55 +0000 (00:11 +0000)]
PR tui/9217
* tui/tui-out.c: Include cli-out.h.
(tui_table_begin, tui_table_body, tui_table_end, tui_table_header)
(tui_begin, tui_end, tui_field_int, tui_field_skip)
(tui_field_string, tui_field_fmt, tui_spaces, tui_text)
(tui_message, tui_wrap_hint, tui_flush): Delete forward
declarations.
(struct ui_out_data): Rename to...
(struct tui_ui_out_data): ... this. Remove `stream' and
`suppress_output' fields, and inherit cli_ui_out_data.
(tui_out_data): New typedef.
(tui_ui_out_impl): Don't initialize fields staticaly.
(tui_table_begin, tui_table_body, tui_table_end, tui_table_header)
(tui_begin, tui_end): Delete.
(tui_field_int): Adjust to delegate most work to the base type.
(tui_field_skip): Delete.
(tui_field_string, tui_field_fmt): Adjust comment. Adjust to
delegate most work to the base type.
(tui_spaces): Delete.
(tui_text): Adjust to delegate most work to the base type.
(tui_message): Delete.
(tui_wrap_hint): Delete.
(tui_flush): Delete.
(out_field_fmt): Delete.
(field_separator): Delete.
(tui_out_new): Adjust to initialize the base type.
(_initialize_tui_out): Initialize tui_ui_out_impl.
* cli-out.c (struct ui_out_data): Moved out to cli-out.h, renamed
cli_ui_out_data.
(cli_out_data): Adjust.
(cli_ui_out_impl): Make extern.
(cli_table_header, cli_field_int, cli_field_skip): Use
uo_field_string instead of cli_field_string.
(cli_redirect): Adjust to use cli_out_data.
(cli_out_data_ctor): New.
(cli_out_new): Use it.
* cli-out.h (struct ui_file): Remove forward declaration.
(struct cli_ui_out_data): New, moved from cli-out.c, and renamed.
(cli_ui_out_impl): Declare.
(cli_out_data_ctor): Declare.
* ui-out.c (struct ui_out) <data>: Change type to void pointer.
(uo_field_string): No longer static.
(ui_out_data): Change return type to void pointer.
(ui_out_new): Change `data' parameter type to void pointer.
* ui-out.h (struct ui_out_data): Don't forward declare.
(ui_out_data): Change return type to void pointer.
(ui_out_new): Change `data' parameter type to void pointer.
(uo_field_string): Declare.
gdbadmin [Sun, 18 Apr 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 18 Apr 2010 00:00:04 +0000 (00:00 +0000)]
daily update
Pedro Alves [Sat, 17 Apr 2010 23:56:27 +0000 (23:56 +0000)]
* ui-file.c (tee_file_isatty): Return whether `tee->one' is a tty,
instead of always false.
Pierre Muller [Sat, 17 Apr 2010 20:43:13 +0000 (20:43 +0000)]
* configure.ac: Use `ws2_32' library for srv_mingw.
* configure: Regenerate.
* gdbreplay.c: Include winsock2.h instead of winsock.h.
* remote-utils.c: Likewise.
H.J. Lu [Sat, 17 Apr 2010 18:53:46 +0000 (18:53 +0000)]
gdb/
2010-04-17 H.J. Lu <hongjiu.lu@intel.com>
PR corefiles/11511
* amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Support
orig_rax.
gdb/testsuite/
2010-04-17 H.J. Lu <hongjiu.lu@intel.com>
PR corefiles/11511
* gdb.arch/system-gcore.exp: New.
* gdb.arch/gcore.c: Likewise.
Pedro Alves [Sat, 17 Apr 2010 18:42:46 +0000 (18:42 +0000)]
* breakpoint.c (watchpoints_triggered): Use
is_hardware_watchpoint.
(watchpoints_triggered): Ditto.
(bpstat_check_location): Use is_watchpoint and
is_hardware_watchpoint.
(bpstat_check_watchpoint): Use is_watchpoint and
is_hardware_watchpoint.
(bpstat_stop_status): Fix comment.
(user_settable_breakpoint): Use is_watchpoint.
(hw_watchpoint_used_count): Use is_hardware_watchpoint.
(disable_watchpoints_before_interactive_call_start): Use
is_watchpoint.
(enable_watchpoints_after_interactive_call_stop): Use
is_watchpoint.
(clear_command): Use is_watchpoint.
(do_enable_breakpoint): Use is_watchpoint.
H.J. Lu [Sat, 17 Apr 2010 14:12:31 +0000 (14:12 +0000)]
Define xmltarget_amd64_linux_no_xml only for amd64.
2010-04-17 H.J. Lu <hongjiu.lu@intel.com>
* linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only
if __x86_64__ is defined.
gdbadmin [Sat, 17 Apr 2010 00:00:05 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 17 Apr 2010 00:00:04 +0000 (00:00 +0000)]
daily update
Mike Frysinger [Fri, 16 Apr 2010 22:47:42 +0000 (22:47 +0000)]
gdb: fdpic/frv: fix shared library loading
The recent change to reload_shared_libraries() broke FDPIC shared libraries as
the solib-frv.c code was implicitly relying on the initial order of calls
(first solib_addr() and then solib_create_inferior_hook()). It was
maintaining internal state via enable_break{1,2}_done to handle this.
While I could tweak these values a bit more, the original code wasn't terribly
bullet proof -- if during the initial debug you attempted to view shared
libraries, the enable2_break() code would whine about the ldso internal debug
addresses being unfetchable (and would actually attempt to read address 0x8 on
the target). So I've dropped this implicit dependency on order (i.e.
enable_break1_done) and updated the ldso poking code (i.e. enable_break2) to
silently return when the internal debug address is still set to 0. It will
remain this way until the ldso gets a chance to initialize at which point the
code will act the same as before.
While I have no way of testing the FRV, the Blackfin FDPIC code is using this
same base in a 100% copy & paste method since we implemented FDPIC the same
way as the FRV guys (I'll address this in the future). This fix was required
in order to handle shared libraries with Blackfin FDPIC properly, and I see no
reason why it wouldn't also work for FRV (since the uClibc ldso FDPIC code is
the same too and that's really what this is poking).
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Kevin Buettner [Fri, 16 Apr 2010 22:46:27 +0000 (22:46 +0000)]
* m32c-tdep.c (m32c_m16c_address_to_pointer): Print warning
instead of an error if no PLT entry is found. Return a
potentially useful result.
(m32c_m16c_pointer_to_address): Add code to search for function
address when no .plt entry is found.
H.J. Lu [Fri, 16 Apr 2010 21:37:08 +0000 (21:37 +0000)]
Remove extra breack.
H.J. Lu [Fri, 16 Apr 2010 21:35:24 +0000 (21:35 +0000)]
Return bad_opcode on unknown bits in opcode.
2010-04-16 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (get_valid_dis386): Return bad_opcode on unknown
bits in opcode.
Stan Shebs [Fri, 16 Apr 2010 18:22:01 +0000 (18:22 +0000)]
2010-04-16 Stan Shebs <stan@codesourcery.com>
* tracepoint.c (trace_variable_command): Run a cleanup.
Pierre Muller [Fri, 16 Apr 2010 16:22:15 +0000 (16:22 +0000)]
* configure: Regenerate.
Tristan Gingold [Fri, 16 Apr 2010 14:38:54 +0000 (14:38 +0000)]
2010-04-16 Andreas Schwab <schwab@redhat.com>
* vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking
strict-aliasing rules.
Tristan Gingold [Fri, 16 Apr 2010 14:23:41 +0000 (14:23 +0000)]
2010-04-16 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo.
(_bfd_vms_get_object_record): Always assume there is a pad byte
for alignment.
* vms-lib.c: Add a few comments.
Nick Clifton [Fri, 16 Apr 2010 11:20:41 +0000 (11:20 +0000)]
PR gas/11395
* config/tc-hppa.c (pa_ip): Do not allow 64-bit add condition
matcher to accept and unconditional 32-bit add instruction.
(pa_build_unwind_subspace): Cope with error conditions not
allowing the start symbol to be set.
* gas/hppa/basic/add2.s: Add test of simple 32-bit instruction.
* gas/hppa/basic/basic.exp (do_add2): Add grep for expected
disassembly.