All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Per process DSCR + somefixes (try#3)
From: Alexey Kardashevskiy @ 2011-03-02  6:15 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc-dev
In-Reply-To: <1299044868.8833.832.camel@pasglop>

On 02/03/11 16:47, Benjamin Herrenschmidt wrote:
> BTW. I suppose it's an expected behaviour that thread created with a
> given default value will keep that value even when the default is later
> changed right ? And their descendents will use the same default as the
> original thread, not the new default, at least that's how I read your
> code :-) Maybe that should be documented somewhere...
>    

That's right. The idea was to let one set of 
processes-which-do-not-access-dscr-directly to work+fork with one value 
and other set to work+fork with another value. I have no idea who and 
how is going to use it though. Hope the HPC team tells me if something 
is wrong :-)

-- 
Alexey Kardashevskiy
IBM OzLabs, LTC Team

e-mail/sametime: aik@au1.ibm.com
notes: Alexey Kardashevskiy/Australia/IBM

^ permalink raw reply

* Re: [PATCH 3/8] omap3: pm: Correcting the sys_offmode signal polarity
From: Manuel, Lesly Arackal @ 2011-03-02  6:11 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, Nishanth Menon, David Derrick, Samuel Ortiz
In-Reply-To: <87k4gifp0n.fsf@ti.com>

Hi Kevin,

On Wed, Mar 2, 2011 at 4:05 AM, Kevin Hilman <khilman@ti.com> wrote:
> Lesly A M <leslyam@ti.com> writes:
>
>> Changing the polarity of the sys_offmode signal to active low,
>> to get a High to Low transition on the NSLEEP1 of PM IC when OMAP is
>> entering offmode. Because on PM IC the power resources (LDO, DCDC regulators)
>> associated with P1 group which is controlled by NSLEEP1 are set to sleep,
>> when there is transition form High to Low.
>>
>> Signed-off-by: Lesly A M <leslyam@ti.com>
>> Cc: Nishanth Menon <nm@ti.com>
>> Cc: David Derrick <dderrick@ti.com>
>> Cc: Samuel Ortiz <sameo@linux.intel.com>
>> ---
>>  arch/arm/mach-omap2/pm34xx.c |    4 ++++
>>  1 files changed, 4 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
>> index e46f4b5..8a7c756 100644
>> --- a/arch/arm/mach-omap2/pm34xx.c
>> +++ b/arch/arm/mach-omap2/pm34xx.c
>> @@ -1034,6 +1034,10 @@ static int __init omap3_pm_init(void)
>>
>>       printk(KERN_ERR "Power Management for TI OMAP3.\n");
>>
>> +     /* Changing the polarity of the sys_offmode signal to active low */
>> +     omap2_prm_clear_mod_reg_bits(OMAP3430_OFFMODE_POL_MASK,
>> +                     OMAP3430_GR_MOD, OMAP3_PRM_POLCTRL_OFFSET);
>> +
>
> This change belongs in voltage code.
>

Ok, then I will move this change to the additional patch for testing
this T2 script.

Regards,
Lesly A M

< ... >
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCH 1/8] omap3: pm: Fix for the TRITON sleep/wakeup sequence
From: Manuel, Lesly Arackal @ 2011-03-02  6:08 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, Nishanth Menon, David Derrick, Samuel Ortiz
In-Reply-To: <87pqqafp30.fsf@ti.com>

Hi Kevin,

On Wed, Mar 2, 2011 at 4:03 AM, Kevin Hilman <khilman@ti.com> wrote:
> Lesly A M <leslyam@ti.com> writes:
>
>> Since the function to populate the sleep script is getting called always
>> irrespective of the flag "TWL4030_SLEEP_SCRIPT", other scripts data
>> is getting over written by the sleep script. Adding the missing brackets for
>> if statement to fix the issue.
>
> This is still a confusing changelog.  How about simply:
>
> Only write the sleep script when TWL4030_SLEEP_SCRIPT is set.
>

Yes, I agree

Only configure sleep script when the flag is TWL4030_SLEEP_SCRIPT.

Regards,
Lesly A M

< ... >

>>               if (err)
>>                       goto out;
>>       }
>> -     if (tscript->flags & TWL4030_SLEEP_SCRIPT)
>> +     if (tscript->flags & TWL4030_SLEEP_SCRIPT) {
>>               if (order)
>>                       pr_warning("TWL4030: Bad order of scripts (sleep "\
>>                                       "script before wakeup) Leads to boot"\
>>                                       "failure on some boards\n");
>>               err = twl4030_config_sleep_sequence(address);
>> +     }
>>  out:
>>       return err;
>>  }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* RE: RE: blue screen in windows balloon driver
From: James Harper @ 2011-03-02  6:07 UTC (permalink / raw)
  To: MaoXiaoyun; +Cc: xen devel
In-Reply-To: <BLU157-w35E669BF00DC04327E4E93DAC00@phx.gbl>

That assertion is a bit misleading as it occurs during dump mode when
the crash has actually already occurred. It still shouldn't occur but
it's not the problem we are looking for.

Does this problem occur when not using GPLPV?

When you are running GPLPV, can you do a tail -f on the logfile and see
how quickly the log messages are coming out? If they are printing out
slowly then I think your physical machine is just overloaded with IO.

James



> -----Original Message-----
> From: MaoXiaoyun [mailto:tinnycloud@hotmail.com]
> Sent: Wednesday, 2 March 2011 14:02
> To: James Harper
> Cc: xen devel
> Subject: RE: [Xen-devel] RE: blue screen in windows balloon driver
> 
> 
> Attached is the three logs for crash.
> cp17 & 21 crash on
> Assertion failed: srb != NULL
> 
> thanks.
> 
> > Subject: RE: [Xen-devel] RE: blue screen in windows balloon driver
> > Date: Tue, 1 Mar 2011 23:48:04 +1100
> > From: james.harper@bendigoit.com.au
> > To: tinnycloud@hotmail.com
> > CC: xen-devel@lists.xensource.com
> >
> > I've pushed a possible fix for the reset code for Windows 2000, XP
and
> > 2003. I haven't fixed the Vista/2008/7/2008R2 storport driver yet.
> >
> > I'll see what I can do tomorrow to actually test a scsi reset but I
> > can't reproduce the problem you are seeing on my system. You'll
still
> > see the reset messages in the logs which I think simply indicates
that
> > your system is too loaded to complete the requests in time and
Windows
> > thinks the scsi bus is hung, but this way it might pick itself up
again
> > afterwards. On the other hand it may be that too many timeouts and
> > resets will cause windows to throw its hands in the air and give up
and
> > declare the scsi device offline, in which case there might not be
much
> > we can do.
> >
> > James
> >
> > > -----Original Message-----
> > > From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-
> > > bounces@lists.xensource.com] On Behalf Of James Harper
> > > Sent: Tuesday, 1 March 2011 23:36
> > > To: MaoXiaoyun
> > > Cc: xen devel
> > > Subject: [Xen-devel] RE: blue screen in windows balloon driver
> > >
> > > Hold off on testing. I'm fixing up the reset code so that it does
what
> > > Windows wants. I'll post something soon if it doesn't take too
long.
> > >
> > > James
> > >
> > > > -----Original Message-----
> > > > From: MaoXiaoyun [mailto:tinnycloud@hotmail.com]
> > > > Sent: Tuesday, 1 March 2011 23:34
> > > > To: James Harper
> > > > Cc: xen devel
> > > > Subject: RE: blue screen in windows balloon driver
> > > >
> > > > I will have new driver tested.
> > > > Attached is the xentop snapshot.
> > > >
> > > > thanks.
> > > >
> > > > > Subject: RE: blue screen in windows balloon driver
> > > > > Date: Tue, 1 Mar 2011 23:11:14 +1100
> > > > > From: james.harper@bendigoit.com.au
> > > > > To: tinnycloud@hotmail.com
> > > > >
> > > > > >
> > > > > > exe attached, thanks.
> > > > > >
> > > > > > I have three machines, on each sum the
*XenVbd_HwScsiResetBus*
> > > event.
> > > > > > 24 VMS, so
> > > > > > grep XenVbd_HwScsiResetBus qemu-dm-w3.MR_cp* | wc -l
> > > > > >
> > > > > > machine 25: VM easily got crash, the sum is 200
> > > > > > machine 23: VM never got crash, the sum is 10
> > > > > > machine 212: VM never got crash, the sum is 16
> > > > > >
> > > > > > it seems that machine 25 has much more XenVbd_HwScsiResetBus
> > event
> > > > > > than other two machines.
> > > > > >
> > > > > > BTW, when start 24VM concurrently, the starting process is
quite
> > > slow,
> > > > > takes
> > > > > > about 20 minutes more to whole started.
> > > > > >
> > > > > > I commented line 505 in xenpci_pdo.c to avoid timed out.
> > > > > >
> > > > > > 505 //remaining -= thiswait;
> > > > > >
> > > > >
> > > > > It sounds like you are overloading your disk IO bandwidth.
With
> > many
> > > > > DomU's swapping heavily, Dom0 may simply not be able to keep
up
> > with
> > > the
> > > > > IO throughput required resulting in windows thinking that the
scsi
> > > > > device isn't responding. Can you check xentop and see what
sort of
> > > IO
> > > > > operations per second you are getting?
> > > > >
> > > > > I have just pushed a change to dump out the in-flight scsi
> > requests
> > > > > (srb) when HwScsiResetBus is called. Please apply the patch
and
> > send
> > > me
> > > > > the next crash.
> > > > >
> > > > > Thanks
> > > > >
> > > > > James
> > >
> > >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xensource.com
> > > http://lists.xensource.com/xen-devel

^ permalink raw reply

* fcoe: correct checking for bonding
From: Jiri Pirko @ 2011-03-02  6:05 UTC (permalink / raw)
  To: linux-scsi; +Cc: devel, robert.w.love, netdev, fubar, joe.eykholt

Check for bonding master and refuse to use that.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
---
 drivers/scsi/fcoe/fcoe.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index 9f9600b..3becc6a 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -285,9 +285,7 @@ static int fcoe_interface_setup(struct fcoe_interface *fcoe,
 	}
 
 	/* Do not support for bonding device */
-	if ((netdev->priv_flags & IFF_MASTER_ALB) ||
-	    (netdev->priv_flags & IFF_SLAVE_INACTIVE) ||
-	    (netdev->priv_flags & IFF_MASTER_8023AD)) {
+	if (netdev->priv_flags & IFF_BONDING && netdev->flags & IFF_MASTER) {
 		FCOE_NETDEV_DBG(netdev, "Bonded interfaces not supported\n");
 		return -EOPNOTSUPP;
 	}
-- 
1.7.3.4


^ permalink raw reply related

* Re: [PATCH] doc: technical details about the index file format
From: Junio C Hamano @ 2011-03-02  6:02 UTC (permalink / raw)
  To: Nguyen Thai Ngoc Duy
  Cc: Sverre Rabbelier, git, kusmabite, raa.lkml, jjuran,
	Robin Rosenberg
In-Reply-To: <AANLkTi=GhdfWCyx7MN3w0ZPhqKHcC1e6RmPeZt67OeqG@mail.gmail.com>

Nguyen Thai Ngoc Duy <pclouds@gmail.com> writes:

> Looks good. I don't really like ending a sentence with semicolon, but
> that's just my taste.

I tend to do enumerated list like "A; B; and C."  Perhaps just a personal
taste.

> I wonder if we should also point to relevant source files, so if this
> document becomes out of date, the readers can jump in the source and
> verify themselves (perhaps coming up with patches to this doc)?

I suspect that is a sure way to guarantee the document to go stale.

I didn't like the way I explained the cache-tree entry order.  Was it
understandable?

I am wondering if an illustration with an example might be in order.  I
think anybody halfway intelligent may be able to get a fuzzy idea of what
is going on by looking at the output from test-dump-cache-tree after
"reset --hard && write-tree" and then by comparing it with the output from
test-dump-cache-tree after running ">t/something && git add t/something"
(which invalidates the top-level tree and t/ subtree). But a well written
documentation should be able to help clarifying the idea obtainable that
way.  I don't think what I wrote in the previous message is sufficient
even for that (i.e. comparing the two output would give you better
explanation of what is going on than what I wrote--iow, what I wrote may
not be very useful for people who are motivated to learn).

^ permalink raw reply

* [U-Boot] [PATCH 3/3] arm: fix incorrect monitor protection region in FLASH
From: Po-Yu Chuang @ 2011-03-02  6:02 UTC (permalink / raw)
  To: u-boot

From: Po-Yu Chuang <ratbert@faraday-tech.com>

Monitor protection region in FLASH did not cover .rel.dyn section
and .dynsym sections, because it uses __bss_start to compute
monitor_flash_len. Use _end instead.

Add _end_ofs to all the start.S.

Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com>
---
 arch/arm/cpu/arm1136/start.S      |    4 ++++
 arch/arm/cpu/arm1176/start.S      |    4 ++++
 arch/arm/cpu/arm720t/start.S      |    4 ++++
 arch/arm/cpu/arm920t/start.S      |    4 ++++
 arch/arm/cpu/arm925t/start.S      |    4 ++++
 arch/arm/cpu/arm926ejs/start.S    |    4 ++++
 arch/arm/cpu/arm946es/start.S     |    4 ++++
 arch/arm/cpu/arm_intcm/start.S    |    4 ++++
 arch/arm/cpu/armv7/start.S        |    4 ++++
 arch/arm/cpu/ixp/start.S          |    4 ++++
 arch/arm/cpu/lh7a40x/start.S      |    4 ++++
 arch/arm/cpu/pxa/start.S          |    4 ++++
 arch/arm/cpu/s3c44b0/start.S      |    4 ++++
 arch/arm/cpu/sa1100/start.S       |    4 ++++
 arch/arm/include/asm/u-boot-arm.h |    1 +
 arch/arm/lib/board.c              |    2 +-
 16 files changed, 58 insertions(+), 1 deletions(-)

diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S
index 64426fa..3c5f3ef 100644
--- a/arch/arm/cpu/arm1136/start.S
+++ b/arch/arm/cpu/arm1136/start.S
@@ -104,6 +104,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S
index c1302df..6ae118a 100644
--- a/arch/arm/cpu/arm1176/start.S
+++ b/arch/arm/cpu/arm1176/start.S
@@ -123,6 +123,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 /* IRQ stack memory (calculated at run-time) + 8 bytes */
 .globl IRQ_STACK_START_IN
 IRQ_STACK_START_IN:
diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S
index c521753..e774c3f 100644
--- a/arch/arm/cpu/arm720t/start.S
+++ b/arch/arm/cpu/arm720t/start.S
@@ -93,6 +93,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S
index 6db61c2..a7476b0 100644
--- a/arch/arm/cpu/arm920t/start.S
+++ b/arch/arm/cpu/arm920t/start.S
@@ -89,6 +89,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S
index b89cf4a..39f2e99 100644
--- a/arch/arm/cpu/arm925t/start.S
+++ b/arch/arm/cpu/arm925t/start.S
@@ -99,6 +99,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S
index 7798ef8..fefcfa2 100644
--- a/arch/arm/cpu/arm926ejs/start.S
+++ b/arch/arm/cpu/arm926ejs/start.S
@@ -133,6 +133,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S
index 1b6b188..00914f4 100644
--- a/arch/arm/cpu/arm946es/start.S
+++ b/arch/arm/cpu/arm946es/start.S
@@ -105,6 +105,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S
index da2c265..2fd3b9a 100644
--- a/arch/arm/cpu/arm_intcm/start.S
+++ b/arch/arm/cpu/arm_intcm/start.S
@@ -101,6 +101,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
index bc7bae8..d83d501 100644
--- a/arch/arm/cpu/armv7/start.S
+++ b/arch/arm/cpu/armv7/start.S
@@ -81,6 +81,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/ixp/start.S b/arch/arm/cpu/ixp/start.S
index f8bfed7..561c1f4 100644
--- a/arch/arm/cpu/ixp/start.S
+++ b/arch/arm/cpu/ixp/start.S
@@ -112,6 +112,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/lh7a40x/start.S b/arch/arm/cpu/lh7a40x/start.S
index bd821a2..81242b1 100644
--- a/arch/arm/cpu/lh7a40x/start.S
+++ b/arch/arm/cpu/lh7a40x/start.S
@@ -89,6 +89,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/pxa/start.S b/arch/arm/cpu/pxa/start.S
index ca072c4..f1dbc3b 100644
--- a/arch/arm/cpu/pxa/start.S
+++ b/arch/arm/cpu/pxa/start.S
@@ -106,6 +106,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/s3c44b0/start.S b/arch/arm/cpu/s3c44b0/start.S
index ac1c4fb..10f5284 100644
--- a/arch/arm/cpu/s3c44b0/start.S
+++ b/arch/arm/cpu/s3c44b0/start.S
@@ -80,6 +80,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/cpu/sa1100/start.S b/arch/arm/cpu/sa1100/start.S
index 5cfe19b..b27e970 100644
--- a/arch/arm/cpu/sa1100/start.S
+++ b/arch/arm/cpu/sa1100/start.S
@@ -90,6 +90,10 @@ _bss_start_ofs:
 _bss_end_ofs:
 	.word __bss_end__ - _start
 
+.globl _end_ofs
+_end_ofs:
+	.word _end - _start
+
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
 .globl IRQ_STACK_START
diff --git a/arch/arm/include/asm/u-boot-arm.h b/arch/arm/include/asm/u-boot-arm.h
index 33973a3..3904027 100644
--- a/arch/arm/include/asm/u-boot-arm.h
+++ b/arch/arm/include/asm/u-boot-arm.h
@@ -32,6 +32,7 @@
 /* for the following variables, see start.S */
 extern ulong _bss_start_ofs;	/* BSS start relative to _start */
 extern ulong _bss_end_ofs;		/* BSS end relative to _start */
+extern ulong _end_ofs;		/* end of image relative to _start */
 extern ulong IRQ_STACK_START;	/* top of IRQ stack */
 extern ulong FIQ_STACK_START;	/* top of FIQ stack */
 extern ulong _TEXT_BASE;	/* code start */
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index c620d2c..dc46e21 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -459,7 +459,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
 
 	gd->flags |= GD_FLG_RELOC;	/* tell others: relocation done */
 
-	monitor_flash_len = _bss_start_ofs;
+	monitor_flash_len = _end_ofs;
 	debug ("monitor flash len: %08lX\n", monitor_flash_len);
 	board_init();	/* Setup chipselects */
 
-- 
1.6.3.3

^ permalink raw reply related

* Re: [PATCH] remove compaction from kswapd
From: Andrew Morton @ 2011-03-02  5:57 UTC (permalink / raw)
  To: Andrea Arcangeli; +Cc: Minchan Kim, Mel Gorman, Johannes Weiner, linux-mm
In-Reply-To: <20110302055221.GD23911@random.random>

On Wed, 2 Mar 2011 06:52:21 +0100 Andrea Arcangeli <aarcange@redhat.com> wrote:

> These are the other two patches that are needed for both workloads to
> be better than before.
> 
> mm-compaction-minimise-the-time-irqs-are-disabled-while-isolating-pages-for-migration
> mm-compaction-minimise-the-time-irqs-are-disabled-while-isolating-free-pages

I have those queued for 2.6.39 - they didn't seem terribly critical and
no mention of NMI watchdog timeouts was made.

Guys, this stuff matters :(  Should both go into 2.6.38?  If so, why?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply

* linux-next: manual merge of the usb tree with the omap tree
From: Stephen Rothwell @ 2011-03-02  5:58 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Keshava Munegowda, Felipe Balbi,
	Tony Lindgren, linux-omap

Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
arch/arm/mach-omap2/clock3xxx_data.c between commit
0005ae73cfe44ee42d0be12a12cc82bf982f518e ("OMAP: hsmmc: Rename the device
and driver") from the omap tree and commit
53689ac1b677532be666a779e24b0ac9bd266354 ("arm: omap: usb: clock entries
for omap3 and omap4") from the usb tree.

Just context changes.  I have fixed it up (see below) and can carry the
fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc arch/arm/mach-omap2/clock3xxx_data.c
index f43e7ec,fbb1e30..0000000
--- a/arch/arm/mach-omap2/clock3xxx_data.c
+++ b/arch/arm/mach-omap2/clock3xxx_data.c
@@@ -3322,8 -3322,8 +3322,8 @@@ static struct omap_clk omap3xxx_clks[] 
  	CLK(NULL,	"pka_ick",	&pka_ick,	CK_34XX | CK_36XX),
  	CLK(NULL,	"core_l4_ick",	&core_l4_ick,	CK_3XXX),
  	CLK(NULL,	"usbtll_ick",	&usbtll_ick,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
- 	CLK("ehci-omap.0",	"usbtll_ick",	&usbtll_ick,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+ 	CLK("usbhs-omap.0",	"usbtll_ick",	&usbtll_ick,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 -	CLK("mmci-omap-hs.2",	"ick",	&mmchs3_ick,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +	CLK("omap_hsmmc.2",	"ick",	&mmchs3_ick,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
  	CLK(NULL,	"icr_ick",	&icr_ick,	CK_34XX | CK_36XX),
  	CLK("omap-aes",	"ick",	&aes2_ick,	CK_34XX | CK_36XX),
  	CLK("omap-sham",	"ick",	&sha12_ick,	CK_34XX | CK_36XX),

^ permalink raw reply

* linux-next: manual merge of the usb tree with the omap tree
From: Stephen Rothwell @ 2011-03-02  5:58 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Hema HK, Felipe Balbi, Tony Lindgren,
	linux-omap

Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
arch/arm/mach-omap2/usb-musb.c between commit
18a26892d62d2786c2b259ba4605ee10bba0ba13 ("OMAP2+: musb: hwmod adaptation
for musb registration") from the omap tree and commit
fb91cde49c327ff957c55d91805bc6abda59b311 ("usb: musb: OMAP4430: Power
down the PHY during board init") from the usb tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.

Interestingly, the patch in the usb tree looks as though it would have
been broken as the "dev" variable passed to omap4430_phy_init() does not
exist in the version of that file in the usb tree.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc arch/arm/mach-omap2/usb-musb.c
index a9d4d14,241fc94..0000000
--- a/arch/arm/mach-omap2/usb-musb.c
+++ b/arch/arm/mach-omap2/usb-musb.c
@@@ -132,35 -212,12 +132,39 @@@ void __init usb_musb_init(struct omap_m
  	musb_plat.mode = board_data->mode;
  	musb_plat.extvbus = board_data->extvbus;
  
 -	if (platform_device_register(&musb_device) < 0)
 -		printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n");
 +	if (cpu_is_omap3517() || cpu_is_omap3505()) {
 +		oh_name = "am35x_otg_hs";
 +		name = "musb-am35x";
 +	} else {
 +		oh_name = "usb_otg_hs";
 +		name = "musb-omap2430";
 +	}
 +
 +	oh = omap_hwmod_lookup(oh_name);
 +	if (!oh) {
 +		pr_err("Could not look up %s\n", oh_name);
 +		return;
 +	}
 +
 +	od = omap_device_build(name, bus_id, oh, &musb_plat,
 +			       sizeof(musb_plat), omap_musb_latency,
 +			       ARRAY_SIZE(omap_musb_latency), false);
 +	if (IS_ERR(od)) {
 +		pr_err("Could not build omap_device for %s %s\n",
 +						name, oh_name);
 +		return;
 +	}
 +
 +	pdev = &od->pdev;
 +	dev = &pdev->dev;
 +	get_device(dev);
 +	dev->dma_mask = &musb_dmamask;
 +	dev->coherent_dma_mask = musb_dmamask;
 +	put_device(dev);
+ 
+ 	if (cpu_is_omap44xx())
+ 		omap4430_phy_init(dev);
+ 
  }
  
  #else

^ permalink raw reply

* linux-next: manual merge of the usb tree with the omap tree
From: Stephen Rothwell @ 2011-03-02  5:58 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Hema HK, Felipe Balbi, Tony Lindgren,
	linux-omap

Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
arch/arm/mach-omap2/usb-musb.c between commit
18a26892d62d2786c2b259ba4605ee10bba0ba13 ("OMAP2+: musb: hwmod adaptation
for musb registration") from the omap tree and commit
fb91cde49c327ff957c55d91805bc6abda59b311 ("usb: musb: OMAP4430: Power
down the PHY during board init") from the usb tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.

Interestingly, the patch in the usb tree looks as though it would have
been broken as the "dev" variable passed to omap4430_phy_init() does not
exist in the version of that file in the usb tree.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc arch/arm/mach-omap2/usb-musb.c
index a9d4d14,241fc94..0000000
--- a/arch/arm/mach-omap2/usb-musb.c
+++ b/arch/arm/mach-omap2/usb-musb.c
@@@ -132,35 -212,12 +132,39 @@@ void __init usb_musb_init(struct omap_m
  	musb_plat.mode = board_data->mode;
  	musb_plat.extvbus = board_data->extvbus;
  
 -	if (platform_device_register(&musb_device) < 0)
 -		printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n");
 +	if (cpu_is_omap3517() || cpu_is_omap3505()) {
 +		oh_name = "am35x_otg_hs";
 +		name = "musb-am35x";
 +	} else {
 +		oh_name = "usb_otg_hs";
 +		name = "musb-omap2430";
 +	}
 +
 +	oh = omap_hwmod_lookup(oh_name);
 +	if (!oh) {
 +		pr_err("Could not look up %s\n", oh_name);
 +		return;
 +	}
 +
 +	od = omap_device_build(name, bus_id, oh, &musb_plat,
 +			       sizeof(musb_plat), omap_musb_latency,
 +			       ARRAY_SIZE(omap_musb_latency), false);
 +	if (IS_ERR(od)) {
 +		pr_err("Could not build omap_device for %s %s\n",
 +						name, oh_name);
 +		return;
 +	}
 +
 +	pdev = &od->pdev;
 +	dev = &pdev->dev;
 +	get_device(dev);
 +	dev->dma_mask = &musb_dmamask;
 +	dev->coherent_dma_mask = musb_dmamask;
 +	put_device(dev);
+ 
+ 	if (cpu_is_omap44xx())
+ 		omap4430_phy_init(dev);
+ 
  }
  
  #else

^ permalink raw reply

* linux-next: manual merge of the usb tree with the omap and omap_dss2 trees
From: Stephen Rothwell @ 2011-03-02  5:58 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Keshava Munegowda, Felipe Balbi,
	Senthilvadivu Guruswamy, Sumit Semwal, Tony Lindgren, linux-omap,
	Tomi Valkeinen

Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
arch/arm/mach-omap2/board-omap3evm.c between commit
d5e13227c32f12de3afb2e26a86bc9f3e5aaf7b6 ("OMAP2, 3: DSS2: board files:
replace platform_device_register with omap_display_init()") from the omap
and omap_dss2 trees and commit 181b250cf53233a7a7c6d7e1e9df402506712e93
("arm: omap: usb: create common enums and structures for ehci and ohci")
from the usb tree.

Just context changes. I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc arch/arm/mach-omap2/board-omap3evm.c
index 730e297,38a2d91..0000000
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@@ -735,13 -631,18 +735,13 @@@ static void __init omap3_evm_init_early
  	omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
  	omap2_init_common_infrastructure();
  	omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL);
 -	omap_init_irq();
  }
  
- static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
 -static struct platform_device *omap3_evm_devices[] __initdata = {
 -	&omap3_evm_dss_device,
 -};
 -
+ static struct usbhs_omap_board_data usbhs_bdata __initdata = {
  
- 	.port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN,
- 	.port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
- 	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+ 	.port_mode[0] = OMAP_USBHS_PORT_MODE_UNUSED,
+ 	.port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
+ 	.port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,
  
  	.phy_reset  = true,
  	/* PHY reset GPIO will be runtime programmed based on EVM version */

^ permalink raw reply

* linux-next: manual merge of the usb tree with the omap tree
From: Stephen Rothwell @ 2011-03-02  5:58 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Keshava Munegowda, Felipe Balbi,
	Tony Lindgren, linux-omap

Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
arch/arm/mach-omap2/clock3xxx_data.c between commit
0005ae73cfe44ee42d0be12a12cc82bf982f518e ("OMAP: hsmmc: Rename the device
and driver") from the omap tree and commit
53689ac1b677532be666a779e24b0ac9bd266354 ("arm: omap: usb: clock entries
for omap3 and omap4") from the usb tree.

Just context changes.  I have fixed it up (see below) and can carry the
fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc arch/arm/mach-omap2/clock3xxx_data.c
index f43e7ec,fbb1e30..0000000
--- a/arch/arm/mach-omap2/clock3xxx_data.c
+++ b/arch/arm/mach-omap2/clock3xxx_data.c
@@@ -3322,8 -3322,8 +3322,8 @@@ static struct omap_clk omap3xxx_clks[] 
  	CLK(NULL,	"pka_ick",	&pka_ick,	CK_34XX | CK_36XX),
  	CLK(NULL,	"core_l4_ick",	&core_l4_ick,	CK_3XXX),
  	CLK(NULL,	"usbtll_ick",	&usbtll_ick,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
- 	CLK("ehci-omap.0",	"usbtll_ick",	&usbtll_ick,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+ 	CLK("usbhs-omap.0",	"usbtll_ick",	&usbtll_ick,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 -	CLK("mmci-omap-hs.2",	"ick",	&mmchs3_ick,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +	CLK("omap_hsmmc.2",	"ick",	&mmchs3_ick,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
  	CLK(NULL,	"icr_ick",	&icr_ick,	CK_34XX | CK_36XX),
  	CLK("omap-aes",	"ick",	&aes2_ick,	CK_34XX | CK_36XX),
  	CLK("omap-sham",	"ick",	&sha12_ick,	CK_34XX | CK_36XX),

^ permalink raw reply

* linux-next: manual merge of the usb tree with the omap tree
From: Stephen Rothwell @ 2011-03-02  5:57 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Anand Gadiyar, Felipe Balbi,
	Tony Lindgren, linux-omap, Keshava Munegowda

[-- Attachment #1: Type: text/plain, Size: 552 bytes --]

Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
arch/arm/mach-omap2/board-4430sdp.c between commit
1dbea0f5e23b6c647db72fa4a048cb7140625e13 ("arm: omap4: 4430sdp: drop ehci
support") from the omap tree and commit
181b250cf53233a7a7c6d7e1e9df402506712e93 ("arm: omap: usb: create common
enums and structures for ehci and ohci") from the usb tree.

The former removed the code modified by the latter, so I did that.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* linux-next: manual merge of the usb tree with the omap and omap_dss2 trees
From: Stephen Rothwell @ 2011-03-02  5:58 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Keshava Munegowda, Felipe Balbi,
	Senthilvadivu Guruswamy, Sumit Semwal, Tony Lindgren, linux-omap,
	Tomi Valkeinen

Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
arch/arm/mach-omap2/board-omap3evm.c between commit
d5e13227c32f12de3afb2e26a86bc9f3e5aaf7b6 ("OMAP2, 3: DSS2: board files:
replace platform_device_register with omap_display_init()") from the omap
and omap_dss2 trees and commit 181b250cf53233a7a7c6d7e1e9df402506712e93
("arm: omap: usb: create common enums and structures for ehci and ohci")
from the usb tree.

Just context changes. I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc arch/arm/mach-omap2/board-omap3evm.c
index 730e297,38a2d91..0000000
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@@ -735,13 -631,18 +735,13 @@@ static void __init omap3_evm_init_early
  	omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
  	omap2_init_common_infrastructure();
  	omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL);
 -	omap_init_irq();
  }
  
- static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
 -static struct platform_device *omap3_evm_devices[] __initdata = {
 -	&omap3_evm_dss_device,
 -};
 -
+ static struct usbhs_omap_board_data usbhs_bdata __initdata = {
  
- 	.port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN,
- 	.port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
- 	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+ 	.port_mode[0] = OMAP_USBHS_PORT_MODE_UNUSED,
+ 	.port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
+ 	.port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,
  
  	.phy_reset  = true,
  	/* PHY reset GPIO will be runtime programmed based on EVM version */

^ permalink raw reply

* linux-next: manual merge of the usb tree with the omap tree
From: Stephen Rothwell @ 2011-03-02  5:57 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Anand Gadiyar, Felipe Balbi,
	Tony Lindgren, linux-omap, Keshava Munegowda

[-- Attachment #1: Type: text/plain, Size: 552 bytes --]

Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
arch/arm/mach-omap2/board-4430sdp.c between commit
1dbea0f5e23b6c647db72fa4a048cb7140625e13 ("arm: omap4: 4430sdp: drop ehci
support") from the omap tree and commit
181b250cf53233a7a7c6d7e1e9df402506712e93 ("arm: omap: usb: create common
enums and structures for ehci and ohci") from the usb tree.

The former removed the code modified by the latter, so I did that.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* linux-next: manual merge of the usb tree with the omap tree
From: Stephen Rothwell @ 2011-03-02  5:57 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Hema HK, Felipe Balbi, Tony Lindgren,
	linux-omap, Thomas Weber

[-- Attachment #1: Type: text/plain, Size: 523 bytes --]

Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
drivers/usb/musb/musb_core.h between commit
59b479e0985f0b795d68331d6443a7f89c47768d ("omap: Start using
CONFIG_SOC_OMAP") from the omap tree and commit
da68ccec210c45eb99e461ad31b499b4e7043c41 ("usb: musb: Remove platform
context save/restore API") from the usb tree.

The latter removed the code modified by the former, so I did that.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* linux-next: manual merge of the usb tree with the omap tree
From: Stephen Rothwell @ 2011-03-02  5:57 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Hema HK, Felipe Balbi, Tony Lindgren,
	linux-omap, Thomas Weber

[-- Attachment #1: Type: text/plain, Size: 523 bytes --]

Hi Greg,

Today's linux-next merge of the usb tree got a conflict in
drivers/usb/musb/musb_core.h between commit
59b479e0985f0b795d68331d6443a7f89c47768d ("omap: Start using
CONFIG_SOC_OMAP") from the omap tree and commit
da68ccec210c45eb99e461ad31b499b4e7043c41 ("usb: musb: Remove platform
context save/restore API") from the usb tree.

The latter removed the code modified by the former, so I did that.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* [U-Boot] [PATCH 2/3] arm: add _end to linker scripts for end of u-boot image
From: Po-Yu Chuang @ 2011-03-02  5:57 UTC (permalink / raw)
  To: u-boot

From: Po-Yu Chuang <ratbert@faraday-tech.com>


Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com>
---
 arch/arm/cpu/arm1136/u-boot.lds        |    2 ++
 arch/arm/cpu/arm1176/u-boot.lds        |    2 ++
 arch/arm/cpu/arm720t/u-boot.lds        |    2 ++
 arch/arm/cpu/arm920t/ep93xx/u-boot.lds |    2 ++
 arch/arm/cpu/arm920t/u-boot.lds        |    2 ++
 arch/arm/cpu/arm925t/u-boot.lds        |    2 ++
 arch/arm/cpu/arm926ejs/u-boot.lds      |    2 ++
 arch/arm/cpu/arm946es/u-boot.lds       |    2 ++
 arch/arm/cpu/arm_intcm/u-boot.lds      |    2 ++
 arch/arm/cpu/armv7/u-boot.lds          |    2 ++
 arch/arm/cpu/ixp/u-boot.lds            |    2 ++
 arch/arm/cpu/lh7a40x/u-boot.lds        |    2 ++
 arch/arm/cpu/pxa/u-boot.lds            |    2 ++
 arch/arm/cpu/s3c44b0/u-boot.lds        |    2 ++
 arch/arm/cpu/sa1100/u-boot.lds         |    2 ++
 15 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/arch/arm/cpu/arm1136/u-boot.lds b/arch/arm/cpu/arm1136/u-boot.lds
index 1e0e90b..d1e2851 100644
--- a/arch/arm/cpu/arm1136/u-boot.lds
+++ b/arch/arm/cpu/arm1136/u-boot.lds
@@ -72,6 +72,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/arm1176/u-boot.lds b/arch/arm/cpu/arm1176/u-boot.lds
index 170e516..27d6638 100644
--- a/arch/arm/cpu/arm1176/u-boot.lds
+++ b/arch/arm/cpu/arm1176/u-boot.lds
@@ -61,6 +61,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/arm720t/u-boot.lds b/arch/arm/cpu/arm720t/u-boot.lds
index deda9fb..9370fad 100644
--- a/arch/arm/cpu/arm720t/u-boot.lds
+++ b/arch/arm/cpu/arm720t/u-boot.lds
@@ -62,6 +62,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
index 4cc82a5..dc6ba34 100644
--- a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
+++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
@@ -56,4 +56,6 @@ SECTIONS
 	__bss_start = .;
 	.bss : { *(.bss) }
 	__bss_end__ = .;
+
+	_end = .;
 }
diff --git a/arch/arm/cpu/arm920t/u-boot.lds b/arch/arm/cpu/arm920t/u-boot.lds
index d6dc21c..17ba604 100644
--- a/arch/arm/cpu/arm920t/u-boot.lds
+++ b/arch/arm/cpu/arm920t/u-boot.lds
@@ -71,6 +71,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/arm925t/u-boot.lds b/arch/arm/cpu/arm925t/u-boot.lds
index 4ad1f8e..64e76f5 100644
--- a/arch/arm/cpu/arm925t/u-boot.lds
+++ b/arch/arm/cpu/arm925t/u-boot.lds
@@ -66,6 +66,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/arm926ejs/u-boot.lds b/arch/arm/cpu/arm926ejs/u-boot.lds
index b7a5b9e..1480e0c 100644
--- a/arch/arm/cpu/arm926ejs/u-boot.lds
+++ b/arch/arm/cpu/arm926ejs/u-boot.lds
@@ -63,6 +63,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/arm946es/u-boot.lds b/arch/arm/cpu/arm946es/u-boot.lds
index fe4a646..ff938e4 100644
--- a/arch/arm/cpu/arm946es/u-boot.lds
+++ b/arch/arm/cpu/arm946es/u-boot.lds
@@ -63,6 +63,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/arm_intcm/u-boot.lds b/arch/arm/cpu/arm_intcm/u-boot.lds
index 899fab0..f4a146c 100644
--- a/arch/arm/cpu/arm_intcm/u-boot.lds
+++ b/arch/arm/cpu/arm_intcm/u-boot.lds
@@ -63,6 +63,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/armv7/u-boot.lds b/arch/arm/cpu/armv7/u-boot.lds
index de80244..dbae54d 100644
--- a/arch/arm/cpu/armv7/u-boot.lds
+++ b/arch/arm/cpu/armv7/u-boot.lds
@@ -66,6 +66,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/ixp/u-boot.lds b/arch/arm/cpu/ixp/u-boot.lds
index 7029c6c..3587f8a 100644
--- a/arch/arm/cpu/ixp/u-boot.lds
+++ b/arch/arm/cpu/ixp/u-boot.lds
@@ -63,6 +63,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/lh7a40x/u-boot.lds b/arch/arm/cpu/lh7a40x/u-boot.lds
index b15ab1e..30934ff 100644
--- a/arch/arm/cpu/lh7a40x/u-boot.lds
+++ b/arch/arm/cpu/lh7a40x/u-boot.lds
@@ -63,6 +63,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/pxa/u-boot.lds b/arch/arm/cpu/pxa/u-boot.lds
index dfb9b77..e163369 100644
--- a/arch/arm/cpu/pxa/u-boot.lds
+++ b/arch/arm/cpu/pxa/u-boot.lds
@@ -63,6 +63,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/s3c44b0/u-boot.lds b/arch/arm/cpu/s3c44b0/u-boot.lds
index 797edbc..74a259c 100644
--- a/arch/arm/cpu/s3c44b0/u-boot.lds
+++ b/arch/arm/cpu/s3c44b0/u-boot.lds
@@ -63,6 +63,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/arm/cpu/sa1100/u-boot.lds b/arch/arm/cpu/sa1100/u-boot.lds
index 0ac1329..e6381da 100644
--- a/arch/arm/cpu/sa1100/u-boot.lds
+++ b/arch/arm/cpu/sa1100/u-boot.lds
@@ -66,6 +66,8 @@ SECTIONS
 		*(.dynsym)
 	}
 
+	_end = .;
+
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
-- 
1.6.3.3

^ permalink raw reply related

* Re: [PATCH v7 0/8] omap3: pm: TWL4030 power scripts and workaround for TWL errata 27
From: Manuel, Lesly Arackal @ 2011-03-02  5:57 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, Nishanth Menon, David Derrick, Samuel Ortiz
In-Reply-To: <87vd02fp61.fsf@ti.com>

Hi Kevin,

On Wed, Mar 2, 2011 at 4:01 AM, Kevin Hilman <khilman@ti.com> wrote:
> Lesly A M <leslyam@ti.com> writes:
>
>> Patch series for TWL4030 power scripts and workaround for TWL errata 27.
>>
>> Changes for implementing TWL4030 power scripts recommended by hardware team.
>> Introduced a new TWL4030 power script file, which can be used by different
>> OMAP3 board with the power companion chip TWL4030.
>>
>> Updated the changes for TWL4030 errata 27 & 28, and modified the
>> TWL4030 power script.
>> Workaround for TWL4030 errata 27 & 28 is required for
>> Si version less than or equal to TWL5030 ES1.1.
>>
>> TWL4030 script changes rebased on Kevin's PM tree in pm branch.
>>
>> Changes in v7:
>
>>       changes to fix Nishanth Menon's comments
>>               i) Added the TWL4030 Errata 27 fix
>>
>>       split the first patch in v6
>>               i)  fix for twl4030 script load
>>               ii) correct the warning print during script loading
>>
>>       Added new patch files
>>               i) changing sys_off signal polarity
>>
>>       Updated the change logs
>>
>> Since the voltage layer is evolving to a new design, the voltage dependant
>> changes required for the TRITON script are not incorporated in the patch series.
>
> A v8 should've been done here to be clear that this is an updated
> series, since the first v7 was a 12-patch series and this one is an
> 8-patch series.
>

Ok, I will change this to v8.

Regards,
Lesly A M

< ... >
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: RFC: Removing old tags, reducing the git size of -next.
From: Stephen Rothwell @ 2011-03-02  5:54 UTC (permalink / raw)
  To: Joe Perches; +Cc: linux-next, LKML, users
In-Reply-To: <1299039746.4208.28.camel@Joe-Laptop>

[-- Attachment #1: Type: text/plain, Size: 1348 bytes --]

Hi Joe,

On Tue, 01 Mar 2011 20:22:26 -0800 Joe Perches <joe@perches.com> wrote:
>
> I personally do not find git history to be very useful
> for the next tree.  The collected next tree history
> also makes the repository fairly large and unwieldy to
> use on smaller development systems.

Yeah, I have been thinking about this again recently.

> Would it be reasonable to create a separate history tree
> for -next every once in awhile and have say a maximum of
> a few weeks of next history in the current tree?

I could easily have a tree that is historical and contains what the
current linux-next tree contains while also removing old stuff from the
normal linux-next tree (I could push into both each day).  The only
connection between the daily releases is the "history" branch which,
frankly, does not serve any purpose and I will remove.

The main thing stopping me from doing this right now is that there are
several git repositories on master.kernel.org that use the linux-next
tree as an alternate.   They should not be doing this, but it has been
safe up until now since nothing has ever been removed from the linux-next
tree.  If I did the clean up right now, those trees would be severely
broken.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* Re: [PATCH v7 00/12] omap3: pm: TWL4030 power scripts and workaround for TWL errata 27
From: Manuel, Lesly Arackal @ 2011-03-02  5:54 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, Nishanth Menon, David Derrick, Samuel Ortiz
In-Reply-To: <8739n6h43i.fsf@ti.com>

Hi Kevin,

On Wed, Mar 2, 2011 at 3:54 AM, Kevin Hilman <khilman@ti.com> wrote:
> Lesly A M <leslyam@ti.com> writes:
>
>> Patch series for TWL4030 power scripts and workaround for TWL errata 27.
>>
>> Changes for implementing TWL4030 power scripts recommended by hardware team.
>> Introduced a new TWL4030 power script file, which can be used by different
>> OMAP3 board with the power companion chip TWL4030.
>>
>> Updated the changes for TWL4030 errata 27 & 28, modified the
>> TWL4030 power script and voltage controller setuptime.
>> Workaround for TWL4030 errata 27 & 28 is required for
>> Si version less than or equal to TWL5030 ES1.1.
>>
>> TWL4030 script changes rebased on Kevin's PM tree in pm branch.
>
> What is the dependency on my PM branch?
>
> It looks like this can be based on mainline or l-o master.
>

OFFMODE was not working on mainline and l-o master.

Regards,
Lesly A M

< ... >

^ permalink raw reply

* [U-Boot] [PATCH 1/3] rename _end to __bss_end__
From: Po-Yu Chuang @ 2011-03-02  5:53 UTC (permalink / raw)
  To: u-boot

From: Po-Yu Chuang <ratbert@faraday-tech.com>

This is done by the following command:
$ for f in `find * -type f`; do sed -i 's/\<_end\>/__bss_end__/g' $f; done

Currently, _end is used for end of BSS section.  We want _end to mean
end of u-boot image, so we rename _end to __bss_end__ first.

Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com>
---
 arch/arm/cpu/arm1136/start.S                     |    2 +-
 arch/arm/cpu/arm1136/u-boot.lds                  |    2 +-
 arch/arm/cpu/arm1176/start.S                     |    2 +-
 arch/arm/cpu/arm1176/u-boot.lds                  |    2 +-
 arch/arm/cpu/arm720t/start.S                     |    2 +-
 arch/arm/cpu/arm720t/u-boot.lds                  |    2 +-
 arch/arm/cpu/arm920t/ep93xx/u-boot.lds           |    2 +-
 arch/arm/cpu/arm920t/start.S                     |    2 +-
 arch/arm/cpu/arm920t/u-boot.lds                  |    2 +-
 arch/arm/cpu/arm925t/start.S                     |    2 +-
 arch/arm/cpu/arm925t/u-boot.lds                  |    2 +-
 arch/arm/cpu/arm926ejs/start.S                   |    2 +-
 arch/arm/cpu/arm926ejs/u-boot.lds                |    2 +-
 arch/arm/cpu/arm946es/start.S                    |    2 +-
 arch/arm/cpu/arm946es/u-boot.lds                 |    2 +-
 arch/arm/cpu/arm_intcm/start.S                   |    2 +-
 arch/arm/cpu/arm_intcm/u-boot.lds                |    2 +-
 arch/arm/cpu/armv7/start.S                       |    2 +-
 arch/arm/cpu/armv7/u-boot.lds                    |    2 +-
 arch/arm/cpu/ixp/start.S                         |    2 +-
 arch/arm/cpu/ixp/u-boot.lds                      |    2 +-
 arch/arm/cpu/lh7a40x/start.S                     |    2 +-
 arch/arm/cpu/lh7a40x/u-boot.lds                  |    2 +-
 arch/arm/cpu/pxa/start.S                         |    2 +-
 arch/arm/cpu/pxa/u-boot.lds                      |    2 +-
 arch/arm/cpu/s3c44b0/start.S                     |    2 +-
 arch/arm/cpu/s3c44b0/u-boot.lds                  |    2 +-
 arch/arm/cpu/sa1100/start.S                      |    2 +-
 arch/arm/cpu/sa1100/u-boot.lds                   |    2 +-
 arch/avr32/cpu/start.S                           |    2 +-
 arch/avr32/include/asm/sections.h                |    2 +-
 arch/avr32/lib/board.c                           |    4 ++--
 arch/m68k/lib/board.c                            |    4 ++--
 arch/nios2/cpu/start.S                           |    6 +++---
 arch/nios2/cpu/u-boot.lds                        |    2 +-
 arch/powerpc/cpu/74xx_7xx/start.S                |    4 ++--
 arch/powerpc/cpu/74xx_7xx/u-boot.lds             |    2 +-
 arch/powerpc/cpu/mpc512x/start.S                 |    4 ++--
 arch/powerpc/cpu/mpc512x/u-boot.lds              |    2 +-
 arch/powerpc/cpu/mpc5xx/start.S                  |    4 ++--
 arch/powerpc/cpu/mpc5xx/u-boot.lds               |    2 +-
 arch/powerpc/cpu/mpc5xxx/start.S                 |    4 ++--
 arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds |    2 +-
 arch/powerpc/cpu/mpc5xxx/u-boot.lds              |    2 +-
 arch/powerpc/cpu/mpc8220/start.S                 |    4 ++--
 arch/powerpc/cpu/mpc8220/u-boot.lds              |    2 +-
 arch/powerpc/cpu/mpc824x/start.S                 |    4 ++--
 arch/powerpc/cpu/mpc824x/u-boot.lds              |    2 +-
 arch/powerpc/cpu/mpc8260/start.S                 |    4 ++--
 arch/powerpc/cpu/mpc8260/u-boot.lds              |    2 +-
 arch/powerpc/cpu/mpc83xx/start.S                 |    4 ++--
 arch/powerpc/cpu/mpc83xx/u-boot.lds              |    2 +-
 arch/powerpc/cpu/mpc85xx/start.S                 |    4 ++--
 arch/powerpc/cpu/mpc85xx/u-boot-nand.lds         |    2 +-
 arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds     |    2 +-
 arch/powerpc/cpu/mpc85xx/u-boot.lds              |    2 +-
 arch/powerpc/cpu/mpc86xx/start.S                 |    4 ++--
 arch/powerpc/cpu/mpc86xx/u-boot.lds              |    2 +-
 arch/powerpc/cpu/mpc8xx/start.S                  |    4 ++--
 arch/powerpc/cpu/ppc4xx/start.S                  |    4 ++--
 arch/powerpc/cpu/ppc4xx/u-boot.lds               |    2 +-
 arch/powerpc/lib/board.c                         |    4 ++--
 arch/sh/cpu/sh2/u-boot.lds                       |    2 +-
 arch/sh/cpu/sh3/u-boot.lds                       |    2 +-
 arch/sh/cpu/sh4/u-boot.lds                       |    2 +-
 board/BuS/EB+MCF-EV123/u-boot.lds                |    2 +-
 board/LEOX/elpt860/u-boot.lds                    |    2 +-
 board/LEOX/elpt860/u-boot.lds.debug              |    2 +-
 board/RPXClassic/u-boot.lds                      |    2 +-
 board/RPXClassic/u-boot.lds.debug                |    2 +-
 board/RPXlite/u-boot.lds                         |    2 +-
 board/RPXlite/u-boot.lds.debug                   |    2 +-
 board/RPXlite_dw/u-boot.lds                      |    2 +-
 board/RPXlite_dw/u-boot.lds.debug                |    2 +-
 board/RRvision/u-boot.lds                        |    2 +-
 board/actux1/u-boot.lds                          |    2 +-
 board/actux2/u-boot.lds                          |    2 +-
 board/actux3/u-boot.lds                          |    2 +-
 board/adder/u-boot.lds                           |    2 +-
 board/altera/nios2-generic/u-boot.lds            |    2 +-
 board/amcc/acadia/u-boot-nand.lds                |    2 +-
 board/amcc/bamboo/u-boot-nand.lds                |    2 +-
 board/amcc/canyonlands/u-boot-nand.lds           |    2 +-
 board/amcc/kilauea/u-boot-nand.lds               |    2 +-
 board/amcc/sequoia/u-boot-nand.lds               |    2 +-
 board/amcc/sequoia/u-boot-ram.lds                |    2 +-
 board/amirix/ap1000/u-boot.lds                   |    2 +-
 board/astro/mcf5373l/u-boot.lds                  |    2 +-
 board/atmel/atngw100/u-boot.lds                  |    2 +-
 board/atmel/atstk1000/u-boot.lds                 |    2 +-
 board/c2mon/u-boot.lds                           |    2 +-
 board/c2mon/u-boot.lds.debug                     |    2 +-
 board/cm5200/u-boot.lds                          |    2 +-
 board/cobra5272/u-boot.lds                       |    2 +-
 board/cogent/u-boot.lds                          |    2 +-
 board/cogent/u-boot.lds.debug                    |    2 +-
 board/cray/L1/u-boot.lds.debug                   |    2 +-
 board/dave/PPChameleonEVB/u-boot.lds             |    2 +-
 board/earthlcd/favr-32-ezkit/u-boot.lds          |    2 +-
 board/eltec/mhpc/u-boot.lds                      |    2 +-
 board/eltec/mhpc/u-boot.lds.debug                |    2 +-
 board/emk/top860/u-boot.lds                      |    2 +-
 board/emk/top860/u-boot.lds.debug                |    2 +-
 board/ep88x/u-boot.lds                           |    2 +-
 board/esd/dasa_sim/u-boot.lds                    |    2 +-
 board/esd/pmc440/u-boot-nand.lds                 |    2 +-
 board/esd/tasreg/u-boot.lds                      |    2 +-
 board/esteem192e/u-boot.lds                      |    2 +-
 board/etx094/u-boot.lds                          |    2 +-
 board/etx094/u-boot.lds.debug                    |    2 +-
 board/evb64260/u-boot.lds                        |    2 +-
 board/fads/u-boot.lds                            |    2 +-
 board/flagadm/u-boot.lds                         |    2 +-
 board/flagadm/u-boot.lds.debug                   |    2 +-
 board/freescale/m5208evbe/u-boot.lds             |    2 +-
 board/freescale/m52277evb/u-boot.spa             |    2 +-
 board/freescale/m52277evb/u-boot.stm             |    2 +-
 board/freescale/m5235evb/u-boot.16               |    2 +-
 board/freescale/m5235evb/u-boot.32               |    2 +-
 board/freescale/m5249evb/u-boot.lds              |    2 +-
 board/freescale/m5253demo/u-boot.lds             |    2 +-
 board/freescale/m5253evbe/u-boot.lds             |    2 +-
 board/freescale/m5271evb/u-boot.lds              |    2 +-
 board/freescale/m5272c3/u-boot.lds               |    2 +-
 board/freescale/m5275evb/u-boot.lds              |    2 +-
 board/freescale/m5282evb/u-boot.lds              |    2 +-
 board/freescale/m53017evb/u-boot.lds             |    2 +-
 board/freescale/m5329evb/u-boot.lds              |    2 +-
 board/freescale/m5373evb/u-boot.lds              |    2 +-
 board/freescale/m54451evb/u-boot.spa             |    2 +-
 board/freescale/m54451evb/u-boot.stm             |    2 +-
 board/freescale/m54455evb/u-boot.atm             |    2 +-
 board/freescale/m54455evb/u-boot.int             |    2 +-
 board/freescale/m54455evb/u-boot.stm             |    2 +-
 board/freescale/m547xevb/u-boot.lds              |    2 +-
 board/freescale/m548xevb/u-boot.lds              |    2 +-
 board/freescale/mx31ads/u-boot.lds               |    2 +-
 board/gaisler/gr_cpci_ax2000/u-boot.lds          |    2 +-
 board/gaisler/gr_ep2s60/u-boot.lds               |    2 +-
 board/gaisler/gr_xc3s_1500/u-boot.lds            |    2 +-
 board/gaisler/grsim/u-boot.lds                   |    2 +-
 board/gaisler/grsim_leon2/u-boot.lds             |    2 +-
 board/gen860t/u-boot-flashenv.lds                |    2 +-
 board/gen860t/u-boot.lds                         |    2 +-
 board/genietv/u-boot.lds                         |    2 +-
 board/genietv/u-boot.lds.debug                   |    2 +-
 board/hermes/u-boot.lds                          |    2 +-
 board/hermes/u-boot.lds.debug                    |    2 +-
 board/hymod/u-boot.lds                           |    2 +-
 board/hymod/u-boot.lds.debug                     |    2 +-
 board/icu862/u-boot.lds                          |    2 +-
 board/icu862/u-boot.lds.debug                    |    2 +-
 board/idmr/u-boot.lds                            |    2 +-
 board/ip860/u-boot.lds                           |    2 +-
 board/ip860/u-boot.lds.debug                     |    2 +-
 board/ivm/u-boot.lds                             |    2 +-
 board/ivm/u-boot.lds.debug                       |    2 +-
 board/jornada/u-boot.lds                         |    2 +-
 board/korat/u-boot-F7FC.lds                      |    2 +-
 board/kup/kup4k/u-boot.lds                       |    2 +-
 board/kup/kup4k/u-boot.lds.debug                 |    2 +-
 board/kup/kup4x/u-boot.lds                       |    2 +-
 board/kup/kup4x/u-boot.lds.debug                 |    2 +-
 board/lantec/u-boot.lds                          |    2 +-
 board/lantec/u-boot.lds.debug                    |    2 +-
 board/lwmon/u-boot.lds                           |    2 +-
 board/lwmon/u-boot.lds.debug                     |    2 +-
 board/manroland/uc100/u-boot.lds                 |    2 +-
 board/matrix_vision/mvsmr/u-boot.lds             |    2 +-
 board/mbx8xx/u-boot.lds                          |    2 +-
 board/mbx8xx/u-boot.lds.debug                    |    2 +-
 board/mercury/mpq101/u-boot.lds                  |    2 +-
 board/mimc/mimc200/u-boot.lds                    |    2 +-
 board/miromico/hammerhead/u-boot.lds             |    2 +-
 board/ml2/u-boot.lds                             |    2 +-
 board/ml2/u-boot.lds.debug                       |    2 +-
 board/mousse/u-boot.lds                          |    2 +-
 board/mousse/u-boot.lds.ram                      |    2 +-
 board/mousse/u-boot.lds.rom                      |    2 +-
 board/mpl/pip405/u-boot.lds.debug                |    2 +-
 board/munices/u-boot.lds                         |    2 +-
 board/mvblue/u-boot.lds                          |    2 +-
 board/netphone/u-boot.lds                        |    2 +-
 board/netphone/u-boot.lds.debug                  |    2 +-
 board/netta/u-boot.lds                           |    2 +-
 board/netta/u-boot.lds.debug                     |    2 +-
 board/netta2/u-boot.lds                          |    2 +-
 board/netta2/u-boot.lds.debug                    |    2 +-
 board/netvia/u-boot.lds                          |    2 +-
 board/netvia/u-boot.lds.debug                    |    2 +-
 board/nx823/u-boot.lds                           |    2 +-
 board/nx823/u-boot.lds.debug                     |    2 +-
 board/quantum/u-boot.lds                         |    2 +-
 board/quantum/u-boot.lds.debug                   |    2 +-
 board/r360mpi/u-boot.lds                         |    2 +-
 board/rbc823/u-boot.lds                          |    2 +-
 board/renesas/sh7757lcr/u-boot.lds               |    2 +-
 board/rmu/u-boot.lds                             |    2 +-
 board/rmu/u-boot.lds.debug                       |    2 +-
 board/rsdproto/u-boot.lds                        |    2 +-
 board/samsung/smdk6400/u-boot-nand.lds           |    2 +-
 board/sandburst/karef/u-boot.lds.debug           |    2 +-
 board/sandburst/metrobox/u-boot.lds.debug        |    2 +-
 board/sandpoint/u-boot.lds                       |    2 +-
 board/sc3/u-boot.lds                             |    2 +-
 board/siemens/IAD210/u-boot.lds                  |    2 +-
 board/sixnet/u-boot.lds                          |    2 +-
 board/snmc/qs850/u-boot.lds                      |    2 +-
 board/snmc/qs860t/u-boot.lds                     |    2 +-
 board/spc1920/u-boot.lds                         |    2 +-
 board/spd8xx/u-boot.lds                          |    2 +-
 board/spd8xx/u-boot.lds.debug                    |    2 +-
 board/stx/stxxtc/u-boot.lds                      |    2 +-
 board/stx/stxxtc/u-boot.lds.debug                |    2 +-
 board/svm_sc8xx/u-boot.lds                       |    2 +-
 board/svm_sc8xx/u-boot.lds.debug                 |    2 +-
 board/tqc/tqm8xx/u-boot.lds                      |    2 +-
 board/tqc/tqm8xx/u-boot.lds.debug                |    2 +-
 board/trab/u-boot.lds                            |    2 +-
 board/v37/u-boot.lds                             |    2 +-
 board/w7o/u-boot.lds.debug                       |    2 +-
 board/westel/amx860/u-boot.lds                   |    2 +-
 board/westel/amx860/u-boot.lds.debug             |    2 +-
 board/xes/xpedite1000/u-boot.lds.debug           |    2 +-
 board/zipitz2/u-boot.lds                         |    2 +-
 examples/standalone/mips.lds                     |    2 +-
 examples/standalone/sparc.lds                    |    2 +-
 examples/standalone/stubs.c                      |    4 ++--
 nand_spl/board/amcc/acadia/u-boot.lds            |    2 +-
 nand_spl/board/amcc/bamboo/u-boot.lds            |    2 +-
 nand_spl/board/amcc/canyonlands/u-boot.lds       |    2 +-
 nand_spl/board/amcc/kilauea/u-boot.lds           |    2 +-
 nand_spl/board/amcc/sequoia/u-boot.lds           |    2 +-
 nand_spl/board/davinci/da8xxevm/u-boot.lds       |    2 +-
 nand_spl/board/freescale/mpc8313erdb/u-boot.lds  |    4 ++--
 nand_spl/board/freescale/mpc8315erdb/u-boot.lds  |    4 ++--
 nand_spl/board/freescale/mx31pdk/u-boot.lds      |    2 +-
 nand_spl/board/karo/tx25/u-boot.lds              |    2 +-
 nand_spl/board/samsung/smdk6400/u-boot.lds       |    2 +-
 nand_spl/board/sheldon/simpc8313/u-boot.lds      |    4 ++--
 onenand_ipl/board/apollon/u-boot.onenand.lds     |    2 +-
 onenand_ipl/board/vpac270/u-boot.onenand.lds     |    2 +-
 242 files changed, 263 insertions(+), 263 deletions(-)

diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S
index a05d36d..64426fa 100644
--- a/arch/arm/cpu/arm1136/start.S
+++ b/arch/arm/cpu/arm1136/start.S
@@ -102,7 +102,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/arm1136/u-boot.lds b/arch/arm/cpu/arm1136/u-boot.lds
index 253adbe..1e0e90b 100644
--- a/arch/arm/cpu/arm1136/u-boot.lds
+++ b/arch/arm/cpu/arm1136/u-boot.lds
@@ -76,7 +76,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S
index 363329a..c1302df 100644
--- a/arch/arm/cpu/arm1176/start.S
+++ b/arch/arm/cpu/arm1176/start.S
@@ -121,7 +121,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 /* IRQ stack memory (calculated at run-time) + 8 bytes */
 .globl IRQ_STACK_START_IN
diff --git a/arch/arm/cpu/arm1176/u-boot.lds b/arch/arm/cpu/arm1176/u-boot.lds
index fe31800..170e516 100644
--- a/arch/arm/cpu/arm1176/u-boot.lds
+++ b/arch/arm/cpu/arm1176/u-boot.lds
@@ -65,7 +65,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S
index c098118..c521753 100644
--- a/arch/arm/cpu/arm720t/start.S
+++ b/arch/arm/cpu/arm720t/start.S
@@ -91,7 +91,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/arm720t/u-boot.lds b/arch/arm/cpu/arm720t/u-boot.lds
index 0686e42..deda9fb 100644
--- a/arch/arm/cpu/arm720t/u-boot.lds
+++ b/arch/arm/cpu/arm720t/u-boot.lds
@@ -66,7 +66,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
index 5bfcb02..4cc82a5 100644
--- a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
+++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
@@ -55,5 +55,5 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.bss : { *(.bss) }
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S
index 2fc0abc..6db61c2 100644
--- a/arch/arm/cpu/arm920t/start.S
+++ b/arch/arm/cpu/arm920t/start.S
@@ -87,7 +87,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/arm920t/u-boot.lds b/arch/arm/cpu/arm920t/u-boot.lds
index a6f8b56..d6dc21c 100644
--- a/arch/arm/cpu/arm920t/u-boot.lds
+++ b/arch/arm/cpu/arm920t/u-boot.lds
@@ -75,7 +75,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S
index 20ecdd5..b89cf4a 100644
--- a/arch/arm/cpu/arm925t/start.S
+++ b/arch/arm/cpu/arm925t/start.S
@@ -97,7 +97,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/arm925t/u-boot.lds b/arch/arm/cpu/arm925t/u-boot.lds
index 7b53edb..4ad1f8e 100644
--- a/arch/arm/cpu/arm925t/u-boot.lds
+++ b/arch/arm/cpu/arm925t/u-boot.lds
@@ -70,7 +70,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S
index f4c177e..7798ef8 100644
--- a/arch/arm/cpu/arm926ejs/start.S
+++ b/arch/arm/cpu/arm926ejs/start.S
@@ -131,7 +131,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/arm926ejs/u-boot.lds b/arch/arm/cpu/arm926ejs/u-boot.lds
index 28c91f9..b7a5b9e 100644
--- a/arch/arm/cpu/arm926ejs/u-boot.lds
+++ b/arch/arm/cpu/arm926ejs/u-boot.lds
@@ -67,7 +67,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S
index 296effc..1b6b188 100644
--- a/arch/arm/cpu/arm946es/start.S
+++ b/arch/arm/cpu/arm946es/start.S
@@ -103,7 +103,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/arm946es/u-boot.lds b/arch/arm/cpu/arm946es/u-boot.lds
index eb91979..fe4a646 100644
--- a/arch/arm/cpu/arm946es/u-boot.lds
+++ b/arch/arm/cpu/arm946es/u-boot.lds
@@ -67,7 +67,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S
index e8518e2..da2c265 100644
--- a/arch/arm/cpu/arm_intcm/start.S
+++ b/arch/arm/cpu/arm_intcm/start.S
@@ -99,7 +99,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/arm_intcm/u-boot.lds b/arch/arm/cpu/arm_intcm/u-boot.lds
index 3b5c18d..899fab0 100644
--- a/arch/arm/cpu/arm_intcm/u-boot.lds
+++ b/arch/arm/cpu/arm_intcm/u-boot.lds
@@ -67,7 +67,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
index cb4f92f..bc7bae8 100644
--- a/arch/arm/cpu/armv7/start.S
+++ b/arch/arm/cpu/armv7/start.S
@@ -79,7 +79,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/armv7/u-boot.lds b/arch/arm/cpu/armv7/u-boot.lds
index 5725c30..de80244 100644
--- a/arch/arm/cpu/armv7/u-boot.lds
+++ b/arch/arm/cpu/armv7/u-boot.lds
@@ -70,7 +70,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/ixp/start.S b/arch/arm/cpu/ixp/start.S
index f71a398..f8bfed7 100644
--- a/arch/arm/cpu/ixp/start.S
+++ b/arch/arm/cpu/ixp/start.S
@@ -110,7 +110,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/ixp/u-boot.lds b/arch/arm/cpu/ixp/u-boot.lds
index a55eb8a..7029c6c 100644
--- a/arch/arm/cpu/ixp/u-boot.lds
+++ b/arch/arm/cpu/ixp/u-boot.lds
@@ -67,7 +67,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/lh7a40x/start.S b/arch/arm/cpu/lh7a40x/start.S
index 1457427..bd821a2 100644
--- a/arch/arm/cpu/lh7a40x/start.S
+++ b/arch/arm/cpu/lh7a40x/start.S
@@ -87,7 +87,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/lh7a40x/u-boot.lds b/arch/arm/cpu/lh7a40x/u-boot.lds
index 463237d..b15ab1e 100644
--- a/arch/arm/cpu/lh7a40x/u-boot.lds
+++ b/arch/arm/cpu/lh7a40x/u-boot.lds
@@ -67,7 +67,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/pxa/start.S b/arch/arm/cpu/pxa/start.S
index d2d391e..ca072c4 100644
--- a/arch/arm/cpu/pxa/start.S
+++ b/arch/arm/cpu/pxa/start.S
@@ -104,7 +104,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/pxa/u-boot.lds b/arch/arm/cpu/pxa/u-boot.lds
index 0818d0b..dfb9b77 100644
--- a/arch/arm/cpu/pxa/u-boot.lds
+++ b/arch/arm/cpu/pxa/u-boot.lds
@@ -67,7 +67,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/s3c44b0/start.S b/arch/arm/cpu/s3c44b0/start.S
index 9c9c3b3..ac1c4fb 100644
--- a/arch/arm/cpu/s3c44b0/start.S
+++ b/arch/arm/cpu/s3c44b0/start.S
@@ -78,7 +78,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/s3c44b0/u-boot.lds b/arch/arm/cpu/s3c44b0/u-boot.lds
index ac29440..797edbc 100644
--- a/arch/arm/cpu/s3c44b0/u-boot.lds
+++ b/arch/arm/cpu/s3c44b0/u-boot.lds
@@ -67,7 +67,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/arm/cpu/sa1100/start.S b/arch/arm/cpu/sa1100/start.S
index 815d704..5cfe19b 100644
--- a/arch/arm/cpu/sa1100/start.S
+++ b/arch/arm/cpu/sa1100/start.S
@@ -88,7 +88,7 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
-	.word _end - _start
+	.word __bss_end__ - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
diff --git a/arch/arm/cpu/sa1100/u-boot.lds b/arch/arm/cpu/sa1100/u-boot.lds
index fa6d05c..0ac1329 100644
--- a/arch/arm/cpu/sa1100/u-boot.lds
+++ b/arch/arm/cpu/sa1100/u-boot.lds
@@ -70,7 +70,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
diff --git a/arch/avr32/cpu/start.S b/arch/avr32/cpu/start.S
index 97140e9..71cbc52 100644
--- a/arch/avr32/cpu/start.S
+++ b/arch/avr32/cpu/start.S
@@ -244,7 +244,7 @@ relocate_code:
 	/* zero out .bss */
 	mov	r0, 0
 	mov	r1, 0
-	lda.w	r9, _end
+	lda.w	r9, __bss_end__
 	sub	r9, r8
 1:	st.d	r10++, r0
 	sub	r9, 8
diff --git a/arch/avr32/include/asm/sections.h b/arch/avr32/include/asm/sections.h
index fe819b2..3f15788 100644
--- a/arch/avr32/include/asm/sections.h
+++ b/arch/avr32/include/asm/sections.h
@@ -27,6 +27,6 @@
 extern char _text[], _etext[];
 extern char _data[], __data_lma[], _edata[], __edata_lma[];
 extern char __got_start[], __got_lma[], __got_end[];
-extern char _end[];
+extern char __bss_end__[];
 
 #endif /* __ASM_AVR32_SECTIONS_H */
diff --git a/arch/avr32/lib/board.c b/arch/avr32/lib/board.c
index 8b56237..5edef8f 100644
--- a/arch/avr32/lib/board.c
+++ b/arch/avr32/lib/board.c
@@ -118,7 +118,7 @@ static int display_banner (void)
 	printf ("\n\n%s\n\n", version_string);
 	printf ("U-Boot code: %08lx -> %08lx  data: %08lx -> %08lx\n",
 		(unsigned long)_text, (unsigned long)_etext,
-		(unsigned long)_data, (unsigned long)_end);
+		(unsigned long)_data, (unsigned long)__bss_end__);
 	return 0;
 }
 
@@ -190,7 +190,7 @@ void board_init_f(ulong board_type)
 	 *  - stack
 	 */
 	addr = CONFIG_SYS_SDRAM_BASE + sdram_size;
-	monitor_len = _end - _text;
+	monitor_len = __bss_end__ - _text;
 
 	/*
 	 * Reserve memory for u-boot code, data and bss.
diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c
index 7867ba5..f824b34 100644
--- a/arch/m68k/lib/board.c
+++ b/arch/m68k/lib/board.c
@@ -76,7 +76,7 @@ static char *failed = "*** failed ***\n";
 #include <environment.h>
 
 extern ulong __init_end;
-extern ulong _end;
+extern ulong __bss_end__;
 
 extern	void timer_init(void);
 
@@ -252,7 +252,7 @@ board_init_f (ulong bootflag)
 	 *	- monitor code
 	 *	- board info struct
 	 */
-	len = (ulong)&_end - CONFIG_SYS_MONITOR_BASE;
+	len = (ulong)&__bss_end__ - CONFIG_SYS_MONITOR_BASE;
 
 	addr = CONFIG_SYS_SDRAM_BASE + gd->ram_size;
 
diff --git a/arch/nios2/cpu/start.S b/arch/nios2/cpu/start.S
index 9b0f52d..bf5d672 100644
--- a/arch/nios2/cpu/start.S
+++ b/arch/nios2/cpu/start.S
@@ -100,12 +100,12 @@ _cur:	movhi	r5, %hi(_cur - _start)
 3:
 
 	/* ZERO BSS/SBSS -- bss and sbss are assumed to be adjacent
-	 * and between __bss_start and _end.
+	 * and between __bss_start and __bss_end__.
 	 */
 	 movhi	r5, %hi(__bss_start)
 	 ori	r5, r5, %lo(__bss_start)
-	 movhi	r6, %hi(_end)
-	 ori	r6, r6, %lo(_end)
+	 movhi	r6, %hi(__bss_end__)
+	 ori	r6, r6, %lo(__bss_end__)
 	 beq	r5, r6, 5f
 
 4:	stwio	r0, 0(r5)
diff --git a/arch/nios2/cpu/u-boot.lds b/arch/nios2/cpu/u-boot.lds
index fe4a2eb..4856bd3 100644
--- a/arch/nios2/cpu/u-boot.lds
+++ b/arch/nios2/cpu/u-boot.lds
@@ -103,7 +103,7 @@ SECTIONS
 	  *(.scommon)
 	}
 	. = ALIGN(4);
-	_end = .;
+	__bss_end__ = .;
 	PROVIDE (end = .);
 
 	/* DEBUG -- symbol table, string table, etc. etc.
diff --git a/arch/powerpc/cpu/74xx_7xx/start.S b/arch/powerpc/cpu/74xx_7xx/start.S
index 985e1ce..f6011fc 100644
--- a/arch/powerpc/cpu/74xx_7xx/start.S
+++ b/arch/powerpc/cpu/74xx_7xx/start.S
@@ -77,7 +77,7 @@
 	GOT_ENTRY(transfer_to_handler)
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 	END_GOT
 
@@ -722,7 +722,7 @@ in_ram:
 	 * Now clear BSS segment
 	 */
 	lwz	r3,GOT(__bss_start)
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 
 	cmplw	0, r3, r4
 	beq	6f
diff --git a/arch/powerpc/cpu/74xx_7xx/u-boot.lds b/arch/powerpc/cpu/74xx_7xx/u-boot.lds
index 8429f33..24823cd 100644
--- a/arch/powerpc/cpu/74xx_7xx/u-boot.lds
+++ b/arch/powerpc/cpu/74xx_7xx/u-boot.lds
@@ -87,6 +87,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/arch/powerpc/cpu/mpc512x/start.S b/arch/powerpc/cpu/mpc512x/start.S
index 10557cf..9c2e488 100644
--- a/arch/powerpc/cpu/mpc512x/start.S
+++ b/arch/powerpc/cpu/mpc512x/start.S
@@ -79,7 +79,7 @@
 	GOT_ENTRY(transfer_to_handler)
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 	END_GOT
 
@@ -626,7 +626,7 @@ clear_bss:
 	 * Now clear BSS segment
 	 */
 	lwz	r3,GOT(__bss_start)
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 
 	cmplw	0, r3, r4
 	beq	6f
diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds
index ab9303f..7a4d927 100644
--- a/arch/powerpc/cpu/mpc512x/u-boot.lds
+++ b/arch/powerpc/cpu/mpc512x/u-boot.lds
@@ -82,7 +82,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
 ENTRY(_start)
diff --git a/arch/powerpc/cpu/mpc5xx/start.S b/arch/powerpc/cpu/mpc5xx/start.S
index 3dbd23d..cc11c8f 100644
--- a/arch/powerpc/cpu/mpc5xx/start.S
+++ b/arch/powerpc/cpu/mpc5xx/start.S
@@ -70,7 +70,7 @@
 	GOT_ENTRY(transfer_to_handler)
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 	END_GOT
 
@@ -466,7 +466,7 @@ clear_bss:
 	 * Now clear BSS segment
 	 */
 	lwz	r3,GOT(__bss_start)
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 	cmplw	0, r3, r4
 	beq	6f
 
diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds
index 69bd7aa..e02b213 100644
--- a/arch/powerpc/cpu/mpc5xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds
@@ -91,7 +91,7 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
   . = env_start;
   .ppcenv :
diff --git a/arch/powerpc/cpu/mpc5xxx/start.S b/arch/powerpc/cpu/mpc5xxx/start.S
index 38c0bd7..192aa50 100644
--- a/arch/powerpc/cpu/mpc5xxx/start.S
+++ b/arch/powerpc/cpu/mpc5xxx/start.S
@@ -70,7 +70,7 @@
 	GOT_ENTRY(transfer_to_handler)
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 	END_GOT
 
@@ -681,7 +681,7 @@ clear_bss:
 	 * Now clear BSS segment
 	 */
 	lwz	r3,GOT(__bss_start)
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 
 	cmplw	0, r3, r4
 	beq	6f
diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds
index bbf0f16..0c6c54e 100644
--- a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds
+++ b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds
@@ -91,6 +91,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
index 7e3b70a..5dcaec1 100644
--- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
@@ -85,6 +85,6 @@ SECTIONS
    *(.sbss*)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/arch/powerpc/cpu/mpc8220/start.S b/arch/powerpc/cpu/mpc8220/start.S
index ca42678..300b35c 100644
--- a/arch/powerpc/cpu/mpc8220/start.S
+++ b/arch/powerpc/cpu/mpc8220/start.S
@@ -69,7 +69,7 @@
 	GOT_ENTRY(transfer_to_handler)
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 	END_GOT
 
@@ -654,7 +654,7 @@ clear_bss:
 	 * Now clear BSS segment
 	 */
 	lwz	r3,GOT(__bss_start)
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 
 	cmplw	0, r3, r4
 	beq	6f
diff --git a/arch/powerpc/cpu/mpc8220/u-boot.lds b/arch/powerpc/cpu/mpc8220/u-boot.lds
index 72ff671..39bb42e 100644
--- a/arch/powerpc/cpu/mpc8220/u-boot.lds
+++ b/arch/powerpc/cpu/mpc8220/u-boot.lds
@@ -84,6 +84,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/arch/powerpc/cpu/mpc824x/start.S b/arch/powerpc/cpu/mpc824x/start.S
index 0dd1300..fc4e922 100644
--- a/arch/powerpc/cpu/mpc824x/start.S
+++ b/arch/powerpc/cpu/mpc824x/start.S
@@ -77,7 +77,7 @@
 	GOT_ENTRY(transfer_to_handler)
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 #if defined(CONFIG_FADS)
 	GOT_ENTRY(environment)
@@ -596,7 +596,7 @@ clear_bss:
 	 * Now clear BSS segment
 	 */
 	lwz	r3,GOT(__bss_start)
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 
 	cmplw	0, r3, r4
 	beq	6f
diff --git a/arch/powerpc/cpu/mpc824x/u-boot.lds b/arch/powerpc/cpu/mpc824x/u-boot.lds
index 3b9299c..b30ce76 100644
--- a/arch/powerpc/cpu/mpc824x/u-boot.lds
+++ b/arch/powerpc/cpu/mpc824x/u-boot.lds
@@ -85,6 +85,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/arch/powerpc/cpu/mpc8260/start.S b/arch/powerpc/cpu/mpc8260/start.S
index 255a15e..702546e 100644
--- a/arch/powerpc/cpu/mpc8260/start.S
+++ b/arch/powerpc/cpu/mpc8260/start.S
@@ -70,7 +70,7 @@
 	GOT_ENTRY(transfer_to_handler)
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 #if defined(CONFIG_HYMOD)
 	GOT_ENTRY(environment)
@@ -927,7 +927,7 @@ clear_bss:
 	 */
 	lwz	r4,GOT(environment)
 #else
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 #endif
 
 	cmplw	0, r3, r4
diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds
index c76555e..60b71ec 100644
--- a/arch/powerpc/cpu/mpc8260/u-boot.lds
+++ b/arch/powerpc/cpu/mpc8260/u-boot.lds
@@ -84,6 +84,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/arch/powerpc/cpu/mpc83xx/start.S b/arch/powerpc/cpu/mpc83xx/start.S
index 460ac9a..7e60315 100644
--- a/arch/powerpc/cpu/mpc83xx/start.S
+++ b/arch/powerpc/cpu/mpc83xx/start.S
@@ -72,7 +72,7 @@
 	START_GOT
 	GOT_ENTRY(_GOT2_TABLE_)
 	GOT_ENTRY(__bss_start)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 
 #ifndef CONFIG_NAND_SPL
 	GOT_ENTRY(_FIXUP_TABLE_)
@@ -977,7 +977,7 @@ clear_bss:
 	 */
 	lwz	r4,GOT(environment)
 #else
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 #endif
 
 	cmplw	0, r3, r4
diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds
index 752a175..2f4b9ad 100644
--- a/arch/powerpc/cpu/mpc83xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds
@@ -83,7 +83,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
 ENTRY(_start)
diff --git a/arch/powerpc/cpu/mpc85xx/start.S b/arch/powerpc/cpu/mpc85xx/start.S
index fa98af6..5777493 100644
--- a/arch/powerpc/cpu/mpc85xx/start.S
+++ b/arch/powerpc/cpu/mpc85xx/start.S
@@ -66,7 +66,7 @@
 #endif
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 	END_GOT
 
@@ -1050,7 +1050,7 @@ clear_bss:
 	 * Now clear BSS segment
 	 */
 	lwz	r3,GOT(__bss_start)
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 
 	cmplw	0,r3,r4
 	beq	6f
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
index fa2088b..04bc731 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
@@ -101,6 +101,6 @@ SECTIONS
   } :bss
 
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
index b10e0f9..8410bd7 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
@@ -62,6 +62,6 @@ SECTIONS
 		*(.sbss*)
 		*(.bss*)
 	}
-	_end = .;
+	__bss_end__ = .;
 }
 ASSERT(__init_end <= 0xfff00ffc, "NAND bootstrap too big");
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
index 506c7f2..efe34b7 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
@@ -125,6 +125,6 @@ SECTIONS
   } :bss
 
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/arch/powerpc/cpu/mpc86xx/start.S b/arch/powerpc/cpu/mpc86xx/start.S
index 4c29de6..3e3c21e 100644
--- a/arch/powerpc/cpu/mpc86xx/start.S
+++ b/arch/powerpc/cpu/mpc86xx/start.S
@@ -66,7 +66,7 @@
 	GOT_ENTRY(transfer_to_handler)
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 	END_GOT
 
@@ -740,7 +740,7 @@ in_ram:
 	 * Now clear BSS segment
 	 */
 	lwz	r3,GOT(__bss_start)
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 
 	cmplw	0, r3, r4
 	beq	6f
diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds
index c550ef5..121e529 100644
--- a/arch/powerpc/cpu/mpc86xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds
@@ -88,6 +88,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/arch/powerpc/cpu/mpc8xx/start.S b/arch/powerpc/cpu/mpc8xx/start.S
index 6a16c26..fe3daa2 100644
--- a/arch/powerpc/cpu/mpc8xx/start.S
+++ b/arch/powerpc/cpu/mpc8xx/start.S
@@ -77,7 +77,7 @@
 	GOT_ENTRY(transfer_to_handler)
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 	END_GOT
 
@@ -597,7 +597,7 @@ clear_bss:
 	 * Now clear BSS segment
 	 */
 	lwz	r3,GOT(__bss_start)
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 
 	cmplw	0, r3, r4
 	beq	6f
diff --git a/arch/powerpc/cpu/ppc4xx/start.S b/arch/powerpc/cpu/ppc4xx/start.S
index 2218508..b43e22c 100644
--- a/arch/powerpc/cpu/ppc4xx/start.S
+++ b/arch/powerpc/cpu/ppc4xx/start.S
@@ -248,7 +248,7 @@
 	GOT_ENTRY(transfer_to_handler)
 
 	GOT_ENTRY(__init_end)
-	GOT_ENTRY(_end)
+	GOT_ENTRY(__bss_end__)
 	GOT_ENTRY(__bss_start)
 	END_GOT
 #endif /* CONFIG_NAND_SPL */
@@ -1624,7 +1624,7 @@ clear_bss:
 	 * Now clear BSS segment
 	 */
 	lwz	r3,GOT(__bss_start)
-	lwz	r4,GOT(_end)
+	lwz	r4,GOT(__bss_end__)
 
 	cmplw	0, r3, r4
 	beq	7f
diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds
index 656f59a..2466b79 100644
--- a/arch/powerpc/cpu/ppc4xx/u-boot.lds
+++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds
@@ -140,6 +140,6 @@ SECTIONS
   } :bss
 
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c
index b88cf6b..4719f8c 100644
--- a/arch/powerpc/lib/board.c
+++ b/arch/powerpc/lib/board.c
@@ -123,7 +123,7 @@ DECLARE_GLOBAL_DATA_PTR;
 #endif
 
 extern ulong __init_end;
-extern ulong _end;
+extern ulong __bss_end__;
 ulong monitor_flash_len;
 
 #if defined(CONFIG_CMD_BEDBUG)
@@ -403,7 +403,7 @@ void board_init_f (ulong bootflag)
 	 *  - monitor code
 	 *  - board info struct
 	 */
-	len = (ulong)&_end - CONFIG_SYS_MONITOR_BASE;
+	len = (ulong)&__bss_end__ - CONFIG_SYS_MONITOR_BASE;
 
 	/*
 	 * Subtract specified amount of memory to hide so that it won't
diff --git a/arch/sh/cpu/sh2/u-boot.lds b/arch/sh/cpu/sh2/u-boot.lds
index e4e8b60..4906340 100644
--- a/arch/sh/cpu/sh2/u-boot.lds
+++ b/arch/sh/cpu/sh2/u-boot.lds
@@ -91,5 +91,5 @@ SECTIONS
 	}
 	PROVIDE (bss_end = .);
 
-	PROVIDE (_end = .);
+	PROVIDE (__bss_end__ = .);
 }
diff --git a/arch/sh/cpu/sh3/u-boot.lds b/arch/sh/cpu/sh3/u-boot.lds
index 8afe160..4170522 100644
--- a/arch/sh/cpu/sh3/u-boot.lds
+++ b/arch/sh/cpu/sh3/u-boot.lds
@@ -98,5 +98,5 @@ SECTIONS
 	}
 	PROVIDE (bss_end = .);
 
-	PROVIDE (_end = .);
+	PROVIDE (__bss_end__ = .);
 }
diff --git a/arch/sh/cpu/sh4/u-boot.lds b/arch/sh/cpu/sh4/u-boot.lds
index d3719df..fab75fa 100644
--- a/arch/sh/cpu/sh4/u-boot.lds
+++ b/arch/sh/cpu/sh4/u-boot.lds
@@ -95,5 +95,5 @@ SECTIONS
 	}
 	PROVIDE (bss_end = .);
 
-	PROVIDE (_end = .);
+	PROVIDE (__bss_end__ = .);
 }
diff --git a/board/BuS/EB+MCF-EV123/u-boot.lds b/board/BuS/EB+MCF-EV123/u-boot.lds
index 0fa633a..e0359e3 100644
--- a/board/BuS/EB+MCF-EV123/u-boot.lds
+++ b/board/BuS/EB+MCF-EV123/u-boot.lds
@@ -134,6 +134,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds
index 9077e69..45206ca 100644
--- a/board/LEOX/elpt860/u-boot.lds
+++ b/board/LEOX/elpt860/u-boot.lds
@@ -109,6 +109,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/LEOX/elpt860/u-boot.lds.debug b/board/LEOX/elpt860/u-boot.lds.debug
index 287fc20..92901b1 100644
--- a/board/LEOX/elpt860/u-boot.lds.debug
+++ b/board/LEOX/elpt860/u-boot.lds.debug
@@ -134,6 +134,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/RPXClassic/u-boot.lds b/board/RPXClassic/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/RPXClassic/u-boot.lds
+++ b/board/RPXClassic/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/RPXClassic/u-boot.lds.debug b/board/RPXClassic/u-boot.lds.debug
index c218905..99c48f2 100644
--- a/board/RPXClassic/u-boot.lds.debug
+++ b/board/RPXClassic/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/RPXlite/u-boot.lds b/board/RPXlite/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/RPXlite/u-boot.lds
+++ b/board/RPXlite/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/RPXlite/u-boot.lds.debug b/board/RPXlite/u-boot.lds.debug
index c218905..99c48f2 100644
--- a/board/RPXlite/u-boot.lds.debug
+++ b/board/RPXlite/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/RPXlite_dw/u-boot.lds b/board/RPXlite_dw/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/RPXlite_dw/u-boot.lds
+++ b/board/RPXlite_dw/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/RPXlite_dw/u-boot.lds.debug b/board/RPXlite_dw/u-boot.lds.debug
index a78d0b7..4491edd 100644
--- a/board/RPXlite_dw/u-boot.lds.debug
+++ b/board/RPXlite_dw/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/RRvision/u-boot.lds b/board/RRvision/u-boot.lds
index 5232e20..3e7853a 100644
--- a/board/RRvision/u-boot.lds
+++ b/board/RRvision/u-boot.lds
@@ -95,6 +95,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds
index 5c1ece7..8be2b20 100644
--- a/board/actux1/u-boot.lds
+++ b/board/actux1/u-boot.lds
@@ -66,5 +66,5 @@ SECTIONS
 		*(.bss)
 		. = ALIGN(4);
 	}
-	_end =.;
+	__bss_end__ =.;
 }
diff --git a/board/actux2/u-boot.lds b/board/actux2/u-boot.lds
index 707c027..a405f55 100644
--- a/board/actux2/u-boot.lds
+++ b/board/actux2/u-boot.lds
@@ -71,5 +71,5 @@ SECTIONS
 		*(.bss)
 		. = ALIGN(4);
 	}
-	_end =.;
+	__bss_end__ =.;
 }
diff --git a/board/actux3/u-boot.lds b/board/actux3/u-boot.lds
index 497ab97..d3463cd 100644
--- a/board/actux3/u-boot.lds
+++ b/board/actux3/u-boot.lds
@@ -71,5 +71,5 @@ SECTIONS
 		*(.bss)
 		. = ALIGN(4);
 	}
-	_end =.;
+	__bss_end__ =.;
 }
diff --git a/board/adder/u-boot.lds b/board/adder/u-boot.lds
index 26c9a22..661a94a 100644
--- a/board/adder/u-boot.lds
+++ b/board/adder/u-boot.lds
@@ -86,7 +86,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
 ENTRY(_start)
diff --git a/board/altera/nios2-generic/u-boot.lds b/board/altera/nios2-generic/u-boot.lds
index d4be077..88ced62 100644
--- a/board/altera/nios2-generic/u-boot.lds
+++ b/board/altera/nios2-generic/u-boot.lds
@@ -104,7 +104,7 @@ SECTIONS
 	  *(.scommon)
 	}
 	. = ALIGN(4);
-	_end = .;
+	__bss_end__ = .;
 	PROVIDE (end = .);
 
 	/* DEBUG -- symbol table, string table, etc. etc.
diff --git a/board/amcc/acadia/u-boot-nand.lds b/board/amcc/acadia/u-boot-nand.lds
index c2a04c7..ab67de2 100644
--- a/board/amcc/acadia/u-boot-nand.lds
+++ b/board/amcc/acadia/u-boot-nand.lds
@@ -98,6 +98,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/amcc/bamboo/u-boot-nand.lds b/board/amcc/bamboo/u-boot-nand.lds
index c34bb62..3ad8709 100644
--- a/board/amcc/bamboo/u-boot-nand.lds
+++ b/board/amcc/bamboo/u-boot-nand.lds
@@ -99,6 +99,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/amcc/canyonlands/u-boot-nand.lds b/board/amcc/canyonlands/u-boot-nand.lds
index 534d6dd..76f89f1 100644
--- a/board/amcc/canyonlands/u-boot-nand.lds
+++ b/board/amcc/canyonlands/u-boot-nand.lds
@@ -99,6 +99,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/amcc/kilauea/u-boot-nand.lds b/board/amcc/kilauea/u-boot-nand.lds
index c2a04c7..ab67de2 100644
--- a/board/amcc/kilauea/u-boot-nand.lds
+++ b/board/amcc/kilauea/u-boot-nand.lds
@@ -98,6 +98,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/amcc/sequoia/u-boot-nand.lds b/board/amcc/sequoia/u-boot-nand.lds
index f3855c4..07ae8b1 100644
--- a/board/amcc/sequoia/u-boot-nand.lds
+++ b/board/amcc/sequoia/u-boot-nand.lds
@@ -99,6 +99,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/amcc/sequoia/u-boot-ram.lds b/board/amcc/sequoia/u-boot-ram.lds
index ba76a77..423400a 100644
--- a/board/amcc/sequoia/u-boot-ram.lds
+++ b/board/amcc/sequoia/u-boot-ram.lds
@@ -90,6 +90,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/amirix/ap1000/u-boot.lds b/board/amirix/ap1000/u-boot.lds
index 356d019..57fe1d9 100644
--- a/board/amirix/ap1000/u-boot.lds
+++ b/board/amirix/ap1000/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/astro/mcf5373l/u-boot.lds b/board/astro/mcf5373l/u-boot.lds
index 167a0a3..a1d8e0f 100644
--- a/board/astro/mcf5373l/u-boot.lds
+++ b/board/astro/mcf5373l/u-boot.lds
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/atmel/atngw100/u-boot.lds b/board/atmel/atngw100/u-boot.lds
index a7243f2..0a1a8e1 100644
--- a/board/atmel/atngw100/u-boot.lds
+++ b/board/atmel/atngw100/u-boot.lds
@@ -68,5 +68,5 @@ SECTIONS
 		*(.bss.*)
 	}
 	. = ALIGN(8);
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/board/atmel/atstk1000/u-boot.lds b/board/atmel/atstk1000/u-boot.lds
index 86ef939..0e532f2 100644
--- a/board/atmel/atstk1000/u-boot.lds
+++ b/board/atmel/atstk1000/u-boot.lds
@@ -68,5 +68,5 @@ SECTIONS
 		*(.bss.*)
 	}
 	. = ALIGN(8);
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/board/c2mon/u-boot.lds b/board/c2mon/u-boot.lds
index 7a088c9..524c36e 100644
--- a/board/c2mon/u-boot.lds
+++ b/board/c2mon/u-boot.lds
@@ -98,6 +98,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/c2mon/u-boot.lds.debug b/board/c2mon/u-boot.lds.debug
index 99098bf..c771102 100644
--- a/board/c2mon/u-boot.lds.debug
+++ b/board/c2mon/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/cm5200/u-boot.lds b/board/cm5200/u-boot.lds
index 2d8492e..cf73b11 100644
--- a/board/cm5200/u-boot.lds
+++ b/board/cm5200/u-boot.lds
@@ -115,6 +115,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/cobra5272/u-boot.lds b/board/cobra5272/u-boot.lds
index ec0f5e9..da14807 100644
--- a/board/cobra5272/u-boot.lds
+++ b/board/cobra5272/u-boot.lds
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/cogent/u-boot.lds b/board/cogent/u-boot.lds
index 42ed142..e324f5c 100644
--- a/board/cogent/u-boot.lds
+++ b/board/cogent/u-boot.lds
@@ -94,6 +94,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/cogent/u-boot.lds.debug b/board/cogent/u-boot.lds.debug
index c218905..99c48f2 100644
--- a/board/cogent/u-boot.lds.debug
+++ b/board/cogent/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/cray/L1/u-boot.lds.debug b/board/cray/L1/u-boot.lds.debug
index 0e9cdcf..fcf8ebb 100644
--- a/board/cray/L1/u-boot.lds.debug
+++ b/board/cray/L1/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/dave/PPChameleonEVB/u-boot.lds b/board/dave/PPChameleonEVB/u-boot.lds
index 17f5919..20c32b7 100644
--- a/board/dave/PPChameleonEVB/u-boot.lds
+++ b/board/dave/PPChameleonEVB/u-boot.lds
@@ -123,6 +123,6 @@ SECTIONS
   } :bss
 
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/earthlcd/favr-32-ezkit/u-boot.lds b/board/earthlcd/favr-32-ezkit/u-boot.lds
index 0d413a0..20e3631 100644
--- a/board/earthlcd/favr-32-ezkit/u-boot.lds
+++ b/board/earthlcd/favr-32-ezkit/u-boot.lds
@@ -66,5 +66,5 @@ SECTIONS
 		*(.bss.*)
 	}
 	. = ALIGN(8);
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds
index 4a96388..2fac727 100644
--- a/board/eltec/mhpc/u-boot.lds
+++ b/board/eltec/mhpc/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/eltec/mhpc/u-boot.lds.debug b/board/eltec/mhpc/u-boot.lds.debug
index 99098bf..c771102 100644
--- a/board/eltec/mhpc/u-boot.lds.debug
+++ b/board/eltec/mhpc/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds
index ae1a791..32dcbd3 100644
--- a/board/emk/top860/u-boot.lds
+++ b/board/emk/top860/u-boot.lds
@@ -91,6 +91,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/emk/top860/u-boot.lds.debug b/board/emk/top860/u-boot.lds.debug
index 0f536f3..39807d4 100644
--- a/board/emk/top860/u-boot.lds.debug
+++ b/board/emk/top860/u-boot.lds.debug
@@ -126,6 +126,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/ep88x/u-boot.lds b/board/ep88x/u-boot.lds
index 851348e..e2dd1c2 100644
--- a/board/ep88x/u-boot.lds
+++ b/board/ep88x/u-boot.lds
@@ -86,7 +86,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
 ENTRY(_start)
diff --git a/board/esd/dasa_sim/u-boot.lds b/board/esd/dasa_sim/u-boot.lds
index 3349fe8..2bf60f5 100644
--- a/board/esd/dasa_sim/u-boot.lds
+++ b/board/esd/dasa_sim/u-boot.lds
@@ -97,6 +97,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/esd/pmc440/u-boot-nand.lds b/board/esd/pmc440/u-boot-nand.lds
index cf4229a..71f0fd2 100644
--- a/board/esd/pmc440/u-boot-nand.lds
+++ b/board/esd/pmc440/u-boot-nand.lds
@@ -129,6 +129,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/esd/tasreg/u-boot.lds b/board/esd/tasreg/u-boot.lds
index d4fd705..27a6b93 100644
--- a/board/esd/tasreg/u-boot.lds
+++ b/board/esd/tasreg/u-boot.lds
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/esteem192e/u-boot.lds b/board/esteem192e/u-boot.lds
index 93b756b..8455f0b 100644
--- a/board/esteem192e/u-boot.lds
+++ b/board/esteem192e/u-boot.lds
@@ -99,6 +99,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/etx094/u-boot.lds b/board/etx094/u-boot.lds
index 614880b..04233d8 100644
--- a/board/etx094/u-boot.lds
+++ b/board/etx094/u-boot.lds
@@ -99,6 +99,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/etx094/u-boot.lds.debug b/board/etx094/u-boot.lds.debug
index be05d8f..8c55de4 100644
--- a/board/etx094/u-boot.lds.debug
+++ b/board/etx094/u-boot.lds.debug
@@ -137,6 +137,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/evb64260/u-boot.lds b/board/evb64260/u-boot.lds
index bc0bb06..0648f62 100644
--- a/board/evb64260/u-boot.lds
+++ b/board/evb64260/u-boot.lds
@@ -94,6 +94,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/fads/u-boot.lds b/board/fads/u-boot.lds
index c1ad141..63d0ea1 100644
--- a/board/fads/u-boot.lds
+++ b/board/fads/u-boot.lds
@@ -92,7 +92,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
 ENTRY(_start)
diff --git a/board/flagadm/u-boot.lds b/board/flagadm/u-boot.lds
index 4a96388..2fac727 100644
--- a/board/flagadm/u-boot.lds
+++ b/board/flagadm/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/flagadm/u-boot.lds.debug b/board/flagadm/u-boot.lds.debug
index 99098bf..c771102 100644
--- a/board/flagadm/u-boot.lds.debug
+++ b/board/flagadm/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5208evbe/u-boot.lds b/board/freescale/m5208evbe/u-boot.lds
index 8602869..e5011a6 100644
--- a/board/freescale/m5208evbe/u-boot.lds
+++ b/board/freescale/m5208evbe/u-boot.lds
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m52277evb/u-boot.spa b/board/freescale/m52277evb/u-boot.spa
index 9458aef..4b710be 100644
--- a/board/freescale/m52277evb/u-boot.spa
+++ b/board/freescale/m52277evb/u-boot.spa
@@ -139,6 +139,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m52277evb/u-boot.stm b/board/freescale/m52277evb/u-boot.stm
index 1ec83e9..db10222 100644
--- a/board/freescale/m52277evb/u-boot.stm
+++ b/board/freescale/m52277evb/u-boot.stm
@@ -131,6 +131,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5235evb/u-boot.16 b/board/freescale/m5235evb/u-boot.16
index d7bd10f..657cd9d 100644
--- a/board/freescale/m5235evb/u-boot.16
+++ b/board/freescale/m5235evb/u-boot.16
@@ -139,6 +139,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5235evb/u-boot.32 b/board/freescale/m5235evb/u-boot.32
index 47ec6dc..1f91994 100644
--- a/board/freescale/m5235evb/u-boot.32
+++ b/board/freescale/m5235evb/u-boot.32
@@ -147,6 +147,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5249evb/u-boot.lds b/board/freescale/m5249evb/u-boot.lds
index d4fd705..27a6b93 100644
--- a/board/freescale/m5249evb/u-boot.lds
+++ b/board/freescale/m5249evb/u-boot.lds
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5253demo/u-boot.lds b/board/freescale/m5253demo/u-boot.lds
index 4f8bb20..3644838 100644
--- a/board/freescale/m5253demo/u-boot.lds
+++ b/board/freescale/m5253demo/u-boot.lds
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5253evbe/u-boot.lds b/board/freescale/m5253evbe/u-boot.lds
index 797c837..34aa73d 100644
--- a/board/freescale/m5253evbe/u-boot.lds
+++ b/board/freescale/m5253evbe/u-boot.lds
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5271evb/u-boot.lds b/board/freescale/m5271evb/u-boot.lds
index 9878ec1..e16a266 100644
--- a/board/freescale/m5271evb/u-boot.lds
+++ b/board/freescale/m5271evb/u-boot.lds
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5272c3/u-boot.lds b/board/freescale/m5272c3/u-boot.lds
index 8b011df..ff5bfe6 100644
--- a/board/freescale/m5272c3/u-boot.lds
+++ b/board/freescale/m5272c3/u-boot.lds
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5275evb/u-boot.lds b/board/freescale/m5275evb/u-boot.lds
index cd17b0a..8e792fe 100644
--- a/board/freescale/m5275evb/u-boot.lds
+++ b/board/freescale/m5275evb/u-boot.lds
@@ -134,6 +134,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5282evb/u-boot.lds b/board/freescale/m5282evb/u-boot.lds
index 5ad0fad..7e6aa6a 100644
--- a/board/freescale/m5282evb/u-boot.lds
+++ b/board/freescale/m5282evb/u-boot.lds
@@ -135,6 +135,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m53017evb/u-boot.lds b/board/freescale/m53017evb/u-boot.lds
index 2e002ad..445566b 100644
--- a/board/freescale/m53017evb/u-boot.lds
+++ b/board/freescale/m53017evb/u-boot.lds
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5329evb/u-boot.lds b/board/freescale/m5329evb/u-boot.lds
index ba7ca27..4375342 100644
--- a/board/freescale/m5329evb/u-boot.lds
+++ b/board/freescale/m5329evb/u-boot.lds
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m5373evb/u-boot.lds b/board/freescale/m5373evb/u-boot.lds
index a2540bb..f3acfc7 100644
--- a/board/freescale/m5373evb/u-boot.lds
+++ b/board/freescale/m5373evb/u-boot.lds
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m54451evb/u-boot.spa b/board/freescale/m54451evb/u-boot.spa
index bd86a45..e1bacd3 100644
--- a/board/freescale/m54451evb/u-boot.spa
+++ b/board/freescale/m54451evb/u-boot.spa
@@ -141,6 +141,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m54451evb/u-boot.stm b/board/freescale/m54451evb/u-boot.stm
index e64a56c..1c6979f 100644
--- a/board/freescale/m54451evb/u-boot.stm
+++ b/board/freescale/m54451evb/u-boot.stm
@@ -144,6 +144,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m54455evb/u-boot.atm b/board/freescale/m54455evb/u-boot.atm
index ebf801a..cf4650e 100644
--- a/board/freescale/m54455evb/u-boot.atm
+++ b/board/freescale/m54455evb/u-boot.atm
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m54455evb/u-boot.int b/board/freescale/m54455evb/u-boot.int
index 153556f..79e64a2 100644
--- a/board/freescale/m54455evb/u-boot.int
+++ b/board/freescale/m54455evb/u-boot.int
@@ -135,6 +135,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m54455evb/u-boot.stm b/board/freescale/m54455evb/u-boot.stm
index 9cda102..46773d0 100644
--- a/board/freescale/m54455evb/u-boot.stm
+++ b/board/freescale/m54455evb/u-boot.stm
@@ -131,6 +131,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m547xevb/u-boot.lds b/board/freescale/m547xevb/u-boot.lds
index 54bf278..a4e4d5a 100644
--- a/board/freescale/m547xevb/u-boot.lds
+++ b/board/freescale/m547xevb/u-boot.lds
@@ -136,6 +136,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/m548xevb/u-boot.lds b/board/freescale/m548xevb/u-boot.lds
index 54bf278..a4e4d5a 100644
--- a/board/freescale/m548xevb/u-boot.lds
+++ b/board/freescale/m548xevb/u-boot.lds
@@ -136,6 +136,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds
index ecd9707..b081b21 100644
--- a/board/freescale/mx31ads/u-boot.lds
+++ b/board/freescale/mx31ads/u-boot.lds
@@ -66,5 +66,5 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.bss : { *(.bss) . = ALIGN(4); }
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/board/gaisler/gr_cpci_ax2000/u-boot.lds b/board/gaisler/gr_cpci_ax2000/u-boot.lds
index 2282682..87cb8e3 100644
--- a/board/gaisler/gr_cpci_ax2000/u-boot.lds
+++ b/board/gaisler/gr_cpci_ax2000/u-boot.lds
@@ -133,7 +133,7 @@ SECTIONS
 	. = ALIGN(16); /* to speed clearing of bss up */
 	}
 	__bss_end = . ;
-	_end = . ;
+	__bss_end__ = . ;
 	PROVIDE (end = .);
 
 /* Relocated into main memory */
diff --git a/board/gaisler/gr_ep2s60/u-boot.lds b/board/gaisler/gr_ep2s60/u-boot.lds
index 0ca2651..2fb44aa 100644
--- a/board/gaisler/gr_ep2s60/u-boot.lds
+++ b/board/gaisler/gr_ep2s60/u-boot.lds
@@ -133,7 +133,7 @@ SECTIONS
 	. = ALIGN(16); /* to speed clearing of bss up */
 	}
 	__bss_end = . ;
-	_end = . ;
+	__bss_end__ = . ;
 	PROVIDE (end = .);
 
 /* Relocated into main memory */
diff --git a/board/gaisler/gr_xc3s_1500/u-boot.lds b/board/gaisler/gr_xc3s_1500/u-boot.lds
index 67222ac..8719e97 100644
--- a/board/gaisler/gr_xc3s_1500/u-boot.lds
+++ b/board/gaisler/gr_xc3s_1500/u-boot.lds
@@ -134,7 +134,7 @@ SECTIONS
 	. = ALIGN(16); /* to speed clearing of bss up */
 	}
 	__bss_end = . ;
-	_end = . ;
+	__bss_end__ = . ;
 	PROVIDE (end = .);
 
 /* Relocated into main memory */
diff --git a/board/gaisler/grsim/u-boot.lds b/board/gaisler/grsim/u-boot.lds
index 681fd8d..33890b5 100644
--- a/board/gaisler/grsim/u-boot.lds
+++ b/board/gaisler/grsim/u-boot.lds
@@ -133,7 +133,7 @@ SECTIONS
 	. = ALIGN(16); /* to speed clearing of bss up */
 	}
 	__bss_end = . ;
-	_end = . ;
+	__bss_end__ = . ;
 	PROVIDE (end = .);
 
 /* Relocated into main memory */
diff --git a/board/gaisler/grsim_leon2/u-boot.lds b/board/gaisler/grsim_leon2/u-boot.lds
index a12e7fb..cf6e502 100644
--- a/board/gaisler/grsim_leon2/u-boot.lds
+++ b/board/gaisler/grsim_leon2/u-boot.lds
@@ -132,7 +132,7 @@ SECTIONS
 	. = ALIGN(16); /* to speed clearing of bss up */
 	}
 	__bss_end = . ;
-	_end = . ;
+	__bss_end__ = . ;
 	PROVIDE (end = .);
 
 /* Relocated into main memory */
diff --git a/board/gen860t/u-boot-flashenv.lds b/board/gen860t/u-boot-flashenv.lds
index cda6c47..5bb6c62 100644
--- a/board/gen860t/u-boot-flashenv.lds
+++ b/board/gen860t/u-boot-flashenv.lds
@@ -96,7 +96,7 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 
   .ppcenv:
diff --git a/board/gen860t/u-boot.lds b/board/gen860t/u-boot.lds
index 1729c17..8e854db 100644
--- a/board/gen860t/u-boot.lds
+++ b/board/gen860t/u-boot.lds
@@ -95,6 +95,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/genietv/u-boot.lds b/board/genietv/u-boot.lds
index 6b45ea0..3e396e4 100644
--- a/board/genietv/u-boot.lds
+++ b/board/genietv/u-boot.lds
@@ -109,6 +109,6 @@ SECTIONS
     common/env_embedded.o (.ppcenv)
   }
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/genietv/u-boot.lds.debug b/board/genietv/u-boot.lds.debug
index 60936aa..cfa4ef3 100644
--- a/board/genietv/u-boot.lds.debug
+++ b/board/genietv/u-boot.lds.debug
@@ -136,6 +136,6 @@ SECTIONS
   {
     common/env_embedded.o (.ppcenv)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/hermes/u-boot.lds b/board/hermes/u-boot.lds
index 456140d..d50c586 100644
--- a/board/hermes/u-boot.lds
+++ b/board/hermes/u-boot.lds
@@ -96,6 +96,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/hermes/u-boot.lds.debug b/board/hermes/u-boot.lds.debug
index 7038ebc..8a197de 100644
--- a/board/hermes/u-boot.lds.debug
+++ b/board/hermes/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds
index 0897715..1592f4f 100644
--- a/board/hymod/u-boot.lds
+++ b/board/hymod/u-boot.lds
@@ -140,6 +140,6 @@ SECTIONS
     common/env_embedded.o (.ppcenv)
   }
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/hymod/u-boot.lds.debug b/board/hymod/u-boot.lds.debug
index c218905..99c48f2 100644
--- a/board/hymod/u-boot.lds.debug
+++ b/board/hymod/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/icu862/u-boot.lds b/board/icu862/u-boot.lds
index 08dfaee..cb5afc1 100644
--- a/board/icu862/u-boot.lds
+++ b/board/icu862/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/icu862/u-boot.lds.debug b/board/icu862/u-boot.lds.debug
index 9c1e3ec..91d3e67 100644
--- a/board/icu862/u-boot.lds.debug
+++ b/board/icu862/u-boot.lds.debug
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/idmr/u-boot.lds b/board/idmr/u-boot.lds
index 9878ec1..e16a266 100644
--- a/board/idmr/u-boot.lds
+++ b/board/idmr/u-boot.lds
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/ip860/u-boot.lds
+++ b/board/ip860/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/ip860/u-boot.lds.debug b/board/ip860/u-boot.lds.debug
index 0c0bbb8..2f61b11 100644
--- a/board/ip860/u-boot.lds.debug
+++ b/board/ip860/u-boot.lds.debug
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds
index f4c6c98..ff7012a 100644
--- a/board/ivm/u-boot.lds
+++ b/board/ivm/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/ivm/u-boot.lds.debug b/board/ivm/u-boot.lds.debug
index 6bcf167..732a46f 100644
--- a/board/ivm/u-boot.lds.debug
+++ b/board/ivm/u-boot.lds.debug
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/jornada/u-boot.lds b/board/jornada/u-boot.lds
index de6101e..c75b21f 100644
--- a/board/jornada/u-boot.lds
+++ b/board/jornada/u-boot.lds
@@ -54,5 +54,5 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/board/korat/u-boot-F7FC.lds b/board/korat/u-boot-F7FC.lds
index 4d73180..6a017e3 100644
--- a/board/korat/u-boot-F7FC.lds
+++ b/board/korat/u-boot-F7FC.lds
@@ -135,6 +135,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/kup/kup4k/u-boot.lds
+++ b/board/kup/kup4k/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/kup/kup4k/u-boot.lds.debug b/board/kup/kup4k/u-boot.lds.debug
index a78d0b7..4491edd 100644
--- a/board/kup/kup4k/u-boot.lds.debug
+++ b/board/kup/kup4k/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/kup/kup4x/u-boot.lds b/board/kup/kup4x/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/kup/kup4x/u-boot.lds
+++ b/board/kup/kup4x/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/kup/kup4x/u-boot.lds.debug b/board/kup/kup4x/u-boot.lds.debug
index a78d0b7..4491edd 100644
--- a/board/kup/kup4x/u-boot.lds.debug
+++ b/board/kup/kup4x/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/lantec/u-boot.lds b/board/lantec/u-boot.lds
index 00af669..25e7a4d 100644
--- a/board/lantec/u-boot.lds
+++ b/board/lantec/u-boot.lds
@@ -99,6 +99,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/lantec/u-boot.lds.debug b/board/lantec/u-boot.lds.debug
index deea7e2..856a99b 100644
--- a/board/lantec/u-boot.lds.debug
+++ b/board/lantec/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds
index dd9be60..d02db17 100644
--- a/board/lwmon/u-boot.lds
+++ b/board/lwmon/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/lwmon/u-boot.lds.debug b/board/lwmon/u-boot.lds.debug
index 131ad23..2412234 100644
--- a/board/lwmon/u-boot.lds.debug
+++ b/board/lwmon/u-boot.lds.debug
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/manroland/uc100/u-boot.lds b/board/manroland/uc100/u-boot.lds
index dc83071..344cbde 100644
--- a/board/manroland/uc100/u-boot.lds
+++ b/board/manroland/uc100/u-boot.lds
@@ -93,6 +93,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/matrix_vision/mvsmr/u-boot.lds b/board/matrix_vision/mvsmr/u-boot.lds
index 074a482..f3d01e7 100644
--- a/board/matrix_vision/mvsmr/u-boot.lds
+++ b/board/matrix_vision/mvsmr/u-boot.lds
@@ -97,6 +97,6 @@ SECTIONS
    *(.sbss*)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/mbx8xx/u-boot.lds b/board/mbx8xx/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/mbx8xx/u-boot.lds
+++ b/board/mbx8xx/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/mbx8xx/u-boot.lds.debug b/board/mbx8xx/u-boot.lds.debug
index a7a67a9..a95c47f 100644
--- a/board/mbx8xx/u-boot.lds.debug
+++ b/board/mbx8xx/u-boot.lds.debug
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/mercury/mpq101/u-boot.lds b/board/mercury/mpq101/u-boot.lds
index 4f4dda5..f497a63 100644
--- a/board/mercury/mpq101/u-boot.lds
+++ b/board/mercury/mpq101/u-boot.lds
@@ -127,6 +127,6 @@ SECTIONS
   } :bss
 
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/mimc/mimc200/u-boot.lds b/board/mimc/mimc200/u-boot.lds
index a7243f2..0a1a8e1 100644
--- a/board/mimc/mimc200/u-boot.lds
+++ b/board/mimc/mimc200/u-boot.lds
@@ -68,5 +68,5 @@ SECTIONS
 		*(.bss.*)
 	}
 	. = ALIGN(8);
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/board/miromico/hammerhead/u-boot.lds b/board/miromico/hammerhead/u-boot.lds
index a7243f2..0a1a8e1 100644
--- a/board/miromico/hammerhead/u-boot.lds
+++ b/board/miromico/hammerhead/u-boot.lds
@@ -68,5 +68,5 @@ SECTIONS
 		*(.bss.*)
 	}
 	. = ALIGN(8);
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/board/ml2/u-boot.lds b/board/ml2/u-boot.lds
index b6c0715..0f2593d 100644
--- a/board/ml2/u-boot.lds
+++ b/board/ml2/u-boot.lds
@@ -88,6 +88,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/ml2/u-boot.lds.debug b/board/ml2/u-boot.lds.debug
index 0e9cdcf..fcf8ebb 100644
--- a/board/ml2/u-boot.lds.debug
+++ b/board/ml2/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/mousse/u-boot.lds b/board/mousse/u-boot.lds
index 4cfb95c..ef73e2b 100644
--- a/board/mousse/u-boot.lds
+++ b/board/mousse/u-boot.lds
@@ -85,6 +85,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/mousse/u-boot.lds.ram b/board/mousse/u-boot.lds.ram
index 449d064..b3364be 100644
--- a/board/mousse/u-boot.lds.ram
+++ b/board/mousse/u-boot.lds.ram
@@ -99,6 +99,6 @@ SECTIONS
     common/env_embedded.o (.ppcenv)
   } > ram
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/mousse/u-boot.lds.rom b/board/mousse/u-boot.lds.rom
index 4f42b32..b4b9e02 100644
--- a/board/mousse/u-boot.lds.rom
+++ b/board/mousse/u-boot.lds.rom
@@ -126,6 +126,6 @@ SECTIONS
    *(COMMON)
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/mpl/pip405/u-boot.lds.debug b/board/mpl/pip405/u-boot.lds.debug
index 0e9cdcf..fcf8ebb 100644
--- a/board/mpl/pip405/u-boot.lds.debug
+++ b/board/mpl/pip405/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/munices/u-boot.lds b/board/munices/u-boot.lds
index 4e27bc9..99576bf 100644
--- a/board/munices/u-boot.lds
+++ b/board/munices/u-boot.lds
@@ -115,6 +115,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/mvblue/u-boot.lds b/board/mvblue/u-boot.lds
index ad06af0..03ba155 100644
--- a/board/mvblue/u-boot.lds
+++ b/board/mvblue/u-boot.lds
@@ -94,6 +94,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/netphone/u-boot.lds b/board/netphone/u-boot.lds
index 684ab81..b7b6c1a 100644
--- a/board/netphone/u-boot.lds
+++ b/board/netphone/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/netphone/u-boot.lds.debug b/board/netphone/u-boot.lds.debug
index df7b6ad..a001f3f 100644
--- a/board/netphone/u-boot.lds.debug
+++ b/board/netphone/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/netta/u-boot.lds b/board/netta/u-boot.lds
index 684ab81..b7b6c1a 100644
--- a/board/netta/u-boot.lds
+++ b/board/netta/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/netta/u-boot.lds.debug b/board/netta/u-boot.lds.debug
index df7b6ad..a001f3f 100644
--- a/board/netta/u-boot.lds.debug
+++ b/board/netta/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/netta2/u-boot.lds b/board/netta2/u-boot.lds
index 684ab81..b7b6c1a 100644
--- a/board/netta2/u-boot.lds
+++ b/board/netta2/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/netta2/u-boot.lds.debug b/board/netta2/u-boot.lds.debug
index df7b6ad..a001f3f 100644
--- a/board/netta2/u-boot.lds.debug
+++ b/board/netta2/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds
index 684ab81..b7b6c1a 100644
--- a/board/netvia/u-boot.lds
+++ b/board/netvia/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/netvia/u-boot.lds.debug b/board/netvia/u-boot.lds.debug
index 58202dc..6c7d698 100644
--- a/board/netvia/u-boot.lds.debug
+++ b/board/netvia/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/nx823/u-boot.lds b/board/nx823/u-boot.lds
index 4a96388..2fac727 100644
--- a/board/nx823/u-boot.lds
+++ b/board/nx823/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/nx823/u-boot.lds.debug b/board/nx823/u-boot.lds.debug
index 99098bf..c771102 100644
--- a/board/nx823/u-boot.lds.debug
+++ b/board/nx823/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/quantum/u-boot.lds b/board/quantum/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/quantum/u-boot.lds
+++ b/board/quantum/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/quantum/u-boot.lds.debug b/board/quantum/u-boot.lds.debug
index f212fab..abc4640 100644
--- a/board/quantum/u-boot.lds.debug
+++ b/board/quantum/u-boot.lds.debug
@@ -125,6 +125,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/r360mpi/u-boot.lds b/board/r360mpi/u-boot.lds
index a18c515..60b3cbf 100644
--- a/board/r360mpi/u-boot.lds
+++ b/board/r360mpi/u-boot.lds
@@ -92,7 +92,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
   . = ALIGN(128 * 1024);
   .ppcenv	:
diff --git a/board/rbc823/u-boot.lds b/board/rbc823/u-boot.lds
index 77f592e..7b790ab 100644
--- a/board/rbc823/u-boot.lds
+++ b/board/rbc823/u-boot.lds
@@ -100,6 +100,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/renesas/sh7757lcr/u-boot.lds b/board/renesas/sh7757lcr/u-boot.lds
index a88d781..790b5b8 100644
--- a/board/renesas/sh7757lcr/u-boot.lds
+++ b/board/renesas/sh7757lcr/u-boot.lds
@@ -97,5 +97,5 @@ SECTIONS
 	}
 	PROVIDE (bss_end = .);
 
-	PROVIDE (_end = .);
+	PROVIDE (__bss_end__ = .);
 }
diff --git a/board/rmu/u-boot.lds b/board/rmu/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/rmu/u-boot.lds
+++ b/board/rmu/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/rmu/u-boot.lds.debug b/board/rmu/u-boot.lds.debug
index f212fab..abc4640 100644
--- a/board/rmu/u-boot.lds.debug
+++ b/board/rmu/u-boot.lds.debug
@@ -125,6 +125,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/rsdproto/u-boot.lds b/board/rsdproto/u-boot.lds
index 7763c7f..b36047a 100644
--- a/board/rsdproto/u-boot.lds
+++ b/board/rsdproto/u-boot.lds
@@ -122,6 +122,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/samsung/smdk6400/u-boot-nand.lds b/board/samsung/smdk6400/u-boot-nand.lds
index 29a4f61..975601b 100644
--- a/board/samsung/smdk6400/u-boot-nand.lds
+++ b/board/samsung/smdk6400/u-boot-nand.lds
@@ -58,5 +58,5 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.bss : { *(.bss) . = ALIGN(4); }
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/board/sandburst/karef/u-boot.lds.debug b/board/sandburst/karef/u-boot.lds.debug
index 6b31b1e..31746e3 100644
--- a/board/sandburst/karef/u-boot.lds.debug
+++ b/board/sandburst/karef/u-boot.lds.debug
@@ -139,6 +139,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/sandburst/metrobox/u-boot.lds.debug b/board/sandburst/metrobox/u-boot.lds.debug
index 2fb3ad9..4922bd2 100644
--- a/board/sandburst/metrobox/u-boot.lds.debug
+++ b/board/sandburst/metrobox/u-boot.lds.debug
@@ -139,6 +139,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/sandpoint/u-boot.lds b/board/sandpoint/u-boot.lds
index 59c8627..841a29b 100644
--- a/board/sandpoint/u-boot.lds
+++ b/board/sandpoint/u-boot.lds
@@ -92,6 +92,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/sc3/u-boot.lds b/board/sc3/u-boot.lds
index 9b1a39b..2cbbca5 100644
--- a/board/sc3/u-boot.lds
+++ b/board/sc3/u-boot.lds
@@ -142,6 +142,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/siemens/IAD210/u-boot.lds b/board/siemens/IAD210/u-boot.lds
index 0514f5a..725bef8 100644
--- a/board/siemens/IAD210/u-boot.lds
+++ b/board/siemens/IAD210/u-boot.lds
@@ -99,6 +99,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/sixnet/u-boot.lds b/board/sixnet/u-boot.lds
index b4c7a0e..2711f2c 100644
--- a/board/sixnet/u-boot.lds
+++ b/board/sixnet/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/snmc/qs850/u-boot.lds b/board/snmc/qs850/u-boot.lds
index f8c50cb..007ae00 100644
--- a/board/snmc/qs850/u-boot.lds
+++ b/board/snmc/qs850/u-boot.lds
@@ -93,6 +93,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/snmc/qs860t/u-boot.lds b/board/snmc/qs860t/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/snmc/qs860t/u-boot.lds
+++ b/board/snmc/qs860t/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/spc1920/u-boot.lds b/board/spc1920/u-boot.lds
index fbd901a..05cc233 100644
--- a/board/spc1920/u-boot.lds
+++ b/board/spc1920/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/spd8xx/u-boot.lds b/board/spd8xx/u-boot.lds
index b9dd8b7..796c283 100644
--- a/board/spd8xx/u-boot.lds
+++ b/board/spd8xx/u-boot.lds
@@ -100,6 +100,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/spd8xx/u-boot.lds.debug b/board/spd8xx/u-boot.lds.debug
index a7a67a9..a95c47f 100644
--- a/board/spd8xx/u-boot.lds.debug
+++ b/board/spd8xx/u-boot.lds.debug
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/stx/stxxtc/u-boot.lds b/board/stx/stxxtc/u-boot.lds
index 684ab81..b7b6c1a 100644
--- a/board/stx/stxxtc/u-boot.lds
+++ b/board/stx/stxxtc/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/stx/stxxtc/u-boot.lds.debug b/board/stx/stxxtc/u-boot.lds.debug
index df7b6ad..a001f3f 100644
--- a/board/stx/stxxtc/u-boot.lds.debug
+++ b/board/stx/stxxtc/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/svm_sc8xx/u-boot.lds b/board/svm_sc8xx/u-boot.lds
index 6ff4d8c..c4ce968 100644
--- a/board/svm_sc8xx/u-boot.lds
+++ b/board/svm_sc8xx/u-boot.lds
@@ -107,6 +107,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/svm_sc8xx/u-boot.lds.debug b/board/svm_sc8xx/u-boot.lds.debug
index f212fab..abc4640 100644
--- a/board/svm_sc8xx/u-boot.lds.debug
+++ b/board/svm_sc8xx/u-boot.lds.debug
@@ -125,6 +125,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/tqc/tqm8xx/u-boot.lds b/board/tqc/tqm8xx/u-boot.lds
index 209d1e0..83a09b0 100644
--- a/board/tqc/tqm8xx/u-boot.lds
+++ b/board/tqc/tqm8xx/u-boot.lds
@@ -106,6 +106,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/tqc/tqm8xx/u-boot.lds.debug b/board/tqc/tqm8xx/u-boot.lds.debug
index c218905..99c48f2 100644
--- a/board/tqc/tqm8xx/u-boot.lds.debug
+++ b/board/tqc/tqm8xx/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/trab/u-boot.lds b/board/trab/u-boot.lds
index cd50e85..4594401 100644
--- a/board/trab/u-boot.lds
+++ b/board/trab/u-boot.lds
@@ -60,5 +60,5 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/board/v37/u-boot.lds b/board/v37/u-boot.lds
index 9f36f53..578a49b 100644
--- a/board/v37/u-boot.lds
+++ b/board/v37/u-boot.lds
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/w7o/u-boot.lds.debug b/board/w7o/u-boot.lds.debug
index 5ff67d1..1c67b30 100644
--- a/board/w7o/u-boot.lds.debug
+++ b/board/w7o/u-boot.lds.debug
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/westel/amx860/u-boot.lds b/board/westel/amx860/u-boot.lds
index 206ec70..3514a66 100644
--- a/board/westel/amx860/u-boot.lds
+++ b/board/westel/amx860/u-boot.lds
@@ -99,6 +99,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/westel/amx860/u-boot.lds.debug b/board/westel/amx860/u-boot.lds.debug
index 9c1e3ec..91d3e67 100644
--- a/board/westel/amx860/u-boot.lds.debug
+++ b/board/westel/amx860/u-boot.lds.debug
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/xes/xpedite1000/u-boot.lds.debug b/board/xes/xpedite1000/u-boot.lds.debug
index a747578..e2e66ae 100644
--- a/board/xes/xpedite1000/u-boot.lds.debug
+++ b/board/xes/xpedite1000/u-boot.lds.debug
@@ -135,6 +135,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
diff --git a/board/zipitz2/u-boot.lds b/board/zipitz2/u-boot.lds
index fb4358b..e1a1ff1 100644
--- a/board/zipitz2/u-boot.lds
+++ b/board/zipitz2/u-boot.lds
@@ -52,5 +52,5 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/examples/standalone/mips.lds b/examples/standalone/mips.lds
index 63a1c92..68ae217 100644
--- a/examples/standalone/mips.lds
+++ b/examples/standalone/mips.lds
@@ -55,5 +55,5 @@ SECTIONS
 	.sbss (NOLOAD) : { *(.sbss) }
 	.bss (NOLOAD)  : { *(.bss) . = ALIGN(4); }
 
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/examples/standalone/sparc.lds b/examples/standalone/sparc.lds
index 9733daa..7f060b6 100644
--- a/examples/standalone/sparc.lds
+++ b/examples/standalone/sparc.lds
@@ -57,5 +57,5 @@ SECTIONS
 	}
 	. = ALIGN(4);
 	__bss_end = .;
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c
index 2d2e709..1379df7 100644
--- a/examples/standalone/stubs.c
+++ b/examples/standalone/stubs.c
@@ -187,14 +187,14 @@ void __attribute__((unused)) dummy(void)
 #include <_exports.h>
 }
 
-extern unsigned long __bss_start, _end;
+extern unsigned long __bss_start, __bss_end__;
 
 void app_startup(char * const *argv)
 {
 	unsigned char * cp = (unsigned char *) &__bss_start;
 
 	/* Zero out BSS */
-	while (cp < (unsigned char *)&_end) {
+	while (cp < (unsigned char *)&__bss_end__) {
 		*cp++ = 0;
 	}
 
diff --git a/nand_spl/board/amcc/acadia/u-boot.lds b/nand_spl/board/amcc/acadia/u-boot.lds
index 5695465..44a6f81 100644
--- a/nand_spl/board/amcc/acadia/u-boot.lds
+++ b/nand_spl/board/amcc/acadia/u-boot.lds
@@ -60,5 +60,5 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
 }
diff --git a/nand_spl/board/amcc/bamboo/u-boot.lds b/nand_spl/board/amcc/bamboo/u-boot.lds
index 8a9e6e9..d4ea67a 100644
--- a/nand_spl/board/amcc/bamboo/u-boot.lds
+++ b/nand_spl/board/amcc/bamboo/u-boot.lds
@@ -62,5 +62,5 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
 }
diff --git a/nand_spl/board/amcc/canyonlands/u-boot.lds b/nand_spl/board/amcc/canyonlands/u-boot.lds
index 73190cd..794f041 100644
--- a/nand_spl/board/amcc/canyonlands/u-boot.lds
+++ b/nand_spl/board/amcc/canyonlands/u-boot.lds
@@ -62,5 +62,5 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
 }
diff --git a/nand_spl/board/amcc/kilauea/u-boot.lds b/nand_spl/board/amcc/kilauea/u-boot.lds
index 9894a10..4e860ad 100644
--- a/nand_spl/board/amcc/kilauea/u-boot.lds
+++ b/nand_spl/board/amcc/kilauea/u-boot.lds
@@ -60,5 +60,5 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
 }
diff --git a/nand_spl/board/amcc/sequoia/u-boot.lds b/nand_spl/board/amcc/sequoia/u-boot.lds
index c81ce68..8ff6ac5 100644
--- a/nand_spl/board/amcc/sequoia/u-boot.lds
+++ b/nand_spl/board/amcc/sequoia/u-boot.lds
@@ -62,5 +62,5 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
 }
diff --git a/nand_spl/board/davinci/da8xxevm/u-boot.lds b/nand_spl/board/davinci/da8xxevm/u-boot.lds
index f6ccf08..c86117b 100644
--- a/nand_spl/board/davinci/da8xxevm/u-boot.lds
+++ b/nand_spl/board/davinci/da8xxevm/u-boot.lds
@@ -71,5 +71,5 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.bss : { *(.bss) }
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/nand_spl/board/freescale/mpc8313erdb/u-boot.lds b/nand_spl/board/freescale/mpc8313erdb/u-boot.lds
index f1649f8..d140453 100644
--- a/nand_spl/board/freescale/mpc8313erdb/u-boot.lds
+++ b/nand_spl/board/freescale/mpc8313erdb/u-boot.lds
@@ -49,7 +49,7 @@ SECTIONS
 	.bss (NOLOAD) : {
 		*(.*bss)
 	}
-	_end = .;
+	__bss_end__ = .;
 }
 ENTRY(_start)
-ASSERT(_end <= 0xfff01000, "NAND bootstrap too big");
+ASSERT(__bss_end__ <= 0xfff01000, "NAND bootstrap too big");
diff --git a/nand_spl/board/freescale/mpc8315erdb/u-boot.lds b/nand_spl/board/freescale/mpc8315erdb/u-boot.lds
index f1649f8..d140453 100644
--- a/nand_spl/board/freescale/mpc8315erdb/u-boot.lds
+++ b/nand_spl/board/freescale/mpc8315erdb/u-boot.lds
@@ -49,7 +49,7 @@ SECTIONS
 	.bss (NOLOAD) : {
 		*(.*bss)
 	}
-	_end = .;
+	__bss_end__ = .;
 }
 ENTRY(_start)
-ASSERT(_end <= 0xfff01000, "NAND bootstrap too big");
+ASSERT(__bss_end__ <= 0xfff01000, "NAND bootstrap too big");
diff --git a/nand_spl/board/freescale/mx31pdk/u-boot.lds b/nand_spl/board/freescale/mx31pdk/u-boot.lds
index ff289fb..324a932 100644
--- a/nand_spl/board/freescale/mx31pdk/u-boot.lds
+++ b/nand_spl/board/freescale/mx31pdk/u-boot.lds
@@ -67,7 +67,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.bss*) }
diff --git a/nand_spl/board/karo/tx25/u-boot.lds b/nand_spl/board/karo/tx25/u-boot.lds
index ff289fb..324a932 100644
--- a/nand_spl/board/karo/tx25/u-boot.lds
+++ b/nand_spl/board/karo/tx25/u-boot.lds
@@ -67,7 +67,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		 . = ALIGN(4);
-		_end = .;
+		__bss_end__ = .;
 	}
 
 	/DISCARD/ : { *(.bss*) }
diff --git a/nand_spl/board/samsung/smdk6400/u-boot.lds b/nand_spl/board/samsung/smdk6400/u-boot.lds
index 3ac6aa1..4cb686c 100644
--- a/nand_spl/board/samsung/smdk6400/u-boot.lds
+++ b/nand_spl/board/samsung/smdk6400/u-boot.lds
@@ -57,5 +57,5 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.bss : { *(.bss) . = ALIGN(4); }
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/nand_spl/board/sheldon/simpc8313/u-boot.lds b/nand_spl/board/sheldon/simpc8313/u-boot.lds
index 1da4287..534a0c8 100644
--- a/nand_spl/board/sheldon/simpc8313/u-boot.lds
+++ b/nand_spl/board/sheldon/simpc8313/u-boot.lds
@@ -48,7 +48,7 @@ SECTIONS
 	. = ALIGN(8);
 	__bss_start = .;
 	.bss (NOLOAD) : { *(.*bss) }
-	_end = .;
+	__bss_end__ = .;
 }
 ENTRY(_start)
-ASSERT(_end <= 0xfff01000, "NAND bootstrap too big");
+ASSERT(__bss_end__ <= 0xfff01000, "NAND bootstrap too big");
diff --git a/onenand_ipl/board/apollon/u-boot.onenand.lds b/onenand_ipl/board/apollon/u-boot.onenand.lds
index 0960c12..721d2f5 100644
--- a/onenand_ipl/board/apollon/u-boot.onenand.lds
+++ b/onenand_ipl/board/apollon/u-boot.onenand.lds
@@ -49,5 +49,5 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.bss : { *(.bss) . = ALIGN(4); }
-	_end = .;
+	__bss_end__ = .;
 }
diff --git a/onenand_ipl/board/vpac270/u-boot.onenand.lds b/onenand_ipl/board/vpac270/u-boot.onenand.lds
index b2e7557..b5b2646 100644
--- a/onenand_ipl/board/vpac270/u-boot.onenand.lds
+++ b/onenand_ipl/board/vpac270/u-boot.onenand.lds
@@ -47,5 +47,5 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.bss : { *(.bss) . = ALIGN(4); }
-	_end = .;
+	__bss_end__ = .;
 }
-- 
1.6.3.3

^ permalink raw reply related

* Re: [PATCH] remove compaction from kswapd
From: Andrea Arcangeli @ 2011-03-02  5:52 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Minchan Kim, Mel Gorman, Johannes Weiner, linux-mm
In-Reply-To: <20110301205324.f0daaf86.akpm@linux-foundation.org>

On Tue, Mar 01, 2011 at 08:53:24PM -0800, Andrew Morton wrote:
> The original patch description didn't explain this.

Right, I should have added one line saying it was a revert of commit
5a03b051ed87e72b959f32a86054e1142ac4cf55 sorry. Mel knew it well, I
thought it was well known but it was better to specify it.

Minchan also noted I didn't remove compact_mode from the
compact_control structure but that's entirely harmless.

All we need is to run `git show
5a03b051ed87e72b959f32a86054e1142ac4cf55|patch -p1 -R` except it's not
going to apply clean so I had to create a patch for that.

> And no patch is "zero risk", especially at -rc6.

Well sure, but I see little chance for this to give unexpected
troubles (also CONFIG_COMPACTION remains an option default to N).

> And we have no useful information about benchmark results.

I've been discussing with Mel to write a simulator with some dummy
kernel module that floods the kernel with order 2 allocations. We need
that before we can try to readd this. So we can have real sure
benchmarks and we can reproduce easily. The multimedia setup and the
network jumbo frame benchmarks are not the simplest way to reproduce.

> What change?  Commit ID?  What testing returned -EFAIL?  That's
> different from slower benchmark results.

I meant testing showed a definitive regression on two absolutely
different workload (but that they both had compound allocation in
drivers, and both bisected down to that specific compaction-kswapd
code), no syscall really returned -EFAULT. I posted commit id above.

> *What* two patches???  I don't have a clue which patches you're referring to. 
> Patches have names, please use them.

These are the other two patches that are needed for both workloads to
be better than before.

mm-compaction-minimise-the-time-irqs-are-disabled-while-isolating-pages-for-migration
mm-compaction-minimise-the-time-irqs-are-disabled-while-isolating-free-pages

These two are important too because even the NMI watchdog triggered
once without these. But this irq latency problem in compaction was
shown by commit 5a03b051ed87e72b959f32a86054e1142ac4cf55 that made
compaction run too much. These are separate problems.

> This is just hopeless.  Please, just send the thing again and this time
> include a *full* description of what it does and why it does it.

Ok the thing is I'm being quite busy and wifi coverage isn't full, I'm
writing this in some lobby where I pick up the connection, but I tried
to get it submitted anyway because I liked to revert the feature ASAP
as I didn't want to risk regressions because of this one. I'll give it
another shot now, but if it isn't ok let me know and I'll try again
tomorrow afternoon. (also note this isn't related to THP, THP uses
__GFP_NO_KSWAPD, it's for the other users of compound pages). This is
one case where we thought it was a good idea, but in practice it
didn't payoff the way we thought.

I initially asked Mel to submit the patch as I hoped he had more time
than me this week, but he suggested me to send it, so I did. But I
didn't intend to cause this confusion, sorry Andrew!

My rationale is that even assuming the benchmarking is absolutely
wrong and commit 5a03b051ed87e72b959f32a86054e1142ac4cf55 improved
latency and througput (almost impossible considering that two people
running different workloads sent me bugreports bisecting down to that
exact same commit showing both bad irq latencies showing kswapd
overwork in the profiling or top) to me it's still safer to revert it
in doubt (considering it's not very important) and re-evaluate it
fully for 2.6.39. This is really all about going safe. This is about
not risking to introduce a regression. Unfortunately it was reported
only late that this patch caused trouble, if they reported it before I
would have never submitted commit
5a03b051ed87e72b959f32a86054e1142ac4cf55 in the first place.

I still hope we can find with Mel, Minchan and everyone else a better
logic to run compaction from kswapd without creating an overload
later. My improved logic already works almost as good as reverting the
feature, but it's still not as fast as with the below applied (close
enough though). I'm not sending the "improved" version exactly because
I don't want risk and it's not yet "faster" than the below. So I
surely prefer the backout for 2.6.38.

===
Subject: compaction: fix high compaction latencies and remove compaction-kswapd

From: Andrea Arcangeli <aarcange@redhat.com>

This reverts commit 5a03b051ed87e72b959f32a86054e1142ac4cf55 which is causing
latency problems and higher kswapd cpu utilization. Reverting that commit that
adds the compaction-in-kswapd feature is safer than trying to fix it to return
to 2.6.37 status.

NOTE: this is not related to THP (THP allocations uses __GFP_NO_KSWAPD), this
is only related to frequent and small order allocations that make kswapd go
wild with compaction.

v2: removed compact_mode from compact_control (noticed by Minchan Kim).

Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
---
 include/linux/compaction.h |    9 ++-------
 mm/compaction.c            |   42 +++++++++++++++++++++---------------------
 mm/vmscan.c                |   18 +-----------------
 3 files changed, 24 insertions(+), 45 deletions(-)

--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -42,8 +42,6 @@ struct compact_control {
 	unsigned int order;		/* order a direct compactor needs */
 	int migratetype;		/* MOVABLE, RECLAIMABLE etc */
 	struct zone *zone;
-
-	int compact_mode;
 };
 
 static unsigned long release_freepages(struct list_head *freelist)
@@ -279,9 +277,27 @@ static unsigned long isolate_migratepage
 	}
 
 	/* Time to isolate some pages for migration */
+	cond_resched();
 	spin_lock_irq(&zone->lru_lock);
 	for (; low_pfn < end_pfn; low_pfn++) {
 		struct page *page;
+		int unlocked = 0;
+
+		/* give a chance to irqs before checking need_resched() */
+		if (!((low_pfn+1) % SWAP_CLUSTER_MAX)) {
+			spin_unlock_irq(&zone->lru_lock);
+			unlocked = 1;
+		}
+		if (need_resched() || spin_is_contended(&zone->lru_lock)) {
+			if (!unlocked)
+				spin_unlock_irq(&zone->lru_lock);
+			cond_resched();
+			spin_lock_irq(&zone->lru_lock);
+			if (fatal_signal_pending(current))
+				break;
+		} else if (unlocked)
+			spin_lock_irq(&zone->lru_lock);
+
 		if (!pfn_valid_within(low_pfn))
 			continue;
 		nr_scanned++;
@@ -405,10 +421,7 @@ static int compact_finished(struct zone 
 		return COMPACT_COMPLETE;
 
 	/* Compaction run is not finished if the watermark is not met */
-	if (cc->compact_mode != COMPACT_MODE_KSWAPD)
-		watermark = low_wmark_pages(zone);
-	else
-		watermark = high_wmark_pages(zone);
+	watermark = low_wmark_pages(zone);
 	watermark += (1 << cc->order);
 
 	if (!zone_watermark_ok(zone, cc->order, watermark, 0, 0))
@@ -421,15 +434,6 @@ static int compact_finished(struct zone 
 	if (cc->order == -1)
 		return COMPACT_CONTINUE;
 
-	/*
-	 * Generating only one page of the right order is not enough
-	 * for kswapd, we must continue until we're above the high
-	 * watermark as a pool for high order GFP_ATOMIC allocations
-	 * too.
-	 */
-	if (cc->compact_mode == COMPACT_MODE_KSWAPD)
-		return COMPACT_CONTINUE;
-
 	/* Direct compactor: Is a suitable page free? */
 	for (order = cc->order; order < MAX_ORDER; order++) {
 		/* Job done if page is free of the right migratetype */
@@ -551,8 +555,7 @@ static int compact_zone(struct zone *zon
 
 unsigned long compact_zone_order(struct zone *zone,
 				 int order, gfp_t gfp_mask,
-				 bool sync,
-				 int compact_mode)
+				 bool sync)
 {
 	struct compact_control cc = {
 		.nr_freepages = 0,
@@ -561,7 +564,6 @@ unsigned long compact_zone_order(struct 
 		.migratetype = allocflags_to_migratetype(gfp_mask),
 		.zone = zone,
 		.sync = sync,
-		.compact_mode = compact_mode,
 	};
 	INIT_LIST_HEAD(&cc.freepages);
 	INIT_LIST_HEAD(&cc.migratepages);
@@ -607,8 +609,7 @@ unsigned long try_to_compact_pages(struc
 								nodemask) {
 		int status;
 
-		status = compact_zone_order(zone, order, gfp_mask, sync,
-					    COMPACT_MODE_DIRECT_RECLAIM);
+		status = compact_zone_order(zone, order, gfp_mask, sync);
 		rc = max(status, rc);
 
 		/* If a normal allocation would succeed, stop compacting */
@@ -639,7 +640,6 @@ static int compact_node(int nid)
 			.nr_freepages = 0,
 			.nr_migratepages = 0,
 			.order = -1,
-			.compact_mode = COMPACT_MODE_DIRECT_RECLAIM,
 		};
 
 		zone = &pgdat->node_zones[zoneid];
--- a/include/linux/compaction.h
+++ b/include/linux/compaction.h
@@ -11,9 +11,6 @@
 /* The full zone was compacted */
 #define COMPACT_COMPLETE	3
 
-#define COMPACT_MODE_DIRECT_RECLAIM	0
-#define COMPACT_MODE_KSWAPD		1
-
 #ifdef CONFIG_COMPACTION
 extern int sysctl_compact_memory;
 extern int sysctl_compaction_handler(struct ctl_table *table, int write,
@@ -28,8 +25,7 @@ extern unsigned long try_to_compact_page
 			bool sync);
 extern unsigned long compaction_suitable(struct zone *zone, int order);
 extern unsigned long compact_zone_order(struct zone *zone, int order,
-					gfp_t gfp_mask, bool sync,
-					int compact_mode);
+					gfp_t gfp_mask, bool sync);
 
 /* Do not skip compaction more than 64 times */
 #define COMPACT_MAX_DEFER_SHIFT 6
@@ -74,8 +70,7 @@ static inline unsigned long compaction_s
 }
 
 static inline unsigned long compact_zone_order(struct zone *zone, int order,
-					       gfp_t gfp_mask, bool sync,
-					       int compact_mode)
+					       gfp_t gfp_mask, bool sync)
 {
 	return COMPACT_CONTINUE;
 }
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2397,7 +2397,6 @@ loop_again:
 		 * cause too much scanning of the lower zones.
 		 */
 		for (i = 0; i <= end_zone; i++) {
-			int compaction;
 			struct zone *zone = pgdat->node_zones + i;
 			int nr_slab;
 			unsigned long balance_gap;
@@ -2438,24 +2437,9 @@ loop_again:
 			sc.nr_reclaimed += reclaim_state->reclaimed_slab;
 			total_scanned += sc.nr_scanned;
 
-			compaction = 0;
-			if (order &&
-			    zone_watermark_ok(zone, 0,
-					       high_wmark_pages(zone),
-					      end_zone, 0) &&
-			    !zone_watermark_ok(zone, order,
-					       high_wmark_pages(zone),
-					       end_zone, 0)) {
-				compact_zone_order(zone,
-						   order,
-						   sc.gfp_mask, false,
-						   COMPACT_MODE_KSWAPD);
-				compaction = 1;
-			}
-
 			if (zone->all_unreclaimable)
 				continue;
-			if (!compaction && nr_slab == 0 &&
+			if (nr_slab == 0 &&
 			    !zone_reclaimable(zone))
 				zone->all_unreclaimable = 1;
 			/*

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply

* [PATCH 2/2] drm/i915: Don't save/restore hardware status page address register
From: Zhenyu Wang @ 2011-03-02  5:52 UTC (permalink / raw)
  To: intel-gfx
In-Reply-To: <1299045157-31558-1-git-send-email-zhenyuw@linux.intel.com>

It's cleaned before saving and re-initialized after restoring.
So don't need to save/restore it. And also new chip has new address
for hardware status page register, don't write to old address.

Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_suspend.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
index 0521ecf..2f6c061 100644
--- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -797,9 +797,6 @@ int i915_save_state(struct drm_device *dev)
 
 	pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB);
 
-	/* Hardware status page */
-	dev_priv->saveHWS = I915_READ(HWS_PGA);
-
 	i915_save_display(dev);
 
 	/* Interrupt state */
@@ -846,9 +843,6 @@ int i915_restore_state(struct drm_device *dev)
 
 	pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB);
 
-	/* Hardware status page */
-	I915_WRITE(HWS_PGA, dev_priv->saveHWS);
-
 	i915_restore_display(dev);
 
 	/* Interrupt state */
-- 
1.7.1

^ permalink raw reply related


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.