From: Rusty Russell <rusty@rustcorp.com.au>
To: Sebastian Wankerl <sisewank@cip.cs.fau.de>
Cc: Sebastian Wankerl <sisewank@cip.cs.fau.de>,
linux-kernel@vger.kernel.org,
Philip Kranz <philip.kranz@googlemail.com>,
i4passt@lists.informatik.uni-erlangen.de,
linux-parisc@vger.kernel.org
Subject: Re: [PATCH] Add non-zero module sections to sysfs
Date: Fri, 05 Apr 2013 14:30:50 +1030 [thread overview]
Message-ID: <87vc81lj7x.fsf@rustcorp.com.au> (raw)
In-Reply-To: <515D4A7F.5070102@cip.cs.fau.de>
Sebastian Wankerl <sisewank@cip.cs.fau.de> writes:
> On 04/04/13 03:00, Rusty Russell wrote:
>> Sebastian Wankerl <sisewank@cip.cs.fau.de> writes:
>>> Add non-zero module sections to sysfs on architectures unequal to PARISC.
>>> KGDB needs all module sections for proper module debugging. Therefore, commit
>>> 35dead4235e2b67da7275b4122fed37099c2f462 is revoked except for PARISC
>>> architecture.
>> #ifdef CONFIG_PARISC in the middle of kernel/module.c is super-ugly, and
>> wrong.
>
> I don't see why this is wrong. It used to load all sections to sysfs
> until the patch mentioned. Actually, it is the PARISC build chain which
> is broken.
Exactly. Don't workaround it here, revert it and put the
duplicate-section-name fixup in parisc where it belongs.
Assuming parisc still produces these dup sections: that patch is 4 years
old now.
Untested:
diff --git a/arch/parisc/kernel/module.c b/arch/parisc/kernel/module.c
index 2a625fb..28d32a2 100644
--- a/arch/parisc/kernel/module.c
+++ b/arch/parisc/kernel/module.c
@@ -341,6 +341,11 @@ int module_frob_arch_sections(CONST Elf_Ehdr *hdr,
".PARISC.unwind", 14) == 0)
me->arch.unwind_section = i;
+ /* we produce multiple, empty .text sections, and kallsyms
+ * gets upset. make non-alloc so it doesn't see them. */
+ if (sechdrs[i].sh_size == 0)
+ sechdrs[i].sh_flags &= ~SHF_ALLOC;
+
if (sechdrs[i].sh_type != SHT_RELA)
continue;
>> My preference would be to fix kgdb. If the section is empty, what need
>> does it have to examine it?
>
> GDB needs to know all sections of the binary and its addresses.
Why? Does something refer to this empty section? Why has noone noticed
this since 2009?
> It is generally useful to be able to check up all sections of the binary
> regardless if they are empty or not so one can see the binary's
> structure.
A zero-length section doesn't change the binary's structure. You don't
see non-SHF_ALLOC sections either.
Cheers,
Rusty.
next prev parent reply other threads:[~2013-04-05 4:00 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-03 13:08 [PATCH] Add non-zero module sections to sysfs Sebastian Wankerl
2013-04-04 1:00 ` Rusty Russell
2013-04-04 9:40 ` Sebastian Wankerl
2013-04-05 4:00 ` Rusty Russell [this message]
2013-04-05 9:40 ` Sebastian Wankerl
2013-04-05 10:07 ` James Bottomley
2013-04-06 4:52 ` Rusty Russell
2013-04-06 10:52 ` James Bottomley
2013-04-06 15:16 ` John David Anglin
2013-04-07 1:22 ` James Bottomley
2013-04-07 1:45 ` John David Anglin
2013-04-06 10:40 ` Philip Kranz
2013-04-08 4:14 ` Rusty Russell
2013-04-08 11:55 ` Philip Kranz
2013-04-11 14:11 ` Philip Kranz
2013-04-05 14:56 ` Sebastian Wankerl
2013-04-06 4:31 ` Rusty Russell
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=87vc81lj7x.fsf@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=i4passt@lists.informatik.uni-erlangen.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=philip.kranz@googlemail.com \
--cc=sisewank@cip.cs.fau.de \
/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.