Re: gcc-4.9: How to generate Makefile.in from a modified Makefile.am?

2014-03-27 Thread Svante Signell
On Thu, 2014-03-27 at 10:10 +, Jonathan Wakely wrote:
> On 27 March 2014 09:35, Svante Signell wrote:
> > - In an ideal situation no generated files should be shipped with a
> > distribution, i.e. only configure.ac and Makefile.am, no configure,
> > Makefile.in Makefile when not needed!
> 
> But then end users need to have the autotools installed.

I'm talking about people building packages from source, how many end
users do that? The people building from source are either developers or
package maintainers and the have these tools installed, for sure.

> Installing alternative versions of the autotools should not be so
> difficult for people who are capable of patching the GCC source.

Of course not, but what's hindering upgrading the build system tools
when new source versions are released. And again, will the autotools
ever be backwards compatible? 



Re: gcc-4.9: How to generate Makefile.in from a modified Makefile.am?

2014-03-27 Thread Svante Signell
On Thu, 2014-03-27 at 13:36 +0800, Chung-Ju Wu wrote:
> 2014-03-26 18:24 GMT+08:00 Svante Signell :
> > Hi,
> >
> > With the recent changes of not using automake for the build, only
> > auto{re}conf I have problems generating an updated Makefile.in from a
> > modified Makfile.am. Source is gcc-4.9-4.9-20140322
> >
> 
> For gcc-4.9, I always use automake-1.11.1 and autoconf-2.64
> to regenerate 'configure' and 'Makefile.in' content.

Thanks, I downgraded to automake-1.11.1 and autoconf-2.64 and started
with a fresh install of Debian gcc-4.9-4.9-20140322.
Creating src/libgo/Makefile.in from Makefile.am only issued warnings:
(cd src/libgo;automake)
testsuite/Makefile.am:6: user variable `EXPECT' defined here...
/usr/share/automake-1.11/am/dejagnu.am: ... overrides Automake variable
`EXPECT' defined here
testsuite/Makefile.am:10: user variable `RUNTEST' defined here...
/usr/share/automake-1.11/am/dejagnu.am: ... overrides Automake variable
`RUNTEST' defined here

** I see one big problem with only autoconf2.64 being run when building:
All Makefile.in files have to be patched in addition to Makefile.am when
making changes, complicating things a lot!

Two questions/comments:

- When will gcc switch to use the latest versions of autoconf (2.69) and
automake (1.14) for it's build system? autoconf 2.64 and automake 1.11
are old by now, 26-Jul-2009 and 08-Dec-2009. Many distributions don't
have them any longer. For example for autoconf 2.65 in Debian you have
to use snapshot.debian.org. (up till now, there are specific versions
available: autoconf2.64 and automake1.11 (1.11.6))

- In an ideal situation no generated files should be shipped with a
distribution, i.e. only configure.ac and Makefile.am, no configure,
Makefile.in Makefile when not needed!



Re: gcc-4.9: How to generate Makefile.in from a modified Makefile.am?

2014-03-26 Thread Svante Signell
On Wed, 2014-03-26 at 16:30 +0100, Svante Signell wrote:
> On Wed, 2014-03-26 at 16:20 +0100, Andreas Schwab wrote:
> > Svante Signell  writes:
> > 
> > > autoconf 2.69:
> > 
> > You must use autoconf 2.65, exactly.
> 
> I thought autoconf versions were backwards compatible by now, obviously
> not. Is this ever going to happen?

Looks like the main src/configure.ac was generated for autoconf2.64:
AC_PREREQ(2.64)

(cd src/libgo/; autoconf)
configure.ac:10: error: Please use exactly Autoconf 2.64 instead of
2.65.

A mix of 2.64 and 2.65?




Re: gcc-4.9: How to generate Makefile.in from a modified Makefile.am?

2014-03-26 Thread Svante Signell
On Wed, 2014-03-26 at 16:20 +0100, Andreas Schwab wrote:
> Svante Signell  writes:
> 
> > autoconf 2.69:
> 
> You must use autoconf 2.65, exactly.

I thought autoconf versions were backwards compatible by now, obviously
not. Is this ever going to happen?




Re: gcc-4.9: How to generate Makefile.in from a modified Makefile.am?

2014-03-26 Thread Svante Signell
On Wed, 2014-03-26 at 11:24 +0100, Svante Signell wrote:
> Hi,
> 
> With the recent changes of gcc not using automake for the build, only
> auto{re}conf I have problems generating an updated Makefile.in from a
> modified Makfile.am. Source is gcc-4.9-4.9-20140322.
> 
> Some failing attempts:
> 
> automake 1.14.1: (same with automake-1.11)
> (cd src/libgo; automake -if)
> aclocal.m4:16: warning: this file was generated for autoconf 2.64.
> You have another version of autoconf.  It may work, but is not
> guaranteed to.
> If you have problems, you may need to regenerate the build system
> entirely.
> To do so, use the procedure documented by the package, typically
> `autoreconf'.
> config/go.m4:10: error: m4_copy: won't overwrite defined macro:
> AC_LANG_CONFTEST(Go)
> config/go.m4:10: the top level
> autom4te: /usr/bin/m4 failed with exit status: 1
> automake: error: autoconf failed with exit status: 1


removing src/libgo/Makefile.in gives the same error as with automake:

 cd ../../../src/libgo
&& /bin/bash /home/srs/DEBs/gcc/gcc-4.9-4.9-20140322/src/missing --run
automake-1.11 --foreign Makefile
aclocal.m4:16: warning: this file was generated for autoconf 2.64.
You have another version of autoconf.  It may work, but is not
guaranteed to.
If you have problems, you may need to regenerate the build system
entirely.
To do so, use the procedure documented by the package, typically
`autoreconf'.
config/go.m4:10: error: m4_copy: won't overwrite defined macro:
AC_LANG_CONFTEST(Go)
config/go.m4:10: the top level
autom4te: m4 failed with exit status: 1
automake-1.11: autoconf failed with exit status: 1
make[5]: Failed to remake makefile `Makefile'.
make[6]: Entering directory
`/home/srs/DEBs/gcc/gcc-4.9-4.9-20140322/build/i486-gnu/libgo'
 cd ../../../src/libgo
&& /bin/bash /home/srs/DEBs/gcc/gcc-4.9-4.9-20140322/src/missing --run
automake-1.11 --foreign Makefile
aclocal.m4:16: warning: this file was generated for autoconf 2.64.
You have another version of autoconf.  It may work, but is not
guaranteed to.
If you have problems, you may need to regenerate the build system
entirely.
To do so, use the procedure documented by the package, typically
`autoreconf'.
config/go.m4:10: error: m4_copy: won't overwrite defined macro:
AC_LANG_CONFTEST(Go)
config/go.m4:10: the top level
autom4te: m4 failed with exit status: 1
automake-1.11: autoconf failed with exit status: 1
make[6]: Failed to remake makefile `Makefile'.
make[6]: Leaving directory
`/home/srs/DEBs/gcc/gcc-4.9-4.9-20140322/build/i486-gnu/libgo'
...

Any idea on workarounds? Editing the old Makefile.in manually is not
nice, it is very unreadable. Too many things can go wrong :(



gcc-4.9: How to generate Makefile.in from a modified Makefile.am?

2014-03-26 Thread Svante Signell
Hi,

With the recent changes of not using automake for the build, only
auto{re}conf I have problems generating an updated Makefile.in from a
modified Makfile.am. Source is gcc-4.9-4.9-20140322

Some failing attempts:

automake 1.14.1: (same with automake-1.11)
(cd src/libgo; automake -if)
aclocal.m4:16: warning: this file was generated for autoconf 2.64.
You have another version of autoconf.  It may work, but is not
guaranteed to.
If you have problems, you may need to regenerate the build system
entirely.
To do so, use the procedure documented by the package, typically
`autoreconf'.
config/go.m4:10: error: m4_copy: won't overwrite defined macro:
AC_LANG_CONFTEST(Go)
config/go.m4:10: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
automake: error: autoconf failed with exit status: 1


autoconf 2.69:
(cd src/libgo;autoreconf -fi)
config/go.m4:10: error: m4_copy: won't overwrite defined macro:
AC_LANG_CONFTEST(Go)
config/go.m4:10: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1

(cd src/libgo;autoreconf2.64 -fi)
configure.ac:22: error: Autoconf version 2.65 or higher is required
/usr/share/aclocal-1.14/init.m4:29: AM_INIT_AUTOMAKE is expanded from...
configure.ac:22: the top level
autom4te2.64: /usr/bin/m4 failed with exit status: 63
aclocal: error: echo failed with exit status: 63
autoreconf2.64: aclocal failed with exit status: 63




Re: Hurd port for GCC Go

2013-06-14 Thread Svante Signell
On Fri, 2013-06-14 at 16:42 +0200, Thomas Schwinge wrote:
> Hi!
> 
> On Thu, 13 Jun 2013 10:39:58 +0200, I wrote:
> > On Wed, 12 Jun 2013 15:36:39 +0200, Svante Signell 
> >  wrote:
> > > On Tue, 2013-06-11 at 10:31 +0200, Thomas Schwinge wrote:
> > > > On Fri, 07 Jun 2013 11:14:31 +0200, Svante Signell 
> > > >  wrote:
> > > > > Attached are patches to enable gccgo to build properly on Debian
> > > > > GNU/Hurd on gcc-4.7 (4.7.3-4).
> > > > 
> > > > Thanks!  I've begun integrating them into my GCC tree (based on upstream
> > > > GCC trunk, so some changes to be done to your patches), and get it in a
> > > > state for Fotis to base his GSoC work on.
...
> I have now pushed my working branch to tschwinge/t/hurd/go, and will
> update this from time to time, both for integrating further changes (my
> own as well as those that you send me), and merge in GCC trunk changes.
> On that branch, use something like »git diff :/refs/top-bases/baseline«
> to diff your working tree against the branch's base.  When reviewing the
> commit history on that branch, it may be helpful to exclude any bulk
> merges from trunk, so use something like »git log HEAD ^origin/trunk«.
> 
> Fotis and Svante, please base any futher work for the Hurd port for GCC
> Go on that branch.  Send patches by email, for now.
> 
> > I got as far as having GCC Go compiling with GCC trunk sources; more to
> > come later.

Sorry, I'm not fluent in git. Which command to use to check out your
branch tschwinge/t/hurd/go? Cannot find it at
http://git.savannah.gnu.org/cgit/hurd/glibc.git/



Re: Hurd port for GCC Go (was: [PATCH] gccgo patch 0-2 (9))

2013-06-12 Thread Svante Signell
Hi Thomas,

On Tue, 2013-06-11 at 10:31 +0200, Thomas Schwinge wrote:
> Hi!
> 
> On Fri, 07 Jun 2013 11:14:31 +0200, Svante Signell  
> wrote:
> > Attached are patches to enable gccgo to build properly on Debian
> > GNU/Hurd on gcc-4.7 (4.7.3-4).
> 
> Thanks!  I've begun integrating them into my GCC tree (based on upstream
> GCC trunk, so some changes to be done to your patches), and get it in a
> state for Fotis to base his GSoC work on.

Where to find your GCC tree? Also I had problems to tracing this commit:
<http://git.savannah.gnu.org/cgit/hurd/glibc.git/commit/?h=t/context_functions&id=018259d791f1ced4b2ced88c393cc74de15006ed>.
I did not find anything related to context_functions at
http://git.savannah.gnu.org/cgit/hurd/glibc.git/

Furthermore, for testing purposes, is it straight-forward to add the new
functions getcontext/setcontext/makecontext*/movecontext to the debian
sources, e.g. 2.13-39+hurd.3 or 2.17-6 (when that is released?). Where
should these be placed in the tree: hurd/, sysdeps/mach/hurd/,
elsewhere? And how to avoid the stubs at stdlib/ being compiled in?



Re: Inquiry about GCC Summer Of Code project idea.

2013-05-03 Thread Svante Signell
Hi Fotis,

I finally found my changes made so far for gccgo on a computer suffering
double hard disk crashes. Hopefully most of the changes are available on
the backup I found. As it looks they were not too extensive. I'll send a
patch asap to the bug-hurd list, so you can continue from there (when
you are accepted by Google/GNU)

Good luck,
Svante Signell 

On Fri, 2013-05-03 at 21:23 +0300, Fotis Koutoulakis wrote:
> Hello!
> 
> 
> First of all I would like to thank you everyone for your input. I
> really appreciate it.
> 
> 
> I would also like you to know that I managed to study the material
> that you all have linked to (or that is generally available online on
> the project's wikis of that matter) and I managed to come up with a
> proposal for the project idea that got me hooked in the beginning.
> 
> 
> A link to it can be found
> here: 
> https://google-melange.appspot.com/gsoc/proposal/review/google/gsoc2013/nlightnfotis/1
>  (I hope it is publicly visible, it seems to me it is).
> 
> 
> Of course, I am more than open to comments/criticism as well as
> clarifications.
> 
> 
> Last but not least, I would like to thank you all for your time, as
> well as grab the chance to apologize for my late proposal and my late
> answer.
> 
> 
> Sincerely,
> Fotis Koutoulakis
> 
> 
> On Tue, Apr 30, 2013 at 4:58 PM, Ian Lance Taylor 
> wrote:
> On Tue, Apr 30, 2013 at 6:53 AM, Thomas Schwinge
>  wrote:
> >
> > On <http://darnassus.sceen.net/~hurd-web/open_issues/gccgo/>
> I have just
> > updated/posted a
> getcontext/makecontext/setcontext/swapcontext usage
> > analysis.  This might constitute a "road block": the Hurd
> currently does
> > not allow for changing the stack of a process/thread.
>  Implemented a
> > while before TLS/__thread variables came along, we have a
> legacy
> > threadvar mechanism implemented in glibc, which places
> thread-local
> > variables (errno, for example) at the bottom of a thread's
> stack.  Then,
> > when switching the stack of a thread, glibc can't locate
> these anymore,
> > and "bad things" happen.  This threadvar mechanism is
> scheduled to go
> > away (we do implement TLS by now), but when working on that
> I hit "some
> > issues" and have not yet found the time to continue.
> >
> 
> <http://darnassus.sceen.net/~hurd-web/open_issues/glibc/t/tls-threadvar/>
> > and
> > <http://news.gmane.org/find-root.php?message_id=%
> 3c878vdyqht3%2Efsf%40kepler%2Eschwinge%2Ehomeip%2Enet%3e>
> > have the details.
> >
> > Now, it seems the GCC Go port is implemented in a way that
> makes
> > extensive use of switching stacks.  So until this threadvar
> issue is
> > resolved, there is probably no way to really proceed with
> the GCC Go port
> > for GNU Hurd -- unless maybe this stack switching could be
> hacked around
> > (Ian?), say, by limiting oneself to not using Goroutines and
> similar
> > "specials", and having a custom/minimal Go runtime startup.
> 
> 
> Go does require switching stacks.  A port of Go that doesn't
> support
> goroutines would be useless--nothing in the standard library
> would
> work.  It might be possible to use pthread_getspecific and
> friends
> instead of TLS.
> 
> Ian
> 
> 
> 
> 
> -- 
> Fotis 'NlightNFotis' Koutoulakis
> 
> 
> - "Non semper aestas erit; venit hiems."
>