Message ID | 20230616160002.1854983-1-murphyp@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | [1/2] go: update usage of TARGET_AIX to TARGET_AIX_OS | expand |
On Fri, Jun 16, 2023 at 9:00 AM Paul E. Murphy via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > TARGET_AIX is defined to a non-zero value on linux and maybe other > powerpc64le targets. This leads to unexpected behavior such as > dropping the .go_export section when linking a shared library > on linux/powerpc64le. > > Instead, use TARGET_AIX_OS to toggle AIX specific behavior. > > Fixes golang/go#60798. > > gcc/go/ChangeLog: > > * go-backend.cc [TARGET_AIX]: Rename and update usage to > TARGET_AIX_OS. > * go-lang.cc: Likewise. This is OK. Thanks. Ian
On 6/16/23 12:01 PM, Ian Lance Taylor via Gcc-patches wrote: > On Fri, Jun 16, 2023 at 9:00 AM Paul E. Murphy via Gcc-patches > <gcc-patches@gcc.gnu.org> wrote: >> >> TARGET_AIX is defined to a non-zero value on linux and maybe other >> powerpc64le targets. This leads to unexpected behavior such as >> dropping the .go_export section when linking a shared library >> on linux/powerpc64le. >> >> Instead, use TARGET_AIX_OS to toggle AIX specific behavior. >> >> Fixes golang/go#60798. >> >> gcc/go/ChangeLog: >> >> * go-backend.cc [TARGET_AIX]: Rename and update usage to >> TARGET_AIX_OS. >> * go-lang.cc: Likewise. > > This is OK. > > Thanks. > > Ian I pushed this to trunk for Paul. Peter
On 6/22/23 6:37 PM, Peter Bergner via Gcc-patches wrote: > On 6/16/23 12:01 PM, Ian Lance Taylor via Gcc-patches wrote: >> On Fri, Jun 16, 2023 at 9:00 AM Paul E. Murphy via Gcc-patches >> <gcc-patches@gcc.gnu.org> wrote: >>> >>> TARGET_AIX is defined to a non-zero value on linux and maybe other >>> powerpc64le targets. This leads to unexpected behavior such as >>> dropping the .go_export section when linking a shared library >>> on linux/powerpc64le. >>> >>> Instead, use TARGET_AIX_OS to toggle AIX specific behavior. >>> >>> Fixes golang/go#60798. >>> >>> gcc/go/ChangeLog: >>> >>> * go-backend.cc [TARGET_AIX]: Rename and update usage to >>> TARGET_AIX_OS. >>> * go-lang.cc: Likewise. >> >> This is OK. >> >> Thanks. >> >> Ian > > I pushed this to trunk for Paul. I see this is broken on the release branches too. Are backports ok after some burn-in on trunk? Peter
On Thu, Jun 22, 2023, 4:47 PM Peter Bergner <bergner@linux.ibm.com> wrote: > On 6/22/23 6:37 PM, Peter Bergner via Gcc-patches wrote: > > On 6/16/23 12:01 PM, Ian Lance Taylor via Gcc-patches wrote: > >> On Fri, Jun 16, 2023 at 9:00 AM Paul E. Murphy via Gcc-patches > >> <gcc-patches@gcc.gnu.org> wrote: > >>> > >>> TARGET_AIX is defined to a non-zero value on linux and maybe other > >>> powerpc64le targets. This leads to unexpected behavior such as > >>> dropping the .go_export section when linking a shared library > >>> on linux/powerpc64le. > >>> > >>> Instead, use TARGET_AIX_OS to toggle AIX specific behavior. > >>> > >>> Fixes golang/go#60798. > >>> > >>> gcc/go/ChangeLog: > >>> > >>> * go-backend.cc [TARGET_AIX]: Rename and update usage to > >>> TARGET_AIX_OS. > >>> * go-lang.cc: Likewise. > >> > >> This is OK. > >> > >> Thanks. > >> > >> Ian > > > > I pushed this to trunk for Paul. > > I see this is broken on the release branches too. Are backports ok > after some burn-in on trunk? > Yes. Thanks. Ian >
On 6/22/23 10:30 PM, Ian Lance Taylor wrote: > On Thu, Jun 22, 2023, 4: 47 PM Peter Bergner <bergner@ linux. ibm. com> wrote: On 6/22/23 6: 37 PM, Peter Bergner via Gcc-patches wrote: > On 6/16/23 > >> On Fri, Jun 16, 2023 at 9:00 AM Paul E. Murphy via Gcc-patches > >> <gcc-patches@gcc.gnu.org <mailto:gcc-patches@gcc.gnu.org>> wrote: > >>> > >>> TARGET_AIX is defined to a non-zero value on linux and maybe other > >>> powerpc64le targets. This leads to unexpected behavior such as > >>> dropping the .go_export section when linking a shared library > >>> on linux/powerpc64le. > >>> > >>> Instead, use TARGET_AIX_OS to toggle AIX specific behavior. > >>> > >>> Fixes golang/go#60798. > >>> > >>> gcc/go/ChangeLog: > >>> > >>> * go-backend.cc [TARGET_AIX]: Rename and update usage to > >>> TARGET_AIX_OS. > >>> * go-lang.cc: Likewise. > >> > >> This is OK. > >> > >> Thanks. > >> > >> Ian > > > > I pushed this to trunk for Paul. > > I see this is broken on the release branches too. Are backports ok > after some burn-in on trunk? > > Yes. Thanks. Ok, I backported the Go fix to GCC 13, 12, 11 and 10 (before the 10.5 freeze). I also backported to the rust change to GCC 13, which was the first release with rust. Thanks. Peter
diff --git a/gcc/go/go-backend.cc b/gcc/go/go-backend.cc index c6a1a2b7c18..6e2c919e829 100644 --- a/gcc/go/go-backend.cc +++ b/gcc/go/go-backend.cc @@ -45,8 +45,8 @@ along with GCC; see the file COPYING3. If not see #define GO_EXPORT_SECTION_NAME ".go_export" #endif -#ifndef TARGET_AIX -#define TARGET_AIX 0 +#ifndef TARGET_AIX_OS +#define TARGET_AIX_OS 0 #endif /* This file holds all the cases where the Go frontend needs @@ -107,7 +107,7 @@ go_write_export_data (const char *bytes, unsigned int size) { gcc_assert (targetm_common.have_named_sections); sec = get_section (GO_EXPORT_SECTION_NAME, - TARGET_AIX ? SECTION_EXCLUDE : SECTION_DEBUG, + TARGET_AIX_OS ? SECTION_EXCLUDE : SECTION_DEBUG, NULL); } diff --git a/gcc/go/go-lang.cc b/gcc/go/go-lang.cc index b6e8c37bf22..c6c147b20a5 100644 --- a/gcc/go/go-lang.cc +++ b/gcc/go/go-lang.cc @@ -39,8 +39,8 @@ along with GCC; see the file COPYING3. If not see #include "go-c.h" #include "go-gcc.h" -#ifndef TARGET_AIX -#define TARGET_AIX 0 +#ifndef TARGET_AIX_OS +#define TARGET_AIX_OS 0 #endif /* Language-dependent contents of a type. */ @@ -116,9 +116,9 @@ go_langhook_init (void) args.compiling_runtime = go_compiling_runtime; args.debug_escape_level = go_debug_escape_level; args.debug_escape_hash = go_debug_escape_hash; - args.nil_check_size_threshold = TARGET_AIX ? -1 : 4096; + args.nil_check_size_threshold = TARGET_AIX_OS ? -1 : 4096; args.debug_optimization = go_debug_optimization; - args.need_eqtype = TARGET_AIX ? true : false; + args.need_eqtype = TARGET_AIX_OS ? true : false; args.linemap = go_get_linemap(); args.backend = go_get_backend(); go_create_gogo (&args);