Post Avjel0EE0FwN6OfCdc by [email protected] | |
More posts by [email protected] | |
Post #AvjcJnHbpHBdE391pw by [email protected] | |
0 likes, 1 repeats | |
they should make longjmp2, a new and more fucked up longjmp variant | |
Post #AvjcVs8HcZllk1Xemu by [email protected] | |
0 likes, 0 repeats | |
@whitequark maybe with a setcliff to specify the point you'll be longjmping… | |
Post #AvjcWCkEzA11fXSFjE by [email protected] | |
0 likes, 0 repeats | |
@whitequark yes. but it sets a fairly high bar | |
Post #AvjcWCqya7P40QbdE8 by [email protected] | |
0 likes, 0 repeats | |
@dysfun exactly. Which is why I really want to hear your suggestions! | |
Post #AvjcaqhMNgpsk0K1Ds by [email protected] | |
0 likes, 0 repeats | |
@whitequark And then when that has lost its sheen, triplejmp? | |
Post #AvjccALunEP9zEv3BI by [email protected] | |
0 likes, 2 repeats | |
@whitequark combine siglongjmp with computed goto .. | |
Post #Avjcg3dzg142L6EOJs by [email protected] | |
0 likes, 0 repeats | |
@miblo yes | |
Post #Avjcw7TpBMjerz8KkS by [email protected] | |
0 likes, 0 repeats | |
@whitequark how about thislongjmp2 works like longjmp except it jumps from setj… | |
Post #AvjdEd5kODb67khJbM by [email protected] | |
0 likes, 0 repeats | |
@whitequark i will strive to include this in lol64 | |
Post #AvjdEnsgH8gJaPfXGK by [email protected] | |
0 likes, 0 repeats | |
@whitequark i have some green thread switching code somewhere... that's ana… | |
Post #AvjdEnz3tPmluCedCy by [email protected] | |
0 likes, 0 repeats | |
@whitequark oh and yeah, i did it in rust, with inline assembly, which did not… | |
Post #AvjdEo55X0beCtTRbM by [email protected] | |
0 likes, 0 repeats | |
@dysfun i worked on libfringe, which preserves DWARF unwinding across green thr… | |
Post #AvjdMqpPCZYh2kySw4 by [email protected] | |
0 likes, 0 repeats | |
@whitequark They should introduce a backwards longjmp that makes the CPU really… | |
Post #AvjdUSui00FrBt5MjQ by [email protected] | |
0 likes, 1 repeats | |
@whitequark can we call it longerjmp? | |
Post #AvjdeimXr7cnIk9pJ2 by [email protected] | |
0 likes, 0 repeats | |
@jrose hahaha touche | |
Post #AvjdphF5v6VPiCkEDI by [email protected] | |
0 likes, 0 repeats | |
@whitequark *callcc has entered the chat* | |
Post #AvjdtvBG2Z726Axrbk by [email protected] | |
0 likes, 0 repeats | |
@whitequark longjmp that works in signal handlers with sigstack()/sigaltstack()… | |
Post #AvjdzaqWYXgClnyHA0 by [email protected] | |
0 likes, 0 repeats | |
@whitequark longjmp2, for when you need to cross the arm64 / x86_64 emulation l… | |
Post #Avjdzaxc8BLp7nHwDA by [email protected] | |
0 likes, 1 repeats | |
@r @whitequark So like calling thumb code on arm? | |
Post #AvjdzgzbhgVhpiGc9Q by [email protected] | |
0 likes, 0 repeats | |
@whitequark oh wait that's just called CallUniversalProc | |
Post #Avje3PGZYGk80vyPWi by [email protected] | |
0 likes, 0 repeats | |
@whitequark so i did originally do this (god, i had no idea DWARF was so cursed… | |
Post #Avje3PMxAXqaKixVTM by [email protected] | |
0 likes, 0 repeats | |
@whitequark incidentally, i finished all of this and then immediately decided i… | |
Post #Avje3PScpSNscJc2JU by [email protected] | |
0 likes, 0 repeats | |
@dysfun makes sense yeah >.< | |
Post #AvjeOzYZouA2eEggLo by [email protected] | |
0 likes, 0 repeats | |
@whitequark the thing that ultimately got to me was all the stacks you have to … | |
Post #AvjeOzebSUyuwvVUkC by [email protected] | |
0 likes, 0 repeats | |
@dysfun there are some in embedded rust! | |
Post #AvjeOzkd65nnFcKJ8a by [email protected] | |
0 likes, 0 repeats | |
@dysfun and also i kept wanting to use custom stack probes but they're sooo… | |
Post #AvjeSOkwaMQTfh62QC by [email protected] | |
0 likes, 0 repeats | |
@whitequark @dysfun Imagine SPARC register windows in the middle of this. | |
Post #AvjeaFzf34Z6oMjATQ by [email protected] | |
0 likes, 0 repeats | |
@whitequark rust is just like "lol, touch rsp+4096" | |
Post #AvjeaG5Khz6P5xNhJY by [email protected] | |
0 likes, 0 repeats | |
@dysfun i thought it was more complex than that | |
Post #Avjel07UPIYKlVVp8i by [email protected] | |
0 likes, 0 repeats | |
@dascandy @whitequark that should work with an ordinary longjmp. this would be … | |
Post #Avjel0EE0FwN6OfCdc by [email protected] | |
0 likes, 1 repeats | |
@r @whitequark why not make this work too then? Just abuse some undefined high … | |
Post #AvjenikzPzyJmfHk24 by [email protected] | |
0 likes, 0 repeats | |
@whitequark Surely the Itanium ABI exception system fits this description | |
Post #AvjfOonJvwSLDw44zA by [email protected] | |
0 likes, 1 repeats | |
@whitequark Likely would fall off of the trampoline. | |
Post #AvjfQpenhIuiTi2XYm by [email protected] | |
0 likes, 0 repeats | |
@dysfun @whitequark solution (for garbage collected languages): allocate call s… | |
Post #AvjfQpkpKtjamOrLxA by [email protected] | |
0 likes, 0 repeats | |
@LunaDragofelis @whitequark yes and no. the stack is actually the optimal stora… | |
Post #AvjfQpqqyUYT55gALY by [email protected] | |
0 likes, 0 repeats | |
@dysfun @LunaDragofelis tbf split stacks are fine if you never run any c code | |
Post #AvjfcWZYTmV4lOA5XU by [email protected] | |
0 likes, 0 repeats | |
@whitequark And a MSVCRT variant called longjmp_s that is "more secure&quo… | |
Post #AvjfcWfw63bX5B9BU8 by [email protected] | |
0 likes, 0 repeats | |
@snowfox longjmp_is, for "more insecure" | |
Post #AvjfdASWBMdeT9B27k by [email protected] | |
0 likes, 0 repeats | |
@whitequark @LunaDragofelis it always sneaks in there somehow :/ | |
Post #AvjfdAYtndk6mwA84O by [email protected] | |
0 likes, 0 repeats | |
@dysfun @LunaDragofelis ok but you could just ban it, and use this technique to… | |
Post #AvjffjxBBYdj8HkGUS by [email protected] | |
0 likes, 0 repeats | |
@whitequark electric bugaboo | |
Post #AvjgXDBfE4wP9B18nw by [email protected] | |
0 likes, 0 repeats | |
@whitequark its like longjmp, except it overwrites every register to unpredicta… | |
Post #Avjh6jLNez6T0yUzfE by [email protected] | |
0 likes, 1 repeats | |
@whitequark You awaken in an unfamiliar bed, alone. You jolt upright, but "… | |
Post #AvjhnbeQ8bfdbjqjMe by [email protected] | |
0 likes, 0 repeats | |
@whitequark isn't that MIPS's "branching while in a delay slot&quo… | |
Post #AvjiY4qPvg6fTEcUXw by [email protected] | |
0 likes, 0 repeats | |
@whitequarkvoid longjmp3(int atfd, jmp_buf buf, int flags);longjmp3(AT_FDCWD, b… | |
Post #AvjiYDFWgCwdXQQenI by [email protected] | |
0 likes, 1 repeats | |
@guenther @whitequark I thought longjmp3 was 'long jump to RAM' while l… | |
Post #AvjiaiZPCXwdFxvDnc by [email protected] | |
0 likes, 0 repeats | |
@tedmielczarek @whitequark you need to shrink it down to fit into one byte: lng… | |
Post #AvjicYnAWigtVfEp4y by [email protected] | |
0 likes, 0 repeats | |
@whitequark it will attempt to elide them if it can see the stack frame is '… | |
Post #AvjicYtY8znLpSDv1c by [email protected] | |
0 likes, 0 repeats | |
@whitequark (not mentioned: how long it took me to figure this shit out) | |
Post #Avjij7r94WhhzrEFHc by [email protected] | |
0 likes, 0 repeats | |
@whitequark @LunaDragofelis alas, i am part of my own problem here, having port… | |
Post #AvjioZPA4f9Yswjfai by [email protected] | |
0 likes, 0 repeats | |
@tedmielczarek @whitequark This one allows you to jump into another process. | |
Post #Avjiq94ewSz1njtgEy by [email protected] | |
0 likes, 0 repeats | |
@bonafried @whitequark hm I guess we could also go with loongjmo then | |
Post #Avjiq9B2Yk5U7WsmBc by [email protected] | |
0 likes, 0 repeats | |
@tedmielczarek @bonafried @whitequark This is the one you use on forked mips cl… | |
Post #AvjjFtGCMOWqHhZQo4 by [email protected] | |
0 likes, 0 repeats | |
@whitequark You’re the author of unfork(2), does that qualify? | |
Post #AvjjrFr9JODF4yfdwW by [email protected] | |
0 likes, 1 repeats | |
@curtmack @whitequark No. No, no, no no no… This is clearly a mistake. It has… | |
Post #Avjk185V39Kbsi5kHI by [email protected] | |
0 likes, 0 repeats | |
@whitequark longjmp | |
Post #Avjk3asgy2zplIHB3Y by [email protected] | |
0 likes, 0 repeats | |
@beeoproblem @whitequark At least give INTERCAL credit for this one! | |
Post #Avjk75cv72JlzDZ96G by [email protected] | |
0 likes, 0 repeats | |
@dascandy @whitequark arm32 isn't guaranteed to be supported on arm64 hardw… | |
Post #AvjkOBq1Gwd6AnqZgO by [email protected] | |
0 likes, 0 repeats | |
@whitequark ... looking into it, this might _actually work_ on windows arm64ec,… | |
Post #Avjkf82kdMhnKLsZIu by [email protected] | |
0 likes, 1 repeats | |
@artemist @r longjmp2() that runs an in-process qemu instance | |
Post #AvjkmM8wbpqx5IDq9g by [email protected] | |
0 likes, 0 repeats | |
@whitequark compiler function attribute that teaches the compiler to lazily cop… | |
Post #AvjkoIQpNbSa9VVogq by [email protected] | |
0 likes, 0 repeats | |
@jann horrifying. thank you | |
Post #AvjlDQvWvpktjtrKqm by [email protected] | |
0 likes, 1 repeats | |
@whitequark @artemist longjmp5() that serializes all state and then reboots the… | |
Post #AvjlbnRIsmO2ViL212 by [email protected] | |
0 likes, 0 repeats | |
@whitequark @artemist @r i’ve been working on a minimal kvm thing. it’s a �… | |
Post #AvjleYILe5pQPSSnIW by [email protected] | |
0 likes, 0 repeats | |
@whitequark R-core would adopt it in a heartbeat /s | |
Post #Avjlklw1qTKUS0zQ6C by [email protected] | |
0 likes, 1 repeats | |
@whitequark Integrate into https://github.com/trishume/telefork so you can `tel… | |
Post #Avjlu5KR6qhFCnqYka by [email protected] | |
0 likes, 0 repeats | |
@whitequark setjmp2 Is called on the hypervisor. longjmp2 on the guest vm (? | |
Post #AvjlyzHn0HD7ucwjpY by [email protected] | |
0 likes, 0 repeats | |
@josi R-core? | |
Post #Avjm0fXJP3QFEt0bSq by [email protected] | |
0 likes, 1 repeats | |
@r @whitequark @artemist longjmpVE() that uses reverse van Eck phreaking to tra… | |
Post #AvjmCZASuHeaxjzmJU by [email protected] | |
0 likes, 0 repeats | |
@artemist @equinox @r ok but this is genuinely useful | |
Post #AvjmiBnvJ7oXlhWxvs by [email protected] | |
0 likes, 0 repeats | |
@whitequark I propose loongjmp which can alter both CPU architecture and countr… | |
Post #AvjowpbkJbfNBBwcNM by [email protected] | |
0 likes, 0 repeats | |
@whitequark ah, the folks who make the R programming language. They make use of… | |
Post #Avjr7e1xtmogMqUZcm by [email protected] | |
0 likes, 0 repeats | |
@dysfun @whitequark why is this a problem? as long as you have virtual memory, … | |
Post #Avjr7e7zXNdYfXJO1A by [email protected] | |
0 likes, 0 repeats | |
@jann @dysfun isn't most of the point of using green threads that you don&#… | |
Post #AvjrfOYvuqDYEu0RSC by [email protected] | |
0 likes, 0 repeats | |
@whitequark @dysfun @LunaDragofelis fibers combined with split stacks and somet… | |
Post #AvjrqBofe7JXtRVxMe by [email protected] | |
0 likes, 0 repeats | |
@whitequark @dysfun I probably don't understand the concept very well, I th… | |
Post #AvjtDWYenLKApxiNTk by [email protected] | |
0 likes, 2 repeats | |
@whitequark It's like longjmp(), but it also has a second argument: the PRN… | |
Post #AvjtDnKkQJIcrkL0eu by [email protected] | |
0 likes, 0 repeats | |
@mrrmot love it | |
Post #AvjyF1RfwQBch1z0Pg by [email protected] | |
0 likes, 0 repeats | |
@whitequark void longjmp2(struct addrinfo *pc)longjmp2 does not change the prog… | |
Post #Avk4GmRZHu5kTD9cxs by [email protected] | |
0 likes, 1 repeats | |
@artemist @whitequark any additional bits gained will be filled from adjacent m… | |
Post #Avk4gkdGe25GNj0hiy by [email protected] | |
0 likes, 1 repeats | |
@whitequark between longjmp10 and longjmp01 i never remember which is mirrored … | |
Post #AvkCpty46WvDZgc2oC by [email protected] | |
0 likes, 1 repeats | |
@whitequark i'll raise you a _setjmp3https://learn.microsoft.com/en-us/cpp/… | |
Post #Avl1kVZ8UyRE6i8bJI by [email protected] | |
0 likes, 0 repeats | |
@jann @whitequark i'm fairly sure my green threads were faster than spawnin… | |
Post #Avl3z7y6iMojAputNY by [email protected] | |
0 likes, 0 repeats | |
@whitequark @artemist @equinox @r Catherine: longjump2 should be super great.Ev… | |
Post #Avl8eljq9hjaCvM4Ku by [email protected] | |
0 likes, 1 repeats | |
@curtmack @whitequark Theorising that one could longjmp within his own borrow l… | |
Post #AvpvgMmtZ79Jn10zaa by [email protected] | |
0 likes, 0 repeats | |
@whitequark one day we will have unsignedlonglongjump | |
Post #Avsl2csdtiHq37zjJA by [email protected] | |
0 likes, 0 repeats | |
@whitequark longjmp jumps to the most recent setjmp. longjmp2 jumps to the setj… |