summaryrefslogtreecommitdiffstats
path: root/core/armelf.x
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-11 12:11:54 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-11 12:11:54 -0700
commitfdd3a1020cc63c9f2440f3cff814318d11d6c773 (patch)
tree4e35d9fa731c49cf141913e3dc82236de2dbb073 /core/armelf.x
parent2f31293ba78695cb48ac5a1cab835197ace58d47 (diff)
downloadbuild-fdd3a1020cc63c9f2440f3cff814318d11d6c773.zip
build-fdd3a1020cc63c9f2440f3cff814318d11d6c773.tar.gz
build-fdd3a1020cc63c9f2440f3cff814318d11d6c773.tar.bz2
auto import from //branches/cupcake/...@137873
Diffstat (limited to 'core/armelf.x')
-rw-r--r--core/armelf.x8
1 files changed, 7 insertions, 1 deletions
diff --git a/core/armelf.x b/core/armelf.x
index 766fe88..d38dc1d 100644
--- a/core/armelf.x
+++ b/core/armelf.x
@@ -188,9 +188,15 @@ SECTIONS
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
+ /* Adding the word ABSOLUTE below, so that the _stack below won't float
+ into a random section. If _stack is not absolutely with .stack section,
+ we saw that sometimes _stack got inserted into the .debug_frame section
+ because it's processed by the linker at that moment. As a result, _stack
+ symbol will get wrongly moved and gelf_update_symshndx() will return
+ invalid data. */
.stack 0x80000 :
{
- _stack = .;
+ _stack = ABSOLUTE(.);
*(.stack)
}
.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }