RE: netifd Call Flow - WiFi

2023-03-15 Thread Ravi Paluri (QUIC)
I think wifi interface going up and coming down is expected.
Can anyone help with flow how does netifd know that wifi interface is up and 
where it adds this IP to the interface?

Thanks,
Ravi
-Original Message-
From: openwrt-devel  On Behalf Of Ravi 
Paluri (QUIC)
Sent: Thursday, March 16, 2023 6:37 AM
To: openwrt-devel@lists.openwrt.org
Subject: netifd Call Flow - WiFi

Hi All,
  We are trying netifd to enable wlan.
We have configured uci to set wlan interface IP statically.
We are seeing when we do network reload, wifi interface is going down and 
coming up.

Can we get flow how does netifd know that wifi interface is up and where it 
adds this IP to the interface?
This will help us in checking why wifi interface is going down and coming up on 
doing network reload.

Thanks,
Ravi

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


netifd Call Flow - WiFi

2023-03-15 Thread Ravi Paluri (QUIC)
Hi All,
  We are trying netifd to enable wlan.
We have configured uci to set wlan interface IP statically.
We are seeing when we do network reload, wifi interface is going down and 
coming up.

Can we get flow how does netifd know that wifi interface is up and where it 
adds this IP to the interface?
This will help us in checking why wifi interface is going down and coming up on 
doing network reload.

Thanks,
Ravi

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH] ath79: Add support for Ubiquiti NanoBeam AC Gen2 XC

2023-03-15 Thread Daniel González Cabanelas
The Ubiquiti NanoBeam AC Gen2 XC (NBE-5AC-Gen2) is an outdoor 802.11ac CPE
with a waterproof casing (ultrasonically welded) and bulb shaped.

It's the same board as Gen1 but with a small antenna routed out of the SoC
and calibration data for this management radio in the "art" partition.

Hardware:
   SoC:Qualcomm Atheros QCA9558
   CPU:MIPS 74Kc V5.0 720 MHz, 1 core  
   RAM:128 MB DDR2
   Flash:  16 MB SPI-NOR, MX25L12805D
   Ethernet:   1x GbE
   WiFi 5 GHz: Qualcomm Atheros QCA988X
   WiFi 2.4 GHz:   SoC (management radio)
   Internal antenna 1: 19 dBi planar (5 GHz)
   Internal antenna 2: 2 dBi PCB, connected via UFL (SoC)
   Buttons:1x reset
   LEDs:   1x power, 1x Ethernet, 4x RSSI, all blue
   PSU:24 Vdc passive PoE

Installation from stock airOS firmware:
 - Follow instructions for XC-type Ubiquiti devices on OpenWrt wiki at
   https://openwrt.org/toh/ubiquiti/common

Back to stock firmware:
 - Follow instructions for Ubiquiti recovery via TFTP at OpenWrt wiki.

Signed-off-by: Daniel González Cabanelas 
---
 .../dts/qca9558_ubnt_nanobeam-ac-gen2-xc.dts  |  17 +++
 .../ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts | 105 +
 .../dts/qca9558_ubnt_nanobeam-ac-xc.dtsi  | 107 ++
 .../generic/base-files/etc/board.d/01_leds|   1 +
 .../generic/base-files/etc/board.d/02_network |   2 +
 .../etc/hotplug.d/firmware/11-ath10k-caldata  |   1 +
 target/linux/ath79/image/generic-ubnt.mk  |  10 ++
 7 files changed, 141 insertions(+), 102 deletions(-)
 create mode 100644 target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-gen2-xc.dts
 create mode 100644 target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dtsi

diff --git a/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-gen2-xc.dts 
b/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-gen2-xc.dts
new file mode 100644
index 00..629b5bfe0a
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-gen2-xc.dts
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Device Tree file for Ubiquiti Nanobeam NBE-5AC-Gen2 (XC)
+ */
+ 
+#include "qca9558_ubnt_nanobeam-ac-xc.dtsi"
+
+/ {
+   compatible = "ubnt,nanobeam-ac-gen2-xc", "ubnt,xc", "qca,qca9558";
+   model = "Ubiquiti NanoBeam AC Gen2 (XC)";
+};
+
+ {
+   status = "okay";
+
+   mtd-cal-data = < 0x1000>;
+};
diff --git a/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts 
b/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts
index 91675ff615..898c249154 100644
--- a/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts
+++ b/target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts
@@ -1,110 +1,11 @@
-// SPDX-License-Identifier: GPL-2.0-only
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /*
  * Device Tree file for Ubiquiti Nanobeam NBE-5AC-19 (XC)
- *
- * Copyright (C) 2022 Daniel González Cabanelas 
- * based on device tree from qca9558_ubnt_powerbeam-5ac-500.dts
  */
-
-#include "qca955x_ubnt_xc.dtsi"
+ 
+#include "qca9558_ubnt_nanobeam-ac-xc.dtsi"
 
 / {
compatible = "ubnt,nanobeam-ac-xc", "ubnt,xc", "qca,qca9558";
model = "Ubiquiti NanoBeam AC Gen1 (XC)";
-
-   aliases {
-   led-boot = _power;
-   led-failsafe = _power;
-   led-running = _power;
-   led-upgrade = _power;
-   };
-
-   keys {
-   compatible = "gpio-keys";
-
-   reset {
-   label = "Reset button";
-   linux,code = ;
-   gpios = < 19 GPIO_ACTIVE_LOW>;
-   debounce-interval = <60>;
-   };
-   };
-
-   led_spi {
-   compatible = "spi-gpio";
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   sck-gpios  = < 0 GPIO_ACTIVE_HIGH>;
-   mosi-gpios = < 1 GPIO_ACTIVE_HIGH>;
-   cs-gpios   = < 3 GPIO_ACTIVE_HIGH>;
-   num-chipselects = <1>;
-
-   led_gpio: led_gpio@0 {
-   compatible = "fairchild,74hc595";
-   reg = <0>;
-   gpio-controller;
-   #gpio-cells = <2>;
-   registers-number = <1>;
-   spi-max-frequency = <1000>;
-   enable-gpios = < 18 GPIO_ACTIVE_LOW>;
-   };
-   };
-
-   leds {
-   compatible = "gpio-leds";
-
-   rssi0 {
-   label = "blue:rssi0";
-   gpios = <_gpio 0 GPIO_ACTIVE_LOW>;
-   };
-   rssi1 {
-   label = "blue:rssi1";
-   gpios = <_gpio 1 GPIO_ACTIVE_LOW>;
-   };
-   rssi2 {
-   label = "blue:rssi2";
-   gpios = <_gpio 2 GPIO_ACTIVE_LOW>;
-   };
-   rssi3 

[PATCH] ipq40xx: add support for Wallystech DR40x9

2023-03-15 Thread Koen Vandeputte
From: Robert Marko 

Adds support for the Wallys DR40x9 series boards.
They come in IPQ4019 and IPQ4029 versions.
IPQ4019/4029 only differ in that that IPQ4029 is the industrial version that is 
rated to higher temperatures.

Specifications are:
* CPU: Qualcomm IPQ40x9 (4x ARMv7A Cortex A7) at 716 MHz
* RAM: 512 MB
* Storage: 2MB of SPI-NOR, 128 MB of parallel NAND
* USB 3.0 TypeA port for users
* MiniPCI-E with PCI-E 2.0 link
* MiniPCI-E for LTE modems with only USB2.0 link
* 2 SIM card slots that are selected via GPIO11
* MicroSD card slot
* Ethernet: 2x GBe with 24~48V passive POE
* SFP port (Does not work, I2C and GPIO's not connected on hardware)
* DC Jack
* UART header
* WLAN: In-SoC 2x2 802.11b/g/n and 2x2 802.11a/n/ac
* 4x MMCX connectors for WLAN
* Reset button
* 8x LED-s

Installation instructions:
Connect to UART, pins are like this:
-> 3.3V | TX | RX | GND

Settings are 115200 8n1

Boot initramfs from TFTP:
tftpboot 0x8400 
openwrt-ipq40xx-generic-wallys_dr40x9-initramfs-fit-uImage.itb

bootm

Then copy the sysupgrade image to the /tmp folder and execute sysupgrade -n 


Signed-off-by: Robert Marko 
[Fixup dts for 2 missing crypto options]
[Remove sfp from dts]
[Add 'config' partition]
[Update to latest wifi board bin files - received from Wallystech R]
[Extensively tested on DR4029-V04]
Signed-off-by: Koen Vandeputte 
---
 package/firmware/ipq-wifi/Makefile|   2 +
 .../ipq-wifi/board-wallys_dr40x9.qca4019  | Bin 0 -> 24316 bytes
 .../ipq40xx/base-files/etc/board.d/02_network |   1 +
 .../base-files/etc/board.d/03_gpio_switches   |   3 +
 .../base-files/lib/upgrade/platform.sh|   3 +-
 .../arch/arm/boot/dts/qcom-ipq40x9-dr40x9.dts | 425 ++
 target/linux/ipq40xx/image/generic.mk |  13 +
 7 files changed, 446 insertions(+), 1 deletion(-)
 create mode 100644 package/firmware/ipq-wifi/board-wallys_dr40x9.qca4019
 create mode 100644 
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq40x9-dr40x9.dts

diff --git a/package/firmware/ipq-wifi/Makefile 
b/package/firmware/ipq-wifi/Makefile
index 8e7fc4da39..6feac277b3 100644
--- a/package/firmware/ipq-wifi/Makefile
+++ b/package/firmware/ipq-wifi/Makefile
@@ -47,6 +47,7 @@ ALLWIFIBOARDS:= \
redmi_ax6 \
sony_ncp-hg100-cellular \
teltonika_rutx \
+   wallys_dr40x9 \
xiaomi_ax3600 \
xiaomi_ax9000 \
zte_mf18a \
@@ -147,6 +148,7 @@ $(eval $(call 
generate-ipq-wifi-package,qxwlan_e2600ac-c2,Qxwlan E2600AC C2))
 $(eval $(call generate-ipq-wifi-package,redmi_ax6,Redmi AX6))
 $(eval $(call generate-ipq-wifi-package,sony_ncp-hg100-cellular,Sony 
NCP-HG100/Cellular))
 $(eval $(call generate-ipq-wifi-package,teltonika_rutx,Teltonika RUTX))
+$(eval $(call generate-ipq-wifi-package,wallys_dr40x9,Wallys DR40X9))
 $(eval $(call generate-ipq-wifi-package,xiaomi_ax3600,Xiaomi AX3600))
 $(eval $(call generate-ipq-wifi-package,xiaomi_ax9000,Xiaomi AX9000))
 $(eval $(call generate-ipq-wifi-package,zte_mf18a,ZTE MF18A))
diff --git a/package/firmware/ipq-wifi/board-wallys_dr40x9.qca4019 
b/package/firmware/ipq-wifi/board-wallys_dr40x9.qca4019
new file mode 100644
index 
..f23ecdfabbb90dc8d293676c4449a5fa9e90e721
GIT binary patch
literal 24316
zcmeHPdr(tX8b1jj%4*?;fV{kf@JeV1A*2{2@{BY<3KkU!un1IR1@j)RX
z0<|DS&^joOrihHi2gGV^?Tj+*=8pf3%%_bZ6FG+tKc{GrNm>?hSzi5={iA0qz
zIp6v2`Of*yFDJ>p_x!kTCdP-x?-Ye|QbQBc<1>UnE|+C1F?~E+ii)iT#f7Xw
zxis{xVrglpbnjLUUMoCUP`($dayhKZf^uoWfkRt&7nGFLRD=pMc$};#ISKmHU|+N_
zk%}*aB_5k3IJ39UWvdp(;1UV$GQR_A|m3aCr?NM>KgFNUrxp9
zlO62fCFS;9zZTs{;29KnY`Qkx>f+qi`nof%|#kfeL*k60U;wiCa!dygd@C>95wMV
zbdcc=eXx__>{LDjcGp@{nw`PtOgjV{$M=F-4U`u+NN<7~^5Owh~Y>J+tLyz1UPx
z6}2xo(1g*lgps%q&5mgwpV^i|2mIJlh
zq^umbn9uubK1e^ouGsX}jlrtUH=07Le2PX-7FWmYV`d^zH(@)WjGf~ebE!|-A!>ZJ
z%DedbN0mKcb-typ`O6C>B3eBH4vy=7v%wj0b=%|_2vCk9O4?H2lGBTM=
z!g4!1__MrbS{yIeXK_64zq6f-1_b!Szd*X5pFiD?PS3PoJLjB49}-b6Ap%)h8EJI7
zFC5|LpP&3NHHDo4@tJ}CI@^DL_|x}>Hmu>M^^RnF`~Sgq^?&;G@grT^B@7qu
zx^xJhk3g-ou6YPcm@zVv$I~UKa5-#NNF-KWu*QRZaPeLiN5dyDCqqyKiAUp+a5Nk#
zRUEE6`d)Ke$9x3{rsbAZ3I(OGDGw-!7wX0K61$)-hzFX0Ca@D8Bp@kh3Ohv{hsGfy
zl#6oN+y`7_3%Z59Ma)4t2p^pZLVdxsIunyXFcTG_=3>fy5Pcee8;Oquy+9aUz=d
zI1x!jQ`xEF2sGkx1QLx#v!lhjH^DH+htfg66Fdf%}6X|tzJMzVe5sFyN0>`(%-sr{ut}@vS?$h;BSqtVz
zv9z7}9`VatER;zkPAI>e|J#Xx$H=D(>O%2{dkDR%iPH0x6VUvr}AgDNi
z0N3xC^#Fu}Ajr@0g>0YzNQI)qgq1Cna6qT~_|WG_JG9TY(&@Qv0YJbffu9Zn(C
z;&=cs)*?Uv1oruB5I}Y#JLSUC#RcDVG>C*yR~iD(hSyWcAf!>T7SS`AJ4io*JaZh;QOFrN`rnU6yF0CCp74HLGk@hF}Fd#18O~pW<6Fuy31x6
ztgJvS*)vYd%qwa>bFNQwP5Xs8ePy9CI~(d074boR*gj$^5KajZF)C(@#X`WF;voW5
zz!r#ki*|iIJE}FBJJ%gSDM{QUB#jcujYMK7*=MoW{66%*bNX_*T;f>ExetFK=iWg>
zB0<7^bqme_ck6|S*PdBR#diWnXz>8!+|#CChNED*agU3@^`}y)084stcXtO^(uV8Z)kO)L!aW)Z1<}_wDZW?!{7;>HHrH-k@9v(Q?CxE^-k1(!+{T*P
zs@%#YCT+Gv)2NIr+!}9odBv2hd1_MK6F!&=GJRGwF
zj|KL?dE6evZgl{No1KH>;)Fo-LLfjOu<8()<;IQI+ErkVB}7He@dQwxmX-0Q9|
zZ_Qq4u0qw4`zMBMd!3F$rbBDVb8PJz^6fEwft33|aTa!?d;FpC6~=7M)aS*}_RWa4
zU0tcnl!SeAUE8IuRpv?f+H2}F$}{agBzzz2|HN+H4rT!8(56->cS+cj

Re: [PATCH uci 1/2] fuzz: Compile using libstd++

2023-03-15 Thread Petr Štetiar
Hauke Mehrtens  [2023-03-12 22:52:50]:

Hi,

> What libfuzzer did you use in your container in gitlab?

I was using clang builds from apt.llvm.org[1].

> An automatic detection would be nice, but I have no idea how to do it.

I found only https://gitlab.kitware.com/cmake/cmake/-/issues/18275 which has
some ideas and further pointers, but unfortunately no copy
solution.

Anyway, I wouldn't waste more time on this, simply push the patch as proposed
and move on, we're all going to use that same tool container in the end, so it
should always provide some common working starting point.

1. https://gitlab.com/ynezz/openwrt-ci/-/blob/master/docker/Dockerfile#L9

Cheers,

Petr

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [PATCH] attr: add NLA_S8

2023-03-15 Thread Nick

On 3/15/23 07:30, Christian Marangi wrote:


On Wed, Mar 15, 2023 at 02:37:43PM +0100, Nick Hainke wrote:

NLA_S8 is used by newer hostapd versions.

Signed-off-by: Nick Hainke 

What is the target project of this patch?


libnl-tiny


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [PATCH] attr: add NLA_S8

2023-03-15 Thread Christian Marangi
On Wed, Mar 15, 2023 at 02:37:43PM +0100, Nick Hainke wrote:
> NLA_S8 is used by newer hostapd versions.
> 
> Signed-off-by: Nick Hainke 

What is the target project of this patch?

> ---
>  attr.c |  1 +
>  include/netlink/attr.h | 35 +++
>  2 files changed, 36 insertions(+)
> 
> diff --git a/attr.c b/attr.c
> index eae91e5..abde67f 100644
> --- a/attr.c
> +++ b/attr.c
> @@ -437,6 +437,7 @@ static uint16_t nla_attr_minlen[NLA_TYPE_MAX+1] = {
>   [NLA_U32]   = sizeof(uint32_t),
>   [NLA_U64]   = sizeof(uint64_t),
>   [NLA_STRING]= 1,
> + [NLA_S8]= sizeof(int8_t),
>  };
>  
>  static int validate_nla(struct nlattr *nla, int maxtype,
> diff --git a/include/netlink/attr.h b/include/netlink/attr.h
> index 3e3047f..3a5d53d 100644
> --- a/include/netlink/attr.h
> +++ b/include/netlink/attr.h
> @@ -45,6 +45,7 @@ enum {
>   NLA_FLAG,   /**< Flag */
>   NLA_MSECS,  /**< Micro seconds (64bit) */
>   NLA_NESTED, /**< Nested attributes */
> + NLA_S8,
>   __NLA_TYPE_MAX,
>  };
>  
> @@ -248,6 +249,31 @@ static inline int nla_put_addr(struct nl_msg *msg, int 
> attrtype, struct nl_addr
>   * @name Integer Attributes
>   */
>  
> +/**
> + * Add 8 bit signed integer attribute to netlink message.
> + * @arg msg Netlink message.
> + * @arg attrtypeAttribute type.
> + * @arg value   Numeric value to store as payload.
> + *
> + * @see nla_put
> + * @return 0 on success or a negative error code.
> + */
> +static inline int nla_put_s8(struct nl_msg *msg, int attrtype, int8_t value)
> +{
> + return nla_put(msg, attrtype, sizeof(int8_t), );
> +}
> +
> +/**
> + * Return value of 8 bit signed integer attribute.
> + * @arg nla 8 bit integer attribute
> + *
> + * @return Payload as 8 bit integer.
> + */
> +static inline int8_t nla_get_s8(const struct nlattr *nla)
> +{
> + return *(const int8_t *) nla_data(nla);
> +}
> +
>  /**
>   * Add 8 bit integer attribute to netlink message.
>   * @arg msg  Netlink message.
> @@ -638,6 +664,15 @@ static inline size_t nla_strlcpy(char *dst, const struct 
> nlattr *nla, size_t dst
>   NLA_PUT(msg, attrtype, sizeof(type), &__tmp); \
>   } while(0)
>  
> +/**
> + * Add 8 bit signed integer attribute to netlink message.
> + * @arg msg  Netlink message.
> + * @arg attrtype Attribute type.
> + * @arg valueNumeric value.
> + */
> +#define NLA_PUT_S8(msg, attrtype, value) \
> + NLA_PUT_TYPE(msg, int8_t, attrtype, value)
> +
>  /**
>   * Add 8 bit integer attribute to netlink message.
>   * @arg msg  Netlink message.
> -- 
> 2.40.0
> 
> 
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

-- 
Ansuel

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH] attr: add NLA_S8

2023-03-15 Thread Nick Hainke
NLA_S8 is used by newer hostapd versions.

Signed-off-by: Nick Hainke 
---
 attr.c |  1 +
 include/netlink/attr.h | 35 +++
 2 files changed, 36 insertions(+)

diff --git a/attr.c b/attr.c
index eae91e5..abde67f 100644
--- a/attr.c
+++ b/attr.c
@@ -437,6 +437,7 @@ static uint16_t nla_attr_minlen[NLA_TYPE_MAX+1] = {
[NLA_U32]   = sizeof(uint32_t),
[NLA_U64]   = sizeof(uint64_t),
[NLA_STRING]= 1,
+   [NLA_S8]= sizeof(int8_t),
 };
 
 static int validate_nla(struct nlattr *nla, int maxtype,
diff --git a/include/netlink/attr.h b/include/netlink/attr.h
index 3e3047f..3a5d53d 100644
--- a/include/netlink/attr.h
+++ b/include/netlink/attr.h
@@ -45,6 +45,7 @@ enum {
NLA_FLAG,   /**< Flag */
NLA_MSECS,  /**< Micro seconds (64bit) */
NLA_NESTED, /**< Nested attributes */
+   NLA_S8,
__NLA_TYPE_MAX,
 };
 
@@ -248,6 +249,31 @@ static inline int nla_put_addr(struct nl_msg *msg, int 
attrtype, struct nl_addr
  * @name Integer Attributes
  */
 
+/**
+ * Add 8 bit signed integer attribute to netlink message.
+ * @arg msg Netlink message.
+ * @arg attrtypeAttribute type.
+ * @arg value   Numeric value to store as payload.
+ *
+ * @see nla_put
+ * @return 0 on success or a negative error code.
+ */
+static inline int nla_put_s8(struct nl_msg *msg, int attrtype, int8_t value)
+{
+   return nla_put(msg, attrtype, sizeof(int8_t), );
+}
+
+/**
+ * Return value of 8 bit signed integer attribute.
+ * @arg nla 8 bit integer attribute
+ *
+ * @return Payload as 8 bit integer.
+ */
+static inline int8_t nla_get_s8(const struct nlattr *nla)
+{
+   return *(const int8_t *) nla_data(nla);
+}
+
 /**
  * Add 8 bit integer attribute to netlink message.
  * @arg msgNetlink message.
@@ -638,6 +664,15 @@ static inline size_t nla_strlcpy(char *dst, const struct 
nlattr *nla, size_t dst
NLA_PUT(msg, attrtype, sizeof(type), &__tmp); \
} while(0)
 
+/**
+ * Add 8 bit signed integer attribute to netlink message.
+ * @arg msgNetlink message.
+ * @arg attrtype   Attribute type.
+ * @arg value  Numeric value.
+ */
+#define NLA_PUT_S8(msg, attrtype, value) \
+   NLA_PUT_TYPE(msg, int8_t, attrtype, value)
+
 /**
  * Add 8 bit integer attribute to netlink message.
  * @arg msgNetlink message.
-- 
2.40.0


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


toolchain/gcc: Always build gccgo?

2023-03-15 Thread Jeffery To
Hello,

I'm considering looking into using gccgo to bootstrap the Go compiler
in the packages feed.

Currently, Go 1.4 (the last version written in C) is first built for
host, then it is used to build the newest Go for host. This host Go
compiler is then used to build the target Go package and other Go
programs.

There are some current and future limitations of using Go 1.4 to
bootstrap this process:

* Go 1.4 doesn't support certain platforms, most notably aarch64. (I
have worked around this by allowing the user to use their system Go as
bootstrap.)

* Upstream will likely start requiring a newer bootstrap version every
year[1]. Go 1.20 already requires Go 1.17 to bootstrap. Their plan
would have Go 1.22 require Go 1.20, Go 1.24 require Go 1.22, etc.

Using gccgo as bootstrap could potentially resolve all of these issues.

Before investigating this further, I would like to ask if there are
any disadvantages/opposition to always building gccgo? It is currently
optional and it would complicate this plan if it stayed optional.

[1]: https://github.com/golang/go/issues/54265

Thanks,
Jeff

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel