[build] Build user programes with libc++ et al

Adding -lc++ -lc++abi -lunwind to user programs. Also, to support this,
start building using the custom toolchain and its new x86_64-jsix-elf
target triplet.
This commit is contained in:
Justin C. Miller
2022-02-12 15:00:50 -08:00
parent d20c77c618
commit 9620f040cb
3 changed files with 13 additions and 5 deletions

View File

@@ -1,8 +1,8 @@
--- ---
variables: variables:
cc: clang cc: "${source_root}/sysroot/bin/clang"
cxx: clang++ cxx: "${source_root}/sysroot/bin/clang++"
ld: ld.lld ld: "${source_root}/sysroot/bin/ld.lld"
ar: ar ar: ar
nasm: nasm nasm: nasm
objcopy: objcopy objcopy: objcopy

View File

@@ -5,7 +5,9 @@ variables:
asflags: [ "-I${source_root}/src/kernel/" ] asflags: [ "-I${source_root}/src/kernel/" ]
ccflags: [ ccflags: [
"--target=x86_64-unknown-elf", "--target=x86_64-jsix-elf",
"-fno-stack-protector",
"-I${source_root}/external", "-I${source_root}/external",
"-nostdinc", "-nostdinc",
@@ -47,6 +49,7 @@ variables:
"-g", "-g",
"-nostdlib", "-nostdlib",
"-Bstatic", "-Bstatic",
"--no-eh-frame-hdr",
"-z", "norelro", "-z", "norelro",
"-z", "separate-code" ] "-z", "separate-code" ]

View File

@@ -5,8 +5,10 @@ variables:
asflags: [ "-I${source_root}/src/kernel/" ] asflags: [ "-I${source_root}/src/kernel/" ]
ccflags: [ ccflags: [
"--target=x86_64-jsix-elf",
"-mno-sse", "-mno-sse",
"-fno-omit-frame-pointer", "-fno-omit-frame-pointer",
"-fno-stack-protector",
"-g", "-g",
@@ -30,5 +32,8 @@ variables:
"-Bstatic", "-Bstatic",
"--sysroot='${source_root}/sysroot'", "--sysroot='${source_root}/sysroot'",
"-L", "${source_root}/sysroot/lib", "-L", "${source_root}/sysroot/lib",
"-z", "separate-code" ] "-z", "separate-code",
"-lc++", "-lc++abi", "-lunwind",
"--no-dependent-libraries",
]