public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM] tromey/static-link-fix: reverse-20080717-branchpoint-12989-g719dfb1
@ 2013-03-01 15:30 tromey
0 siblings, 0 replies; only message in thread
From: tromey @ 2013-03-01 15:30 UTC (permalink / raw)
To: archer-commits
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.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2013-03-01 15:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-01 15:30 [SCM] tromey/static-link-fix: reverse-20080717-branchpoint-12989-g719dfb1 tromey
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).