-
-
Notifications
You must be signed in to change notification settings - Fork 51
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
Relocations R_PPC_TPREL16_LO and R_PPC_TPREL16_HA unsupported #116
Comments
70 and 72 definitely don't seem like valid relocations - closest I can get is assuming those are hex 70 and 72, which gives |
Sure! It's actually really easy to reproduce, you just need to compile something that includes and uses this library - specifically For the sample above, I did have to provide a semaphore implementation. I made a basic wrapper around the Wii U OSSemaphore to achieve that (insert after line 245 of #elif defined(PLATFORM_WIIU)
//---------------------------------------------------------
// Semaphore (POSIX, Linux)
//---------------------------------------------------------
class Semaphore
{
private:
OSSemaphore m_sema;
Semaphore(const Semaphore& other) MOODYCAMEL_DELETE_FUNCTION;
Semaphore& operator=(const Semaphore& other) MOODYCAMEL_DELETE_FUNCTION;
public:
Semaphore(int initialCount = 0)
{
assert(initialCount >= 0);
OSInitSemaphore(&m_sema, initialCount);
}
~Semaphore()
{
}
void wait()
{
OSWaitSemaphore(&m_sema);
}
bool try_wait()
{
// http://stackoverflow.com/questions/2013181/gdb-causes-sem-wait-to-fail-with-eintr-error
int remainingAttempts = 100;
int rc;
do {
rc = OSTryWaitSemaphore(&m_sema);
remainingAttempts--;
} while (rc <= 0 && remainingAttempts >= 0);
return remainingAttempts > 0;
}
bool timed_wait(std::uint64_t usecs)
{
// FIXME: Wii U doesn't have a timed wait for semaphores?
return try_wait();
}
void signal()
{
OSSignalSemaphore(&m_sema);
}
void signal(int count)
{
while (count-- > 0)
{
OSSignalSemaphore(&m_sema);
}
}
};
#else |
link to wiiu-sdl2 will reproduce this error. |
The title for this issue seems to be wrong. |
On my end there are different errors happen:
And ye, I also trying to link the SDL2 thing. Anyway, in addition to that, I do have a large pile of other libraries that are built from the source. I attempted to disable the -fPIC on all of them, but seems that took no effect... 🤔 |
These relocations are used for position-independent code and are unrelated to TLS and this issue. |
Ye, just now I found the last library where -fPIC was been enabled, and I disabled it, and thing got been built finally. Before that I tried one of exapmles from |
I'm not sure if this is a wut thing or a devkitPPC thing, but in trying to port some code to wut I've encountered the following errors when creating the rpx file:
I'm using the CMake toolchain like in the hello_world C++ CMake example. Is the issue above caused by something in my environment?
The text was updated successfully, but these errors were encountered: