[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/8] x86/EFI: sections may not live at VA 0 in PE binaries


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Wed, 21 Apr 2021 10:52:30 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VSLUUaZ+LeZR2cL3b2vS2vOSstN/bAtcZudGm9it4m4=; b=aOI4YjposfSqpTLY970o+llDS05jtQ3DOvqkDFyuXCdiviYEq75yeNLZfRmQNipceDq8IYbCLb3vEwebK/4ydMeBk3oa2ydyf78N+zNtGe40Lor53rqchJeasHtBIgDvZmBXZl+YtIoVBZa1FI6ttBL2PjagKgy0nZlQVrYRpDKTqTFZ0RxmTLj0pXVK5LTumpy9ckCmbVL90/a2p9lki5xnzQpE4wZBBbIwUaymPwSm38XUqeNK7a9OCKSH08JjkBH0ksg858JpQS/dVTmCFzuQJljj2djbHTJYLFw8SAFtfJTHwJGcabGAPfTnB6RcUVRF+avZz6xA7M+652WfCQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ltL+mKbcNO6ELuUGWhKeDLhDRdxhi8qOWhJ89zyRzpsWXnyaJNz9pjry5cMpQ2krEL+pJNbre92g+pl1D2+bFxsHcstOCilwgJ/NRgHwCFxCZvD0LneeyF8CEWyrmInCRblA7LVIt9mN/I3j795x/npQk9UsthpsRTvfWILvhVqBnrcP9qORLKeGxsUW3TMz+j9d/KmtWoc6JpgliqaBm9CJdkma4bJys23USKvDS/udzA7yyr5nov22wtKBwPBFgAWv4JCGuARamuo987xxLyZlLmQInMhewfPRAT6PdcigjELoGP8Gjx5EXNTeLcDc9f5G+tzmTisGhonsITF8IQ==
  • Authentication-results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "Andrew Cooper" <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Wed, 21 Apr 2021 08:53:18 +0000
  • Ironport-hdrordr: A9a23:Ox/B3K4KbM8k4sN4igPXwVuEI+orLtY04lQ7vn1ZYSd+NuSFis Gjm+ka3xfoiDAXHEotg8yEJbPoex3h3LZPy800Ma25VAfr/FGpIoZr8Jf4z1TbdBHW3tV2kZ 1te60WMrHNJHBnkMf35xS5Gd48wN+BtJuln/va0m0Fd2FXQotLhj0JbDqzOEtwWQVAGN4VFI CE4NBGujqnfh0sH7mGL1MCWPXOoMCOqYL+bXc9dmQawSStrRft0r71FBCEwgwTOgkv/Z4O+X XI+jaJg5mLnOq8znbnpgvuxrRQ3ODs095SQPGL4/JlVgnEriaNSMBfV6aZvDYzydvfmGoCtN XXuR8vM4BSxhrqDxmIiCDg0QXhzzoigkWKoTTz7AqB0K6JNg4SMMZPiZlUdRHU8SMbzapB+Z lGwn6DsN5vBQ7A9R6NluTgbQ1glUa/vBMZ4JcupkFYOLFuD4N5nMg0+UNYF4o4ByTq6IwrO/ kGNrCj2N9mNXyddHzXpW9p3ZiFWWkyBA6PRgw4ttWSyCU+pgE082IogOgk2lsQ/pM0TJdJo8 zCL6RTjblLCusbd7h0CustSda+Y1a9Di7kASa3GxDKBasHM3XCp9rc+7Mu/tynf5QO0d8bhI nBeEkwjx9zR2veTem1mLFb+BHER2uwGR73zNtF2pR/srrgAJL2LCy4Tkw0mcfImYRfPuTrH9 KIfL5GCf7qKmXjXaxT2RflZpVUIX4CFOIPvNIWXE+Pv9LrJoXmuvezSoeQGJPdVRIfHk/vCH oKWzb+YO9a6FqwZ3P+iB/NH1PhE3aPuK5YIez/xaw+2YINPopDvkw+klKi/PyGLjVEr+gTdE t6K7X3r7OjqQCNjCL1xlQsHiAYIlde4b3mXX8PjxQNKVnIfbEKvMjaXmxOwn2dJFtaQ9nNGA BS43R7kJjHYaC49GQHMZaKI2iah3wcqDahVJEHgJCO4s/jZ9cfFZYpWKt4EC3RDBxrkQNWqG NOATV0BXP3J3fLs+GInZYUDObQe51XmwGwO/NZrnrZqAGhv801f2AaWDSvSMaTpg4rS1Nv9x pM2p5apIDFtSekKGM5juh9FFFXcmyYDIhLCxm/aJxOlqrmfxxxSmm2lSWX4itDCVbCxgE3vC jMPCeUcfbEDh5mtndU3r3D3Xl0em+eFngAIUxSgMlYLyDrq3xz2eiEau6PyGOXcEIF2fxYGi rCeyEuLgRnwM2X2BaZlC2ZL2gvwowjM4XmffIeWoCW/knoBJyDlKkAEfMRwY1sM8r2tPQXFc 2YYA2YIVrDepUU8j3QgkxgHiZ6qHMpy6y1nDLk6XW1x345D775Jk98S7QSPtGb6CzFSp+zoe FEpONwmdH1FGP7LuOi4+XwSRVoLxvIu264T+0ys/lvzOoPnYo2O6OeaCfC0XFM4Q43I8j1nn 4PWagT2sG1BqZfO+gpPx9D9lUnlN6zPFImnwz/DOg5Z0wshRbgTqS0youNjbokGUuaogTsfX GZ7i1G5v/ANhHzn4IyOuYVIW5MblI752kn1OSed5fIAAHvU+1Y5lK1Pjucd7BaIZL1VIk4n1 Jf49uSmfWQeDe98AfMvSFjKqYLyl2Ze6qJcUuxMN8N1ce7N1SKirar58D2rA6fc0rFV20owa tfdUIRacxfjCIFl4Nf6FnqdpDK
  • Ironport-sdr: +i45jOJgid6M+RLv47Hek0PI+9nzsmjIz9wxTYrkX7MQqfHSM5VN/GcvL1yI6VFNATykaIph27 F0ECkjJOo1udSkZBqaPVXaNGixM9QRy7ipsQillOFPMP8YGUA49Zg4frAfE0MGWJgm3R50sx8Z tN0m94/USr4tx9LzuFcX1b99PilOUh407MEpVJgHXK+0COehZYiMaOnx7YGl/7cDju9uK4703d i81qVzc76S5IQhFbrHOQ1IOaTmRUutsYn9+qCOAVpbRH5rkNNoF6I7AvRxX/wtQ1NQrQoNK6XP yDI=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Thu, Apr 01, 2021 at 11:44:45AM +0200, Jan Beulich wrote:
> PE binaries specify section addresses by (32-bit) RVA. GNU ld up to at
> least 2.36 would silently truncate the (negative) difference when a
> section is placed below the image base. Such sections would also be
> wrongly placed ahead of all "normal" ones. Since, for the time being,
> we build xen.efi with --strip-debug anyway, .stab* can't appear. And
> .comment has an entry in /DISCARD/ already anyway in the EFI case.
> 
> Because of their unclear origin, keep the directives for the ELF case
> though.

It's my understadng thonse sections are only there for debug purposes,
and never part of the final xen binary as they are stripped?

Could we maybe remove the section load address of 0 and instead just
use the (NOLOAD) directive?

Does it really matter to place them at address 0?

I also wonder, is this change fixing some existing bug, or it's just a
cleanup change?

I also only see the .comment section in my binary output, so maybe
it's fine to just remove them from the script?

Does the Arm linker script need a similar treatment?

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.