Community
Participate
Working Groups
in dio_ReadFormStringRef(), dio_ReadUX() was called rather than the function that handles the relocation ( dio_ReadAddressX() ). In a object file, we had a DW_FORM_strp that was rellocated but parser didn't look for the relocation and found garbage data.
Created attachment 218020 [details] Proposed patch Here is a proposed patch to use dio_ReadAddressX() instead of dio_ReadUX() in dio_ReadFormStringRef() to handle relocation. Thanks to Xavier Pouyollon for helping me figure this out.
Created attachment 218024 [details] Additional patch We ended up looking for other places dio_ReadUX() should be replaced by dio_ReadAddressX() to handle relocation. 0002-Fix-DWARF-reloc.patch is what we came up with. I don't have a usecase where those uses of dio_ReadUX() caused a problem, this fix aims a fixing potential problems. I'd understand if there is some places dio_ReadUX() is mandatory for reasons I've missed.
> I don't have a usecase where those uses of dio_ReadUX() caused a problem, this > fix aims a fixing potential problems. I'd understand if there is some places > dio_ReadUX() is mandatory for reasons I've missed. I think it is safe to call dio_ReadAddressX() always. At least, it does not break tests that I have. I have committed the patches. Thanks!
Fixed
Comment on attachment 218020 [details] Proposed patch iplog- since git has the author: http://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git/commit/?id=436f4747e00e53297faf53a40bc1f81034faf709
Comment on attachment 218024 [details] Additional patch iplog- since git has the author: http://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git/commit/?id=c7982cbaf27d2e58404cc5313a14665a9427a08c