Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error when buliding native #4

Open
szalony9szymek opened this issue Oct 29, 2022 · 2 comments
Open

error when buliding native #4

szalony9szymek opened this issue Oct 29, 2022 · 2 comments

Comments

@szalony9szymek
Copy link

When trying to build it crashes:

szymonp@Szymon untether % ./build_native.sh     

./build_native.sh: line 8: tools/bin/jsmin: No such file or directory
src/gen/main.c:68:43: warning: comparison of distinct pointer types ('uint8_t *' (aka 'unsigned char *') and 'void *') [-Wcompare-distinct-pointer-types]
        for (new_what = (uint8_t*)what; new_what < (what + len); new_what += (cols * col_split)) {
                                        ~~~~~~~~ ^ ~~~~~~~~~~~~
src/gen/main.c:69:34: warning: format specifies type 'unsigned long long' but the argument has type 'uint8_t *' (aka 'unsigned char *') [-Wformat]
                fprintf(stderr, "0x016%llx: ", new_what);
                                      ~~~~     ^~~~~~~~
                                      %s
src/gen/main.c:73:18: warning: comparison of distinct pointer types ('uint8_t *' (aka 'unsigned char *') and 'void *') [-Wcompare-distinct-pointer-types]
                                if (new_what < (what + len)) {
                                    ~~~~~~~~ ^ ~~~~~~~~~~~~
src/gen/main.c:97:52: warning: comparison of distinct pointer types ('uint8_t *' (aka 'unsigned char *') and 'void *') [-Wcompare-distinct-pointer-types]
        for (uint8_t* new_what = (uint8_t*)what; new_what < (what + len); new_what++) {
                                                 ~~~~~~~~ ^ ~~~~~~~~~~~~
src/gen/main.c:207:28: warning: format specifies type 'unsigned int' but the argument has type 'void *' [-Wformat]
        fprintf(stderr, "0x%x\n", RTLD_DEFAULT);
                           ~~     ^~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/dlfcn.h:88:22: note: expanded from macro 'RTLD_DEFAULT'
#define RTLD_DEFAULT    ((void *) -2)   /* Use default search algorithm. */
                        ^~~~~~~~~~~~~
5 warnings generated.
src/gen/stage2.c:230:9: warning: incompatible pointer to integer conversion returning 'void *' from a function with result type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion]
        return dlsym(RTLD_DEFAULT, sym) - get_dyld_shc_slide();
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:234:9: warning: incompatible pointer to integer conversion returning 'void *' from a function with result type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion]
        return dlsym(dlopen("/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore", RTLD_LAZY) , sym) - get_dyld_shc_slide();
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:285:2: warning: '/*' within block comment [-Wcomment]
        /* allocate memory for file read later *\/
        ^
src/gen/stage2.c:290:2: warning: '/*' within block comment [-Wcomment]
        /* output malloc string *\/
        ^
src/gen/stage2.c:376:26: warning: format specifies type 'unsigned int' but the argument has type 'uintptr_t' (aka 'unsigned long') [-Wformat]
        fprintf(stderr, "%x\n", get_dyld_shc_slide());
                         ~~     ^~~~~~~~~~~~~~~~~~~~
                         %lx
src/gen/stage2.c:344:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID(JSContextGroupCreate);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID'
        STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4));   \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:344:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID(JSContextGroupCreate);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID'
        STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4));   \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:351:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID(JSGlobalContextCreateInGroup);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID'
        STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4));   \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:351:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID(JSGlobalContextCreateInGroup);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID'
        STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4));   \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:357:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID(JSContextGetGlobalObject);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID'
        STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4));   \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:357:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID(JSContextGetGlobalObject);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID'
        STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4));   \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:364:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID(JSStringCreateWithUTF8CString);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID'
        STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4));   \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:364:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID(JSStringCreateWithUTF8CString);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID'
        STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4));   \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:217:4: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
*/      STR_R0(stack_base + (chain_len * 4) + 720);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:217:4: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
*/      STR_R0(stack_base + (chain_len * 4) + 720);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
        CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:161:2: note: expanded from macro 'CALL_4_PTRARG_L2_0'
        STR_R0(stack_base + (chain_len * 4) + 520);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
        CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:161:2: note: expanded from macro 'CALL_4_PTRARG_L2_0'
        STR_R0(stack_base + (chain_len * 4) + 520);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
        CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:163:2: note: expanded from macro 'CALL_4_PTRARG_L2_0'
        STR_R0(stack_base + (chain_len * 4) + 340);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
        CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:163:2: note: expanded from macro 'CALL_4_PTRARG_L2_0'
        STR_R0(stack_base + (chain_len * 4) + 340);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:386:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID(JSStringCreateWithUTF8CString);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID'
        STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4));   \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:386:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID(JSStringCreateWithUTF8CString);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID'
        STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4));   \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:217:4: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
*/      STR_R0(stack_base + (chain_len * 4) + 720);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:217:4: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
*/      STR_R0(stack_base + (chain_len * 4) + 720);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
        CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:161:2: note: expanded from macro 'CALL_4_PTRARG_L2_0'
        STR_R0(stack_base + (chain_len * 4) + 520);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
        CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:161:2: note: expanded from macro 'CALL_4_PTRARG_L2_0'
        STR_R0(stack_base + (chain_len * 4) + 520);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
        CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:163:2: note: expanded from macro 'CALL_4_PTRARG_L2_0'
        STR_R0(stack_base + (chain_len * 4) + 340);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced]
        CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0'
        CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gen/stage2.c:163:2: note: expanded from macro 'CALL_4_PTRARG_L2_0'
        STR_R0(stack_base + (chain_len * 4) + 340);                     \
        ^                    ~~~~~~~~~
src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0'
        chain[chain_len++] = where;                                     \
                       ^     ~~~~~
27 warnings generated.
ld: can't open output file for writing: bin/main_arm, errno=2 for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ldid.cpp(3332): _assert(): errno=2
clang -cc1as: error: unable to open output file 'bin/payload.o': 'No such file or directory'
./build_native.sh: line 31: objcopy: command not found
@spv420
Copy link
Member

spv420 commented Nov 14, 2022

Build it on device, ./build_native.sh compiles the untether code for armv7 and will only work on iOS.

Regular ./build.sh is borked and idk why.

@szalony9szymek
Copy link
Author

would it work to compile on linux debian in raspberry pi? it has arm instruction, run arm64 but that iirc compatible

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants