1. 03 Nov, 2014 2 commits
  2. 24 Oct, 2014 2 commits
    • Chen Gang's avatar
      disas/libvixl/a64/instructions-a64.h: Remove unused constants · 94cc44a9
      Chen Gang authored
      The instructions-a64.h header defines a number of floating point
      constants whose initializers are function calls. gcc 5 will warn
      if these constants are not used by the C or C++ file which includes
      the header, because they imply a runtime cost. Since for the files
      QEMU uses from libvixl we don't use these constants at all, just
      remove them.
      
      Upstream intend to fix these by shifting to an 'extern const' in
      the header plus definition in a suitable source file, so we can
      drop this patch when we sync with the upcoming libvixl 1.7.
      
      The related compiling error:
      
          CXX   disas/arm-a64.o
        In file included from /upstream/qemu/disas/libvixl/a64/disasm-a64.h:32:0,
                         from disas/arm-a64.cc:20:
        disas/libvixl/a64/instructions-a64.h:98:13: error: 'vixl::kFP32PositiveInfinity' defined but not used [-Werror=unused-variable]
         const float kFP32PositiveInfinity = rawbits_to_float(0x7f800000);
                     ^
        disas/libvixl/a64/instructions-a64.h:99:13: error: 'vixl::kFP32NegativeInfinity' defined but not used [-Werror=unused-variable]
         const float kFP32NegativeInfinity = rawbits_to_float(0xff800000);
                     ^
        disas/libvixl/a64/instructions-a64.h:100:14: error: 'vixl::kFP64PositiveInfinity' defined but not used [-Werror=unused-variable]
         const double kFP64PositiveInfinity =
                      ^
        disas/libvixl/a64/instructions-a64.h:102:14: error: 'vixl::kFP64NegativeInfinity' defined but not used [-Werror=unused-variable]
         const double kFP64NegativeInfinity =
                      ^
        disas/libvixl/a64/instructions-a64.h:107:21: error: 'vixl::kFP64SignallingNaN' defined but not used [-Werror=unused-variable]
         static const double kFP64SignallingNaN =
                             ^
        disas/libvixl/a64/instructions-a64.h:109:20: error: 'vixl::kFP32SignallingNaN' defined but not used [-Werror=unused-variable]
         static const float kFP32SignallingNaN = rawbits_to_float(0x7f800001);
                            ^
        disas/libvixl/a64/instructions-a64.h:112:21: error: 'vixl::kFP64QuietNaN' defined but not used [-Werror=unused-variable]
         static const double kFP64QuietNaN =
                             ^
        disas/libvixl/a64/instructions-a64.h:114:20: error: 'vixl::kFP32QuietNaN' defined but not used [-Werror=unused-variable]
         static const float kFP32QuietNaN = rawbits_to_float(0x7fc00001);
                            ^
        disas/libvixl/a64/instructions-a64.h:117:21: error: 'vixl::kFP64DefaultNaN' defined but not used [-Werror=unused-variable]
         static const double kFP64DefaultNaN =
                             ^
        disas/libvixl/a64/instructions-a64.h:119:20: error: 'vixl::kFP32DefaultNaN' defined but not used [-Werror=unused-variable]
         static const float kFP32DefaultNaN = rawbits_to_float(0x7fc00000);
                            ^
        cc1plus: all warnings being treated as errors
        make: *** [disas/arm-a64.o] Error 1
      Signed-off-by: default avatarChen Gang <gang.chen.5i5j@gmail.com>
      [PMM: Rewrote the commit message a little]
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      94cc44a9
    • Peter Maydell's avatar
      disas/libvixl: Update to libvixl 1.6 · 6aea44fc
      Peter Maydell authored
      Update our copy of libvixl to upstream 1.6. There are no
      changes of any particular interest to QEMU, so this is simply
      keeping up with current upstream.
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1412091418-25744-1-git-send-email-peter.maydell@linaro.org
      6aea44fc
  3. 14 Oct, 2014 4 commits
  4. 13 Oct, 2014 7 commits
  5. 29 Sep, 2014 3 commits
  6. 29 Aug, 2014 1 commit
  7. 08 Jul, 2014 1 commit
    • Stefano Stabellini's avatar
      disas/libvixl: prepend the include path of libvixl header files · 834fb1b2
      Stefano Stabellini authored
      Currently the Makefile of disas/libvixl appends
      -I$(SRC_PATH)/disas/libvixl to QEMU_CFLAGS. As a consequence C++ files
      that #include "utils.h", such as disas/libvixl/a64/instructions-a64.cc,
      are going to look for utils.h on all the other include paths first.
      
      When building QEMU as part of the Xen make system, another unrelated
      utils.h file is going to be chosen for inclusion, causing a build
      failure:
      
      In file included from disas/libvixl/a64/instructions-a64.cc:27:0:
      /qemu/disas/libvixl/a64/instructions-a64.h:88:64: error:
      'rawbits_to_float' was not declared in this scope
       const float kFP32PositiveInfinity = rawbits_to_float(0x7f800000);
      
      Fix the problem by prepending (rather than appending) the libvixl
      include path to QEMU_CFLAGS.
      Signed-off-by: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      834fb1b2
  8. 29 Jun, 2014 2 commits
  9. 13 May, 2014 1 commit
  10. 08 May, 2014 1 commit
  11. 10 Mar, 2014 1 commit
  12. 17 Feb, 2014 1 commit
  13. 15 Feb, 2014 1 commit
  14. 08 Feb, 2014 3 commits
  15. 25 Jan, 2014 1 commit
  16. 02 Sep, 2013 1 commit
  17. 26 Apr, 2013 1 commit
  18. 13 Apr, 2013 3 commits
  19. 23 Mar, 2013 1 commit
  20. 18 Mar, 2013 1 commit
  21. 23 Feb, 2013 2 commits
    • Peter Maydell's avatar
      Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() · 6ab7e546
      Peter Maydell authored
      The setjmp() function doesn't specify whether signal masks are saved and
      restored; on Linux they are not, but on BSD (including MacOSX) they are.
      We want to have consistent behaviour across platforms, so we should
      always use "don't save/restore signal mask" (this is also generally
      going to be faster). This also works around a bug in MacOSX where the
      signal-restoration on longjmp() affects the signal mask for a completely
      different thread, not just the mask for the thread which did the longjmp.
      The most visible effect of this was that ctrl-C was ignored on MacOSX
      because the CPU thread did a longjmp which resulted in its signal mask
      being applied to every thread, so that all threads had SIGINT and SIGTERM
      blocked.
      
      The POSIX-sanctioned portable way to do a jump without affecting signal
      masks is to siglongjmp() to a sigjmp_buf which was created by calling
      sigsetjmp() with a zero savemask parameter, so change all uses of
      setjmp()/longjmp() accordingly. [Technically POSIX allows sigsetjmp(buf, 0)
      to save the signal mask; however the following siglongjmp() must not
      restore the signal mask, so the pair can be effectively considered as
      "sigjmp/longjmp which don't touch the mask".]
      
      For Windows we provide a trivial sigsetjmp/siglongjmp in terms of
      setjmp/longjmp -- this is OK because no user will ever pass a non-zero
      savemask.
      
      The setjmp() uses in tests/tcg/test-i386.c and tests/tcg/linux-test.c
      are left untouched because these are self-contained singlethreaded
      test programs intended to be run under QEMU's Linux emulation, so they
      have neither the portability nor the multithreading issues to deal with.
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <rth@twiddle.net>
      Tested-by: default avatarStefan Weil <sw@weilnetz.de>
      Reviewed-by: default avatarLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: default avatarBlue Swirl <blauwirbel@gmail.com>
      6ab7e546
    • Peter Maydell's avatar
      disas/i386.c: Add explicit braces round empty for-loop body · af18078d
      Peter Maydell authored
      Add explicit braces round an empty for-loop body; this fits
      QEMU style and is easier to read than an inconspicuous semicolon
      at the end of the line. It also silences a clang warning:
      
      disas/i386.c:4723:49: warning: for loop has empty body [-Wempty-body]
                for (i = 0; tmp[i] == '0' && tmp[i + 1]; i++);
                                                             ^
      disas/i386.c:4723:49: note: put the semicolon on a separate line to silence this warning [-Wempty-body]
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarBlue Swirl <blauwirbel@gmail.com>
      af18078d