diff --git a/assets/build/config.debug.yaml b/assets/build/config.debug.yaml new file mode 100644 index 0000000..4434338 --- /dev/null +++ b/assets/build/config.debug.yaml @@ -0,0 +1,9 @@ +--- +ccflags: [ + "-g3", + "-ggdb", +] + +ldflags: [ + "-g", +] \ No newline at end of file diff --git a/assets/build/target.boot.yaml b/assets/build/target.boot.yaml index e1118a2..e1d66e8 100644 --- a/assets/build/target.boot.yaml +++ b/assets/build/target.boot.yaml @@ -12,8 +12,7 @@ ccflags: [ "-mno-red-zone", "-fshort-wchar", "-fno-omit-frame-pointer", - "-ggdb", - "-g3" ] +] cxxflags: [ "-fno-exceptions", "-fno-rtti" ] @@ -23,5 +22,5 @@ ldflags: [ "-Wl,-entry:efi_main", "-Wl,-subsystem:efi_application", "-fuse-ld=lld-link", - "-g" ] +] diff --git a/assets/build/target.init.yaml b/assets/build/target.init.yaml new file mode 100644 index 0000000..c76ae04 --- /dev/null +++ b/assets/build/target.init.yaml @@ -0,0 +1,34 @@ +--- +ccflags: [ + "--target=x86_64-jsix-elf", + "-fno-omit-frame-pointer", + "-fno-stack-protector", + + "-fvisibility=hidden", + "-fvisibility-inlines-hidden", + + "-D__ELF__", + "-D__jsix__", + "-U__linux", + "-U__linux__", + + "--sysroot='${source_root}/sysroot'" +] + + +cxxflags: [ + "-fno-exceptions", + "-fno-rtti", +] + +ldflags: [ + "-Bstatic", + "-m", "elf_x86_64", + "--sysroot='${source_root}/sysroot'", + "--no-eh-frame-hdr", + "-L", "${source_root}/sysroot/lib", + "-z", "separate-code", + "-lc++", "-lc++abi", "-lunwind", + "--no-dependent-libraries", +] + diff --git a/assets/build/target.kernel.yaml b/assets/build/target.kernel.yaml index 4d8b6c0..087237e 100644 --- a/assets/build/target.kernel.yaml +++ b/assets/build/target.kernel.yaml @@ -21,9 +21,6 @@ ccflags: [ "-fvisibility=hidden", "-fvisibility-inlines-hidden", - "-g3", - "-ggdb", - "-D__ELF__", "-D__jsix__", "-D__j6kernel", @@ -32,7 +29,8 @@ ccflags: [ "-DPRINTF_ALIAS_STANDARD_FUNCTION_NAMES=1", "-DPRINTF_INCLUDE_CONFIG_H=1", - "--sysroot='${source_root}/sysroot'" ] + "--sysroot='${source_root}/sysroot'" +] cflags: [ '-nostdinc' ] @@ -41,14 +39,14 @@ cxxflags: [ "-fno-exceptions", "-fno-rtti", "-nostdinc", - ] +] ldflags: [ - "-g", "-m", "elf_x86_64", "-nostdlib", "-Bstatic", "--no-eh-frame-hdr", "-z", "norelro", - "-z", "separate-code" ] + "-z", "separate-code" +] diff --git a/assets/build/target.user.exe.yaml b/assets/build/target.user.exe.yaml new file mode 100644 index 0000000..1109b89 --- /dev/null +++ b/assets/build/target.user.exe.yaml @@ -0,0 +1,9 @@ +--- +ccflags: [ + "-fpie" +] + +ldflags: [ + "-pie", + "--dynamic-linker", "/tools/ld.so", +] diff --git a/assets/build/target.user.yaml b/assets/build/target.user.yaml index df0f69d..e5af4f0 100644 --- a/assets/build/target.user.yaml +++ b/assets/build/target.user.yaml @@ -5,11 +5,6 @@ ccflags: [ "--target=x86_64-jsix-elf", "-fno-omit-frame-pointer", "-fno-stack-protector", - "-fpic", - "-fpie", - - "-g3", - "-ggdb", "-fvisibility=hidden", "-fvisibility-inlines-hidden", @@ -19,7 +14,10 @@ ccflags: [ "-U__linux", "-U__linux__", - "--sysroot='${source_root}/sysroot'" ] + "--sysroot='${source_root}/sysroot'", + + "-fpic" +] cxxflags: [ @@ -28,7 +26,6 @@ cxxflags: [ ] ldflags: [ - "-g", "-m", "elf_x86_64", "--sysroot='${source_root}/sysroot'", "--no-eh-frame-hdr", @@ -36,6 +33,5 @@ ldflags: [ "-z", "separate-code", "-lc++", "-lc++abi", "-lunwind", "--no-dependent-libraries", - "--dynamic-linker", "/tools/ld.so", ] diff --git a/scripts/bonnibel/manifest.py b/scripts/bonnibel/manifest.py index 4af6920..bb0e335 100644 --- a/scripts/bonnibel/manifest.py +++ b/scripts/bonnibel/manifest.py @@ -26,7 +26,7 @@ class Manifest: name="kernel", target="kernel") self.init = self.__build_entry(modules, - config.get("init", None)) + config.get("init", None), target="init") self.panics = [self.__build_entry(modules, i, target="kernel") for i in config.get("panic", tuple())] diff --git a/src/user/srv.init/init.module b/src/user/srv.init/init.module index 0a293de..84847f3 100644 --- a/src/user/srv.init/init.module +++ b/src/user/srv.init/init.module @@ -1,7 +1,7 @@ # vim: ft=python init = module("srv.init", - targets = [ "user" ], + targets = [ "init" ], deps = [ "libc", "elf", "bootproto", "zstd" ], description = "Init server", ld_script = "init.ld", @@ -14,4 +14,4 @@ init = module("srv.init", "pci.cpp", "service_locator.cpp", "start.s", - ]) + ]) \ No newline at end of file