-
Notifications
You must be signed in to change notification settings - Fork 6.1k
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
Error Importing File: AssertException: _GLOBAL_OFFSET_TABLE_ already allocated #7525
Comments
NOTE: I have only examined one of the binaries at this point: Was this built with a published build script that is known to produce a good ELF binary with debug? Is there any chance the build is bad/invalid? It seems to have an invalid situation with an almost empty |
You may want to try disabling relocation processing during the import (see import options) since those relocations that caused a problem are not needed since the affected relocation address appears to be properly linked without the need for a GOT entry. It is possible these were optimized away during the linking process but the corresponding relocations were not eliminated. |
While the binary does appear to require relocation processing it does appear to have some bad flow resulting in relatively poor disassembly. I am uncertain what would cause this. |
It's built in the EDK2 build. The "main output" is PE/COFF binaries to be run in the UEFI boot environment; these ELF binaries exist essentially for debugging purposes (as carriers of dwarf). |
So, essentially, no, I don't know how sane these files are. Having said that, I think a useful behavior, if easy within the Java code framework, would be to fail the import of these files but continue the entire batch import instead of stopping the batch import of a bunch of files. What I do now is a batch import, then delete the results and try to figure out from the logs which import failed, and repeat until everything succeeds. |
Describe the bug
Please find attached a zip file of three binaries, each of which trigger an assertion failure when importing. The assertion failure seems similar; out of caution, I'm attaching all three of these.
These are x86-64 ELF binaries with dwarf debug information, produced by building a debug build of the EDK2 reference UEFI firmware. The actual runtime EFI binaries are PE/COFF; I believe these ELF files are the same but put inside an EFI and with dwarf debug info.
Of a few hundred such .debug binaries, only these three crash; others I have used successfully in Ghidra, so clearly all the required information seems to be usually present. Having said that, I do not know how functional these would be as executables; I assume they would be.
When importing the attached "Dhcp4Dxe.debug" file, I get this error message:
Also (this might be considered a separate issue?), during batch import, such an import error stops the entire batch.
To Reproduce
Unzip the attached zip. Import one or all of the binaries, for example Dhcp4Dxe.debug.
Expected behavior
Quite possibly:
Attachments
import_crash.zip
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: