diff options
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; |