svn commit: r531653 - in head/emulators/qemu-powernv: . files
Kevin Bowling
kbowling at FreeBSD.org
Tue Apr 14 03:43:17 UTC 2020
Author: kbowling
Date: Tue Apr 14 03:43:16 2020
New Revision: 531653
URL: https://svnweb.freebsd.org/changeset/ports/531653
Log:
emulators/qemu-powernv: fix build with lld 10
Apply db@'s variant from r528777 to fix lld 10 build issues with qemu ports.
While here fix a port QA issue by adding libxml2 to USE_GNOME.
Approved by: timur (mentor)
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D24390
Added:
head/emulators/qemu-powernv/files/
head/emulators/qemu-powernv/files/patch-configure (contents, props changed)
Modified:
head/emulators/qemu-powernv/Makefile
Modified: head/emulators/qemu-powernv/Makefile
==============================================================================
--- head/emulators/qemu-powernv/Makefile Tue Apr 14 01:41:05 2020 (r531652)
+++ head/emulators/qemu-powernv/Makefile Tue Apr 14 03:43:16 2020 (r531653)
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${LOCALBASE}/lib/libfdt.so:sysutils/dt
USES= bison:build compiler:c11 gmake gnome libtool makeinfo \
pkgconfig python:build tar:bz2 xorg
USE_XORG= pixman
-USE_GNOME= glib20
+USE_GNOME= glib20 libxml2
HAS_CONFIGURE= yes
CONFIGURE_ARGS+=--target-list=ppc64-softmmu \
Added: head/emulators/qemu-powernv/files/patch-configure
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/emulators/qemu-powernv/files/patch-configure Tue Apr 14 03:43:16 2020 (r531653)
@@ -0,0 +1,74 @@
+--- configure.orig 2019-12-12 02:59:10 UTC
++++ configure
+@@ -3261,10 +3261,10 @@ fi
+ # curses probe
+ if test "$curses" != "no" ; then
+ if test "$mingw32" = "yes" ; then
+- curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):"
++ curses_inc_list="$($pkg_config --cflags-only-I ncurses 2>/dev/null):"
+ curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses"
+ else
+- curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):-I/usr/include/ncursesw:"
++ curses_inc_list="$($pkg_config --cflags-only-I ncursesw 2>/dev/null):-I/usr/include/ncursesw:"
+ curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw"
+ fi
+ curses_found=no
+@@ -3381,7 +3381,7 @@ for i in $glib_modules; do
+ glib_libs=$($pkg_config --libs $i)
+ QEMU_CFLAGS="$glib_cflags $QEMU_CFLAGS"
+ LIBS="$glib_libs $LIBS"
+- libs_qga="$glib_libs $libs_qga"
++ libs_qga="$glib_libs -lintl $libs_qga"
+ else
+ error_exit "glib-$glib_req_ver $i is required to compile QEMU"
+ fi
+@@ -5517,27 +5517,30 @@ if ( [ "$linux_user" = yes ] || [ "$bsd_user" = yes ]
+ cat > $TMPC <<EOF
+ int main(void) { return 0; }
+ EOF
+- textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr"
++ textseg_ldflags="-Wl,--image-base=$textseg_addr"
+ if ! compile_prog "" "$textseg_ldflags"; then
+- # In case ld does not support -Ttext-segment, edit the default linker
+- # script via sed to set the .text start addr. This is needed on FreeBSD
+- # at least.
+- if ! $ld --verbose >/dev/null 2>&1; then
+- error_exit \
+- "We need to link the QEMU user mode binaries at a" \
+- "specific text address. Unfortunately your linker" \
+- "doesn't support either the -Ttext-segment option or" \
+- "printing the default linker script with --verbose." \
+- "If you don't want the user mode binaries, pass the" \
+- "--disable-user option to configure."
+- fi
++ textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr"
++ if ! compile_prog "" "$textseg_ldflags"; then
++ # In case ld does not support -Ttext-segment, edit the default linker
++ # script via sed to set the .text start addr. This is needed on FreeBSD
++ # at least.
++ if ! $ld --verbose >/dev/null 2>&1; then
++ error_exit \
++ "We need to link the QEMU user mode binaries at a" \
++ "specific text address. Unfortunately your linker" \
++ "doesn't support either the -Ttext-segment option or" \
++ "printing the default linker script with --verbose." \
++ "If you don't want the user mode binaries, pass the" \
++ "--disable-user option to configure."
++ fi
+
+- $ld --verbose | sed \
+- -e '1,/==================================================/d' \
+- -e '/==================================================/,$d' \
+- -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \
+- -e "s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr/" > config-host.ld
+- textseg_ldflags="-Wl,-T../config-host.ld"
++ $ld --verbose | sed \
++ -e '1,/==================================================/d' \
++ -e '/==================================================/,$d' \
++ -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \
++ -e "s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr/" > config-host.ld
++ textseg_ldflags="-Wl,-T../config-host.ld"
++ fi
+ fi
+ fi
+ fi
More information about the svn-ports-head
mailing list