All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/7] Update CI to using GCC 11.0 / LLVM-11
@ 2021-05-03 20:48 Tom Rini
  2021-05-03 20:48 ` [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings Tom Rini
                   ` (6 more replies)
  0 siblings, 7 replies; 28+ messages in thread
From: Tom Rini @ 2021-05-03 20:48 UTC (permalink / raw)
  To: u-boot

Hey all,

This series does most of the work required to move to using GCC-11.0 to
build in CI.  The first thing is I realized I forgot to update buildman
to know to where to fetch gcc-11 from, but I'll take care of that later.
Next, this ends up using the last gcc-11 snapshot as the gcc-11.0
prebuilds aren't quite up on kernel.org, but will be soon.

The real issues here and I'd like some feedback on, and need some help
with are:
- grub + riscv32 + gcc-11 doesn't build, and this seems known but not
  addressed yet.  I don't know what we want to do here as it's for
  running some tests.
- I cannot get x86 to build.  With this series the failures are:
  https://source.denx.de/u-boot/u-boot/-/jobs/263745
  But I can't find a good way to address that multiple definition error
  of _X86EMU_env that doesn't break some other platform.  At heart,
  Chromebooks enable the emulation and we have both chromebook_link and
  chromebook_link64 as builds, so we have both X86_64 and !X86_64
  builds.  I don't know the best way to deal with this, but I also
  wonder if the bios_emulation code doesn't need a rather large cleaning
  perhaps?

-- 
Tom

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

* [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings
  2021-05-03 20:48 [RFC 0/7] Update CI to using GCC 11.0 / LLVM-11 Tom Rini
@ 2021-05-03 20:48 ` Tom Rini
  2021-07-07 17:33   ` Tom Rini
  2021-07-14 20:52   ` Pali Rohár
  2021-05-03 20:48 ` [RFC 2/7] freescale: Drop unnecessary cpld_data_t non-typedef Tom Rini
                   ` (5 subsequent siblings)
  6 siblings, 2 replies; 28+ messages in thread
From: Tom Rini @ 2021-05-03 20:48 UTC (permalink / raw)
  To: u-boot

With gcc-11 we see:
drivers/ddr/marvell/a38x/ddr3_debug.c:672:47: error: argument 2 of type 'u32[5]' {aka 'unsigned int[5]'} with mismatched bound [-Werror=array-parameter=]
  672 | int ddr3_tip_read_adll_value(u32 dev_num, u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
      |                                           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/ddr/marvell/a38x/ddr3_training_ip_engine.h:10,
                 from drivers/ddr/marvell/a38x/ddr3_init.h:17,
                 from drivers/ddr/marvell/a38x/ddr3_debug.c:6:
drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h:116:47: note: previously declared as 'u32[]' {aka 'unsigned int[]'}

And similar warnings.  Correct these by updating the prototype.  Remove
the prototype for ddr3_tip_read_pup_value as it is unused.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h b/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
index ab152cb455e9..55832a55405b 100644
--- a/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
+++ b/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
@@ -8,6 +8,7 @@
 
 #include "ddr3_training_ip.h"
 #include "ddr3_training_ip_db.h"
+#include "mv_ddr_plat.h"
 
 #define KILLER_PATTERN_LENGTH		32
 #define EXT_ACCESS_BURST_LENGTH		8
@@ -112,9 +113,12 @@ int ddr3_tip_configure_odpg(u32 dev_num, enum hws_access_type access_type,
 int ddr3_tip_write_mrs_cmd(u32 dev_num, u32 *cs_mask_arr, enum mr_number mr_num, u32 data, u32 mask);
 int ddr3_tip_write_cs_result(u32 dev_num, u32 offset);
 int ddr3_tip_reset_fifo_ptr(u32 dev_num);
-int ddr3_tip_read_pup_value(u32 dev_num, u32 pup_values[], int reg_addr, u32 mask);
-int ddr3_tip_read_adll_value(u32 dev_num, u32 pup_values[], u32 reg_addr, u32 mask);
-int ddr3_tip_write_adll_value(u32 dev_num, u32 pup_values[], u32 reg_addr);
+int ddr3_tip_read_adll_value(u32 dev_num,
+			     u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
+			     u32 reg_addr, u32 mask);
+int ddr3_tip_write_adll_value(u32 dev_num,
+			      u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
+			      u32 reg_addr);
 int ddr3_tip_tune_training_params(u32 dev_num, struct tune_train_params *params);
 
 #endif /* _DDR3_TRAINING_IP_FLOW_H_ */
-- 
2.17.1

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

* [RFC 2/7] freescale: Drop unnecessary cpld_data_t non-typedef
  2021-05-03 20:48 [RFC 0/7] Update CI to using GCC 11.0 / LLVM-11 Tom Rini
  2021-05-03 20:48 ` [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings Tom Rini
@ 2021-05-03 20:48 ` Tom Rini
  2021-07-07 17:34   ` Tom Rini
  2021-05-03 20:48 ` [RFC 3/7] eb_cpu5282: Declare diplay_width / display_height as externs Tom Rini
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 28+ messages in thread
From: Tom Rini @ 2021-05-03 20:48 UTC (permalink / raw)
  To: u-boot

In some board cpld.h files the definition of the cpld_data struct
not-quite makes a typedef for cpld_data_t.  This problem is caught with
gcc-11 as a multiple definition error.  As there are no users of this
non-typedef, fix this by not declaring it one to begin with.

Cc: Priyanka Jain <priyanka.jain@nxp.com>
Cc: Shengzhou Liu <Shengzhou.Liu@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 board/freescale/t102xrdb/cpld.h | 2 +-
 board/freescale/t104xrdb/cpld.h | 3 +--
 board/freescale/t208xrdb/cpld.h | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/board/freescale/t102xrdb/cpld.h b/board/freescale/t102xrdb/cpld.h
index c05f536806fb..bd40cc319a89 100644
--- a/board/freescale/t102xrdb/cpld.h
+++ b/board/freescale/t102xrdb/cpld.h
@@ -21,7 +21,7 @@ struct cpld_data {
 	u8 boot_override;	/* 0x18 - Boot override register */
 	u8 boot_config1;	/* 0x19 - Boot config override register*/
 	u8 boot_config2;	/* 0x1A - Boot config override register*/
-} cpld_data_t;
+};
 
 
 /* Pointer to the CPLD register set */
diff --git a/board/freescale/t104xrdb/cpld.h b/board/freescale/t104xrdb/cpld.h
index a816aef10a42..769883f9461f 100644
--- a/board/freescale/t104xrdb/cpld.h
+++ b/board/freescale/t104xrdb/cpld.h
@@ -30,8 +30,7 @@ struct cpld_data {
 	u8 boot_override;	/* 0x18 - Boot override register */
 	u8 boot_config1;	/* 0x19 - Boot config override register*/
 	u8 boot_config2;	/* 0x1A - Boot config override register*/
-} cpld_data_t;
-
+};
 
 /* Pointer to the CPLD register set */
 
diff --git a/board/freescale/t208xrdb/cpld.h b/board/freescale/t208xrdb/cpld.h
index bd6c203742e3..a623b1811faf 100644
--- a/board/freescale/t208xrdb/cpld.h
+++ b/board/freescale/t208xrdb/cpld.h
@@ -21,7 +21,7 @@ struct cpld_data {
 	u8 boot_or;		/* 0x16 - Boot config override register */
 	u8 boot_cfg1;		/* 0x17 - Boot configuration register 1 */
 	u8 boot_cfg2;		/* 0x18 - Boot configuration register 2 */
-} cpld_data_t;
+};
 
 u8 cpld_read(unsigned int reg);
 void cpld_write(unsigned int reg, u8 value);
-- 
2.17.1

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

* [RFC 3/7] eb_cpu5282: Declare diplay_width / display_height as externs
  2021-05-03 20:48 [RFC 0/7] Update CI to using GCC 11.0 / LLVM-11 Tom Rini
  2021-05-03 20:48 ` [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings Tom Rini
  2021-05-03 20:48 ` [RFC 2/7] freescale: Drop unnecessary cpld_data_t non-typedef Tom Rini
@ 2021-05-03 20:48 ` Tom Rini
  2021-07-07 17:34   ` Tom Rini
  2021-05-03 20:48 ` [RFC 4/7] pinctrl: mscc: Fix multiple definition error Tom Rini
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 28+ messages in thread
From: Tom Rini @ 2021-05-03 20:48 UTC (permalink / raw)
  To: u-boot

The board code here references the display_width / display_height
variables set in the video driver, declare these as externs as gcc-11
will notice and lead to a multiple definition error.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 board/BuS/eb_cpu5282/eb_cpu5282.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/board/BuS/eb_cpu5282/eb_cpu5282.c b/board/BuS/eb_cpu5282/eb_cpu5282.c
index 153ed0e963b0..144a08922b10 100644
--- a/board/BuS/eb_cpu5282/eb_cpu5282.c
+++ b/board/BuS/eb_cpu5282/eb_cpu5282.c
@@ -22,8 +22,8 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 #if IS_ENABLED(CONFIG_VIDEO_VCXK)
-unsigned long display_width;
-unsigned long display_height;
+extern unsigned long display_width;
+extern unsigned long display_height;
 #endif
 
 /*---------------------------------------------------------------------------*/
-- 
2.17.1

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

* [RFC 4/7] pinctrl: mscc: Fix multiple definition error
  2021-05-03 20:48 [RFC 0/7] Update CI to using GCC 11.0 / LLVM-11 Tom Rini
                   ` (2 preceding siblings ...)
  2021-05-03 20:48 ` [RFC 3/7] eb_cpu5282: Declare diplay_width / display_height as externs Tom Rini
@ 2021-05-03 20:48 ` Tom Rini
  2021-05-04  7:51   ` Horatiu Vultur
                     ` (2 more replies)
  2021-05-03 20:48 ` [RFC 5/7] Makefile: Disable gcc-10.0 warnings Tom Rini
                   ` (2 subsequent siblings)
  6 siblings, 3 replies; 28+ messages in thread
From: Tom Rini @ 2021-05-03 20:48 UTC (permalink / raw)
  To: u-boot

With gcc-11 we get a multiple errors here as the declarations for
mscc_pinctrl_ops and mscc_gpio_ops are missing an extern.

CC: Gregory CLEMENT <gregory.clement@bootlin.com>
Cc: Lars Povlsen <lars.povlsen@microchip.com>
Cc: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 drivers/pinctrl/mscc/mscc-common.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/mscc/mscc-common.h b/drivers/pinctrl/mscc/mscc-common.h
index 3c5c1faf840f..49c84a9f410b 100644
--- a/drivers/pinctrl/mscc/mscc-common.h
+++ b/drivers/pinctrl/mscc/mscc-common.h
@@ -61,6 +61,6 @@ int mscc_pinctrl_probe(struct udevice *dev, int num_func,
 		       const struct mscc_pin_data *mscc_pins, int num_pins,
 		       char * const *function_names,
 		       const unsigned long *mscc_gpios);
-const struct pinctrl_ops mscc_pinctrl_ops;
+extern const struct pinctrl_ops mscc_pinctrl_ops;
 
-const struct dm_gpio_ops mscc_gpio_ops;
+extern const struct dm_gpio_ops mscc_gpio_ops;
-- 
2.17.1

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

* [RFC 5/7] Makefile: Disable gcc-10.0 warnings
  2021-05-03 20:48 [RFC 0/7] Update CI to using GCC 11.0 / LLVM-11 Tom Rini
                   ` (3 preceding siblings ...)
  2021-05-03 20:48 ` [RFC 4/7] pinctrl: mscc: Fix multiple definition error Tom Rini
@ 2021-05-03 20:48 ` Tom Rini
  2021-07-07 17:34   ` Tom Rini
  2021-05-03 20:48 ` [RFC 6/7] bootstage: Eliminate when not enabled Tom Rini
  2021-05-03 20:48 ` [RFC 7/7] TEST: Move to gcc-11.0 prerelease and LLVM-11 Tom Rini
  6 siblings, 1 reply; 28+ messages in thread
From: Tom Rini @ 2021-05-03 20:48 UTC (permalink / raw)
  To: u-boot

Based on 5c45de21a2223, 44720996e2d79 and 5a76021c2eff7 in Linux

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 Makefile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Makefile b/Makefile
index 404977efa527..aaa9a0495e69 100644
--- a/Makefile
+++ b/Makefile
@@ -687,6 +687,10 @@ KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks)
 # disable stringop warnings in gcc 8+
 KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
 
+KBUILD_CFLAGS += $(call cc-disable-warning, zero-length-bounds)
+KBUILD_CFLAGS += $(call cc-disable-warning, array-bounds)
+KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
+
 # Enabled with W=2, disabled by default as noisy
 KBUILD_CFLAGS += $(call cc-disable-warning, maybe-uninitialized)
 
-- 
2.17.1

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

* [RFC 6/7] bootstage: Eliminate when not enabled
  2021-05-03 20:48 [RFC 0/7] Update CI to using GCC 11.0 / LLVM-11 Tom Rini
                   ` (4 preceding siblings ...)
  2021-05-03 20:48 ` [RFC 5/7] Makefile: Disable gcc-10.0 warnings Tom Rini
@ 2021-05-03 20:48 ` Tom Rini
  2021-07-07 17:34   ` Tom Rini
  2021-05-03 20:48 ` [RFC 7/7] TEST: Move to gcc-11.0 prerelease and LLVM-11 Tom Rini
  6 siblings, 1 reply; 28+ messages in thread
From: Tom Rini @ 2021-05-03 20:48 UTC (permalink / raw)
  To: u-boot

When we do not have bootstage enabled, rather than include an empty
dummy function, we just don't reference it.  This saves us space in some
tight builds.  This also shows a few cases where show_boot_progress was
incorrectly guarded before.

Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
Moving to gcc-11 causes at least one well maintained and used board to
now run out of space, and this saves us 400 bytes in SPL.
---
 arch/x86/cpu/cpu.c                    | 2 ++
 board/Seagate/dockstar/dockstar.c     | 2 ++
 board/Seagate/goflexhome/goflexhome.c | 2 ++
 board/bosch/shc/board.c               | 6 +++---
 board/buffalo/lsxl/lsxl.c             | 2 +-
 board/k+p/kp_imx53/kp_imx53.c         | 2 ++
 board/st/stv0991/stv0991.c            | 2 +-
 common/init/board_init.c              | 2 ++
 common/spl/spl.c                      | 2 ++
 include/bootstage.h                   | 4 +++-
 10 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c
index 9c4edfcbfdaa..01dece5769c8 100644
--- a/arch/x86/cpu/cpu.c
+++ b/arch/x86/cpu/cpu.c
@@ -178,10 +178,12 @@ int default_print_cpuinfo(void)
 	return 0;
 }
 
+#if CONFIG_IS_ENABLED(BOOTSTAGE)
 void show_boot_progress(int val)
 {
 	outb(val, POST_PORT);
 }
+#endif
 
 #if !defined(CONFIG_SYS_COREBOOT) && !defined(CONFIG_EFI_STUB)
 /*
diff --git a/board/Seagate/dockstar/dockstar.c b/board/Seagate/dockstar/dockstar.c
index 380e37be5502..fb6919315804 100644
--- a/board/Seagate/dockstar/dockstar.c
+++ b/board/Seagate/dockstar/dockstar.c
@@ -140,6 +140,7 @@ void reset_phy(void)
 }
 #endif /* CONFIG_RESET_PHY_R */
 
+#if CONFIG_IS_ENABLED(BOOTSTAGE)
 #define GREEN_LED	(1 << 14)
 #define ORANGE_LED	(1 << 15)
 #define BOTH_LEDS	(GREEN_LED | ORANGE_LED)
@@ -169,3 +170,4 @@ void show_boot_progress(int val)
 		break;
 	}
 }
+#endif
diff --git a/board/Seagate/goflexhome/goflexhome.c b/board/Seagate/goflexhome/goflexhome.c
index 4c19fa7195e8..af8cab7bdc73 100644
--- a/board/Seagate/goflexhome/goflexhome.c
+++ b/board/Seagate/goflexhome/goflexhome.c
@@ -142,6 +142,7 @@ void reset_phy(void)
 }
 #endif /* CONFIG_RESET_PHY_R */
 
+#if CONFIG_IS_ENABLED(BOOTSTAGE)
 #define GREEN_LED	(1 << 14)
 #define ORANGE_LED	(1 << 15)
 #define BOTH_LEDS	(GREEN_LED | ORANGE_LED)
@@ -175,3 +176,4 @@ void show_boot_progress(int val)
 		break;
 	}
 }
+#endif
diff --git a/board/bosch/shc/board.c b/board/bosch/shc/board.c
index e89378188728..01d9ce4f71f9 100644
--- a/board/bosch/shc/board.c
+++ b/board/bosch/shc/board.c
@@ -188,7 +188,7 @@ static void __maybe_unused leds_set_booting(void)
 /*
  * Function to set the LEDs in the state "Bootloader error"
  */
-static void leds_set_failure(int state)
+static void __maybe_unused leds_set_failure(int state)
 {
 #if defined(CONFIG_B_SAMPLE)
 	/* Turn all blue and green LEDs off */
@@ -479,7 +479,7 @@ int board_eth_init(struct bd_info *bis)
 }
 #endif
 
-#ifdef CONFIG_SHOW_BOOT_PROGRESS
+#if CONFIG_IS_ENABLED(BOOTSTAGE)
 static void bosch_check_reset_pin(void)
 {
 	if (readl(GPIO1_BASE + OMAP_GPIO_IRQSTATUS_SET_0) & RESET_MASK) {
@@ -525,9 +525,9 @@ void show_boot_progress(int val)
 		break;
 	}
 }
+#endif
 
 void arch_preboot_os(void)
 {
 	leds_set_finish();
 }
-#endif
diff --git a/board/buffalo/lsxl/lsxl.c b/board/buffalo/lsxl/lsxl.c
index 34be601fdde6..738b6bc25cea 100644
--- a/board/buffalo/lsxl/lsxl.c
+++ b/board/buffalo/lsxl/lsxl.c
@@ -271,7 +271,7 @@ int misc_init_r(void)
 }
 #endif
 
-#ifdef CONFIG_SHOW_BOOT_PROGRESS
+#if CONFIG_IS_ENABLED(BOOTSTAGE)
 void show_boot_progress(int progress)
 {
 	if (progress > 0)
diff --git a/board/k+p/kp_imx53/kp_imx53.c b/board/k+p/kp_imx53/kp_imx53.c
index cc8118b4ad4f..7c3a695cb258 100644
--- a/board/k+p/kp_imx53/kp_imx53.c
+++ b/board/k+p/kp_imx53/kp_imx53.c
@@ -155,6 +155,7 @@ int board_late_init(void)
 	return ret;
 }
 
+#if CONFIG_IS_ENABLED(BOOTSTAGE)
 #define GPIO_DR 0x0
 #define GPIO_GDIR 0x4
 #define GPIO_ALT1 0x1
@@ -203,3 +204,4 @@ void show_boot_progress(int status)
 		gpio_direction_output(LED_RED, 1);
 	}
 }
+#endif
diff --git a/board/st/stv0991/stv0991.c b/board/st/stv0991/stv0991.c
index 3b0de82db283..57ca9f659c16 100644
--- a/board/st/stv0991/stv0991.c
+++ b/board/st/stv0991/stv0991.c
@@ -37,7 +37,7 @@ U_BOOT_DRVINFO(stv09911_serials) = {
 };
 #endif
 
-#ifdef CONFIG_SHOW_BOOT_PROGRESS
+#if CONFIG_IS_ENABLED(BOOTSTAGE)
 void show_boot_progress(int progress)
 {
 	printf("%i\n", progress);
diff --git a/common/init/board_init.c b/common/init/board_init.c
index 3f183ee11326..0965b96fa3ad 100644
--- a/common/init/board_init.c
+++ b/common/init/board_init.c
@@ -166,7 +166,9 @@ void board_init_f_init_reserve(ulong base)
 		board_init_f_init_stack_protection();
 }
 
+#if CONFIG_IS_ENABLED(BOOTSTAGE)
 /*
  * Board-specific Platform code can reimplement show_boot_progress () if needed
  */
 __weak void show_boot_progress(int val) {}
+#endif
diff --git a/common/spl/spl.c b/common/spl/spl.c
index a0a608fd7725..eba77cace6df 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -58,10 +58,12 @@ binman_sym_declare(ulong, spl, size);
 /* Define board data structure */
 static struct bd_info bdata __attribute__ ((section(".data")));
 
+#if CONFIG_IS_ENABLED(BOOTSTAGE)
 /*
  * Board-specific Platform code can reimplement show_boot_progress () if needed
  */
 __weak void show_boot_progress(int val) {}
+#endif
 
 #if defined(CONFIG_SPL_OS_BOOT) || CONFIG_IS_ENABLED(HANDOFF) || \
 	defined(CONFIG_SPL_ATF)
diff --git a/include/bootstage.h b/include/bootstage.h
index 00c85fb86aa2..f837a387c8c7 100644
--- a/include/bootstage.h
+++ b/include/bootstage.h
@@ -11,6 +11,8 @@
 #ifndef _BOOTSTAGE_H
 #define _BOOTSTAGE_H
 
+#include <linux/kconfig.h>
+
 /* Flags for each bootstage record */
 enum bootstage_flags {
 	BOOTSTAGEF_ERROR	= 1 << 0,	/* Error record */
@@ -218,7 +220,7 @@ enum bootstage_id {
  */
 ulong timer_get_boot_us(void);
 
-#if defined(USE_HOSTCC)
+#if defined(USE_HOSTCC) || !CONFIG_IS_ENABLED(BOOTSTAGE)
 #define show_boot_progress(val) do {} while (0)
 #else
 /**
-- 
2.17.1

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

* [RFC 7/7] TEST: Move to gcc-11.0 prerelease and LLVM-11
  2021-05-03 20:48 [RFC 0/7] Update CI to using GCC 11.0 / LLVM-11 Tom Rini
                   ` (5 preceding siblings ...)
  2021-05-03 20:48 ` [RFC 6/7] bootstage: Eliminate when not enabled Tom Rini
@ 2021-05-03 20:48 ` Tom Rini
  2021-06-16 19:58   ` [RFCv2] " Tom Rini
  2021-06-16 20:00   ` [RFCv3] Azure/GitLab: Move to gcc-11.1.0 " Tom Rini
  6 siblings, 2 replies; 28+ messages in thread
From: Tom Rini @ 2021-05-03 20:48 UTC (permalink / raw)
  To: u-boot

- gcc-11.0 proper is coming soon to kernel.org, use this snapshot for
  now to see what fails.
- grub-2.04 does not build with gcc-11.0 due to -Werror, grub-2.06-rc1
  fails on riscv32-linux as seen here:
  https://www.mail-archive.com/grub-devel at gnu.org/msg30736.html

Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 .azure-pipelines.yml    |  3 +-
 .gitlab-ci.yml          |  3 +-
 tools/docker/Dockerfile | 74 +++++++++++++++++------------------------
 3 files changed, 32 insertions(+), 48 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 59e99b8894c5..28e4d53ece71 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -2,7 +2,7 @@ variables:
   windows_vm: vs2017-win2016
   ubuntu_vm: ubuntu-18.04
   macos_vm: macOS-10.15
-  ci_runner_image: trini/u-boot-gitlab-ci-runner:bionic-20200807-02Sep2020
+  ci_runner_image: trini/u-boot-gitlab-ci-runner:bionic-20210416-29Apr2021
   # Add '-u 0' options for Azure pipelines, otherwise we get "permission
   # denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
   # since our $(ci_runner_image) user is not root.
@@ -312,7 +312,6 @@ jobs:
           cp ~/grub_x86.efi ${UBOOT_TRAVIS_BUILD_DIR}/
           cp ~/grub_x64.efi ${UBOOT_TRAVIS_BUILD_DIR}/
           cp /opt/grub/grubriscv64.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_riscv64.efi
-          cp /opt/grub/grubriscv32.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_riscv32.efi
           cp /opt/grub/grubaa64.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_arm64.efi
           cp /opt/grub/grubarm.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_arm.efi
           virtualenv -p /usr/bin/python3 /tmp/venv
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bff487404f30..02dc8449ecf9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@
 
 # Grab our configured image.  The source for this is found at:
 # https://source.denx.de/u-boot/gitlab-ci-runner
-image: trini/u-boot-gitlab-ci-runner:bionic-20200807-02Sep2020
+image: trini/u-boot-gitlab-ci-runner:bionic-20210416-29Apr2021
 
 # We run some tests in different order, to catch some failures quicker.
 stages:
@@ -38,7 +38,6 @@ stages:
     - cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/
     - cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/
     - cp /opt/grub/grubriscv64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_riscv64.efi
-    - cp /opt/grub/grubriscv32.efi $UBOOT_TRAVIS_BUILD_DIR/grub_riscv32.efi
     - cp /opt/grub/grubaa64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi
     - cp /opt/grub/grubarm.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi
     - virtualenv -p /usr/bin/python3 /tmp/venv
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index d2f0074ee8a6..fb3155b7a28d 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -2,7 +2,7 @@
 # This Dockerfile is used to build an image containing basic stuff to be used
 # to build U-Boot and run our test suites.
 
-FROM ubuntu:bionic-20200807
+FROM ubuntu:bionic-20210416
 MAINTAINER Tom Rini <trini@konsulko.com>
 LABEL Description=" This image is for building U-Boot inside a container"
 
@@ -12,20 +12,20 @@ ENV DEBIAN_FRONTEND=noninteractive
 # Add LLVM repository
 RUN apt-get update && apt-get install -y gnupg2 wget xz-utils && rm -rf /var/lib/apt/lists/*
 RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
-RUN echo deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main | tee /etc/apt/sources.list.d/llvm.list
+RUN echo deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main | tee /etc/apt/sources.list.d/llvm.list
 
 # Manually install the kernel.org "Crosstool" based toolchains for gcc-7.3
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-aarch64-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-arm-linux-gnueabi.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-i386-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-m68k-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-mips-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-microblaze-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-nios2-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-powerpc-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-riscv32-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-riscv64-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-sh2-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-aarch64-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-arm-linux-gnueabi.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-i386-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-m68k-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-mips-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-microblaze-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-nios2-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-powerpc-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-riscv32-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-riscv64-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-sh2-linux.tar.xz | tar -C /opt -xJ
 
 # Manually install other toolchains
 RUN wget -O - https://github.com/foss-xtensa/toolchain/releases/download/2018.02/x86_64-2018.02-xtensa-dc233c-elf.tar.gz | tar -C /opt -xz
@@ -118,16 +118,16 @@ RUN git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.g
 # Build GRUB UEFI targets for ARM & RISC-V, 32-bit and 64-bit
 RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
 	cd /tmp/grub && \
-	git checkout grub-2.04 && \
+	git checkout grub-2.06-rc1 && \
 	./bootstrap && \
 	mkdir -p /opt/grub && \
 	./configure --target=aarch64 --with-platform=efi \
 	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-ranlib && \
+	TARGET_CC=/opt/gcc-11.0.20210426-nolibc/aarch64-linux/bin/aarch64-linux-gcc \
+	TARGET_OBJCOPY=/opt/gcc-11.0.20210426-nolibc/aarch64-linux/bin/aarch64-linux-objcopy \
+	TARGET_STRIP=/opt/gcc-11.0.20210426-nolibc/aarch64-linux/bin/aarch64-linux-strip \
+	TARGET_NM=/opt/gcc-11.0.20210426-nolibc/aarch64-linux/bin/aarch64-linux-nm \
+	TARGET_RANLIB=/opt/gcc-11.0.20210426-nolibc/aarch64-linux/bin/aarch64-linux-ranlib && \
 	make && \
 	./grub-mkimage -O arm64-efi -o /opt/grub/grubaa64.efi --prefix= -d \
 	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
@@ -137,11 +137,11 @@ RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
 	make clean && \
 	./configure --target=arm --with-platform=efi \
 	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ranlib && \
+	TARGET_CC=/opt/gcc-11.0.20210426-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc \
+	TARGET_OBJCOPY=/opt/gcc-11.0.20210426-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-objcopy \
+	TARGET_STRIP=/opt/gcc-11.0.20210426-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-strip \
+	TARGET_NM=/opt/gcc-11.0.20210426-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-nm \
+	TARGET_RANLIB=/opt/gcc-11.0.20210426-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ranlib && \
 	make && \
 	./grub-mkimage -O arm-efi -o /opt/grub/grubarm.efi --prefix= -d \
 	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
@@ -151,31 +151,17 @@ RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
 	make clean && \
 	./configure --target=riscv64 --with-platform=efi \
 	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ranlib && \
+	TARGET_CC=/opt/gcc-11.0.20210426-nolibc/riscv64-linux/bin/riscv64-linux-gcc \
+	TARGET_OBJCOPY=/opt/gcc-11.0.20210426-nolibc/riscv64-linux/bin/riscv64-linux-objcopy \
+	TARGET_STRIP=/opt/gcc-11.0.20210426-nolibc/riscv64-linux/bin/riscv64-linux-strip \
+	TARGET_NM=/opt/gcc-11.0.20210426-nolibc/riscv64-linux/bin/riscv64-linux-nm \
+	TARGET_RANLIB=/opt/gcc-11.0.20210426-nolibc/riscv64-linux/bin/riscv64-linux-ranlib && \
 	make && \
 	./grub-mkimage -O riscv64-efi -o /opt/grub/grubriscv64.efi --prefix= -d \
 	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
 	lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot \
 	search search_fs_file search_fs_uuid search_label serial sleep test \
 	true && \
-	make clean && \
-	./configure --target=riscv32 --with-platform=efi \
-	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-ranlib && \
-	make && \
-	./grub-mkimage -O riscv32-efi -o /opt/grub/grubriscv32.efi --prefix= -d \
-	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
-	lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot \
-	search search_fs_file search_fs_uuid search_label serial sleep test \
-	true && \
 	rm -rf /tmp/grub
 
 RUN git clone git://git.qemu.org/qemu.git /tmp/qemu && \
@@ -193,7 +179,7 @@ USER uboot:uboot
 
 # Create the buildman config file
 RUN /bin/echo -e "[toolchain]\nroot = /usr" > ~/.buildman
-RUN /bin/echo -e "kernelorg = /opt/gcc-9.2.0-nolibc/*" >> ~/.buildman
+RUN /bin/echo -e "kernelorg = /opt/gcc-11.0.20210426-nolibc/*" >> ~/.buildman
 RUN /bin/echo -e "arc = /opt/arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
 RUN /bin/echo -e "\n[toolchain-prefix]\nxtensa = /opt/2018.02/xtensa-dc233c-elf/bin/xtensa-dc233c-elf-" >> ~/.buildman;
 RUN /bin/echo -e "\nnds32 = /opt/nds32le-linux-glibc-v3-upstream/bin/nds32le-linux-" >> ~/.buildman;
-- 
2.17.1

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

* [RFC 4/7] pinctrl: mscc: Fix multiple definition error
  2021-05-03 20:48 ` [RFC 4/7] pinctrl: mscc: Fix multiple definition error Tom Rini
@ 2021-05-04  7:51   ` Horatiu Vultur
  2021-05-04 18:57   ` Daniel Schwierzeck
  2021-07-07 17:34   ` Tom Rini
  2 siblings, 0 replies; 28+ messages in thread
From: Horatiu Vultur @ 2021-05-04  7:51 UTC (permalink / raw)
  To: u-boot

The 05/03/2021 16:48, Tom Rini wrote:
> 
> With gcc-11 we get a multiple errors here as the declarations for
> mscc_pinctrl_ops and mscc_gpio_ops are missing an extern.

Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com>

> 
> CC: Gregory CLEMENT <gregory.clement@bootlin.com>
> Cc: Lars Povlsen <lars.povlsen@microchip.com>
> Cc: Horatiu Vultur <horatiu.vultur@microchip.com>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>  drivers/pinctrl/mscc/mscc-common.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pinctrl/mscc/mscc-common.h b/drivers/pinctrl/mscc/mscc-common.h
> index 3c5c1faf840f..49c84a9f410b 100644
> --- a/drivers/pinctrl/mscc/mscc-common.h
> +++ b/drivers/pinctrl/mscc/mscc-common.h
> @@ -61,6 +61,6 @@ int mscc_pinctrl_probe(struct udevice *dev, int num_func,
>                        const struct mscc_pin_data *mscc_pins, int num_pins,
>                        char * const *function_names,
>                        const unsigned long *mscc_gpios);
> -const struct pinctrl_ops mscc_pinctrl_ops;
> +extern const struct pinctrl_ops mscc_pinctrl_ops;
> 
> -const struct dm_gpio_ops mscc_gpio_ops;
> +extern const struct dm_gpio_ops mscc_gpio_ops;
> --
> 2.17.1
> 

-- 
/Horatiu

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

* [RFC 4/7] pinctrl: mscc: Fix multiple definition error
  2021-05-03 20:48 ` [RFC 4/7] pinctrl: mscc: Fix multiple definition error Tom Rini
  2021-05-04  7:51   ` Horatiu Vultur
@ 2021-05-04 18:57   ` Daniel Schwierzeck
  2021-07-07 17:34   ` Tom Rini
  2 siblings, 0 replies; 28+ messages in thread
From: Daniel Schwierzeck @ 2021-05-04 18:57 UTC (permalink / raw)
  To: u-boot

Am Montag, den 03.05.2021, 16:48 -0400 schrieb Tom Rini:
> With gcc-11 we get a multiple errors here as the declarations for
> mscc_pinctrl_ops and mscc_gpio_ops are missing an extern.
> 
> CC: Gregory CLEMENT <gregory.clement@bootlin.com>
> Cc: Lars Povlsen <lars.povlsen@microchip.com>
> Cc: Horatiu Vultur <horatiu.vultur@microchip.com>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>  drivers/pinctrl/mscc/mscc-common.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 

Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>

-- Daniel

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

* [RFCv2] TEST: Move to gcc-11.0 prerelease and LLVM-11
  2021-05-03 20:48 ` [RFC 7/7] TEST: Move to gcc-11.0 prerelease and LLVM-11 Tom Rini
@ 2021-06-16 19:58   ` Tom Rini
  2021-06-16 20:00   ` [RFCv3] Azure/GitLab: Move to gcc-11.1.0 " Tom Rini
  1 sibling, 0 replies; 28+ messages in thread
From: Tom Rini @ 2021-06-16 19:58 UTC (permalink / raw)
  To: u-boot; +Cc: Heinrich Schuchardt, Simon Glass, Bin Meng

- gcc-11.0 proper is coming soon to kernel.org, use this snapshot for
  now to see what fails.
- grub-2.04 does not build with gcc-11.0 due to -Werror, grub-2.06-rc1
  fails on riscv32-linux as seen here:
  https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html

Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
Note that right now this causes x86 to fail to link, which I did not see
with gcc-11.0 tests.
---
 .azure-pipelines.yml    |  3 +-
 .gitlab-ci.yml          |  3 +-
 tools/docker/Dockerfile | 74 +++++++++++++++++------------------------
 3 files changed, 32 insertions(+), 48 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 59e99b8894c5..28e4d53ece71 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -2,7 +2,7 @@ variables:
   windows_vm: vs2017-win2016
   ubuntu_vm: ubuntu-18.04
   macos_vm: macOS-10.15
-  ci_runner_image: trini/u-boot-gitlab-ci-runner:bionic-20200807-02Sep2020
+  ci_runner_image: trini/u-boot-gitlab-ci-runner:bionic-20210416-29Apr2021
   # Add '-u 0' options for Azure pipelines, otherwise we get "permission
   # denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
   # since our $(ci_runner_image) user is not root.
@@ -312,7 +312,6 @@ jobs:
           cp ~/grub_x86.efi ${UBOOT_TRAVIS_BUILD_DIR}/
           cp ~/grub_x64.efi ${UBOOT_TRAVIS_BUILD_DIR}/
           cp /opt/grub/grubriscv64.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_riscv64.efi
-          cp /opt/grub/grubriscv32.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_riscv32.efi
           cp /opt/grub/grubaa64.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_arm64.efi
           cp /opt/grub/grubarm.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_arm.efi
           virtualenv -p /usr/bin/python3 /tmp/venv
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bff487404f30..02dc8449ecf9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@
 
 # Grab our configured image.  The source for this is found at:
 # https://source.denx.de/u-boot/gitlab-ci-runner
-image: trini/u-boot-gitlab-ci-runner:bionic-20200807-02Sep2020
+image: trini/u-boot-gitlab-ci-runner:bionic-20210416-29Apr2021
 
 # We run some tests in different order, to catch some failures quicker.
 stages:
@@ -38,7 +38,6 @@ stages:
     - cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/
     - cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/
     - cp /opt/grub/grubriscv64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_riscv64.efi
-    - cp /opt/grub/grubriscv32.efi $UBOOT_TRAVIS_BUILD_DIR/grub_riscv32.efi
     - cp /opt/grub/grubaa64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi
     - cp /opt/grub/grubarm.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi
     - virtualenv -p /usr/bin/python3 /tmp/venv
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index d2f0074ee8a6..fb3155b7a28d 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -2,7 +2,7 @@
 # This Dockerfile is used to build an image containing basic stuff to be used
 # to build U-Boot and run our test suites.
 
-FROM ubuntu:bionic-20200807
+FROM ubuntu:bionic-20210416
 MAINTAINER Tom Rini <trini@konsulko.com>
 LABEL Description=" This image is for building U-Boot inside a container"
 
@@ -12,20 +12,20 @@ ENV DEBIAN_FRONTEND=noninteractive
 # Add LLVM repository
 RUN apt-get update && apt-get install -y gnupg2 wget xz-utils && rm -rf /var/lib/apt/lists/*
 RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
-RUN echo deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main | tee /etc/apt/sources.list.d/llvm.list
+RUN echo deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main | tee /etc/apt/sources.list.d/llvm.list
 
 # Manually install the kernel.org "Crosstool" based toolchains for gcc-7.3
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-aarch64-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-arm-linux-gnueabi.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-i386-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-m68k-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-mips-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-microblaze-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-nios2-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-powerpc-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-riscv32-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-riscv64-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-sh2-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-aarch64-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-arm-linux-gnueabi.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-i386-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-m68k-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-mips-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-microblaze-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-nios2-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-powerpc-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-riscv32-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-riscv64-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.0.20210426/x86_64-gcc-11.0.20210426-nolibc-sh2-linux.tar.xz | tar -C /opt -xJ
 
 # Manually install other toolchains
 RUN wget -O - https://github.com/foss-xtensa/toolchain/releases/download/2018.02/x86_64-2018.02-xtensa-dc233c-elf.tar.gz | tar -C /opt -xz
@@ -118,16 +118,16 @@ RUN git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.g
 # Build GRUB UEFI targets for ARM & RISC-V, 32-bit and 64-bit
 RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
 	cd /tmp/grub && \
-	git checkout grub-2.04 && \
+	git checkout grub-2.06-rc1 && \
 	./bootstrap && \
 	mkdir -p /opt/grub && \
 	./configure --target=aarch64 --with-platform=efi \
 	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-ranlib && \
+	TARGET_CC=/opt/gcc-11.0.20210426-nolibc/aarch64-linux/bin/aarch64-linux-gcc \
+	TARGET_OBJCOPY=/opt/gcc-11.0.20210426-nolibc/aarch64-linux/bin/aarch64-linux-objcopy \
+	TARGET_STRIP=/opt/gcc-11.0.20210426-nolibc/aarch64-linux/bin/aarch64-linux-strip \
+	TARGET_NM=/opt/gcc-11.0.20210426-nolibc/aarch64-linux/bin/aarch64-linux-nm \
+	TARGET_RANLIB=/opt/gcc-11.0.20210426-nolibc/aarch64-linux/bin/aarch64-linux-ranlib && \
 	make && \
 	./grub-mkimage -O arm64-efi -o /opt/grub/grubaa64.efi --prefix= -d \
 	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
@@ -137,11 +137,11 @@ RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
 	make clean && \
 	./configure --target=arm --with-platform=efi \
 	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ranlib && \
+	TARGET_CC=/opt/gcc-11.0.20210426-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc \
+	TARGET_OBJCOPY=/opt/gcc-11.0.20210426-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-objcopy \
+	TARGET_STRIP=/opt/gcc-11.0.20210426-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-strip \
+	TARGET_NM=/opt/gcc-11.0.20210426-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-nm \
+	TARGET_RANLIB=/opt/gcc-11.0.20210426-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ranlib && \
 	make && \
 	./grub-mkimage -O arm-efi -o /opt/grub/grubarm.efi --prefix= -d \
 	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
@@ -151,31 +151,17 @@ RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
 	make clean && \
 	./configure --target=riscv64 --with-platform=efi \
 	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ranlib && \
+	TARGET_CC=/opt/gcc-11.0.20210426-nolibc/riscv64-linux/bin/riscv64-linux-gcc \
+	TARGET_OBJCOPY=/opt/gcc-11.0.20210426-nolibc/riscv64-linux/bin/riscv64-linux-objcopy \
+	TARGET_STRIP=/opt/gcc-11.0.20210426-nolibc/riscv64-linux/bin/riscv64-linux-strip \
+	TARGET_NM=/opt/gcc-11.0.20210426-nolibc/riscv64-linux/bin/riscv64-linux-nm \
+	TARGET_RANLIB=/opt/gcc-11.0.20210426-nolibc/riscv64-linux/bin/riscv64-linux-ranlib && \
 	make && \
 	./grub-mkimage -O riscv64-efi -o /opt/grub/grubriscv64.efi --prefix= -d \
 	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
 	lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot \
 	search search_fs_file search_fs_uuid search_label serial sleep test \
 	true && \
-	make clean && \
-	./configure --target=riscv32 --with-platform=efi \
-	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-ranlib && \
-	make && \
-	./grub-mkimage -O riscv32-efi -o /opt/grub/grubriscv32.efi --prefix= -d \
-	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
-	lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot \
-	search search_fs_file search_fs_uuid search_label serial sleep test \
-	true && \
 	rm -rf /tmp/grub
 
 RUN git clone git://git.qemu.org/qemu.git /tmp/qemu && \
@@ -193,7 +179,7 @@ USER uboot:uboot
 
 # Create the buildman config file
 RUN /bin/echo -e "[toolchain]\nroot = /usr" > ~/.buildman
-RUN /bin/echo -e "kernelorg = /opt/gcc-9.2.0-nolibc/*" >> ~/.buildman
+RUN /bin/echo -e "kernelorg = /opt/gcc-11.0.20210426-nolibc/*" >> ~/.buildman
 RUN /bin/echo -e "arc = /opt/arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
 RUN /bin/echo -e "\n[toolchain-prefix]\nxtensa = /opt/2018.02/xtensa-dc233c-elf/bin/xtensa-dc233c-elf-" >> ~/.buildman;
 RUN /bin/echo -e "\nnds32 = /opt/nds32le-linux-glibc-v3-upstream/bin/nds32le-linux-" >> ~/.buildman;
-- 
2.17.1


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

* [RFCv3] Azure/GitLab: Move to gcc-11.1.0 and LLVM-11
  2021-05-03 20:48 ` [RFC 7/7] TEST: Move to gcc-11.0 prerelease and LLVM-11 Tom Rini
  2021-06-16 19:58   ` [RFCv2] " Tom Rini
@ 2021-06-16 20:00   ` Tom Rini
  2021-06-17  8:27     ` Bin Meng
  1 sibling, 1 reply; 28+ messages in thread
From: Tom Rini @ 2021-06-16 20:00 UTC (permalink / raw)
  To: u-boot; +Cc: Heinrich Schuchardt, Bin Meng, Simon Glass, Rick Chen

- Move to gcc-11.1.0 builds from kernel.org for supported platforms and
  LLVM-11 for those tests.
- grub-2.06 does not build with gcc-11.1.0 on riscv32 as seen here:
  https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html
  so drop it.
- Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains

Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Rick Chen <rick@andestech.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
Changes in v3:
- Post the right patch this time.
- Switch to gcc-11.1.0 builds rather than pre-release
- grub-2.06 is out, use that rather than -rc1
- Update Xtensa and ARC toolchains.
- Note that right now this causes x86 to fail to link, which I did not
  see with gcc-11.0 tests.

Changes in v2:
- None, I re-sent v1 by accident
---
 .azure-pipelines.yml    |  3 +-
 .gitlab-ci.yml          |  3 +-
 tools/docker/Dockerfile | 83 ++++++++++++++++-------------------------
 3 files changed, 35 insertions(+), 54 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 5ac4d648ec9e..3d4cd76c6061 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -2,7 +2,7 @@ variables:
   windows_vm: vs2017-win2016
   ubuntu_vm: ubuntu-18.04
   macos_vm: macOS-10.15
-  ci_runner_image: trini/u-boot-gitlab-ci-runner:focal-20210416-10Jun2021
+  ci_runner_image: trini/u-boot-gitlab-ci-runner:focal-20210416-14Jun2021
   # Add '-u 0' options for Azure pipelines, otherwise we get "permission
   # denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
   # since our $(ci_runner_image) user is not root.
@@ -300,7 +300,6 @@ jobs:
           cp ~/grub_x86.efi ${UBOOT_TRAVIS_BUILD_DIR}/
           cp ~/grub_x64.efi ${UBOOT_TRAVIS_BUILD_DIR}/
           cp /opt/grub/grubriscv64.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_riscv64.efi
-          cp /opt/grub/grubriscv32.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_riscv32.efi
           cp /opt/grub/grubaa64.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_arm64.efi
           cp /opt/grub/grubarm.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_arm.efi
           virtualenv -p /usr/bin/python3 /tmp/venv
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 41a2c18fa180..b7c049825102 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@
 
 # Grab our configured image.  The source for this is found at:
 # https://source.denx.de/u-boot/gitlab-ci-runner
-image: trini/u-boot-gitlab-ci-runner:focal-20210416-10Jun2021
+image: trini/u-boot-gitlab-ci-runner:focal-20210416-14Jun2021
 
 # We run some tests in different order, to catch some failures quicker.
 stages:
@@ -38,7 +38,6 @@ stages:
     - cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/
     - cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/
     - cp /opt/grub/grubriscv64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_riscv64.efi
-    - cp /opt/grub/grubriscv32.efi $UBOOT_TRAVIS_BUILD_DIR/grub_riscv32.efi
     - cp /opt/grub/grubaa64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi
     - cp /opt/grub/grubarm.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi
     - virtualenv -p /usr/bin/python3 /tmp/venv
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index 95951f4bef89..fb142c36f81a 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -12,24 +12,24 @@ ENV DEBIAN_FRONTEND=noninteractive
 # Add LLVM repository
 RUN apt-get update && apt-get install -y gnupg2 wget xz-utils && rm -rf /var/lib/apt/lists/*
 RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
-RUN echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal-10 main | tee /etc/apt/sources.list.d/llvm.list
+RUN echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main | tee /etc/apt/sources.list.d/llvm.list
 
 # Manually install the kernel.org "Crosstool" based toolchains for gcc-7.3
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-aarch64-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-arm-linux-gnueabi.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-i386-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-m68k-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-mips-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-microblaze-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-nios2-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-powerpc-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-riscv32-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-riscv64-linux.tar.xz | tar -C /opt -xJ
-RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-sh2-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-aarch64-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-arm-linux-gnueabi.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-i386-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-m68k-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-mips-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-microblaze-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-nios2-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-powerpc-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-riscv32-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-riscv64-linux.tar.xz | tar -C /opt -xJ
+RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-sh2-linux.tar.xz | tar -C /opt -xJ
 
 # Manually install other toolchains
-RUN wget -O - https://github.com/foss-xtensa/toolchain/releases/download/2018.02/x86_64-2018.02-xtensa-dc233c-elf.tar.gz | tar -C /opt -xz
-RUN wget -O - https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2019.09-release/arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz | tar --no-same-owner -C /opt -xz
+RUN wget -O - https://github.com/foss-xtensa/toolchain/releases/download/2020.07/x86_64-2020.07-xtensa-dc233c-elf.tar.gz | tar -C /opt -xz
+RUN wget -O - https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2021.03-release/arc_gnu_2021.03_prebuilt_uclibc_le_archs_linux_install.tar.gz | tar --no-same-owner -C /opt -xz
 RUN wget -O - https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz | tar -C /opt -xz
 
 # Update and install things from apt now
@@ -100,9 +100,6 @@ RUN apt-get update && apt-get install -y \
 	zip \
 	&& rm -rf /var/lib/apt/lists/*
 
-# Manually install libmpfr4 for the toolchains
-RUN wget http://mirrors.kernel.org/ubuntu/pool/main/m/mpfr4/libmpfr4_3.1.4-1_amd64.deb && dpkg -i libmpfr4_3.1.4-1_amd64.deb && rm libmpfr4_3.1.4-1_amd64.deb
-
 # Manually install a new enough version of efitools (must be v1.5.2 or later)
 RUN wget http://mirrors.kernel.org/ubuntu/pool/universe/e/efitools/efitools_1.8.1-0ubuntu2_amd64.deb && sudo dpkg -i efitools_1.8.1-0ubuntu2_amd64.deb && rm efitools_1.8.1-0ubuntu2_amd64.deb
 
@@ -119,16 +116,16 @@ RUN git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.g
 # Build GRUB UEFI targets for ARM & RISC-V, 32-bit and 64-bit
 RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
 	cd /tmp/grub && \
-	git checkout grub-2.04 && \
+	git checkout grub-2.06 && \
 	./bootstrap && \
 	mkdir -p /opt/grub && \
 	./configure --target=aarch64 --with-platform=efi \
 	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-ranlib && \
+	TARGET_CC=/opt/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc \
+	TARGET_OBJCOPY=/opt/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-objcopy \
+	TARGET_STRIP=/opt/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-strip \
+	TARGET_NM=/opt/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-nm \
+	TARGET_RANLIB=/opt/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ranlib && \
 	make && \
 	./grub-mkimage -O arm64-efi -o /opt/grub/grubaa64.efi --prefix= -d \
 	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
@@ -138,11 +135,11 @@ RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
 	make clean && \
 	./configure --target=arm --with-platform=efi \
 	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ranlib && \
+	TARGET_CC=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc \
+	TARGET_OBJCOPY=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-objcopy \
+	TARGET_STRIP=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-strip \
+	TARGET_NM=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-nm \
+	TARGET_RANLIB=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ranlib && \
 	make && \
 	./grub-mkimage -O arm-efi -o /opt/grub/grubarm.efi --prefix= -d \
 	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
@@ -152,31 +149,17 @@ RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
 	make clean && \
 	./configure --target=riscv64 --with-platform=efi \
 	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ranlib && \
+	TARGET_CC=/opt/gcc-11.1.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc \
+	TARGET_OBJCOPY=/opt/gcc-11.1.0-nolibc/riscv64-linux/bin/riscv64-linux-objcopy \
+	TARGET_STRIP=/opt/gcc-11.1.0-nolibc/riscv64-linux/bin/riscv64-linux-strip \
+	TARGET_NM=/opt/gcc-11.1.0-nolibc/riscv64-linux/bin/riscv64-linux-nm \
+	TARGET_RANLIB=/opt/gcc-11.1.0-nolibc/riscv64-linux/bin/riscv64-linux-ranlib && \
 	make && \
 	./grub-mkimage -O riscv64-efi -o /opt/grub/grubriscv64.efi --prefix= -d \
 	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
 	lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot \
 	search search_fs_file search_fs_uuid search_label serial sleep test \
 	true && \
-	make clean && \
-	./configure --target=riscv32 --with-platform=efi \
-	CC=gcc \
-	TARGET_CC=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-gcc \
-	TARGET_OBJCOPY=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-objcopy \
-	TARGET_STRIP=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-strip \
-	TARGET_NM=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-nm \
-	TARGET_RANLIB=/opt/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-ranlib && \
-	make && \
-	./grub-mkimage -O riscv32-efi -o /opt/grub/grubriscv32.efi --prefix= -d \
-	grub-core cat chain configfile echo efinet ext2 fat halt help linux \
-	lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot \
-	search search_fs_file search_fs_uuid search_label serial sleep test \
-	true && \
 	rm -rf /tmp/grub
 
 RUN git clone git://git.qemu.org/qemu.git /tmp/qemu && \
@@ -194,9 +177,9 @@ USER uboot:uboot
 
 # Create the buildman config file
 RUN /bin/echo -e "[toolchain]\nroot = /usr" > ~/.buildman
-RUN /bin/echo -e "kernelorg = /opt/gcc-9.2.0-nolibc/*" >> ~/.buildman
-RUN /bin/echo -e "arc = /opt/arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
-RUN /bin/echo -e "\n[toolchain-prefix]\nxtensa = /opt/2018.02/xtensa-dc233c-elf/bin/xtensa-dc233c-elf-" >> ~/.buildman;
+RUN /bin/echo -e "kernelorg = /opt/gcc-11.1.0-nolibc/*" >> ~/.buildman
+RUN /bin/echo -e "arc = /opt/arc_gnu_2021.03_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
+RUN /bin/echo -e "\n[toolchain-prefix]\nxtensa = /opt/2020.07/xtensa-dc233c-elf/bin/xtensa-dc233c-elf-" >> ~/.buildman;
 RUN /bin/echo -e "\nnds32 = /opt/nds32le-linux-glibc-v3-upstream/bin/nds32le-linux-" >> ~/.buildman;
 RUN /bin/echo -e "\n[toolchain-alias]\nsh = sh2" >> ~/.buildman
 RUN /bin/echo -e "\nriscv = riscv64" >> ~/.buildman
-- 
2.17.1


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

* Re: [RFCv3] Azure/GitLab: Move to gcc-11.1.0 and LLVM-11
  2021-06-16 20:00   ` [RFCv3] Azure/GitLab: Move to gcc-11.1.0 " Tom Rini
@ 2021-06-17  8:27     ` Bin Meng
  2021-06-17 12:31       ` Tom Rini
  0 siblings, 1 reply; 28+ messages in thread
From: Bin Meng @ 2021-06-17  8:27 UTC (permalink / raw)
  To: Tom Rini; +Cc: U-Boot Mailing List, Heinrich Schuchardt, Simon Glass, Rick Chen

Hi Tom,

On Thu, Jun 17, 2021 at 4:00 AM Tom Rini <trini@konsulko.com> wrote:
>
> - Move to gcc-11.1.0 builds from kernel.org for supported platforms and
>   LLVM-11 for those tests.
> - grub-2.06 does not build with gcc-11.1.0 on riscv32 as seen here:
>   https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html
>   so drop it.
> - Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains
>
> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Cc: Bin Meng <bmeng.cn@gmail.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Rick Chen <rick@andestech.com>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
> Changes in v3:
> - Post the right patch this time.
> - Switch to gcc-11.1.0 builds rather than pre-release
> - grub-2.06 is out, use that rather than -rc1
> - Update Xtensa and ARC toolchains.
> - Note that right now this causes x86 to fail to link, which I did not
>   see with gcc-11.0 tests.

Did you mean x86 fails to link with LLVM 11, not GCC 11?

>
> Changes in v2:
> - None, I re-sent v1 by accident
> ---
>  .azure-pipelines.yml    |  3 +-
>  .gitlab-ci.yml          |  3 +-
>  tools/docker/Dockerfile | 83 ++++++++++++++++-------------------------
>  3 files changed, 35 insertions(+), 54 deletions(-)
>

Regards,
Bin

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

* Re: [RFCv3] Azure/GitLab: Move to gcc-11.1.0 and LLVM-11
  2021-06-17  8:27     ` Bin Meng
@ 2021-06-17 12:31       ` Tom Rini
  2021-06-17 14:09         ` Bin Meng
  0 siblings, 1 reply; 28+ messages in thread
From: Tom Rini @ 2021-06-17 12:31 UTC (permalink / raw)
  To: Bin Meng; +Cc: U-Boot Mailing List, Heinrich Schuchardt, Simon Glass, Rick Chen

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

On Thu, Jun 17, 2021 at 04:27:11PM +0800, Bin Meng wrote:
> Hi Tom,
> 
> On Thu, Jun 17, 2021 at 4:00 AM Tom Rini <trini@konsulko.com> wrote:
> >
> > - Move to gcc-11.1.0 builds from kernel.org for supported platforms and
> >   LLVM-11 for those tests.
> > - grub-2.06 does not build with gcc-11.1.0 on riscv32 as seen here:
> >   https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html
> >   so drop it.
> > - Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains
> >
> > Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> > Cc: Bin Meng <bmeng.cn@gmail.com>
> > Cc: Simon Glass <sjg@chromium.org>
> > Cc: Rick Chen <rick@andestech.com>
> > Signed-off-by: Tom Rini <trini@konsulko.com>
> > ---
> > Changes in v3:
> > - Post the right patch this time.
> > - Switch to gcc-11.1.0 builds rather than pre-release
> > - grub-2.06 is out, use that rather than -rc1
> > - Update Xtensa and ARC toolchains.
> > - Note that right now this causes x86 to fail to link, which I did not
> >   see with gcc-11.0 tests.
> 
> Did you mean x86 fails to link with LLVM 11, not GCC 11?

It fails to run for qemu-x86:
https://source.denx.de/u-boot/u-boot/-/jobs/279345#L39
And fails to link on other configs:
https://dev.azure.com/u-boot/u-boot/_build/results?buildId=2378&view=logs&j=8a1d3be7-a4c9-55b6-774d-e7f1a8f80847&t=b2f224a7-1103-5b52-edbc-3784ae727e03

Sorry I forgot to add the CI links.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [RFCv3] Azure/GitLab: Move to gcc-11.1.0 and LLVM-11
  2021-06-17 12:31       ` Tom Rini
@ 2021-06-17 14:09         ` Bin Meng
  2021-06-17 14:14           ` Tom Rini
  0 siblings, 1 reply; 28+ messages in thread
From: Bin Meng @ 2021-06-17 14:09 UTC (permalink / raw)
  To: Tom Rini; +Cc: U-Boot Mailing List, Heinrich Schuchardt, Simon Glass, Rick Chen

On Thu, Jun 17, 2021 at 8:31 PM Tom Rini <trini@konsulko.com> wrote:
>
> On Thu, Jun 17, 2021 at 04:27:11PM +0800, Bin Meng wrote:
> > Hi Tom,
> >
> > On Thu, Jun 17, 2021 at 4:00 AM Tom Rini <trini@konsulko.com> wrote:
> > >
> > > - Move to gcc-11.1.0 builds from kernel.org for supported platforms and
> > >   LLVM-11 for those tests.
> > > - grub-2.06 does not build with gcc-11.1.0 on riscv32 as seen here:
> > >   https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html
> > >   so drop it.
> > > - Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains
> > >
> > > Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> > > Cc: Bin Meng <bmeng.cn@gmail.com>
> > > Cc: Simon Glass <sjg@chromium.org>
> > > Cc: Rick Chen <rick@andestech.com>
> > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > > ---
> > > Changes in v3:
> > > - Post the right patch this time.
> > > - Switch to gcc-11.1.0 builds rather than pre-release
> > > - grub-2.06 is out, use that rather than -rc1
> > > - Update Xtensa and ARC toolchains.
> > > - Note that right now this causes x86 to fail to link, which I did not
> > >   see with gcc-11.0 tests.
> >
> > Did you mean x86 fails to link with LLVM 11, not GCC 11?
>
> It fails to run for qemu-x86:
> https://source.denx.de/u-boot/u-boot/-/jobs/279345#L39
> And fails to link on other configs:
> https://dev.azure.com/u-boot/u-boot/_build/results?buildId=2378&view=logs&j=8a1d3be7-a4c9-55b6-774d-e7f1a8f80847&t=b2f224a7-1103-5b52-edbc-3784ae727e03
>
> Sorry I forgot to add the CI links.

Just had a quick look. The u-boot.rom (qemu-x86_defconfig) built with
GCC 11.1.0 does not boot. It fails at the very early stage at
fdtdec_prepare_fdt(). It turns out gd->fdt_blob which is set to _end
does not point to a valid DT.

This may have something to do with:

x86_64-linux-ld.bfd: arch/x86/cpu/start.o: warning: relocation in
read-only section `.text.start'
x86_64-linux-ld.bfd: warning: creating DT_TEXTREL in a PIE

Regards,
Bin

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

* Re: [RFCv3] Azure/GitLab: Move to gcc-11.1.0 and LLVM-11
  2021-06-17 14:09         ` Bin Meng
@ 2021-06-17 14:14           ` Tom Rini
  2021-06-17 14:24             ` Bin Meng
  0 siblings, 1 reply; 28+ messages in thread
From: Tom Rini @ 2021-06-17 14:14 UTC (permalink / raw)
  To: Bin Meng; +Cc: U-Boot Mailing List, Heinrich Schuchardt, Simon Glass, Rick Chen

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

On Thu, Jun 17, 2021 at 10:09:20PM +0800, Bin Meng wrote:
> On Thu, Jun 17, 2021 at 8:31 PM Tom Rini <trini@konsulko.com> wrote:
> >
> > On Thu, Jun 17, 2021 at 04:27:11PM +0800, Bin Meng wrote:
> > > Hi Tom,
> > >
> > > On Thu, Jun 17, 2021 at 4:00 AM Tom Rini <trini@konsulko.com> wrote:
> > > >
> > > > - Move to gcc-11.1.0 builds from kernel.org for supported platforms and
> > > >   LLVM-11 for those tests.
> > > > - grub-2.06 does not build with gcc-11.1.0 on riscv32 as seen here:
> > > >   https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html
> > > >   so drop it.
> > > > - Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains
> > > >
> > > > Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> > > > Cc: Bin Meng <bmeng.cn@gmail.com>
> > > > Cc: Simon Glass <sjg@chromium.org>
> > > > Cc: Rick Chen <rick@andestech.com>
> > > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > > > ---
> > > > Changes in v3:
> > > > - Post the right patch this time.
> > > > - Switch to gcc-11.1.0 builds rather than pre-release
> > > > - grub-2.06 is out, use that rather than -rc1
> > > > - Update Xtensa and ARC toolchains.
> > > > - Note that right now this causes x86 to fail to link, which I did not
> > > >   see with gcc-11.0 tests.
> > >
> > > Did you mean x86 fails to link with LLVM 11, not GCC 11?
> >
> > It fails to run for qemu-x86:
> > https://source.denx.de/u-boot/u-boot/-/jobs/279345#L39
> > And fails to link on other configs:
> > https://dev.azure.com/u-boot/u-boot/_build/results?buildId=2378&view=logs&j=8a1d3be7-a4c9-55b6-774d-e7f1a8f80847&t=b2f224a7-1103-5b52-edbc-3784ae727e03
> >
> > Sorry I forgot to add the CI links.
> 
> Just had a quick look. The u-boot.rom (qemu-x86_defconfig) built with
> GCC 11.1.0 does not boot. It fails at the very early stage at
> fdtdec_prepare_fdt(). It turns out gd->fdt_blob which is set to _end
> does not point to a valid DT.
> 
> This may have something to do with:
> 
> x86_64-linux-ld.bfd: arch/x86/cpu/start.o: warning: relocation in
> read-only section `.text.start'
> x86_64-linux-ld.bfd: warning: creating DT_TEXTREL in a PIE

Yeah, I suspect that's the problem.  I just don't know where to start
looking for what to change to address that.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [RFCv3] Azure/GitLab: Move to gcc-11.1.0 and LLVM-11
  2021-06-17 14:14           ` Tom Rini
@ 2021-06-17 14:24             ` Bin Meng
  2021-06-17 14:45               ` Tom Rini
  0 siblings, 1 reply; 28+ messages in thread
From: Bin Meng @ 2021-06-17 14:24 UTC (permalink / raw)
  To: Tom Rini; +Cc: U-Boot Mailing List, Heinrich Schuchardt, Simon Glass, Rick Chen

On Thu, Jun 17, 2021 at 10:14 PM Tom Rini <trini@konsulko.com> wrote:
>
> On Thu, Jun 17, 2021 at 10:09:20PM +0800, Bin Meng wrote:
> > On Thu, Jun 17, 2021 at 8:31 PM Tom Rini <trini@konsulko.com> wrote:
> > >
> > > On Thu, Jun 17, 2021 at 04:27:11PM +0800, Bin Meng wrote:
> > > > Hi Tom,
> > > >
> > > > On Thu, Jun 17, 2021 at 4:00 AM Tom Rini <trini@konsulko.com> wrote:
> > > > >
> > > > > - Move to gcc-11.1.0 builds from kernel.org for supported platforms and
> > > > >   LLVM-11 for those tests.
> > > > > - grub-2.06 does not build with gcc-11.1.0 on riscv32 as seen here:
> > > > >   https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html
> > > > >   so drop it.
> > > > > - Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains
> > > > >
> > > > > Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> > > > > Cc: Bin Meng <bmeng.cn@gmail.com>
> > > > > Cc: Simon Glass <sjg@chromium.org>
> > > > > Cc: Rick Chen <rick@andestech.com>
> > > > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > > > > ---
> > > > > Changes in v3:
> > > > > - Post the right patch this time.
> > > > > - Switch to gcc-11.1.0 builds rather than pre-release
> > > > > - grub-2.06 is out, use that rather than -rc1
> > > > > - Update Xtensa and ARC toolchains.
> > > > > - Note that right now this causes x86 to fail to link, which I did not
> > > > >   see with gcc-11.0 tests.
> > > >
> > > > Did you mean x86 fails to link with LLVM 11, not GCC 11?
> > >
> > > It fails to run for qemu-x86:
> > > https://source.denx.de/u-boot/u-boot/-/jobs/279345#L39
> > > And fails to link on other configs:
> > > https://dev.azure.com/u-boot/u-boot/_build/results?buildId=2378&view=logs&j=8a1d3be7-a4c9-55b6-774d-e7f1a8f80847&t=b2f224a7-1103-5b52-edbc-3784ae727e03
> > >
> > > Sorry I forgot to add the CI links.
> >
> > Just had a quick look. The u-boot.rom (qemu-x86_defconfig) built with
> > GCC 11.1.0 does not boot. It fails at the very early stage at
> > fdtdec_prepare_fdt(). It turns out gd->fdt_blob which is set to _end
> > does not point to a valid DT.
> >
> > This may have something to do with:
> >
> > x86_64-linux-ld.bfd: arch/x86/cpu/start.o: warning: relocation in
> > read-only section `.text.start'
> > x86_64-linux-ld.bfd: warning: creating DT_TEXTREL in a PIE
>
> Yeah, I suspect that's the problem.  I just don't know where to start
> looking for what to change to address that.

The following changes seem to fix the issue:

diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds
index a283c290ee..22fde01e74 100644
--- a/arch/x86/cpu/u-boot.lds
+++ b/arch/x86/cpu/u-boot.lds
@@ -105,6 +105,7 @@ SECTIONS
        /DISCARD/ : { *(.plt*) }
        /DISCARD/ : { *(.interp*) }
        /DISCARD/ : { *(.gnu*) }
+       /DISCARD/ : { *(.note.gnu.property) }

 #ifdef CONFIG_X86_16BIT_INIT
        /*

Not sure if this is something introduced by using --whole-archive?

Regards,
Bin

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

* Re: [RFCv3] Azure/GitLab: Move to gcc-11.1.0 and LLVM-11
  2021-06-17 14:24             ` Bin Meng
@ 2021-06-17 14:45               ` Tom Rini
  2021-06-17 14:51                 ` Bin Meng
  0 siblings, 1 reply; 28+ messages in thread
From: Tom Rini @ 2021-06-17 14:45 UTC (permalink / raw)
  To: Bin Meng; +Cc: U-Boot Mailing List, Heinrich Schuchardt, Simon Glass, Rick Chen

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

On Thu, Jun 17, 2021 at 10:24:18PM +0800, Bin Meng wrote:
> On Thu, Jun 17, 2021 at 10:14 PM Tom Rini <trini@konsulko.com> wrote:
> >
> > On Thu, Jun 17, 2021 at 10:09:20PM +0800, Bin Meng wrote:
> > > On Thu, Jun 17, 2021 at 8:31 PM Tom Rini <trini@konsulko.com> wrote:
> > > >
> > > > On Thu, Jun 17, 2021 at 04:27:11PM +0800, Bin Meng wrote:
> > > > > Hi Tom,
> > > > >
> > > > > On Thu, Jun 17, 2021 at 4:00 AM Tom Rini <trini@konsulko.com> wrote:
> > > > > >
> > > > > > - Move to gcc-11.1.0 builds from kernel.org for supported platforms and
> > > > > >   LLVM-11 for those tests.
> > > > > > - grub-2.06 does not build with gcc-11.1.0 on riscv32 as seen here:
> > > > > >   https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html
> > > > > >   so drop it.
> > > > > > - Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains
> > > > > >
> > > > > > Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> > > > > > Cc: Bin Meng <bmeng.cn@gmail.com>
> > > > > > Cc: Simon Glass <sjg@chromium.org>
> > > > > > Cc: Rick Chen <rick@andestech.com>
> > > > > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > > > > > ---
> > > > > > Changes in v3:
> > > > > > - Post the right patch this time.
> > > > > > - Switch to gcc-11.1.0 builds rather than pre-release
> > > > > > - grub-2.06 is out, use that rather than -rc1
> > > > > > - Update Xtensa and ARC toolchains.
> > > > > > - Note that right now this causes x86 to fail to link, which I did not
> > > > > >   see with gcc-11.0 tests.
> > > > >
> > > > > Did you mean x86 fails to link with LLVM 11, not GCC 11?
> > > >
> > > > It fails to run for qemu-x86:
> > > > https://source.denx.de/u-boot/u-boot/-/jobs/279345#L39
> > > > And fails to link on other configs:
> > > > https://dev.azure.com/u-boot/u-boot/_build/results?buildId=2378&view=logs&j=8a1d3be7-a4c9-55b6-774d-e7f1a8f80847&t=b2f224a7-1103-5b52-edbc-3784ae727e03
> > > >
> > > > Sorry I forgot to add the CI links.
> > >
> > > Just had a quick look. The u-boot.rom (qemu-x86_defconfig) built with
> > > GCC 11.1.0 does not boot. It fails at the very early stage at
> > > fdtdec_prepare_fdt(). It turns out gd->fdt_blob which is set to _end
> > > does not point to a valid DT.
> > >
> > > This may have something to do with:
> > >
> > > x86_64-linux-ld.bfd: arch/x86/cpu/start.o: warning: relocation in
> > > read-only section `.text.start'
> > > x86_64-linux-ld.bfd: warning: creating DT_TEXTREL in a PIE
> >
> > Yeah, I suspect that's the problem.  I just don't know where to start
> > looking for what to change to address that.
> 
> The following changes seem to fix the issue:
> 
> diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds
> index a283c290ee..22fde01e74 100644
> --- a/arch/x86/cpu/u-boot.lds
> +++ b/arch/x86/cpu/u-boot.lds
> @@ -105,6 +105,7 @@ SECTIONS
>         /DISCARD/ : { *(.plt*) }
>         /DISCARD/ : { *(.interp*) }
>         /DISCARD/ : { *(.gnu*) }
> +       /DISCARD/ : { *(.note.gnu.property) }
> 
>  #ifdef CONFIG_X86_16BIT_INIT
>         /*
> 
> Not sure if this is something introduced by using --whole-archive?

Could be.  Thanks for digging in to this part!  Do you have any comments
/ concerns about the dropping grub for riscv32 part of this?

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [RFCv3] Azure/GitLab: Move to gcc-11.1.0 and LLVM-11
  2021-06-17 14:45               ` Tom Rini
@ 2021-06-17 14:51                 ` Bin Meng
  0 siblings, 0 replies; 28+ messages in thread
From: Bin Meng @ 2021-06-17 14:51 UTC (permalink / raw)
  To: Tom Rini; +Cc: U-Boot Mailing List, Heinrich Schuchardt, Simon Glass, Rick Chen

On Thu, Jun 17, 2021 at 10:45 PM Tom Rini <trini@konsulko.com> wrote:
>
> On Thu, Jun 17, 2021 at 10:24:18PM +0800, Bin Meng wrote:
> > On Thu, Jun 17, 2021 at 10:14 PM Tom Rini <trini@konsulko.com> wrote:
> > >
> > > On Thu, Jun 17, 2021 at 10:09:20PM +0800, Bin Meng wrote:
> > > > On Thu, Jun 17, 2021 at 8:31 PM Tom Rini <trini@konsulko.com> wrote:
> > > > >
> > > > > On Thu, Jun 17, 2021 at 04:27:11PM +0800, Bin Meng wrote:
> > > > > > Hi Tom,
> > > > > >
> > > > > > On Thu, Jun 17, 2021 at 4:00 AM Tom Rini <trini@konsulko.com> wrote:
> > > > > > >
> > > > > > > - Move to gcc-11.1.0 builds from kernel.org for supported platforms and
> > > > > > >   LLVM-11 for those tests.
> > > > > > > - grub-2.06 does not build with gcc-11.1.0 on riscv32 as seen here:
> > > > > > >   https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html
> > > > > > >   so drop it.
> > > > > > > - Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains
> > > > > > >
> > > > > > > Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> > > > > > > Cc: Bin Meng <bmeng.cn@gmail.com>
> > > > > > > Cc: Simon Glass <sjg@chromium.org>
> > > > > > > Cc: Rick Chen <rick@andestech.com>
> > > > > > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > > > > > > ---
> > > > > > > Changes in v3:
> > > > > > > - Post the right patch this time.
> > > > > > > - Switch to gcc-11.1.0 builds rather than pre-release
> > > > > > > - grub-2.06 is out, use that rather than -rc1
> > > > > > > - Update Xtensa and ARC toolchains.
> > > > > > > - Note that right now this causes x86 to fail to link, which I did not
> > > > > > >   see with gcc-11.0 tests.
> > > > > >
> > > > > > Did you mean x86 fails to link with LLVM 11, not GCC 11?
> > > > >
> > > > > It fails to run for qemu-x86:
> > > > > https://source.denx.de/u-boot/u-boot/-/jobs/279345#L39
> > > > > And fails to link on other configs:
> > > > > https://dev.azure.com/u-boot/u-boot/_build/results?buildId=2378&view=logs&j=8a1d3be7-a4c9-55b6-774d-e7f1a8f80847&t=b2f224a7-1103-5b52-edbc-3784ae727e03
> > > > >
> > > > > Sorry I forgot to add the CI links.
> > > >
> > > > Just had a quick look. The u-boot.rom (qemu-x86_defconfig) built with
> > > > GCC 11.1.0 does not boot. It fails at the very early stage at
> > > > fdtdec_prepare_fdt(). It turns out gd->fdt_blob which is set to _end
> > > > does not point to a valid DT.
> > > >
> > > > This may have something to do with:
> > > >
> > > > x86_64-linux-ld.bfd: arch/x86/cpu/start.o: warning: relocation in
> > > > read-only section `.text.start'
> > > > x86_64-linux-ld.bfd: warning: creating DT_TEXTREL in a PIE
> > >
> > > Yeah, I suspect that's the problem.  I just don't know where to start
> > > looking for what to change to address that.
> >
> > The following changes seem to fix the issue:
> >
> > diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds
> > index a283c290ee..22fde01e74 100644
> > --- a/arch/x86/cpu/u-boot.lds
> > +++ b/arch/x86/cpu/u-boot.lds
> > @@ -105,6 +105,7 @@ SECTIONS
> >         /DISCARD/ : { *(.plt*) }
> >         /DISCARD/ : { *(.interp*) }
> >         /DISCARD/ : { *(.gnu*) }
> > +       /DISCARD/ : { *(.note.gnu.property) }
> >
> >  #ifdef CONFIG_X86_16BIT_INIT
> >         /*
> >
> > Not sure if this is something introduced by using --whole-archive?
>
> Could be.  Thanks for digging in to this part!

You are welcome :)
I will continue the investigation on this.

> Do you have any comments / concerns about the dropping grub for riscv32 part of this?

It looks like the grub community does not want to fix the build issue
for riscv32. I am not sure if we can have a solution for grub soon.
Heinrich could comment whether it's okay to drop riscv32 EFI testing
in U-Boot.

Regards,
Bin

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

* Re: [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings
  2021-05-03 20:48 ` [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings Tom Rini
@ 2021-07-07 17:33   ` Tom Rini
  2021-07-14 20:52   ` Pali Rohár
  1 sibling, 0 replies; 28+ messages in thread
From: Tom Rini @ 2021-07-07 17:33 UTC (permalink / raw)
  To: u-boot

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

On Mon, May 03, 2021 at 04:48:53PM -0400, Tom Rini wrote:

> With gcc-11 we see:
> drivers/ddr/marvell/a38x/ddr3_debug.c:672:47: error: argument 2 of type 'u32[5]' {aka 'unsigned int[5]'} with mismatched bound [-Werror=array-parameter=]
>   672 | int ddr3_tip_read_adll_value(u32 dev_num, u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
>       |                                           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from drivers/ddr/marvell/a38x/ddr3_training_ip_engine.h:10,
>                  from drivers/ddr/marvell/a38x/ddr3_init.h:17,
>                  from drivers/ddr/marvell/a38x/ddr3_debug.c:6:
> drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h:116:47: note: previously declared as 'u32[]' {aka 'unsigned int[]'}
> 
> And similar warnings.  Correct these by updating the prototype.  Remove
> the prototype for ddr3_tip_read_pup_value as it is unused.
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [RFC 2/7] freescale: Drop unnecessary cpld_data_t non-typedef
  2021-05-03 20:48 ` [RFC 2/7] freescale: Drop unnecessary cpld_data_t non-typedef Tom Rini
@ 2021-07-07 17:34   ` Tom Rini
  0 siblings, 0 replies; 28+ messages in thread
From: Tom Rini @ 2021-07-07 17:34 UTC (permalink / raw)
  To: u-boot; +Cc: Priyanka Jain, Shengzhou Liu

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

On Mon, May 03, 2021 at 04:48:54PM -0400, Tom Rini wrote:

> In some board cpld.h files the definition of the cpld_data struct
> not-quite makes a typedef for cpld_data_t.  This problem is caught with
> gcc-11 as a multiple definition error.  As there are no users of this
> non-typedef, fix this by not declaring it one to begin with.
> 
> Cc: Priyanka Jain <priyanka.jain@nxp.com>
> Cc: Shengzhou Liu <Shengzhou.Liu@nxp.com>
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [RFC 3/7] eb_cpu5282: Declare diplay_width / display_height as externs
  2021-05-03 20:48 ` [RFC 3/7] eb_cpu5282: Declare diplay_width / display_height as externs Tom Rini
@ 2021-07-07 17:34   ` Tom Rini
  0 siblings, 0 replies; 28+ messages in thread
From: Tom Rini @ 2021-07-07 17:34 UTC (permalink / raw)
  To: u-boot

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

On Mon, May 03, 2021 at 04:48:55PM -0400, Tom Rini wrote:

> The board code here references the display_width / display_height
> variables set in the video driver, declare these as externs as gcc-11
> will notice and lead to a multiple definition error.
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [RFC 4/7] pinctrl: mscc: Fix multiple definition error
  2021-05-03 20:48 ` [RFC 4/7] pinctrl: mscc: Fix multiple definition error Tom Rini
  2021-05-04  7:51   ` Horatiu Vultur
  2021-05-04 18:57   ` Daniel Schwierzeck
@ 2021-07-07 17:34   ` Tom Rini
  2 siblings, 0 replies; 28+ messages in thread
From: Tom Rini @ 2021-07-07 17:34 UTC (permalink / raw)
  To: u-boot; +Cc: Gregory CLEMENT, Lars Povlsen, Horatiu Vultur

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

On Mon, May 03, 2021 at 04:48:56PM -0400, Tom Rini wrote:

> With gcc-11 we get a multiple errors here as the declarations for
> mscc_pinctrl_ops and mscc_gpio_ops are missing an extern.
> 
> CC: Gregory CLEMENT <gregory.clement@bootlin.com>
> Cc: Lars Povlsen <lars.povlsen@microchip.com>
> Cc: Horatiu Vultur <horatiu.vultur@microchip.com>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com>
> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [RFC 5/7] Makefile: Disable gcc-10.0 warnings
  2021-05-03 20:48 ` [RFC 5/7] Makefile: Disable gcc-10.0 warnings Tom Rini
@ 2021-07-07 17:34   ` Tom Rini
  0 siblings, 0 replies; 28+ messages in thread
From: Tom Rini @ 2021-07-07 17:34 UTC (permalink / raw)
  To: u-boot

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

On Mon, May 03, 2021 at 04:48:57PM -0400, Tom Rini wrote:

> Based on 5c45de21a2223, 44720996e2d79 and 5a76021c2eff7 in Linux
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [RFC 6/7] bootstage: Eliminate when not enabled
  2021-05-03 20:48 ` [RFC 6/7] bootstage: Eliminate when not enabled Tom Rini
@ 2021-07-07 17:34   ` Tom Rini
  0 siblings, 0 replies; 28+ messages in thread
From: Tom Rini @ 2021-07-07 17:34 UTC (permalink / raw)
  To: u-boot; +Cc: Simon Glass

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

On Mon, May 03, 2021 at 04:48:58PM -0400, Tom Rini wrote:

> When we do not have bootstage enabled, rather than include an empty
> dummy function, we just don't reference it.  This saves us space in some
> tight builds.  This also shows a few cases where show_boot_progress was
> incorrectly guarded before.
> 
> Cc: Simon Glass <sjg@chromium.org>
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings
  2021-05-03 20:48 ` [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings Tom Rini
  2021-07-07 17:33   ` Tom Rini
@ 2021-07-14 20:52   ` Pali Rohár
  2021-07-15  7:59     ` Stefan Roese
  1 sibling, 1 reply; 28+ messages in thread
From: Pali Rohár @ 2021-07-14 20:52 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, Stefan Roese, Marek Behún, Konstantin Porotchkin

On Monday 03 May 2021 16:48:53 Tom Rini wrote:
> With gcc-11 we see:
> drivers/ddr/marvell/a38x/ddr3_debug.c:672:47: error: argument 2 of type 'u32[5]' {aka 'unsigned int[5]'} with mismatched bound [-Werror=array-parameter=]
>   672 | int ddr3_tip_read_adll_value(u32 dev_num, u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
>       |                                           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from drivers/ddr/marvell/a38x/ddr3_training_ip_engine.h:10,
>                  from drivers/ddr/marvell/a38x/ddr3_init.h:17,
>                  from drivers/ddr/marvell/a38x/ddr3_debug.c:6:
> drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h:116:47: note: previously declared as 'u32[]' {aka 'unsigned int[]'}
> 
> And similar warnings.  Correct these by updating the prototype.  Remove
> the prototype for ddr3_tip_read_pup_value as it is unused.
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>  drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h b/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
> index ab152cb455e9..55832a55405b 100644
> --- a/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
> +++ b/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
> @@ -8,6 +8,7 @@
>  
>  #include "ddr3_training_ip.h"
>  #include "ddr3_training_ip_db.h"
> +#include "mv_ddr_plat.h"
>  
>  #define KILLER_PATTERN_LENGTH		32
>  #define EXT_ACCESS_BURST_LENGTH		8
> @@ -112,9 +113,12 @@ int ddr3_tip_configure_odpg(u32 dev_num, enum hws_access_type access_type,
>  int ddr3_tip_write_mrs_cmd(u32 dev_num, u32 *cs_mask_arr, enum mr_number mr_num, u32 data, u32 mask);
>  int ddr3_tip_write_cs_result(u32 dev_num, u32 offset);
>  int ddr3_tip_reset_fifo_ptr(u32 dev_num);
> -int ddr3_tip_read_pup_value(u32 dev_num, u32 pup_values[], int reg_addr, u32 mask);
> -int ddr3_tip_read_adll_value(u32 dev_num, u32 pup_values[], u32 reg_addr, u32 mask);
> -int ddr3_tip_write_adll_value(u32 dev_num, u32 pup_values[], u32 reg_addr);
> +int ddr3_tip_read_adll_value(u32 dev_num,
> +			     u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
> +			     u32 reg_addr, u32 mask);
> +int ddr3_tip_write_adll_value(u32 dev_num,
> +			      u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
> +			      u32 reg_addr);
>  int ddr3_tip_tune_training_params(u32 dev_num, struct tune_train_params *params);
>  
>  #endif /* _DDR3_TRAINING_IP_FLOW_H_ */

CC Stefan, Marek, Konstantin

Could you please send this patch to upstream?
https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell

Any change done in drivers/ddr/marvell/a38x cause issue in
future code synchronization with upstream repository.

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

* Re: [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings
  2021-07-14 20:52   ` Pali Rohár
@ 2021-07-15  7:59     ` Stefan Roese
  2021-07-15 13:07       ` [EXT] " Kostya Porotchkin
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Roese @ 2021-07-15  7:59 UTC (permalink / raw)
  To: Pali Rohár, Tom Rini; +Cc: u-boot, Marek Behún, Konstantin Porotchkin

Hi Pali,
Hi Kosta,

On 14.07.21 22:52, Pali Rohár wrote:
> On Monday 03 May 2021 16:48:53 Tom Rini wrote:
>> With gcc-11 we see:
>> drivers/ddr/marvell/a38x/ddr3_debug.c:672:47: error: argument 2 of type 'u32[5]' {aka 'unsigned int[5]'} with mismatched bound [-Werror=array-parameter=]
>>    672 | int ddr3_tip_read_adll_value(u32 dev_num, u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
>>        |                                           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> In file included from drivers/ddr/marvell/a38x/ddr3_training_ip_engine.h:10,
>>                   from drivers/ddr/marvell/a38x/ddr3_init.h:17,
>>                   from drivers/ddr/marvell/a38x/ddr3_debug.c:6:
>> drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h:116:47: note: previously declared as 'u32[]' {aka 'unsigned int[]'}
>>
>> And similar warnings.  Correct these by updating the prototype.  Remove
>> the prototype for ddr3_tip_read_pup_value as it is unused.
>>
>> Signed-off-by: Tom Rini <trini@konsulko.com>
>> ---
>>   drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h | 10 +++++++---
>>   1 file changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h b/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
>> index ab152cb455e9..55832a55405b 100644
>> --- a/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
>> +++ b/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
>> @@ -8,6 +8,7 @@
>>   
>>   #include "ddr3_training_ip.h"
>>   #include "ddr3_training_ip_db.h"
>> +#include "mv_ddr_plat.h"
>>   
>>   #define KILLER_PATTERN_LENGTH		32
>>   #define EXT_ACCESS_BURST_LENGTH		8
>> @@ -112,9 +113,12 @@ int ddr3_tip_configure_odpg(u32 dev_num, enum hws_access_type access_type,
>>   int ddr3_tip_write_mrs_cmd(u32 dev_num, u32 *cs_mask_arr, enum mr_number mr_num, u32 data, u32 mask);
>>   int ddr3_tip_write_cs_result(u32 dev_num, u32 offset);
>>   int ddr3_tip_reset_fifo_ptr(u32 dev_num);
>> -int ddr3_tip_read_pup_value(u32 dev_num, u32 pup_values[], int reg_addr, u32 mask);
>> -int ddr3_tip_read_adll_value(u32 dev_num, u32 pup_values[], u32 reg_addr, u32 mask);
>> -int ddr3_tip_write_adll_value(u32 dev_num, u32 pup_values[], u32 reg_addr);
>> +int ddr3_tip_read_adll_value(u32 dev_num,
>> +			     u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
>> +			     u32 reg_addr, u32 mask);
>> +int ddr3_tip_write_adll_value(u32 dev_num,
>> +			      u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
>> +			      u32 reg_addr);
>>   int ddr3_tip_tune_training_params(u32 dev_num, struct tune_train_params *params);
>>   
>>   #endif /* _DDR3_TRAINING_IP_FLOW_H_ */
> 
> CC Stefan, Marek, Konstantin
> 
> Could you please send this patch to upstream?
> https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell
> 
> Any change done in drivers/ddr/marvell/a38x cause issue in
> future code synchronization with upstream repository.

Sure. It absolutely makes sense to try to keep these repo's at least
a bit in sync.

Kosta, could you please apply this patch to your "mv-ddr-marvell"
repo as well?

Thanks,
Stefan

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

* RE: [EXT] Re: [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings
  2021-07-15  7:59     ` Stefan Roese
@ 2021-07-15 13:07       ` Kostya Porotchkin
  0 siblings, 0 replies; 28+ messages in thread
From: Kostya Porotchkin @ 2021-07-15 13:07 UTC (permalink / raw)
  To: Stefan Roese, Pali Rohár, Tom Rini; +Cc: u-boot, Marek Behún

Hi Pali and Stefan,

> -----Original Message-----
> From: Stefan Roese <sr@denx.de>
> Sent: Thursday, July 15, 2021 11:00
> To: Pali Rohár <pali@kernel.org>; Tom Rini <trini@konsulko.com>
> Cc: u-boot@lists.denx.de; Marek Behún <marek.behun@nic.cz>; Kostya
> Porotchkin <kostap@marvell.com>
> Subject: [EXT] Re: [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound
> warnings
> 
> External Email
> 
> ----------------------------------------------------------------------
> Hi Pali,
> Hi Kosta,
> 
> On 14.07.21 22:52, Pali Rohár wrote:
> > On Monday 03 May 2021 16:48:53 Tom Rini wrote:
> >> With gcc-11 we see:
> >> drivers/ddr/marvell/a38x/ddr3_debug.c:672:47: error: argument 2 of type
> 'u32[5]' {aka 'unsigned int[5]'} with mismatched bound [-Werror=array-
> parameter=]
> >>    672 | int ddr3_tip_read_adll_value(u32 dev_num, u32
> pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM],
> >>        |
> ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> In file included from
> drivers/ddr/marvell/a38x/ddr3_training_ip_engine.h:10,
> >>                   from drivers/ddr/marvell/a38x/ddr3_init.h:17,
> >>                   from drivers/ddr/marvell/a38x/ddr3_debug.c:6:
> >> drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h:116:47: note:
> >> previously declared as 'u32[]' {aka 'unsigned int[]'}
> >>
> >> And similar warnings.  Correct these by updating the prototype.
> >> Remove the prototype for ddr3_tip_read_pup_value as it is unused.
> >>
> >> Signed-off-by: Tom Rini <trini@konsulko.com>
> >> ---
> >>   drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h | 10 +++++++---
> >>   1 file changed, 7 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
> >> b/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
> >> index ab152cb455e9..55832a55405b 100644
> >> --- a/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
> >> +++ b/drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h
> >> @@ -8,6 +8,7 @@
> >>
> >>   #include "ddr3_training_ip.h"
> >>   #include "ddr3_training_ip_db.h"
> >> +#include "mv_ddr_plat.h"
> >>
> >>   #define KILLER_PATTERN_LENGTH		32
> >>   #define EXT_ACCESS_BURST_LENGTH		8
> >> @@ -112,9 +113,12 @@ int ddr3_tip_configure_odpg(u32 dev_num, enum
> hws_access_type access_type,
> >>   int ddr3_tip_write_mrs_cmd(u32 dev_num, u32 *cs_mask_arr, enum
> mr_number mr_num, u32 data, u32 mask);
> >>   int ddr3_tip_write_cs_result(u32 dev_num, u32 offset);
> >>   int ddr3_tip_reset_fifo_ptr(u32 dev_num); -int
> >> ddr3_tip_read_pup_value(u32 dev_num, u32 pup_values[], int reg_addr,
> >> u32 mask); -int ddr3_tip_read_adll_value(u32 dev_num, u32
> >> pup_values[], u32 reg_addr, u32 mask); -int
> >> ddr3_tip_write_adll_value(u32 dev_num, u32 pup_values[], u32
> >> reg_addr);
> >> +int ddr3_tip_read_adll_value(u32 dev_num,
> >> +			     u32 pup_values[MAX_INTERFACE_NUM *
> MAX_BUS_NUM],
> >> +			     u32 reg_addr, u32 mask);
> >> +int ddr3_tip_write_adll_value(u32 dev_num,
> >> +			      u32 pup_values[MAX_INTERFACE_NUM *
> MAX_BUS_NUM],
> >> +			      u32 reg_addr);
> >>   int ddr3_tip_tune_training_params(u32 dev_num, struct
> >> tune_train_params *params);
> >>
> >>   #endif /* _DDR3_TRAINING_IP_FLOW_H_ */
> >
> > CC Stefan, Marek, Konstantin
> >
> > Could you please send this patch to upstream?
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Marvel
> > lEmbeddedProcessors_mv-2Dddr-
> 2Dmarvell&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xt
> > fQ&r=-
> N9sN4p5NSr0JGQoQ_2UCOgAqajG99W1EbSOww0WU8o&m=uCuiUzuJ-
> xKl2xMLf1k
> > 3uSHRcVkxkdrRn7NXczjBNrk&s=IXYIGGlj-Y6Z9-VWGf8iWAiGQAbAYt-
> 3zROqOhn32Sk
> > &e=
> >
> > Any change done in drivers/ddr/marvell/a38x cause issue in future code
> > synchronization with upstream repository.
> 
> Sure. It absolutely makes sense to try to keep these repo's at least a bit in
> sync.
> 
> Kosta, could you please apply this patch to your "mv-ddr-marvell"
> repo as well?
[KP] I am porting this to our development stream and once merged, will issue a patch to Github.

Regards
Kosta
> 
> Thanks,
> Stefan

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

end of thread, other threads:[~2021-07-15 13:08 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-03 20:48 [RFC 0/7] Update CI to using GCC 11.0 / LLVM-11 Tom Rini
2021-05-03 20:48 ` [RFC 1/7] ARM: mvebu: a38x: Correct mismatched bound warnings Tom Rini
2021-07-07 17:33   ` Tom Rini
2021-07-14 20:52   ` Pali Rohár
2021-07-15  7:59     ` Stefan Roese
2021-07-15 13:07       ` [EXT] " Kostya Porotchkin
2021-05-03 20:48 ` [RFC 2/7] freescale: Drop unnecessary cpld_data_t non-typedef Tom Rini
2021-07-07 17:34   ` Tom Rini
2021-05-03 20:48 ` [RFC 3/7] eb_cpu5282: Declare diplay_width / display_height as externs Tom Rini
2021-07-07 17:34   ` Tom Rini
2021-05-03 20:48 ` [RFC 4/7] pinctrl: mscc: Fix multiple definition error Tom Rini
2021-05-04  7:51   ` Horatiu Vultur
2021-05-04 18:57   ` Daniel Schwierzeck
2021-07-07 17:34   ` Tom Rini
2021-05-03 20:48 ` [RFC 5/7] Makefile: Disable gcc-10.0 warnings Tom Rini
2021-07-07 17:34   ` Tom Rini
2021-05-03 20:48 ` [RFC 6/7] bootstage: Eliminate when not enabled Tom Rini
2021-07-07 17:34   ` Tom Rini
2021-05-03 20:48 ` [RFC 7/7] TEST: Move to gcc-11.0 prerelease and LLVM-11 Tom Rini
2021-06-16 19:58   ` [RFCv2] " Tom Rini
2021-06-16 20:00   ` [RFCv3] Azure/GitLab: Move to gcc-11.1.0 " Tom Rini
2021-06-17  8:27     ` Bin Meng
2021-06-17 12:31       ` Tom Rini
2021-06-17 14:09         ` Bin Meng
2021-06-17 14:14           ` Tom Rini
2021-06-17 14:24             ` Bin Meng
2021-06-17 14:45               ` Tom Rini
2021-06-17 14:51                 ` Bin Meng

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.