move gdbarch object from objfile to per-BFD
authorTom Tromey <tromey@redhat.com>
Tue, 20 Aug 2013 15:04:51 +0000 (15:04 +0000)
committerTom Tromey <tromey@redhat.com>
Tue, 20 Aug 2013 15:04:51 +0000 (15:04 +0000)
commitdf6d5441760d6744b7c9e2cc0af4e234417c61b0
tree402d9bc1fa615f63a64846015e72ea2802f719e8
parentf5aee5eeb88a99a8fb9d2b57971b0bda035ebc65
move gdbarch object from objfile to per-BFD

This moves the "gdbarch" field from the objfile into the BFD.

This field's value is derived from the BFD and is immutable over the
lifetime of the BFD.  This makes it a reasonable candidate for pushing
into the per-BFD object.

This is part of the long-term objfile splitting project.  In the long
run I think this patch will make it simpler to moves types from the
objfile to the per-BFD object; but the patch makes sense as a minor
cleanup by itself.

Built and regtested on x86-64 Fedora 18.

* cp-namespace.c (cp_lookup_symbol_imports_or_template): Use
get_objfile_arch.
* elfread.c (elf_rel_plt_read, elf_gnu_ifunc_record_cache)
(elf_gnu_ifunc_resolve_by_got): Use get_objfile_arch.
* jit.c (jit_object_close_impl): Update.
* jv-lang.c (get_dynamics_objfile): Update.
* linespec.c (add_minsym): Use get_dynamics_objfile.
* objfiles.c (get_objfile_bfd_data): Initialize 'gdbarch' field.
(allocate_objfile): Don't initialize 'gdbarch' field.
(get_objfile_arch): Update.
* objfiles.h (struct objfile_per_bfd_storage) <gdbarch>: New field,
moved from...
(struct objfile) <gdbarch>: ... here.  Remove.
* stap-probe.c (stap_can_evaluate_probe_arguments): Use
get_objfile_arch.
* symfile.c (init_entry_point_info): Use get_objfile_arch.
gdb/ChangeLog
gdb/cp-namespace.c
gdb/elfread.c
gdb/jit.c
gdb/jv-lang.c
gdb/linespec.c
gdb/objfiles.c
gdb/objfiles.h
gdb/stap-probe.c
gdb/symfile.c