aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVivek Goyal <vgoyal@in.ibm.com>2006-12-06 20:14:10 -0500
committerAndi Kleen <andi@basil.nowhere.org>2006-12-06 20:14:10 -0500
commit2c22d8baa98a92022acb85b0b7c6f4a60df55f47 (patch)
treef37268c7540ad822166e398a6ac6a2e09c2f43fb
parentba10650a880c2df23bd1db6c0570ddb66f389641 (diff)
[PATCH] relocatable kernel: Fix kallsyms on avr32 after relocatable kernel changes
o On some platforms like avr32, section init comes before .text and not necessarily a symbol's relative position w.r.t _text is positive. In such cases assembler detects the overflow and emits warning. This patch fixes it. Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de> Cc: Andi Kleen <ak@suse.de> Cc: Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
-rw-r--r--scripts/kallsyms.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index 4c1ad0acbb4b..f359b730c2c5 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -277,8 +277,12 @@ static void write_src(void)
277 output_label("kallsyms_addresses"); 277 output_label("kallsyms_addresses");
278 for (i = 0; i < table_cnt; i++) { 278 for (i = 0; i < table_cnt; i++) {
279 if (toupper(table[i].sym[0]) != 'A') { 279 if (toupper(table[i].sym[0]) != 'A') {
280 printf("\tPTR\t_text + %#llx\n", 280 if (_text <= table[i].addr)
281 table[i].addr - _text); 281 printf("\tPTR\t_text + %#llx\n",
282 table[i].addr - _text);
283 else
284 printf("\tPTR\t_text - %#llx\n",
285 _text - table[i].addr);
282 } else { 286 } else {
283 printf("\tPTR\t%#llx\n", table[i].addr); 287 printf("\tPTR\t%#llx\n", table[i].addr);
284 } 288 }