From nobody Sun Feb 8 18:29:37 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+75948+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+75948+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1622619988; cv=none; d=zohomail.com; s=zohoarc; b=BdZjFE6uBWJjHRj4u4fwE8T4hKR8CAVZHJVL7u7KI/nMVjpnbfsK3bWOlqvnEHI4/Sbjr2Lm0+cSH6WOe4JRdWuBkfb7IjGQkDcIkiTjdWwcymen5BGR9dg87TCzr3Rgx2urCb3qPIG+gMJLHi2NUTGN/QD0aWcq6nfTeLjq8JU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1622619988; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=6ELKXxVHp1XdV0w+yJl0JYKbCNzL30H1Y/fVn2pAR1o=; b=kjg0imRaJBcIu7auFtOB0kMKpdU95Lf2m4b1HBOHA78oRXsI5mCbv7H1g3NkxjB1TgxsqKF3ca+S6N10PhQUGBYz4VGHB/LEfvmfcy77RRKkHP7W1+k1dWpvvVfo/NWveG8+5uChgYQWexgh54m+aXOrhQK4lm7HY+Nho27Twdo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+75948+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1622619988424341.44757109191255; Wed, 2 Jun 2021 00:46:28 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id uaSbYY1788612xjrQlyc41jw; Wed, 02 Jun 2021 00:46:27 -0700 X-Received: from mga12.intel.com (mga12.intel.com []) by mx.groups.io with SMTP id smtpd.web12.9878.1622619979686731258 for ; Wed, 02 Jun 2021 00:46:21 -0700 IronPort-SDR: lo8vXFb2qsMDbE8vx4tO/9GEVqL3aMesQFQhh5I9/DMe9fa99PTP7Muj0vmXJ7ekvyrnC0qyCO pVfY2HnIsGAg== X-IronPort-AV: E=McAfee;i="6200,9189,10002"; a="183409057" X-IronPort-AV: E=Sophos;i="5.83,241,1616482800"; d="scan'208";a="183409057" X-Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jun 2021 00:46:21 -0700 IronPort-SDR: 62SvnKOnSf6jbpNOUiXvn7oE7B9kTykz2KT0/L5xXo5VIoJZhHDMAjInmyMTCDr4/0yU8KZS5d wIJj7qkJUV7Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,241,1616482800"; d="scan'208";a="479607224" X-Received: from ray-dev.ccr.corp.intel.com ([10.239.158.87]) by orsmga001.jf.intel.com with ESMTP; 02 Jun 2021 00:46:19 -0700 From: "Ni, Ray" To: devel@edk2.groups.io Cc: Liming Gao , Feng Bob C Subject: [edk2-devel] [PATCH 2/6] BaseTools GenFw: Support CLANG8ELF with conversion ELF to PE/COFF image Date: Wed, 2 Jun 2021 15:45:50 +0800 Message-Id: <20210602074554.244-3-ray.ni@intel.com> In-Reply-To: <20210602074554.244-1-ray.ni@intel.com> References: <20210602074554.244-1-ray.ni@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ray.ni@intel.com X-Gm-Message-State: ppeZ5Q8rjdZsYegw6Bm9Ek9sx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1622619987; bh=r5ttRsCWegWQaryiK3kBvO/FyH5HOn8wUORlPFjfyJU=; h=Cc:Date:From:Reply-To:Subject:To; b=fFiaJE2PynTKB8sh9mdPZuHeLDPjDtJkUUzTRKpoeEEOZ/7NMoX4mPKVEHWea69cgth 09pAUvWPHVw9C6m5TW+3ep+M7uK7MA/eQ3LxHxQfBVdCrwHLFeHQjlGmG1LszcIf9pain oaf0lmz5NIxjRj5s+ni2jyT3MBxoirSgiwk= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" From: Liming Gao CLANG8ELF tool chain generated ELF image with the different attributes in section. Update GenFw to handle them. 1. .text section with writable attribute (support) 2. .reloc section has the symbol for *ABS* (skip) Signed-off-by: Liming Gao Reviewed-by: Feng Bob C # Conflicts: # BaseTools/Source/C/GenFw/Elf64Convert.c --- BaseTools/Source/C/GenFw/Elf32Convert.c | 12 +++--------- BaseTools/Source/C/GenFw/Elf64Convert.c | 5 +++-- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/BaseTools/Source/C/GenFw/Elf32Convert.c b/BaseTools/Source/C/G= enFw/Elf32Convert.c index 2485b2cb7a..7c8a065678 100644 --- a/BaseTools/Source/C/GenFw/Elf32Convert.c +++ b/BaseTools/Source/C/GenFw/Elf32Convert.c @@ -238,7 +238,7 @@ IsTextShdr ( Elf_Shdr *Shdr ) { - return (BOOLEAN) ((Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) =3D=3D SHF_= ALLOC); + return (BOOLEAN) ((Shdr->sh_flags & (SHF_EXECINSTR | SHF_ALLOC)) =3D=3D = (SHF_EXECINSTR | SHF_ALLOC)); } =20 STATIC @@ -261,7 +261,7 @@ IsDataShdr ( if (IsHiiRsrcShdr(Shdr)) { return FALSE; } - return (BOOLEAN) (Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) =3D=3D (SHF_= ALLOC | SHF_WRITE); + return (BOOLEAN) (Shdr->sh_flags & (SHF_EXECINSTR | SHF_WRITE | SHF_ALLO= C)) =3D=3D (SHF_ALLOC | SHF_WRITE); } =20 STATIC @@ -749,13 +749,7 @@ WriteSections32 ( if (SymName =3D=3D NULL) { SymName =3D (const UINT8 *)""; } - - Error (NULL, 0, 3000, "Invalid", - "%s: Bad definition for symbol '%s'@%#x or unsupported sy= mbol type. " - "For example, absolute and undefined symbols are not supp= orted.", - mInImageName, SymName, Sym->st_value); - - exit(EXIT_FAILURE); + continue; } SymShdr =3D GetShdrByIndex(Sym->st_shndx); =20 diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/G= enFw/Elf64Convert.c index d097db8632..8fe672e984 100644 --- a/BaseTools/Source/C/GenFw/Elf64Convert.c +++ b/BaseTools/Source/C/GenFw/Elf64Convert.c @@ -246,7 +246,7 @@ IsTextShdr ( Elf_Shdr *Shdr ) { - return (BOOLEAN) ((Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) =3D=3D SHF_= ALLOC); + return (BOOLEAN) ((Shdr->sh_flags & (SHF_EXECINSTR | SHF_ALLOC)) =3D=3D = (SHF_EXECINSTR | SHF_ALLOC)); } =20 STATIC @@ -269,7 +269,7 @@ IsDataShdr ( if (IsHiiRsrcShdr(Shdr)) { return FALSE; } - return (BOOLEAN) (Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) =3D=3D (SHF_= ALLOC | SHF_WRITE); + return (BOOLEAN) (Shdr->sh_flags & (SHF_EXECINSTR | SHF_WRITE | SHF_ALLO= C)) =3D=3D (SHF_ALLOC | SHF_WRITE); } =20 STATIC @@ -1060,6 +1060,7 @@ WriteSections64 ( =20 exit(EXIT_FAILURE); } + continue; } SymShdr =3D GetShdrByIndex(Sym->st_shndx); =20 --=20 2.31.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75948): https://edk2.groups.io/g/devel/message/75948 Mute This Topic: https://groups.io/mt/83253704/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-