From patchwork Tue Jan 15 01:23:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tom Tan X-Patchwork-Id: 11759 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id BED4344CF7D for ; Tue, 15 Jan 2019 03:24:06 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D420968A933; Tue, 15 Jan 2019 03:23:54 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM04-BN3-obe.outbound.protection.outlook.com (mail-eopbgr680106.outbound.protection.outlook.com [40.107.68.106]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1255F68A92E for ; Tue, 15 Jan 2019 03:23:48 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MiqsLzF0+9rhLPWkr+Z2csqRZzc+aj3zUtbv1Ym0FCM=; b=EytSUrpAO0Z1vMRIyn4IbOO7c8Vz/mlvgj1W3nn7o2R7xI/yd9oPxA68hXQlfJH8OmvcqhZvHh8nnbLReOo9JAFLbsThkAoZV20qilun/YBQnYa+P4v2cgNw3RJI9N5t8oekEroLRLvhpgNWsifF2e0fhy20hU9b+g5rMzcXrnc= Received: from MWHPR21MB0750.namprd21.prod.outlook.com (10.173.51.12) by MWHPR21MB0766.namprd21.prod.outlook.com (10.173.51.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.1558.3; Tue, 15 Jan 2019 01:23:59 +0000 Received: from MWHPR21MB0750.namprd21.prod.outlook.com ([fe80::bc97:9e12:8faf:ce02]) by MWHPR21MB0750.namprd21.prod.outlook.com ([fe80::bc97:9e12:8faf:ce02%7]) with mapi id 15.20.1558.000; Tue, 15 Jan 2019 01:23:59 +0000 From: Tom Tan To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH] Mark .rodata section as read only in COFF object file Thread-Index: AdSpIN2WMVnOomCgQrOkMV5HHi9Q4AAjbWgAAA04+eAAo0rcwA== Date: Tue, 15 Jan 2019 01:23:59 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=totan@microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2019-01-11T19:38:09.8601900Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic; Sensitivity=General x-originating-ip: [131.107.160.51] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; MWHPR21MB0766; 6:TY1+gFsg8MYsBxEdf11Z0inqaZyBKWKJnubpxFxvaPBIBZiChh04/aJ8M1hjZvx00JOruc1a5WS1/+r6GbeM+QiqH8fOA+GIod9dt34Nqekao32FxjNvMPjYHQuby0PLSepRNukXyPAZlkq8EERU+EbziJkgqmcvUTHhhzmkD0az6nK5vIAuHx5mMpuM30V7ueEcOR6LPEXPyJZkCCN+e/eAlyn17cbmzEEHtOYU7vY05lF3MK2ttgnK+iAt6brqdWaTZA4rojYBlkMWZOicnASVi4izP93uDmMruL0c2fRiBN8PCS/2Gs4W24KLyad4CX7l7PK1fSbm1N+lad1tgV5iuPoMfleS84z2VP709nCBURGZiO7CugSiiuxNW98EWzikaqYTU52vmxcdAQZstWx2JwwjWSZvVPJ3ODKFVJZg7Ok8CiZ7e/U6YYk+QkxGqfD7ivu7Aqe6frjwwjtVRA==; 5:dDj2nqhBGgfTPDO4hsaSuzVAvfbvxvp4h03Aqh+pOJmM22hKIuCaqecbbUv9jLYobtL2F2GYdcPtkPtFFVcYV4KoEfZKxxl+13MYyoNrmyb89dyzzWYOwtDKkvVd8U5LnjS3Q28+ZFiF2Y0TcB5NZ/TJGuGk6d3UqbdJwom27puGeVAsZXPVYdWNbkv7eX6jY5+/OsEAzfZWx/TclIUYpQ==; 7:BCMX7YiNvU3qfXxQrB0aWj63DMWgC0eV/P7xa/cXR/r4rTRftyWqnGClhOI9nFFbC+dhGjg7Lup7vULwSbP5nv1spUMX0C1TWcWn2p7SR7OOy0k9XTaU0Oa30czc5ZDuDKuBz4A4iSMeUauUFGFlcA== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 05697699-9eed-407c-3346-08d67a882055 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600109)(711020)(4618075)(2017052603328)(49563074)(7193020); SRVR:MWHPR21MB0766; x-ms-traffictypediagnostic: MWHPR21MB0766: x-ms-exchange-purlcount: 1 x-microsoft-antispam-prvs: x-forefront-prvs: 0918748D70 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(396003)(366004)(346002)(136003)(39860400002)(13464003)(199004)(189003)(6506007)(106356001)(99936001)(25786009)(76176011)(68736007)(53546011)(6246003)(81156014)(81166006)(22452003)(305945005)(8676002)(53936002)(8936002)(2906002)(316002)(7736002)(86362001)(105586002)(55016002)(4326008)(11346002)(7696005)(446003)(476003)(6346003)(186003)(229853002)(102836004)(486006)(26005)(86612001)(6436002)(33656002)(71200400001)(71190400001)(99286004)(5660300001)(66066001)(256004)(14444005)(966005)(10290500003)(74316002)(10090500001)(9686003)(97736004)(14454004)(8990500004)(6916009)(6306002)(3846002)(478600001)(6116002)(72206003)(142923001); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR21MB0766; H:MWHPR21MB0750.namprd21.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Tom.Tan@microsoft.com; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: P/QVCKfrFvoNDb4WwZAAujeNV59Qou2hA4g17nHPCsPMNuyTvoqctYSGvNOAFThSUlI/qbgIdqyniucqFEUBxsDFkqwxwYZvB9/q+XI4ZfuCN0ZRH+Vwjgk4K3xCLfmb7MHq/iKRUMoM1IqwMykbz/u+DupEfsngGHBcx8ZTLFYQ/vl1imVU2lINpdxLhN3EYno61y1tL4b2k54dq+SE6uMn86yU5ahG1Sl61WBl6tILQ8Ote8S1NOb0RnWthNESEWK4/DcnAJz38H0g57eFCisi3Kh5hppzbDiCdGz/BLDLwK98yJZFRbAs0yEdctoILucY1RvTl/EvDZoJTWaR1goc7ksVkCHr1KwUZxVH6mKTcvJyB0oiowMPG/VnSeZi47v1QM18MZqRjkuUXULm8XyRImwTAHUb4cadpSVdxUE= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 05697699-9eed-407c-3346-08d67a882055 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jan 2019 01:23:59.5248 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0766 Subject: Re: [FFmpeg-devel] [PATCH] Mark .rodata section as read only in COFF object file X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: =?utf-8?B?TWFydGluIFN0b3JzasO2?= Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Hi Carl Eugen, Could you please review the updated patch? Thanks. From 9f20fb097b8006ad38634a943298e47884bf2696 Mon Sep 17 00:00:00 2001 From: Tom Tan Date: Thu, 10 Jan 2019 11:50:49 -0800 Subject: [PATCH] Switch .rodata section name to .rdata for COFF object file .rodata section is custom section name for COFF object file, so it would not be set as read-only by assembler as default. Switch to name .rdata which is wellknown in compilers/assemblers targeting COFF, and .rdata is read-only by default. This is common for COFF on all architectures. --- libavutil/aarch64/asm.S | 2 ++ libavutil/arm/asm.S | 2 ++ 2 files changed, 4 insertions(+) -- 2.15.1.gvfs.2.39.g03d366a -----Original Message----- From: ffmpeg-devel On Behalf Of Tom Tan Sent: Friday, January 11, 2019 11:38 AM To: FFmpeg development discussions and patches Cc: Martin Storsjö Subject: Re: [FFmpeg-devel] [PATCH] Mark .rodata section as read only in COFF object file Thanks Carl. Martin made a better fix when porting this to libav which uses .rdata as section name instead of .rodata with explicit read-only property. .rdata is read-only in COFF by default. I updated my patch accordingly, thanks Martin. Yes, this applies to 32-bit arm for Windows, the new patch includes this update. This also affects Windows x86/x64, but this has already been handled as below macro from FFmpeg\libavutil\x86\x86inc.asm. %macro SECTION_RODATA 0-1 16 %ifidn __OUTPUT_FORMAT__,aout SECTION .text %elifidn __OUTPUT_FORMAT__,coff SECTION .text %elifidn __OUTPUT_FORMAT__,win32 SECTION .rdata align=%1 %elif WIN64 SECTION .rdata align=%1 %else SECTION .rodata align=%1 %endif %endmacro -----Original Message----- From: ffmpeg-devel On Behalf Of Carl Eugen Hoyos Sent: Friday, January 11, 2019 5:07 AM To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH] Mark .rodata section as read only in COFF object file 2019-01-10 21:14 GMT+01:00, Tom Tan : > .rodata directive from GAS assembly produces .rodata as read/write for > COFF object file by default (object file format for Windows), but read > only for ELF. This change marks it as read only explicitly for COFF. > > The issue happens when building Chromium for Windows ARM64, with FFmpeg. Does this issue only apply to arm64 or also 32bit arm? Carl Eugen _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fffmpeg.org%2Fmailman%2Flistinfo%2Fffmpeg-devel&data=02%7C01%7CTom.Tan%40microsoft.com%7C772878d0ce9d4aba928d08d677fc59fd%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636828323131911457&sdata=jcwHGJFiTaIo7fUZ8OGEOoOhrm43d0uN0HlmbmozKPA%3D&reserved=0 diff --git a/libavutil/aarch64/asm.S b/libavutil/aarch64/asm.S index fd32bf784e..5c329430fd 100644 --- a/libavutil/aarch64/asm.S +++ b/libavutil/aarch64/asm.S @@ -63,6 +63,8 @@ ELF .size \name, . - \name .else .section .rodata .endif +#elif defined(_WIN32) + .section .rdata #elif !defined(__MACH__) .section .rodata #else diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S index 6744f2a200..59298d90eb 100644 --- a/libavutil/arm/asm.S +++ b/libavutil/arm/asm.S @@ -117,6 +117,8 @@ ELF .size \name, . - \name .else .section .rodata .endif +#elif defined(_WIN32) + .section .rdata #elif !defined(__MACH__) .section .rodata #else