southpolenator / SharpDebug

C# debugging automation tool
MIT License
92 stars 30 forks source link

Dwarf FrameAddressInstruction reader errors #47

Open dedmen opened 3 years ago

dedmen commented 3 years ago

https://github.com/southpolenator/SharpDebug/blob/0a195334d46a318c2bcb68ff743b82bbff8ecf47/Source/SharpDebug.DwarfSymbolProvider/DwarfSymbolProviderModule.cs#L2548-L2550

read register twice https://elixir.bootlin.com/linux/v5.14.14/source/arch/arc/kernel/unwind.c#L790 Its supposed to be register and register value not register and register again

https://github.com/southpolenator/SharpDebug/blob/0a195334d46a318c2bcb68ff743b82bbff8ecf47/Source/SharpDebug.DwarfSymbolProvider/DwarfSymbolProviderModule.cs#L2501-L2509 all these advance_loc* are wrong, they should advance the current address, not set it.

https://elixir.bootlin.com/linux/v5.14.14/source/arch/arc/kernel/unwind.c#L742