aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-01-18*** empty log message ***gdbadmin1-1/+1
2011-01-17daily updateAlan Modra1-1/+1
2011-01-17Add TBM testsuite files missing from last commit.Quentin Neill6-0/+1489
2011-01-17Add support for TBM instructions.Quentin Neill18-7/+131
gas/ 2011-01-17 Quentin Neill <quentin.neill@amd.com> * config/tc-i386.c (cpu_arch): Add CPU_TBM_FLAGS. * doc/c-i386.texi (i386-TBM): New section. opcodes/ 2011-01-17 Quentin Neill <quentin.neill@amd.com> * i386-dis.c (REG_XOP_TBM_01): New. (REG_XOP_TBM_02): New. (reg_table): Add REG_XOP_TBM_01 and REG_XOP_TBM_02 tables. (xop_table): Redirect to REG_XOP_TBM_01 and REG_XOP_TBM_02 entries, and add bextr instruction. * i386-gen.c (cpu_flag_init): Add CPU_TBM_FLAGS, CpuTBM. (cpu_flags): Add CpuTBM. * i386-opc.h (CpuTBM) New. (i386_cpu_flags): Add bit cputbm. * i386-opc.tbl: Add bextr, blcfill, blci, blcic, blcmsk, blcs, blsfill, blsic, t1mskc, and tzmsk. * i386-init.h: Regenerated. * i386-tbl.h: Regenerated gas/testsuite 2011-01-17 Quentin Neill <quentin.neill@amd.com> * gas/i386/tbm.s: New. * gas/i386/tbm.d: New. * gas/i386/tbm-intel.d: New. * gas/i386/x86-64-tbm.s: New. * gas/i386/x86-64-tbm.d: New. * gas/i386/x86-64-tbm-intel.d: New. * gas/i386/arch-10.d: Add tbm flag and TBM instruction pattern. * gas/i386/arch-10.s: Add a TBM instruction. * gas/i386/arch-10-1.l: Add TBM instruction pattern. * gas/i386/arch-10-2.l: Likewise. * gas/i386/arch-10-3.l: Likewise. * gas/i386/arch-10-4.l: Likewise. * gas/i386/x86-64-arch-2.s: Likewise. * gas/i386/x86-64-arch-2.d: Likewise.
2011-01-17 * cli/cli-cmds.c (apropos_command): Free the compiled regex. UseTom Tromey4-6/+60
get_regcomp_error. * utils.c: Include gdb_regex.h. (do_regfree_cleanup): New function. (make_regfree_cleanup): Likewise. (get_regcomp_error): Likewise. * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Declare.
2011-01-17bfd/Richard Sandiford6-1/+34
* elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than h->needs_plt when deciding whether to record a possible dynamic reloc. ld/testsuite/ * ld-arm/arm-rel32.s, ld-arm/arm-rel32.d: New testcase. * ld-arm/arm-elf.exp: Run it.
2011-01-17bfd/Richard Sandiford7-15/+43
* elf32-arm.c (elf32_arm_gc_sweep_hook): Remove all registered dynamic relocs for the removed section. ld/testsuite/ * ld-arm/gc-thumb-lib.s, ld-arm/gc-thumb.s, ld-arm/gc-thumb.d: New test. * ld-arm/arm-elf.exp: Run it.
2011-01-17 * cli/cli-cmds.c (apropos_command): Fix formatting. Don't callTom Tromey2-14/+11
re_compile_fastmap.
2011-01-17 * p-exp.y (intvar): New static variable, used to set CURRENT_TYPEPierre Muller2-17/+101
for internal variables. (last_was_structop): New static variable. (COMPLETE): New token. (field_exp): New rule to group all '.' suffix handling. Add mark_struct_expression calls when approriate to be able to correctly find fields for completion. (yylex): Adapt to handle field completion and set INTVAR when required.
2011-01-17*** empty log message ***gdbadmin1-1/+1
2011-01-16daily updateAlan Modra1-1/+1
2011-01-16Disallow 64bit relocations in x32 mode.H.J. Lu11-43/+315
gas/ 2011-01-16 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (disallow_64bit_disp): Renamed to ... (disallow_64bit_reloc): This. (md_assemble): Don't check movabs for x32 mode here. (i386_target_format): Updated. (tc_gen_reloc): Check if 64bit relocations are allowed. gas/testsuite/ 2011-01-16 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/ilp32/immed64.s: New. * gas/i386/ilp32/reloc64.s: Likewise. * gas/i386/ilp32/x86-64-pcrel.s: Likewise. * gas/i386/ilp32/inval.s: Add more tests. * gas/i386/ilp32/immed64.d: Updated. * gas/i386/ilp32/inval.l: Likewise. * gas/i386/ilp32/reloc64.d: Likewise. * gas/i386/ilp32/x86-64-pcrel.d: Likewise.
2011-01-16*** empty log message ***gdbadmin1-1/+1
2011-01-15daily updateAlan Modra1-1/+1
2011-01-15Update ChangeLog.H.J. Lu1-1/+1
2011-01-15Check invalid x32 relocations.H.J. Lu2-0/+38
2011-01-15 H.J. Lu <hongjiu.lu@intel.com> * elf64-x86-64.c (elf_x86_64_check_relocs): Check invalid x32 relocations.
2011-01-15Don't allow movabs with relocation in x32 mode.H.J. Lu8-22/+383
gas/ 2011-01-15 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (disallow_64bit_disp): New. (x86_elf_abi): Replace X86_64_LP64_ABI/X86_64_ILP32_ABI with X86_64_ABI/X86_64_X32_ABI. (md_assemble): Don't allow movabs with relocation in x32 mode. (i386_target_format): Updated. gas/testsuite/ 2011-01-15 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/ilp32/ilp32.exp: Run inval. * gas/i386/ilp32/inval.l: New. * gas/i386/ilp32/inval.s: Likewise. * gas/i386/ilp32/x86-64.s: Likewise. * gas/i386/ilp32/x86-64.d: Don't use ../x86_64.s. Updated.
2011-01-15Replace n32 with x32.H.J. Lu3-5/+7
2011-01-15*** empty log message ***gdbadmin1-1/+1
2011-01-14Rename --n32 to --x32.H.J. Lu15-22/+48
gas/ 2011-01-14 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (OPTION_N32): Renamed to ... (OPTION_X32): This. (md_longopts): Replace n32 with x32. (md_parse_option): Updated. (md_show_usage): Likewise. * doc/c-i386.texi: Replace n32 with x32. gas/testsuite/ 2011-01-14 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/ilp32/cfi/ilp32.exp: Replace --n32 with --x32. * gas/i386/ilp32/elf/ilp32.exp: Likewise. * gas/i386/ilp32/ilp32.exp: Likewise. * gas/i386/ilp32/lns/ilp32.exp: Likewise. ld/testsuite/ 2011-01-14 H.J. Lu <hongjiu.lu@intel.com> * ld-x86-64/ilp32-1.d: Replace --n32 with --x32. * ld-x86-64/ilp32-2.d: Likewise. * ld-x86-64/ilp32-3.d: Likewise. * ld-x86-64/ilp32-4.d: Likewise. * ld-x86-64/ilp32-5.d: Likewise. * ld-x86-64/x86-64.exp: Likewise.
2011-01-14daily updateAlan Modra1-1/+1
2011-01-14Handle R_X86_64_32 like R_X86_64_64 for ILP32.H.J. Lu6-5/+49
bfd/ 2011-01-14 H.J. Lu <hongjiu.lu@intel.com> * elf64-x86-64.c (elf_x86_64_link_hash_table): Add pointer_r_type. (elf_x86_64_link_hash_table_create): Set pointer_r_type. (elf_x86_64_check_relocs): Handle R_X86_64_32 like R_X86_64_64 for ILP32. Remove ABI_64_P PIC check for R_X86_64_8, R_X86_64_16, R_X86_64_32 and R_X86_64_32S. (elf_x86_64_relocate_section): Handle R_X86_64_32 like R_X86_64_64 for ILP32. ld/testsuite/ 2011-01-14 H.J. Lu <hongjiu.lu@intel.com> * ld-x86-64/ilp32-5.d: New. * ld-x86-64/ilp32-5.s: Likewise. * ld-x86-64/x86-64.exp: Run ilp32-5.
2011-01-142011-01-14 Yao Qi <yao@codesourcery.com>Yao Qi2-2/+12
* arm-tdep.c (arm_register_reggroup_p): FPS register is in save_reggroup, restore_reggroup and all_reggroup.
2011-01-14new testcase printing wchar_t characters and stringsJoel Brobecker3-0/+82
gdb/testsuite/ChangeLog: * gdb.base/wchar.c, gdb.base/wchar.exp: New testcases.
2011-01-14new testcase for Ada Wide Wide Characters and StringsJoel Brobecker5-0/+123
gdb/testsuite/ChangeLog: * gdb.ada/widewide: New testcase.
2011-01-14Fix printing of Wide_Character & Wide_Wide_Character entities.Joel Brobecker3-5/+9
Wide_Characters and Wide_Wide_Characters are incorrectly printed. Consider for instance: Medium : Wide_Character := Wide_Character'Val(16#dead#); Trying to print the value of this variable yields: (gdb) p medium $1 = 57005 '["ad"]' The integer value is correct (57005 = 0xdead), but the character representation is not, it should be: $1 = 57005 '["dead"]' Same for Wide_Wide_Characters. There were two issues: (a) The first issue was in ada-valprint, where we were assuming that character types were 1 byte long; (b) The second problem was in c-valprint, where we were down-casting the integer value of the character to type `unsigned char', causing use to lose all but the lowest byte. gdb/ChangeLog: * ada-valprint. (ada_printchar): Use the correct type length in call to ada_emit_char. * c-valprint.c (c_val_print): Remove cast in call to LA_PRINT_CHAR.
2011-01-14 * solib-som.h (hpux_major_release): Declare variable here.Pierre Muller4-15/+47
* solib-som.c: Remove <sys/utsname.h> header. (DEFAULT_HPUX_MAJOR_RELEASE): New macro. (hpux_major_release): Make global, change default value to DEFAULT_HPUX_MAJOR_RELEASE. (get_hpux_major_release): Simply return HPUX_MAJOR_RELEASE. * hppa-hpux-nat.c: Add <sys/utsname.h> include. Add "solib-som.h" header. (set_hpux_major_release): New function. (_initialize_hppa_hpux_nat): Call set_hpux_major_release.
2011-01-14gdb: extend Linux osabi matchMike Frysinger2-1/+6
The current osabi default matching misses all *-uclinux tuples. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-01-14fix ARI warnings introduced by ia64-hpux patchesJoel Brobecker4-9/+19
gdb/ChangeLog: * ia64-hpux-nat.c (ia64_hpux_fetch_register): Remove trailing new-line at end of warning message. (ia64_hpux_store_register): Remove trailing new-line at end of error message. * ia64-hpux-tdep.c: Rephrase comment. * solib-ia64-hpux.c (struct dld_info): Change type of field dld_flags from "long long" to ULONGEST.
2011-01-14 * target.h (deprecated_child_ops): Delete declaration.Pedro Alves3-8/+5
* target.c (deprecated_child_ops): Delete definition.
2011-01-14 gdb/Pedro Alves1-16/+0
* Makefile.in (hpux-thread.o): Delete rule. * configure.ac: Don't check for HPUX DCE threads support. * configure, config.in: Regenerate. * hppa-hpux-nat.c (child_suppress_run): Delete. (hppa_hpux_child_can_run): Delete. (_initialize_hppa_hpux_nat): Don't override to_can_run. * hpux-thread.c: Delete.
2011-01-14 * Makefile.in (hpux-thread.o): Delete rule.Pedro Alves6-616/+10
* configure.ac: Don't check for HPUX DCE threads support. * configure, config.in: Regenerate. * hppa-hpux-nat.c (child_suppress_run): Delete. (hppa_hpux_child_can_run): Delete. (_initialize_hppa_hpux_nat): Don't override to_can_run. * hpux-thread.c: Delete.
2011-01-14 * ldmain.c (main): Flush stdout before and stderr after printingAlan Modra10-27/+31
message. * ldmisc.c (einfo): Similarly. * plugin.c (message): Likewise. * emultempl/ppc64elf.em: Likewise. * emultempl/xtensaelf.em: Likewise. * emulparams/elf32mcore.sh: Use einfo rather than printf. * emultempl/beos.em: Likewise. * emultempl/pe.em: Likewise. * emultempl/pep.em: Likewise.
2011-01-14 * bfd.c (bfd_perror): Flush stdout before and stderr after printingAlan Modra14-67/+90
error. (_bfd_default_error_handler): Likewise. * elf.c (print_segment_map): Likewise. * libbfd.c (warn_deprecated): Likewise. * som.c (som_sizeof_headers): No need to do so here. * coff-i860.c: Replace use of printf for error messages with _bfd_error_handler. * coff-ppc.c: Likewise. * coff-sh.c: Likewise. * elf32-bfin.c: Likewise. * elf32-dlx.c: Likewise. * elf32-mep.c: Likewise. * elf32-v850.c: Likewise. * mach-o.c: Likewise. * pef.c: Likewise.
2011-01-14Fix x86-64 ILP32 shared library.H.J. Lu5-12/+71
bfd/ 2011-01-13 H.J. Lu <hongjiu.lu@intel.com> * elf64-x86-64.c (elf_x86_64_link_hash_table): Remove swap_reloca_out. (elf_x86_64_link_hash_table_create): Don't set swap_reloca_out. (elf_x86_64_check_relocs): Align relocation section to 4 byte for 32bit. (elf_x86_64_gc_sweep_hook): Replace ELF64_ST_TYPE with ELF_ST_TYPE. (elf_x86_64_finish_dynamic_symbol): Updated. (elf_x86_64_finish_dynamic_sections): Don't use Elf64_External_Dyn, bfd_elf64_swap_dyn_in, nor bfd_elf64_swap_dyn_out. ld/testsuite/ 2011-01-13 H.J. Lu <hongjiu.lu@intel.com> * ld-x86-64/ilp32-4.d: New. * ld-x86-64/x86-64.exp: Run ilp32-4.
2011-01-14 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don'tAlan Modra2-13/+8
attempt to put non-alloc orphans before debug sections, just place them after .comment.
2011-01-14 PR ld/12339Alan Modra2-0/+8
* ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols.
2011-01-14 PR ld/12339Alan Modra2-3/+9
* elf32-arm.c (allocate_dynrelocs): Don't set up eh before following bfd_link_hash_warning symbol link.
2011-01-14 * Makefile.am: Sort emulation rules.Alan Modra3-1032/+1057
(eelf32am33lin.c): Delete. (ALL_EMULATION_SOURCES): Sort, add missing entries. (ALL_64_EMULATION_SOURCES): Likewise. * Makefile.in: Regenerate.
2011-01-14*** empty log message ***gdbadmin1-1/+1
2011-01-13delete hpux_pid_to_str (unused)Joel Brobecker2-13/+4
This function is unused, and the default formatting routine does just fine, I think. On pa-hpux: [New process 12565, lwp 2513] [New process 12565, lwp 2514] So this patch deletes it. gdb/ChangeLog: * hpux-thread.c (hpux_pid_to_str): Delete.
2011-01-13[Ada] Fix printing of Wide_Wide_StringsJoel Brobecker2-10/+18
This fixes the printing of Wide_Wide_String objects. For instance, consider: My_WWS : Wide_Wide_String := " helo"; Before this patch is applied, GDB prints: (gdb) print my_wws $1 = " ["00"]h["00"]e" gdb/ChangeLog: * ada-valprint.c (ada_emit_char): Remove strange code. Check that c is <= UCHAR_MAX before passing it to isascii. (char_at): Do not assume that TYPE_LEN is either 1 or 2.
2011-01-13problem sourcing GDB script in interactive-mode onJoel Brobecker4-1/+58
When interactive-mode is not auto, GDB always uses that setting to determine whether to act as if the input stream is a terminal or not. However, this setting should only be honored if the input stream is the standard input stream. Otherwise, we run into trouble while source-ing a GDB script, as shown below (on x86_64-linux): % cat script print 1 print 2 % gdb -q (gdb) set interactive-mode on (gdb) source script (gdb) print 3 $1 = 3 The lack of output and the fact that the "print 3" command returned a value saved in $1 (as opposed to $3) indicates that the script was not even evaluated at all. gdb/ChangeLog: * top.c (input_from_terminal_p): Restrict the use of interactive_mode to the case where instream is stdin. gdb/testsuite/ChangeLog: * gdb.base/interact.exp: New testcase.
2011-01-13daily updateAlan Modra1-1/+1
2011-01-13Backport from Libtool: Fix relink mode to use absolute path if hardcode_minus_L.Ralf Wildenhues2-1/+5
/: * ltmain.sh (relink): Use absolute path when hardcoding with -L.
2011-01-13Add a testcase for PR ld/12356.H.J. Lu5-0/+32
2011-01-13 H.J. Lu <hongjiu.lu@intel.com> PR ld/12356 * ld-scripts/defined.exp: Run defined5. * ld-scripts/defined5.d: New. * ld-scripts/defined5.s: Likewise. * ld-scripts/defined5.t: Likewise.
2011-01-13[ia64-hpux] inferior function call supportJoel Brobecker6-17/+464
We have two stacks to deal with on ia64, when making a function call. The first is the usual stack frame, and the second is the register stack frame. On ia64-linux, the register frame is setup by adjusting the BSP register. Unfortunately for us, the HP-UX kernel does not allow the debugger to change the value of the BSP. To work around that limitation, the method I am using here is to push some assembly code on the stack. This assembly code contains, among other things, a call to the alloc insn, which sets up our frame for us. An extensive comment in ia64-hpux-tdep.c explains the entire procedure. Despite this approach, most of the code in ia64-tdep.c which sets up the function call is still applicable - and only a few things need to be done differently: For instance, instead of changing the BSP, we do nothing. We store the parameters at a different location, etc. So this patch also adjusts the inf-call code in ia64-tdep.c to make it a little more extensible: I create a new ia64_infcall_ops structure which allows an ABI to define how the few things that need to be differentiated. Another element that turned out to be necessary but is more of a detail is that the computation of the linkage pointer needs to be handled specially for symbols inside shared libraries. This is especially visible when calling malloc, which happens everytime memory needs to be allocated in inferior memory... The special treatment included again the necessity to use some routines only available on the host. So another target object TARGET_OBJECT_HPUX_SOLIB_GOT was created for that purpose. gdb/ChangeLog: * ia64-tdep.h (struct regcache): Forward declare. (struct ia64_infcall_ops): New struct type. (struct gdbarch_tdep): New fields "find_global_pointer_from_solib" and "infcall_ops". * ia64-tdep.c (ia64_find_global_pointer_from_dynamic_section): Renames ia64_find_global_pointer. (ia64_find_global_pointer, ia64_allocate_new_rse_frame) (ia64_store_argument_in_slot, ia64_set_function_addr: New function. (ia64_push_dummy_call): Adjust to use the new tdep ia64_infocall_ops methods. (ia64_infcall_ops): New static global constant. (ia64_gdbarch_init): Set tdep->infcall_ops. * ia64-hpux-nat.c (ia64_hpux_xfer_solib_got): New function. (ia64_hpux_xfer_partial): Add TARGET_OBJECT_HPUX_SOLIB_GOT handing. * ia64-hpux-tdep.c: Include "regcache.h", "gdbcore.h" and "inferior.h". (ia64_hpux_dummy_code): New static global constant. (ia64_hpux_push_dummy_code, ia64_hpux_allocate_new_rse_frame) (ia64_hpux_store_argument_in_slot, ia64_hpux_set_function_addr) (ia64_hpux_dummy_id, ia64_hpux_find_global_pointer_from_solib): New function. (ia64_hpux_infcall_ops): New static global constant. (ia64_hpux_init_abi): Install gdbarch and tdep methods needed for inferior function calls to work properly on ia64-hpux.
2011-01-13[ia64-hpux] unwinding bsp value from system callJoel Brobecker6-2/+122
This fixes unwinding from a thread that is stopped inside a system call. This can be seen when switching to a thread that is stopped doing a pthread_cond_wait, for instance... The comments inside the code should explain what is happening in our case (the HP-UX exception in the case of system calls): Under certain circumstances (program stopped inside syscall), the offset to apply to the current BSP in order to compute the previous BSP is not the usual CFM & 0x7f. We parts in this patch: 1. Figuring out that we are stopped inside a syscal: This requires a TT_LWP_RUREGS ttrace call, which is not directly possible from ia64-tdep.c. So use defined a new TARGET_OBJECT_HPUX_UREGS object to request it from the -nat side. 2. Add a gdbarch_tdep method that allows us to change the default behavior on ia64-hpux, permitting us to have a different "size of register frame" in that one particular case. gdb/ChangeLog: * target.h (enum target_object): Add TARGET_OBJECT_HPUX_UREGS. * ia64-tdep.h (struct frame_info): forward declaration. (struct gdbarch_tdep): Add field size_of_register_frame. * ia64-tdep.c (ia64_access_reg): Use tdep->size_of_register_frame to determine the size of the register frame. (ia64_size_of_register_frame): New function. (ia64_gdbarch_init): Set tdep->size_of_register_frame. * ia64-hpux-tdep.c: Include "target.h" and "frame.h". (IA64_HPUX_UREG_REASON): New macro. (ia64_hpux_stopped_in_syscall, ia64_hpux_size_of_register_frame): New functions. (ia64_hpux_init_abi): Set tdep->size_of_register_frame. * ia64-hpux-nat.c (ia64_hpux_xfer_uregs): New function. (ia64_hpux_xfer_partial): Add handling of TARGET_OBJECT_HPUX_UREGS objects.
2011-01-13port GDB to ia64-hpux (native).Joel Brobecker13-6/+1531
ChangeLog: * configure.ac: Remove readline, mmalloc, and gdb from noconfigdirs for ia64-hpux. * configure: Regenerate. gdb/ChangeLog: * config/ia64/hpux.mh, ia64-hpux-nat.c, ia64-hpux-tdep.c, ia64-hpux-tdep.h, solib-ia64-hpux.c, solib-ia64-hpux.h: New files. * configure.host: Add handling for ia64-hpux hosts. Add associated floatformats. * configure.tgt: Add handling for ia64-hpux targets. * Makefile.in (ALL_64_TARGET_OBS): Add ia64-hpux-tdep.o. (HFILES_NO_SRCDIR): Add ia64-hpux-tdep.h. (ALLDEPFILES): Add ia64-hpux-nat.c ia64-hpux-tdep.c.
2011-01-13[hpux/ttrace] Determine attached process LWP immediately after attaching.Joel Brobecker2-5/+55
When attaching to a process, the ttrace interface was creating a ptid with a null LWP, because it did not have it yet. This LWP was then set as soon as we received our first event from our inferior, during our first wait. Similarly, the allocation of the thread private info was also defered. This works on PA/HP-UX, because we immediately perform a wait to pop the event triggered by the attach. We can use that event to extract the thread's LWP. But this does not work for IA64/HP-UX, because the attach no longer triggers an event, and thus a wait should NOT be performed (such a wait would simply block indefinitely). It is actually possible, however, to determine the thread's LWP. This change therefore adjusts the attach code to create a thread with the correct LWP set, as well as with its private info allocated. Same thing for all the other threads. gdb/ChangeLog: [ttrace] Compute thread list immediately after attach. * inf_ttrace_attach (inf_ttrace_create_threads_after_attach): New subprogram. (inf_ttrace_attach): Use it.