aboutsummaryrefslogtreecommitdiff
path: root/gdb/buildsym.c
diff options
context:
space:
mode:
authorMark Alexander <marka@cygnus>1997-02-09 17:36:49 +0000
committerMark Alexander <marka@cygnus>1997-02-09 17:36:49 +0000
commit32dab6031296a0decf26d30400759c4575877935 (patch)
tree0f50cdbf48c52c6a7059ac7592e6cbb884731995 /gdb/buildsym.c
parent754a678408186e703d32ebd21b04af87523eb335 (diff)
downloadgdb-32dab6031296a0decf26d30400759c4575877935.zip
gdb-32dab6031296a0decf26d30400759c4575877935.tar.gz
gdb-32dab6031296a0decf26d30400759c4575877935.tar.bz2
* remote-mips.c (common_breakpoint): Prevent 64-bit addresses
from being sent to 32-bit targets by masking off upper bits. * mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits of PC on 32-bit targets. (mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a frame setup instruction. (mips32_heuristic_proc_desc): Fix warning found by gcc -Wall. (mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid prologue instruction. Fix warnings and bugs found by gcc -Wall. * buildsym.c (finish_block): Improve handling of overlapping blocks; fixes problem on MIPS16 printing function arguments.
Diffstat (limited to 'gdb/buildsym.c')
-rw-r--r--gdb/buildsym.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index a80a8ff..be8f787 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -388,8 +388,10 @@ finish_block (symbol, listhead, old_blocks, start, end, objfile)
BLOCK_END (pblock->block), BLOCK_START (block),
BLOCK_END (block));
}
- BLOCK_START (pblock->block) = BLOCK_START (block);
- BLOCK_END (pblock->block) = BLOCK_END (block);
+ if (BLOCK_START (pblock->block) < BLOCK_START (block))
+ BLOCK_START (pblock->block) = BLOCK_START (block);
+ if (BLOCK_END (pblock->block) > BLOCK_END (block))
+ BLOCK_END (pblock->block) = BLOCK_END (block);
}
#endif
BLOCK_SUPERBLOCK (pblock->block) = block;