public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM] archer-pmuldoon-python-backtrace: Add more sections to writing a frame filter
@ 2012-11-22 16:07 pmuldoon
0 siblings, 0 replies; only message in thread
From: pmuldoon @ 2012-11-22 16:07 UTC (permalink / raw)
To: archer-commits
The branch, archer-pmuldoon-python-backtrace has been updated
via 8e8f7e135250a9d8332cc59be8a5ca68aba333f4 (commit)
via 7a31485fd0829cce61657358bccece33fde3e6af (commit)
via 6d9ff8d75c94117ba3b3560a56796186c074a3a4 (commit)
via 32a3483c6a01252de17dd3eea33d535fec16054e (commit)
via c414c3974b95a7236af83d9722c44b39a4500010 (commit)
via 56d769495828ccbea5e0fd1590eb4f5e3455d680 (commit)
via 0f538410d72af3cadefccfc8a4bef1c556023e44 (commit)
via a0224b446f62bb71c8c7e86729a9649365c77bba (commit)
via 5d78b09716632218e61d95025f64b789f01be655 (commit)
via 463288d719fec19e54633a159200f759633f21ea (commit)
via fb60d514dcc6cb25180be2cf4ebdfe228b010ef9 (commit)
via 9fd6ecf117ad3235e06d154941f15aa037a0c21d (commit)
via cb8444995ae08213f95344a774cf1f6dfbdba56a (commit)
via 4fa57a2ba8ccc84c4003d27041e2bf59632bbaf8 (commit)
via 62d9f29dd8379ec2c77525369b5d0ad732ef05ef (commit)
via 7dc98180a6c5665f23a513b58c92d95d8d3fbf7b (commit)
via 3c5650f3baedd7572056141b524e0405b4042232 (commit)
via 76ad9ea425a6dab91a48e49754a8d428c9f809dc (commit)
via 38950d85c63f8528d11112d10b11bfa76e3d5bf8 (commit)
via 0fce728d72a1e465d2bb72852879c31d3e78ea1e (commit)
via 1609e39a99c71c907e836e1b077e4b602050ebe7 (commit)
via 7c91ec92462f34a23948636ee6bbc0369644c07e (commit)
via 6cad06895668ad73b91161fc2c95f0b113bdb898 (commit)
via e3fa7da3f6f27b5da85c1f906f5f88cd73d3f1d9 (commit)
via 1ee58a290e0656014f80b5978aeae58f641cb000 (commit)
via ef406d638c34cc1e08af5dd3cce0a956acc973f6 (commit)
via bab7347397ca9ac15b278f803ce4c016e7a4d469 (commit)
via 20a97a84f9d1786a4e3c93e930ef62a0ab869888 (commit)
via f1200fa1efbe409ce1282838868b614d5e70b4ac (commit)
via 559729b67c07b9a1b3cc16149427984da07ef83d (commit)
via 8a614452c16ef72995cb15d11d527b0e2f51f364 (commit)
from 6d5a4294f02e8fb06a5854ad277f0210623732d1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit 8e8f7e135250a9d8332cc59be8a5ca68aba333f4
Author: Phil Muldoon <pmuldoon@redhat.com>
Date: Thu Nov 22 16:06:37 2012 +0000
Add more sections to writing a frame filter
commit 7a31485fd0829cce61657358bccece33fde3e6af
Merge: 6d5a429 6d9ff8d
Author: Phil Muldoon <pmuldoon@redhat.com>
Date: Tue Nov 13 16:21:17 2012 +0000
Merge remote-tracking branch 'gdb/master' into archer-pmuldoon-python-backtrace
Conflicts:
gdb/data-directory/Makefile.in
gdb/doc/gdb.texinfo
gdb/python/lib/gdb/__init__.py
gdb/python/py-objfile.c
gdb/python/py-progspace.c
commit 6d9ff8d75c94117ba3b3560a56796186c074a3a4
Author: Pierre Muller <muller@ics.u-strasbg.fr>
Date: Tue Nov 13 09:46:10 2012 +0000
ARI fixes: Avoid sprintf function use rule.
* charset.c (convert_between_encodings): Use xsnprintf.
* cli-out.c (cli_field_int): Likewise.
* cp-namespace.c (cp_lookup_nested_symbol): Likewise.
* expprint.c (op_name_standard): Likewise.
* frv-tdep.c (set_variant_num_gprs): Likewise.
(set_variant_num_fprs): Likewise.
* m68hc11-tdep.c (m68hc11_initialize_register_info): Likewise.
* nto-tdep.c (nto_find_and_open_solib): Likewise.
(nto_init_solib_absolute_prefix): Likewise.
* source.c (init_source_path): Likewise.
(print_source_lines_base): Likewise.
* valprint.c (print_wchar): Likewise.
* mi/mi-out.c (mi_field_int): Likewise.
windows-nat.c (windows_pid_to_exec_file): Likewise.
(windows_create_inferior): Likewise.
(_initialize_check_for_gdb_ini): Likewise.
commit 32a3483c6a01252de17dd3eea33d535fec16054e
Author: gdbadmin <gdbadmin@sourceware.org>
Date: Tue Nov 13 00:00:32 2012 +0000
*** empty log message ***
commit c414c3974b95a7236af83d9722c44b39a4500010
Author: Alan Modra <amodra@bigpond.net.au>
Date: Mon Nov 12 23:00:03 2012 +0000
daily update
commit 56d769495828ccbea5e0fd1590eb4f5e3455d680
Author: Joel Brobecker <brobecker@gnat.com>
Date: Mon Nov 12 21:59:06 2012 +0000
rename frame_register_read into deprecated_frame_register_read.
gdb/ChangeLog:
* frame.h (deprecated_frame_register_read): Renames
frame_register_read.
* frame.c (deprecated_frame_register_read): Renames
frame_register_read. Update all callers.
* i386-tdep.c: Update all callers of frame_register_read.
* infcmd.c: Likewise.
* jit.c: Likewise.
* mips-tdep.c: Likewise.
* mt-tdep.c: Likewise.
* sh64-tdep.c: Likewise.
commit 0f538410d72af3cadefccfc8a4bef1c556023e44
Author: Joel Brobecker <brobecker@gnat.com>
Date: Mon Nov 12 21:28:50 2012 +0000
Document replacement for frame_register_read (deprecated).
gdb/ChangeLog:
* frame.h (frame_register_read): Remove FIXME comment.
* frame.c (frame_register_read): Add suggestion explaining
which function to use in place of this one.
commit a0224b446f62bb71c8c7e86729a9649365c77bba
Author: Tom Tromey <tromey@redhat.com>
Date: Mon Nov 12 19:24:10 2012 +0000
* python/python.c (start_type_printers): Initialize 'result_obj'.
commit 5d78b09716632218e61d95025f64b789f01be655
Author: Tom Tromey <tromey@redhat.com>
Date: Mon Nov 12 17:41:54 2012 +0000
* NEWS: Update.
* data-directory/Makefile.in (PYTHON_FILES): Add
type_printers.py.
* python/lib/gdb/command/type_printers.py: New file.
* python/lib/gdb/command/types.py (TypePrinter): New class.
(_get_some_type_recognizers, get_type_recognizers,
apply_type_recognizers, register_type_printer): New
functions.
* python/py-objfile.c (objfile_object) <type_printers>: New
field.
(objfpy_dealloc): Decref new field.
(objfpy_new): Set new field.
(objfpy_get_type_printers, objfpy_set_type_printers): New
functions.
(objfile_to_objfile_object): Set new field.
(objfile_getset): Add "type_printers".
* python/py-progspace.c (pspace_object) <type_printers>: New
field.
(pspy_dealloc): Decref new field.
(pspy_new): Set new field.
(pspy_get_type_printers, pspy_set_type_printers): New functions.
(pspace_to_pspace_object): Set new field.
(pspace_getset): Add "type_printers".
* python/python.c (start_type_printers, apply_type_printers,
free_type_printers): New functions.
(_initialize_python): Set gdb.type_printers.
* python/python.h (start_type_printers, apply_type_printers,
free_type_printers): Declare.
* typeprint.c (type_print_raw_options, default_ptype_flags):
Update for new fields.
(do_free_global_table, create_global_typedef_table,
find_global_typedef): New functions.
(find_typedef_in_hash): Use find_global_typedef.
(whatis_exp): Use create_global_typedef_table. Change cleanup
handling.
* typeprint.h (struct type_print_options) <global_typedefs,
global_printers>: New fields.
doc
* gdb.texinfo (Symbols): Document "info type-printers",
"enable type-printer" and "disable type-printer".
(Python API): Add new node to menu.
(Type Printing API): New node.
(Progspaces In Python): Document type_printers field.
(Objfiles In Python): Likewise.
(gdb.types) <get_type_recognizers, apply_type_recognizers,
register_type_printer, TypePrinter>: Document.
testsuite
* gdb.base/completion.exp: Update for "info type-printers".
* gdb.python/py-typeprint.cc: New file.
* gdb.python/py-typeprint.exp: New file.
* gdb.python/py-typeprint.py: New file.
commit 463288d719fec19e54633a159200f759633f21ea
Author: Tom Tromey <tromey@redhat.com>
Date: Mon Nov 12 17:37:32 2012 +0000
* c-typeprint.c (find_typedef_for_canonicalize,
print_name_maybe_canonical): New functions.
(c_print_type): Look up type name.
(cp_type_print_derivation_info): Add flags argument. Use
print_name_maybe_canonical.
(cp_type_print_method_args): Add wrapping.
(c_type_print_varspec_prefix): Use print_name_maybe_canonical.
(c_type_print_template_args): New function.
(c_type_print_base): Change wrapping. Use
print_name_maybe_canonical.
<TYPE_CODE_STRUCT>: Possibly create a typedef hash, and do
type name lookups.
* gdbtypes.c (types_equal): No longer static.
* gdbtypes.h (types_equal): Declare.
* typeprint.c (type_print_raw_options, default_ptype_flags):
Update.
(struct typedef_hash_table): New.
(hash_typedef_field, eq_typedef_field,
recursively_update_typedef_hash, add_template_parameters,
create_typedef_hash, free_typedef_hash, do_free_typedef_hash,
make_cleanup_free_typedef_hash, copy_typedef_hash_element,
copy_typedef_hash, find_typedef_in_hash): New functions.
* typeprint.h (struct type_print_options) <local_typedefs>:
New field.
(recursively_update_typedef_hash, add_template_parameters,
create_typedef_hash, free_typedef_hash,
make_cleanup_free_typedef_hash, copy_typedef_hash,
find_typedef_in_hash): Declare.
testsuite
* gdb.base/call-sc.exp: Use "ptype/r".
* gdb.base/volatile.exp: Don't expect "int".
* gdb.cp/ptype-flags.cc: New file.
* gdb.cp/ptype-flags.exp: New file.
* gdb.cp/templates.exp: Use ptype/r.
(test_ptype_of_templates, test_template_typedef): Likewise.
* lib/cp-support.exp (cp_test_ptype_class): Add in_ptype_arg
argument. Handle template names and template parameters.
* gdb.mi/mi-var-cmd.exp: Accept "long".
* gdb.mi/mi-var-child.exp: Accept "long".
* gdb.mi/mi-var-display.exp: Accept "long".
* gdb.mi/mi2-var-child.exp: Accept "long".
commit fb60d514dcc6cb25180be2cf4ebdfe228b010ef9
Author: Tom Tromey <tromey@redhat.com>
Date: Mon Nov 12 17:30:04 2012 +0000
* cp-support.c (inspect_type,
replace_typedefs_qualified_name, replace_typedefs): Add
finder, data arguments. Call as needed.
(cp_canonicalize_string_full): New function.
(cp_canonicalize_string_no_typedefs): Rewrite.
* cp-support.h (canonicalization_ftype): New typedef.
(cp_canonicalize_string_full): Declare.
commit 9fd6ecf117ad3235e06d154941f15aa037a0c21d
Author: Tom Tromey <tromey@redhat.com>
Date: Mon Nov 12 17:26:18 2012 +0000
* NEWS: Update.
* c-typeprint.c (c_type_print_base): Handle print_method and
print_typedefs flags.
* gdbcmd.h (setprinttypelist, showprinttypelist): Declare.
* python/py-type.c (typy_str): Use LA_PRINT_TYPE and raw
options.
* typeprint.c (type_print_raw_options, default_ptype_flags):
Update for new field.s
(whatis_exp): Parse flags. Use LA_PRINT_TYPE.
(setprinttypelist, showprinttypelist, print_methods,
print_typedefs): New globals.
(set_print_type, show_print_type, set_print_type_methods,
show_print_type_methods, set_print_type_typedefs,
show_print_type_typedefs): New functions.
(_initialize_typeprint): Update documentation. Add "print
type methods" and "print type typedefs" parameters.
* typeprint.h (struct type_print_options) <print_methods,
print_typedefs>: New fields.
doc
* gdb.texinfo (Symbols): Document "set print type methods",
"set print type typedefs", and flags to ptype and whatis.
commit cb8444995ae08213f95344a774cf1f6dfbdba56a
Author: Tom Tromey <tromey@redhat.com>
Date: Mon Nov 12 17:20:38 2012 +0000
* c-typeprint.c (cp_type_print_method_args): Add flags
argument. Call c_print_type, not type_print.
(c_type_print_base): Call c_print_type, not type_print.
Update.
commit 4fa57a2ba8ccc84c4003d27041e2bf59632bbaf8
Author: Tom Tromey <tromey@redhat.com>
Date: Mon Nov 12 17:14:53 2012 +0000
* ada-lang.c (user_select_syms, ada_print_subexp): Pass flags
to type-printing functions.
* ada-lang.h (ada_print_type): Add argument.
* ada-typeprint.c (print_array_type, print_variant_clauses,
print_variant_part, print_selected_record_field_types,
print_record_field_types, print_unchecked_union_type,
print_func_type, ada_print_type): Add flags argument.
(ada_print_typedef): Update.
* c-exp.y (OPERATOR conversion_type_id): Update.
* c-lang.h (c_print_type, c_type_print_base): Update.
* c-typeprint.c (c_print_type, c_type_print_varspec_prefix,
c_type_print_modifier, c_type_print_args,
c_type_print_varspec_suffix, c_type_print_base): Add flags
argument.
* cp-valprint.c (cp_print_class_member): Update.
* dwarf2read.c (dwarf2_compute_name): Update.
* f-lang.h (f_print_type): Add argument.
* f-typeprint.c (f_print_type): Add flags argument.
* gnu-v3-abi.c (gnuv3_print_method_ptr): Update.
* go-lang.h (go_print_type): Add argument.
* go-typeprint.c (go_print_type): Add flags argument.
* jv-lang.h (java_print_type): Add argument.
* jv-typeprint.c (java_type_print_base, java_print_type): Add
flags argument.
* language.c (unk_lang_print_type): Add flags argument.
* language.h (struct language_defn) <la_print_type>: Add flags
argument.
(LA_PRINT_TYPE): Likewise.
* m2-lang.h (m2_print_type): Add argument.
* m2-typeprint.c (m2_print_type, m2_range, m2_typedef,
m2_array, m2_pointer, m2_ref, m2_procedure, m2_long_set,
m2_unbounded_array, m2_record_fields): Add flags argument.
* p-lang.h (pascal_print_type, pascal_type_print_base,
pascal_type_print_varspec_prefix): Add argument.
* p-typeprint.c (pascal_print_type,
pascal_type_print_varspec_prefix, pascal_print_func_args,
pascal_type_print_varspec_suffix, pascal_type_print_base): Add
flags argument.
* symmisc.c (print_symbol): Update.
* typeprint.c (type_print_raw_options, default_ptype_flags):
New globals.
(type_print): Update.
* typeprint.h (struct type_print_options): New.
(type_print_raw_options): Declare.
(c_type_print_varspec_suffix, c_type_print_args): Add argument.
commit 62d9f29dd8379ec2c77525369b5d0ad732ef05ef
Author: Tom Tromey <tromey@redhat.com>
Date: Mon Nov 12 17:08:08 2012 +0000
* gdb.cp/classes.exp (test_ptype_class_objects): Remove
"ptype" from calls to cp_test_ptype_class.
(test_enums): Likewise.
* gdb.cp/derivation.exp: Remove "ptype" from calls to
cp_test_ptype_class.
* gdb.cp/inherit.exp (test_ptype_si): Remove "ptype" from
calls to cp_test_ptype_class.
(test_ptype_mi, test_ptype_vi, test_ptype_mvi): Likewise.
* gdb.cp/virtfunc.exp (test_ptype_of_classes): Remove "ptype"
from calls to cp_test_ptype_class.
* lib/cp-support.exp (cp_test_ptype_class): Supply "ptype"
command here. Change "in_command" argument to "in_exp".
commit 7dc98180a6c5665f23a513b58c92d95d8d3fbf7b
Author: gdbadmin <gdbadmin@sourceware.org>
Date: Mon Nov 12 00:00:03 2012 +0000
*** empty log message ***
commit 3c5650f3baedd7572056141b524e0405b4042232
Author: Alan Modra <amodra@bigpond.net.au>
Date: Sun Nov 11 23:00:04 2012 +0000
daily update
commit 76ad9ea425a6dab91a48e49754a8d428c9f809dc
Author: DJ Delorie <dj@delorie.com>
Date: Sun Nov 11 22:37:19 2012 +0000
merge from gcc
commit 38950d85c63f8528d11112d10b11bfa76e3d5bf8
Author: tschwinge <tschwinge>
Date: Sun Nov 11 10:59:50 2012 +0000
Merge from GCC.
config/
* dfp.m4 (enable_decimal_float): Enable for i?86*-*-gnu*.
libdecnumber/
* configure: Regenerate.
commit 0fce728d72a1e465d2bb72852879c31d3e78ea1e
Author: gdbadmin <gdbadmin@sourceware.org>
Date: Sun Nov 11 00:00:03 2012 +0000
*** empty log message ***
commit 1609e39a99c71c907e836e1b077e4b602050ebe7
Author: Alan Modra <amodra@bigpond.net.au>
Date: Sat Nov 10 23:00:04 2012 +0000
daily update
commit 7c91ec92462f34a23948636ee6bbc0369644c07e
Author: Keith Seitz <keiths@redhat.com>
Date: Sat Nov 10 20:25:56 2012 +0000
* breakpoint.c (clear_command): Add cleanup for
sals.sals if an argument is given.
* linespec.c (parse_linespec): Do cleanups after
parsing a convenience variable.
commit 6cad06895668ad73b91161fc2c95f0b113bdb898
Author: Keith Seitz <keiths@redhat.com>
Date: Sat Nov 10 20:18:58 2012 +0000
PR gdb/14288
* c-valprint.c (c_val_print): For character arrays
with "print null" option on, print ellipses if
the output is truncated and the next character is not \000.
* valprint.c (MAX_WCHARS): Define.
(WCHAR_BUFLEN): Likewise.
(WCHAR_BUFLEN_MAX): Likewise.
(struct converted_character): New structure.
(count_next_character): New function.
(print_converted_chars_to_obstack): New function.
(generic_printstr): Rewrite using count_next_character
and print_converted_chars_to_obstack.
* gdb.base/printcmds.c: Add invalid_XXX globals
for repeated byte tests.
* gdb.base/printcmds.exp (test_repeat_bytes): New procedure.
* gdb.base/wchar.c (main): Add and construct a wchar_t
array with repeated characters.
* gdb.base/wchar.exp: Add repeated character tests.
commit e3fa7da3f6f27b5da85c1f906f5f88cd73d3f1d9
Author: Stephane Carrez <stcarrez@nerim.fr>
Date: Sat Nov 10 13:12:17 2012 +0000
* tui/tui.c (tui_rl_command_key): Switch to TUI_ONE_COMMAND_MODE
while executing the gdb command.
(tui_rl_startup_hook): Do not switch back to TUI_SINGLE_KEY_MODE if we
are called from prompt_for_continue.
* tui/tui-io.c (tui_redisplay_readline): Likewise.
commit 1ee58a290e0656014f80b5978aeae58f641cb000
Author: Stephane Carrez <stcarrez@nerim.fr>
Date: Sat Nov 10 12:25:02 2012 +0000
PR tui/9584
* tui/tui.c (tui_rl_command_key): Do not call execute_command
but insert the command to execute in readline's buffer.
commit ef406d638c34cc1e08af5dd3cce0a956acc973f6
Author: gdbadmin <gdbadmin@sourceware.org>
Date: Sat Nov 10 00:00:03 2012 +0000
*** empty log message ***
commit bab7347397ca9ac15b278f803ce4c016e7a4d469
Author: Alan Modra <amodra@bigpond.net.au>
Date: Fri Nov 9 23:00:03 2012 +0000
daily update
commit 20a97a84f9d1786a4e3c93e930ef62a0ab869888
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Nov 9 19:57:55 2012 +0000
* gdbarch.sh (target_gdbarch): Remove macro.
(get_target_gdbarch): Rename to target_gdbarch.
* gdbarch.c, gdbarch.h: Rebuild.
* ada-tasks.c, aix-thread.c, amd64-linux-nat.c, arch-utils.c,
arm-tdep.c, auxv.c, breakpoint.c, bsd-uthread.c, corefile.c,
darwin-nat-info.c, dcache.c, dsrec.c, exec.c, fbsd-nat.c,
filesystem.c, gcore.c, gnu-nat.c, i386-darwin-nat.c, i386-nat.c,
ia64-vms-tdep.c, inf-ptrace.c, infcmd.c, jit.c, linux-nat.c,
linux-tdep.c, linux-thread-db.c, m32r-rom.c, memattr.c,
mep-tdep.c, microblaze-tdep.c, mips-linux-nat.c,
mips-linux-tdep.c, mips-tdep.c, monitor.c, moxie-tdep.c,
nto-procfs.c, nto-tdep.c, ppc-linux-nat.c, proc-service.c,
procfs.c, progspace.c, ravenscar-thread.c, record.c,
remote-m32r-sdi.c, remote-mips.c, remote-sim.c, remote.c,
rl78-tdep.c, rs6000-nat.c, rx-tdep.c, s390-nat.c, sol-thread.c,
solib-darwin.c, solib-dsbt.c, solib-frv.c, solib-ia64-hpux.c,
solib-irix.c, solib-pa64.c, solib-som.c, solib-spu.c,
solib-sunos.c, solib-svr4.c, solib.c, spu-linux-nat.c,
spu-multiarch.c, spu-tdep.c, symfile-mem.c, symfile.c, symtab.c,
target-descriptions.c, target.c, target.h, tracepoint.c,
windows-nat.c, windows-tdep.c, xcoffsolib.c, cli/cli-dump.c,
common/agent.c, mi/mi-interp.c, python/py-finishbreakpoint.c,
python/py-inferior.c, python/python.c: Update.
commit f1200fa1efbe409ce1282838868b614d5e70b4ac
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Nov 9 17:36:11 2012 +0000
2012-11-09 Nick Clifton <nickc@redhat.com>
* Makefile.am (ALL_MACHINES): Add cpu-v850-rh850.lo.
(ALL_MACHINES_CFILES): Add cpu-v850-rh850.c.
* archures.c (bfd_arch_info): Add bfd_v850_rh850_arch.
* config.bfd: Likewise.
* configure.in: Add bfd_elf32_v850_rh850_vec.
* cpu-v850.c: Update printed description.
* cpu-v850_rh850.c: New file.
* elf32-v850.c (v850_elf_check_relocs): Add support for RH850 ABI
relocs.
(v850_elf_perform_relocation): Likewise.
(v850_elf_final_link_relocate): Likewise.
(v850_elf_relocate_section): Likewise.
(v850_elf_relax_section): Likewise.
(v800_elf_howto_table): New.
(v850_elf_object_p): Add support for RH850 ABI values.
(v850_elf_final_write_processing): Likewise.
(v850_elf_merge_private_bfd_data): Likewise.
(v850_elf_print_private_bfd_data): Likewise.
(v800_elf_reloc_map): New.
(v800_elf_reloc_type_lookup): New.
(v800_elf_reloc_name_lookup): New.
(v800_elf_info_to_howto): New.
(bfd_elf32_v850_rh850_vec): New.
(bfd_arch_v850_rh850): New.
* targets.c (_bfd_targets): Add bfd_elf32_v850_rh850_vec.
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* configure: Regenerate.
* readelf.c (get_machine_flags): Add support for E_FLAG_RX_ABI.
(guess_is_rela): Add EM_V800.
(dump_relocations): Likewise.
(get_machine_name): Update EM_V800.
(get_machine_flags): Add support for RH850 ABI flags.
(is_32bit_abs_reloc): Add support for RH850 ABI reloc.
* config/tc-v850.c (v850_target_arch): New.
(v850_target_format): New.
(set_machine): Use v850_target_arch.
(md_begin): Likewise.
(md_show_usage): Document new switches.
(md_parse_option): Add -mgcc-abi, -mrh850-abi, -m8byte-align and
-m4byte-align.
* config/tc-v850.c (TARGET_ARCH) Use v850_target_arch.
(TARGET_FORMAT): Use v850_target_format.
* doc/c-v850.texi: Document new options.
* v850.h: Add RH850 ABI values.
* Makefile.am: (ALL_EMULATION_SOURCES): Add ev850_rh850.c.
* Makefile.in: Regenerate.
* configure.tgt (v850*-*-*): Make v850_rh850 the default
emulation. Add vanilla v850 as an extra emulation.
* emulparams/v850_rh850.sh: New file.
* scripttempl/v850_rh850.sc: New file.
* configure.in: Add bfd_v850_rh850_arch.
* configure: Regenerate.
* disassemble.c (disassembler): Likewise.
commit 559729b67c07b9a1b3cc16149427984da07ef83d
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Nov 9 17:00:39 2012 +0000
2012-11-09 Nick Clifton <nickc@redhat.com>
* elf32-rx.c (describe_flags): New function. Returns a buffer
containing a description of the E_FLAG_RX_... values set.
(rx_elf_merge_private_bfd_data): Use it.
(rx_elf_print_private_bfd_data): Likewise.
(elf32_rx_machine): Skip EF_RX_CPU_RX check.
(elf32_rx_special_sections): Define.
(elf_backend_special_sections): Define.
2012-11-09 Nick Clifton <nickc@redhat.com>
* readelf.c (get_machine_flags): Add support for E_FLAG_RX_ABI.
2012-11-09 Nick Clifton <nickc@redhat.com>
* config/obj-elf.c (obj_elf_change_section): Allow init array
sections to have the SHF_EXECINSTR attribute for the RX target.
* config/tc-rx.c (elf_flags): Initialise with E_FLAG_RX_ABI.
(enum options): Add OPTION_USES_GCC_ABI and OPTION_USES_RX_ABI.
(md_longopts): Add -mgcc-abi and -mrx-abi.
(md_parse_option): Add support for OPTION_USES_GCC_ABI and
OPTION_USES_RX_ABI.
* doc/as.texinfo (RX Options): Add mention of remaining RX
options.
* doc/c-rx.texi: Document -mgcc-abi and -mrx-abi.
2012-11-09 Nick Clifton <nickc@redhat.com>
* rx.h (EF_RX_CPU_RX): Add comment.
(E_FLAG_RX_ABI): Define.
2012-11-09 Nick Clifton <nickc@redhat.com>
* emultempl/rxelf.em (no_flag_mismatch_warnings): Initialise to
true.
(PARSE_AND_LIST_LONGOPTS): Add flag-mismatch-warnings.
(PARSE_AND_LIST_ARG_CASES): Add support for
--flag-mismatch-warnings.
commit 8a614452c16ef72995cb15d11d527b0e2f51f364
Author: eager <eager>
Date: Fri Nov 9 16:24:57 2012 +0000
Add microblazeel target support to bfd, gas and ld.
binutils/bfd/Changelog
2012-11-09 Edgar E. Iglesias <edgar.iglesias@gmail.com>
* config.bfd: Add microblazeel-*-*
* configure.in: Likewise.
* configure: Regenerate.
* elf32-microblaze.c (microblaze_elf_relocate_section):
Add endian awareness.
(microblaze_elf_merge_private_bfd_data): New.
(microblaze_bfd_write_imm_value_32): New.
(microblaze_bfd_write_imm_value_64): New.
(microblaze_elf_relax_section): Add endian awareness.
(microblaze_elf_add_symbol_hook): Define TARGET_LITTLE_NAME,
TARGET_LITTLE_SYM and bfd_elf32_bfd_merge_private_bfd_data.
* targets.c: Add bfd target bfd_elf32_microblazeel_vec.
binutils/gas/Changelog
2012-11-09 Edgar E. Iglesias <edgar.iglesias@gmail.com>
* tc-microblaze.c (md_longopts): Define OPTION_EB and
OPTION_EL for target.
(md_parse_option): Likewise.
* tc-microblaze.h: Set elf32-microblazeel if not
target_big_endian for TARGET_FORMAT.
* configure.tgt: Add microblazeel and set endian per target.
binutils/gas/testsuite/Changelog
2012-11-09 David Holsgrove <david.holsgrove@xilinx.com>
* gas/microblaze/endian.exp: New file - endian
testcase for microblaze / microblazeel.
* gas/microblaze/endian.s: Likewise.
* gas/microblaze/endian_be.d: Likewise.
* gas/microblaze/endian_le.d: Likewise.
* gas/microblaze/endian_le_elf.d: Likewise.
* gas/microblaze/reloc_sym.d: Update to accept targets
other than elf32-microblaze.
* gas/microblaze/special_reg.d: Likewise.
binutils/ld/Changelog
2012-11-09 Edgar E. Iglesias <edgar.iglesias@gmail.com>
* Makefile.am: Add eelf32microblazeel.c and eelf32mbel_linux.c.
* Makefile.in: Regenerated.
* configure.tgt: Add microblazeel and set endian per target.
* emulparams/elf32mb_linux.sh: Add OUTPUT_FORMAT.
* emulparams/elf32microblaze.sh: Likewise.
* emulparams/elf32mbel_linux.sh: New file.
* emulparams/elf32microblazeel.sh: Likewise.
-----------------------------------------------------------------------
Summary of changes:
bfd/ChangeLog | 53 ++
bfd/Makefile.am | 2 +
bfd/Makefile.in | 3 +
bfd/archures.c | 3 +
bfd/bfd-in2.h | 1 +
bfd/config.bfd | 9 +-
bfd/configure | 2 +
bfd/configure.in | 2 +
bfd/cpu-v850.c | 4 +-
bfd/{cpu-v850.c => cpu-v850_rh850.c} | 26 +-
bfd/elf32-microblaze.c | 134 +++--
bfd/elf32-rx.c | 72 ++-
bfd/elf32-v850.c | 512 ++++++++++++---
bfd/targets.c | 3 +
bfd/version.h | 2 +-
config/ChangeLog | 4 +
config/dfp.m4 | 1 +
gdb/ChangeLog | 264 ++++++++
gdb/NEWS | 21 +
gdb/ada-lang.c | 9 +-
gdb/ada-lang.h | 3 +-
gdb/ada-tasks.c | 6 +-
gdb/ada-typeprint.c | 87 ++-
gdb/aix-thread.c | 4 +-
gdb/amd64-linux-nat.c | 2 +-
gdb/arch-utils.c | 4 +-
gdb/arm-tdep.c | 12 +-
gdb/auxv.c | 12 +-
gdb/breakpoint.c | 15 +-
gdb/bsd-uthread.c | 14 +-
gdb/c-exp.y | 4 +-
gdb/c-lang.h | 6 +-
gdb/c-typeprint.c | 683 ++++++++++++--------
gdb/c-valprint.c | 18 +-
gdb/charset.c | 2 +-
gdb/cli-out.c | 2 +-
gdb/cli/cli-dump.c | 4 +-
gdb/common/agent.c | 4 +-
gdb/corefile.c | 4 +-
gdb/cp-namespace.c | 7 +-
gdb/cp-support.c | 107 +++-
gdb/cp-support.h | 6 +
gdb/cp-valprint.c | 3 +-
gdb/darwin-nat-info.c | 10 +-
gdb/data-directory/Makefile.in | 1 +
gdb/dcache.c | 4 +-
gdb/doc/ChangeLog | 16 +
gdb/doc/gdb.texinfo | 376 +++++++++--
gdb/dsrec.c | 6 +-
gdb/dwarf2read.c | 7 +-
gdb/exec.c | 2 +-
gdb/expprint.c | 2 +-
gdb/f-lang.h | 4 +-
gdb/f-typeprint.c | 2 +-
gdb/fbsd-nat.c | 2 +-
gdb/filesystem.c | 2 +-
gdb/frame.c | 9 +-
gdb/frame.h | 14 +-
gdb/frv-tdep.c | 4 +-
gdb/gcore.c | 22 +-
gdb/gdbarch.c | 4 +-
gdb/gdbarch.h | 3 +-
gdb/gdbarch.sh | 7 +-
gdb/gdbcmd.h | 4 +
gdb/gdbtypes.c | 2 +-
gdb/gdbtypes.h | 2 +
gdb/gnu-nat.c | 2 +-
gdb/gnu-v3-abi.c | 3 +-
gdb/go-lang.h | 5 +-
gdb/go-typeprint.c | 5 +-
gdb/i386-darwin-nat.c | 8 +-
gdb/i386-nat.c | 2 +-
gdb/i386-tdep.c | 3 +-
gdb/ia64-vms-tdep.c | 2 +-
gdb/inf-ptrace.c | 6 +-
gdb/infcmd.c | 10 +-
gdb/jit.c | 10 +-
gdb/jv-lang.h | 4 +-
gdb/jv-typeprint.c | 19 +-
gdb/language.c | 6 +-
gdb/language.h | 7 +-
gdb/linespec.c | 5 +-
gdb/linux-nat.c | 6 +-
gdb/linux-tdep.c | 2 +-
gdb/linux-thread-db.c | 4 +-
gdb/m2-lang.h | 4 +-
gdb/m2-typeprint.c | 86 ++--
gdb/m32r-rom.c | 8 +-
gdb/m68hc11-tdep.c | 2 +-
gdb/memattr.c | 8 +-
gdb/mep-tdep.c | 4 +-
gdb/mi/mi-interp.c | 6 +-
gdb/mi/mi-out.c | 2 +-
gdb/microblaze-tdep.c | 2 +-
gdb/mips-linux-nat.c | 6 +-
gdb/mips-linux-tdep.c | 4 +-
gdb/mips-tdep.c | 16 +-
gdb/monitor.c | 18 +-
gdb/moxie-tdep.c | 4 +-
gdb/mt-tdep.c | 8 +-
gdb/nto-procfs.c | 2 +-
gdb/nto-tdep.c | 50 +-
gdb/p-lang.h | 8 +-
gdb/p-typeprint.c | 65 ++-
gdb/ppc-linux-nat.c | 2 +-
gdb/proc-service.c | 8 +-
gdb/procfs.c | 30 +-
gdb/progspace.c | 8 +-
gdb/python/lib/gdb/__init__.py | 2 +
gdb/python/lib/gdb/command/frame_filters.py | 2 +-
gdb/python/lib/gdb/command/type_printers.py | 125 ++++
gdb/python/lib/gdb/types.py | 65 ++
gdb/python/py-finishbreakpoint.c | 2 +-
gdb/python/py-inferior.c | 4 +-
gdb/python/py-objfile.c | 64 ++-
gdb/python/py-progspace.c | 63 ++-
gdb/python/py-type.c | 4 +-
gdb/python/python.c | 138 ++++-
gdb/python/python.h | 6 +
gdb/ravenscar-thread.c | 2 +-
gdb/record.c | 8 +-
gdb/remote-m32r-sdi.c | 24 +-
gdb/remote-mips.c | 22 +-
gdb/remote-sim.c | 2 +-
gdb/remote.c | 50 +-
gdb/rl78-tdep.c | 4 +-
gdb/rs6000-nat.c | 2 +-
gdb/rx-tdep.c | 4 +-
gdb/s390-nat.c | 2 +-
gdb/sh64-tdep.c | 4 +-
gdb/sol-thread.c | 12 +-
gdb/solib-darwin.c | 16 +-
gdb/solib-dsbt.c | 24 +-
gdb/solib-frv.c | 18 +-
gdb/solib-ia64-hpux.c | 2 +-
gdb/solib-irix.c | 14 +-
gdb/solib-pa64.c | 2 +-
gdb/solib-som.c | 30 +-
gdb/solib-spu.c | 6 +-
gdb/solib-sunos.c | 12 +-
gdb/solib-svr4.c | 62 +-
gdb/solib.c | 28 +-
gdb/source.c | 14 +-
gdb/spu-linux-nat.c | 2 +-
gdb/spu-multiarch.c | 10 +-
gdb/spu-tdep.c | 4 +-
gdb/symfile-mem.c | 2 +-
gdb/symfile.c | 8 +-
gdb/symmisc.c | 10 +-
gdb/symtab.c | 2 +-
gdb/target-descriptions.c | 4 +-
gdb/target.c | 16 +-
gdb/target.h | 4 +-
gdb/testsuite/ChangeLog | 47 ++
gdb/testsuite/gdb.base/call-sc.exp | 4 +-
gdb/testsuite/gdb.base/completion.exp | 6 +-
gdb/testsuite/gdb.base/printcmds.c | 92 +++
gdb/testsuite/gdb.base/printcmds.exp | 71 ++
gdb/testsuite/gdb.base/volatile.exp | 2 +-
gdb/testsuite/gdb.base/wchar.c | 10 +
gdb/testsuite/gdb.base/wchar.exp | 19 +
gdb/testsuite/gdb.cp/classes.exp | 50 +-
gdb/testsuite/gdb.cp/derivation.exp | 10 +-
gdb/testsuite/gdb.cp/inherit.exp | 60 +-
.../{gdb.base/wchar.c => gdb.cp/ptype-flags.cc} | 51 +-
gdb/testsuite/gdb.cp/ptype-flags.exp | 85 +++
gdb/testsuite/gdb.cp/templates.exp | 46 +-
gdb/testsuite/gdb.cp/virtfunc.exp | 62 +-
gdb/testsuite/gdb.mi/mi-var-child.exp | 75 ++--
gdb/testsuite/gdb.mi/mi-var-cmd.exp | 6 +-
gdb/testsuite/gdb.mi/mi-var-display.exp | 12 +-
gdb/testsuite/gdb.mi/mi2-var-child.exp | 42 +-
gdb/testsuite/gdb.python/py-framefilter-gdb.py.in | 10 +-
gdb/testsuite/gdb.python/py-framefilter.exp | 2 +-
.../wchar.c => gdb.python/py-typeprint.cc} | 35 +-
gdb/testsuite/gdb.python/py-typeprint.exp | 53 ++
.../wchar.exp => gdb.python/py-typeprint.py} | 35 +-
gdb/testsuite/lib/cp-support.exp | 24 +-
gdb/tracepoint.c | 18 +-
gdb/tui/tui-io.c | 7 +-
gdb/tui/tui.c | 19 +-
gdb/typeprint.c | 422 ++++++++++++-
gdb/typeprint.h | 49 ++-
gdb/valprint.c | 476 +++++++++-----
gdb/version.in | 2 +-
gdb/windows-nat.c | 18 +-
gdb/windows-tdep.c | 8 +-
gdb/xcoffsolib.c | 2 +-
include/ChangeLog | 13 +
include/demangle.h | 2 +
include/dwarf2.def | 14 -
include/dwarf2.h | 11 +
include/elf/ChangeLog | 7 +
include/elf/rx.h | 3 +-
include/elf/v850.h | 132 ++++-
libdecnumber/ChangeLog | 4 +
libdecnumber/configure | 1 +
libiberty/ChangeLog | 12 +
libiberty/cp-demangle.c | 52 ++-
libiberty/testsuite/demangle-expected | 3 +
opcodes/ChangeLog | 6 +
opcodes/configure | 1 +
opcodes/configure.in | 1 +
opcodes/disassemble.c | 1 +
204 files changed, 4617 insertions(+), 1578 deletions(-)
copy bfd/{cpu-v850.c => cpu-v850_rh850.c} (61%)
create mode 100644 gdb/python/lib/gdb/command/type_printers.py
copy gdb/testsuite/{gdb.base/wchar.c => gdb.cp/ptype-flags.cc} (55%)
create mode 100644 gdb/testsuite/gdb.cp/ptype-flags.exp
copy gdb/testsuite/{gdb.base/wchar.c => gdb.python/py-typeprint.cc} (60%)
create mode 100644 gdb/testsuite/gdb.python/py-typeprint.exp
copy gdb/testsuite/{gdb.base/wchar.exp => gdb.python/py-typeprint.py} (52%)
First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 85e94b9..e18411e 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,56 @@
+2012-11-09 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.am (ALL_MACHINES): Add cpu-v850-rh850.lo.
+ (ALL_MACHINES_CFILES): Add cpu-v850-rh850.c.
+ * archures.c (bfd_arch_info): Add bfd_v850_rh850_arch.
+ * config.bfd: Likewise.
+ * configure.in: Add bfd_elf32_v850_rh850_vec.
+ * cpu-v850.c: Update printed description.
+ * cpu-v850_rh850.c: New file.
+ * elf32-v850.c (v850_elf_check_relocs): Add support for RH850 ABI
+ relocs.
+ (v850_elf_perform_relocation): Likewise.
+ (v850_elf_final_link_relocate): Likewise.
+ (v850_elf_relocate_section): Likewise.
+ (v850_elf_relax_section): Likewise.
+ (v800_elf_howto_table): New.
+ (v850_elf_object_p): Add support for RH850 ABI values.
+ (v850_elf_final_write_processing): Likewise.
+ (v850_elf_merge_private_bfd_data): Likewise.
+ (v850_elf_print_private_bfd_data): Likewise.
+ (v800_elf_reloc_map): New.
+ (v800_elf_reloc_type_lookup): New.
+ (v800_elf_reloc_name_lookup): New.
+ (v800_elf_info_to_howto): New.
+ (bfd_elf32_v850_rh850_vec): New.
+ (bfd_arch_v850_rh850): New.
+ * targets.c (_bfd_targets): Add bfd_elf32_v850_rh850_vec.
+ * Makefile.in: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * configure: Regenerate.
+
+ * elf32-rx.c (describe_flags): New function. Returns a buffer
+ containing a description of the E_FLAG_RX_... values set.
+ (rx_elf_merge_private_bfd_data): Use it.
+ (rx_elf_print_private_bfd_data): Likewise.
+ (elf32_rx_machine): Skip EF_RX_CPU_RX check.
+ (elf32_rx_special_sections): Define.
+ (elf_backend_special_sections): Define.
+
+2012-11-09 Edgar E. Iglesias <edgar.iglesias@gmail.com>
+
+ * config.bfd: Add microblazeel-*-*
+ * configure.in: Likewise.
+ * configure: Regenerate.
+ * elf32-microblaze.c (microblaze_elf_relocate_section): Add endian awareness.
+ (microblaze_elf_merge_private_bfd_data): New.
+ (microblaze_bfd_write_imm_value_32): New.
+ (microblaze_bfd_write_imm_value_64): New.
+ (microblaze_elf_relax_section): Add endian awareness.
+ (microblaze_elf_add_symbol_hook): Define TARGET_LITTLE_NAME,
+ TARGET_LITTLE_SYM and bfd_elf32_bfd_merge_private_bfd_data.
+ * targets.c: Add bfd target bfd_elf32_microblazeel_vec.
+
2012-11-09 H.J. Lu <hongjiu.lu@intel.com>
* aout-tic30.c (MY_final_link_callback): Remove trailing
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 2ac03e9..d86d899 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -141,6 +141,7 @@ ALL_MACHINES = \
cpu-tilegx.lo \
cpu-tilepro.lo \
cpu-v850.lo \
+ cpu-v850_rh850.lo \
cpu-vax.lo \
cpu-w65.lo \
cpu-we32k.lo \
@@ -222,6 +223,7 @@ ALL_MACHINES_CFILES = \
cpu-tilegx.c \
cpu-tilepro.c \
cpu-v850.c \
+ cpu-v850_rh850.c \
cpu-vax.c \
cpu-w65.c \
cpu-we32k.c \
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index 66dd911..92d9d08 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -441,6 +441,7 @@ ALL_MACHINES = \
cpu-tilegx.lo \
cpu-tilepro.lo \
cpu-v850.lo \
+ cpu-v850_rh850.lo \
cpu-vax.lo \
cpu-w65.lo \
cpu-we32k.lo \
@@ -522,6 +523,7 @@ ALL_MACHINES_CFILES = \
cpu-tilegx.c \
cpu-tilepro.c \
cpu-v850.c \
+ cpu-v850_rh850.c \
cpu-vax.c \
cpu-w65.c \
cpu-we32k.c \
@@ -1344,6 +1346,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-tic80.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-tilegx.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-tilepro.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-v850_rh850.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-v850.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-vax.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-w65.Plo@am__quote@
diff --git a/bfd/archures.c b/bfd/archures.c
index 3198436..c4cefbc 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -323,6 +323,7 @@ DESCRIPTION
. bfd_arch_tic6x, {* Texas Instruments TMS320C6X *}
. bfd_arch_tic80, {* TI TMS320c80 (MVP) *}
. bfd_arch_v850, {* NEC V850 *}
+. bfd_arch_v850_rh850,{* NEC V850 (using RH850 ABI) *}
.#define bfd_mach_v850 1
.#define bfd_mach_v850e 'E'
.#define bfd_mach_v850e1 '1'
@@ -578,6 +579,7 @@ extern const bfd_arch_info_type bfd_tic80_arch;
extern const bfd_arch_info_type bfd_tilegx_arch;
extern const bfd_arch_info_type bfd_tilepro_arch;
extern const bfd_arch_info_type bfd_v850_arch;
+extern const bfd_arch_info_type bfd_v850_rh850_arch;
extern const bfd_arch_info_type bfd_vax_arch;
extern const bfd_arch_info_type bfd_w65_arch;
extern const bfd_arch_info_type bfd_we32k_arch;
@@ -661,6 +663,7 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
&bfd_tilegx_arch,
&bfd_tilepro_arch,
&bfd_v850_arch,
+ &bfd_v850_rh850_arch,
&bfd_vax_arch,
&bfd_w65_arch,
&bfd_we32k_arch,
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index e94e3c8..bba8757 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2054,6 +2054,7 @@ enum bfd_architecture
bfd_arch_tic6x, /* Texas Instruments TMS320C6X */
bfd_arch_tic80, /* TI TMS320c80 (MVP) */
bfd_arch_v850, /* NEC V850 */
+ bfd_arch_v850_rh850,/* NEC V850 (using RH850 ABI) */
#define bfd_mach_v850 1
#define bfd_mach_v850e 'E'
#define bfd_mach_v850e1 '1'
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 7def642..e9dcd42 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -103,7 +103,7 @@ sparc*) targ_archs=bfd_sparc_arch ;;
spu*) targ_archs=bfd_spu_arch ;;
tilegx*) targ_archs=bfd_tilegx_arch ;;
tilepro*) targ_archs=bfd_tilepro_arch ;;
-v850*) targ_archs=bfd_v850_arch ;;
+v850*) targ_archs="bfd_v850_arch bfd_v850_rh850_arch" ;;
x86_64*) targ_archs=bfd_i386_arch ;;
xtensa*) targ_archs=bfd_xtensa_arch ;;
xgate) targ_archs=bfd_xgate_arch ;;
@@ -916,8 +916,14 @@ case "${targ}" in
targ_selvecs=bfd_elf32_mep_little_vec
;;
+ microblazeel*-*)
+ targ_defvec=bfd_elf32_microblazeel_vec
+ targ_selvecs=bfd_elf32_microblaze_vec
+ ;;
+
microblaze*-*)
targ_defvec=bfd_elf32_microblaze_vec
+ targ_selvecs=bfd_elf32_microblazeel_vec
;;
mips*-big-*)
@@ -1563,6 +1569,7 @@ case "${targ}" in
v850*-*-*)
targ_defvec=bfd_elf32_v850_vec
+ targ_selvecs="bfd_elf32_v850_rh850_vec"
;;
vax-*-netbsdelf*)
diff --git a/bfd/configure b/bfd/configure
index 43bff03..141e76d 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -15283,6 +15283,7 @@ do
bfd_elf32_mcore_little_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
bfd_elf32_mep_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;;
bfd_elf32_mep_little_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;;
+ bfd_elf32_microblazeel_vec) tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
bfd_elf32_microblaze_vec) tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
bfd_elf32_mn10200_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;;
bfd_elf32_mn10300_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;;
@@ -15348,6 +15349,7 @@ do
tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
bfd_elf32_us_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;;
bfd_elf32_v850_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;;
+ bfd_elf32_v850_rh850_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;;
bfd_elf32_vax_vec) tb="$tb elf32-vax.lo elf32.lo $elf" ;;
bfd_elf32_xstormy16_vec) tb="$tb elf32-xstormy16.lo elf32.lo $elf" ;;
bfd_elf32_xc16x_vec) tb="$tb elf32-xc16x.lo elf32.lo $elf" ;;
diff --git a/bfd/configure.in b/bfd/configure.in
index f7e3929..fc17209 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -764,6 +764,7 @@ do
bfd_elf32_mcore_little_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
bfd_elf32_mep_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;;
bfd_elf32_mep_little_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;;
+ bfd_elf32_microblazeel_vec) tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
bfd_elf32_microblaze_vec) tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
bfd_elf32_mn10200_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;;
bfd_elf32_mn10300_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;;
@@ -829,6 +830,7 @@ do
tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
bfd_elf32_us_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;;
bfd_elf32_v850_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;;
+ bfd_elf32_v850_rh850_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;;
bfd_elf32_vax_vec) tb="$tb elf32-vax.lo elf32.lo $elf" ;;
bfd_elf32_xstormy16_vec) tb="$tb elf32-xstormy16.lo elf32.lo $elf" ;;
bfd_elf32_xc16x_vec) tb="$tb elf32-xc16x.lo elf32.lo $elf" ;;
diff --git a/bfd/cpu-v850.c b/bfd/cpu-v850.c
index d124220..bb6b542 100644
--- a/bfd/cpu-v850.c
+++ b/bfd/cpu-v850.c
@@ -1,6 +1,6 @@
/* BFD support for the NEC V850 processor
Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2007,
- 2010 Free Software Foundation, Inc.
+ 2010, 2012 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -25,7 +25,7 @@
#include "safe-ctype.h"
#define N(number, print, default, next) \
-{ 32, 32, 8, bfd_arch_v850, number, "v850", print, 2, default, \
+{ 32, 32, 8, bfd_arch_v850, number, "v850", print " (using old gcc ABI)", 2, default, \
bfd_default_compatible, bfd_default_scan, bfd_arch_default_fill, next }
#define NEXT NULL
diff --git a/bfd/cpu-v850.c b/bfd/cpu-v850_rh850.c
similarity index 61%
copy from bfd/cpu-v850.c
copy to bfd/cpu-v850_rh850.c
index d124220..06abdc7 100644
--- a/bfd/cpu-v850.c
+++ b/bfd/cpu-v850_rh850.c
@@ -1,6 +1,5 @@
-/* BFD support for the NEC V850 processor
- Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2007,
- 2010 Free Software Foundation, Inc.
+/* BFD support for the NEC V850 processor with the RH850 ABI.
+ Copyright 2012 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -24,22 +23,17 @@
#include "libbfd.h"
#include "safe-ctype.h"
-#define N(number, print, default, next) \
-{ 32, 32, 8, bfd_arch_v850, number, "v850", print, 2, default, \
+#define R(number, print, default, next) \
+{ 32, 32, 8, bfd_arch_v850_rh850, number, "v850", print, 2, default, \
bfd_default_compatible, bfd_default_scan, bfd_arch_default_fill, next }
-#define NEXT NULL
-
static const bfd_arch_info_type arch_info_struct[] =
{
- N (bfd_mach_v850e2v3, "v850e2v3", FALSE, & arch_info_struct[1]),
- N (bfd_mach_v850e2, "v850e2", FALSE, & arch_info_struct[2]),
- N (bfd_mach_v850e1, "v850e1", FALSE, & arch_info_struct[3]),
- N (bfd_mach_v850e, "v850e", FALSE, NULL)
+ R (bfd_mach_v850e2v3, "v850e2v3", FALSE, & arch_info_struct[1]),
+ R (bfd_mach_v850e2, "v850e2", FALSE, & arch_info_struct[2]),
+ R (bfd_mach_v850e1, "v850e1", FALSE, & arch_info_struct[3]),
+ R (bfd_mach_v850e, "v850e", FALSE, NULL)
};
-#undef NEXT
-#define NEXT & arch_info_struct[0]
-
-const bfd_arch_info_type bfd_v850_arch =
- N (bfd_mach_v850, "v850", TRUE, NEXT);
+const bfd_arch_info_type bfd_v850_rh850_arch =
+ R (bfd_mach_v850, "v850-rh850", TRUE, & arch_info_struct[0]);
diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
index c000424..be2de13 100644
--- a/bfd/elf32-microblaze.c
+++ b/bfd/elf32-microblaze.c
@@ -702,6 +702,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
Elf_Internal_Shdr *symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
Elf_Internal_Rela *rel, *relend;
+ int endian = (bfd_little_endian (output_bfd)) ? 0 : 2;
/* Assume success. */
bfd_boolean ret = TRUE;
asection *sreloc;
@@ -933,9 +934,9 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ offset + INST_WORD_SIZE);
relocation += addend;
bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
- contents + offset + 2);
+ contents + offset + endian);
bfd_put_16 (input_bfd, relocation & 0xffff,
- contents + offset + 2 + INST_WORD_SIZE);
+ contents + offset + endian + INST_WORD_SIZE);
break;
case (int) R_MICROBLAZE_PLT_64:
@@ -952,9 +953,9 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ input_section->output_offset
+ offset + INST_WORD_SIZE);
bfd_put_16 (input_bfd, (immediate >> 16) & 0xffff,
- contents + offset + 2);
+ contents + offset + endian);
bfd_put_16 (input_bfd, immediate & 0xffff,
- contents + offset + 2 + INST_WORD_SIZE);
+ contents + offset + endian + INST_WORD_SIZE);
}
else
{
@@ -963,9 +964,9 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ offset + INST_WORD_SIZE);
immediate = relocation;
bfd_put_16 (input_bfd, (immediate >> 16) & 0xffff,
- contents + offset + 2);
+ contents + offset + endian);
bfd_put_16 (input_bfd, immediate & 0xffff,
- contents + offset + 2 + INST_WORD_SIZE);
+ contents + offset + endian + INST_WORD_SIZE);
}
break;
}
@@ -1031,9 +1032,9 @@ microblaze_elf_relocate_section (bfd *output_bfd,
abort (); /* ??? */
}
bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
- contents + offset + 2);
+ contents + offset + endian);
bfd_put_16 (input_bfd, relocation & 0xffff,
- contents + offset + 2 + INST_WORD_SIZE);
+ contents + offset + endian + INST_WORD_SIZE);
break;
}
@@ -1048,8 +1049,8 @@ microblaze_elf_relocate_section (bfd *output_bfd,
immediate = relocation;
lo = immediate & 0x0000ffff;
high = (immediate >> 16) & 0x0000ffff;
- bfd_put_16 (input_bfd, high, contents + offset + 2);
- bfd_put_16 (input_bfd, lo, contents + offset + INST_WORD_SIZE + 2);
+ bfd_put_16 (input_bfd, high, contents + offset + endian);
+ bfd_put_16 (input_bfd, lo, contents + offset + INST_WORD_SIZE + endian);
break;
}
@@ -1082,9 +1083,9 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ input_section->output_offset
+ offset + INST_WORD_SIZE);
bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
- contents + offset + 2);
+ contents + offset + endian);
bfd_put_16 (input_bfd, relocation & 0xffff,
- contents + offset + 2 + INST_WORD_SIZE);
+ contents + offset + endian + INST_WORD_SIZE);
}
break;
}
@@ -1176,9 +1177,9 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ input_section->output_offset
+ offset + INST_WORD_SIZE);
bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
- contents + offset + 2);
+ contents + offset + endian);
bfd_put_16 (input_bfd, relocation & 0xffff,
- contents + offset + 2 + INST_WORD_SIZE);
+ contents + offset + endian + INST_WORD_SIZE);
}
break;
}
@@ -1253,6 +1254,21 @@ microblaze_elf_relocate_section (bfd *output_bfd,
return ret;
}
+
+/* Merge backend specific data from an object file to the output
+ object file when linking.
+
+ Note: We only use this hook to catch endian mismatches. */
+static bfd_boolean
+microblaze_elf_merge_private_bfd_data (bfd * ibfd, bfd * obfd)
+{
+ /* Check if we have the same endianess. */
+ if (! _bfd_generic_verify_endian_match (ibfd, obfd))
+ return FALSE;
+
+ return TRUE;
+}
+
\f
/* Calculate fixup value for reference. */
@@ -1275,6 +1291,36 @@ calc_fixup (bfd_vma addr, asection *sec)
return fixup;
}
+/* Read-modify-write into the bfd, an immediate value into appropriate fields of
+ a 32-bit instruction. */
+static void
+microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
+{
+ unsigned long instr = bfd_get_32 (abfd, bfd_addr);
+ instr &= ~0x0000ffff;
+ instr |= (val & 0x0000ffff);
+ bfd_put_32 (abfd, instr, bfd_addr);
+}
+
+/* Read-modify-write into the bfd, an immediate value into appropriate fields of
+ two consecutive 32-bit instructions. */
+static void
+microblaze_bfd_write_imm_value_64 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
+{
+ unsigned long instr_hi;
+ unsigned long instr_lo;
+
+ instr_hi = bfd_get_32 (abfd, bfd_addr);
+ instr_hi &= ~0x0000ffff;
+ instr_hi |= ((val >> 16) & 0x0000ffff);
+ bfd_put_32 (abfd, instr_hi, bfd_addr);
+
+ instr_lo = bfd_get_32 (abfd, bfd_addr + INST_WORD_SIZE);
+ instr_lo &= ~0x0000ffff;
+ instr_lo |= (val & 0x0000ffff);
+ bfd_put_32 (abfd, instr_lo, bfd_addr + INST_WORD_SIZE);
+}
+
static bfd_boolean
microblaze_elf_relax_section (bfd *abfd,
asection *sec,
@@ -1305,7 +1351,8 @@ microblaze_elf_relax_section (bfd *abfd,
/* Only do this for a text section. */
if (link_info->relocatable
|| (sec->flags & SEC_RELOC) == 0
- || (sec->reloc_count == 0))
+ || (sec->reloc_count == 0)
+ || (sec->flags & SEC_CODE) == 0)
return TRUE;
BFD_ASSERT ((sec->size > 0) || (sec->rawsize > 0));
@@ -1485,7 +1532,8 @@ microblaze_elf_relax_section (bfd *abfd,
efix = calc_fixup (target_address, sec);
irel->r_addend -= (efix - sfix);
/* Should use HOWTO. */
- bfd_put_16 (abfd, irel->r_addend, contents + irel->r_offset + 2);
+ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
+ irel->r_addend);
}
break;
case R_MICROBLAZE_64_NONE:
@@ -1498,8 +1546,8 @@ microblaze_elf_relax_section (bfd *abfd,
sfix = calc_fixup (irel->r_offset + INST_WORD_SIZE, sec);
efix = calc_fixup (target_address, sec);
irel->r_addend -= (efix - sfix);
- bfd_put_16 (abfd, irel->r_addend, contents + irel->r_offset
- + INST_WORD_SIZE + 2);
+ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset
+ + INST_WORD_SIZE, irel->r_addend);
}
break;
}
@@ -1627,13 +1675,14 @@ microblaze_elf_relax_section (bfd *abfd,
}
}
- immediate = (unsigned short) bfd_get_16 (abfd, ocontents +
- irelscan->r_offset + 2);
+ unsigned long instr = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
+ immediate = instr & 0x0000ffff;
target_address = immediate;
offset = calc_fixup (target_address, sec);
immediate -= offset;
irelscan->r_addend -= offset;
- bfd_put_16 (abfd, immediate, ocontents + irelscan->r_offset + 2);
+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
+ irelscan->r_addend);
}
}
@@ -1669,15 +1718,13 @@ microblaze_elf_relax_section (bfd *abfd,
elf_section_data (o)->this_hdr.contents = ocontents;
}
}
hooks/post-receive
--
Repository for Project Archer.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-11-22 16:07 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-22 16:07 [SCM] archer-pmuldoon-python-backtrace: Add more sections to writing a frame filter pmuldoon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).