Hi David,
On 8 November 2016 at 19:00, David Edelsohn <dje....@gmail.com> wrote: > On Tue, Nov 8, 2016 at 10:23 AM, Christophe Lyon > <christophe.l...@linaro.org> wrote: >> Hi David, >> >> On 2 November 2016 at 16:41, David Edelsohn <dje....@gmail.com> wrote: >>> This revised patch makes two changes: >>> >>> 1) Fix typo in configure.ac >>> 2) Add AIX visibility support for ASM_WEAKEN_DECL, which does touch >>> the same code as Linux. >>> >>> The AIX "weak" support fixes a large number of C++ visibility testcases. >>> >>> Bootstrapped on powerpc-ibm-aix7.2.0.0. >>> >>> * configure.ac (.hidden): Change to conftest_s string. Provide string >>> for AIX assembler. >>> (gcc_cv_ld_hidden): Yes for AIX. >>> * configure: Regenerate. >>> >>> * dwarf2asm.c (USE_LINKONCE_INDIRECT): Don't set for AIX (XCOFF). >>> >>> * config/rs6000/rs6000-protos.h (rs6000_asm_weaken_decl): Declare >>> (rs6000_xcoff_asm_output_aligned_decl_common): Declare. >>> * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_DECL_NAME): Define. >>> (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. >>> (ASM_OUTPUT_ALIGNED_COMMON): Delete. >>> * config/rs6000/rs6000.c (rs6000_init_builtins): Change clog rename >>> from #if to if. >>> (rs6000_xcoff_visibility): New. >>> (rs6000_xcoff_declare_function_name): Add visibility support. >>> (rs6000_xcoff_asm_globalize_decl_name): New. >>> (rs6000_xcoff_asm_output_aligned_decl_common): New. >>> (rs6000_asm_weaken_decl): New. >>> (rs6000_code_end): Disable HIDDEN_LINKONCE on XCOFF. >>> config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Change definition to >>> reference function. >>> >>> dwarf2asm.c okay? >>> >>> Any comments on ASM_WEAKEN_DECL change? >>> >>> Thanks, David >> >> It seems this commit (r241930) is causing a regression on aarch64: >> FAIL: g++.dg/torture/pr60750.C -O2 -flto -fno-use-linker-plugin >> -flto-partition=none execution test > > Hi, Christophe > > Because GCC wants to move toward runtime tests, the appended patch is > a better solution. > > Thanks, David > > Index: dwarf2asm.c > =================================================================== > --- dwarf2asm.c (revision 241972) > +++ dwarf2asm.c (working copy) > @@ -824,8 +824,8 @@ > > static GTY(()) int dw2_const_labelno; > > -#if defined(HAVE_GAS_HIDDEN) && !defined(XCOFF_DEBUGGING_INFO) > -# define USE_LINKONCE_INDIRECT (SUPPORTS_ONE_ONLY) > +#if defined(HAVE_GAS_HIDDEN) > +# define USE_LINKONCE_INDIRECT (SUPPORTS_ONE_ONLY && !XCOFF_DEBUGGING_INFO) > #else > # define USE_LINKONCE_INDIRECT 0 > #endif I confirm this 2nd version works. Thanks Christophe