On 11/08/2017 05:31 PM, Mark Hatle wrote:

So a couple of questions.

- What exactly breaks currently when you let debugedit rewrite the
   debuginfo source paths?

Alexander has more info then I do here, but I believe running it against grub
modules breaks the modules.

Here's how you can reproduce the breakage:


1) download https://drive.google.com/open?id=1yKav0llpfrLjuMZOCj6ZyfVWGbxZQzIA

(a binary module from a grub build)

2) run
objcopy --only-keep-debug ./ntldr.module ntldr.module.debug

to establish that objcopy is happy with the download

3) run

debugedit -l debug.source ./ntldr.module


4) run the same objcopy command again ---> kaboom

objcopy: ./ntldr.module: invalid relocation type 112
objcopy: ./ntldr.module(rel.debug_info): relocation 556 has invalid symbol index 7497472
objcopy: ./ntldr.module: invalid relocation type 98
objcopy: ./ntldr.module(rel.debug_info): relocation 557 has invalid symbol index 6648415
objcopy: ./ntldr.module: invalid relocation type 108
objcopy: ./ntldr.module(rel.debug_info): relocation 558 has invalid symbol index 7495522
objcopy: ./ntldr.module: invalid relocation type 117
objcopy: ./ntldr.module(rel.debug_info): relocation 559 has invalid symbol index 7499636
objcopy: ./ntldr.module: invalid relocation type 97
objcopy: ./ntldr.module(rel.debug_info): relocation 560 has invalid symbol index 25697
objcopy: ./ntldr.module: invalid relocation type 111
.....
Segmentation fault (core dumped)


Like Mark said, this isn't really the main issue for us; we would want to not have the binary file modified at all. Currently debugedit doesn't seem to provide that (and that's totally fine - a replacement is not difficult to find).

Alex
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to