Differences From Artifact [d7b4907031]:
- Executable file build.sh — part of check-in [5560c2725b] at 2019-08-22 01:37:08 on branch trunk — add first iteration of knum header (user: lexi, size: 9193) [annotate] [blame] [check-ins using]
To Artifact [b5a70ac75f]:
- Executable file build.sh — part of check-in [e50a476efe] at 2019-08-22 02:52:20 on branch trunk — removed sneaky segfault in x86-64 syscall fn where %r8 (the register that contains the pointer to the syscall arguments from the C syscall wrapper, which need to be copied into the correct registers before the kernel is invoked) gets overwritten if the syscall valency > 5, because of overlapping ccall and syscall ABI argument registers - r8 is clobbered by argument 5 and any further attempts to use it as a ptr segfault at best. also modified the report function so that it immediate cancels compilation if a sub-process reports failure. changed allocator function signatures so they can return a condition code if the kernel reports an error; updated example code so it compiles and runs without fault. (user: lexi, size: 9203) [annotate] [blame] [check-ins using]
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
if test ! "$output" -ot "$src"; then return fi fi if test "$debug" = yes; then local dflag="-g dwarf2" fi report $asm $flags $dflag "-f$bin_fmt" -i "$gen" "$src" -o "$output"; } comp_co() { comp_c $1 $2 "-c -fPIC"; } comp_c(){ local src=$1 local output=$2 local flags=$3 if test -e "$output"; then |
| |
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
if test ! "$output" -ot "$src"; then
return
fi
fi
if test "$debug" = yes; then
local dflag="-g dwarf2"
fi
report $asm $flags $dflag "-f$bin_fmt" -i "$gen" -i "$PWD" "$src" -o "$output";
}
comp_co() { comp_c $1 $2 "-c -fPIC"; }
comp_c(){
local src=$1
local output=$2
local flags=$3
if test -e "$output"; then
|