From 00dfaa174077a144c1f9250d492e4726f47a5a60 Mon Sep 17 00:00:00 2001 From: Ilia Sergachev Date: Sat, 15 Jan 2022 17:15:25 +0100 Subject: [PATCH] software/bios: place eos s3 interrupt table at .text start when present --- litex/soc/software/bios/linker.ld | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/litex/soc/software/bios/linker.ld b/litex/soc/software/bios/linker.ld index a29795b1e..ea932f88b 100644 --- a/litex/soc/software/bios/linker.ld +++ b/litex/soc/software/bios/linker.ld @@ -8,11 +8,14 @@ SECTIONS .text : { _ftext = .; - /* Make sure crt0 files come first, and they, and the isr */ - /* don't get disposed of by greedy optimisation */ - *crt0*(.text) - KEEP(*crt0*(.text)) - KEEP(*(.text.isr)) + /* Quicklogic EOS-S3 interrupt vector table uses section name "isr_vector" */ + /* ARM table has to be placed at start */ + KEEP(*(.isr_vector)) + /* Make sure crt0 files come first, and they, and the isr */ + /* don't get disposed of by greedy optimisation */ + *crt0*(.text) + KEEP(*crt0*(.text)) + KEEP(*(.text.isr)) *(.text .stub .text.* .gnu.linkonce.t.*) _etext = .;