w6a,w6l: char-literals for ELF/archive magic bytes (Wave-1)
byte-id-neutral: every magic-decimal sub is value-equivalent to its ASCII char-literal. 0x7F (ELF byte-0), ELFCLASS64=2, NUL sentinels, and hex/itoa radix arithmetic kept decimal (no char identity). Regenerated w6a/w6l main.combined.ww (the only two embedders).
This commit is contained in:
@@ -120,7 +120,7 @@ fn dbasename(p: *u8) *u8 = {
|
||||
let i: u64 = n;
|
||||
for (i > 0u64) {
|
||||
i -= 1u64;
|
||||
if (p[i] == 47u8) { // '/'
|
||||
if (p[i] == '/') {
|
||||
return p + i + 1u64;
|
||||
};
|
||||
};
|
||||
@@ -191,9 +191,9 @@ export fn loadso(l: *lnk, path: *u8) i32 = {
|
||||
return -1;
|
||||
};
|
||||
if (buf[0u64] != 127u8) { return soerr("not ELF"); };
|
||||
if (buf[1u64] != 69u8) { return soerr("not ELF"); };
|
||||
if (buf[2u64] != 76u8) { return soerr("not ELF"); };
|
||||
if (buf[3u64] != 70u8) { return soerr("not ELF"); };
|
||||
if (buf[1u64] != 'E') { return soerr("not ELF"); };
|
||||
if (buf[2u64] != 'L') { return soerr("not ELF"); };
|
||||
if (buf[3u64] != 'F') { return soerr("not ELF"); };
|
||||
if (buf[4u64] != 2u8) { return soerr("not ELFCLASS64"); };
|
||||
if (du16(buf, EH_EMACHINE) != EM_X86_64_SO) {
|
||||
return soerr("not amd64");
|
||||
|
||||
Reference in New Issue
Block a user