Update toolchain and add hive compiler
Some checks failed
Builds / XTchain (minimal, windows) (push) Successful in 2m27s
Builds / XTchain (minimal, linux) (push) Successful in 5m1s
Builds / XTchain (full, linux) (push) Successful in 43m26s
Builds / XTchain (full, windows) (push) Failing after 48m11s

This commit is contained in:
2026-10-11 00:19:01 +02:00
parent 9931e89679
commit 98cf6e2156
3 changed files with 2080 additions and 6 deletions

View File

@@ -31,7 +31,7 @@ CMAKEVCS="https://gitlab.kitware.com/cmake/cmake.git"
# LLVM Settings
LLVMDIR="${SRCDIR}/llvm"
LLVMTAG="llvmorg-23.1.2"
LLVMTAG="llvmorg-23.1.3"
LLVMVCS="https://github.com/llvm/llvm-project.git"
# Mtools Settings
@@ -408,7 +408,7 @@ xtchain_build()
echo ">>> Building XTchain tools ..."
mkdir -p ${BINDIR}/bin
mkdir -p ${BINDIR}/lib/xtchain
for EXEC in bin2c diskimg exetool xtadkgen xtcspecc xtnlsc; do
for EXEC in bin2c diskimg exetool mkxthv xtadkgen xtcspecc xtnlsc; do
if [ ! -e ${BINDIR}/bin/${EXEC} ]; then
${CCOMPILER} -I${WRKDIR}/tools/includes ${WRKDIR}/tools/${EXEC}.c -o ${BINDIR}/bin/${EXEC}
fi

View File

@@ -45,8 +45,13 @@
#define SECTOR_SIZE 512
#define _T(x) x
#ifndef YAML_MAX_BINARY
#define YAML_MAX_BINARY (64u * 1024u * 1024u)
#endif
#define YAML_MAX_TEXT (512u * 1024u * 1024u)
#ifndef YAML_MAX_DEPTH
#define YAML_MAX_DEPTH 32
#endif
typedef struct MBR_PARTITION {
uint8_t BootFlag; // 0x80 = bootable, 0x00 = non-boot
@@ -323,7 +328,7 @@ YamlAppendBuffer(YAML_BUFFER *b,
{
if(n > YAML_MAX_BINARY || b->len > YAML_MAX_BINARY - n)
{
YamlError("binary exceeds 64 MiB");
YamlError("binary exceeds %zu bytes", (size_t)YAML_MAX_BINARY);
}
if(b->len + n > b->cap)
{
@@ -385,7 +390,7 @@ inline
uint32_t
ReadUInt32(const unsigned char *p)
{
return ReadUInt16(p) | (ReadUInt16(p + 2) << 16);
return ReadUInt16(p) | ((uint32_t)ReadUInt16(p + 2) << 16);
}
static
@@ -1115,9 +1120,9 @@ inline
void
YamlParserDepthCheck(unsigned depth)
{
if(depth > 32)
if(depth > YAML_MAX_DEPTH)
{
YamlError("YAML nesting exceeds 32 levels");
YamlError("YAML nesting exceeds %u levels", (unsigned)YAML_MAX_DEPTH);
}
}

2069
tools/mkxthv.c Normal file

File diff suppressed because it is too large Load Diff