* Trunk bootstrap failure [Cygwin] @ 2010-07-05 23:35 Angelo Graziosi 2010-07-06 2:29 ` Dan Nicolaescu 0 siblings, 1 reply; 19+ messages in thread From: Angelo Graziosi @ 2010-07-05 23:35 UTC (permalink / raw) To: emacs Current trunk (rev. 100729) fails to bootstrap on Cygwin in this way: [...] gcc -c -Demacs -DHAVE_CONFIG_H -I. -I/tmp/emacs/src -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/freetype2 -D_REENTRANT -I/usr/include/librsvg-2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -DORBIT2=1 -D_REENTRANT -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -Wdeclaration-after-statement -Wno-pointer-sign -MMD -MF deps/ecrt0.d /tmp/emacs/src/ecrt0.c /tmp/emacs/src/ecrt0.c: In function ‘_start’: /tmp/emacs/src/ecrt0.c:74: error: too few arguments to function ‘start1’ make[2]: *** [ecrt0.o] Error 1 make[2]: Leaving directory `/tmp/emacs/build/src' make[1]: *** [src] Error 2 make[1]: Leaving directory `/tmp/emacs/build' make: *** [bootstrap] Error 2 The bootstrap I did on 01 July (rev. 100669) was fine. Ciao, Angelo. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-05 23:35 Trunk bootstrap failure [Cygwin] Angelo Graziosi @ 2010-07-06 2:29 ` Dan Nicolaescu 2010-07-06 9:08 ` Angelo Graziosi 0 siblings, 1 reply; 19+ messages in thread From: Dan Nicolaescu @ 2010-07-06 2:29 UTC (permalink / raw) To: Angelo Graziosi; +Cc: emacs Angelo Graziosi <angelo.graziosi@alice.it> writes: > Current trunk (rev. 100729) fails to bootstrap on Cygwin in this way: > > [...] > gcc -c -Demacs -DHAVE_CONFIG_H -I. -I/tmp/emacs/src -D_REENTRANT > -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include > -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 > -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 > -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 > -I/usr/include/freetype2 -I/usr/include/libpng12 > -I/usr/include/freetype2 -D_REENTRANT -I/usr/include/librsvg-2 > -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 > -I/usr/include/freetype2 -I/usr/include/libpng12 > -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -DORBIT2=1 > -D_REENTRANT -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 > -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include > -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 > -Wdeclaration-after-statement -Wno-pointer-sign -MMD -MF > deps/ecrt0.d /tmp/emacs/src/ecrt0.c > /tmp/emacs/src/ecrt0.c: In function ‘_start’: > /tmp/emacs/src/ecrt0.c:74: error: too few arguments to function ‘start1’ > make[2]: *** [ecrt0.o] Error 1 > make[2]: Leaving directory `/tmp/emacs/build/src' > make[1]: *** [src] Error 2 > make[1]: Leaving directory `/tmp/emacs/build' > make: *** [bootstrap] Error 2 > > The bootstrap I did on 01 July (rev. 100669) was fine. I reverted the conversion to standard C for ecrt0.c, it should be fine now. cygwin is the only user for ecrt0.c Can you please experiment changing START_FILES='ecrt0.o' to either: START_FILES='pre-crt0.o' or START_FILES= in emacs/configure and see if any of those work? ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-06 2:29 ` Dan Nicolaescu @ 2010-07-06 9:08 ` Angelo Graziosi 2010-07-06 15:19 ` Dan Nicolaescu 0 siblings, 1 reply; 19+ messages in thread From: Angelo Graziosi @ 2010-07-06 9:08 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: emacs Il 06/07/2010 4.29, Dan Nicolaescu ha scritto: > Angelo Graziosi<angelo.graziosi@alice.it> writes: > >> Current trunk (rev. 100729) fails to bootstrap on Cygwin in this way: >> >> [...] >> gcc -c -Demacs -DHAVE_CONFIG_H -I. -I/tmp/emacs/src -D_REENTRANT >> -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include >> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 >> -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 >> -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 >> -I/usr/include/freetype2 -I/usr/include/libpng12 >> -I/usr/include/freetype2 -D_REENTRANT -I/usr/include/librsvg-2 >> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include >> -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 >> -I/usr/include/freetype2 -I/usr/include/libpng12 >> -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -DORBIT2=1 >> -D_REENTRANT -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 >> -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include >> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 >> -Wdeclaration-after-statement -Wno-pointer-sign -MMD -MF >> deps/ecrt0.d /tmp/emacs/src/ecrt0.c >> /tmp/emacs/src/ecrt0.c: In function ‘_start’: >> /tmp/emacs/src/ecrt0.c:74: error: too few arguments to function ‘start1’ >> make[2]: *** [ecrt0.o] Error 1 >> make[2]: Leaving directory `/tmp/emacs/build/src' >> make[1]: *** [src] Error 2 >> make[1]: Leaving directory `/tmp/emacs/build' >> make: *** [bootstrap] Error 2 >> >> The bootstrap I did on 01 July (rev. 100669) was fine. > > I reverted the conversion to standard C for ecrt0.c, it should be fine now. > cygwin is the only user for ecrt0.c > Can you please experiment changing > START_FILES='ecrt0.o' > to either: > START_FILES='pre-crt0.o' > or > START_FILES= > in emacs/configure > and see if any of those work? Both solutions, you suggest, fail. The first, "START_FILES='pre-crt0.o'", with [...] sysdep.o: In function `start_of_text': /tmp/emacs/src/sysdep.c:1534: undefined reference to `__start' collect2: ld returned 1 exit status make[2]: *** [temacs.exe] Error 1 make[2]: Leaving directory `/tmp/emacs/build/src' make[1]: *** [src] Error 2 make[1]: Leaving directory `/tmp/emacs/build' make: *** [bootstrap] Error 2 and the second, "START_FILES=", with: [...] sysdep.o: In function `start_of_text': /tmp/emacs/src/sysdep.c:1534: undefined reference to `__start' sysdep.o: In function `start_of_data': /tmp/emacs/src/sysdep.c:1586: undefined reference to `_data_start' collect2: ld returned 1 exit status make[2]: *** [temacs.exe] Error 1 make[2]: Leaving directory `/tmp/emacs/build/src' make[1]: *** [src] Error 2 make[1]: Leaving directory `/tmp/emacs/build' make: *** [bootstrap] Error 2 Ciao, Angelo. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-06 9:08 ` Angelo Graziosi @ 2010-07-06 15:19 ` Dan Nicolaescu 2010-07-07 9:12 ` Angelo Graziosi 0 siblings, 1 reply; 19+ messages in thread From: Dan Nicolaescu @ 2010-07-06 15:19 UTC (permalink / raw) To: Angelo Graziosi; +Cc: emacs Angelo Graziosi <angelo.graziosi@alice.it> writes: > Il 06/07/2010 4.29, Dan Nicolaescu ha scritto: >> Angelo Graziosi<angelo.graziosi@alice.it> writes: >> >>> Current trunk (rev. 100729) fails to bootstrap on Cygwin in this way: >>> >>> [...] >>> gcc -c -Demacs -DHAVE_CONFIG_H -I. -I/tmp/emacs/src -D_REENTRANT >>> -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include >>> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 >>> -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 >>> -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 >>> -I/usr/include/freetype2 -I/usr/include/libpng12 >>> -I/usr/include/freetype2 -D_REENTRANT -I/usr/include/librsvg-2 >>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include >>> -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 >>> -I/usr/include/freetype2 -I/usr/include/libpng12 >>> -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -DORBIT2=1 >>> -D_REENTRANT -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 >>> -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include >>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 >>> -Wdeclaration-after-statement -Wno-pointer-sign -MMD -MF >>> deps/ecrt0.d /tmp/emacs/src/ecrt0.c >>> /tmp/emacs/src/ecrt0.c: In function ‘_start’: >>> /tmp/emacs/src/ecrt0.c:74: error: too few arguments to function ‘start1’ >>> make[2]: *** [ecrt0.o] Error 1 >>> make[2]: Leaving directory `/tmp/emacs/build/src' >>> make[1]: *** [src] Error 2 >>> make[1]: Leaving directory `/tmp/emacs/build' >>> make: *** [bootstrap] Error 2 >>> >>> The bootstrap I did on 01 July (rev. 100669) was fine. >> >> I reverted the conversion to standard C for ecrt0.c, it should be fine now. >> cygwin is the only user for ecrt0.c >> Can you please experiment changing >> START_FILES='ecrt0.o' >> to either: >> START_FILES='pre-crt0.o' >> or >> START_FILES= >> in emacs/configure >> and see if any of those work? > > Both solutions, you suggest, fail. Thanks. Oh, well, someone would have to look at the details of the cygwin build to figure out if this can be really done... ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-06 15:19 ` Dan Nicolaescu @ 2010-07-07 9:12 ` Angelo Graziosi 2010-07-07 10:34 ` Eli Zaretskii 2010-07-07 16:22 ` Dan Nicolaescu 0 siblings, 2 replies; 19+ messages in thread From: Angelo Graziosi @ 2010-07-07 9:12 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: Eli Zaretskii, Ken Brown, emacs Il 06/07/2010 17.19, Dan Nicolaescu ha scritto: > Angelo Graziosi<angelo.graziosi@alice.it> writes: > >> Il 06/07/2010 4.29, Dan Nicolaescu ha scritto: >>> Angelo Graziosi<angelo.graziosi@alice.it> writes: >>> >>>> Current trunk (rev. 100729) fails to bootstrap on Cygwin in this way: >>>> >>>> [...] >>>> gcc -c -Demacs -DHAVE_CONFIG_H -I. -I/tmp/emacs/src -D_REENTRANT >>>> -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include >>>> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 >>>> -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 >>>> -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 >>>> -I/usr/include/freetype2 -I/usr/include/libpng12 >>>> -I/usr/include/freetype2 -D_REENTRANT -I/usr/include/librsvg-2 >>>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include >>>> -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 >>>> -I/usr/include/freetype2 -I/usr/include/libpng12 >>>> -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -DORBIT2=1 >>>> -D_REENTRANT -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 >>>> -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include >>>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 >>>> -Wdeclaration-after-statement -Wno-pointer-sign -MMD -MF >>>> deps/ecrt0.d /tmp/emacs/src/ecrt0.c >>>> /tmp/emacs/src/ecrt0.c: In function ‘_start’: >>>> /tmp/emacs/src/ecrt0.c:74: error: too few arguments to function ‘start1’ >>>> make[2]: *** [ecrt0.o] Error 1 >>>> make[2]: Leaving directory `/tmp/emacs/build/src' >>>> make[1]: *** [src] Error 2 >>>> make[1]: Leaving directory `/tmp/emacs/build' >>>> make: *** [bootstrap] Error 2 >>>> >>>> The bootstrap I did on 01 July (rev. 100669) was fine. >>> >>> I reverted the conversion to standard C for ecrt0.c, it should be fine now. >>> cygwin is the only user for ecrt0.c >>> Can you please experiment changing >>> START_FILES='ecrt0.o' >>> to either: >>> START_FILES='pre-crt0.o' >>> or >>> START_FILES= >>> in emacs/configure >>> and see if any of those work? >> >> Both solutions, you suggest, fail. > > Thanks. Oh, well, someone would have to look at the details of the > cygwin build to figure out if this can be really done... Hmm... I have seen that on Cygwin: $ objdump.exe -p foo.exe | fgrep ImageBase returns always: ImageBase 00400000 I have seen also that there are, in Emacs source tree, other systems (see src/s/mips.h, for example) which define 'TEXT_START 0x00400000'. So, not knowing how 'to read or write', I have applied these self-explanatory patches... ============ --- configure.orig 2010-07-02 11:27:38.000000000 +0200 +++ configure 2010-07-06 10:45:21.656250000 +0200 @@ -5864,7 +5864,7 @@ case $opsys in cygwin ) LIB_MATH= - START_FILES='ecrt0.o' + START_FILES='pre-crt0.o' ;; darwin ) ## Adding -lm confuses the dynamic linker, so omit it. --- cygwin.h.orig 2010-06-06 11:34:28.000000000 +0200 +++ cygwin.h 2010-07-07 10:24:22.625000000 +0200 @@ -112,5 +112,7 @@ returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */ #define G_SLICE_ALWAYS_MALLOC +#define TEXT_START 0x00400000 + /* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b (do not change this comment) */ ============ ...and Emacs (rev. 100739) bootstraps fine... But, are those patches the best solution? Are we sure that in the future there will not pitfalls or drawbacks? Eli, Ken, have you comments and/or suggestions? Thanks, Angelo. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-07 9:12 ` Angelo Graziosi @ 2010-07-07 10:34 ` Eli Zaretskii 2010-07-07 12:11 ` Ken Brown 2010-07-07 16:22 ` Dan Nicolaescu 1 sibling, 1 reply; 19+ messages in thread From: Eli Zaretskii @ 2010-07-07 10:34 UTC (permalink / raw) To: Angelo Graziosi; +Cc: dann, kbrow1i, emacs-devel > Date: Wed, 07 Jul 2010 11:12:32 +0200 > From: Angelo Graziosi <angelo.graziosi@alice.it> > CC: emacs <emacs-devel@gnu.org>, Eli Zaretskii <eliz@gnu.org>, > Ken Brown <kbrow1i@gmail.com> > > --- configure.orig 2010-07-02 11:27:38.000000000 +0200 > +++ configure 2010-07-06 10:45:21.656250000 +0200 > @@ -5864,7 +5864,7 @@ > case $opsys in > cygwin ) > LIB_MATH= > - START_FILES='ecrt0.o' > + START_FILES='pre-crt0.o' > ;; > darwin ) > ## Adding -lm confuses the dynamic linker, so omit it. > --- cygwin.h.orig 2010-06-06 11:34:28.000000000 +0200 > +++ cygwin.h 2010-07-07 10:24:22.625000000 +0200 > @@ -112,5 +112,7 @@ > returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */ > #define G_SLICE_ALWAYS_MALLOC > > +#define TEXT_START 0x00400000 > + > /* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b > (do not change this comment) */ > ============ > > ...and Emacs (rev. 100739) bootstraps fine... > > But, are those patches the best solution? Are we sure that in the future > there will not pitfalls or drawbacks? > > Eli, Ken, have you comments and/or suggestions? Sorry, I don't know enough about the memory layout used by Cygwin and about its startup code to speak intelligently about this. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-07 10:34 ` Eli Zaretskii @ 2010-07-07 12:11 ` Ken Brown 0 siblings, 0 replies; 19+ messages in thread From: Ken Brown @ 2010-07-07 12:11 UTC (permalink / raw) To: Eli Zaretskii; +Cc: dann@gnu.org, emacs-devel@gnu.org, Angelo Graziosi On 7/7/2010 6:34 AM, Eli Zaretskii wrote: >> Date: Wed, 07 Jul 2010 11:12:32 +0200 >> From: Angelo Graziosi<angelo.graziosi@alice.it> >> CC: emacs<emacs-devel@gnu.org>, Eli Zaretskii<eliz@gnu.org>, >> Ken Brown<kbrow1i@gmail.com> >> >> --- configure.orig 2010-07-02 11:27:38.000000000 +0200 >> +++ configure 2010-07-06 10:45:21.656250000 +0200 >> @@ -5864,7 +5864,7 @@ >> case $opsys in >> cygwin ) >> LIB_MATH= >> - START_FILES='ecrt0.o' >> + START_FILES='pre-crt0.o' >> ;; >> darwin ) >> ## Adding -lm confuses the dynamic linker, so omit it. >> --- cygwin.h.orig 2010-06-06 11:34:28.000000000 +0200 >> +++ cygwin.h 2010-07-07 10:24:22.625000000 +0200 >> @@ -112,5 +112,7 @@ >> returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */ >> #define G_SLICE_ALWAYS_MALLOC >> >> +#define TEXT_START 0x00400000 >> + >> /* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b >> (do not change this comment) */ >> ============ >> >> ...and Emacs (rev. 100739) bootstraps fine... >> >> But, are those patches the best solution? Are we sure that in the future >> there will not pitfalls or drawbacks? >> >> Eli, Ken, have you comments and/or suggestions? > > Sorry, I don't know enough about the memory layout used by Cygwin and > about its startup code to speak intelligently about this. I'm afraid I don't have a clue either. Ken ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-07 9:12 ` Angelo Graziosi 2010-07-07 10:34 ` Eli Zaretskii @ 2010-07-07 16:22 ` Dan Nicolaescu 2010-07-08 0:16 ` Angelo Graziosi 1 sibling, 1 reply; 19+ messages in thread From: Dan Nicolaescu @ 2010-07-07 16:22 UTC (permalink / raw) To: Angelo Graziosi; +Cc: Eli Zaretskii, Ken Brown, emacs Angelo Graziosi <angelo.graziosi@alice.it> writes: > Il 06/07/2010 17.19, Dan Nicolaescu ha scritto: >> Angelo Graziosi<angelo.graziosi@alice.it> writes: >> >>> Il 06/07/2010 4.29, Dan Nicolaescu ha scritto: >>>> Angelo Graziosi<angelo.graziosi@alice.it> writes: >>>> >>>>> Current trunk (rev. 100729) fails to bootstrap on Cygwin in this way: >>>>> >>>>> [...] >>>>> gcc -c -Demacs -DHAVE_CONFIG_H -I. -I/tmp/emacs/src -D_REENTRANT >>>>> -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include >>>>> -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 >>>>> -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 >>>>> -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 >>>>> -I/usr/include/freetype2 -I/usr/include/libpng12 >>>>> -I/usr/include/freetype2 -D_REENTRANT -I/usr/include/librsvg-2 >>>>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include >>>>> -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 >>>>> -I/usr/include/freetype2 -I/usr/include/libpng12 >>>>> -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -DORBIT2=1 >>>>> -D_REENTRANT -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 >>>>> -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include >>>>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 >>>>> -Wdeclaration-after-statement -Wno-pointer-sign -MMD -MF >>>>> deps/ecrt0.d /tmp/emacs/src/ecrt0.c >>>>> /tmp/emacs/src/ecrt0.c: In function ‘_start’: >>>>> /tmp/emacs/src/ecrt0.c:74: error: too few arguments to function ‘start1’ >>>>> make[2]: *** [ecrt0.o] Error 1 >>>>> make[2]: Leaving directory `/tmp/emacs/build/src' >>>>> make[1]: *** [src] Error 2 >>>>> make[1]: Leaving directory `/tmp/emacs/build' >>>>> make: *** [bootstrap] Error 2 >>>>> >>>>> The bootstrap I did on 01 July (rev. 100669) was fine. >>>> >>>> I reverted the conversion to standard C for ecrt0.c, it should be fine now. >>>> cygwin is the only user for ecrt0.c >>>> Can you please experiment changing >>>> START_FILES='ecrt0.o' >>>> to either: >>>> START_FILES='pre-crt0.o' >>>> or >>>> START_FILES= >>>> in emacs/configure >>>> and see if any of those work? >>> >>> Both solutions, you suggest, fail. >> >> Thanks. Oh, well, someone would have to look at the details of the >> cygwin build to figure out if this can be really done... > > Hmm... I have seen that on Cygwin: > > $ objdump.exe -p foo.exe | fgrep ImageBase > > returns always: > > ImageBase 00400000 > > I have seen also that there are, in Emacs source tree, other systems > (see src/s/mips.h, for example) which define 'TEXT_START 0x00400000'. > > So, not knowing how 'to read or write', I have applied these > self-explanatory patches... > > ============ > --- configure.orig 2010-07-02 11:27:38.000000000 +0200 > +++ configure 2010-07-06 10:45:21.656250000 +0200 > @@ -5864,7 +5864,7 @@ > case $opsys in > cygwin ) > LIB_MATH= > - START_FILES='ecrt0.o' > + START_FILES='pre-crt0.o' > ;; > darwin ) > ## Adding -lm confuses the dynamic linker, so omit it. > --- cygwin.h.orig 2010-06-06 11:34:28.000000000 +0200 > +++ cygwin.h 2010-07-07 10:24:22.625000000 +0200 > @@ -112,5 +112,7 @@ > returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */ > #define G_SLICE_ALWAYS_MALLOC > > +#define TEXT_START 0x00400000 > + It looks like the start_of_text function is only used on AIX and MSDOS, so you can get the same result by completely removing start_of_text, which makes the #define TEXT_START unnecessary. I'll add the needed conditionals around start_of_text soon. > ...and Emacs (rev. 100739) bootstraps fine... > > But, are those patches the best solution? Are we sure that in the > future there will not pitfalls or drawbacks? IMHO if you can run a few days without problems, it should be fine, this should generate memory problems pretty fast if it's wrong... > > Eli, Ken, have you comments and/or suggestions? > > Thanks, > Angelo. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-07 16:22 ` Dan Nicolaescu @ 2010-07-08 0:16 ` Angelo Graziosi 2010-07-08 5:54 ` Dan Nicolaescu 0 siblings, 1 reply; 19+ messages in thread From: Angelo Graziosi @ 2010-07-08 0:16 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: emacs Il 07/07/2010 18.22, Dan Nicolaescu ha scritto: > > It looks like the start_of_text function is only used on AIX and > MSDOS, so you can get the same result by completely removing start_of_text, which makes the > #define TEXT_START > unnecessary. Indeed. Emacs (rev.100746) bootstraps also with these patches: ============== --- emacs.orig/configure 2010-07-02 11:27:38.000000000 +0200 +++ emacs/configure 2010-07-06 10:45:21.656250000 +0200 @@ -5864,7 +5864,7 @@ case $opsys in cygwin ) LIB_MATH= - START_FILES='ecrt0.o' + START_FILES='pre-crt0.o' ;; darwin ) ## Adding -lm confuses the dynamic linker, so omit it. --- emacs.orig/src/sysdep.c 2010-07-08 00:48:35.202874000 +0200 +++ emacs/src/sysdep.c 2010-07-08 00:58:50.843750000 +0200 @@ -1523,16 +1523,16 @@ #if !(defined (__NetBSD__) && defined (__ELF__)) #ifndef HAVE_TEXT_START -char * -start_of_text (void) -{ -#ifdef TEXT_START - return ((char *) TEXT_START); -#else - extern int _start (); - return ((char *) _start); -#endif /* TEXT_START */ -} +/* char * */ +/* start_of_text (void) */ +/* { */ +/* #ifdef TEXT_START */ +/* return ((char *) TEXT_START); */ +/* #else */ +/* extern int _start (); */ +/* return ((char *) _start); */ +/* #endif /\* TEXT_START *\/ */ +/* } */ #endif /* not HAVE_TEXT_START */ #endif ============== Since 'start_of_text' is not used by Cygwin build, shouldn't 'ecrt0.c' be completely unnecessary? Ciao, Angelo. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-08 0:16 ` Angelo Graziosi @ 2010-07-08 5:54 ` Dan Nicolaescu 2010-07-08 9:01 ` Angelo Graziosi 2010-07-08 10:09 ` Angelo Graziosi 0 siblings, 2 replies; 19+ messages in thread From: Dan Nicolaescu @ 2010-07-08 5:54 UTC (permalink / raw) To: Angelo Graziosi; +Cc: emacs Angelo Graziosi <angelo.graziosi@alice.it> writes: > Il 07/07/2010 18.22, Dan Nicolaescu ha scritto: >> >> It looks like the start_of_text function is only used on AIX and >> MSDOS, so you can get the same result by completely removing start_of_text, which makes the >> #define TEXT_START >> unnecessary. > > Indeed. Emacs (rev.100746) bootstraps also with these patches: Thanks. Should I go ahead with this change then? > Since 'start_of_text' is not used by Cygwin build, shouldn't 'ecrt0.c' > be completely unnecessary? That's exactly the reason for this discussion: getting rid of ecrt0.c. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-08 5:54 ` Dan Nicolaescu @ 2010-07-08 9:01 ` Angelo Graziosi 2010-07-08 10:09 ` Angelo Graziosi 1 sibling, 0 replies; 19+ messages in thread From: Angelo Graziosi @ 2010-07-08 9:01 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: emacs Il 08/07/2010 7.54, Dan Nicolaescu ha scritto: > Angelo Graziosi<angelo.graziosi@alice.it> writes: > >> Il 07/07/2010 18.22, Dan Nicolaescu ha scritto: >>> >>> It looks like the start_of_text function is only used on AIX and >>> MSDOS, so you can get the same result by completely removing start_of_text, which makes the >>> #define TEXT_START >>> unnecessary. >> >> Indeed. Emacs (rev.100746) bootstraps also with these patches: > > Thanks. Should I go ahead with this change then? I am afraid, but since I am not an Emacs developer (or C guru...), I do not understand completely the logic of the code in ecrt0.c, so I can take the responsibility to say 'GO'. What I can say is that Emacs bootstrapped in that way is still running. Ciao, Angelo. > >> Since 'start_of_text' is not used by Cygwin build, shouldn't 'ecrt0.c' >> be completely unnecessary? > > That's exactly the reason for this discussion: getting rid of ecrt0.c. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-08 5:54 ` Dan Nicolaescu 2010-07-08 9:01 ` Angelo Graziosi @ 2010-07-08 10:09 ` Angelo Graziosi 2010-07-08 10:22 ` Eli Zaretskii ` (2 more replies) 1 sibling, 3 replies; 19+ messages in thread From: Angelo Graziosi @ 2010-07-08 10:09 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: emacs Il 08/07/2010 7.54, Dan Nicolaescu ha scritto: > Angelo Graziosi<angelo.graziosi@alice.it> writes: > >> Since 'start_of_text' is not used by Cygwin build, shouldn't 'ecrt0.c' >> be completely unnecessary? > > That's exactly the reason for this discussion: getting rid of ecrt0.c. Hmm... bootstrapping rev. 100753 *without* patches (i.e. using ecrt0.c), shows that: $ grep -R start_of_text emacs/inst/usr/local/emacs is *empty* (emacs/inst/usr/local/emacs is the Emacs installation directory). This would mean that the function 'start_of_text' is not compiled any more in the Cygwin build. Right? So the question is: where is the function '_start' of ecrt0.c file called? It seems only compiled but not called... or not? Ciao, Angelo. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-08 10:09 ` Angelo Graziosi @ 2010-07-08 10:22 ` Eli Zaretskii 2010-07-08 10:32 ` Andreas Schwab 2010-07-08 23:07 ` Dan Nicolaescu 2 siblings, 0 replies; 19+ messages in thread From: Eli Zaretskii @ 2010-07-08 10:22 UTC (permalink / raw) To: Angelo Graziosi; +Cc: dann, emacs-devel > Date: Thu, 08 Jul 2010 12:09:10 +0200 > From: Angelo Graziosi <angelo.graziosi@alice.it> > Cc: emacs <emacs-devel@gnu.org> > > Hmm... bootstrapping rev. 100753 *without* patches (i.e. using ecrt0.c), > shows that: > > $ grep -R start_of_text emacs/inst/usr/local/emacs > > is *empty* (emacs/inst/usr/local/emacs is the Emacs installation > directory). This would mean that the function 'start_of_text' is not > compiled any more in the Cygwin build. Right? > > So the question is: where is the function '_start' of ecrt0.c file > called? It seems only compiled but not called... or not? This is a question for Cygwin developers, not for Emacs developers. ecrt0.c is the startup code, which is typically called by the OS after it loads the executable. In the Cygwin case, ``the OS'' is probably some Cygwin module, which is in turn called by Windows. But that's guesswork; someone who is privy to Cygwin internals should answer your question. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-08 10:09 ` Angelo Graziosi 2010-07-08 10:22 ` Eli Zaretskii @ 2010-07-08 10:32 ` Andreas Schwab 2010-07-08 23:07 ` Dan Nicolaescu 2 siblings, 0 replies; 19+ messages in thread From: Andreas Schwab @ 2010-07-08 10:32 UTC (permalink / raw) To: Angelo Graziosi; +Cc: Dan Nicolaescu, emacs Angelo Graziosi <angelo.graziosi@alice.it> writes: > So the question is: where is the function '_start' of ecrt0.c file > called? It seems only compiled but not called... or not? It is called implicitly by being the entry point. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-08 10:09 ` Angelo Graziosi 2010-07-08 10:22 ` Eli Zaretskii 2010-07-08 10:32 ` Andreas Schwab @ 2010-07-08 23:07 ` Dan Nicolaescu 2010-07-09 13:49 ` Angelo Graziosi 2 siblings, 1 reply; 19+ messages in thread From: Dan Nicolaescu @ 2010-07-08 23:07 UTC (permalink / raw) To: Angelo Graziosi; +Cc: emacs Angelo Graziosi <angelo.graziosi@alice.it> writes: > Il 08/07/2010 7.54, Dan Nicolaescu ha scritto: >> Angelo Graziosi<angelo.graziosi@alice.it> writes: >> >>> Since 'start_of_text' is not used by Cygwin build, shouldn't 'ecrt0.c' >>> be completely unnecessary? >> >> That's exactly the reason for this discussion: getting rid of ecrt0.c. > > Hmm... bootstrapping rev. 100753 *without* patches (i.e. using > ecrt0.c), shows that: > > $ grep -R start_of_text emacs/inst/usr/local/emacs > > is *empty* (emacs/inst/usr/local/emacs is the Emacs installation > directory). This would mean that the function 'start_of_text' is not > compiled any more in the Cygwin build. Right? Sure, before yesterday it was just sitting there unused. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-08 23:07 ` Dan Nicolaescu @ 2010-07-09 13:49 ` Angelo Graziosi 2010-07-09 17:08 ` Dan Nicolaescu 0 siblings, 1 reply; 19+ messages in thread From: Angelo Graziosi @ 2010-07-09 13:49 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: emacs Il 09/07/2010 1.07, Dan Nicolaescu ha scritto: > Angelo Graziosi<angelo.graziosi@alice.it> writes: > >> Il 08/07/2010 7.54, Dan Nicolaescu ha scritto: >>> Angelo Graziosi<angelo.graziosi@alice.it> writes: >>> >>>> Since 'start_of_text' is not used by Cygwin build, shouldn't 'ecrt0.c' >>>> be completely unnecessary? >>> >>> That's exactly the reason for this discussion: getting rid of ecrt0.c. >> >> Hmm... bootstrapping rev. 100753 *without* patches (i.e. using >> ecrt0.c), shows that: >> >> $ grep -R start_of_text emacs/inst/usr/local/emacs >> >> is *empty* (emacs/inst/usr/local/emacs is the Emacs installation >> directory). This would mean that the function 'start_of_text' is not >> compiled any more in the Cygwin build. Right? > > Sure, before yesterday it was just sitting there unused. > What about 'ecrt0.c'? It seems that it happens the same for it. For completeness, the bootstrap (rev. 100755) I did applying *only* this patch: ===================================================== --- emacs.orig/configure 2010-07-02 11:27:38.000000000 +0200 +++ emacs/configure 2010-07-06 10:45:21.656250000 +0200 @@ -5864,7 +5864,7 @@ case $opsys in cygwin ) LIB_MATH= - START_FILES='ecrt0.o' + START_FILES='pre-crt0.o' ;; darwin ) ## Adding -lm confuses the dynamic linker, so omit it. ===================================================== is still working. Ciao, Angelo. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-09 13:49 ` Angelo Graziosi @ 2010-07-09 17:08 ` Dan Nicolaescu 2010-07-09 22:35 ` Angelo Graziosi 0 siblings, 1 reply; 19+ messages in thread From: Dan Nicolaescu @ 2010-07-09 17:08 UTC (permalink / raw) To: Angelo Graziosi; +Cc: emacs Angelo Graziosi <angelo.graziosi@alice.it> writes: > Il 09/07/2010 1.07, Dan Nicolaescu ha scritto: >> Angelo Graziosi<angelo.graziosi@alice.it> writes: >> >>> Il 08/07/2010 7.54, Dan Nicolaescu ha scritto: >>>> Angelo Graziosi<angelo.graziosi@alice.it> writes: >>>> >>>>> Since 'start_of_text' is not used by Cygwin build, shouldn't 'ecrt0.c' >>>>> be completely unnecessary? >>>> >>>> That's exactly the reason for this discussion: getting rid of ecrt0.c. >>> >>> Hmm... bootstrapping rev. 100753 *without* patches (i.e. using >>> ecrt0.c), shows that: >>> >>> $ grep -R start_of_text emacs/inst/usr/local/emacs >>> >>> is *empty* (emacs/inst/usr/local/emacs is the Emacs installation >>> directory). This would mean that the function 'start_of_text' is not >>> compiled any more in the Cygwin build. Right? >> >> Sure, before yesterday it was just sitting there unused. >> > > What about 'ecrt0.c'? It seems that it happens the same for it. > > For completeness, the bootstrap (rev. 100755) I did applying *only* > this patch: > > ===================================================== > --- emacs.orig/configure 2010-07-02 11:27:38.000000000 +0200 > +++ emacs/configure 2010-07-06 10:45:21.656250000 +0200 > @@ -5864,7 +5864,7 @@ > case $opsys in > cygwin ) > LIB_MATH= > - START_FILES='ecrt0.o' > + START_FILES='pre-crt0.o' > ;; > darwin ) > ## Adding -lm confuses the dynamic linker, so omit it. > ===================================================== > > is still working. As expected. Nothing in this area has changed since you tried this a couple of days ago. I'd like to make this change. And in order to plan for the unexpected: if in the next few months you get weird memory errors, are you willing to test again with this patch reverted? ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-09 17:08 ` Dan Nicolaescu @ 2010-07-09 22:35 ` Angelo Graziosi 2010-07-10 1:36 ` Dan Nicolaescu 0 siblings, 1 reply; 19+ messages in thread From: Angelo Graziosi @ 2010-07-09 22:35 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: emacs Il 09/07/2010 19.08, Dan Nicolaescu ha scritto: > Angelo Graziosi<angelo.graziosi@alice.it> writes: > >> Il 09/07/2010 1.07, Dan Nicolaescu ha scritto: >>> Angelo Graziosi<angelo.graziosi@alice.it> writes: >>> >>>> Il 08/07/2010 7.54, Dan Nicolaescu ha scritto: >>>>> Angelo Graziosi<angelo.graziosi@alice.it> writes: >>>>> >>>>>> Since 'start_of_text' is not used by Cygwin build, shouldn't 'ecrt0.c' >>>>>> be completely unnecessary? >>>>> >>>>> That's exactly the reason for this discussion: getting rid of ecrt0.c. >>>> >>>> Hmm... bootstrapping rev. 100753 *without* patches (i.e. using >>>> ecrt0.c), shows that: >>>> >>>> $ grep -R start_of_text emacs/inst/usr/local/emacs >>>> >>>> is *empty* (emacs/inst/usr/local/emacs is the Emacs installation >>>> directory). This would mean that the function 'start_of_text' is not >>>> compiled any more in the Cygwin build. Right? >>> >>> Sure, before yesterday it was just sitting there unused. >>> >> >> What about 'ecrt0.c'? It seems that it happens the same for it. >> >> For completeness, the bootstrap (rev. 100755) I did applying *only* >> this patch: >> >> ===================================================== >> --- emacs.orig/configure 2010-07-02 11:27:38.000000000 +0200 >> +++ emacs/configure 2010-07-06 10:45:21.656250000 +0200 >> @@ -5864,7 +5864,7 @@ >> case $opsys in >> cygwin ) >> LIB_MATH= >> - START_FILES='ecrt0.o' >> + START_FILES='pre-crt0.o' >> ;; >> darwin ) >> ## Adding -lm confuses the dynamic linker, so omit it. >> ===================================================== >> >> is still working. > > As expected. Nothing in this area has changed since you tried this a > couple of days ago. > I'd like to make this change. > And in order to plan for the unexpected: if in the next few months you > get weird memory errors, are you willing to test again with this patch reverted? Obviously, but if you prefer, you can leave the things as they stand and I add that patch to my set of personal patches with which I bootstrap Emacs... Ciao, Angelo. --- Tu proverai si' come sa di sale lo pane altrui, e come e' duro calle lo scendere e 'l salir per l'altrui scale. DANTE, Paradiso, xvii 58-60 ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Trunk bootstrap failure [Cygwin] 2010-07-09 22:35 ` Angelo Graziosi @ 2010-07-10 1:36 ` Dan Nicolaescu 0 siblings, 0 replies; 19+ messages in thread From: Dan Nicolaescu @ 2010-07-10 1:36 UTC (permalink / raw) To: Angelo Graziosi; +Cc: emacs Angelo Graziosi <angelo.graziosi@alice.it> writes: > Il 09/07/2010 19.08, Dan Nicolaescu ha scritto: >> Angelo Graziosi<angelo.graziosi@alice.it> writes: >> >>> Il 09/07/2010 1.07, Dan Nicolaescu ha scritto: >>>> Angelo Graziosi<angelo.graziosi@alice.it> writes: >>>> >>>>> Il 08/07/2010 7.54, Dan Nicolaescu ha scritto: >>>>>> Angelo Graziosi<angelo.graziosi@alice.it> writes: >>>>>> >>>>>>> Since 'start_of_text' is not used by Cygwin build, shouldn't 'ecrt0.c' >>>>>>> be completely unnecessary? >>>>>> >>>>>> That's exactly the reason for this discussion: getting rid of ecrt0.c. >>>>> >>>>> Hmm... bootstrapping rev. 100753 *without* patches (i.e. using >>>>> ecrt0.c), shows that: >>>>> >>>>> $ grep -R start_of_text emacs/inst/usr/local/emacs >>>>> >>>>> is *empty* (emacs/inst/usr/local/emacs is the Emacs installation >>>>> directory). This would mean that the function 'start_of_text' is not >>>>> compiled any more in the Cygwin build. Right? >>>> >>>> Sure, before yesterday it was just sitting there unused. >>>> >>> >>> What about 'ecrt0.c'? It seems that it happens the same for it. >>> >>> For completeness, the bootstrap (rev. 100755) I did applying *only* >>> this patch: >>> >>> ===================================================== >>> --- emacs.orig/configure 2010-07-02 11:27:38.000000000 +0200 >>> +++ emacs/configure 2010-07-06 10:45:21.656250000 +0200 >>> @@ -5864,7 +5864,7 @@ >>> case $opsys in >>> cygwin ) >>> LIB_MATH= >>> - START_FILES='ecrt0.o' >>> + START_FILES='pre-crt0.o' >>> ;; >>> darwin ) >>> ## Adding -lm confuses the dynamic linker, so omit it. >>> ===================================================== >>> >>> is still working. >> >> As expected. Nothing in this area has changed since you tried this a >> couple of days ago. >> I'd like to make this change. >> And in order to plan for the unexpected: if in the next few months you >> get weird memory errors, are you willing to test again with this patch reverted? > > Obviously, but if you prefer, you can leave the things as they stand > and I add that patch to my set of personal patches with which I > bootstrap Emacs... I prefer to get rid of code that is only used by a single platfrom (ecrt0.c), when the more commonly used code (pre-crt0.c) seems to do the job. ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2010-07-10 1:36 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-07-05 23:35 Trunk bootstrap failure [Cygwin] Angelo Graziosi 2010-07-06 2:29 ` Dan Nicolaescu 2010-07-06 9:08 ` Angelo Graziosi 2010-07-06 15:19 ` Dan Nicolaescu 2010-07-07 9:12 ` Angelo Graziosi 2010-07-07 10:34 ` Eli Zaretskii 2010-07-07 12:11 ` Ken Brown 2010-07-07 16:22 ` Dan Nicolaescu 2010-07-08 0:16 ` Angelo Graziosi 2010-07-08 5:54 ` Dan Nicolaescu 2010-07-08 9:01 ` Angelo Graziosi 2010-07-08 10:09 ` Angelo Graziosi 2010-07-08 10:22 ` Eli Zaretskii 2010-07-08 10:32 ` Andreas Schwab 2010-07-08 23:07 ` Dan Nicolaescu 2010-07-09 13:49 ` Angelo Graziosi 2010-07-09 17:08 ` Dan Nicolaescu 2010-07-09 22:35 ` Angelo Graziosi 2010-07-10 1:36 ` Dan Nicolaescu
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.