All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PULL 00/21] tcg patch queue
Date: Sun, 21 Oct 2018 16:21:19 +0100	[thread overview]
Message-ID: <CAFEAcA-nwrSOzzO_xjTaML27fjQDJnGnSBO9uap1rRQFxahcZw@mail.gmail.com> (raw)
In-Reply-To: <CAFEAcA_08zpaSh3g76dXXqzFoAepHzMzo_Bac8BrGJqGRL=n=A@mail.gmail.com>

On 21 October 2018 at 16:01, Peter Maydell <peter.maydell@linaro.org> wrote:
> Any idea what's going on here? tcg/tcg.h has a comment saying
>  * The cmpxchg functions are only defined if HAVE_CMPXCHG128
> so presumably the issue is that the helper-a64 code is
> trying to refer to them anyway. There certainly doesn't
> seem to be any kind of #defining around the listed functions
> in helper-a64.c to stop them being compiled in this situation.
>
> NB: I build with --enable-debug in this tree -- are you
> perhaps accidentally relying on the compiler's optimisation
> to discard these functions if they're not needed?

Adding a #if HAVE_CMPXCHG128 around the helper-a64.c
functions just pushes the link error back a step to the
references to those helpers:
  LINK    aarch64-softmmu/qemu-system-aarch64w.exe
tcg/tcg.o:tcg.c:(.rdata+0x9810): undefined reference to
`helper_paired_cmpxchg64_le_parallel'
tcg/tcg.o:tcg.c:(.rdata+0x9830): undefined reference to
`helper_paired_cmpxchg64_be_parallel'
tcg/tcg.o:tcg.c:(.rdata+0x9840): undefined reference to
`helper_casp_le_parallel'
tcg/tcg.o:tcg.c:(.rdata+0x9850): undefined reference to
`helper_casp_be_parallel'

which in turn I guess is because they're in the array
of all helpers in tcg.c, so we need to also #if out the
prototypes in helper-a64.h, which is awkward because
there we don't have the HAVE_CMPXCHG128 defined...

thanks
-- PMM

  reply	other threads:[~2018-10-21 15:21 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-16 17:48 [Qemu-devel] [PULL 00/21] tcg patch queue Richard Henderson
2018-10-16 17:48 ` [Qemu-devel] [PULL 01/21] tcg: Implement CPU_LOG_TB_NOCHAIN during expansion Richard Henderson
2018-10-16 17:48 ` [Qemu-devel] [PULL 02/21] tcg: access cpu->icount_decr.u16.high with atomics Richard Henderson
2018-10-16 17:48 ` [Qemu-devel] [PULL 03/21] tcg: fix use of uninitialized variable under CONFIG_PROFILER Richard Henderson
2018-10-16 17:48 ` [Qemu-devel] [PULL 04/21] tcg: plug holes in struct TCGProfile Richard Henderson
2018-10-16 17:48 ` [Qemu-devel] [PULL 05/21] tcg: distribute tcg_time into TCG contexts Richard Henderson
2018-10-16 17:48 ` [Qemu-devel] [PULL 06/21] target/alpha: remove tlb_flush from alpha_cpu_initfn Richard Henderson
2018-10-16 17:48 ` [Qemu-devel] [PULL 07/21] target/unicore32: remove tlb_flush from uc32_init_fn Richard Henderson
2018-10-16 17:48 ` [Qemu-devel] [PULL 08/21] exec: introduce tlb_init Richard Henderson
2018-10-16 17:48 ` [Qemu-devel] [PULL 09/21] cputlb: fix assert_cpu_is_self macro Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 10/21] cputlb: serialize tlb updates with env->tlb_lock Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 11/21] tcg: Add tlb_index and tlb_entry helpers Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 12/21] tcg: Split CONFIG_ATOMIC128 Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 13/21] target/i386: Convert to HAVE_CMPXCHG128 Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 14/21] target/arm: " Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 15/21] target/arm: Check HAVE_CMPXCHG128 at translate time Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 16/21] target/ppc: Convert to HAVE_CMPXCHG128 and HAVE_ATOMIC128 Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 17/21] target/s390x: " Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 18/21] target/s390x: Split do_cdsg, do_lpq, do_stpq Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 19/21] target/s390x: Skip wout, cout helpers if op helper does not return Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 20/21] target/s390x: Check HAVE_ATOMIC128 and HAVE_CMPXCHG128 at translate Richard Henderson
2018-10-16 17:49 ` [Qemu-devel] [PULL 21/21] cputlb: read CPUTLBEntry.addr_write atomically Richard Henderson
2018-10-18 10:34 ` [Qemu-devel] [PULL 00/21] tcg patch queue Peter Maydell
2018-10-19  6:10   ` Richard Henderson
2018-10-21 15:01     ` Peter Maydell
2018-10-21 15:21       ` Peter Maydell [this message]
2018-10-22 17:47         ` Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFEAcA-nwrSOzzO_xjTaML27fjQDJnGnSBO9uap1rRQFxahcZw@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.