Re: Minimal linker script

From: H. Peter Anvin
Date: Sat May 09 2009 - 19:28:00 EST


Sam Ravnborg wrote:
> * . = START;
> * __init_begin = .;
> * HEAD_SECTION
> * INIT_TEXT_SECTION(PAGE_SIZE)
> * INIT_DATA_SECTION(...)
> * PERCPU(PAGE_SIZE)
> * __init_end = .;
> *
> * _stext = .;
> * TEXT_SECTION = 0
> * _etext = .;
> *
> * _sdata = .;
> * RO_DATA_SECTION(PAGE_SIZE)
> * RW_DATA_SECTION(...)
> * _edata = .;
> *
> * EXCEPTION_TABLE(...)
> * NOTES
> *
> * __bss_start = .;
> * BSS_SECTION(0, 0)
> * __bss_stop = .;
> * _end = .;
> *
> *
> * [__init_begin, __init_end] is the init section that may be freed after init
> * [_stext, _etext] is the text section
> * [_sdata, _edata] is the data section
> *
> * Some of the included output section include their own set of constants.
> * Examples are: [__initramfs_start, __initramfs_end] for initramfs and
> * [__nosave_begin, __nosave_end] for the nosave data
> */
>

It seems rather disturbing to me that different sections have different
start and end symbols. I realize this is largely for historical
reasons, but if we used a single pattern (e.g. something like
__text_start, __text_end for the .text section) then at least in the
i386 case we could easily recognize those as relocatable symbols even if
they show up as absolute.

Furthermore, consistency is a good thing, even if it means a bigger
changeset.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
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/