logs archiveBotHelp.net / Freenode / #3dsdev / 2015 / September / 6 / 1
endrift
let's see how much I fu*ked up these futexes
yuriks
I'm still trying to design a mutex haha
I'm not sure if the AddressArbiter is prone to spurious wakeups
so trying to be defensive about it just in case
endrift
Enough to crash Citra!
yuriks
hehe
citra isn't even threaded, so if it doesn't work there you know you're really fu*ked ;)
endrift
[ 18.516548] Debug <Critical> core/hle/svc.cpp:operator():479: Assertion Failed!
um
yuriks
hmm
ASSERT_MSG(false, "Unsupported thread processor ID: %d", processor_id);
what id are you passing?
endrift
-1
I'll try passing -2 for now
yuriks
that's THREADPROCESSORID_ALL
endrift
I know
yuriks
which we don't accept for some reason, weird
endrift
exit(1); // Keeps GCC's mouth shut about this actually returning
you know there's an __attribute__((noreturn)) right
yuriks
endrift: look a few lines up :P
endrift
can't, in lldb :P
yuriks
ok then, we do use that
that exit is because gcc then warns you that the function actually does return
endrift
that's what noreturn is for...
yuriks
no, noreturn is to let *callers* know that the function doesn't return
endrift
now I'm confused
weird
ok well I'm not crashing citra anymore
yuriks
__attribute__((noreturn)) -> let callers assume the function will never return
endrift
right I got that
but how does gcc know the function is returning?
yuriks
and then, if your implementation of the function *does* return, gcc wil tell you while compiling it
endrift
also hey it seems to be working
in citra at least
let's see what blows up on hardware
haha nope
not sure if hanging or crashing
Lectem
<endrift> you know there's an __attribute__((noreturn)) right <--- you know it has been included in the standard right ?
C11 has _Noreturn
endrift
Lectem: yeah since C11
I did know that
is Citra written in C11?
;)
Lectem
oh
I thought it was about mgba
ahah
endrift
mGBA is also not written in C11
it's written in C99
Lectem
there's [[noreturn]] for c++ though
endrift
oh?
Lectem
http://en.cppreference.com/w/cpp/language/attributes
endrift
oh wow
C++11 feature I didn't know about
Lectem
the syntax is a bit... weird though
endrift
quite
Lectem
I like the fact they added deprecated in c++14 though
endrift : should I send a PR to use my 3ds-cmake ?
endrift
sure I suppose
if you want to take the effort
Lectem
I dont mind, that way I can also make sure it works fine
:p
yuriks
Lectem: attributes are supported by almost no compilers :(
Lectem
yuriks : http://en.cppreference.com/w/cpp/compiler_support even vcc has it now :p
well, as of visual 2015 though
inb4 #define [[noreturn]] __declspec(noreturn)
endrift
you can't do that
[[noreturn]] isn't an identifier
what you do is #define NORETURN based on the compiler ;_;
anyway
this futex implementation is turning into a waste
Lectem
endrift : any reason for not using target_compile_definitions here : https://github.com/mgba-emu/mgba/blob/master/src/platform/3ds/CMakeLists.txt#L26 ?
(such as cmake version or something ?)
endrift
when was that added?
Lectem
mmhh
endrift
anyway, nothing important I can't imagine
Lectem
2.8.11
endrift
unless it was added in >=2.8.12
well there you go
Lectem
so I can use it? you dont mind?
endrift
go ahead
Lectem
raw2c generated font.h right?
endrift
yeah
Lectem
failed to create symbolic link 'lib/libpng.pc': No error
failed to create symbolic link 'libpng.pc': No error
failed to create symbolic link 'lib/libpng-config': No error
failed to create symbolic link 'libpng-config': No error
*.*
yuriks
lol
Lectem
also, it complains about if(NOT 3DSXTOOL)
but not if(NOT SMDHTOOL)
*.*
aw, include files were hardcoded ?
include_directories isn't affecting the toplevel CMakeLists.txt
:/
In file included from D:/mgba/src/util/threading.h:19:0,
from D:/mgba/src/gba/context/sync.h:11,
from D:/mgba/src/gba/supervisor/thread.h:14,
from D:/mgba/src/gba/audio.c:11:
D:/mgba/src/platform/3ds/threading.h:11:17: fatal error: 3ds.h: No such file or directory
D=
« prev 1 2 3 4 5 6 next »