Re: [patch 1/4] Linux Kernel Markers - Architecture Independent Code

Mathieu Desnoyers
2007-09-19T18:55:46Z

* Mathieu Desnoyers (mathieu.desnoyers@polymtl.ca) wrote:
> * Denys Vlasenko (vda.linux@googlemail.com) wrote:
> > On Wednesday 19 September 2007 12:37, Mathieu Desnoyers wrote:
> > > > Index: linux-2.6-lttng/include/asm-generic/vmlinux.lds.h
> > > > ===================================================================
> > > > --- linux-2.6-lttng.orig/include/asm-generic/vmlinux.lds.h 2007-09-14 10:11:18.000000000 -0400
> > > > +++ linux-2.6-lttng/include/asm-generic/vmlinux.lds.h 2007-09-14 10:11:31.000000000 -0400
> > > > @@ -129,6 +133,11 @@
> > > > VMLINUX_SYMBOL(__stop___immediate) = .; \
> > > > } \
> > > > \
> > > > + /* Markers: strings */ \
> > > > + __markers_strings : AT(ADDR(__markers_strings) - LOAD_OFFSET) { \
> > > > + *(__markers_strings) \
> > > > + } \
> > > > + \
> > > > /* Kernel symbol table: strings */ \
> > > > __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \
> > > > *(__ksymtab_strings) \
> > > [...]
> > >
> > > Do you think I should also remove the __markers_strings section from here ?
> >
> > Yes.
> >
> > It will be beneficial if one can read include/asm-generic/vmlinux.lds.h and
> > arch/$ARCH/kernel/vmlinux.lds.S and understand which sections in resulting
> > vmlinux serve what purpose. A comment atop each section explaining
> > its role will be nice. Even more so that not many people are fluent
> > in ld script language.
> >
> > Currently, one will need to grep around (and not only in kernel tree -
> > you need to read depmod.c source too) in order to understand the role
> > of various sections in vmlinux.
> >
> > There are dearth of comments in ld scripts, and some sections
> > are created "just because I felt like it". For example, there are
> > ".data.page_aligned" and ".data.percpu" sections - can you
> > easily tell which one has to be a section, and which does not need
> > to be one (can be merged with ".data")? Maybe both must be sections?
> > Or none of them?
> > --
> > vda
>
> Oh, wait.. I need it in module.c:
>
> immediateindex = find_sec(hdr, sechdrs, secstrings, "__immediate");
>
> I'll leave the section there then.
>
> Mathieu

Sorry, let me take this back. It applies to what is linked in the core
image, but I believe it does not apply to the kernel modules.

Mathieu