[PATCH 2/2] rust: update usage of TARGET_AIX to TARGET_AIX_OS
This was noticed when fixing the gccgo usage of the macro, the rust usage is very similar. TARGET_AIX is defined as a non-zero value on linux/powerpc64le which may cause unexpected behavior. TARGET_AIX_OS should be used to toggle AIX specific behavior. gcc/rust/ChangeLog: * rust-object-export.cc [TARGET_AIX]: Rename and update usage to TARGET_AIX_OS. --- gcc/rust/rust-object-export.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/rust/rust-object-export.cc b/gcc/rust/rust-object-export.cc index 1143c767784..f9a395f6964 100644 --- a/gcc/rust/rust-object-export.cc +++ b/gcc/rust/rust-object-export.cc @@ -46,8 +46,8 @@ #define RUST_EXPORT_SECTION_NAME ".rust_export" #endif -#ifndef TARGET_AIX -#define TARGET_AIX 0 +#ifndef TARGET_AIX_OS +#define TARGET_AIX_OS 0 #endif /* Return whether or not GCC has reported any errors. */ @@ -91,7 +91,7 @@ rust_write_export_data (const char *bytes, unsigned int size) { gcc_assert (targetm_common.have_named_sections); sec = get_section (RUST_EXPORT_SECTION_NAME, -TARGET_AIX ? SECTION_EXCLUDE : SECTION_DEBUG, NULL); +TARGET_AIX_OS ? SECTION_EXCLUDE : SECTION_DEBUG, NULL); } switch_to_section (sec); -- 2.31.1
[PATCH 1/2] go: update usage of TARGET_AIX to TARGET_AIX_OS
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. --- gcc/go/go-backend.cc | 6 +++--- gcc/go/go-lang.cc| 8 2 files changed, 7 insertions(+), 7 deletions(-) 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); -- 2.31.1
Re: [PATCH 2/2] rust: update usage of TARGET_AIX to TARGET_AIX_OS
On 6/19/23 3:39 AM, Thomas Schwinge wrote: Hi Paul! On 2023-06-16T11:00:02-0500, "Paul E. Murphy via Gcc-patches" wrote: This was noticed when fixing the gccgo usage of the macro, the rust usage is very similar. TARGET_AIX is defined as a non-zero value on linux/powerpc64le which may cause unexpected behavior. TARGET_AIX_OS should be used to toggle AIX specific behavior. gcc/rust/ChangeLog: * rust-object-export.cc [TARGET_AIX]: Rename and update usage to TARGET_AIX_OS. I don't have rights to formally approve this GCC/Rust change, but I'll note that it follows "as obvious" (see <https://gcc.gnu.org/gitwrite.html#policies>, "Obvious fixes") to the corresponding GCC/Go change, which has been approved: <https://inbox.sourceware.org/cakoqz8wdwc7g5_jbnk1jvgchhiurceeamzb5bqrx_vzjejp...@mail.gmail.com>, and which is where this GCC/Rust code has been copied from, so I suggest you push both patches at once. Grüße Thomas Hi Thomas, Thank you for reviewing. I do not have commit access, so I cannot push this myself. If this is OK, could one of the rust maintainers push this patch? Thanks, Paul