aboutsummaryrefslogtreecommitdiff
path: root/modules/Internals
diff options
context:
space:
mode:
authorAndrey Ponomarenko <aponomarenko@rosalab.ru>2015-10-13 00:08:59 +0300
committerAndrey Ponomarenko <aponomarenko@rosalab.ru>2015-10-13 00:08:59 +0300
commit1fbbce64f39fad73a23b246b94e958108cb0ae36 (patch)
tree7351cd8c0d95ff6f14434722233eaf500a681d5a /modules/Internals
parent15bfdc281d18ec26a6a056ed45d641a885716165 (diff)
downloadabi-compliance-checker-1fbbce64f39fad73a23b246b94e958108cb0ae36.tar.gz
Added -skip-internal-types option. Fixed Makefile. Fixed Type_Became_Opaque, Parameter_Changed_Register, Parameter_From_Register and Parameter_To_Register rules. Added more metadata to the report. Fixed -headers-list option. Option -skip-internal renamed to -skip-internal-symbols. Fixed false positives if vtable-dumper generates incomplete data.
Diffstat (limited to 'modules/Internals')
-rw-r--r--modules/Internals/CallConv.pm13
1 files changed, 12 insertions, 1 deletions
diff --git a/modules/Internals/CallConv.pm b/modules/Internals/CallConv.pm
index ebab672..98b86dc 100644
--- a/modules/Internals/CallConv.pm
+++ b/modules/Internals/CallConv.pm
@@ -1307,9 +1307,20 @@ sub callingConvention_P_Real($$)
$Conv{"Method"} = "reg";
$Conv{"Registers"} = join(", ", @R);
}
- else {
+ else
+ {
$Conv{"Method"} = "stack";
+
+ if(defined $SInfo->{"Param"}
+ and defined $SInfo->{"Param"}{0})
+ {
+ if(not defined $SInfo->{"Param"}{0}{"offset"})
+ {
+ $Conv{"Method"} = "unknown";
+ }
+ }
}
+
return %Conv;
}