Skip to content

Commit

Permalink
[PATCH] move kallsyms data to .rodata
Browse files Browse the repository at this point in the history
Kallsyms data is never written to, so it can as well benefit from
CONFIG_DEBUG_RODATA.

Signed-off-by: Jan Beulich <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Jan Beulich authored and Linus Torvalds committed Dec 8, 2006
1 parent d93f7de commit aad0947
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
16 changes: 8 additions & 8 deletions kernel/kallsyms.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@
#endif

/* These will be re-linked against their real values during the second link stage */
extern unsigned long kallsyms_addresses[] __attribute__((weak));
extern unsigned long kallsyms_num_syms __attribute__((weak,section("data")));
extern u8 kallsyms_names[] __attribute__((weak));
extern const unsigned long kallsyms_addresses[] __attribute__((weak));
extern const unsigned long kallsyms_num_syms __attribute__((weak));
extern const u8 kallsyms_names[] __attribute__((weak));

extern u8 kallsyms_token_table[] __attribute__((weak));
extern u16 kallsyms_token_index[] __attribute__((weak));
extern const u8 kallsyms_token_table[] __attribute__((weak));
extern const u16 kallsyms_token_index[] __attribute__((weak));

extern unsigned long kallsyms_markers[] __attribute__((weak));
extern const unsigned long kallsyms_markers[] __attribute__((weak));

static inline int is_kernel_inittext(unsigned long addr)
{
Expand Down Expand Up @@ -84,7 +84,7 @@ static int is_ksym_addr(unsigned long addr)
static unsigned int kallsyms_expand_symbol(unsigned int off, char *result)
{
int len, skipped_first = 0;
u8 *tptr, *data;
const u8 *tptr, *data;

/* get the compressed symbol length from the first symbol byte */
data = &kallsyms_names[off];
Expand Down Expand Up @@ -132,7 +132,7 @@ static char kallsyms_get_symbol_type(unsigned int off)
* kallsyms array */
static unsigned int get_symbol_offset(unsigned long pos)
{
u8 *name;
const u8 *name;
int i;

/* use the closest marker we have. We have markers every 256 positions,
Expand Down
2 changes: 1 addition & 1 deletion scripts/kallsyms.c
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ static void write_src(void)
printf("#define ALGN .align 4\n");
printf("#endif\n");

printf(".data\n");
printf("\t.section .rodata, \"a\"\n");

/* Provide proper symbols relocatability by their '_text'
* relativeness. The symbol names cannot be used to construct
Expand Down

0 comments on commit aad0947

Please sign in to comment.