From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (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 5C51D21BBC40B for ; Thu, 22 Jun 2017 19:58:00 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP; 22 Jun 2017 19:59:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,376,1493708400"; d="scan'208";a="102722300" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by orsmga002.jf.intel.com with ESMTP; 22 Jun 2017 19:59:25 -0700 Received: from orsmsx156.amr.corp.intel.com (10.22.240.22) by ORSMSX105.amr.corp.intel.com (10.22.225.132) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 22 Jun 2017 19:59:25 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.128]) by ORSMSX156.amr.corp.intel.com ([169.254.8.247]) with mapi id 14.03.0319.002; Thu, 22 Jun 2017 19:59:25 -0700 From: "Kinney, Michael D" To: David F. , "edk2-devel@lists.01.org" , "Kinney, Michael D" Thread-Topic: [edk2] Constructor Order Thread-Index: AQHS66OkgMO90wD17ESGktyfwf4jL6IxvcMw Date: Fri, 23 Jun 2017 02:59:24 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [10.22.254.138] MIME-Version: 1.0 Subject: Re: Constructor Order X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Jun 2017 02:58:00 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable David, Constructor order is determined by the build tool through evaluation of eac= h of the library instance dependencies as declared in the [LibraryClasses] = section of the INF. This is a recursive algorithm to collect all the libra= ry instances because a module uses libs and each lib can use additional lib= s. This process is described in the EDK II Build Specification in Section 8.2.= 5 Post processing. https://edk2-docs.gitbooks.io/edk-ii-build-specification/content/8_pre-buil= d_autogen_stage/82_auto-generation_process.html#82-auto-generation-process If you want a different order, then likely one or more of the lib instances= being linked to a module does not have correct information about its lib d= ependencies in the [LibraryClasses] section of the INF. If the dependencie= s are specified correctly, then the order generated by the build tool shoul= d be a valid order based on dependencies. There are some cases where there= could be ties, such that the order could be different and still correct, b= ut there is no way to influence the order between ties. Mike -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Davi= d F. Sent: Thursday, June 22, 2017 3:05 PM To: edk2-devel@lists.01.org Subject: [edk2] Constructor Order So I'm back from years ago trying to work out the constructor order. It doesn't seem any change I make causes autogen.c to change the order to w= hat I want to happen. At least if someone could indicate which file I need= to use to check the order, that would help. I presume it's the .inf file = of items being built in the [libraryclasses] section ? I don't think [Packages] should matter? TIA!! _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel