All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luca Ceresoli via buildroot <buildroot@buildroot.org>
To: Neal Frager <neal.frager@amd.com>
Cc: ibai.erkiaga-elorza@amd.com, michal.simek@amd.com,
	thomas.petazzoni@bootlin.com, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH v3 3/6] package/newlib-bare-metal: new package
Date: Fri, 22 Sep 2023 14:54:20 +0200	[thread overview]
Message-ID: <20230922145420.28dd106b@booty> (raw)
In-Reply-To: <20230904100443.1613306-3-neal.frager@amd.com>

On Mon, 4 Sep 2023 11:04:40 +0100
Neal Frager <neal.frager@amd.com> wrote:

> This patch adds a new package for building newlib for a bare-metal toolchain.
> The cpu architecture is defined by a toolchain-bare-metal virtual package.
> While any cpu architecture could be used, the default configuration will be a
> Xilinx microblaze little endian architecture, so that buildroot will be able
> to build the microblaze firmware applications for zynqmp and versal.
> 
> Signed-off-by: Ibai Erkiaga-Elorza <ibai.erkiaga-elorza@amd.com>
> Signed-off-by: Neal Frager <neal.frager@amd.com>
> ---
> V1->V2:
>  - removed default enable to be replaced with toolchain select config
> V2->V3:
>  - no changes
> ---
>  DEVELOPERS                                    |  2 ++
>  package/newlib-bare-metal/Config.in.host      | 18 ++++++++++++
>  .../newlib-bare-metal/newlib-bare-metal.hash  |  8 +++++
>  .../newlib-bare-metal/newlib-bare-metal.mk    | 29 +++++++++++++++++++
>  4 files changed, 57 insertions(+)
>  create mode 100644 package/newlib-bare-metal/Config.in.host
>  create mode 100644 package/newlib-bare-metal/newlib-bare-metal.hash
>  create mode 100644 package/newlib-bare-metal/newlib-bare-metal.mk
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 9fc597da07..b8daa9183a 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1330,6 +1330,7 @@ F:	package/python-rpi-gpio/
>  N:	Ibai Erkiaga-Elorza <ibai.erkiaga-elorza@amd.com>
>  F:	package/binutils-bare-metal/
>  F:	package/gcc-bare-metal/
> +F:	package/newlib-bare-metal/
>  
>  N:	Ignacy Gawędzki <ignacy.gawedzki@green-communications.fr>
>  F:	package/angularjs/
> @@ -2198,6 +2199,7 @@ F:	configs/zynqmp_zcu106_defconfig
>  F:	package/binutils-bare-metal/
>  F:	package/bootgen/
>  F:	package/gcc-bare-metal/
> +F:	package/newlib-bare-metal/
>  F:	package/versal-firmware/
>  
>  N:	Nicola Di Lieto <nicola.dilieto@gmail.com>
> diff --git a/package/newlib-bare-metal/Config.in.host b/package/newlib-bare-metal/Config.in.host
> new file mode 100644
> index 0000000000..3bbf62e3fc
> --- /dev/null
> +++ b/package/newlib-bare-metal/Config.in.host
> @@ -0,0 +1,18 @@
> +config BR2_PACKAGE_HOST_NEWLIB_BARE_METAL
> +	bool "host newlib-bare-metal"
> +	help
> +	  newlib-bare-metal is a host utility for a bare-metal toolchain

"Build the newlib C library for a bare-metal toolchain" seems fore accurate.

> +
> +if BR2_PACKAGE_HOST_NEWLIB_BARE_METAL
> +
> +config BR2_PACKAGE_HOST_NEWLIB_BARE_METAL_VERSION
> +	string
> +	default "4.1.0"
> +
> +config BR2_PACKAGE_HOST_NEWLIB_BARE_METAL_EXTRA_CONFIG_OPTIONS
> +	string "Additional newlib options"
> +	default ""
> +	help
> +	  Any additional newlib options you may want to include.
> +
> +endif #BR2_PACKAGE_HOST_NEWLIB_BARE_METAL
> diff --git a/package/newlib-bare-metal/newlib-bare-metal.hash b/package/newlib-bare-metal/newlib-bare-metal.hash
> new file mode 100644
> index 0000000000..b1966c3055
> --- /dev/null
> +++ b/package/newlib-bare-metal/newlib-bare-metal.hash
> @@ -0,0 +1,8 @@
> +# Locally calculated (fetched from Github)

Github? The download site is sourceware.org.

> +sha256  f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154  newlib-4.1.0.tar.gz
> +
> +# Hashes for license files
> +sha256  231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c  COPYING
> +sha256  a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861  COPYING.LIB
> +sha256  f3b7f3e4426b1fa6f60198dae7adfedd94b77b28db2d108adc0253575011e0ff  COPYING.LIBGLOSS
> +sha256  422aa40293093fb54fc66e692a0d68fd0b24ed5602e5d1d33ad05ba3909057e9  COPYING.NEWLIB
> diff --git a/package/newlib-bare-metal/newlib-bare-metal.mk b/package/newlib-bare-metal/newlib-bare-metal.mk
> new file mode 100644
> index 0000000000..a0a22bd6d9
> --- /dev/null
> +++ b/package/newlib-bare-metal/newlib-bare-metal.mk
> @@ -0,0 +1,29 @@
> +################################################################################
> +#
> +# newlib-bare-metal
> +#
> +################################################################################
> +
> +HOST_NEWLIB_BARE_METAL_VERSION = $(call qstrip,$(BR2_PACKAGE_HOST_NEWLIB_BARE_METAL_VERSION))
> +ifeq ($(HOST_NEWLIB_BARE_METAL_VERSION),)
> +HOST_NEWLIB_BARE_METAL_VERSION = 4.1.0
> +endif
> +
> +HOST_NEWLIB_BARE_METAL_SITE ?= ftp://sourceware.org/pub/newlib
> +HOST_NEWLIB_BARE_METAL_SOURCE ?= newlib-$(HOST_NEWLIB_BARE_METAL_VERSION).tar.gz

Using '?=' in these two lines seems useless, you should use '='.

> +HOST_NEWLIB_BARE_METAL_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_PACKAGE_HOST_NEWLIB_BARE_METAL_EXTRA_CONFIG_OPTIONS))
> +HOST_NEWLIB_BARE_METAL_DEPENDENCIES = host-gcc-bare-metal
> +
> +HOST_NEWLIB_BARE_METAL_CONF_OPTS = \
> +	--target=$(BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL_ARCH)-elf \
> +	CC_FOR_TARGET=$(HOST_DIR)/bin/$(BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL_ARCH)-elf-gcc \
> +	AR_FOR_TARGET=$(HOST_DIR)/bin/$(BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL_ARCH)-elf-ar \
> +	RANLIB_FOR_TARGET=$(HOST_DIR)/bin/$(BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL_ARCH)-elf-ranlib \
> +	--enable-newlib-io-c99-formats \
> +	--enable-newlib-io-long-long \
> +	--enable-newlib-io-float \
> +	--enable-newlib-io-long-double \
> +	--disable-multilib \
> +	$(NEWLIB_BARE_METAL_EXTRA_CONFIG_OPTIONS)
> +
> +$(eval $(host-autotools-package))



-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2023-09-22 13:12 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-04 10:04 [Buildroot] [PATCH v3 1/6] package/binutils-bare-metal: new package Neal Frager via buildroot
2023-09-04 10:04 ` [Buildroot] [PATCH v3 2/6] package/gcc-bare-metal: " Neal Frager via buildroot
2023-09-22 12:53   ` Luca Ceresoli via buildroot
2023-09-04 10:04 ` [Buildroot] [PATCH v3 3/6] package/newlib-bare-metal: " Neal Frager via buildroot
2023-09-22 12:54   ` Luca Ceresoli via buildroot [this message]
2023-09-04 10:04 ` [Buildroot] [PATCH v3 4/6] package/toolchain-bare-metal: " Neal Frager via buildroot
2023-09-22 12:55   ` Luca Ceresoli via buildroot
2023-09-04 10:04 ` [Buildroot] [PATCH v3 5/6] boot/zynqmp-firmware: new boot firmware Neal Frager via buildroot
2023-09-22 12:57   ` Luca Ceresoli via buildroot
2023-09-04 10:04 ` [Buildroot] [PATCH v3 6/6] boot/uboot.mk: new zynqmp pmufw build option Neal Frager via buildroot
2023-09-22 12:58   ` Luca Ceresoli via buildroot
2023-09-22 12:52 ` [Buildroot] [PATCH v3 1/6] package/binutils-bare-metal: new package Luca Ceresoli via buildroot
2023-09-22 13:34   ` Frager, Neal via buildroot
2023-09-22 13:57     ` Luca Ceresoli via buildroot
2023-09-22 14:57       ` Frager, Neal via buildroot
     [not found]         ` <MN0PR12MB60045761B225083426E7B1A1A0FFA@MN0PR12MB6004.namprd12.prod.outlook.com>
2023-09-23  9:50           ` Frager, Neal via buildroot
2023-09-25  2:59             ` Luca Ceresoli via buildroot
2023-09-25  3:43               ` Frager, Neal via buildroot
2023-10-01 11:24                 ` Peter Korsgaard
2023-10-01 16:11                   ` Frager, Neal via buildroot
2023-10-03  7:15                     ` Luca Ceresoli via buildroot
2023-10-04 21:57                       ` Thomas Petazzoni via buildroot
2023-10-05  5:59                         ` Frager, Neal via buildroot

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=20230922145420.28dd106b@booty \
    --to=buildroot@buildroot.org \
    --cc=ibai.erkiaga-elorza@amd.com \
    --cc=luca.ceresoli@bootlin.com \
    --cc=michal.simek@amd.com \
    --cc=neal.frager@amd.com \
    --cc=thomas.petazzoni@bootlin.com \
    /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 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.