From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from atlmailgw2.ami.com (atlmailgw2.ami.com [63.147.10.42]) (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 091888038D for ; Fri, 24 Mar 2017 10:58:03 -0700 (PDT) X-AuditID: ac10606f-71a3598000001761-e1-58d55e2a7232 Received: from atlms2.us.megatrends.com (atlms2.us.megatrends.com [172.16.96.152]) (using TLS with cipher AES128-SHA (128/128 bits)) (Client did not present a certificate) by (Symantec Messaging Gateway) with SMTP id C2.A9.05985.A2E55D85; Fri, 24 Mar 2017 13:58:02 -0400 (EDT) Received: from ATLMS1.us.megatrends.com ([fe80::8c55:daf0:ef05:5605]) by atlms2.us.megatrends.com ([fe80::29dc:a91e:ea0c:cdeb%12]) with mapi id 14.03.0123.003; Fri, 24 Mar 2017 13:57:59 -0400 From: Felix Poludov To: Ard Biesheuvel CC: "edk2-devel@lists.01.org" Thread-Topic: [edk2] [RFC] GLOBAL_REMOVE_IF_UNREFERENCED, multiply defined symbols, and MSFT/GCC tool chains. Thread-Index: AdKkmm2mcThMLZckRnawazzXsHkPjwAS6r+AAAgVB+A= Date: Fri, 24 Mar 2017 17:57:59 +0000 Message-ID: <9333E191E0D52B4999CE63A99BA663A002DEEEEC32@atlms1.us.megatrends.com> References: <9333E191E0D52B4999CE63A99BA663A002DEEEDA95@atlms1.us.megatrends.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.99.93] content-transfer-encoding: base64 MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprGKsWRmVeSWpSXmKPExsWyRiBhhq5W3NUIg7vrrS3+f9jNaLHn0FFm ByaPO9f2sHl0z/7HEsAU1cBok5iXl1+SWJKqkJJanGyrFFCUWZaYXKmkkJliq2SopFCQk5ic mpuaV2KrlFhQkJqXomTHpYABbIDKMvMUUvOS81My89JtlTyD/XUtLEwtdQ2V7EIyUhUy89Ly i3ITSzLz8xSS8/NKgKpTU4CiCgldnBlfb71kKjhjVrHu+zn2BsYZpl2MnBwSAiYSKxo7GUFs IYHZTBJXL4d2MXIB2YcZJc7d2c8GkmATUJHYdPYCcxcjB4eIgJ5ES5cZSJhZwFzi7evXYL3C AnkSlzvXMoPYIgL5ElP+/GeCsK0kjl6/BDaGRUBVYtXtBawgNq9AoMSi1s8sELtmMEp8f94A 1swJlHg09wM7iM0oICbx/dQaJohl4hK3nsxngjhaQGLJnvPMELaoxMvH/1ghbAWJLe872UHu ZBbQlFi/Sx+iVVFiSvdDdoi9ghInZz5hmcAoOgvJ1FkIHbOQdMxC0rGAkWUVo1BiSU5uYmZO ermRXmJupl5yfu4mRkgyyN/B+PGj+SFGAQ5GJR7edy5XI4RYE8uKK3MPMUpwMCuJ8D60Bgrx piRWVqUW5ccXleakFh9idAKGykRmKW5QZAFjP97YwEBKFMYxNDEzMTcyN7Q0MTc2VhLnLWHa HyEkkA5MRdmpqQWpRTBDmDg4pRoY72XYb2599ubo/Pwe819vfXXvrcu6UO6XcZ5/l+XSkEYe u83vfyTk/zy84O+D0tM/zcRCN5424VNuNrDp/Xb7f7byMZcJN6seMh9yUpH5dU70YUnQJv2S 1Z6ieYl6LTv5Xry32Cgh8r3QeKnKqR+WNYvUNk/6+GHDseluHXzuM7Ru7L/c4b12ohJLcUai oRZzUXEiACqKyFIpAwAA Subject: Re: [RFC] GLOBAL_REMOVE_IF_UNREFERENCED, multiply defined symbols, and MSFT/GCC tool chains. 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, 24 Mar 2017 17:58:04 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBcmQgQmllc2hldXZlbCBb bWFpbHRvOmFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmddDQo+IFNlbnQ6IEZyaWRheSwgTWFy Y2ggMjQsIDIwMTcgMTozMiBQTQ0KPiBUbzogRmVsaXggUG9sdWRvdg0KPiBDYzogZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmcNCj4gU3ViamVjdDogUmU6IFtlZGsyXSBbUkZDXSBHTE9CQUxf UkVNT1ZFX0lGX1VOUkVGRVJFTkNFRCwgbXVsdGlwbHkNCj4gZGVmaW5lZCBzeW1ib2xzLCBh bmQgTVNGVC9HQ0MgdG9vbCBjaGFpbnMuDQo+IA0KPiBPbiAyNCBNYXJjaCAyMDE3IGF0IDEy OjUzLCBGZWxpeCBQb2x1ZG92IDxGZWxpeHBAYW1pLmNvbT4gd3JvdGU6DQo+ID4gVHJ5aW5n IHRvIGFkZCBHQ0Mgc3VwcG9ydCB0byBwcm9qZWN0cyBiYXNlZCBvbiBNU0ZUIHRvb2wgY2hh aW4sIEknbSBrZWVwDQo+IHN0dW1ibGluZyBpbnRvIG11bHRpcGx5IGRlZmluZWQgc3ltYm9s IGVycm9ycyByZXBvcnRlZCBieSBHQ0MgbGlua2VyLg0KPiA+IEFuIGF0dGVtcHQgdG8gdW5k ZXJzdGFuZCB3aHkgdGhlIGVycm9ycyBhcmUgbm90IHJlcG9ydGVkIGJ5IHRoZQ0KPiBNaWNy b3NvZnQgbGlua2VyIGxlYWQgbWUgdG8gR0xPQkFMX1JFTU9WRV9JRl9VTlJFRkVSRU5DRUQg bWFjcm8uDQo+ID4gVGhlIHB1cnBvc2Ugb2YgdGhlIG1hY3JvIGlzIHRvIGVuYWJsZSBsaW5r IHRpbWUgb3B0aW1pemF0aW9uIG9mIGdsb2JhbA0KPiB2YXJpYWJsZXMuDQo+ID4gSG93ZXZl ciwgdGhlIHdheSBpdCdzIGRlZmluZWQgZm9yIE1TRlQgdG9vbCBjaGFpbiAoX19kZWNsc3Bl YyhzZWxlY3RhbnkpICkNCj4gaGFzIGEgc2lkZSBlZmZlY3Qgb2YgZXhwbGljaXRseSBhbGxv d2luZyBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgYSBzeW1ib2wgZGVmaW5lZA0KPiB3aXRoIEdM T0JBTF9SRU1PVkVfSUZfVU5SRUZFUkVOQ0VELg0KPiANCj4gVGhpcyBzbWVsbHMgbGlrZSBh IHZhcmlhbnQgb2YgdGhlIEdDQyBDT01NT04gaXNzdWUgdGhhdCB5b3UgcXVvdGUNCj4gYmVs b3cuICdTZWxlY3QgYW55JyBwcmVzdW1lcyB0aGF0IGdsb2JhbGx5IHZpc2libGUgc3ltYm9s cyB3aXRoIHRoZQ0KPiBzYW1lIG5hbWUgYXJlIGd1YXJhbnRlZWQgdG8gcmVmZXIgdG8gdGhl IHNhbWUgZGF0YSBpdGVtLCBhbmQgdGhlDQo+IG5hdHVyZSBhbmQgYXJjaGl0ZWN0dXJlIG9m IEVESzIgbWFrZSBpdCBpbXBvc3NpYmxlIHRvIGV2ZXIgYmUgc3VyZQ0KPiBhYm91dCB0aGF0 IChpLmUuLCBjcm9zcy1wYWNrYWdlIGxpYnJhcnkgY2xhc3MgcmVzb2x1dGlvbikNCj4gDQo+ ID4gRm9yIGEgd2hpbGUgdXNhZ2Ugb2YgdGhlIG1hY3JvIHdhcyB0aGUgb25seSBvcHRpb24g dG8gZW5hYmxlIGdsb2JhbA0KPiB2YXJpYWJsZSBvcHRpbWl6YXRpb24uDQo+ID4gU3RhcnRp bmcgZnJvbSBWUzIwMTMgY29tcGlsZXIgc3VwcG9ydHMgL0d3IGZsYWcgdGhhdCBlbmFibGVz IGdsb2JhbA0KPiB2YXJpYWJsZSBvcHRpbWl6YXRpb24gd2l0aG91dCBhIHNwZWNpYWwgZGVj bGFyYXRvci4NCj4gPg0KPiA+IEkgcHJvcG9zZSB0byBtYWtlIHRoZSBmb2xsb3dpbmcgbW9k aWZpY2F0aW9uczoNCj4gPg0KPiA+IDEuICAgICAgQ2hhbmdlIEdMT0JBTF9SRU1PVkVfSUZf VU5SRUZFUkVOQ0VEIGRlZmluaXRpb24gdG8gYW4gZW1wdHkNCj4gbWFjcm8uDQo+ID4NCj4g PiBPciBtb3JlIHNwZWNpZmljYWxseSwgdXBkYXRlIG1hY3JvIGRlZmluaXRpb24gaW4gQmFz ZS5oIGFzIGZvbGxvd3M6DQo+ID4NCj4gPiAjaWZuZGVmIEdMT0JBTF9SRU1PVkVfSUZfVU5S RUZFUkVOQ0VEDQo+ID4NCj4gPiAjZGVmaW5lIEdMT0JBTF9SRU1PVkVfSUZfVU5SRUZFUkVO Q0VEDQo+ID4NCj4gPiAjZW5kaWYNCj4gPg0KPiA+IDIuICAgICAgVXBkYXRlIFZTMjAxMyBh bmQgVlMyMDE1IGNvbXBpbGVyIGZsYWdzIHRvIGFkZCAvR3cgb3B0aW9uDQo+ID4NCj4gPiAz LiAgICAgIFVwZGF0ZSBjb21waWxlciBmbGFncyBmb3Igb2xkZXIgTVNGVCB0b29sIGNoYWlu cyB0byBkZWZpbmUNCj4gR0xPQkFMX1JFTU9WRV9JRl9VTlJFRkVSRU5DRUQgaW4gYSBiYWNr d2FyZCBjb21wYXRpYmxlIG1hbm5lciBmb3INCj4gdGFyZ2V0cyB0aGF0IGVuYWJsZSBvcHRp bWl6YXRpb24uDQo+ID4NCj4gPiAvRCBHTE9CQUxfUkVNT1ZFX0lGX1VOUkVGRVJFTkNFRCA9 X2RlY2xzcGVjKHNlbGVjdGFueSkNCj4gPg0KPiA+DQo+ID4gVGhlIGFkdmFudGFnZXMgb2Yg dGhlc2UgbW9kaWZpY2F0aW9ucyBhcmU6DQo+ID4NCj4gPiAtICAgICAgICBCZXR0ZXIgZGV0 ZWN0aW9uIG9mIG9uIHBvdGVudGlhbCBlcnJvcnMgYnkgYnJlYWtpbmcgdGhlIGJ1aWxkIHdo ZW4NCj4gc3ltYm9sIGlzIGRlZmluZWQgbW9yZSB0aGFuIG9uY2UuDQo+ID4NCj4gPiAtICAg ICAgICBJbXByb3ZlZCBjb25zaXN0ZW5jeSBiZXR3ZWVuIE1TRlQgYW5kIEdDQyB0b29sIGNo YWlucw0KPiA+DQo+ID4gLSAgICAgICAgSW1wcm92ZWQgbGluayB0aW1lIG9wdGltaXphdGlv biB3aXRoIFZTMjAxMyBhbmQgbmV3ZXIgTVNGVCB0b29sDQo+IGNoYWlucy4NCj4gPg0KPiA+ IEZvciBleGFtcGxlLCBtR2F1Z2VEYXRhIGluDQo+IE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4 ZUNvcmVQZXJmb3JtYW5jZUxpYi9EeGVDb3JlUGVyZm9ybWFuY2VMaWIuYyBpcw0KPiBub3Qg ZGVjbGFyZWQgYXMgR0xPQkFMX1JFTU9WRV9JRl9VTlJFRkVSRU5DRUQsIHNvDQo+ID4NCj4g PiB0b2RheSBwZXJmb3JtYW5jZSBsaWJyYXJ5IGlzIGxpbmtlZCB3aXRoIERYRSBDb3JlIGV2 ZW4gd2hlbiBwZXJmb3JtYW5jZQ0KPiBtZWFzdXJlbWVudHMgYXJlIGRpc2FibGVkLg0KPiA+ DQo+ID4gVGhlIGFsdGVybmF0aXZlIG9wdGlvbiBpcyB0byBlbmFibGUgc3VwcG9ydCBvZiBt dWx0aXBseSBkZWZpbmVkIHN5bWJvbHMgb24NCj4gR0NDIHRvb2wgY2hhaW4uDQo+ID4gT25l IHdheSB0byBkbyBpdCBpcyBieSBkZWZpbmluZyB0aGUgbWFjcm8gYXMNCj4gPiAjZGVmaW5l IEdMT0JBTF9SRU1PVkVfSUZfVU5SRUZFUkVOQ0VEIF9fYXR0cmlidXRlX18oKHdlYWspKQ0K PiA+DQo+IA0KPiBObyEgVGhhdCBtYXkgZml4IHlvdXIgYnVpbGQsIGJ1dCBpdCBvbmx5IHBh cGVycyBvdmVyIHRoZSBwcm9ibGVtLg0KPiANCj4gPiBIb3dldmVyLCBJJ20gbm90IHN1cmUg dGhhdCBlbWJyYWNpbmcgbXVsdGlwbGUgc3ltYm9sIGRlZmluaXRpb25zIGlzIGEgZ29vZA0K PiBpZGVhLg0KPiA+IEZvciBleGFtcGxlLCBzZWUgQXJkJ3MgYXJndW1lbnRzIGluIHRoaXMg Y29tbWl0IGNvbW1lbnQNCj4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2Vk azIvY29tbWl0LzIxNGEzYjc5NDE3ZjY0YmYyZmFhZTc0YWY0MmMNCj4gMWI5ZDIzZjUwZGM4 DQo+ID4NCj4gDQo+IEdDQyB1c2VkIC1mZnVuY3Rpb24tc2VjdGlvbnMgYW5kIC1mZGF0YS1z ZWN0aW9ucywgYW5kIHBlcmZvcm1zIGxpbmsNCj4gdGltZSBnYXJiYWdlIGNvbGxlY3Rpb24g KC0tZ2Mtc2VjdGlvbnMpLCBhbmQgc28gZ2xvYmFscyB0aGF0IGFyZSBuZXZlcg0KPiByZWZl cmVuY2VkIHdpbGwgdWx0aW1hdGVseSBiZSBkcm9wcGVkIGFueXdheS4NCj4gDQo+IFNvIGlu IHRoZSBtR2F1Z2VEYXRhIGNhc2UgeW91IG1lbnRpb24gYWJvdmUsIEdDQyAob3IgcmF0aGVy LCBHTlUgbGQpLA0KPiBzaG91bGQgbm90aWNlIHRoYXQgbm8gcmVmZXJlbmNlcyB0byBpdCBl eGlzdHMsIGFuZCB0aGUgc2VjdGlvbg0KPiBjb250YWluaW5nIGp1c3QgbUdhdWdlRGF0YSB3 aWxsIGJlIGRyb3BwZWQgZnJvbSB0aGUgYnVpbGQuDQo+IA0KDQpJIGFncmVlLiBFc3NlbnRp YWxseSwgR0xPQkFMX1JFTU9WRV9JRl9VTlJFRkVSRU5DRUQgd2FzIGEgY3J1dGNoIGNyZWF0 ZWQgdG8gd29yay1hcm91bmQgTVNGVCBjb21waWxlciBsaW1pdGF0aW9uLg0KTm93IHRoYXQg TVNGVCBjb21waWxlciBuYXRpdmVseSBzdXBwb3J0cyBnbG9iYWwgZGF0YSBvcHRpbWl6YXRp b24sIHRoZXJlIG5vIHJlYXNvbiB0byBoYXZlIGl0Lg0KDQo+IEFzIEkgbWVudGlvbmVkIGlu IHRoZSBjb21taXQgbG9nIG9mIHRoZSBhYm92ZSBwYXRjaCwgU1RBVElDIGlzIHRoZSBrZXkN Cj4gaGVyZS4gSW4gbXkgb3BpbmlvbiwgU1RBVElDIHNob3VsZCBiZSBtYW5kYXRvcnkgZm9y IGFsbCBmdW5jdGlvbiBhbmQNCj4gdmFyaWFibGVzIHRoYXQgYXJlIG9ubHkgcmVmZXJlbmNl ZCBmcm9tIHRoZSBzYW1lIGNvbXBpbGF0aW9uIHVuaXQuIE5vdA0KPiBvbmx5IGRvZXMgaXQg aGVscCB0aGUgY29tcGlsZXIgcHJvZHVjZSBiZXR0ZXIgY29kZSAoaW4gdGhlIGFic2VuY2Ug b2YNCj4gTFRPKSwgaXQgcHJldmVudHMgbmFtZXNwYWNlIHBvbGx1dGlvbiBhbmQgZ2VuZXJh bGx5IHJlc3VsdHMgaW4gYmV0dGVyDQo+IHN0cnVjdHVyZWQgY29kZSAoZ2l2ZW4gdGhhdCB5 b3UgY2FuJ3QgZWFzaWx5IGxpbmsgdG8gc29tZSBzeW1ib2wgaW4NCj4gYW5vdGhlciBvYmpl Y3QpDQoNCkFncmVlIGFnYWluLg0KDQo+IEdpdmVuIHRoYXQgZWFjaCBvZiB0aGUgbGlua2Vy IGVycm9ycyB5b3UgZ2V0IHBvaW50cyB0byBhIHBvdGVudGlhbA0KPiBwcm9ibGVtIGluIHlv dXIgY29kZSwgcGVyaGFwcyB0aGUgYmVzdCBhcHByb2FjaCB3b3VsZCBiZSB0bw0KPiB0ZW1w b3JhcmlseSBkZWZpbmUgR0xPQkFMX1JFTU9WRV9JRl9VTlJFRkVSRU5DRUQgdG8gU1RBVElD IGluc3RlYWQsDQo+IHNvDQo+IHlvdSBjYW4gdHJhY2sgZG93biB0aGUgb2NjdXJyZW5jZXMg dGhhdCByZWFsbHkgcmVxdWlyZSBleHRlcm5hbA0KPiBsaW5rYWdlLCBidXQgaGF2ZSBtdWx0 aXBsZSBkZWZpbml0aW9ucywgYW5kIGZpeCB0aG9zZSB1cCBtYW51YWxseS4NCg0KRml4aW5n IGlzIG5vdCBhIHByb2JsZW0uIE15IHBhaW4gaXMgdGhhdCB0aGUgYnVncyBhcmUgaW4gYSB0 aGlyZCBwYXJ0eSBjb2RlIGFuZCBJIGhhdmUgdG8ga2VlcCBmaXhpbmcgdGhlbSB3aGVuZXZl ciBuZXcgdmVyc2lvbiBpcyByZWxlYXNlZCwNCndoaWNoIGlzIG5vdCBhIHJhcmUgZXZlbnQu DQpUaGF0J3Mgd2h5IEknbSB0cnlpbmcgdG8gY29tZSB1cCB3aXRoIHRoZSBtb2RpZmljYXRp b25zIHRvIGJyZWFrIHRoZSBNU0ZUIGNvbXBpbGVyIGJ1aWxkIHdoZW4gbXVsdGlwbHkgZGVm aW5lZCBzeW1ib2wgaXMgZW5jb3VudGVyZWQuDQoNClBsZWFzZSBjb25zaWRlciB0aGUgZW52 aXJvbm1lbnQgYmVmb3JlIHByaW50aW5nIHRoaXMgZW1haWwuDQoNClRoZSBpbmZvcm1hdGlv biBjb250YWluZWQgaW4gdGhpcyBtZXNzYWdlIG1heSBiZSBjb25maWRlbnRpYWwgYW5kIHBy b3ByaWV0YXJ5IHRvIEFtZXJpY2FuIE1lZ2F0cmVuZHMsIEluYy4gIFRoaXMgY29tbXVuaWNh dGlvbiBpcyBpbnRlbmRlZCB0byBiZSByZWFkIG9ubHkgYnkgdGhlIGluZGl2aWR1YWwgb3Ig ZW50aXR5IHRvIHdob20gaXQgaXMgYWRkcmVzc2VkIG9yIGJ5IHRoZWlyIGRlc2lnbmVlLiBJ ZiB0aGUgcmVhZGVyIG9mIHRoaXMgbWVzc2FnZSBpcyBub3QgdGhlIGludGVuZGVkIHJlY2lw aWVudCwgeW91IGFyZSBvbiBub3RpY2UgdGhhdCBhbnkgZGlzdHJpYnV0aW9uIG9mIHRoaXMg bWVzc2FnZSwgaW4gYW55IGZvcm0sIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuICBQbGVhc2Ug cHJvbXB0bHkgbm90aWZ5IHRoZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsIG9yIGJ5IHRlbGVw aG9uZSBhdCA3NzAtMjQ2LTg2MDAsIGFuZCB0aGVuIGRlbGV0ZSBvciBkZXN0cm95IGFsbCBj b3BpZXMgb2YgdGhlIHRyYW5zbWlzc2lvbi4NCg==