public inbox for archer-commits@sourceware.org help / color / mirror / Atom feed
From: tromey@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] tromey/static-link-fix: reverse-20080717-branchpoint-12989-g719dfb1 Date: Fri, 01 Mar 2013 15:30:00 -0000 [thread overview] Message-ID: <20130301153032.16146.qmail@sourceware.org> (raw) The branch, tromey/static-link-fix has been created at 719dfb16b9b918b4b3f66818417e75b386fcc53b (commit) - Log ----------------------------------------------------------------- commit 719dfb16b9b918b4b3f66818417e75b386fcc53b Author: Tom Tromey <tromey@redhat.com> Date: Fri Mar 1 08:30:15 2013 -0700 add README.archer commit a83fe35bc94fc0b2a11b9f36cd7c283a88fce0c0 Author: Tom Tromey <tromey@redhat.com> Date: Wed Jul 11 07:26:21 2012 -0600 Fix PR 8300 This fixes PR 8300 -- variables in nested functions don't properly work. This needs: * A GCC bug fix, PR 53927 * The new 'frame_base' fields should be moved into the _block struct variants -- there is no need to clutter all locexpr batons with this, just the function ones * A test for a multiply-nested function * A way to reject accesses to outer functions when the inner function does not have DW_AT_static_link, and a test case for this. GCC won't emit DW_AT_static_link if the inner function doesn't actually use outer function variables. * See whether we can remove block_innermost_frame_for_variable and use the same logic for all callers; it seems likely commit 430d0d0ccc8002425cc7da4e61358159d20f2cc7 Author: Tom Tromey <tromey@redhat.com> Date: Tue Jul 10 13:47:56 2012 -0600 write the block in c-exp.y This writes the found block to a simple variable expression. The comment there is unclear as to why this was not done previously. This regresses tls.exp and dw-op-call.exp, but I think they are written incorrectly. Well... maybe not tls.exp. commit 2cf4e7eff4e789f2a1c15fc535f729668ad72557 Author: Tom Tromey <tromey@redhat.com> Date: Mon Jul 9 10:21:59 2012 -0600 Remove symbol::aux_value After the previous patch, the symbol's value field and its aux_value field are mutually exclusive: any given symbol uses one or the other, but never both. So, this patch removes aux_value. This saves one pointer per symbol. Built and regtested on x86-64 Fedora 16. * symtab.h (struct general_symbol_info) <value.aux_value>: New field. (SYMBOL_LOCATION_BATON): Redefine. Move earlier. (struct symbol) <aux_value>: Remove. commit aab701adf8e0ad364d24deed79de362c51d49d7c Author: Tom Tromey <tromey@redhat.com> Date: Mon Jul 9 10:18:26 2012 -0600 Allow SYMBOL_BLOCK_VALUE to be indirected Currently the DWARF reader uses both a symbol's general_symbol_info.value.block field and its aux_value field for some function symbols. However, in the case where the function has computed ops, this is redundant. We could instead just hang all the information off general_symbol_info.value. This patch makes the first step in that direction, by letting SYMBOL_BLOCK_VALUE indirect depending on the symbol. It also changes the DWARF reader to use this. * dwarf2loc.c (dwarf_expr_frame_base_1): Recognize new symbol_ops values. (locexpr_get_block_field, loclist_get_block_field): New functions. (dwarf2_locexpr_block_funcs, dwarf2_loclist_block_funcs): New globals. * dwarf2loc.h (struct dwarf2_locexpr_block_baton): New. (struct dwarf2_loclist_block_baton): New. (dwarf2_locexpr_block_funcs, dwarf2_loclist_block_funcs): Declare. * dwarf2read.c (read_func_scope): Remove comment. Update call to dwarf2_symbol_mark_computed. (var_decode_location): Update. (dwarf2_symbol_mark_computed): Add 'need_block_field' argument. * symtab.c (get_symbol_block_location): New function. * symtab.h (get_symbol_block_location): Declare. (SYMBOL_BLOCK_VALUE): Redefine. (struct symbol_computed_ops) <get_block_field>: New field. commit b6633d4cff583316cdc87a441204cb0921cc78d2 Author: Tom Tromey <tromey@redhat.com> Date: Mon Jul 9 10:00:58 2012 -0600 Remove some FIXME comments This removes some outdated FIXME comments. The original design seems promising: http://sourceware.org/ml/gdb-patches/2003-11/msg00154.html ... though not fully described. Maybe the intent was to implement it by adding the index->ops mapping to the symtab. Or, maybe a global table was intended, with different symbol readers using different parts of the index space. However, since that time, SYMBOL_REGISTER_OPS was added. This seems to invalidate the earlier design: http://sourceware.org/ml/gdb-patches/2009-05/msg00420.html It does seem to me that 'address_class' is a moderately confused concept; or at least that LOC_COMPUTED is. Nevertheless, I think that since only negative progress has been made on this front in the last 8 years, it is best to zap the comments and continue on with what we have. If someone wants to revamp this area, the comments are not likely to help anyhow. * ax-gdb.c (gen_var_ref): Remove comment. * findvar.c (symbol_read_needs_frame): Remove comment. (default_read_var_value): Likewise. * printcmd.c (address_info): Remove comment. ----------------------------------------------------------------------- hooks/post-receive -- Repository for Project Archer.
reply other threads:[~2013-03-01 15:30 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20130301153032.16146.qmail@sourceware.org \ --to=tromey@sourceware.org \ --cc=archer-commits@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).