If I'm doing something really nasty and I want to contribute it, I'll go back to the mainster branch and diff it against my ugly branch then checkout -b a new one and git apply < ./patch then commit that.
Obviously you can rebase-i 37 `commit -m bleh-test24` commits, but when it gets too messy I find it easier to just diff-patch-commit.
The elites don’t want you to know this but all of these bits are just between you and your communication partner. Fuck the NATs. If you're not using every bit that's available to you, what the hell are you, a Javascript developer?
I'm working on porting Linux to a fiber modem (actually a family of modems), and I just finally made it to the end of what turned out to be a much more complex thing than I had anticipated.
I tried using someone else's code but I was not happy with their error handling, and as I was refactoring it at some point I realized they didn't understand the problem at all. What ensued was a 3 or 5 day bender which culminated in a 1300 line file that begins with this comment:
Now that I can actually get it working (by moving it up in memory), I'm going to do two things:
1. Print the stack pointer just to be 100% sure it didn't somehow end up where it's not supposed to be.
2. Fill the unused memory below the image with a pattern, and then check for that pattern in the zboot, and perhaps even in the kernel init. If that pattern is not corrupted then I can at least feel confident that it's not *writing* below it's load address.
This really really REALLY looks like the stack is placed on the boundary of invalid memory, but I checked that rather carefully and the stack is being placed above the top of the loader binary. Maybe something else is changing it (?)