Commit graph

65438 commits

Author SHA1 Message Date
Chris Moller
f56dcb8879 * cp-valprint.c (cp_print_value_fields): Replaced obstack_base()
method of popping recursion-detection stack with a method based on
obstack_object_size().  (Similar to the PR9167 patch below, but for
the static array obstack rather than the static member obstack.)
2010-04-22 20:12:07 +00:00
H.J. Lu
6cd6a2aec6 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.
2010-04-22 20:02:55 +00:00
Jan Kratochvil
4c37440995 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.
2010-04-22 16:32:43 +00:00
Nick Clifton
9c9c98a59d Updated translation templates.
Updated Bulgarian translation.
Updated Finnish translations.
Updated French translations.
Updated Vietnamese translations.
2010-04-22 14:37:16 +00:00
H.J. Lu
2253bfba80 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.
2010-04-22 14:12:42 +00:00
Pierre Muller
097f51f74b PR stabs/11479.
* gdb.stabs/gdb11479.exp: New file.
	* gdb.stabs/gdb11479.c: New file.
2010-04-22 13:37:18 +00:00
Pierre Muller
9e69f3b65a * Remove unwanted space in set_length_in_type_chain parameterdeclaration 2010-04-22 12:34:24 +00:00
Pierre Muller
621791b854 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.
2010-04-22 12:30:55 +00:00
Stan Shebs
105c2d85f7 2010-04-21 Stan Shebs <stan@codesourcery.com>
Nathan Sidwell  <nathan@codesourcery.com>

	* tracepoint.c (trace_save): Open in binary mode.
2010-04-22 04:14:15 +00:00
Stan Shebs
5a9351aeae 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.
2010-04-22 04:09:25 +00:00
H.J. Lu
0398aac575 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.
2010-04-22 03:10:48 +00:00
Mike Frysinger
ef93a84078 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>
2010-04-22 02:18:32 +00:00
Alan Modra
3ac9b6c910 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.
2010-04-22 01:51:01 +00:00
H.J. Lu
e96d56a1c8 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.
2010-04-22 01:01:34 +00:00
H.J. Lu
8d46fc7c2f 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.
2010-04-22 00:43:38 +00:00
Mike Frysinger
f9bdfd293e 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>
2010-04-22 00:40:44 +00:00
Mike Frysinger
f093db8c9c 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>
2010-04-22 00:40:14 +00:00
Mike Frysinger
0d3d2c7158 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>
2010-04-22 00:26:08 +00:00
gdbadmin
cbc085687d *** empty log message *** 2010-04-22 00:00:35 +00:00
Alan Modra
34e6ad8e14 daily update 2010-04-22 00:00:06 +00:00
Pierre Muller
9a22f0d0ae 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.
2010-04-21 23:21:04 +00:00
H.J. Lu
32d7376d07 Reformat. 2010-04-21 20:23:03 +00:00
H.J. Lu
f335d1b395 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.
2010-04-21 20:22:20 +00:00
Mike Frysinger
a9789a6b9d 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>
2010-04-21 20:13:41 +00:00
Joseph Myers
2462afa169 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.
2010-04-21 18:56:45 +00:00
H.J. Lu
175c8f4677 Revert the accidental checkin. 2010-04-21 18:17:45 +00:00
H.J. Lu
3c7b9c2c54 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.
2010-04-21 18:09:52 +00:00
Chris Moller
0b66f31738 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.
2010-04-21 17:33:54 +00:00
H.J. Lu
34a7d6c6d3 Initialize the X_md field.
2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>

	* expr.c (expr): Initialize the X_md field.
2010-04-21 17:10:44 +00:00
Andrew Haley
85fdf9067f 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.
2010-04-21 16:32:31 +00:00
Aleksandar Ristovski
a8ae7dc0fb * Makefile.in (nto_low_h nto-low.o nto-x86-low.o): New dependency lists.
* nto-x86-low.c: Include server.h
2010-04-21 13:42:56 +00:00
Pierre Muller
6e354e5ec2 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.
2010-04-21 09:54:59 +00:00
Pierre Muller
57174f3173 Fix compilation warning on gcc-4.1.2.
* rs6000-aix-tdep.c (rs6000_convert_from_func_ptr_addr): Initialize
	local variable`pc' to zero.
2010-04-21 08:44:51 +00:00
Doug Evans
efbae210a7 * gdb.base/source-test.gdb: New file.
Remove duplicate entry.
2010-04-21 03:27:35 +00:00
gdbadmin
a906e07362 *** empty log message *** 2010-04-21 00:00:34 +00:00
Alan Modra
417bffda6c daily update 2010-04-21 00:00:04 +00:00
Joel Brobecker
6fbc7cd8d3 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.
2010-04-20 23:14:12 +00:00
Joel Brobecker
1667e6e349 Add missing directory name in last ChangeLog entry. 2010-04-20 22:51:24 +00:00
Joel Brobecker
438c98a1ed [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.
2010-04-20 22:40:36 +00:00
Joel Brobecker
2971b56ba6 [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.
2010-04-20 22:38:54 +00:00
Joel Brobecker
be9425454f "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.
2010-04-20 22:38:02 +00:00
Joel Brobecker
1ca8fce046 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.
2010-04-20 22:36:35 +00:00
Joel Brobecker
e9ef4f394d 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.
2010-04-20 22:35:58 +00:00
Joel Brobecker
e294797a88 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.
2010-04-20 22:35:03 +00:00
Joel Brobecker
a223f1e7a0 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.
2010-04-20 22:34:09 +00:00
Joel Brobecker
0c3acc0923 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.
2010-04-20 22:26:57 +00:00
Joseph Myers
418205099b 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.
2010-04-20 22:03:00 +00:00
Tom Tromey
31ef98ae61 * dwarf2read.c (dwarf2_compute_name): Handle DW_AT_linkage_name.
(read_partial_die): Likewise.
	(dwarf_attr_name): Likewise.
2010-04-20 21:19:07 +00:00
Sriraman Tallam
ce97fa81e0 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.
2010-04-20 21:13:30 +00:00
Chris Moller
ec31cde594 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
2010-04-20 20:22:12 +00:00