-
Notifications
You must be signed in to change notification settings - Fork 82
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
Bug the References to fstub removed by some compiling-time #226
Comments
Can you try
? |
According to @isage Also, scePowerIsPowerOnline was tested with the Without gcc -Os
gcc -03
|
"""Compiling""" with -O3 will output the following assembly code. push {r4, lr}
movw r4,#0x0
movt r4,#0x0
cbz r4,LAB_810016b2
nop.w
cbz r4,LAB_810016b2
nop.w
LAB_810016b2:
mov.w r0, #0x2000000 |
Princess-of-Sleeping
changed the title
Bug the References to fstub removed by gcc
Bug the References to fstub removed by some compiling-time
Feb 5, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
First of all, the psp2 kernel has code like this:
This assembly code can be originally reproduced in C code like
&SceHdmiForDriver_3126A070
has movw/movt set to 0 by the SCE compiler. This matches the initial assembly code.And if the kernel finds the SceHdmiForDriver_3126A070 export, this 0 movw/movt is resolved and replaced with a pointer to the SceHdmiForDriver_3126A070 stub.
However, even if you compile the following C code with vitasdk, these ifs are removed by the compiler.
Compile witth
to
but I don't know how to fix this bug.
The text was updated successfully, but these errors were encountered: