cshtexas-instrumentsti-nspire

Can`t make nLoader


I've tried compiling this Ti-Nspire exploit, but I've run into several problems. Some of them I could fix myself, but now I stuck at the following problem for weeks (I've tried contancting the developer, but he's very busy):

sh make_for_nMaker.sh
CAS_OS
rm -f *.o *.elf
rm -f ../ndless_loader.bin
arm-none-eabi-gcc -Os -Wall -W -marm -mcpu=arm926ej-s -nostdlib -nostartfiles -s -fPIE -ffreestanding -std=c11 -o ndless_loader.o -c ndless_loader.c
arm-none-eabi-ld -nostdlib -nostartfiles -e ndless_loader -PIE -T ldscript ndless_loader.o -o ndless_loader.elf
arm-none-eabi-objcopy -O binary ndless_loader.elf ../ndless_loader.bin
find: paths must precede expression: `1'
find: paths must precede expression: `1'
find: paths must precede expression: `1'
find: paths must precede expression: `1'
find: paths must precede expression: `1'
find: paths must precede expression: `1'
rm -f loader.bin loader.elf
find: paths must precede expression: `1'
find: paths must precede expression: `1'
find: paths must precede expression: `1'
arm-none-eabi-ld -nostdlib -nostartfiles -T ldscript -PIE -flto libgcc/*.o -o loader.elf
arm-none-eabi-ld: libgcc/_absvdi2.o: in function `__absvdi2':
libgcc2.c:(.text+0x28): undefined reference to `abort'
arm-none-eabi-ld: libgcc/_absvsi2.o: in function `__absvsi2':
libgcc2.c:(.text+0x1c): undefined reference to `abort'
arm-none-eabi-ld: libgcc/_addvdi3.o: in function `__addvdi3':
libgcc2.c:(.text+0x54): undefined reference to `abort'
arm-none-eabi-ld: libgcc/_addvsi3.o: in function `__addvsi3':
libgcc2.c:(.text+0x3c): undefined reference to `abort'
arm-none-eabi-ld: libgcc/_mulvdi3.o: in function `__mulvdi3':
libgcc2.c:(.text+0xd0): undefined reference to `abort'
arm-none-eabi-ld: libgcc/_mulvsi3.o:libgcc2.c:(.text+0x18): more undefined references to `abort' follow
make: *** [_Makefile:18: loader.elf] Error 1
mv: cannot stat 'loader.bin': No such file or directory

You can access all the files on github: https://github.com/parrotgeek1/TI-Nspire/tree/master/boot1.5_exploit/nLoader

Maybe someone you can help me fixing this problem. Tbh have no experience with sh-scripts and all this stuff ^^

Thank you in advance!


Solution

  • Makefile is wrong

    OBJS = $(patsubst %.c, %.o, $(shell find . -depth 1 -type f -name \*.c))
    

    --> this produces the seen

    find: paths must precede expression: `1'

    There should be probably used -maxdepth 1 instead of -depth 1 (which has another meaning).