Commit 591ff37
committed
UEFIHelper: Correct source type for function updates
The decompiler documentation (under Welcome to Help > Ghidra
Functionality > Decompiler > Program Annotations Affecting the
Decompiler) states that the defined parameters are only used by the
decompiler if it is forced (i.e., using a source type other than
default):
Discovering Parameters
The input parameter and return value annotations of the function
prototype, like any variable annotations, can be forcing on the
Decompiler (see the complete discussion in Forcing Data-types). But
keep in mind:
The input parameters and return value are all forced on the
Decompiler as a unit based on the Signature Source. They are all
forced if the type is set to anything other than DEFAULT; otherwise
none of them are forced.
If the function prototype's annotations are not forcing, the
Decompiler will attempt to discover the parameters and return value
using the calling convention. The prototype model underlying the
calling convention dictates which storage locations can be considered
as parameters and their formal ordering.
UEFIHelper currently uses SourceType.DEFAULT which causes the signature
updates to be ignored by decompiler. Switch to SourceType.ANALYSIS to
fix this.
Fixes: #401 parent f54438b commit 591ff37
1 file changed
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
108 | 108 | | |
109 | | - | |
| 109 | + | |
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| |||
298 | 298 | | |
299 | 299 | | |
300 | 300 | | |
301 | | - | |
| 301 | + | |
302 | 302 | | |
303 | 303 | | |
304 | 304 | | |
| |||
0 commit comments