-
Notifications
You must be signed in to change notification settings - Fork 378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mixed-execution mode gets in the way #343
Comments
New option --no-host-elf disables the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: proot-me#343
Wow, that’s very interesting. I’m curious about how the proposed flag will work. Is this only for environments with glibc and musl on the same system? |
My attempt currently uses an option to disable a single block in
That would be my case, but it is more general than that. My case is building a sysroot for an embedded target and wanting to run some small unit tests during build. I suppose what I have is a case where proot's current mixed execution assumption isn't right for me, though I can understand why it is the default. Update: fixed logic bug, in my attempt; updated URL above |
New option --no-host-elf disables the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: proot-me#343
My only regret here here my use of the double-negative form |
How about |
New option --no-host-elf disables the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: #343
Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: #343
Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: #343
Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: #343
Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: #343
Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: #343
@dleonard0 please test the latest changes on my new branch. I changed the flag to accept a boolean value but it keeps crashing when I run it:
|
Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: #343
Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: #343
Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: proot-me#343
Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: #343
Expected Behavior
Actual Behavior
The issue (I think) is that romfs/bin/sh appears to proot to be a native ELF executable, so it enters mixed-execution mode using preserved native LD_LIBRARY_PATH. The trouble is that my romfs/bin/sh was built using a different ld.so and libc (musl), so the elf interp won't be found. I'd also like to run it under the (potentially modified) QEMU that i've specified.
I'm working on adding a
--no-host-elf
flag to see if that helps.Specifications
Log
(replaced workdir with "D")
The text was updated successfully, but these errors were encountered: