Re: [PATCH] move BUG_TABLE into RODATA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>>> Sam Ravnborg <sam@xxxxxxxxxxxx> 22.04.08 20:07 >>>
>Hi Jan.
>
>> --- linux-2.6.25/arch/x86/kernel/vmlinux_64.lds.S	2008-04-17 04:49:44.000000000 +0200
>> +++ 2.6.25-bug-table-rodata/arch/x86/kernel/vmlinux_64.lds.S	2008-03-04 11:14:13.000000000 +0100
>> @@ -19,7 +19,7 @@ PHDRS {
>>  	data PT_LOAD FLAGS(7);	/* RWE */
>>  	user PT_LOAD FLAGS(7);	/* RWE */
>>  	data.init PT_LOAD FLAGS(7);	/* RWE */
>> -	note PT_NOTE FLAGS(4);	/* R__ */
>> +	note PT_NOTE FLAGS(0);	/* ___ */
>>  }
>
>Is this intentional in this patch?

Yes. While it may be possible to do this separately, it seemed safer to
me to keep it together since I only tested it this way.

>>  SECTIONS
>>  {
>> @@ -40,16 +40,14 @@ SECTIONS
>>  	_etext = .;		/* End of text section */
>>    } :text = 0x9090
>>  
>> +  NOTES :text :note
>> +
>>    . = ALIGN(16);		/* Exception table */
>>    __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
>>    	__start___ex_table = .;
>>  	 *(__ex_table)
>>    	__stop___ex_table = .;
>> -  }
>> -
>> -  NOTES :text :note
>> -
>> -  BUG_TABLE :text
>> +  } :text = 0x9090
>
>And I do not see the 0x9090 justified.
>Is this something to do with the fact that 0x90 equals NOP on x86?

Yes, for consistency I think this ought to be repeated here - while
not strictly necessary (__ex_table is data, hence padding with
zeroes rather than NOPs would be fine), it seems more safe to have
it here so that we don't catch occasional linker bugs. Ultimately I
would think __ex_table should go into RODATA, too, which would
eliminate the question.

Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux