Commit 5de6f3c0 authored by Peter Maydell's avatar Peter Maydell
Browse files

disas/libvixl: Update to upstream VIXL 1.12



Update our copy of libvixl to upstream's 1.12 release.
The major benefit from QEMU's point of view is that some instructions
previously disassembled as "unimplemented (System)" are now displayed
as something more useful. It also fixes some warnings about format
strings that newer w64-mingw32 compilers were emitting.

We didn't have any local changes to libvixl so nothing needed
to be forward-ported.

Although this is a large commit (due to upstream renaming most
of the files), only a few of the files changed in this commit
are not just straight copies of upstream libvixl files:
 disas/arm-a64.cc
 disas/libvixl/Makefile.objs
 disas/libvixl/README

Note that this commit introduces some signed-unsigned comparison
warnings on the old mingw compilers. Those compilers have broken
TLS support anyway so have only ever been much use for compile tests;
anybody still using them should add -Wno-sign-compare to their
--extra-cflags.

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parent b3d21a04
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "a64/disasm-a64.h"
#include "vixl/a64/disasm-a64.h"

extern "C" {
#include "disas/bfd.h"
+5 −4
Original line number Diff line number Diff line
libvixl_OBJS = utils.o \
               a64/instructions-a64.o \
               a64/decoder-a64.o \
               a64/disasm-a64.o
libvixl_OBJS = vixl/utils.o \
               vixl/compiler-intrinsics.o \
               vixl/a64/instructions-a64.o \
               vixl/a64/decoder-a64.o \
               vixl/a64/disasm-a64.o

$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS := -I$(SRC_PATH)/disas/libvixl $(QEMU_CFLAGS)

+1 −2
Original line number Diff line number Diff line
@@ -2,11 +2,10 @@
The code in this directory is a subset of libvixl:
 https://github.com/armvixl/vixl
(specifically, it is the set of files needed for disassembly only,
taken from libvixl 1.7).
taken from libvixl 1.12).
Bugfixes should preferably be sent upstream initially.

The disassembler does not currently support the entire A64 instruction
set. Notably:
 * No Advanced SIMD support.
 * Limited support for system instructions.
 * A few miscellaneous integer and floating point instructions are missing.
+4624 −0

File changed and moved.

Preview size limit exceeded, changes collapsed.

+935 −32

File changed and moved.

Preview size limit exceeded, changes collapsed.

Loading