diff --git a/common.mk b/common.mk index 48aacaf..365049d 100644 --- a/common.mk +++ b/common.mk @@ -69,7 +69,7 @@ test.elf: test.o rgb.o vga.o $(OBJCOPY) -O binary $< $@ ip.elf: $(IP_OBJ) - $(LD) --print-memory-usage -T $(LIB)/ip.lds $^ -o $@ + $(LD) --orphan-handling=error --print-memory-usage -T $(LIB)/ip.lds $^ -o $@ audio.pcm: sox \ diff --git a/ip.lds b/ip.lds index e3803a4..61ea874 100644 --- a/ip.lds +++ b/ip.lds @@ -24,33 +24,36 @@ SECTIONS .text.sg_sec : { - KEEP(*(.text.sg_sec)) + KEEP(*(.text.*sg_sec)) } > sg_sec .text.sg_are : { - KEEP(*(.text.sg_arejp)) - KEEP(*(.text.sg_areus)) - KEEP(*(.text.sg_areec)) - KEEP(*(.text.sg_are00)) - KEEP(*(.text.sg_are01)) - KEEP(*(.text.sg_are02)) - KEEP(*(.text.sg_are03)) - KEEP(*(.text.sg_are04)) + KEEP(*(.text.*sg_arejp)) + KEEP(*(.text.*sg_areus)) + KEEP(*(.text.*sg_areec)) + KEEP(*(.text.*sg_are00)) + KEEP(*(.text.*sg_are01)) + KEEP(*(.text.*sg_are02)) + KEEP(*(.text.*sg_are03)) + KEEP(*(.text.*sg_are04)) } > sg_are .text.sg_ini : { - KEEP(*(.text.sg_ini)) + KEEP(*(.text.*sg_ini)) } > sg_ini .text.aip : { - KEEP(*(.text.aip)) + KEEP(*(.text.*aip)) } > aip /DISCARD/ : { - *(*) + *(.text) + *(.data) + *(.bss) + *(.comment) } }