delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-workers-bounces using -f |
X-Recipient: | djgpp-workers AT delorie DOT com |
Message-ID: | <56D8A5F0.3060901@gmx.de> |
Date: | Thu, 03 Mar 2016 22:00:32 +0100 |
From: | "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp-workers AT delorie DOT com]" <djgpp-workers AT delorie DOT com> |
User-Agent: | Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.13) Gecko/20101206 SUSE/3.1.7 Thunderbird/3.1.7 |
MIME-Version: | 1.0 |
To: | djgpp-workers AT delorie DOT com |
Subject: | Re: [winter-gcc AT bfw-online DOT de: DJGPP COFF relocation in absolute |
sections] | |
References: | <56D62004 DOT 9040101 AT gmx DOT de> <201603020114 DOT u221EWsu015460 AT envy DOT delorie DOT com> <20160302134725 DOT GA21050 AT bfw-online DOT de> |
In-Reply-To: | <20160302134725.GA21050@bfw-online.de> |
X-Provags-ID: | V03:K0:89zJ0WUPl71xly+eJaze9jiYysqh1W2qZJntGTwEP40VpwN9K4G |
+CQvUnNvR2f42GEJkZ/WMVxR6EhGepeo2Z4xnSHiqeVTcbb8NXfaCmimOWNVa+hGmkZYuz3 | |
b01z8bCFoE3tyPLcTIOqsOKcYLo1k8gyt8DAhPom8YPByF4wCpZABEOAwx6I4+iBxMzfNgx | |
14sAcwv1/hUf59W/JWhxA== | |
X-UI-Out-Filterresults: | notjunk:1;V01:K0:SYIBaHrGLO4=:13d2axNmweZY/cBcyYSeIS |
xP4FpM4MQMmk8dMaOJI2s7ZSWLCrAcYAiBcjP6NxQbwz5ZzfWebcZ1Ndz8kqfU29p/LZal6zw | |
L80KKVedR78E8yqnzQTC5Mrm0as1g8AvOBq9ueAEikoCr/sN1s+5SgPcs7Et1jWuhnxRbwzNE | |
uECXA8pgYJSjBtJxrpxQvdTUnDfIBekPbMTx4CLpzrNgxQ7AQ8lf6M2pCkVsG9PBi3Mf7hI8b | |
RSZ4/fgt6KzA6XIVEgIp7DFbfYtjEUC/lzzINP1DWHvCc2tycxW+Yyr9Z+xQmgYAevAr4ogbK | |
RBJ1HxEaB7wVpFZksGJIxWcmV0B8w/zMUtpF+aGcfRtI6ruuRFJq9Fd/HBjPrhBUubf40Ff9x | |
BZvm2csJha4LkBNKw1TbBj6uH3ddiyO05e76R40ZpUZJMwLmhS/wO3FX92NrJFywPl7UVLh4q | |
p057H2hUeRAt4bl9YFzNYA2KhSGuhw0CMgdc9sKUPMjdSup/Ln0av6zICVUqu0wWbojuK26oe | |
ndTMXn56kvhNk+83wqAb0yEKGS6ElJIMGu2jD4na81r6iYJxfDXUGg8UnvfvL6rhcw0W97aTQ | |
ssZ3q78youcjdQsy7jkM3zXviXgnZ+lHFFYEYlhdUT6JLeLIl2PaZHx7/GNucprZ46SQUdwhB | |
Jn+baqBN3Vqd8q4qzwRbygRVbhTPqp6P4BoKdcT4NFCkeUaVqe0KmO/jvpssxN8dAbaPsGznE | |
BgIxCeYKyBcnMddT/dMlFPzScDAparjowqLQz+e2MPgke1YCiZbMRHpK/veHp+8aOV1jM1v++ | |
w8duOev | |
Reply-To: | djgpp-workers AT delorie DOT com |
Am 02.03.2016 14:47, schrieb Leon Winter: > Hi, > >>> In the end the question is does the DJGPP port also need that symbols in absolute >>> sections shall not be relocated or not? > >> I couldn't think of a good reason why we'd use absolute symbols >> anyway, as they're usually used for hardware or OS hooks, and that >> won't work for DJGPP as we relocate address "0" anyway. ABS sections >> would only be useful for constants but we don't use them for that I >> think. > >>> Is DJGPP/COFF in this sense different to >>> SCO/COFF? > > The outcome of the changes in binutils suggest that. > > Looking at the code at hand in binutils and my debugging session it appears to > be that in my SCO scenario an absolute section also has > sec->output_section->vma == 0 > which might not be true in DJGPP. > > Attached patch works for me on SCO. Does it work for you, too? > > Best regards, > Leon After a little bit of testing during the last couple of days I thing that the patch proposed by you seems to work for the DJGPP port too. At a first glance I thought you were trying to reintroduce the change objected by me in: diff -aprNU5 binutils-2.25.orig/bfd/cofflink.c binutils-2.25/bfd/cofflink.c --- binutils-2.25.orig/bfd/cofflink.c 2015-06-04 12:57:58 +0000 +++ binutils-2.25/bfd/cofflink.c 2015-06-04 13:22:24 +0000 @@ -2977,13 +2977,18 @@ _bfd_coff_generic_relocate_section (bfd } else { sec = sections[symndx]; + /* This does not work for the DJGPP port of binutils-2.25. + This issue has already fixed in the master branch and + will be removed in the next DJGPP port. */ +#ifndef __DJGPP__ /* If the output section has been discarded then ignore this reloc. */ if (sec->output_section->vma == 0) continue; +#endif val = (sec->output_section->vma + sec->output_offset + sym->n_value); if (! obj_pe (input_bfd)) But your patch seems to be a little bit different so it is ok for me. It seems neither to break the binary nor to corrupt the debug sections as the changes introduced with binutils-2.25 have done. Please note that I have applied your patch to binutils 2.26 and not to the current master branch or whatever. I do not have a git system available and I do nort want to check out the repository, so I hape that there will be no surprises when your patch get applied to the next version. I hope that we do not fix the SCO port at the cost of breaking the DJGPP port again. Regards, Juan M.Guerrero
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |