summaryrefslogtreecommitdiff
path: root/src/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/config')
-rw-r--r--src/config/Config.lb17
-rw-r--r--src/config/Options.lb4
2 files changed, 19 insertions, 2 deletions
diff --git a/src/config/Config.lb b/src/config/Config.lb
index 70fc96de41..096044ae50 100644
--- a/src/config/Config.lb
+++ b/src/config/Config.lb
@@ -63,12 +63,29 @@ makerule linuxbios_ram.rom
action "cp $(LINUXBIOS_RAM-1) linuxbios_ram.rom"
end
+if CONFIG_USE_INIT
+makerule init.o
+ depends "$(INIT-OBJECTS)"
+ action "$(LD) -melf_i386 -r -o init.pre.o $(INIT-OBJECTS)"
+ action "$(OBJCOPY) --rename-section .text=.init.text --rename-section .data=.init.data --rename-section .rodata=.init.rodata --rename-section .rodata.str1.1=.init.rodata.str1.1 init.pre.o init.o"
+end
+
+makerule linuxbios
+ depends "crt0.o init.o linuxbios_ram.rom ldscript.ld"
+ action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o"
+ action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map"
+end
+
+else
+
makerule linuxbios
depends "crt0.o $(INIT-OBJECTS) linuxbios_ram.rom ldscript.ld"
action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o $(INIT-OBJECTS)"
action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map"
end
+end
+
makerule linuxbios.a
depends "$(OBJECTS)"
action "rm -f linuxbios.a"
diff --git a/src/config/Options.lb b/src/config/Options.lb
index 370eba21c8..92104a0451 100644
--- a/src/config/Options.lb
+++ b/src/config/Options.lb
@@ -164,7 +164,7 @@ define CONFIG_CHIP_CONFIGURE
end
define CONFIG_USE_INIT
default 0
- export used
+ export always
comment "Use stage 1 initialization code"
end
@@ -270,7 +270,7 @@ define _RAMSTART
end
define USE_DCACHE_RAM
default 0
- export used
+ export always
comment "Use data cache as temporary RAM if possible"
end
define DCACHE_RAM_BASE