From patchwork Thu Feb 1 19:36:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cole Robinson X-Patchwork-Id: 1894169 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=NM9qxHZt; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=patchwork.ozlabs.org) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TQq1Z3h2Fz23gH for ; Fri, 2 Feb 2024 06:37:37 +1100 (AEDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rVcrh-0004kF-Fk; Thu, 01 Feb 2024 14:36:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rVcra-0004jP-Mp for qemu-devel@nongnu.org; Thu, 01 Feb 2024 14:36:42 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rVcrY-0006dQ-Pl for qemu-devel@nongnu.org; Thu, 01 Feb 2024 14:36:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1706816197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZGMHLR2Iqk7DdHCgx3roIKsNUXnZ8Wg9IpnsfncKkyM=; b=NM9qxHZtXfpadyW2wOjXGOUeeqe1pryS2amE2M/JOQYpMR+417a54F6KzJuUR4QcTw+lsp xZ85e542bT/4iJt9qFh37hAlT0MV3WOrvpFOM/qWC9hpWAdbmdBbrUDZrpiAof2Q90qQef eQi6B80lyhxv+IDvEqBVzXXrywDbXpo= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-25-y_Yh5a0INaSbEyO4WAPxHA-1; Thu, 01 Feb 2024 14:36:36 -0500 X-MC-Unique: y_Yh5a0INaSbEyO4WAPxHA-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D5AC3101A526 for ; Thu, 1 Feb 2024 19:36:35 +0000 (UTC) Received: from worklaptop.redhat.com (unknown [10.22.16.249]) by smtp.corp.redhat.com (Postfix) with ESMTP id A574D111FF; Thu, 1 Feb 2024 19:36:35 +0000 (UTC) From: Cole Robinson To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Gerd Hoffmann , Cole Robinson Subject: [PATCH v2] pc-bios/optionrom: Fix pvh.img ld build failure on fedora rawhide Date: Thu, 1 Feb 2024 14:36:21 -0500 Message-ID: <9c6c64ba1cb113176e755348cf207cb3130fe82b.1706808745.git.crobinso@redhat.com> MIME-Version: 1.0 Content-type: text/plain X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.5 Received-SPF: pass client-ip=170.10.129.124; envelope-from=crobinso@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -33 X-Spam_score: -3.4 X-Spam_bar: --- X-Spam_report: (-3.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.292, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org binutils 2.39 shows some warnings when building pvh.img /usr/bin/ld: warning: pvh.o: missing .note.GNU-stack section implies executable stack /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker /usr/bin/ld: warning: pvh.img has a LOAD segment with RWX permissions The latter of which is fatal on Fedora rawhide for some reason. This adds linker options to suppress the errors, if ld supports the new options. Signed-off-by: Cole Robinson --- v2: - Check if ld supports the options, they are fairly new. Uses the same `ld -v $CHECKOPT` pattern as kernel.git uses Stuffs the overrides in `config-ld.mak` similar to `config-cc.mak` pattern pc-bios/optionrom/Makefile | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile index 30d07026c7..87cfc484c7 100644 --- a/pc-bios/optionrom/Makefile +++ b/pc-bios/optionrom/Makefile @@ -38,6 +38,16 @@ config-cc.mak: Makefile override LDFLAGS = -nostdlib -Wl,--build-id=none,-T,$(SRC_DIR)/flat.lds +ld-test = $(LD) -v $1 >/dev/null 2>/dev/null +ld-option = if $(call ld-test, $1); then \ + echo "$(TARGET_PREFIX)$1 detected" && echo "override LDFLAGS += -Wl,$1" >&3; else \ + echo "$(TARGET_PREFIX)$1 not detected" $(if $2,&& echo "override LDFLAGS += $2" >&3); fi + +config-ld.mak: Makefile + $(quiet-@)($(call ld-option,--no-warn-rwx-segments); \ + $(call ld-option,--no-warn-execstack)) 3> config-ld.mak +-include config-ld.mak + pvh.img: pvh.o pvh_main.o %.o: %.S @@ -61,7 +71,7 @@ clean: rm -f *.o *.d *.raw *.img *.bin *~ distclean: - rm -f config-cc.mak + rm -f config-cc.mak config-ld.mak # suppress auto-removal of intermediate files .SECONDARY: