HackerTrans
TopNewTrendsCommentsPastAskShowJobs

nytpu

no profile record

Submissions

ELF Crimes: Program Interpreter Fun

nytpu.com
67 points·by nytpu·vor 7 Monaten·14 comments

Ada's dependent types, and its types as a whole

nytpu.com
256 points·by nytpu·vor 2 Jahren·139 comments

comments

nytpu
·vor 7 Monaten·discuss
Because attaching a debugger to the Linux Kernel is so convenient and easy :P

But yeah, I was just being lazy and dumb. I solved it within ten minutes of someone saying "why don't you just go through the binfmt_elf code?" A debugger would've probably been more tedious than reading the relevant code directly, but would've been just as effective.
nytpu
·letztes Jahr·discuss
Almost like those existing env vars made it clear that they were mistakes that make behavior inconsistent (especially libcurl) and they want to avoid repeating it with additional env vars. Having almost contributed to Curl before, they repeatedly note for contributors that just because old code does something questionable doesn't mean your new code is allowed to do it—if anything, you're just highlighting the questionable piece of old code as being important for them to rewrite soon (of course they can't remove the current env vars for compatibility reasons).

And the article specifically notes that the current solution doesn't work, but it requires discussion on what the best solution is instead of just taking the literal first solution suggested by someone.
nytpu
·letztes Jahr·discuss
I recommend reading the Telecommunications Act of 1996, which required all incumbent telephone companies to allow any other company to install equipment in their central offices and buy rights to already laid phone lines at a fixed rate, where all the expense of actually building and laying everything laid entirely with the owner of the central office.

Turns out that (fairly applied) antitrust doesn't care how much it money it costs an incumbent company to begin allowing competitors
nytpu
·vor 2 Jahren·discuss
It's FOSS and is actually included with GCC, but the toolchain is still a PITA to install just because no one (other than Debian and Arch Linux) bothers packaging it. I think Alire is supposed to make it easy to install but I haven't used it much: https://alire.ada.dev/

SPARK 2014 itself is the same too AFAIK, the problem is there's a lot of auxiliary static analysis tools and plugins that are gated behind AdaCore's sales wall (and of course they'd never deign to sell licenses affordable to individuals)
nytpu
·vor 2 Jahren·discuss
Not really much other than tangential mentions. I did write an addendum to the OP going over the secondary stack as well as where you still use normal dynamic allocation in Ada: https://nytpu.com/gemlog/2024-12-27-2

All my knowledge on it comes from some documentation on configuring the secondary stack for embedded targets and from comments+diagrams in the GCC GNAT source code (and maybe I saw a conversation on it on the comp.lang.ada Usenet group at some point…): https://docs.adacore.com/gnat_ugx-docs/html/gnat_ugx/gnat_ug... https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/ada/libgnat/...