]> git.saurik.com Git - cycript.git/commitdiff
Temporary hacks to make 64-bit compile work.
authorJay Freeman (saurik) <saurik@saurik.com>
Sun, 25 Apr 2010 05:52:59 +0000 (05:52 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Sun, 25 Apr 2010 05:52:59 +0000 (05:52 +0000)
GNUmakefile.in
Mach/Inject.cpp

index c380435b43a7c730d216802435641d37ccb60ee3..7136ff92b8b71374e07c302e133eda3de0b6561e 100644 (file)
@@ -182,7 +182,8 @@ inject += Mach/Inject.lo
 Mach/Inject.lo: Trampoline.t.hpp Baton.hpp
 
 %.t.hpp: %.t.cpp
-       $(libtool) --mode=compile $(cxx) -c -fno-stack-protector -fno-exceptions -I$(srcdir)/include -o $*.t.lo $< $(cflags) && { file=($$($(otool) -l .libs/$*.t.o | $(sed) -e 'x; /^1/ { x; /^ *filesize / { s/^.* //; p; }; /^ *fileoff / { s/^.* //; p; }; x; }; x; /^ *cmd LC_SEGMENT$$/ { s/.*/1/; x; }; d;')); od -t x1 -j $${file[0]} -N $${file[1]} .libs/$*.t.o | $(sed) -e 's/^[^ ]*//' | tr $$'\n' ' ' | $(sed) -e 's/  */ /g;s/^ *//;s/ $$//;s/ /,/g;s/\([^,][^,]\)/0x\1/g' | $(sed) -e 's/^/static const char $*_[] = {/;s/$$/};/' && echo && echo "/*" && $(otool) -vVt .libs/$*.t.o && echo "*/"; } >$@ && rm -f $*.t.lo .libs/$*.t.o
+       # LC_SEGMENT_64
+       $(libtool) --mode=compile $(cxx) -c -fno-stack-protector -fno-exceptions -I$(srcdir)/include -o $*.t.lo $< $(cflags) && { file=($$($(otool) -l .libs/$*.t.o | $(sed) -e 'x; /^1/ { x; /^ *filesize / { s/^.* //; p; }; /^ *fileoff / { s/^.* //; p; }; x; }; x; /^ *cmd LC_SEGMENT/ { s/.*/1/; x; }; d;')); od -t x1 -j $${file[0]} -N $${file[1]} .libs/$*.t.o | $(sed) -e 's/^[^ ]*//' | tr $$'\n' ' ' | $(sed) -e 's/  */ /g;s/^ *//;s/ $$//;s/ /,/g;s/\([^,][^,]\)/0x\1/g' | $(sed) -e 's/^/static const char $*_[] = {/;s/$$/};/' && echo && echo "/*" && $(otool) -vVt .libs/$*.t.o && echo "*/"; } >$@ && rm -f $*.t.lo .libs/$*.t.o
 endif
 endif
 
index bd7fba8a8c523f283e1320dbd04a1f2a8e38753a..8de0eaa477118ec28f8bc988dba4c470741fdaea 100644 (file)
@@ -82,8 +82,10 @@ void InjectLibrary(pid_t pid) {
 
     struct nlist nl[3];
     memset(nl, 0, sizeof(nl));
+#if defined(__i386__)
     nl[0].n_un.n_name = (char *) "__pthread_set_self";
     nl[1].n_un.n_name = (char *) "___pthread_set_self";
+#endif
     nlist("/usr/lib/libSystem.B.dylib", nl);
     nlset(set_self_internal, nl, 0);
     nlset(set_self_external, nl, 1);