[Top] [All Lists]

Re: [PATCH 2/2] MIPS: handle .{init,exit}.bss sections

To: "Luck, Tony" <>
Subject: Re: [PATCH 2/2] MIPS: handle .{init,exit}.bss sections
From: Franck Bui-Huu <>
Date: Mon, 03 Dec 2007 22:46:14 +0100
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=gamma; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; bh=GCNBWdof0iUVH/lrTlVLb6vunE0XhVT9ja2HGx3LYws=; b=fG1XodbWuT2sELPxwuxEUzysnG29L3Ms1Q2KOWG0uJblMt+y2jQAJ8BZIkDEIGryqVY5Ijh/E9lWraemLk5IRRXSfTSbEEyJZ7Tn5I66t1tGAVSdaYNETFDoXtJ8kRSRKjNpTy9vp4+Seof9CK9xMTa/SHS4dQ7MHccIo/ImtZ8=
Domainkey-signature: a=rsa-sha1; c=nofws;; s=gamma; h=received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; b=M3q+dqvHWhdI3F7YWDweNND2G87weB69lm8jduMMSWWvaUVi94uOdtBVnPr6GK7EENAYY9n0wWdYPY4hT2up5CMHHmujYPwIGOZPzbAajTQZhhMesRnp0Kb7DkRxslLwQtNgP1GGq/+SpAubdU4C7KFvrsvy/59Qa7oEaVrTsFo=
In-reply-to: <>
Original-recipient: rfc822;
References: <> <> <>
User-agent: Thunderbird (X11/20070719)
Luck, Tony wrote:
> +     /*
> +      * We keep init/exit bss sections here to have only one
> +      * segment to load. Note that .bss.exit is also discarded
> +      * at runtime for the same reason as above.
> +      */
> +     .exit.bss : {
> +             *(.bss.exit)
> +     }
> This change would also require an audit of the bootloader or early
> kernel initialization code (whichever handles zeroing of .bss space)

I think the kernel doesn't rely on the bootloader for clearing bss.

> to make sure that it understands that the kernel will now have an
> extra block of memory that needs to be cleared.  Perhaps nothing
> needs to be done if the code already handled the general case of
> loading an ELF binary with some sections that have an in-memory
> size bigger than the on-disk size.  But worth looking at in case
> the code makes an assumption about what needs to be zeroed.

For MIPS case, there is normally no extra block of memory to
clear. [__bss_start, __bss_stop] range still includes the whole memory
block to clear. So there's no need to modify any other code.


<Prev in Thread] Current Thread [Next in Thread>