From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 8F42C4E8C8 for ; Thu, 12 Jun 2025 09:39:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 6D68A68BE61; Thu, 12 Jun 2025 12:39:42 +0300 (EEST) Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 5AFEB68B329 for ; Thu, 12 Jun 2025 12:39:35 +0300 (EEST) Received: by mail-lj1-f182.google.com with SMTP id 38308e7fff4ca-32aabfd3813so6353941fa.3 for ; Thu, 12 Jun 2025 02:39:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=martin-st.20230601.gappssmtp.com; s=20230601; t=1749721174; x=1750325974; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=JUTfpnyG6HWul/YHbrXpEi86IHC0nO0NMaW1xjQdZ7s=; b=Qcaxehov7+YKizOX514QyIK9Y02so970gMKgWk4PzBBoW4FZ0k/S6C3jVANZ/qqclQ JY0T6jtT/1UqvYribWhZWvVfEZE87d4swbxf3x/GRClIhPlhWcUTRrvUrISU0RnguRm6 fzXKXolDofD8BfqJclhJfmbWipZzqkiSKI9Oy2SWZg8Yh23Knx+oBB23Y2mboryr9sqk YpRILy54OBkVZW5KLSRdAvbCdne29ZE6a2Q14qRz+439VB/Wc5niKqirEinZYM/Icl6r hmLnaBoI9pzSmYcqQVFYvn/Zsg4nBoGB6XBWNvM9yrQs1oYShv7Uq4AlKtLPVeQXUTay YkvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749721174; x=1750325974; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JUTfpnyG6HWul/YHbrXpEi86IHC0nO0NMaW1xjQdZ7s=; b=RoP5P4kGmX+Zgc+iDDmYuSUpETCttlsfB7/2eTQhUNfF1W/gTV9lrAi5JWkrQyyjSc bK19O/3Vp3JaUgNMFsTI/moSkv38LbaXVvCmWsdRATvbftyX5AW2kZaydpg+94mj7Gsl tjU/xzwK+pMPxeo/V+jX/FI2vZUk8ozEbAk6AH7y7Bb06k8cOEwobc+a2Anqdr/2W2iU zi29gczMDI35nTyIRmfm9VUkSH/GNJH/zysN50vs7ClO0yBMB2x/jZre6HUkWXnqBsKV carG10LU3bR6jgETxpQnMshKm87fenNqUQi9ElItTx1unkHR+0pEvL1dlW2cXJ21UiI3 yF/A== X-Gm-Message-State: AOJu0YyK5zfsGpObu3KtpH5FtEtPyVs2z7ibGc/wKfds8D172ud7px+B Ufs8+VQftunCxTBRUUFWOps4SFNAkJ+oxN2OOin3iK8x1d0YK2EP2mUmqzN1q2tOFbCWp7Githz F9TTEuw== X-Gm-Gg: ASbGncsGY6LGP+mklFm90VANftLCFMkoSOKJqK5Ile9zyVPEcP5sB91KNvPk0A5IOo9 6lmLvViz1cvFwR34I9xYpPs2SnxF4a4ARmj+R998CqCRAhK7bvAjvylmPMCV5f+atddJS4XyFQa BcVcJDk7UZcaGHaPZUQeVzmEXm0IJzOoRHSx/kxjzgyP7pP1oa+zZYMRyq0/JUCnJ2ypB9t2+2q rwMOSV+sWZIE3FiDw6frxdheJchSS1IV1NVpvoTD+to3K7Tj6V6M1gCduVDXkcGUGxhWoGDx4dq IklQiLRO7DlZ0CTGVw9twDOYPNTABz3SgMCNtKDBLdzqWp0DgutP1oqA24/A4yBz7UXYhx/CUHt B2DnxNeGkGTrrc+wEbA== X-Google-Smtp-Source: AGHT+IHLrgsjAqqd5V/3nCTb/H0DzFpV+N2TWqOyTIlCXP388tKJStoUEsmbTNWiAb5T+1QV5myDfQ== X-Received: by 2002:a2e:a544:0:b0:32a:8631:c41b with SMTP id 38308e7fff4ca-32b30718f2emr8867361fa.40.1749721174271; Thu, 12 Jun 2025 02:39:34 -0700 (PDT) Received: from localhost (dsl-tkubng21-50de30-198.dhcp.inet.fi. [80.222.48.198]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32b3318f2e7sm1483901fa.82.2025.06.12.02.39.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 02:39:33 -0700 (PDT) From: =?UTF-8?q?Martin=20Storsj=C3=B6?= To: ffmpeg-devel@ffmpeg.org Date: Thu, 12 Jun 2025 12:39:30 +0300 Message-ID: <20250612093933.395475-1-martin@martin.st> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil: Fix linking x86 asm constants with Clang in MSVC mode X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Zhao Zhili Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This fixes building with Clang in MSVC mode, for x86, which was broken in 6e49b8699657b808b7dc80033f2c3f2d0e029fa3 (in Nov 2024); previously it failed with undefined symbols for the constants defined with DECLARE_ASM_CONST, accessed via inline assembly. Before 57861911a34e1c33796be97f2b2f44e05fffd647, there was an #elif defined(__GNUC__) || defined(__clang__) case before the #elif defined(_MSC_VER) case for defining DECLARE_ASM_CONST, which included av_used. (This case included the explicit "defined(__clang__)" since f637046d3134a331e4b5a7243ac3dfb92735b8a5.) After 57861911a34e1c33796be97f2b2f44e05fffd647, it used the generic definition of DECLARE_ASM_CONST that also included av_used - which also worked for Clang in MSVC mode. But after 6e49b8699657b808b7dc80033f2c3f2d0e029fa3, Clang in MSVC mode ended up using the MSVC specific variant which lacked the av_used declaration, causing linker errors due to undefined symbols. --- libavutil/mem_internal.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavutil/mem_internal.h b/libavutil/mem_internal.h index d58881d09c..78adc4f407 100644 --- a/libavutil/mem_internal.h +++ b/libavutil/mem_internal.h @@ -82,8 +82,8 @@ #define DECLARE_ASM_CONST(n,t,v) alignas(FFMIN(n, 16)) static const t av_used v #elif defined(_MSC_VER) #define DECLARE_ALIGNED_T(n,t,v) __declspec(align(n)) t v - #define DECLARE_ASM_ALIGNED(n,t,v) __declspec(align(n)) t v - #define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v + #define DECLARE_ASM_ALIGNED(n,t,v) __declspec(align(n)) t av_used v + #define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t av_used v #else #define DECLARE_ALIGNED_T(n,t,v) alignas(n) t v #define DECLARE_ASM_ALIGNED(n,t,v) alignas(n) t av_used v -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".