https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62247

--- Comment #5 from dave.anglin at bell dot net ---
On 2015-02-07, at 10:49 AM, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62247
> 
> --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> With cross-compiler I get the same anon3.s (no .weak occurrences in the
> assembly) as in 4.9.  As neither the test nor dg-require-weak seems to have
> changed, I guess the important questions are:
> 1) can you compare 4.9.2 and 5.0.0 generated assembly?

Attached assembler output from 4.9.3 20150207.

The assembly output from 5.0.0 is wierd.  It has a few nop's which make up body
of function:

virtual void Heya::A::f()
...
(insn 2 11 3 (set (mem/f/c:SI (reg/f:SI 28 %r28 [98]) [0 this+0 S4 A32])
        (reg:SI 26 %r26 [ this ]))
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/abi/an
on3.C:14 40 {*pa.md:2204}
     (nil))
(note 3 2 8 NOTE_INSN_FUNCTION_BEG)(insn 8 3 18 (const_int 0 [0])
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/abi/anon3.
C:14 213 {nop}
     (nil))
(note 18 8 19 NOTE_INSN_EPILOGUE_BEG)

> 2) does the test in 4.9.2 PASS or is it UNSUPPORTED?

The test passes in 4.9.2.

> 3) has something changed in auto-host.h, such as previously HAVE_GAS_WEAK and
> now no longer true or something similar?

Both 4.9 and 5.0 have:

/* Define if your assembler supports .weak. */
#ifndef USED_FOR_TARGET
#define HAVE_GAS_WEAK 1
#endif


/* Define if your assembler supports .weakref. */
#ifndef USED_FOR_TARGET
#define HAVE_GAS_WEAKREF 1
#endif

> 4) if there has been any change on the compiler side, can you bisect when did
> that happen?


Will try to narrow this down.

Dave
--
John David Anglin    dave.ang...@bell.net

Reply via email to