| www.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: | <5910F06D.9060704@gmx.de> |
| Date: | Tue, 09 May 2017 00:25:49 +0200 |
| 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: | Differences between i386go32.sc from the DJGPP port and the one provided |
| by the official binutils and question about the status of lto support for | |
| DJGPP. | |
| X-Provags-ID: | V03:K0:0JQ2BDOtBa8LEeuI36Nwe9VULQ9Nd0+71yV0VPndK09K9HSmzpR |
| wHySyMz5tvVkKfv5WaEx/5vBzFqk0mUU6Ydyg5jtaipOn8AHEBX9aV224XjhmjbxFarvNi6 | |
| Ow8T2ElUCnI3NemwS4kmS4II3J3NLqinyynkNTdLIfL7zSwr+K5zAbBE/VfCXgQ1YiPTRH+ | |
| ezhMbmhPIPUroRSUNKVQg== | |
| X-UI-Out-Filterresults: | notjunk:1;V01:K0:D0dXVJSyxLg=:fKEQaZnpd3oZkL4QXD84Yr |
| EBxf0/3BeOUwRzdEi4lczuBy7U8Ovf7gBicfwN08o+bez1qGXzyokR4kYnxQr+j+lf8PzBenH | |
| KAqhS5F3RgM/qoAjrlECZCf7+B9jcF1uBHHWP8fAzYMncUkJ++VRxbUAjiGjYi8v0ND096Att | |
| 5kLl30DoCs8leoCQ1zKZK4B3eFdcNGNIM2KZ5hNOkO7WpK5cijdFuCswpuZ/9wqwi5yIOqo5m | |
| xQvBCpxhyXDd/Sntapu5AtWvKvGF68NxWznl0tIudtUykVBBUv5oVX4G2Jzue8xSa6W3ywf2d | |
| PzStsN4bfNPUi9l7gpJIfSqBDfJnh0bc6yW+33iFVgQK1LqlzT94JHXB41PorUXhecO6yJeYF | |
| XOs/snB/iT+nsh+Lz8cKs8nluC5121jhh7/omQmKfKB1rBoVHCqrSyBs4K/WNmHe4M1QF7Dqy | |
| 2tSnERRGEbFXpfN0d/BLgspwkeefgom+wn1XIcKCxTe1+ckYHyWQKkAEZYNiNXvXYquwZujzd | |
| 5QItEkcEH3aqhYw7co5h0OC2VhocvflZkb/TnRaH3XvFG3nmTtWRyI+TNx4dkjdzLpXTHWP+g | |
| +rihb7uedbhJ/SY1J1/lJX0MiGuAyFvPPSa6sYR1AAnWB4fIiAWsNiRmR9n9XJE0B3btuIISJ | |
| nFERg8XB7AItz/Pe0+J+yAxYIyUk4tVH5dBgBLDSTAeFlhVwaMHA9lbBSh25aNSZiYQKRNwaN | |
| jq+X7hsb9Cr2/knZGWiAT2ENYbRZH/6Piw64l6EVULXPriQv3YgjJbdXoS8c/onyWI0DCBAJt | |
| YfnkEWI | |
| Reply-To: | djgpp-workers AT delorie DOT com |
The patch below shows what currently is added/changed to the "official" linker
script. The question is: what of this is required and should be submitted to
the binutils maintainers? What is the status/plans for the lto support for DJGPP?
Probably the _environ related entries should be submitted. I will not submit
anything to the maintainers. May be DJ and/or Andris can decide what of these
changes should be become part of the next official binutils release. I do not
know if there is still some one with write access to the binutils repository
but I do not want to ask the binutils maintainers for inclusion of DJGPP
specific changes. Some one else shall do this. This issue is related to:
<http://www.delorie.com/archives/browse.cgi?p=djgpp/2017/05/06/17:45:12>
Please let me know if something is missing or required.
Regards,
Juan M. Guerrero
diff -aprNU5 binutils-2.28.orig/ld/scripttempl/i386go32.sc binutils-2.28/ld/scripttempl/i386go32.sc
--- binutils-2.28.orig/ld/scripttempl/i386go32.sc 2017-03-02 08:23:50 +0000
+++ binutils-2.28/ld/scripttempl/i386go32.sc 2017-03-07 21:51:46 +0000
@@ -45,18 +45,27 @@ SECTIONS
}
.data ${RELOCATING+ ${DATA_ALIGNMENT}} : {
${RELOCATING+djgpp_first_ctor = . ;
*(SORT(.ctors.*))
*(.ctor)
+ *(.ctors)
djgpp_last_ctor = . ;}
${RELOCATING+djgpp_first_dtor = . ;
*(SORT(.dtors.*))
*(.dtor)
+ *(.dtors)
djgpp_last_dtor = . ;}
+ __environ = . ;
+ PROVIDE(_environ = .) ;
+ LONG(0) ;
*(.data)
${RELOCATING+*(.data.*)}
+ /* Ugly workaround to prevent entire .bss to have attribute CONTENT */
+ /* for C++ executables. */
+ *(.bss.*)
+
${RELOCATING+*(.gcc_exc*)}
${RELOCATING+___EH_FRAME_BEGIN__ = . ;}
${RELOCATING+*(.eh_fram*)}
${RELOCATING+___EH_FRAME_END__ = . ;}
${RELOCATING+LONG(0);}
@@ -67,15 +76,17 @@ SECTIONS
}
${CONSTRUCTING+${RELOCATING-$CTOR}}
${CONSTRUCTING+${RELOCATING-$DTOR}}
.bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
{
- *(.bss${RELOCATING+ .bss.* .gnu.linkonce.b.*})
+ *(.bss${RELOCATING+ .gnu.linkonce.b.*})
*(COMMON)
${RELOCATING+ end = . ; PROVIDE(_end = .) ;}
${RELOCATING+ . = ALIGN(${SEGMENT_SIZE});}
}
+ /* Discard LTO sections. */
+ /DISCARD/ : { *(gnu.lto_*) }
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
EOF
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |