* Re: /srv/bzr/emacs/emacs-24 r111251: * pre-crt0.c (data_start): Initialize to 1. [not found] <E1U5LM8-00058R-OJ@vcs.savannah.gnu.org> @ 2013-02-12 21:07 ` Glenn Morris 2013-02-12 22:06 ` Paul Eggert 0 siblings, 1 reply; 3+ messages in thread From: Glenn Morris @ 2013-02-12 21:07 UTC (permalink / raw) To: Paul Eggert; +Cc: Emacs developers Paul Eggert wrote: > * pre-crt0.c (data_start): Initialize to 1. > > This ports to compilers that optimize the external declaration > 'int x = 0;' as if it were 'int x;' to shrink the executable. IIUC, this is in srervice of trying to port Emacs to an platform where it has never worked (AIX 64-bit). But the code is used by other, working platforms. Why is this change safe/necessary for emacs-24 at this late stage? ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: /srv/bzr/emacs/emacs-24 r111251: * pre-crt0.c (data_start): Initialize to 1. 2013-02-12 21:07 ` /srv/bzr/emacs/emacs-24 r111251: * pre-crt0.c (data_start): Initialize to 1 Glenn Morris @ 2013-02-12 22:06 ` Paul Eggert 2013-02-12 23:52 ` Glenn Morris 0 siblings, 1 reply; 3+ messages in thread From: Paul Eggert @ 2013-02-12 22:06 UTC (permalink / raw) To: Glenn Morris; +Cc: Emacs developers On 02/12/13 13:07, Glenn Morris wrote: > the code is used by other, working platforms. Can you please give an example of such a platform? I tried to find an example but came up dry (please see below). > Why is this change safe/necessary for emacs-24 at this late stage? The change is clearly safe as the variable's contents are never used. That being said, the change is not needed on a platform that defines BSD_SYSTEM or DATA_START or ORDINARY_LINK or CANNOT_DUMP or SYSTEM_MALLOC, as these systems never use the address of the variable. I just now checked configure.ac etc. and it appears that the change is therefore not needed on aix, *bsd, cygwin, darwin, gnu, hpux*, irix6-5, ms-dos, ms-w32, sol2*, unixware. Is this the complete set of systems that Emacs ports to? If so, the change isn't needed and I'd like to revert it (though the variable should be removed in the trunk, as it's no longer used anywhere). If not, the change is needed if the variable is compiled with a newer GCC (or similar compiler) with enough optimizing options that Emacs puts the variable into bss. I originally made the change because aix4-2 defined ORDINARY_LINK but later AIX releases did not, which meant it appeared that the variable was used on post-4.2 AIX releases. However, with my change to unexaix.c today, the AIX port never uses the address of the variable, so the change currently is not needed on post-4.2 AIX releases after all. I didn't put 2 and 2 together to see this; sorry. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: /srv/bzr/emacs/emacs-24 r111251: * pre-crt0.c (data_start): Initialize to 1. 2013-02-12 22:06 ` Paul Eggert @ 2013-02-12 23:52 ` Glenn Morris 0 siblings, 0 replies; 3+ messages in thread From: Glenn Morris @ 2013-02-12 23:52 UTC (permalink / raw) To: Paul Eggert; +Cc: Emacs developers Paul Eggert wrote: > On 02/12/13 13:07, Glenn Morris wrote: >> the code is used by other, working platforms. > > Can you please give an example of such a platform? > I tried to find an example but came up dry (please see below). I just saw a bunch of platforms in configure.ac add pre-crt0.o to START_FILES, I didn't look any further. I don't really want to figure out all the possible build permutations if we can get away with simply not changing it in emacs-24... > The change is clearly safe as the variable's contents are > never used. OK, if you say so. I just saw code that hadn't changed in over 20 years (!) changing. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-02-12 23:52 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <E1U5LM8-00058R-OJ@vcs.savannah.gnu.org> 2013-02-12 21:07 ` /srv/bzr/emacs/emacs-24 r111251: * pre-crt0.c (data_start): Initialize to 1 Glenn Morris 2013-02-12 22:06 ` Paul Eggert 2013-02-12 23:52 ` Glenn Morris
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.