summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2004-05-14 20:19:25 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-05-14 20:19:25 -0700
commit53d202028111ae48b54d8b88e9f71a8d4630b668 (patch)
treed44b7e4a752f53c729a06b669997f371ed9990b1 /scripts
parentbfb288f1177db455dca1387fd3b97e3b9b94b09c (diff)
[PATCH] Include Aliases in kallsyms
From: Rusty Russell <rusty@rustcorp.com.au> Kallsyms discards symbols with the same address, but these are sometimes useful. Skip this minor optimization and make kallsyms_lookup deal with aliases
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kallsyms.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index 43c110fe7829..781e3469e196 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -93,7 +93,6 @@ read_map(FILE *in)
static void
write_src(void)
{
- unsigned long long last_addr;
int i, valid = 0;
char *prev;
@@ -111,16 +110,12 @@ write_src(void)
printf(".globl kallsyms_addresses\n");
printf("\tALGN\n");
printf("kallsyms_addresses:\n");
- for (i = 0, last_addr = 0; i < cnt; i++) {
+ for (i = 0; i < cnt; i++) {
if (!symbol_valid(&table[i]))
continue;
-
- if (table[i].addr == last_addr)
- continue;
printf("\tPTR\t%#llx\n", table[i].addr);
valid++;
- last_addr = table[i].addr;
}
printf("\n");
@@ -134,20 +129,16 @@ write_src(void)
printf("\tALGN\n");
printf("kallsyms_names:\n");
prev = "";
- for (i = 0, last_addr = 0; i < cnt; i++) {
+ for (i = 0; i < cnt; i++) {
int k;
if (!symbol_valid(&table[i]))
continue;
-
- if (table[i].addr == last_addr)
- continue;
for (k = 0; table[i].sym[k] && table[i].sym[k] == prev[k]; ++k)
;
printf("\t.byte 0x%02x\n\t.asciz\t\"%s\"\n", k, table[i].sym + k);
- last_addr = table[i].addr;
prev = table[i].sym;
}
printf("\n");