aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2019-01-06 03:19:51 +0000
committerBen Hutchings <ben@decadent.org.uk>2019-01-18 03:10:14 +0000
commit34163a2c7d1c3b841a35b242dbdbda25c4fb1ecb (patch)
treef35fda8b42ce97eb08e5907f8da1d06fdf21c125
parent2a705525e0816f9d708d7c41688f6bcb127374fe (diff)
downloadklibc-34163a2c7d1c3b841a35b242dbdbda25c4fb1ecb.tar.gz
[klibc] i386: Use -Ttext-segment to avoid address collision
Building klibc for i386 with binutils 2.31 adds an extra .note.gnu.property section to klibc.so, the address of which is not affected by the -Ttext option. Loading a klibc executable then fails with the following kernel log message: 9409 (sh.shared): Uhuuh, elf segment at 0000000000600000 requested but the memory is mapped already I don't exactly see why this is happening, but it is triggered by the new section and the collision can be avoided by passing -Ttext-segment instead of -Ttext, similarly to x86_64. Link: https://www.zytor.com/pipermail/klibc/2019-January/004027.html Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--usr/klibc/arch/i386/MCONFIG2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr/klibc/arch/i386/MCONFIG b/usr/klibc/arch/i386/MCONFIG
index 1150ecedf7998..bfec004a3c8bf 100644
--- a/usr/klibc/arch/i386/MCONFIG
+++ b/usr/klibc/arch/i386/MCONFIG
@@ -30,7 +30,7 @@ KLIBCBITSIZE = 32
# This address needs to be reachable using normal inter-module
# calls, and work on the memory models for this architecture
# 96 MB - normal binaries start at 128 MB
-KLIBCSHAREDFLAGS = -Ttext 0x06000200
+KLIBCSHAREDFLAGS = -Ttext-segment 0x06000000
# Asm includes for i386 are in the merged x86 tree
KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include