diff options
author | Benjamin LaHaise <bcrl@kvack.org> | 2014-07-14 13:14:27 -0400 |
---|---|---|
committer | Benjamin LaHaise <bcrl@kvack.org> | 2014-07-14 13:14:27 -0400 |
commit | 6e830d53717cf3d5c30c1afce3773ef97e436cd9 (patch) | |
tree | 9376a0424b8f9fff12d107aa2498e775da20e85d /scripts | |
parent | 855ef0dec7271ff7be7381feaaf3f4aed80bd503 (diff) | |
parent | 263782c1c95bbddbb022dc092fd89a36bb8d5577 (diff) |
Merge ../aio-fixes
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/kernel-doc | 15 | ||||
-rw-r--r-- | scripts/recordmcount.h | 4 |
2 files changed, 14 insertions, 5 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index da058da413e7..16a07cfa4d34 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc | |||
@@ -2073,6 +2073,7 @@ sub check_return_section { | |||
2073 | sub dump_function($$) { | 2073 | sub dump_function($$) { |
2074 | my $prototype = shift; | 2074 | my $prototype = shift; |
2075 | my $file = shift; | 2075 | my $file = shift; |
2076 | my $noret = 0; | ||
2076 | 2077 | ||
2077 | $prototype =~ s/^static +//; | 2078 | $prototype =~ s/^static +//; |
2078 | $prototype =~ s/^extern +//; | 2079 | $prototype =~ s/^extern +//; |
@@ -2086,7 +2087,7 @@ sub dump_function($$) { | |||
2086 | $prototype =~ s/__init_or_module +//; | 2087 | $prototype =~ s/__init_or_module +//; |
2087 | $prototype =~ s/__must_check +//; | 2088 | $prototype =~ s/__must_check +//; |
2088 | $prototype =~ s/__weak +//; | 2089 | $prototype =~ s/__weak +//; |
2089 | $prototype =~ s/^#\s*define\s+//; #ak added | 2090 | my $define = $prototype =~ s/^#\s*define\s+//; #ak added |
2090 | $prototype =~ s/__attribute__\s*\(\([a-z,]*\)\)//; | 2091 | $prototype =~ s/__attribute__\s*\(\([a-z,]*\)\)//; |
2091 | 2092 | ||
2092 | # Yes, this truly is vile. We are looking for: | 2093 | # Yes, this truly is vile. We are looking for: |
@@ -2105,7 +2106,15 @@ sub dump_function($$) { | |||
2105 | # - atomic_set (macro) | 2106 | # - atomic_set (macro) |
2106 | # - pci_match_device, __copy_to_user (long return type) | 2107 | # - pci_match_device, __copy_to_user (long return type) |
2107 | 2108 | ||
2108 | if ($prototype =~ m/^()([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || | 2109 | if ($define && $prototype =~ m/^()([a-zA-Z0-9_~:]+)\s+/) { |
2110 | # This is an object-like macro, it has no return type and no parameter | ||
2111 | # list. | ||
2112 | # Function-like macros are not allowed to have spaces between | ||
2113 | # declaration_name and opening parenthesis (notice the \s+). | ||
2114 | $return_type = $1; | ||
2115 | $declaration_name = $2; | ||
2116 | $noret = 1; | ||
2117 | } elsif ($prototype =~ m/^()([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || | ||
2109 | $prototype =~ m/^(\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || | 2118 | $prototype =~ m/^(\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || |
2110 | $prototype =~ m/^(\w+\s*\*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || | 2119 | $prototype =~ m/^(\w+\s*\*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || |
2111 | $prototype =~ m/^(\w+\s+\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || | 2120 | $prototype =~ m/^(\w+\s+\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || |
@@ -2140,7 +2149,7 @@ sub dump_function($$) { | |||
2140 | # of warnings goes sufficiently down, the check is only performed in | 2149 | # of warnings goes sufficiently down, the check is only performed in |
2141 | # verbose mode. | 2150 | # verbose mode. |
2142 | # TODO: always perform the check. | 2151 | # TODO: always perform the check. |
2143 | if ($verbose) { | 2152 | if ($verbose && !$noret) { |
2144 | check_return_section($file, $declaration_name, $return_type); | 2153 | check_return_section($file, $declaration_name, $return_type); |
2145 | } | 2154 | } |
2146 | 2155 | ||
diff --git a/scripts/recordmcount.h b/scripts/recordmcount.h index 9d1421e63ff8..49b582a225b0 100644 --- a/scripts/recordmcount.h +++ b/scripts/recordmcount.h | |||
@@ -163,11 +163,11 @@ static int mcount_adjust = 0; | |||
163 | 163 | ||
164 | static int MIPS_is_fake_mcount(Elf_Rel const *rp) | 164 | static int MIPS_is_fake_mcount(Elf_Rel const *rp) |
165 | { | 165 | { |
166 | static Elf_Addr old_r_offset; | 166 | static Elf_Addr old_r_offset = ~(Elf_Addr)0; |
167 | Elf_Addr current_r_offset = _w(rp->r_offset); | 167 | Elf_Addr current_r_offset = _w(rp->r_offset); |
168 | int is_fake; | 168 | int is_fake; |
169 | 169 | ||
170 | is_fake = old_r_offset && | 170 | is_fake = (old_r_offset != ~(Elf_Addr)0) && |
171 | (current_r_offset - old_r_offset == MIPS_FAKEMCOUNT_OFFSET); | 171 | (current_r_offset - old_r_offset == MIPS_FAKEMCOUNT_OFFSET); |
172 | old_r_offset = current_r_offset; | 172 | old_r_offset = current_r_offset; |
173 | 173 | ||