"e.g." is pronounced "egg"
it's okay though because i included a here be dragons warning in the comments
secret hacker advice Afficher plus
@catoutofbed I guess I'm kind of confused as to what you're doing that would remap the 32-bit dynamic linker into the 64-bit one
that seems chaotic?
@catoutofbed we have reached the limits of things I feel comfortable guessing about tbqh
good luck
@catoutofbed does ./a.out define _start?
tonight I learned /bin/ldd is a shell script wrapper around the dynamic linker and wow
# This is the `ldd' command, which lists what shared libraries are
# used by given dynamically-linked executables. It works by invoking the
# run-time dynamic linker as a command and setting the environment
# variable LD_TRACE_LOADED_OBJECTS to a non-empty value.
I hate computers
@catoutofbed oh christ it is a shell script
I always assumed...
@catoutofbed what happens if you run
$ /usr/lib64/ld-linux-x86-64.so.2 ./a.out
@catoutofbed (also lol on my system ldd is a static binary. seems appropriate)
@catoutofbed why does a.out not list a dependency on ld-linux-x86-64.so.2?
@catoutofbed given that ldd is probably an x86_64 executable, I would believe you
now run ldd on liblib.so
@catoutofbed anyway. how does ldd look now?
@catoutofbed you probably already knew that actually. hrm.
@catoutofbed errno(3) is a global variable that contains the last error, and the exec(3) family of functions returns errors like that
so *anything* in exec's path returning ENOENT causes bash to provide that error message
@catoutofbed run ldd on it
@catoutofbed that's probably not bash claiming it then
multiple things can return the same errno
this is a very interesting read https://doc.rust-lang.org/beta/nomicon/borrow-splitting.html
-----BEGIN PGP SIGNED GENDER-----