summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordzwdz2023-02-25 18:10:39 +0100
committerdzwdz2023-02-25 18:10:39 +0100
commitfd9214efa47f721e6d08dd2530efbb40b99c3b7b (patch)
treeb8fb2f3c35599d2fb16bdfefaffdcc007476963f /src
parent5faf16e48457f3ea1dda7af76f9c59b007a054f8 (diff)
toolchain: working customized toolchain for userland bins
Diffstat (limited to 'src')
-rw-r--r--src/user/bootstrap/linker.ld6
-rw-r--r--src/user/lib/elfreloc.c5
2 files changed, 2 insertions, 9 deletions
diff --git a/src/user/bootstrap/linker.ld b/src/user/bootstrap/linker.ld
index 34d8101..5d8abe7 100644
--- a/src/user/bootstrap/linker.ld
+++ b/src/user/bootstrap/linker.ld
@@ -26,11 +26,7 @@ SECTIONS
}
.data BLOCK(4K) : ALIGN(4K)
{
- *(.data)
+ *(.data*)
}
_initrd = .; /* is just appended onto the end of the binary */
-
- /DISCARD/ : {
- *(*.rel.*)
- }
}
diff --git a/src/user/lib/elfreloc.c b/src/user/lib/elfreloc.c
index 632f60f..aab2a2a 100644
--- a/src/user/lib/elfreloc.c
+++ b/src/user/lib/elfreloc.c
@@ -15,10 +15,7 @@ static struct Elf64_Dyn *dyn_gettag(Elf64_Xword tag) {
}
void elf_selfreloc(void) {
- // TODO DT_REL
- if (dyn_gettag(DT_PLTGOT) || dyn_gettag(DT_JMPREL)) {
- _klogf("elf: unimplemented tag in _DYNAMIC\n");
- }
+ // TODO DT_REL, DT_JMPREL
struct Elf64_Dyn *rela_tag = dyn_gettag(DT_RELA);
if (rela_tag) {