qemu/scripts
Philippe Mathieu-Daudé 4cacecaaa2 decodetree: Open files with encoding='utf-8'
When decodetree.py was added in commit 568ae7efae, QEMU was
using Python 2 which happily reads UTF-8 files in text mode.
Python 3 requires either UTF-8 locale or an explicit encoding
passed to open(). Now that Python 3 is required, explicit
UTF-8 encoding for decodetree source files.

To avoid further problems with the user locale, also explicit
UTF-8 encoding for the generated C files.

Explicit both input/output are plain text by using the 't' mode.

This fixes:

  $ /usr/bin/python3 scripts/decodetree.py test.decode
  Traceback (most recent call last):
    File "scripts/decodetree.py", line 1397, in <module>
      main()
    File "scripts/decodetree.py", line 1308, in main
      parse_file(f, toppat)
    File "scripts/decodetree.py", line 994, in parse_file
      for line in f:
    File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
      return codecs.ascii_decode(input, self.errors)[0]
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 80:
  ordinal not in range(128)

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Suggested-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210110000240.761122-1-f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2021-01-13 08:39:08 -10:00
..
ci scripts/ci: clean up default args logic a little 2020-11-23 09:48:25 +00:00
coccinelle scripts/coccinelle: New script to remove unnecessary timer_del() calls 2021-01-08 15:13:38 +00:00
codeconverter scripts/codeconverter: Update to latest version 2020-09-18 14:12:32 -04:00
coverity-scan Remove texinfo dependency from docker and CI configs 2020-09-29 17:55:39 +02:00
kvm
modules
oss-fuzz fuzz: heuristic split write based on past IOs 2021-01-11 14:59:21 +01:00
performance scripts/performance: Add dissect.py script 2020-07-14 22:22:22 +02:00
qapi qapi/visit.py: add type hint annotations 2020-10-10 11:37:49 +02:00
qemu-guest-agent
qemugdb scripts/gdb: implement 'qemu bt' 2021-01-12 12:38:03 +01:00
qmp scripts/qmp: delete 'qmp' script 2020-10-27 11:11:06 +01:00
simplebench scripts/simplebench: add bench_prealloc.py 2020-12-18 12:35:55 +01:00
tracetool tracetool: show trace-events filename/lineno in fmt string errors 2021-01-04 14:24:58 +00:00
travis
analyse-9p-simpletrace.py
analyse-locks-simpletrace.py
analyze-inclusions
analyze-migration.py nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
archive-source.sh build-sys: add meson submodule 2020-08-21 06:30:06 -04:00
block-coroutine-wrapper.py scripts: add block-coroutine-wrapper.py 2020-10-05 10:59:06 +01:00
check_sparse.py meson: move sparse detection to Meson and rewrite check_sparse.py 2020-10-04 18:36:23 +02:00
checkpatch.pl scripts: fix error from checkpatch.pl when no commits are found 2020-10-27 09:53:50 +00:00
clean-header-guards.pl scripts/: fix some comment spelling errors 2020-09-17 20:37:55 +02:00
clean-includes meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
cleanup-trace-events.pl scripts/cleanup-trace-events: Emit files in alphabetical order 2020-09-09 17:17:00 +01:00
cocci-macro-file.h compiler.h: remove QEMU_GNUC_PREREQ 2020-12-15 12:53:15 -05:00
coverity-model.c
decodetree.py decodetree: Open files with encoding='utf-8' 2021-01-13 08:39:08 -10:00
device-crash-test device-crash-test: Check if path is actually an executable file 2020-11-09 18:34:21 +01:00
disas-objdump.pl
dump-guest-memory.py
extract-vsssdk-headers
feature_to_c.sh meson: cpu-emu 2020-08-21 06:30:39 -04:00
fix-multiline-comments.sh
gensyscalls.sh linux-user: update syscall_nr.h to Linux 5.9-rc7 2020-10-26 11:39:23 +01:00
get_maintainer.pl
git-submodule.sh
git.orderfile scripts/git.orderfile: Keep files with .inc extension sorted 2020-12-15 12:53:16 -05:00
hxtool meson: generate hxtool files 2020-08-21 06:30:14 -04:00
hxtool-conv.pl
kernel-doc scripts: kernel-doc: remove unnecessary change wrt Linux 2020-12-10 12:15:25 -05:00
make-release
meson.build meson: install scripts/qemu-trace-stap 2020-09-01 01:51:52 -04:00
minikconf.py meson: infrastructure for building emulators 2020-08-21 06:30:17 -04:00
mtest2make.py build: replace ninjatool with ninja 2020-10-17 10:45:51 -04:00
nsis.py meson: Fix argument for makensis (build regression) 2020-11-18 09:28:55 +01:00
qapi-gen.py qapi: move generator entrypoint into package 2020-10-10 11:37:47 +02:00
qemu-binfmt-conf.sh
qemu-gdb.py scripts/gdb: implement 'qemu bt' 2021-01-12 12:38:03 +01:00
qemu-trace-stap
qemu-version.sh build-sys: fix git version from -version 2020-10-12 11:50:23 -04:00
refresh-pxe-roms.sh
render_block_graph.py python/qmp.py: re-absorb MonitorResponseError 2020-07-14 22:22:22 +02:00
replay-dump.py nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
shaderinclude.pl
show-fixed-bugs.sh
signrom.py
simpletrace.py
switch-timer-api
tap-driver.pl
tap-merge.pl
test-driver.py mtest2make: hide output of successful tests 2020-09-08 07:17:09 +02:00
tracetool.py tracetool: add output filename command-line argument 2021-01-04 14:24:58 +00:00
u2f-setup-gen.py scripts: Add u2f-setup-gen script 2020-08-31 08:23:39 +02:00
undefsym.py build: fix macOS --enable-modules build 2020-10-22 11:53:52 -04:00
update-linux-headers.sh update-linux-headers: Add vfio_zdev.h 2020-11-01 12:30:51 -07:00
update-mips-syscall-args.sh
update-syscalltbl.sh
vmstate-static-checker.py