-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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
[TEST] Enable ASLR #16878
base: master
Are you sure you want to change the base?
[TEST] Enable ASLR #16878
Conversation
Please move the discord stuff to a separate PR |
3acc568
to
a218bce
Compare
I tested windows x86 a bit since yesterday and that seems fine. I need to find some time to test arm64 linux and macos. |
Which reminds me - patches also needs to be tested, especially the more complicated ones that use falloc |
Tested a few games on Linux x64, everything looks the same as master:
Created LLVM firmware cache from scratch too |
@@ -574,7 +574,6 @@ namespace stx | |||
} | |||
|
|||
// Random checks which may fail on invalid pointer | |||
ensure((reinterpret_cast<u64>(r.d()->destroy.load()) - 0x10000) >> 47 == 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you remove it? does it fail the assert?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, for bigger VAs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are relying on functions to be allocated at address lower than 0xffff'ffff'ffff in PPU. It's not ideal but it is how RPCS3 works as of this day.
See
rpcs3/rpcs3/Emu/Cell/PPUThread.cpp
Line 808 in c529207
write_to_ptr<uptr>(ppu_ptr(addr), (reinterpret_cast<uptr>(ptr) & 0xffff'ffff'ffffu) | (uptr(ppu_read(addr)) & ~0xffff'ffff'ffffu)); |
Tested on x86 (without TSX) and linux arm (qemu). Had to compile discord-rpc from source since precompiled libs don't have pic flag enabled.