Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Apr 2020 03:43:16 +0000 (UTC)
From:      Kevin Bowling <kbowling@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r531653 - in head/emulators/qemu-powernv: . files
Message-ID:  <202004140343.03E3hGCf014531@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202004140343.03E3hGCf014531>