From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: None (no SPF record) identity=mailfrom; client-ip=69.167.158.73; helo=host12.webserveralpha.com; envelope-from=darylm@mc2research.com; receiver=edk2-devel@lists.01.org Received: from host12.webserveralpha.com (host12.webserveralpha.com [69.167.158.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E28CB22106DCC for ; Wed, 28 Mar 2018 11:08:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mc2research.com; s=default; h=Content-Type:MIME-Version:Message-ID:Date: Subject:To:Sender:From:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=yi/Exw7cIP//ZjTkDprSkP6yVX06yf5uQjemqt7vGLI=; b=Evi2u3bwHmFvqJkC8uaHXkxrnY mxUHWhR3I1UL/Vg/AsOmeMivGmw4AXw8M/aGORpUVmL3aXLXGdsrF1C5C91AjHfjwyEvDW+s95rnG clNDDS7uMyihjGt5tReZ54SkX; Received: from mobile-166-176-184-188.mycingular.net ([166.176.184.188]:63261 helo=DWIM) by host12.webserveralpha.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89_1) (envelope-from ) id 1f1Fb6-0003vV-3E for edk2-devel@lists.01.org; Wed, 28 Mar 2018 14:14:56 -0400 From: Sender: To: Date: Wed, 28 Mar 2018 11:14:58 -0700 Message-ID: <000401d3c6c0$aef61660$0ce24320$@mc2research.org> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AdPGvaFZVJ4kcLanQm6BeBzDA1i3eQ== X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - host12.webserveralpha.com X-AntiAbuse: Original Domain - lists.01.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - mc2research.com X-Get-Message-Sender-Via: host12.webserveralpha.com: authenticated_id: darylm@mc2research.com X-Authenticated-Sender: host12.webserveralpha.com: darylm@mc2research.com X-Source: X-Source-Args: X-Source-Dir: X-Content-Filtered-By: Mailman/MimeDel 2.1.26 Subject: Dependency expression inheritance problems X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Mar 2018 18:08:19 -0000 Content-Language: en-us Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hopefully someone on the list can help with this problem. I have a DXE_DRIVER that links with several libraries. Some of these libraries are from a binary distribution. I checked the binary library's .INF file and it has the [LibraryClasses] and [Depex] sections present in the same format as for a source .INF. (not comments) When I build my driver, the generated .depex file does not seem to inherit the library DEPEX. Yet, it appears that the build tools are aware of the subordinate components. Here is a copy of the DEPEX part of the generated build report (-y switch to build). >----------------------------------------------------------------------------- -----------------------------------------< Final Dependency Expression (DEPEX) Instructions PUSH gEfiVariableWriteArchProtocolGuid PUSH gEfiVariableArchProtocolGuid PUSH gEfiPcdProtocolGuid AND AND END ------------------------------------------------------------------------------ ------------------------------------------ Dependency Expression (DEPEX) from INF (gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiRuntimeCryptProtocolGuid AND gEdkiiCryptExProtocolGuid AND gEfiRngProtocolGuid) ------------------------------------------------------------------------------ ------------------------------------------ >>From Module INF: gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid >>From Library INF: (gEfiPcdProtocolGuid) AND (gEfiRuntimeCryptProtocolGuid AND gEdkiiCryptExProtocolGuid AND gEfiRngProtocolGuid) <----------------------------------------------------------------------------- -----------------------------------------> You will notice that the final DEPEX instructions do not include the '(gEfiRuntimeCryptProtocolGuid AND gEdkiiCryptExProtocolGuid AND gEfiRngProtocolGuid)' clause, which happen to be dependencies inherited from the binary library. I've gone through the Build specifications and can't find anything that might relate to what I am seeing. Any ideas why I may be getting the partial depex, as shown in Final Dependency Expression above, instead of the full depex as shown in Dependency Expression from INF, above? The Depex comment from the generated, AS-BUILT, .INF file is significantly different from even what the build report says. [Depex.X64] # (gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtocolGuid) AND (gEfiRuntimeCryptProtocolGuid AND gEdkiiCryptExProtocolGuid AND gEfiRngProtocolGuid) Thanks Much. Daryl