From: =?//TRANSLIT?Q?Lo=EFc?= Minier <lool@dooz.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 02/32] x86: Align config.mk and linker scripts with other arches
Date: Thu, 10 Feb 2011 02:05:36 +0100 [thread overview]
Message-ID: <20110210010521.GA14364@bee.dooz.org> (raw)
In-Reply-To: <1296822959-3927-3-git-send-email-graeme.russ@gmail.com>
On Fri, Feb 04, 2011, Graeme Russ wrote:
> diff --git a/arch/i386/config.mk b/arch/i386/config.mk
> index 3fb97c1..77a33dd 100644
> --- a/arch/i386/config.mk
> +++ b/arch/i386/config.mk
> @@ -21,8 +21,6 @@
> # MA 02111-1307 USA
> #
>
> -CROSS_COMPILE ?= i386-linux-
> -
> STANDALONE_LOAD_ADDR = 0x40000
>
> PLATFORM_CPPFLAGS += -fno-strict-aliasing
> @@ -33,8 +31,13 @@ PLATFORM_CPPFLAGS += $(call cc-option, -ffreestanding)
> PLATFORM_CPPFLAGS += $(call cc-option, -fno-toplevel-reorder, $(call cc-option, -fno-unit-at-a-time))
> PLATFORM_CPPFLAGS += $(call cc-option, -fno-stack-protector)
> PLATFORM_CPPFLAGS += $(call cc-option, -mpreferred-stack-boundary=2)
> -PLATFORM_CPPFLAGS += -DCONFIG_I386 -D__I386__
> +PLATFORM_CPPFLAGS += -fno-dwarf2-cfi-asm
> +
> +PLATFORM_RELFLAGS += -ffunction-sections -fvisibility=hidden
> +
> +PLATFORM_LDFLAGS += --emit-relocs -Bsymbolic -Bsymbolic-functions
>
> LDFLAGS += --cref
> -LDFLAGS_u-boot += --gc-sections
> -PLATFORM_RELFLAGS += -ffunction-sections
> +LDFLAGS_u-boot += --gc-sections -pie
> +LDSCRIPT := $(SRCTREE)/$(CPUDIR)/u-boot.lds
> +
> diff --git a/arch/i386/cpu/config.mk b/arch/i386/cpu/config.mk
> index 16a160d..ec1d102 100644
> --- a/arch/i386/cpu/config.mk
> +++ b/arch/i386/cpu/config.mk
> @@ -21,6 +21,6 @@
> # MA 02111-1307 USA
> #
>
> -PLATFORM_RELFLAGS +=
> +CROSS_COMPILE ?= i386-linux-
>
> -PLATFORM_CPPFLAGS += -march=i386 -Werror
> +PLATFORM_CPPFLAGS += -DCONFIG_I386 -D__I386__ -march=i386 -Werror
> diff --git a/arch/i386/cpu/u-boot.lds b/arch/i386/cpu/u-boot.lds
> new file mode 100644
> index 0000000..3eeb2a2
> --- /dev/null
> +++ b/arch/i386/cpu/u-boot.lds
> @@ -0,0 +1,104 @@
> +/*
> + * (C) Copyright 2002
> + * Daniel Engstr?m, Omicron Ceti AB, daniel at omicron.se.
> + *
> + * 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-i386", "elf32-i386", "elf32-i386")
> +OUTPUT_ARCH(i386)
> +ENTRY(_start)
> +
> +SECTIONS
> +{
> + . = CONFIG_SYS_TEXT_BASE; /* Location of bootcode in flash */
> + __text_start = .;
> + .text : { *(.text*); }
> +
> + . = ALIGN(4);
> + __u_boot_cmd_start = .;
> + .u_boot_cmd : { *(.u_boot_cmd) }
> + . = ALIGN(4);
> + __u_boot_cmd_end = .;
> +
> + . = ALIGN(4);
> + .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
> +
> + . = ALIGN(4);
> + .data : { *(.data*) }
> +
> + . = ALIGN(4);
> + .dynsym : { *(.dynsym*) }
> +
> + . = ALIGN(4);
> + .hash : { *(.hash*) }
> +
> + . = ALIGN(4);
> + .got : { *(.got*) }
> +
> + . = ALIGN(4);
> + __data_end = .;
> +
> + . = ALIGN(4);
> + __bss_start = ABSOLUTE(.);
> + .bss (NOLOAD) : { *(.bss) }
> + . = ALIGN(4);
> + __bss_end = ABSOLUTE(.);
> +
> + . = ALIGN(4);
> + __rel_dyn_start = .;
> + .rel.dyn : { *(.rel.dyn) }
> + __rel_dyn_end = .;
> +
> + /DISCARD/ : { *(.dynstr*) }
> + /DISCARD/ : { *(.dynamic*) }
> + /DISCARD/ : { *(.plt*) }
> + /DISCARD/ : { *(.interp*) }
> + /DISCARD/ : { *(.gnu*) }
> +
> + /* 16bit realmode trampoline code */
> + .realmode 0x7c0 : AT ( LOADADDR(.rel.dyn) + SIZEOF(.rel.dyn) ) { KEEP(*(.realmode)) }
> +
> + __realmode_start = LOADADDR(.realmode);
> + __realmode_size = SIZEOF(.realmode);
> +
> + /* 16bit BIOS emulation code (just enough to boot Linux) */
> + .bios 0 : AT ( LOADADDR(.realmode) + SIZEOF(.realmode) ) { KEEP(*(.bios)) }
> +
> + __bios_start = LOADADDR(.bios);
> + __bios_size = SIZEOF(.bios);
> +
> + /* The load addresses below assumes that the flash
> + * will be mapped so that 0x387f0000 == 0xffff0000
> + * at reset time
> + *
> + * The fe00 and ff00 offsets of the start32 and start16
> + * segments are arbitrary, the just have to be mapped
> + * at reset and the code have to fit.
> + * The fff0 offset of resetvec is important, however.
> + */
> + . = 0xfffffe00;
> + .start32 : AT (CONFIG_SYS_TEXT_BASE + 0x3fe00) { KEEP(*(.start32)); }
> +
> + . = 0xf800;
> + .start16 : AT (CONFIG_SYS_TEXT_BASE + 0x3f800) { KEEP(*(.start16)); }
> +
> + . = 0xfff0;
> + .resetvec : AT (CONFIG_SYS_TEXT_BASE + 0x3fff0) { KEEP(*(.resetvec)); }
> +}
> diff --git a/board/eNET/config.mk b/board/eNET/config.mk
> index c4242ad..ce575ab 100644
> --- a/board/eNET/config.mk
> +++ b/board/eNET/config.mk
> @@ -22,7 +22,3 @@
> #
>
> CONFIG_SYS_TEXT_BASE = 0x06000000
> -CFLAGS_common/dlmalloc.o += -Wa,--no-warn -fno-strict-aliasing
> -PLATFORM_RELFLAGS += -fvisibility=hidden
> -PLATFORM_CPPFLAGS += -fno-dwarf2-cfi-asm
> -PLATFORM_LDFLAGS += -pic --emit-relocs -Bsymbolic -Bsymbolic-functions
> diff --git a/board/eNET/u-boot.lds b/board/eNET/u-boot.lds
> deleted file mode 100644
> index 3eeb2a2..0000000
> --- a/board/eNET/u-boot.lds
> +++ /dev/null
> @@ -1,104 +0,0 @@
> -/*
> - * (C) Copyright 2002
> - * Daniel Engstr?m, Omicron Ceti AB, daniel at omicron.se.
> - *
> - * 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-i386", "elf32-i386", "elf32-i386")
> -OUTPUT_ARCH(i386)
> -ENTRY(_start)
> -
> -SECTIONS
> -{
> - . = CONFIG_SYS_TEXT_BASE; /* Location of bootcode in flash */
> - __text_start = .;
> - .text : { *(.text*); }
> -
> - . = ALIGN(4);
> - __u_boot_cmd_start = .;
> - .u_boot_cmd : { *(.u_boot_cmd) }
> - . = ALIGN(4);
> - __u_boot_cmd_end = .;
> -
> - . = ALIGN(4);
> - .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
> -
> - . = ALIGN(4);
> - .data : { *(.data*) }
> -
> - . = ALIGN(4);
> - .dynsym : { *(.dynsym*) }
> -
> - . = ALIGN(4);
> - .hash : { *(.hash*) }
> -
> - . = ALIGN(4);
> - .got : { *(.got*) }
> -
> - . = ALIGN(4);
> - __data_end = .;
> -
> - . = ALIGN(4);
> - __bss_start = ABSOLUTE(.);
> - .bss (NOLOAD) : { *(.bss) }
> - . = ALIGN(4);
> - __bss_end = ABSOLUTE(.);
> -
> - . = ALIGN(4);
> - __rel_dyn_start = .;
> - .rel.dyn : { *(.rel.dyn) }
> - __rel_dyn_end = .;
> -
> - /DISCARD/ : { *(.dynstr*) }
> - /DISCARD/ : { *(.dynamic*) }
> - /DISCARD/ : { *(.plt*) }
> - /DISCARD/ : { *(.interp*) }
> - /DISCARD/ : { *(.gnu*) }
> -
> - /* 16bit realmode trampoline code */
> - .realmode 0x7c0 : AT ( LOADADDR(.rel.dyn) + SIZEOF(.rel.dyn) ) { KEEP(*(.realmode)) }
> -
> - __realmode_start = LOADADDR(.realmode);
> - __realmode_size = SIZEOF(.realmode);
> -
> - /* 16bit BIOS emulation code (just enough to boot Linux) */
> - .bios 0 : AT ( LOADADDR(.realmode) + SIZEOF(.realmode) ) { KEEP(*(.bios)) }
> -
> - __bios_start = LOADADDR(.bios);
> - __bios_size = SIZEOF(.bios);
> -
> - /* The load addresses below assumes that the flash
> - * will be mapped so that 0x387f0000 == 0xffff0000
> - * at reset time
> - *
> - * The fe00 and ff00 offsets of the start32 and start16
> - * segments are arbitrary, the just have to be mapped
> - * at reset and the code have to fit.
> - * The fff0 offset of resetvec is important, however.
> - */
> - . = 0xfffffe00;
> - .start32 : AT (CONFIG_SYS_TEXT_BASE + 0x3fe00) { KEEP(*(.start32)); }
> -
> - . = 0xf800;
> - .start16 : AT (CONFIG_SYS_TEXT_BASE + 0x3f800) { KEEP(*(.start16)); }
> -
> - . = 0xfff0;
> - .resetvec : AT (CONFIG_SYS_TEXT_BASE + 0x3fff0) { KEEP(*(.resetvec)); }
> -}
Acked-By: Lo?c Minier <loic.minier@linaro.org>
Build-tested on Debian i386 (native); fixes the build failure with tip
--
Lo?c Minier
next prev parent reply other threads:[~2011-02-10 1:05 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-04 12:35 [U-Boot] [PATCH 00/32] Massive x86 Update - Bring x86 in line with ARM and PPC Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 01/32] x86: Fix definition of global_data struct for asm-offsets.c Graeme Russ
2011-02-12 4:25 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 02/32] x86: Align config.mk and linker scripts with other arches Graeme Russ
2011-02-04 20:42 ` Scott Wood
2011-02-04 22:45 ` Graeme Russ
2011-02-10 1:05 ` =?//TRANSLIT?Q?Lo=EFc?= Minier [this message]
2011-02-12 4:26 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 03/32] eNET: Create distinct board configurations Graeme Russ
2011-02-12 4:26 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 04/32] x86: Parametize values used in linker script Graeme Russ
2011-02-12 4:26 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 05/32] sc520: Sort Makefile Graeme Russ
2011-02-12 4:27 ` Graeme Russ
2011-02-12 4:27 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 06/32] x86: Fix mangled umlauts Graeme Russ
2011-02-12 4:27 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 07/32] x86: Add stack dump to register dump Graeme Russ
2011-02-12 4:27 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 08/32] x86: Move Global Descriptor Table defines to processor.h Graeme Russ
2011-02-12 4:27 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 09/32] x86: Add processor flags header from linux Graeme Russ
2011-02-12 4:27 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 10/32] x86: Call early_board_init when warm booting Graeme Russ
2011-02-12 4:28 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 11/32] x86: Make cpu init functions weak Graeme Russ
2011-02-12 4:28 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 12/32] sc520: Define MMCR address in include file Graeme Russ
2011-02-12 4:28 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 13/32] sc520: Move board specific settings to board init function Graeme Russ
2011-02-12 4:28 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 14/32] sc520: Remove printf calls from cpu_init_f Graeme Russ
2011-02-12 4:28 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 15/32] eNET: Fix eNET Interrupt Setup for Linux Graeme Russ
2011-02-12 4:28 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 16/32] eNET: Add RTC support to eNET Graeme Russ
2011-02-12 4:29 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 17/32] eNET: Define MMCR values in config.h Graeme Russ
2011-02-12 4:29 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 18/32] eNET: Rearrange PAR assignments Graeme Russ
2011-02-12 4:29 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 19/32] eNET: General code cleanup Graeme Russ
2011-02-12 4:29 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 20/32] x86: Move initial gd to fixed location Graeme Russ
2011-02-12 4:29 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 21/32] x86: Use Cache-As-RAM for initial stack Graeme Russ
2011-02-12 4:29 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 22/32] sc520: Move RAM sizing code from asm to C Graeme Russ
2011-02-12 4:30 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 23/32] x86: Defer setup of final stack Graeme Russ
2011-02-12 4:30 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 24/32] x86: Move call to dram_init_f into board_init_f Graeme Russ
2011-02-12 4:30 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 25/32] x86: Move test for cold boot into init functions Graeme Russ
2011-02-12 4:30 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 26/32] x86: Move console initialisation into board_init_f Graeme Russ
2011-02-12 4:30 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 27/32] x86: Fix incorrect usage of relocation offset Graeme Russ
2011-02-12 4:30 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 28/32] x86: Split board_init_f() into init_fnc_t compatible functions Graeme Russ
2011-02-12 4:31 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 29/32] x86: Rearrange function calls in board_init_f Graeme Russ
2011-02-12 4:31 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 30/32] x86: Convert board_init_f to use an init_sequence Graeme Russ
2011-02-12 4:31 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 31/32] sc520: Release CAR and enable caching Graeme Russ
2011-02-12 4:31 ` Graeme Russ
2011-02-04 12:35 ` [U-Boot] [PATCH 32/32] eNET: Move initial Global Data into CAR Graeme Russ
2011-02-12 4:31 ` Graeme Russ
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110210010521.GA14364@bee.dooz.org \
--to=lool@dooz.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox