qemu-e2k/scripts
Paolo Bonzini 7f2569246c linuxboot_dma: avoid guest ABI breakage on gcc vs. clang compilation
Recent GCC compiles linuxboot_dma.c to 921 bytes, while CentOS 6 needs
1029 and clang needs 1527.  Because the size of the ROM, rounded to the
next 512 bytes, must match, this causes the API to break between a <1K
ROM and one that is bigger.

We want to make the ROM 1.5 KB in size, but it's better to make clang
produce leaner ROMs, because currently it is worryingly close to the limit.
To fix this prevent clang's happy inlining (which -Os cannot prevent).
This only requires adding a noinline attribute.

Second, the patch makes sure that the ROM has enough padding to prevent
ABI breakage on different compilers.  The size is now hardcoded in the file
that is passed to signrom.py, as was the case before commit 6f71b77
("scripts/signrom.py: Allow option ROM checksum script to write the size
header.", 2016-05-23); signrom.py however will still pad the input to
the requested size.  This ensures that the padding goes beyond the
next multiple of 512 if necessary, and also avoids the need for
-fno-toplevel-reorder which clang doesn't support.  signrom.py can then
error out if the requested size is too small for the actual size of the
compiled ROM.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-08-09 22:57:36 +02:00
..
coccinelle error: Strip trailing '\n' from error string arguments (again) 2016-08-08 09:00:44 +02:00
kvm kvm_stat: Remove 2016-05-29 09:11:10 +02:00
qemu-guest-agent
qemugdb
qmp scripts: ensure monitor socket has SO_REUSEADDR set 2016-07-22 13:23:35 +05:30
tracetool trace: Conditionally trace events based on their per-vCPU state 2016-07-18 18:23:12 +01:00
analyse-9p-simpletrace.py
analyze-inclusions scripts: add script to build QEMU and analyze inclusions 2016-05-19 12:09:28 +02:00
analyze-migration.py
check-qerror.sh
checkpatch.pl checkpatch: Fix newline detection in error_setg() & friends 2016-08-08 09:01:08 +02:00
clean-header-guards.pl scripts: New clean-header-guards.pl 2016-07-12 16:19:16 +02:00
clean-includes os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
cleanup-trace-events.pl
cocci-macro-file.h coccinelle: add g_assert_cmp* to macro file 2016-05-23 16:53:46 +02:00
coverity-model.c
create_config * max-ram-below-4g improvement (Gerd) 2016-06-08 14:45:28 +01:00
disas-objdump.pl
dump-guest-memory.py exec: hide mr->ram_addr from qemu_get_ram_ptr users 2016-05-29 09:11:12 +02:00
extract-vsssdk-headers
feature_to_c.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
get_maintainer.pl
gtester-cat
hxtool
make_device_config.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
make-release
ordereddict.py
qapi-commands.py qapi: Implement boxed types for commands/events 2016-07-19 13:21:08 +02:00
qapi-event.py qapi: Implement boxed types for commands/events 2016-07-19 13:21:08 +02:00
qapi-introspect.py qapi: Plumb in 'boxed' to qapi generator lower levels 2016-07-19 13:21:08 +02:00
qapi-types.py qapi: Add type.is_empty() helper 2016-07-19 13:21:08 +02:00
qapi-visit.py qapi: Drop useless gen_err_check() 2016-07-19 13:21:08 +02:00
qapi.py qapi: Implement boxed types for commands/events 2016-07-19 13:21:08 +02:00
qemu-binfmt-conf.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
qemu-gdb.py
qemu.py iotest: fix python based IO tests 2016-07-26 18:28:40 +02:00
qtest.py iotest: fix python based IO tests 2016-07-26 18:28:40 +02:00
refresh-pxe-roms.sh
shaderinclude.pl
signrom.py linuxboot_dma: avoid guest ABI breakage on gcc vs. clang compilation 2016-08-09 22:57:36 +02:00
simpletrace.py
switch-timer-api
texi2pod.pl
tracetool.py
update-linux-headers.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
vmstate-static-checker.py vmstate-static-checker: fix size mismatch detection in unused fields 2016-06-17 18:24:33 +05:30