qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 3bc2f5: build: replace weak symbols with a st


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 3bc2f5: build: replace weak symbols with a static library
Date: Sun, 18 Nov 2012 13:30:09 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 3bc2f570ec9fc930619a8ef26a22dd6d03c25dac
      
https://github.com/qemu/qemu/commit/3bc2f570ec9fc930619a8ef26a22dd6d03c25dac
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-11-18 (Sun, 18 Nov 2012)

  Changed paths:
    M Makefile
    M Makefile.objs
    M Makefile.target
    M compiler.h
    M osdep.c
    M oslib-win32.c
    M qemu-sockets.c
    M qmp.c
    M rules.mak
    A stubs/Makefile.objs
    A stubs/arch-query-cpu-def.c
    A stubs/fd-register.c
    A stubs/fdset-add-fd.c
    A stubs/fdset-find-fd.c
    A stubs/fdset-get-fd.c
    A stubs/fdset-remove-fd.c
    A stubs/get-fd.c
    A stubs/set-fd-handler.c

  Log Message:
  -----------
  build: replace weak symbols with a static library

Weak symbols were a nice idea, but they turned out not to be a good one.
Toolchain support is just too sparse, in particular llvm-gcc is totally
broken.

This patch uses a surprisingly low-tech approach: a static library.
Symbols in a static library are always overridden by symbols in an
object file.  Furthermore, if you place each function in a separate
source file, object files for unused functions will not be taken in.
This means that each function can use all the dependencies that it needs
(especially QAPI stuff such as error_setg).

Thus, all stubs are placed in separate object files and put together in
a static library.  The library then is linked to all programs.

Signed-off-by: Paolo Bonzini <address@hidden>
Tested-by: Peter Maydell <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Tested-by: Stefan Weil <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: de91f537997c96204e35fb308aacb102071f0827
      
https://github.com/qemu/qemu/commit/de91f537997c96204e35fb308aacb102071f0827
  Author: Stefan Weil <address@hidden>
  Date:   2012-11-18 (Sun, 18 Nov 2012)

  Changed paths:
    M exec-all.h

  Log Message:
  -----------
  tci: fix build breakage for target MIPS

commit 5f7319cd introduced GETPC() usage for MIPS, which is currently
not defined when building with --enable-tcg-interpreter. Add MIPS to
the list of targets we selectively define GETPC() for.

Signed-off-by: Stefan Weil <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 13586813446054aeff71b359aa627e201094375c
      
https://github.com/qemu/qemu/commit/13586813446054aeff71b359aa627e201094375c
  Author: Stefan Weil <address@hidden>
  Date:   2012-11-18 (Sun, 18 Nov 2012)

  Changed paths:
    M configure

  Log Message:
  -----------
  tci: Fix build breakage (unresolved symbol tcg_out_tb_finalize)

Commit 32761257c0b9fa7ee04d2871a6e48a41f119c469 enabled
qemu_ld/st optimization unconditionally for some hosts.

The TCG interpreter still does not support this kind of
optimization. Therefore builds with TCI fail with an
unresolved symbol tcg_out_tb_finalize. This is fixed here.

Signed-off-by: Stefan Weil <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: e24dc9feb0d68142d54dc3c097f57588836d1338
      
https://github.com/qemu/qemu/commit/e24dc9feb0d68142d54dc3c097f57588836d1338
  Author: Stefan Weil <address@hidden>
  Date:   2012-11-18 (Sun, 18 Nov 2012)

  Changed paths:
    M tcg/tci/tcg-target.c
    M tcg/tci/tcg-target.h
    M tci.c

  Log Message:
  -----------
  tci: Support deposit operations

The operations for INDEX_op_deposit_i32 and INDEX_op_deposit_i64
are now supported and enabled by default.

Signed-off-by: Stefan Weil <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


Compare: https://github.com/qemu/qemu/compare/2c5c4451e69a...e24dc9feb0d6

reply via email to

[Prev in Thread] Current Thread [Next in Thread]