This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
RFA: RL78: Add an assertion to detect link time data overflow.
- From: Nick Clifton <nickc at redhat dot com>
- To: dj at redhat dot com
- Cc: newlib at sourceware dot org
- Date: Wed, 13 May 2015 15:22:57 +0100
- Subject: RFA: RL78: Add an assertion to detect link time data overflow.
- Authentication-results: sourceware.org; auth=none
Hi DJ,
The patch below adds an assertion the .stack sections in the RL78
linker scripts in libgloss. This assertion checks for the data area
overflowing into the stack space. (Using the linker's
--check-sections option does not work because the .stack section is
empty).
OK to apply ?
Cheers
Nick
libgloss/ChangeLog
2015-05-13 Nick Clifton <nickc@redhat.com>
* rl78/rl78.ld (.stack): Add an assertion to make sure that the
data area does not overrun the stack.
* rl78/rl78-sim.ld (.stack): Likewise.
diff --git a/libgloss/rl78/rl78-sim.ld b/libgloss/rl78/rl78-sim.ld
index 26d62ac..ff7f403 100644
--- a/libgloss/rl78/rl78-sim.ld
+++ b/libgloss/rl78/rl78-sim.ld
@@ -126,6 +126,10 @@ SECTIONS
{
PROVIDE (__stack = .);
*(.stack)
+ /* Linker section checking ignores empty sections
+ like this so we have to have our own test here.
+ The value 0x100 is just a guess. */
+ ASSERT ((__stack > (_end + 0x100)), "Error: Too much data - no room left for the stack");
}
.saddr : {
diff --git a/libgloss/rl78/rl78.ld b/libgloss/rl78/rl78.ld
index d560b14..5d9f25d 100644
--- a/libgloss/rl78/rl78.ld
+++ b/libgloss/rl78/rl78.ld
@@ -126,6 +126,10 @@ SECTIONS
{
PROVIDE (__stack = .);
*(.stack)
+ /* Linker section checking ignores empty sections
+ like this so we have to have our own test here.
+ The value 0x100 is just a guess. */
+ ASSERT ((__stack > (_end + 0x100)), "Error: Too much data - no room left for the stack");
}
.saddr : {