All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts
@ 2011-11-21 20:49 Simon Glass
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 1/7] Allow arch directory to contain .lds without requiring Makefile Simon Glass
                   ` (8 more replies)
  0 siblings, 9 replies; 18+ messages in thread
From: Simon Glass @ 2011-11-21 20:49 UTC (permalink / raw)
  To: u-boot

The ARM link scripts are very similar but each CPU has its own. This
series adds support for a default link script across an architecture
in arch/<arch>/cpu/u-boot.lds.

It is then possible to remove most of the ARM link scripts. This will
make it easier to maintain these.

Changes in v2:
- Add a comment explaining all the ldscript checks
- Remove ziptz2 link script also as it breaks the build
- Make this change in spl/Makefile also

Simon Glass (7):
  Allow arch directory to contain .lds without requiring Makefile
  arm: Remove jornada link script
  arm: Remove zipitz2 link script
  Define CPUDIR for the .lds link script
  arm: Remove unneeded setting of LDCSRIPT
  arm: add a common .lds link script
  arm: Use common .lds file where possible

 Makefile                            |   11 ++++-
 arch/arm/config.mk                  |    7 ---
 arch/arm/cpu/arm1136/u-boot.lds     |   89 -----------------------------------
 arch/arm/cpu/arm1176/u-boot.lds     |   78 ------------------------------
 arch/arm/cpu/arm720t/u-boot.lds     |   79 -------------------------------
 arch/arm/cpu/arm920t/u-boot.lds     |   88 ----------------------------------
 arch/arm/cpu/arm925t/u-boot.lds     |   83 --------------------------------
 arch/arm/cpu/arm926ejs/u-boot.lds   |   80 -------------------------------
 arch/arm/cpu/arm946es/u-boot.lds    |   80 -------------------------------
 arch/arm/cpu/arm_intcm/u-boot.lds   |   80 -------------------------------
 arch/arm/cpu/lh7a40x/u-boot.lds     |   80 -------------------------------
 arch/arm/cpu/pxa/u-boot.lds         |   80 -------------------------------
 arch/arm/cpu/s3c44b0/u-boot.lds     |   80 -------------------------------
 arch/arm/cpu/sa1100/u-boot.lds      |   83 --------------------------------
 arch/arm/cpu/{armv7 => }/u-boot.lds |    6 +-
 board/jornada/u-boot.lds            |   58 -----------------------
 board/zipitz2/u-boot.lds            |   56 ----------------------
 spl/Makefile                        |    4 ++
 18 files changed, 17 insertions(+), 1105 deletions(-)
 delete mode 100644 arch/arm/cpu/arm1136/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm1176/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm720t/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm920t/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm925t/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm926ejs/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm946es/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm_intcm/u-boot.lds
 delete mode 100644 arch/arm/cpu/lh7a40x/u-boot.lds
 delete mode 100644 arch/arm/cpu/pxa/u-boot.lds
 delete mode 100644 arch/arm/cpu/s3c44b0/u-boot.lds
 delete mode 100644 arch/arm/cpu/sa1100/u-boot.lds
 rename arch/arm/cpu/{armv7 => }/u-boot.lds (94%)
 delete mode 100644 board/jornada/u-boot.lds
 delete mode 100644 board/zipitz2/u-boot.lds

-- 
1.7.3.1

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 1/7] Allow arch directory to contain .lds without requiring Makefile
  2011-11-21 20:49 [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
@ 2011-11-21 20:49 ` Simon Glass
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 2/7] arm: Remove jornada link script Simon Glass
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2011-11-21 20:49 UTC (permalink / raw)
  To: u-boot

The Makefile for a CPU is in arch/($ARCH)/cpu/$(CPU). We want to support
having an .lds file in arch/$(ARCH)/cpu without requiring an additional
Makefile there. This change makes it clear that we expect a Makefile in
the same directory as the link script except in this case.

Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v2:
- Add a comment explaining all the ldscript checks

 Makefile     |   10 +++++++++-
 spl/Makefile |    3 +++
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index fb658f4..423adef 100644
--- a/Makefile
+++ b/Makefile
@@ -174,6 +174,8 @@ include $(TOPDIR)/config.mk
 # that (or fail if absent).  Otherwise, search for a linker script in a
 # standard location.
 
+LDSCRIPT_MAKEFILE_DIR = $(dir $(LDSCRIPT))
+
 ifndef LDSCRIPT
 	#LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
 	ifdef CONFIG_SYS_LDSCRIPT
@@ -182,6 +184,7 @@ ifndef LDSCRIPT
 	endif
 endif
 
+# If there is no specified link script, we look in a number of places for it
 ifndef LDSCRIPT
 	ifeq ($(CONFIG_NAND_U_BOOT),y)
 		LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds
@@ -196,6 +199,11 @@ ifndef LDSCRIPT
 		LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot.lds
 	endif
 	ifeq ($(wildcard $(LDSCRIPT)),)
+		LDSCRIPT := $(TOPDIR)/arch/$(ARCH)/cpu/u-boot.lds
+		# We don't expect a Makefile here
+		LDSCRIPT_MAKEFILE_DIR =
+	endif
+	ifeq ($(wildcard $(LDSCRIPT)),)
 $(error could not find linker script)
 	endif
 endif
@@ -495,7 +503,7 @@ depend dep:	$(TIMESTAMP_FILE) $(VERSION_FILE) \
 		$(obj)include/autoconf.mk \
 		$(obj)include/generated/generic-asm-offsets.h \
 		$(obj)include/generated/asm-offsets.h
-		for dir in $(SUBDIRS) $(CPUDIR) $(dir $(LDSCRIPT)) ; do \
+		for dir in $(SUBDIRS) $(CPUDIR) $(LDSCRIPT_MAKEFILE_DIR) ; do \
 			$(MAKE) -C $$dir _depend ; done
 
 TAG_SUBDIRS = $(SUBDIRS)
diff --git a/spl/Makefile b/spl/Makefile
index 6ac42a2..82484d4 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -87,6 +87,9 @@ ifeq ($(wildcard $(LDSCRIPT)),)
 	LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot-spl.lds
 endif
 ifeq ($(wildcard $(LDSCRIPT)),)
+	LDSCRIPT := $(TOPDIR)/arch/$(ARCH)/cpu/u-boot.lds
+endif
+ifeq ($(wildcard $(LDSCRIPT)),)
 $(error could not find linker script)
 endif
 
-- 
1.7.3.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 2/7] arm: Remove jornada link script
  2011-11-21 20:49 [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 1/7] Allow arch directory to contain .lds without requiring Makefile Simon Glass
@ 2011-11-21 20:49 ` Simon Glass
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 3/7] arm: Remove zipitz2 " Simon Glass
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2011-11-21 20:49 UTC (permalink / raw)
  To: u-boot

This link script seems old and incompatible with relocation and its
own sa1000 start.S file. It isn't used because the CPU's link script
was picked up in preference to this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
---

 board/jornada/u-boot.lds |   58 ----------------------------------------------
 1 files changed, 0 insertions(+), 58 deletions(-)
 delete mode 100644 board/jornada/u-boot.lds

diff --git a/board/jornada/u-boot.lds b/board/jornada/u-boot.lds
deleted file mode 100644
index c75b21f..0000000
--- a/board/jornada/u-boot.lds
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * (C) Copyright 2000-2004
- * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
- * 2004 (c) MontaVista Software, Inc.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		cpu/sa1100/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-	__bss_end__ = .;
-}
-- 
1.7.3.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 3/7] arm: Remove zipitz2 link script
  2011-11-21 20:49 [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 1/7] Allow arch directory to contain .lds without requiring Makefile Simon Glass
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 2/7] arm: Remove jornada link script Simon Glass
@ 2011-11-21 20:49 ` Simon Glass
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 4/7] Define CPUDIR for the .lds " Simon Glass
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2011-11-21 20:49 UTC (permalink / raw)
  To: u-boot

This link script doesn't appear to do anything useful or unique, so
drop it, and rely on the CPU one.

Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v2:
- Remove ziptz2 link script also as it breaks the build

 board/zipitz2/u-boot.lds |   56 ----------------------------------------------
 1 files changed, 0 insertions(+), 56 deletions(-)
 delete mode 100644 board/zipitz2/u-boot.lds

diff --git a/board/zipitz2/u-boot.lds b/board/zipitz2/u-boot.lds
deleted file mode 100644
index e1a1ff1..0000000
--- a/board/zipitz2/u-boot.lds
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * (C) Copyright 2000-2005
- * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text      :
-	{
-	  cpu/pxa/start.o	(.text)
-	  *(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-	__bss_end__ = .;
-}
-- 
1.7.3.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 4/7] Define CPUDIR for the .lds link script
  2011-11-21 20:49 [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
                   ` (2 preceding siblings ...)
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 3/7] arm: Remove zipitz2 " Simon Glass
@ 2011-11-21 20:49 ` Simon Glass
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 5/7] arm: Remove unneeded setting of LDCSRIPT Simon Glass
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2011-11-21 20:49 UTC (permalink / raw)
  To: u-boot

Most link scripts differ only in the directory containing the start.o
file. Make this a #define to remove this last difference.

(Note that if start.o were disallowed outside the CPU start directory then
we wouldn't even need this. But that is a separate discussion.)

Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v2:
- Make this change in spl/Makefile also

 Makefile     |    1 +
 spl/Makefile |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index 423adef..3cb00ed 100644
--- a/Makefile
+++ b/Makefile
@@ -332,6 +332,7 @@ export PLATFORM_LIBS
 # on the fly.
 LDPPFLAGS += \
 	-include $(TOPDIR)/include/u-boot/u-boot.lds.h \
+	-DCPUDIR=$(CPUDIR) \
 	$(shell $(LD) --version | \
 	  sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
 
diff --git a/spl/Makefile b/spl/Makefile
index 82484d4..232822b 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -99,6 +99,7 @@ endif
 LDPPFLAGS += \
 	-include $(TOPDIR)/include/u-boot/u-boot.lds.h \
 	-include $(OBJTREE)/include/config.h \
+	-DCPUDIR=$(CPUDIR) \
 	$(shell $(LD) --version | \
 	  sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
 
-- 
1.7.3.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 5/7] arm: Remove unneeded setting of LDCSRIPT
  2011-11-21 20:49 [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
                   ` (3 preceding siblings ...)
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 4/7] Define CPUDIR for the .lds " Simon Glass
@ 2011-11-21 20:49 ` Simon Glass
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 6/7] arm: add a common .lds link script Simon Glass
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2011-11-21 20:49 UTC (permalink / raw)
  To: u-boot

This is set by the top level Makefile anyway, so drop it. This does
have the effect of changing the order - now the board link script will
have preference over the CPU one. But this seems more correct anyway.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/config.mk |    7 -------
 1 files changed, 0 insertions(+), 7 deletions(-)

diff --git a/arch/arm/config.mk b/arch/arm/config.mk
index 45f9dca..3c5f987 100644
--- a/arch/arm/config.mk
+++ b/arch/arm/config.mk
@@ -70,13 +70,6 @@ PLATFORM_LIBS := $(OBJTREE)/arch/arm/lib/eabi_compat.o \
 endif
 endif
 
-ifdef CONFIG_SYS_LDSCRIPT
-# need to strip off double quotes
-LDSCRIPT := $(subst ",,$(CONFIG_SYS_LDSCRIPT))
-else
-LDSCRIPT := $(SRCTREE)/$(CPUDIR)/u-boot.lds
-endif
-
 # needed for relocation
 ifndef CONFIG_NAND_SPL
 LDFLAGS_u-boot += -pie
-- 
1.7.3.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 6/7] arm: add a common .lds link script
  2011-11-21 20:49 [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
                   ` (4 preceding siblings ...)
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 5/7] arm: Remove unneeded setting of LDCSRIPT Simon Glass
@ 2011-11-21 20:49 ` Simon Glass
  2012-02-17 11:08   ` Albert ARIBAUD
  2012-02-23 13:28   ` [U-Boot] [PATCH v4 " Simon Glass
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 7/7] arm: Use common .lds file where possible Simon Glass
                   ` (2 subsequent siblings)
  8 siblings, 2 replies; 18+ messages in thread
From: Simon Glass @ 2011-11-21 20:49 UTC (permalink / raw)
  To: u-boot

Most ARM CPUs use a very similar link script. This adds a basic
script that can be used by most CPUs.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/cpu/u-boot.lds |   85 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/cpu/u-boot.lds

diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
new file mode 100644
index 0000000..2d08006
--- /dev/null
+++ b/arch/arm/cpu/u-boot.lds
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2004-2008 Texas Instruments
+ *
+ * (C) Copyright 2002
+ * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text :
+	{
+		__text_start = .;
+		CPUDIR/start.o (.text)
+		*(.text)
+	}
+
+	. = ALIGN(4);
+	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+
+	. = ALIGN(4);
+	.data : {
+		*(.data)
+	}
+
+	. = ALIGN(4);
+
+	. = .;
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : { *(.u_boot_cmd) }
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+
+	__image_copy_end = .;
+
+	.rel.dyn : {
+		__rel_dyn_start = .;
+		*(.rel*)
+		__rel_dyn_end = .;
+	}
+
+	.dynsym : {
+		__dynsym_start = .;
+		*(.dynsym)
+	}
+
+	_end = .;
+
+	.bss __rel_dyn_start (OVERLAY) : {
+		__bss_start = .;
+		*(.bss)
+		 . = ALIGN(4);
+		__bss_end__ = .;
+	}
+
+	/DISCARD/ : { *(.dynstr*) }
+	/DISCARD/ : { *(.dynamic*) }
+	/DISCARD/ : { *(.plt*) }
+	/DISCARD/ : { *(.interp*) }
+	/DISCARD/ : { *(.gnu*) }
+}
-- 
1.7.3.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 7/7] arm: Use common .lds file where possible
  2011-11-21 20:49 [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
                   ` (5 preceding siblings ...)
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 6/7] arm: add a common .lds link script Simon Glass
@ 2011-11-21 20:49 ` Simon Glass
  2011-12-03  3:04 ` [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
  2012-02-17  8:58 ` Albert ARIBAUD
  8 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2011-11-21 20:49 UTC (permalink / raw)
  To: u-boot

Each cpu directory currently has its own .lds file. This is only needed
in most cases because the start.o file is in a different subdir.

Now that we can factor out this difference, we can move most cpus over
to the common .lds file.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/cpu/arm1136/u-boot.lds   |   89 -------------------------------------
 arch/arm/cpu/arm1176/u-boot.lds   |   78 --------------------------------
 arch/arm/cpu/arm720t/u-boot.lds   |   79 --------------------------------
 arch/arm/cpu/arm920t/u-boot.lds   |   88 ------------------------------------
 arch/arm/cpu/arm925t/u-boot.lds   |   83 ----------------------------------
 arch/arm/cpu/arm926ejs/u-boot.lds |   80 ---------------------------------
 arch/arm/cpu/arm946es/u-boot.lds  |   80 ---------------------------------
 arch/arm/cpu/arm_intcm/u-boot.lds |   80 ---------------------------------
 arch/arm/cpu/armv7/u-boot.lds     |   85 -----------------------------------
 arch/arm/cpu/lh7a40x/u-boot.lds   |   80 ---------------------------------
 arch/arm/cpu/pxa/u-boot.lds       |   80 ---------------------------------
 arch/arm/cpu/s3c44b0/u-boot.lds   |   80 ---------------------------------
 arch/arm/cpu/sa1100/u-boot.lds    |   83 ----------------------------------
 13 files changed, 0 insertions(+), 1065 deletions(-)
 delete mode 100644 arch/arm/cpu/arm1136/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm1176/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm720t/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm920t/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm925t/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm926ejs/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm946es/u-boot.lds
 delete mode 100644 arch/arm/cpu/arm_intcm/u-boot.lds
 delete mode 100644 arch/arm/cpu/armv7/u-boot.lds
 delete mode 100644 arch/arm/cpu/lh7a40x/u-boot.lds
 delete mode 100644 arch/arm/cpu/pxa/u-boot.lds
 delete mode 100644 arch/arm/cpu/s3c44b0/u-boot.lds
 delete mode 100644 arch/arm/cpu/sa1100/u-boot.lds

diff --git a/arch/arm/cpu/arm1136/u-boot.lds b/arch/arm/cpu/arm1136/u-boot.lds
deleted file mode 100644
index d1e2851..0000000
--- a/arch/arm/cpu/arm1136/u-boot.lds
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * (C) Copyright 2009
- * Ilya Yanok, Emcraft Systems Ltd, <yanok@emcraft.com>
- *
- * Copyright (C) 2005-2007 Samsung Electronics
- * Kyungin Park <kyugnmin.park@samsung.com>
- *
- * Copyright (c) 2004 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/arm1136/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/arm1176/u-boot.lds b/arch/arm/cpu/arm1176/u-boot.lds
deleted file mode 100644
index 27d6638..0000000
--- a/arch/arm/cpu/arm1176/u-boot.lds
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * (C) Copyright 2002-2004
- * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/arm1176/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/arm720t/u-boot.lds b/arch/arm/cpu/arm720t/u-boot.lds
deleted file mode 100644
index 9370fad..0000000
--- a/arch/arm/cpu/arm720t/u-boot.lds
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * (C) Copyright 2000-2004
- * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/arm720t/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/arm920t/u-boot.lds b/arch/arm/cpu/arm920t/u-boot.lds
deleted file mode 100644
index 17ba604..0000000
--- a/arch/arm/cpu/arm920t/u-boot.lds
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * (c) Copyright 2004
- * Techware Information Technology, Inc.
- * Ming-Len Wu <minglen_wu@techware.com.tw>
- *
- * (C) Copyright 2000-2004
- * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/arm920t/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/arm925t/u-boot.lds b/arch/arm/cpu/arm925t/u-boot.lds
deleted file mode 100644
index 64e76f5..0000000
--- a/arch/arm/cpu/arm925t/u-boot.lds
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * (C) Copyright 2004
- * Wolfgang Denk, DENX Software Engineering, <wg@denx.de>
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/arm925t/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/arm926ejs/u-boot.lds b/arch/arm/cpu/arm926ejs/u-boot.lds
deleted file mode 100644
index 1480e0c..0000000
--- a/arch/arm/cpu/arm926ejs/u-boot.lds
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * (C) Copyright 2002-2004
- * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/arm926ejs/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/arm946es/u-boot.lds b/arch/arm/cpu/arm946es/u-boot.lds
deleted file mode 100644
index ff938e4..0000000
--- a/arch/arm/cpu/arm946es/u-boot.lds
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/arm946es/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/arm_intcm/u-boot.lds b/arch/arm/cpu/arm_intcm/u-boot.lds
deleted file mode 100644
index f4a146c..0000000
--- a/arch/arm/cpu/arm_intcm/u-boot.lds
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/arm_intcm/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/armv7/u-boot.lds b/arch/arm/cpu/armv7/u-boot.lds
deleted file mode 100644
index 40ecf78..0000000
--- a/arch/arm/cpu/armv7/u-boot.lds
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004-2008 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		arch/arm/cpu/armv7/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	__image_copy_end = .;
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/lh7a40x/u-boot.lds b/arch/arm/cpu/lh7a40x/u-boot.lds
deleted file mode 100644
index 30934ff..0000000
--- a/arch/arm/cpu/lh7a40x/u-boot.lds
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/lh7a40x/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/pxa/u-boot.lds b/arch/arm/cpu/pxa/u-boot.lds
deleted file mode 100644
index e163369..0000000
--- a/arch/arm/cpu/pxa/u-boot.lds
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * (C) Copyright 2000-2005
- * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/pxa/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/s3c44b0/u-boot.lds b/arch/arm/cpu/s3c44b0/u-boot.lds
deleted file mode 100644
index 74a259c..0000000
--- a/arch/arm/cpu/s3c44b0/u-boot.lds
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * (C) Copyright 2000-2004
- * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/s3c44b0/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
diff --git a/arch/arm/cpu/sa1100/u-boot.lds b/arch/arm/cpu/sa1100/u-boot.lds
deleted file mode 100644
index e6381da..0000000
--- a/arch/arm/cpu/sa1100/u-boot.lds
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * (C) Copyright 2003-2004
- * MontaVista Software, Inc.
- *
- * (C) Copyright 2000-2004
- * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-		arch/arm/cpu/sa1100/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	. = ALIGN(4);
-	.data : {
-		*(.data)
-	}
-
-	. = ALIGN(4);
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
-	.dynsym : {
-		__dynsym_start = .;
-		*(.dynsym)
-	}
-
-	_end = .;
-
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		__bss_end__ = .;
-	}
-
-	/DISCARD/ : { *(.dynstr*) }
-	/DISCARD/ : { *(.dynamic*) }
-	/DISCARD/ : { *(.plt*) }
-	/DISCARD/ : { *(.interp*) }
-	/DISCARD/ : { *(.gnu*) }
-}
-- 
1.7.3.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts
  2011-11-21 20:49 [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
                   ` (6 preceding siblings ...)
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 7/7] arm: Use common .lds file where possible Simon Glass
@ 2011-12-03  3:04 ` Simon Glass
  2012-02-17  8:58 ` Albert ARIBAUD
  8 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2011-12-03  3:04 UTC (permalink / raw)
  To: u-boot

Hi,

On Mon, Nov 21, 2011 at 12:49 PM, Simon Glass <sjg@chromium.org> wrote:
> The ARM link scripts are very similar but each CPU has its own. This
> series adds support for a default link script across an architecture
> in arch/<arch>/cpu/u-boot.lds.
>
> It is then possible to remove most of the ARM link scripts. This will
> make it easier to maintain these.
>
> Changes in v2:
> - Add a comment explaining all the ldscript checks
> - Remove ziptz2 link script also as it breaks the build
> - Make this change in spl/Makefile also

Any comments on this clean-up series from anyone?

Regards,
Simon

>
> Simon Glass (7):
> ?Allow arch directory to contain .lds without requiring Makefile
> ?arm: Remove jornada link script
> ?arm: Remove zipitz2 link script
> ?Define CPUDIR for the .lds link script
> ?arm: Remove unneeded setting of LDCSRIPT
> ?arm: add a common .lds link script
> ?arm: Use common .lds file where possible
>
> ?Makefile ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 11 ++++-
> ?arch/arm/config.mk ? ? ? ? ? ? ? ? ?| ? ?7 ---
> ?arch/arm/cpu/arm1136/u-boot.lds ? ? | ? 89 -----------------------------------
> ?arch/arm/cpu/arm1176/u-boot.lds ? ? | ? 78 ------------------------------
> ?arch/arm/cpu/arm720t/u-boot.lds ? ? | ? 79 -------------------------------
> ?arch/arm/cpu/arm920t/u-boot.lds ? ? | ? 88 ----------------------------------
> ?arch/arm/cpu/arm925t/u-boot.lds ? ? | ? 83 --------------------------------
> ?arch/arm/cpu/arm926ejs/u-boot.lds ? | ? 80 -------------------------------
> ?arch/arm/cpu/arm946es/u-boot.lds ? ?| ? 80 -------------------------------
> ?arch/arm/cpu/arm_intcm/u-boot.lds ? | ? 80 -------------------------------
> ?arch/arm/cpu/lh7a40x/u-boot.lds ? ? | ? 80 -------------------------------
> ?arch/arm/cpu/pxa/u-boot.lds ? ? ? ? | ? 80 -------------------------------
> ?arch/arm/cpu/s3c44b0/u-boot.lds ? ? | ? 80 -------------------------------
> ?arch/arm/cpu/sa1100/u-boot.lds ? ? ?| ? 83 --------------------------------
> ?arch/arm/cpu/{armv7 => }/u-boot.lds | ? ?6 +-
> ?board/jornada/u-boot.lds ? ? ? ? ? ?| ? 58 -----------------------
> ?board/zipitz2/u-boot.lds ? ? ? ? ? ?| ? 56 ----------------------
> ?spl/Makefile ? ? ? ? ? ? ? ? ? ? ? ?| ? ?4 ++
> ?18 files changed, 17 insertions(+), 1105 deletions(-)
> ?delete mode 100644 arch/arm/cpu/arm1136/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/arm1176/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/arm720t/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/arm920t/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/arm925t/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/arm926ejs/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/arm946es/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/arm_intcm/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/lh7a40x/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/pxa/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/s3c44b0/u-boot.lds
> ?delete mode 100644 arch/arm/cpu/sa1100/u-boot.lds
> ?rename arch/arm/cpu/{armv7 => }/u-boot.lds (94%)
> ?delete mode 100644 board/jornada/u-boot.lds
> ?delete mode 100644 board/zipitz2/u-boot.lds
>
> --
> 1.7.3.1
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts
  2011-11-21 20:49 [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
                   ` (7 preceding siblings ...)
  2011-12-03  3:04 ` [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
@ 2012-02-17  8:58 ` Albert ARIBAUD
  2012-02-17  9:49   ` Marek Vasut
  8 siblings, 1 reply; 18+ messages in thread
From: Albert ARIBAUD @ 2012-02-17  8:58 UTC (permalink / raw)
  To: u-boot

Hi Simon,

Le 21/11/2011 21:49, Simon Glass a ?crit :
> The ARM link scripts are very similar but each CPU has its own. This
> series adds support for a default link script across an architecture
> in arch/<arch>/cpu/u-boot.lds.

This patch series received no comments, and I apologize for not having 
chimed in on it as it goes the right way about simplifying ARM 
architecture.

Currently, all patches in the series do apply except patch 7, which 
fails on arch/arm/cpu/pxa/u-boot.lds. As this is trivial, I'm going on 
removing the file manually and testing, but can you please resubmit V3 
with a fixed 1/7 patch?

Amicalement,
-- 
Albert.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts
  2012-02-17  8:58 ` Albert ARIBAUD
@ 2012-02-17  9:49   ` Marek Vasut
  2012-02-17 10:47     ` Albert ARIBAUD
  0 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2012-02-17  9:49 UTC (permalink / raw)
  To: u-boot

> Hi Simon,
> 
> Le 21/11/2011 21:49, Simon Glass a ?crit :
> > The ARM link scripts are very similar but each CPU has its own. This
> > series adds support for a default link script across an architecture
> > in arch/<arch>/cpu/u-boot.lds.
> 
> This patch series received no comments, and I apologize for not having
> chimed in on it as it goes the right way about simplifying ARM
> architecture.
> 
> Currently, all patches in the series do apply except patch 7, which
> fails on arch/arm/cpu/pxa/u-boot.lds. As this is trivial, I'm going on
> removing the file manually and testing, but can you please resubmit V3
> with a fixed 1/7 patch?

Please make sure there were no changes to the linker file. I believe there were 
some and it might break pxa.

Thanks!
> 
> Amicalement,

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts
  2012-02-17  9:49   ` Marek Vasut
@ 2012-02-17 10:47     ` Albert ARIBAUD
  2012-02-21  2:24       ` Simon Glass
  0 siblings, 1 reply; 18+ messages in thread
From: Albert ARIBAUD @ 2012-02-17 10:47 UTC (permalink / raw)
  To: u-boot

Hi Marek,

Le 17/02/2012 10:49, Marek Vasut a ?crit :
>> Hi Simon,
>>
>> Le 21/11/2011 21:49, Simon Glass a ?crit :
>>> The ARM link scripts are very similar but each CPU has its own. This
>>> series adds support for a default link script across an architecture
>>> in arch/<arch>/cpu/u-boot.lds.
>>
>> This patch series received no comments, and I apologize for not having
>> chimed in on it as it goes the right way about simplifying ARM
>> architecture.
>>
>> Currently, all patches in the series do apply except patch 7, which
>> fails on arch/arm/cpu/pxa/u-boot.lds. As this is trivial, I'm going on
>> removing the file manually and testing, but can you please resubmit V3
>> with a fixed 1/7 patch?
>
> Please make sure there were no changes to the linker file. I believe there were
> some and it might break pxa.
>
> Thanks!

Thanks for pointing this out. I am not testing pxa boards now, so Simon 
has time to submit a vV3 patch set before I get bitten by any change in 
PXA boards.

Amicalement,
-- 
Albert.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 6/7] arm: add a common .lds link script
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 6/7] arm: add a common .lds link script Simon Glass
@ 2012-02-17 11:08   ` Albert ARIBAUD
  2012-02-21  2:32     ` Simon Glass
  2012-02-23 13:28   ` [U-Boot] [PATCH v4 " Simon Glass
  1 sibling, 1 reply; 18+ messages in thread
From: Albert ARIBAUD @ 2012-02-17 11:08 UTC (permalink / raw)
  To: u-boot

Hi Simon,

Le 21/11/2011 21:49, Simon Glass a ?crit :

> +	.text :
> +	{
> +		__text_start = .;

This assignment to __text_start does not exist in any of the existing 
u-boot.lds files. What is the point of it?

> +	.u_boot_cmd : { *(.u_boot_cmd) }
> +	__u_boot_cmd_end = .;
> +
> +	. = ALIGN(4);
> +
> +	__image_copy_end = .;

Ditto for __image_copy_end.

These two changes are unexplained in the commit message. Mind you, the 
one about CPUDIR and start.S isn't either... and it should, because once 
the commit is in, there is no indication left that it is part of a set, 
so readers will have a difficulty spotting the changes introduced.

But what bothers me most is that the patch set produces u-boot.bin files 
which are not binary identical to those produced without the patch set; 
if I remove the two assignments, then binary identity is preserved.

Note: I check for binary identity by diff'ing hex dumps of u-boot.bin 
files produced with and without the patch set. If the only difference is 
the build version and date, I deem the files binary identical. The dump 
is done with 'od -t x1z -A x u-boot.bin'.

So unless there is a compelling and strictly unavoidable reason for 
these assignements, please drop them in the V3 patch set.

Amicalement,
-- 
Albert.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts
  2012-02-17 10:47     ` Albert ARIBAUD
@ 2012-02-21  2:24       ` Simon Glass
  2012-02-21  5:53         ` Marek Vasut
  0 siblings, 1 reply; 18+ messages in thread
From: Simon Glass @ 2012-02-21  2:24 UTC (permalink / raw)
  To: u-boot

Hi Albert,

On Fri, Feb 17, 2012 at 2:47 AM, Albert ARIBAUD
<albert.u.boot@aribaud.net> wrote:
> Hi Marek,
>
> Le 17/02/2012 10:49, Marek Vasut a ?crit :
>
>>> Hi Simon,
>>>
>>> Le 21/11/2011 21:49, Simon Glass a ?crit :
>>>>
>>>> The ARM link scripts are very similar but each CPU has its own. This
>>>> series adds support for a default link script across an architecture
>>>> in arch/<arch>/cpu/u-boot.lds.
>>>
>>>
>>> This patch series received no comments, and I apologize for not having
>>> chimed in on it as it goes the right way about simplifying ARM
>>> architecture.
>>>
>>> Currently, all patches in the series do apply except patch 7, which
>>> fails on arch/arm/cpu/pxa/u-boot.lds. As this is trivial, I'm going on
>>> removing the file manually and testing, but can you please resubmit V3
>>> with a fixed 1/7 patch?
>>
>>
>> Please make sure there were no changes to the linker file. I believe there
>> were
>> some and it might break pxa.
>>
>> Thanks!
>
>
> Thanks for pointing this out. I am not testing pxa boards now, so Simon has
> time to submit a vV3 patch set before I get bitten by any change in PXA
> boards.

Yes there was a change to add a 4KB MMU memory area to the link
script, presumably to allow early MMU enable and using that cache
space as SRAM.

I think I will add this feature to the generic .lds file since it does
no harm, and it's a feature I would like to implement one day (early
MMU enable). It might help ARM11 also.

>
> Amicalement,
> --
> Albert.

Regards,
Simon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 6/7] arm: add a common .lds link script
  2012-02-17 11:08   ` Albert ARIBAUD
@ 2012-02-21  2:32     ` Simon Glass
  2012-02-21 12:34       ` Albert ARIBAUD
  0 siblings, 1 reply; 18+ messages in thread
From: Simon Glass @ 2012-02-21  2:32 UTC (permalink / raw)
  To: u-boot

Hi Albert,

On Fri, Feb 17, 2012 at 3:08 AM, Albert ARIBAUD
<albert.u.boot@aribaud.net> wrote:
> Hi Simon,
>
> Le 21/11/2011 21:49, Simon Glass a ?crit :
>
>
>> + ? ? ? .text :
>> + ? ? ? {
>> + ? ? ? ? ? ? ? __text_start = .;
>
>
> This assignment to __text_start does not exist in any of the existing
> u-boot.lds files. What is the point of it?

I would like to have a single symbol for the start of the text region
across all architectures. ARM has _start but this is not present
elsewhere. Also I think it should be defined by the link script.

>
>
>> + ? ? ? .u_boot_cmd : { *(.u_boot_cmd) }
>> + ? ? ? __u_boot_cmd_end = .;
>> +
>> + ? ? ? . = ALIGN(4);
>> +
>> + ? ? ? __image_copy_end = .;
>
>
> Ditto for __image_copy_end.

This is the end of the region that needs to be copied when U-Boot is
relocated. The symbol exists in ARMv7 so I have reproduced it here. If
I read the SPL code correctly then it seems to need this.

>
> These two changes are unexplained in the commit message. Mind you, the one
> about CPUDIR and start.S isn't either... and it should, because once the
> commit is in, there is no indication left that it is part of a set, so
> readers will have a difficulty spotting the changes introduced.

OK I will take a look at these problems.

>
> But what bothers me most is that the patch set produces u-boot.bin files
> which are not binary identical to those produced without the patch set; if I
> remove the two assignments, then binary identity is preserved.
>
> Note: I check for binary identity by diff'ing hex dumps of u-boot.bin files
> produced with and without the patch set. If the only difference is the build
> version and date, I deem the files binary identical. The dump is done with
> 'od -t x1z -A x u-boot.bin'.
>
> So unless there is a compelling and strictly unavoidable reason for these
> assignements, please drop them in the V3 patch set.

The binary will need to include values for these symbols in the dynsym
area, so adding a link symbol cannot produce an identical binary. But
the change should be harmless - it is just an extra symbol.

I do not want to drop these - in fact I want to standardize on these
(or something similar that we agree) across all architectures since it
makes the generic relocation code easier (at present it uses #ifdef to
work out what to do in the two different cases (SPL and non-SPL).
Ultimately we can look towards more uniformity across architectures in
the .lds files.

I will take another look at this series.

>
> Amicalement,
> --
> Albert.

Regards,
Simon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts
  2012-02-21  2:24       ` Simon Glass
@ 2012-02-21  5:53         ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2012-02-21  5:53 UTC (permalink / raw)
  To: u-boot

> Hi Albert,
> 
> On Fri, Feb 17, 2012 at 2:47 AM, Albert ARIBAUD
> 
> <albert.u.boot@aribaud.net> wrote:
> > Hi Marek,
> > 
> > Le 17/02/2012 10:49, Marek Vasut a ?crit :
> >>> Hi Simon,
> >>> 
> >>> Le 21/11/2011 21:49, Simon Glass a ?crit :
> >>>> The ARM link scripts are very similar but each CPU has its own. This
> >>>> series adds support for a default link script across an architecture
> >>>> in arch/<arch>/cpu/u-boot.lds.
> >>> 
> >>> This patch series received no comments, and I apologize for not having
> >>> chimed in on it as it goes the right way about simplifying ARM
> >>> architecture.
> >>> 
> >>> Currently, all patches in the series do apply except patch 7, which
> >>> fails on arch/arm/cpu/pxa/u-boot.lds. As this is trivial, I'm going on
> >>> removing the file manually and testing, but can you please resubmit V3
> >>> with a fixed 1/7 patch?
> >> 
> >> Please make sure there were no changes to the linker file. I believe
> >> there were
> >> some and it might break pxa.
> >> 
> >> Thanks!
> > 
> > Thanks for pointing this out. I am not testing pxa boards now, so Simon
> > has time to submit a vV3 patch set before I get bitten by any change in
> > PXA boards.
> 
> Yes there was a change to add a 4KB MMU memory area to the link
> script, presumably to allow early MMU enable and using that cache
> space as SRAM.

Exactly, PXA250 has no SRAM so I needed some place to put stack to etc.

M
> 
> I think I will add this feature to the generic .lds file since it does
> no harm, and it's a feature I would like to implement one day (early
> MMU enable). It might help ARM11 also.
> 
> > Amicalement,
> > --
> > Albert.
> 
> Regards,
> Simon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v2 6/7] arm: add a common .lds link script
  2012-02-21  2:32     ` Simon Glass
@ 2012-02-21 12:34       ` Albert ARIBAUD
  0 siblings, 0 replies; 18+ messages in thread
From: Albert ARIBAUD @ 2012-02-21 12:34 UTC (permalink / raw)
  To: u-boot

Hi Simon,

Le 21/02/2012 03:32, Simon Glass a ?crit :
> Hi Albert,
>
> On Fri, Feb 17, 2012 at 3:08 AM, Albert ARIBAUD
> <albert.u.boot@aribaud.net>  wrote:
>> Hi Simon,
>>
>> Le 21/11/2011 21:49, Simon Glass a ?crit :
>>
>>
>>> +       .text :
>>> +       {
>>> +               __text_start = .;
>>
>>
>> This assignment to __text_start does not exist in any of the existing
>> u-boot.lds files. What is the point of it?
>
> I would like to have a single symbol for the start of the text region
> across all architectures. ARM has _start but this is not present
> elsewhere. Also I think it should be defined by the link script.

I suspect what you would like to have is a single symbol for the start 
of the region to copy, rather than the start of the test region per se.

>>
>>
>>> +       .u_boot_cmd : { *(.u_boot_cmd) }
>>> +       __u_boot_cmd_end = .;
>>> +
>>> +       . = ALIGN(4);
>>> +
>>> +       __image_copy_end = .;
>>
>>
>> Ditto for __image_copy_end.
>
> This is the end of the region that needs to be copied when U-Boot is
> relocated. The symbol exists in ARMv7 so I have reproduced it here. If
> I read the SPL code correctly then it seems to need this.
>
>>
>> These two changes are unexplained in the commit message. Mind you, the one
>> about CPUDIR and start.S isn't either... and it should, because once the
>> commit is in, there is no indication left that it is part of a set, so
>> readers will have a difficulty spotting the changes introduced.
>
> OK I will take a look at these problems.
>
>>
>> But what bothers me most is that the patch set produces u-boot.bin files
>> which are not binary identical to those produced without the patch set; if I
>> remove the two assignments, then binary identity is preserved.
>>
>> Note: I check for binary identity by diff'ing hex dumps of u-boot.bin files
>> produced with and without the patch set. If the only difference is the build
>> version and date, I deem the files binary identical. The dump is done with
>> 'od -t x1z -A x u-boot.bin'.
>>
>> So unless there is a compelling and strictly unavoidable reason for these
>> assignements, please drop them in the V3 patch set.
>
> The binary will need to include values for these symbols in the dynsym
> area, so adding a link symbol cannot produce an identical binary. But
> the change should be harmless - it is just an extra symbol.

If that is only an extra symbol (hence unreferred to so far) then it 
should not have any impact on relocation data, which apply only to 
existing references -- just like adding an "extern" definition for  int 
abc;" won't have any effect unless/until some reference to abc exists -- 
and it should certainly not affect text and data.

However, if I compare builds of edminiv2 with and without patch 7/7 
(that's the patch which makes edminiv2 use the common u-boot.lds), then 
I see changes as early as the 69th byte of the text section.

I suspect the issue is cause by the additional ALIGN() directive that 
you are adding along with the symbols. Considering that this change 
should only replace existing symbols (_start and _bss_start) with other, 
functionally identical symbols, there is no reason to alter alignments 
in the linker file.

> I do not want to drop these - in fact I want to standardize on these
> (or something similar that we agree) across all architectures since it
> makes the generic relocation code easier (at present it uses #ifdef to
> work out what to do in the two different cases (SPL and non-SPL).
> Ultimately we can look towards more uniformity across architectures in
> the .lds files.

I do understand what you want to achieve here -- replace the existing 
arch-specific symbols that mark the start and end of the area to copy 
and relocate with arch-agnostic ones. But then, that change in itself is 
akin to a rename or alias and should have zero effect on the resulting 
binary.

> I will take another look at this series.

I see there were V3 issued for 6/7 and 7/7. I'll comment these.

> Regards,
> Simon

Amicalement,
-- 
Albert.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH v4 6/7] arm: add a common .lds link script
  2011-11-21 20:49 ` [U-Boot] [PATCH v2 6/7] arm: add a common .lds link script Simon Glass
  2012-02-17 11:08   ` Albert ARIBAUD
@ 2012-02-23 13:28   ` Simon Glass
  1 sibling, 0 replies; 18+ messages in thread
From: Simon Glass @ 2012-02-23 13:28 UTC (permalink / raw)
  To: u-boot

Most ARM CPUs use a very similar link script. This adds a basic
script that can be used by most CPUs.

Two new symbols are introduced which are intended to eventually be
defined on all architectures to make things easier for generic relocation
and reduce special-case code for each architecture:

__image_copy_start is the start of the text area (equivalent to the
existing _start on ARM). It marks the start of the region which must be
copied to a new location during relocation. This symbol is called
__text_start on x86 and microblaze.

__image_copy_end is the end of the region which must be copied to a new
location during relocation. It is normally equal to the start of the BSS
region, but this can vary in some cases (SPL?). Making this an explicit
symbol on its own removes any ambiguity and permits common code to always
do the right thing.

This new script makes use of CPUDIR, now defined by both Makefile and
spl/Makefile, to find the directory containing the start.o object file,
which is always placed first in the image.

To permit MMU setup prior to relocation (as used by pxa) we add an area
to the link script which contains space for this. This is taken
from commit 7f4cfcf. CPUs can put the contents in there using their
start.S file. BTW, shouldn't that area be 16KB-aligned?

Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v3:
- Add more comments in the commit message
- Add section for MMU area, as required by pxa

Changes in v4:
- Add deprecation note to pxa's MMU area
- Rename __text_start to __image_copy_start

 arch/arm/cpu/u-boot.lds |   94 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 94 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/cpu/u-boot.lds

diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
new file mode 100644
index 0000000..e49ca0c
--- /dev/null
+++ b/arch/arm/cpu/u-boot.lds
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2004-2008 Texas Instruments
+ *
+ * (C) Copyright 2002
+ * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text :
+	{
+		__image_copy_start = .;
+		CPUDIR/start.o (.text)
+		*(.text)
+	}
+
+	. = ALIGN(4);
+	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+
+	. = ALIGN(4);
+	.data : {
+		*(.data)
+	}
+
+	. = ALIGN(4);
+
+	. = .;
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : { *(.u_boot_cmd) }
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+
+	__image_copy_end = .;
+
+	.rel.dyn : {
+		__rel_dyn_start = .;
+		*(.rel*)
+		__rel_dyn_end = .;
+	}
+
+	.dynsym : {
+		__dynsym_start = .;
+		*(.dynsym)
+	}
+
+	_end = .;
+
+	/*
+	 * Deprecated: this MMU section is used by pxa at present but
+	 * should not be used by new boards/CPUs.
+	 */
+	. = ALIGN(4096);
+	.mmutable : {
+		*(.mmutable)
+	}
+
+	.bss __rel_dyn_start (OVERLAY) : {
+		__bss_start = .;
+		*(.bss)
+		 . = ALIGN(4);
+		__bss_end__ = .;
+	}
+
+	/DISCARD/ : { *(.dynstr*) }
+	/DISCARD/ : { *(.dynamic*) }
+	/DISCARD/ : { *(.plt*) }
+	/DISCARD/ : { *(.interp*) }
+	/DISCARD/ : { *(.gnu*) }
+}
-- 
1.7.7.3

^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2012-02-23 13:28 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-21 20:49 [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
2011-11-21 20:49 ` [U-Boot] [PATCH v2 1/7] Allow arch directory to contain .lds without requiring Makefile Simon Glass
2011-11-21 20:49 ` [U-Boot] [PATCH v2 2/7] arm: Remove jornada link script Simon Glass
2011-11-21 20:49 ` [U-Boot] [PATCH v2 3/7] arm: Remove zipitz2 " Simon Glass
2011-11-21 20:49 ` [U-Boot] [PATCH v2 4/7] Define CPUDIR for the .lds " Simon Glass
2011-11-21 20:49 ` [U-Boot] [PATCH v2 5/7] arm: Remove unneeded setting of LDCSRIPT Simon Glass
2011-11-21 20:49 ` [U-Boot] [PATCH v2 6/7] arm: add a common .lds link script Simon Glass
2012-02-17 11:08   ` Albert ARIBAUD
2012-02-21  2:32     ` Simon Glass
2012-02-21 12:34       ` Albert ARIBAUD
2012-02-23 13:28   ` [U-Boot] [PATCH v4 " Simon Glass
2011-11-21 20:49 ` [U-Boot] [PATCH v2 7/7] arm: Use common .lds file where possible Simon Glass
2011-12-03  3:04 ` [U-Boot] [PATCH v2 0/7] Tidy up ARM link scripts Simon Glass
2012-02-17  8:58 ` Albert ARIBAUD
2012-02-17  9:49   ` Marek Vasut
2012-02-17 10:47     ` Albert ARIBAUD
2012-02-21  2:24       ` Simon Glass
2012-02-21  5:53         ` Marek Vasut

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.