do not edit — generated by btf.
git.druid.rocksindexdruid520kaboommk.conf

mk.conf


src="src"
out="out"
 
nscc="${NSCC:-nscc}"
as="${AS:-as}"
# --fatal-warnings: any warning fails the build outright, same spirit
# as tape-kernel's own -Werror and mp's ccflgs.
# -moperand-check=error: upgrades gas's default "warning" for
# ambiguous/mixed-width operand encodings to a hard error -- real
# hand-written 32/64-bit-mixed asm (boot.s's mode transition, every
# isr stub) is exactly where a silent wrong-width encoding would be
# both easy to write and nasty to debug on real hardware.
# -msse-check=error: nothing here should ever touch sse/fp state (no
# fpu context is saved/restored anywhere yet, so using it would
# corrupt whatever ran before), so a compiler bug or a typo emitting
# an sse instruction fails the build instead of silently miscompiling.
asflgs="--64 --fatal-warnings -moperand-check=error -msse-check=error"
ld="${LD:-ld}"
# --fatal-warnings: same as above, includes --warn-rwx-segments (an
# accidental regression back to one merged rwx LOAD segment fails the
# build, not just prints a line to scroll past) and --warn-common
# (harmless here -- .comm is deliberate, see nscc's own fix for why).
# --error-execstack / -z noexecstack: no code here should ever need an
# executable stack; make that a hard build failure if it ever happens,
# even though nothing actually reads the marking in a direct qemu
# -kernel/PVH boot the way a real os loader would.
# --build-id=none: skip the .note.gnu.build-id section entirely --
# nothing here consumes it, pure overhead for a from-scratch image.
ldflgs="--fatal-warnings --error-execstack -z noexecstack --build-id=none"
ldscript="linker.ld"
objcopy="${OBJCOPY:-objcopy}"
readelf="${READELF:-readelf}"
 
qemu="${QEMU:-qemu-system-x86_64}"
qemuflgs="-m 128"
 
# every .nsc source compiled to an intermediate .s in $out, every hand
# written .s assembled straight to .o in $out -- see mk/b.sh for the
# exact list and link order (boot.o first by convention, not by
# requirement: the linker script's ENTRY(_start) is what actually
# decides where execution begins, object order on the ld command line
# doesn't matter for that).
powered by btf.