From: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
To: Gabriel Paubert <paubert@iram.es>
Cc: Keith Owens <kaos@ocs.com.au>,
paulus@linuxcare.com.au, linuxppc-dev@lists.linuxppc.org
Subject: Re: Where does ppc define __start___ksymtab?
Date: Thu, 03 Aug 2000 15:08:35 +0200 [thread overview]
Message-ID: <4.3.2.7.2.20000803145431.0367e100@mail.munich.netsurf.de> (raw)
In-Reply-To: <Pine.HPX.4.10.10008031350200.9070-100000@gra-ux1.iram.es>
At 14:01 03.08.00, Gabriel Paubert wrote:
>On Thu, 3 Aug 2000, Keith Owens wrote:
>
> > On Thu, 3 Aug 2000 11:58:36 +0200 (METDST),
> > Gabriel Paubert <paubert@iram.es> wrote:
> > >What I hate in all this is that the combination of 2 bugs (no
> > >ksymtab/kstrtab in vmlinux.lds and no definition of the start and stop
> > >symbols) ends up in something working through behind the scenes black
> > >magic. Perhaps names should be chosen such that they will never clash with
> > >the ones the linker feels free to generate ?
> >
> > Given that the vmlinux.lds scripts go into minute detail about
> > placement of sections in the kernel, why are we even letting the linker
> > store orphan sections? I think that all vmlinux.lds ought to end with
> > this.
> >
> > /DISCARD/ : { *(*) } /* Discard all other sections */
>
>No problem.
>
> > If we want anything in the kernel then we put it there, and say where
> > we want it. Anything not explicitly listed is discarded. I just did
> > this with ix86 and vmlinux shrank by 9K, mainly in .bss. It would not
> > boot afterwards so obviously some part of that 9K is required but right
> > now it works by some "magic" storing the unknown sections. I'm going
> > to track down which sections are not being explicitly placed.
>
>I have trouble parsing this, since the bss by definition does not occupy
>any space in vmlinux.
>
>objdump --head lists all the sections and it's quite easy to see which
>ones have unexpected names (the orphans by definition). Also ppc
>vmlinux.lds includes a lot of section which are probably never needed:
>AFAICT the plt/got have no meaning in a statically linked image and the
>ctors is C++ only. It needs a serious cleanup IMHO...
With newer binutils the tool I prefer for this is readelf -a.
Also note that binutils up to about 2.9.5.0.30 has a bug in the section
handling (which is still there in the official 2.10, but fixed in hjl's
releases). So for serious testing I would recommend to use
binutils-2.10.0.9 or 2.10.0.18 or later (?).
And if you plan to program the kernel into a flash, you'll need my
gcc-2.95.3-2c or later gcc, otherwise some data initialized by constructors
may wrongly end up in .rodata. Yes, gcc can produce constructors even in
plain C if you use some extensions (eg. some methods to init a struct),
which happen to be used in the kernel. So please keep the .ctors sections :-).
Franz.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
prev parent reply other threads:[~2000-08-03 13:08 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-08-01 6:40 Where does ppc define __start___ksymtab? Keith Owens
2000-08-02 20:18 ` Geert Uytterhoeven
2000-08-03 11:28 ` Gabriel Paubert
2000-08-03 11:40 ` Keith Owens
2000-08-03 6:13 ` Paul Mackerras
2000-08-03 8:03 ` Keith Owens
2000-08-03 9:58 ` Gabriel Paubert
2000-08-03 11:43 ` Keith Owens
2000-08-03 12:01 ` Gabriel Paubert
2000-08-03 12:18 ` Keith Owens
2000-08-03 12:31 ` Gabriel Paubert
2000-08-03 12:27 ` Keith Owens
2000-08-03 13:08 ` Franz Sirl [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4.3.2.7.2.20000803145431.0367e100@mail.munich.netsurf.de \
--to=franz.sirl-kernel@lauterbach.com \
--cc=kaos@ocs.com.au \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=paubert@iram.es \
--cc=paulus@linuxcare.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.