diff options
Diffstat (limited to 'scripts/link-vmlinux.sh')
-rwxr-xr-x | scripts/link-vmlinux.sh | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index 86a4fe75f453..c9a11d15d228 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh | |||
@@ -111,7 +111,6 @@ sortextable() | |||
111 | } | 111 | } |
112 | 112 | ||
113 | # Delete output files in case of error | 113 | # Delete output files in case of error |
114 | trap cleanup SIGHUP SIGINT SIGQUIT SIGTERM ERR | ||
115 | cleanup() | 114 | cleanup() |
116 | { | 115 | { |
117 | rm -f .old_version | 116 | rm -f .old_version |
@@ -124,6 +123,20 @@ cleanup() | |||
124 | rm -f vmlinux.o | 123 | rm -f vmlinux.o |
125 | } | 124 | } |
126 | 125 | ||
126 | on_exit() | ||
127 | { | ||
128 | if [ $? -ne 0 ]; then | ||
129 | cleanup | ||
130 | fi | ||
131 | } | ||
132 | trap on_exit EXIT | ||
133 | |||
134 | on_signals() | ||
135 | { | ||
136 | exit 1 | ||
137 | } | ||
138 | trap on_signals HUP INT QUIT TERM | ||
139 | |||
127 | # | 140 | # |
128 | # | 141 | # |
129 | # Use "make V=1" to debug this script | 142 | # Use "make V=1" to debug this script |
@@ -231,7 +244,6 @@ if [ -n "${CONFIG_KALLSYMS}" ]; then | |||
231 | if ! cmp -s System.map .tmp_System.map; then | 244 | if ! cmp -s System.map .tmp_System.map; then |
232 | echo >&2 Inconsistent kallsyms data | 245 | echo >&2 Inconsistent kallsyms data |
233 | echo >&2 Try "make KALLSYMS_EXTRA_PASS=1" as a workaround | 246 | echo >&2 Try "make KALLSYMS_EXTRA_PASS=1" as a workaround |
234 | cleanup | ||
235 | exit 1 | 247 | exit 1 |
236 | fi | 248 | fi |
237 | fi | 249 | fi |