From d3152ca2ad31fe6d88290d6466531110ca0a9c08 Mon Sep 17 00:00:00 2001 From: giomba Date: Mon, 31 Dec 2018 12:32:26 +0100 Subject: [PATCH] Auto-alignment of vector table And discovered fundamental difference between .align and .balign on ARM ftp://ftp.gnu.org/old-gnu/Manuals/gas/html_chapter/as_7.html --- src/kernel.s | 2 +- src/linker.ld | 1 - src/vectab.s | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/kernel.s b/src/kernel.s index d056fba..dbac56a 100644 --- a/src/kernel.s +++ b/src/kernel.s @@ -4,7 +4,7 @@ godot_msg: .text -.align 4 +.balign 4 .global _start _start: /* Initialize stack pointers */ diff --git a/src/linker.ld b/src/linker.ld index c17192b..68cafc9 100644 --- a/src/linker.ld +++ b/src/linker.ld @@ -10,7 +10,6 @@ SECTIONS { . = 0x40000000; .text : ALIGN(0x1000) { - obj/s_vectab.o (.text) *(.text) } > m_text .data : ALIGN(0x1000) { diff --git a/src/vectab.s b/src/vectab.s index a05705b..706cdbb 100644 --- a/src/vectab.s +++ b/src/vectab.s @@ -16,7 +16,7 @@ fiq_msg: .string "FIQ" .text -.align 4 +.balign 32 .global vectab vectab: ldr pc, =panic