- FAT32 writeFile: replace hardcoded spc=4 with bootRecord^.spc for cluster allocation and per-sector write loop - FAT32 writeFile: update directory entry byteSize on disk after write - FAT32 readFile: use dir^.byteSize instead of cluster-based estimate, fix off-by-one in read loop, remove spurious +sectorSize allocation - VFS: fire VFS_OnMutation on sync/async writes (cache invalidate + watch) - VFS: invalidate all cache entries for volume on mutation (relPath mismatch) - VFS: add vfsParentDir helper, store VFSDir in file descriptors - FDTable: add VFSDir field, free on close - File browser: enable directory watch & poll timer, two-step new file creation (open + write), remove io.syslog import - Linker: add --no-warn-execstack to suppress ld exit code 1 on warning - Add core.strings.helpers unit (getFileExtension, fmtFileSize, sort)
22 lines
597 B
Bash
22 lines
597 B
Bash
#!/usr/bin/env bash
|
|
echo " "
|
|
echo "======================="
|
|
echo " "
|
|
echo "Linking..."
|
|
echo " "
|
|
objstring="";
|
|
for object in `find lib/ -name "*.o"`; do
|
|
if [ "$object" != "lib/stub.o" ]
|
|
then
|
|
objstring=$objstring$object" ";
|
|
fi
|
|
done;
|
|
objstring=lib/stub.o" "$objstring
|
|
echo "Object Files: "$objstring
|
|
echo " "
|
|
|
|
# Find libgcc for i386 (needed by LVGL compiled with gcc)
|
|
LIBGCC=$(gcc -m32 -print-libgcc-file-name)
|
|
echo "libgcc: ${LIBGCC}"
|
|
|
|
ld -m elf_i386 -s --gc-sections --no-warn-execstack -Ttoolchain/linker.script -o bin/kernel.bin $objstring --start-group lib/liblvgl.a ${LIBGCC} --end-group |