On Fri, 16 Oct 2026 23:38:55 +0200,
Jeremie Courreges-Anglas <[email protected]> wrote:
> 
> 
> +cc $MAINTAINER
> 
> On Fri, Oct 16, 2026 at 04:19:26PM -0400, Brad Smith wrote:
> > On 2026-10-16 5:29 a.m., Kirill A. Korinsky wrote:
> > > On Fri, 16 Oct 2026 09:27:30 +0200,
> > > Brad Smith <[email protected]> wrote:
> > > > Some fixes for bootgcc..
> > > > 
> > > > - Sync the hppa bits over from lang/gcc/8 to bootgcc
> > > > - Fix ONLY_FOR_ARCHS no point for m88k
> > > > 
> > > > 
> > > I wonder why have you drop support of m88k from bootgcc?
> > 
> > There is no m88k support.
> 
> You mean it doesn't have patches for OpenBSD/m88k, but it has support
> for m88k on other systems.  I'm not sure we need to care about that
> though.  ONLY_FOR_ARCHS = ${GCC4_ARCHS} conveys the intended meaning,
> and nobody runs bulk builds on m88k anyway.
> 
> I don't really object to that part of the diff either.
>

Well, I think we can keep it as placeholder and maybe, one day, some one,
will fix it.

> > > I have no mean to test it so, I have no idea does it work or no.
> 
> Here's a diff that was successfully tested by miod@ last year.
> Pascal, Kirill: ok?
>

reads ok kirill@ fwiw, as I said I can test it later but if it was tested,
let go it in.


> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/bootgcc/Makefile,v
> diff -u -p -r1.12 Makefile
> --- Makefile  16 Feb 2025 22:12:43 -0000      1.12
> +++ Makefile  16 Oct 2026 21:32:05 -0000
> @@ -5,7 +5,7 @@ DPB_PROPERTIES = parallel
>  V = 8.4.0
>  FULL_VERSION = $V
>  FULL_PKGVERSION = $V
> -REVISION = 8
> +REVISION = 9
>  
>  COMMENT =    GNU Compiler Collection; bootstrap package
>  PKGNAME =    bootgcc-${FULL_PKGVERSION}
> Index: patches/patch-gcc_common_opt
> ===================================================================
> RCS file: /cvs/ports/lang/bootgcc/patches/patch-gcc_common_opt,v
> diff -u -p -r1.2 patch-gcc_common_opt
> --- patches/patch-gcc_common_opt      11 Mar 2022 19:28:50 -0000      1.2
> +++ patches/patch-gcc_common_opt      16 Oct 2026 21:32:05 -0000
> @@ -59,6 +59,15 @@ Index: gcc/common.opt
>   Process #ident directives.
>   
>   fif-conversion
> +@@ -1779,7 +1787,7 @@ Common Report Var(flag_ivopts) Init(1) Optimization
> + Optimize induction variables on trees.
> + 
> + fjump-tables
> +-Common Var(flag_jump_tables) Init(1) Optimization
> ++Common Var(flag_jump_tables) Init(0) Optimization
> + Use jump tables for sufficiently large switch statements.
> + 
> + fkeep-inline-functions
>  @@ -2387,7 +2395,7 @@ Common RejectNegative Joined Var(common_deferred_optio
>   -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>.
>   
> Index: patches/patch-gcc_config_pa_pa-openbsd_h
> ===================================================================
> RCS file: /cvs/ports/lang/bootgcc/patches/patch-gcc_config_pa_pa-openbsd_h,v
> diff -u -p -r1.2 patch-gcc_config_pa_pa-openbsd_h
> --- patches/patch-gcc_config_pa_pa-openbsd_h  11 Mar 2022 19:28:50 -0000      
> 1.2
> +++ patches/patch-gcc_config_pa_pa-openbsd_h  16 Oct 2026 21:32:05 -0000
> @@ -1,7 +1,12 @@
> +Update OpenBSD-specific configuration on hppa for:
> +- PIE support.
> +- make __builtin_return_address() not try to read from text sections.
> +- put switch() jump tables in .rodata in order not to read from text 
> sections.
> +
>  Index: gcc/config/pa/pa-openbsd.h
>  --- gcc/config/pa/pa-openbsd.h.orig
>  +++ gcc/config/pa/pa-openbsd.h
> -@@ -138,14 +138,15 @@ along with GCC; see the file COPYING3.  If not see
> +@@ -138,17 +138,31 @@ along with GCC; see the file COPYING3.  If not see
>      %{shared:-shared} %{R*} \
>      %{static:-Bstatic} \
>      %{!static:-Bdynamic} \
> @@ -21,3 +26,19 @@ Index: gcc/config/pa/pa-openbsd.h
>   #undef ENDFILE_SPEC
>   #define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
>   
> ++/* Find the return address associated with the frame given by
> ++   FRAMEADDR.
> ++   The default code in pa.h invokes return_addr_rtx(), which attemps to
> ++   read code at the return pointer in order to check for an export stub.
> ++   This is not possible under OpenBSD as code is not readable; but such
> ++   export stubs are not used under OpenBSD anymay.  */
> ++#undef RETURN_ADDR_RTX
> ++#define RETURN_ADDR_RTX(COUNT, FRAMEADDR)                            \
> ++  ((COUNT) == 0 ? get_hard_reg_initial_val (Pmode, 2) : NULL_RTX)
> ++
> + #define OBSD_HAS_CORRECT_SPECS
> + 
> + #define HAVE_ENABLE_EXECUTE_STACK
> ++
> ++#undef JUMP_TABLES_IN_TEXT_SECTION
> ++#define JUMP_TABLES_IN_TEXT_SECTION 0
> 
> 
> -- 
> jca

-- 
wbr, Kirill

Reply via email to