public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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

  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