Re: devel/avr32 -fno-common fixes

2021-02-13 Thread Greg Steuck
Christian Weisgerber  writes:

> The GNU toolchain explicitly avoids common variables.  Whoever
> hacked up this derived version didn't understand that.
>
> * binutils: Since linkrelax is already defined as a global variable,
>   it is already initialized to 0, so we can simply drop this
>   initialization.
>
> * gcc-bootstrap, gcc: Use the mechanism provided by the .opt file
>   processing to initialize these globals.
>
> With this, devel/avr32/* builds.
>
> OK?

OK gnezdo@

> Index: binutils/Makefile
> ===
> RCS file: /cvs/ports/devel/avr32/binutils/Makefile,v
> retrieving revision 1.4
> diff -u -p -r1.4 Makefile
> --- binutils/Makefile 12 Jul 2019 21:15:34 -  1.4
> +++ binutils/Makefile 12 Feb 2021 22:41:54 -
> @@ -2,6 +2,7 @@
>  
>  COMMENT =Atmel AVR 32-bit binutils
>  V =  2.23.1
> +REVISION =   0
>  DISTNAME =   avr32-binutils-${V}
>  
>  # GPLv3
> Index: binutils/patches/patch-gas_config_tc-avr32_c
> ===
> RCS file: binutils/patches/patch-gas_config_tc-avr32_c
> diff -N binutils/patches/patch-gas_config_tc-avr32_c
> --- /dev/null 1 Jan 1970 00:00:00 -
> +++ binutils/patches/patch-gas_config_tc-avr32_c  12 Feb 2021 22:41:54 
> -
> @@ -0,0 +1,15 @@
> +$OpenBSD$
> +
> +fix for -fno-common
> +
> +Index: gas/config/tc-avr32.c
> +--- gas/config/tc-avr32.c.orig
>  gas/config/tc-avr32.c
> +@@ -47,7 +47,6 @@
> + 
> + /* Flags given on the command line */
> + static int avr32_pic= FALSE;
> +-int linkrelax   = FALSE;
> + int avr32_iarcompat = FALSE;
> + 
> + /* This array holds the chars that always start a comment. */
> Index: gcc/Makefile
> ===
> RCS file: /cvs/ports/devel/avr32/gcc/Makefile,v
> retrieving revision 1.8
> diff -u -p -r1.8 Makefile
> --- gcc/Makefile  15 Jan 2021 19:03:58 -  1.8
> +++ gcc/Makefile  12 Feb 2021 22:41:54 -
> @@ -3,7 +3,7 @@
>  COMMENT =Atmel AVR 32-bit gcc
>  V =  4.4.7
>  DISTNAME =   avr32-gcc-${V}
> -REVISION =   1
> +REVISION =   2
>  
>  # GPLv3
>  PERMIT_PACKAGE = Yes
> Index: gcc/patches/patch-gcc_config_avr32_avr32_c
> ===
> RCS file: gcc/patches/patch-gcc_config_avr32_avr32_c
> diff -N gcc/patches/patch-gcc_config_avr32_avr32_c
> --- /dev/null 1 Jan 1970 00:00:00 -
> +++ gcc/patches/patch-gcc_config_avr32_avr32_c12 Feb 2021 22:41:54 
> -
> @@ -0,0 +1,18 @@
> +$OpenBSD$
> +
> +fix for -fno-common
> +
> +Index: gcc/config/avr32/avr32.c
> +--- gcc/config/avr32/avr32.c.orig
>  gcc/config/avr32/avr32.c
> +@@ -207,10 +207,6 @@ static const struct arch_type_s avr32_arch_types[] = {
> +   {NULL, 0, 0, 0, NULL}
> + };
> + 
> +-/* Default arch name */
> +-const char *avr32_arch_name = "none";
> +-const char *avr32_part_name = "none";
> +-
> + const struct part_type_s *avr32_part;
> + const struct arch_type_s *avr32_arch;
> + 
> Index: gcc/patches/patch-gcc_config_avr32_avr32_opt
> ===
> RCS file: gcc/patches/patch-gcc_config_avr32_avr32_opt
> diff -N gcc/patches/patch-gcc_config_avr32_avr32_opt
> --- /dev/null 1 Jan 1970 00:00:00 -
> +++ gcc/patches/patch-gcc_config_avr32_avr32_opt  12 Feb 2021 22:41:54 
> -
> @@ -0,0 +1,25 @@
> +$OpenBSD$
> +
> +fix for -fno-common
> +
> +Index: gcc/config/avr32/avr32.opt
> +--- gcc/config/avr32/avr32.opt.orig
>  gcc/config/avr32/avr32.opt
> +@@ -56,7 +56,7 @@ Target Report Mask(HAS_ASM_ADDR_PSEUDOS) 
> + Use assembler pseudo-instructions lda.w and call for handling direct 
> addresses. (Enabled by default)
> + 
> + mpart=
> +-Target Report RejectNegative Joined Var(avr32_part_name)
> ++Target Report RejectNegative Joined Var(avr32_part_name) Init("none")
> + Specify the AVR32 part name
> + 
> + mcpu=
> +@@ -64,7 +64,7 @@ Target Report RejectNegative Joined Undocumented Var(a
> + Specify the AVR32 part name (deprecated)
> + 
> + march=
> +-Target Report RejectNegative Joined Var(avr32_arch_name)
> ++Target Report RejectNegative Joined Var(avr32_arch_name) Init("none")
> + Specify the AVR32 architecture name
> + 
> + mfast-float
> Index: gcc-bootstrap/Makefile
> ===
> RCS file: /cvs/ports/devel/avr32/gcc-bootstrap/Makefile,v
> retrieving revision 1.8
> diff -u -p -r1.8 Makefile
> --- gcc-bootstrap/Makefile9 Jan 2021 21:41:16 -   1.8
> +++ gcc-bootstrap/Makefile12 Feb 2021 22:41:54 -
> @@ -7,7 +7,7 @@ PKGNAME = avr32-gcc-bootstrap-${V}
>  
>  # GPLv3
>  PERMIT_PACKAGE = Yes
> -REVISION =   1
> +REVISION =   2
>  
>  WANTLIB =c gmp mpfr
>  DIST_SUBDIR =gcc
> Index: gcc-bootstrap/patches/patch-gcc_config_avr32_avr32_c
> 

devel/avr32 -fno-common fixes

2021-02-12 Thread Christian Weisgerber
The GNU toolchain explicitly avoids common variables.  Whoever
hacked up this derived version didn't understand that.

* binutils: Since linkrelax is already defined as a global variable,
  it is already initialized to 0, so we can simply drop this
  initialization.

* gcc-bootstrap, gcc: Use the mechanism provided by the .opt file
  processing to initialize these globals.

With this, devel/avr32/* builds.

OK?

Index: binutils/Makefile
===
RCS file: /cvs/ports/devel/avr32/binutils/Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile
--- binutils/Makefile   12 Jul 2019 21:15:34 -  1.4
+++ binutils/Makefile   12 Feb 2021 22:41:54 -
@@ -2,6 +2,7 @@
 
 COMMENT =  Atmel AVR 32-bit binutils
 V =2.23.1
+REVISION = 0
 DISTNAME = avr32-binutils-${V}
 
 # GPLv3
Index: binutils/patches/patch-gas_config_tc-avr32_c
===
RCS file: binutils/patches/patch-gas_config_tc-avr32_c
diff -N binutils/patches/patch-gas_config_tc-avr32_c
--- /dev/null   1 Jan 1970 00:00:00 -
+++ binutils/patches/patch-gas_config_tc-avr32_c12 Feb 2021 22:41:54 
-
@@ -0,0 +1,15 @@
+$OpenBSD$
+
+fix for -fno-common
+
+Index: gas/config/tc-avr32.c
+--- gas/config/tc-avr32.c.orig
 gas/config/tc-avr32.c
+@@ -47,7 +47,6 @@
+ 
+ /* Flags given on the command line */
+ static int avr32_pic  = FALSE;
+-int linkrelax = FALSE;
+ int avr32_iarcompat   = FALSE;
+ 
+ /* This array holds the chars that always start a comment. */
Index: gcc/Makefile
===
RCS file: /cvs/ports/devel/avr32/gcc/Makefile,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile
--- gcc/Makefile15 Jan 2021 19:03:58 -  1.8
+++ gcc/Makefile12 Feb 2021 22:41:54 -
@@ -3,7 +3,7 @@
 COMMENT =  Atmel AVR 32-bit gcc
 V =4.4.7
 DISTNAME = avr32-gcc-${V}
-REVISION = 1
+REVISION = 2
 
 # GPLv3
 PERMIT_PACKAGE =   Yes
Index: gcc/patches/patch-gcc_config_avr32_avr32_c
===
RCS file: gcc/patches/patch-gcc_config_avr32_avr32_c
diff -N gcc/patches/patch-gcc_config_avr32_avr32_c
--- /dev/null   1 Jan 1970 00:00:00 -
+++ gcc/patches/patch-gcc_config_avr32_avr32_c  12 Feb 2021 22:41:54 -
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+fix for -fno-common
+
+Index: gcc/config/avr32/avr32.c
+--- gcc/config/avr32/avr32.c.orig
 gcc/config/avr32/avr32.c
+@@ -207,10 +207,6 @@ static const struct arch_type_s avr32_arch_types[] = {
+   {NULL, 0, 0, 0, NULL}
+ };
+ 
+-/* Default arch name */
+-const char *avr32_arch_name = "none";
+-const char *avr32_part_name = "none";
+-
+ const struct part_type_s *avr32_part;
+ const struct arch_type_s *avr32_arch;
+ 
Index: gcc/patches/patch-gcc_config_avr32_avr32_opt
===
RCS file: gcc/patches/patch-gcc_config_avr32_avr32_opt
diff -N gcc/patches/patch-gcc_config_avr32_avr32_opt
--- /dev/null   1 Jan 1970 00:00:00 -
+++ gcc/patches/patch-gcc_config_avr32_avr32_opt12 Feb 2021 22:41:54 
-
@@ -0,0 +1,25 @@
+$OpenBSD$
+
+fix for -fno-common
+
+Index: gcc/config/avr32/avr32.opt
+--- gcc/config/avr32/avr32.opt.orig
 gcc/config/avr32/avr32.opt
+@@ -56,7 +56,7 @@ Target Report Mask(HAS_ASM_ADDR_PSEUDOS) 
+ Use assembler pseudo-instructions lda.w and call for handling direct 
addresses. (Enabled by default)
+ 
+ mpart=
+-Target Report RejectNegative Joined Var(avr32_part_name)
++Target Report RejectNegative Joined Var(avr32_part_name) Init("none")
+ Specify the AVR32 part name
+ 
+ mcpu=
+@@ -64,7 +64,7 @@ Target Report RejectNegative Joined Undocumented Var(a
+ Specify the AVR32 part name (deprecated)
+ 
+ march=
+-Target Report RejectNegative Joined Var(avr32_arch_name)
++Target Report RejectNegative Joined Var(avr32_arch_name) Init("none")
+ Specify the AVR32 architecture name
+ 
+ mfast-float
Index: gcc-bootstrap/Makefile
===
RCS file: /cvs/ports/devel/avr32/gcc-bootstrap/Makefile,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile
--- gcc-bootstrap/Makefile  9 Jan 2021 21:41:16 -   1.8
+++ gcc-bootstrap/Makefile  12 Feb 2021 22:41:54 -
@@ -7,7 +7,7 @@ PKGNAME =   avr32-gcc-bootstrap-${V}
 
 # GPLv3
 PERMIT_PACKAGE =   Yes
-REVISION = 1
+REVISION = 2
 
 WANTLIB =  c gmp mpfr
 DIST_SUBDIR =  gcc
Index: gcc-bootstrap/patches/patch-gcc_config_avr32_avr32_c
===
RCS file: gcc-bootstrap/patches/patch-gcc_config_avr32_avr32_c
diff -N gcc-bootstrap/patches/patch-gcc_config_avr32_avr32_c
--- /dev/null   1 Jan 1970 00:00:00 -
+++ gcc-bootstrap/patches/patch-gcc_config_avr32_avr32_c12 Feb 2021 
22:41:54 -
@@ -0,0 +1,18 @@
+$OpenBSD$
+