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

Unstable #18

Open
wants to merge 21 commits into
base: semver-1.x
Choose a base branch
from
Open

Unstable #18

wants to merge 21 commits into from

Conversation

Meirtz
Copy link

@Meirtz Meirtz commented May 17, 2014

No description provided.

Rafael Ávila de Espíndola and others added 21 commits August 10, 2012 18:42
don't pass originalFunctionPtr and reentryIsland to fixupInstructions,
it only needs the offset.
Compiling mach_override.c with gcc 4.2.1 via

  gcc -Wall -pedantic -std=c99 -c mach_override.c

would yield a lot of warnings saying 'warning: overflow in implicit
constant conversion' in the opcode arrays. The reason was that 'char'
is a signed type with this compiler, so 0x90 (as well as 0xFF) were
too large, causing an overflow.

We don't really care whether it's signed or unsigned, but in order
to silence warnings in -pedantic builds just use 'unsigned char' to
be explicit.
Fix x86 builds on Clang 3.2/Xcode 4.6.
Replacing atomic_mov64 with an implementation that just calls
OSAtomicCompareAndSwap64Barrier on all OSes.
[CHANGE] OSAtomicCompareAndSwap64Barrier instead of inline asm. (Jørgen P. Tjernø)
strerror, our test-victim function that we override, returns a slightly-different result on 10.6 and 10.7+.

We used to call Gestalt to decide which we should expect, but Gestalt is deprecated. Apparently the current "best" solution is to read SystemVersion.plist  (ref https://twitter.com/rentzsch/status/373203814993494016) but that's a lot of code to write just to decide on which string to expect. So this code now will accept either.

But the assert* code was hard to follow with the strcmp() == 0, so I upgraded that yak as well.
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

Successfully merging this pull request may close these issues.

4 participants