Re: 2.6.9-rc1-mm3

From: Paulo Marques
Date: Tue Sep 07 2004 - 05:56:33 EST


Paulo Marques wrote:
William Lee Irwin III wrote:

On Fri, Sep 03, 2004 at 06:51:08PM +0100, Paulo Marques wrote:

Could you send me the .tmp_kallsyms2.S and System.map files from
this kernel build, please, please, please?
I really want to address this problem, but without hardware and
without more information I'm a little in the dark (although
looking at the resulting names already gives some clues).
Also, doing a "cat /proc/kallsyms" shows the same kind of behavior,
doesn't it? (just to be sure)



cat /proc/kallsyms also exhibits this problem.

The data will appear shortly at:

ftp://ftp.kernel.org/pub/linux/kernel/people/wli/misc/kallsyms2.S-sparc64.gz

ftp://ftp.kernel.org/pub/linux/kernel/people/wli/misc/System.map-2.6.9-rc1-mm3-sparc64.gz



Thank for all the information!

Looking at the data I found out that the "_up_up_up" is in fact the
token with code "0", which means that the token "0" was being used a
lot more than the others.

This pointed me in the direction of the bug.

My error was to assume the .word assembler directive meant a 16-bit
unsigned integer, when in fact it depends on the architecture and is
32 bits on sparc :(

This one liner should solve the problem.

Please verify that in fact it does solve it, and I'll send a proper
"[PATCH]" message to be included in the next version.

You might have missed this earlier, so I'm reposting it.

Could you please try the attached patch and see if it works on sparc64?

-mm4 is out already, and I haven't send the final patch because I don't
have any confirmation that it actually works :(

--
Paulo Marques - www.grupopie.com

To err is human, but to really foul things up requires a computer.
Farmers' Almanac, 1978


--- linux-2.6.9-rc1-mm3/scripts/kallsyms.c 2004-09-05 21:51:14.000000000 +0100
+++ linux-2.6.9-rc1-kall/scripts/kallsyms.c 2004-09-05 21:52:38.000000000 +0100
@@ -303,7 +303,7 @@ write_src(void)

output_label("kallsyms_token_index");
for (i = 0; i < 256; i++)
- printf("\t.word\t%d\n", best_idx[i]);
+ printf("\t.short\t%d\n", best_idx[i]);
printf("\n");
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/