From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 516047803CC for ; Tue, 19 Sep 2023 14:00:57 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=eCU/jpr1M/WDTlJeKa1PEMbY3RBFQaX5ny7+tYahU9w=; c=relaxed/simple; d=groups.io; h=From:To:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type; s=20140610; t=1695132056; v=1; b=RwDOUScFUasbJ++s7c6nEpU1FdfWoqxnzALhs/IeXpR/S34EL57LWEW/iQHQhQbdbV2+EvQP 6PTj1KZUMUL/L8hIUE0dofsaFS/SH1VG/KKRI/KETFez6KyvPvXXq2M5tuoVuESoZrFT0kcfvj6 s4r36PwKBVHP19y57e2Mj0/I= X-Received: by 127.0.0.2 with SMTP id 1BroYY7687511xxp8oHFshMn; Tue, 19 Sep 2023 07:00:56 -0700 X-Received: from us-smtp-delivery-170.mimecast.com (us-smtp-delivery-170.mimecast.com [170.10.129.170]) by mx.groups.io with SMTP id smtpd.web10.1803.1695105587920343831 for ; Mon, 18 Sep 2023 23:39:48 -0700 X-Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-281-sGD2ckkDM6GMdkMzhw6JMA-1; Tue, 19 Sep 2023 02:39:43 -0400 X-MC-Unique: sGD2ckkDM6GMdkMzhw6JMA-1 X-Received: from SJ0P223MB0614.NAMP223.PROD.OUTLOOK.COM (2603:10b6:a03:44b::15) by BL3P223MB0051.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:34e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.28; Tue, 19 Sep 2023 06:39:40 +0000 X-Received: from SJ0P223MB0614.NAMP223.PROD.OUTLOOK.COM ([fe80::523e:8aba:9e9b:73e]) by SJ0P223MB0614.NAMP223.PROD.OUTLOOK.COM ([fe80::523e:8aba:9e9b:73e%7]) with mapi id 15.20.6792.019; Tue, 19 Sep 2023 06:39:40 +0000 From: "Jared Pan" To: "devel@edk2.groups.io" Subject: [edk2-devel] Building Library link with UEFI C code in EDK2 Thread-Topic: Building Library link with UEFI C code in EDK2 Thread-Index: Adnnsa6eooZeTKF1R/CHQpk3Y/hfaQDEkq+Q Date: Tue, 19 Sep 2023 06:39:39 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-TW, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0P223MB0614:EE_|BL3P223MB0051:EE_ x-ms-office365-filtering-correlation-id: fcc5de79-a86a-4a08-dcea-08dbb8db3331 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: R9Px/H2s/XDlRifTuEKqFt1bje1FqJqRzZmL5RruFQer7TXsE/QeoEOhv+V1bpzCsRatOt453bj1vQEaQkK5Nt6X5zIIHzZDVULXcC2vj8TPmUytXS7BCYHf/SuBPyKZroiWaEfPmp2a+9Aiu3mRtTm63HV+utVVkuxl6dsE1b0R25vkIAWzroJi1LboPcOJ6JrJNF6mf4LXto5lTSbLUhPXb6Ou1RsXHsOKiZN1OeMBKWyv967eaq5hpwEo+gYg4LKVuBvKIsclbHF7R4KDStpnlufbX/htN9iL8TQDLlhBXBaWDtj2K5/Vp9tpJlii340KczjweyITF28FT9v8RL90kKjaPq6VMmoIsOucf5Adr2wjXIGGTfONAy+nv62OBEiW0kRZxgON1E4ezIn8MPmeW3iYL4YTB5iJl4QrQ35mhgUPefXosMBCpUd89oSjTc9hD5rp8c7XwPEyF+t2EfLd7u5CCjr9s4tlAIaPXAAkQAxHVpG7YePzZFRL/1RhnOrkIgzVF48wN7+tMqNdlG4yR70f1IckYQI6Nru6xRTjg/K3w4/ZO0qa65eiud7WYZ8QV/yxgd46flKd9UAvef5rCN8wcyG5vKjx/E+WTX1mAPtd9Mw4pORYUd5isHAq x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?53BBH54w7Xq0/222x7NKeJcikoAWzw/VIw5ma685e2nAh93Xq4cw8SozMUkg?= =?us-ascii?Q?ma+RWnq6p4cD7tj06UsJAwhlJ4Sec0d9uYUb2lYabuqDXl7zoTOmOfb7RZZO?= =?us-ascii?Q?7+2TvZ8KVlcaFqurlgxYmQmAysSJUtlAlie4KwCOQGNLyZBbSo2Ytn9zEGQz?= =?us-ascii?Q?Z6GfWHjoVfeacD7aa+sv+6TXwQt0Zp9d9NyK1kQE2PoKhJybDjv6VIdhPUv/?= =?us-ascii?Q?/I/scb3ydRe/qXgheO3Swvdc/7Ctkm39fqrC4SL4GkD5r52IKUsLVQ0IxUyc?= =?us-ascii?Q?Mvc6m7k/5Og80dPHr8B50/zf6SjEQkSMdJowrejYkfDkjmPOJICjZmyMPXsr?= =?us-ascii?Q?ZlHKqlBvQ38OC76jtc57U7vABcHjq+EGgpf4YFfhTBE1Es6twiHCqdTCKuyt?= =?us-ascii?Q?l7e4bK1Ht7p6fZNEITbAnEOMnMnBp8D7PBPoupu3+YBJcJL/nCGqzMe+0+rs?= =?us-ascii?Q?lFVt6/obBgjCSlE1I0rBW8cOAKDeQs+hxck8bOFuPXIIYDPlh9ZrcTP2TVL4?= =?us-ascii?Q?0cu4qb091ktSk/gHr3gm6Frzd7Vi82yhl8rh0h5kfJrl9YQzOOE0IM8aHFNK?= =?us-ascii?Q?ppCzejb1mKm5BLUX6WLi6zpa/WELmSZZfFmbyALkYiKwV3nHzYnKESp0Wgbd?= =?us-ascii?Q?z0GmC1+LLkV2SGk+BJ/YYYsppQ+0GKhYlYHTj5RASfoE569Rt+oSMeVtBNUL?= =?us-ascii?Q?LnXIHpF0nl40qz0j/YTJauDoHoMrJX9E2bY3383uKOaHzVxQpED9t+605tvh?= =?us-ascii?Q?X3rDd1V9U4DbModag/zAAwr6W2IAdhlfOloFtS1ikvYUX4Ip81jz1JRCK744?= =?us-ascii?Q?eG4gsbFCD1gNjQ5JLr4O1U8BtsuN7tPLDK+6nxOa1FNek1/9ArJkHln1m4g5?= =?us-ascii?Q?z1KBAbdGe650sRLPHMT+FcfIU0whCXzk5Ldhn2atctrEjwqxOmJKhFaceb7f?= =?us-ascii?Q?0Bl5pi6PG0TnUT2duB6NqNQiYUgQgQqtYC8g8jCC0gvxsV4cH3PD+U8o+yQk?= =?us-ascii?Q?aoTXlW8DvqhWG8RpvsItpV9gVOjHknDkJC4Na5W3RJXsIF5bXJPuRFBJlJQF?= =?us-ascii?Q?eau/40O9PKq7oqlMCz3hys+LPANDRcImjvVBHIvl8BejVcxY2jSlNQSzobj/?= =?us-ascii?Q?ReKcBeQmBYkr7f52zaLLzIrPFieA5iKaWXMtmHQPPJgzyyYgzRW7LObcUFgh?= =?us-ascii?Q?IxoIr0WvWKsn+KFnzy5I0CnScW6q6504Z8kvzJ4tmrNFh1RKb2wqlHCoTLdI?= =?us-ascii?Q?jKQet5NVO9CQVFbbBDL1HozMnbnlAHVlIwpLBby4JAc12tKher8Jmn31Q1EY?= =?us-ascii?Q?cBDyxntFc8e+VieV2zPuYP6L1ieuKXgGg1DuE7DpiUwYzkqXlrTZUChpgZit?= =?us-ascii?Q?XWepffK6og5g+W6bnxOEyISHiuP10hprLrATM16M+1tVLSSc2rE5u9DFfZyj?= =?us-ascii?Q?C+D/z52WhpVO6zbXhgcDoSdCdeWAQq4JOQ4ZJCRrCHCRc98La5TPEpyNafQG?= =?us-ascii?Q?RmJpwXXmOsnqGm02jRccVTcDjCcW+ejTqAjkI4BFjVZ42R8cfJHx01rksF4R?= =?us-ascii?Q?rtv+q52gyViSi7QQH1LKS3XDpPqzzXHuPrZvnq1j?= MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: mmyi9xaDVWGrSCyfL6X4Gi74Vrhk9rvQQDZAmTSekOLa+UV6r0fKxPYb0QxkV6lhZZF8AZKdj79XEZiVW7zJFzKuUbFiuvZNFmk9Wem0yrlphX1RLbsPpaEVrOzbvscfYMMP0dGvoE8Ntq/SXJhpJB2nlZIeebC4r6Ew3t5XiY4FSPoNLSTQAv3NqXA5qWsK8uGs/d5tKStM2qGMe9DpHDuVMkuapFpt9tW8iu7yvdEOMyuGRfo55SDWofv236zPIEpYP7AANwe8EjipGP9CnrIOHfxFA86SVbv5teYrh+74fmfThHr4tr0HWUwUcPwOnH9J5sCDoJ01+nDcBgCr7YxXHOMVpITpyC+aLfnSi8sDKYpYrPQTTL4a2YlC1+nIWzMSfH5M5jZcRn/5EqQOeD/xNPjHWpbxopYK/P/WmS+TlC1OCooQCAFP2ETgEEvSEZ0Vg8VWsQBpiy8EbeWgl4z5TCfVjERctluL/Ig8DjvooFNhRwUiHyrfqvl24MyC+g1tLZB1lacdEsEFgOe14cePZlORZc9+bRGySFEFT33AfrygNjGqfzQI9Qy+2isXVcuX9nE/gby25+pLJMwgrRV7W7U1n9J5KmyqOoAriuiY/L7H5j9ad0Dm3BrS9/BJVQC/EyTQcGvnHKZHKV4U6U3CTVAWNLqfjbI4+sAVraXI1RSlx1m0Zd82S+7ysMFQdMUV3QycvFZRUMlsjvY2ZNl+AGvkTOnWnaXVw7b8XSNrlS7NFAUgL+ceKe1icY3WBr0YitMISWWZILaLJUovUMAcSCYBCxUncDuWPtCmRl0= X-OriginatorOrg: phoenix.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0P223MB0614.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: fcc5de79-a86a-4a08-dcea-08dbb8db3331 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2023 06:39:39.8930 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3775ff9c-ed3d-4b7e-8ddc-1dfbe16dbe23 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9zM1oeAQKhLzrtNbVXn06WNTqZNX6RdE1PuhswopaIvmdHXtJyGrzUZLK4cARiDgQBs3uNkO/0SV47tSthK25w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3P223MB0051 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: phoenix.com Precedence: Bulk 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,Jared_Pan@phoenix.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: hKKBpdhS6ZuR7s6YwS4qAEUkx7686176AA= Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_SJ0P223MB061421E4628B784F8FE5186A80FAASJ0P223MB0614NAMP_" X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=RwDOUScF; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=phoenix.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io --_000_SJ0P223MB061421E4628B784F8FE5186A80FAASJ0P223MB0614NAMP_ Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Hi all, There is a test for prebuild Rust library link with UEFI C code in GCC buil= d as below. But I will encounter some build problems. Case 1: prebuild Rust library with aarch64-unknown-uefi target command, it = will encounter "error adding symbols: file format not recognized". Case 2: I tried another similar target aarch64-unknown-none which also supp= orts no-std lib, it will successfully link in GCC build. However, when I us= e alloc::vec::Vec and alloc::string::String lib in Rust library, the build = will encounters build error that WriteSections64(): AARCH64 relative reloca= tions require identical ELF and PE/COFF section offsets. But they won't hap= pen in Window build environment. Does anyone have any experience about this problem? Build Target on Arm VirtQemu Platform * ArmVirtPkg/ArmVirtQemu.dsc Prebuild library in Rust * cargo build --release --target aarch64-unknown-uefi * cargo build --release --target aarch64-unknown-none EKD2 build environment in Ubuntu * gcc-aarch64-linux-gnu Thanks and regards, Jared Pan -=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 (#108833): https://edk2.groups.io/g/devel/message/108833 Mute This Topic: https://groups.io/mt/101456575/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- --_000_SJ0P223MB061421E4628B784F8FE5186A80FAASJ0P223MB0614NAMP_ Content-Type: text/html; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable

Hi all,

 

There is a test for prebuild Rust library link with = UEFI C code in GCC build as below. But I will encounter some build problems= .

Case 1: prebuild Rust library with aarch64-unknown-u= efi target command, it will encounter “error adding symbols: file for= mat not recognized”.

Case 2: I tried another similar target aarch64-unkno= wn-none which also supports no-std lib, it will successfully link in GCC bu= ild. However, when I use alloc::vec::Vec and alloc::string::String lib in Rust library= , the build will encounters build error that WriteSections64(): AARCH64 rel= ative relocations require identical ELF and PE/COFF section offsets. But th= ey won't happen in Window build environment.

 

Does anyone have any experience about this problem?<= o:p>

 

Build Target on Arm VirtQemu Platform

  • Arm= VirtPkg/ArmVirtQemu.dsc

Prebuild library in Rust

  • cargo build --release --target aarch64-unknown-uefi
  • cargo build --release --target aarch64-unknown-none

    EKD2 build environment in Ubuntu

    • gcc-aarch64-linux-gnu

     

     

    Thanks and regard= s,

    Jared Pan

     

_._,_._,_

Groups.io Links:

=20 You receive all messages sent to this group. =20 =20

View/Reply Online (#108833) | =20 | Mute= This Topic | New Topic
Your Subscriptio= n | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_
--_000_SJ0P223MB061421E4628B784F8FE5186A80FAASJ0P223MB0614NAMP_--