diff options
author | Daniel Jacobowitz <drow@false.org> | 2007-03-27 15:31:35 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2007-03-27 15:31:35 +0000 |
commit | d2449ee801d18f5af7317bc72c92bc9bbb7b669e (patch) | |
tree | c23ac1b8bf81e9b5faca84e418f0c20d405d624f /gdb/amd64-tdep.c | |
parent | 067b934b9aff2cbbd29c2f952f617dbd44f73e9f (diff) | |
download | gdb-d2449ee801d18f5af7317bc72c92bc9bbb7b669e.zip gdb-d2449ee801d18f5af7317bc72c92bc9bbb7b669e.tar.gz gdb-d2449ee801d18f5af7317bc72c92bc9bbb7b669e.tar.bz2 |
* amd64-tdep.c (amd64_init_frame_cache): New function.
(amd64_alloc_frame_cache, amd64_skip_prologue): Use it.
Diffstat (limited to 'gdb/amd64-tdep.c')
-rw-r--r-- | gdb/amd64-tdep.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index 8c3e887..de64f8d 100644 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -726,16 +726,13 @@ struct amd64_frame_cache int frameless_p; }; -/* Allocate and initialize a frame cache. */ +/* Initialize a frame cache. */ -static struct amd64_frame_cache * -amd64_alloc_frame_cache (void) +static void +amd64_init_frame_cache (struct amd64_frame_cache *cache) { - struct amd64_frame_cache *cache; int i; - cache = FRAME_OBSTACK_ZALLOC (struct amd64_frame_cache); - /* Base address. */ cache->base = 0; cache->sp_offset = -8; @@ -749,7 +746,17 @@ amd64_alloc_frame_cache (void) /* Frameless until proven otherwise. */ cache->frameless_p = 1; +} +/* Allocate and initialize a frame cache. */ + +static struct amd64_frame_cache * +amd64_alloc_frame_cache (void) +{ + struct amd64_frame_cache *cache; + + cache = FRAME_OBSTACK_ZALLOC (struct amd64_frame_cache); + amd64_init_frame_cache (cache); return cache; } @@ -810,6 +817,7 @@ amd64_skip_prologue (CORE_ADDR start_pc) struct amd64_frame_cache cache; CORE_ADDR pc; + amd64_init_frame_cache (&cache); pc = amd64_analyze_prologue (start_pc, 0xffffffffffffffffLL, &cache); if (cache.frameless_p) return start_pc; |