Re: Questions about trampolines

2005-03-14 Thread Robert Dewar
Russell Shaw wrote: = How is a pointer to a nested function any different to a pointer to an un-nested function? Why need trampolines? Because you need the static link, do some research on the use of static links if you don't understand that.

Re: Questions about trampolines

2005-03-14 Thread Robert Dewar
Michael N. Moran wrote: Robert Dewar wrote: Michael N. Moran wrote: The AVR is a bit more extreme than the Harvard arch you're describing. The AVR has completely separate address spaces for instructions and data. Instruction data space cannot be accessed through a data space pointer. There are sepa

Re: `make uninstall' and GCC

2005-03-14 Thread Ben Elliston
Sam Lauber wrote: The gccinstall info says that `make uninstall' would open a can of worms. I don't get it. Why? I suspect because it's tested so infrequently and may not remove the complete set of files (or files belonging to other packages installed under the same prefix). Most people would b

Re: documentation on writing testcases?

2005-03-14 Thread Ben Elliston
There is decent documentation of the dg-* directives in comments at the top of $prefix/share/dejagnu/dg.exp, where $prefix refers to your dejagnu installation. I do agree with Joseph that this ought to be in the dejagnu manual. The DejaGnu manual needs a lot of work (which I intend to tackle in er

Re: Merging calls to `abort'

2005-03-14 Thread Daniel Jacobowitz
On Mon, Mar 14, 2005 at 04:49:41PM -0800, Eric Christopher wrote: > > > > Now, I wouldn't object to hacking GCC to avoid cross-jumping calls to > > > abort. It's just that I don't think that the common GNU use of abort > > > serves the users. > > Agreed. And as someone suggested, rather than tre

Re: Questions about trampolines

2005-03-14 Thread Joe Buck
On Tue, Mar 15, 2005 at 12:20:16PM +1100, Russell Shaw wrote: > How is a pointer to a nested function any different to a pointer to > an un-nested function? Why need trampolines? Because you have to pass the context of that nested function somehow, so that it can access variables in the outer func

Re: Questions about trampolines

2005-03-14 Thread Russell Shaw
E. Weddington wrote: Michael N. Moran wrote: Robert Dewar wrote: But there must be a way to write stuff into the instruction data space, or how would you load code? So you just have to setup an auxiliary stack in code space. The AVR is an embedded processor, and the instruction space is is Flash *

Re: Merging calls to `abort'

2005-03-14 Thread Eric Christopher
> > Now, I wouldn't object to hacking GCC to avoid cross-jumping calls to > > abort. It's just that I don't think that the common GNU use of abort > > serves the users. > Agreed. And as someone suggested, rather than treating abort > specially within GCC, I think we'd be better off with a functi

Re: Merging calls to `abort'

2005-03-14 Thread Jeffrey A Law
On Mon, 2005-03-14 at 16:17 -0800, Joe Buck wrote: > On Mon, Mar 14, 2005 at 06:44:16PM -0500, Richard Stallman wrote: > > After some 20 years of developing popular free software, I have > > somewhat of an idea what users are likely to do. > > Many of us have developed software for a similar perio

Re: Merging calls to `abort'

2005-03-14 Thread Mark Mitchell
Joe Buck wrote: But it seems to me that the practice of using abort() as it is now used in many GNU programs is a holdover from 20 years ago when the engineering tradeoffs were different. We can afford to tell the user more. In addition, crossjumping calls to abort does more than just save space;

Re: Merging calls to `abort'

2005-03-14 Thread Joe Buck
On Mon, Mar 14, 2005 at 06:44:16PM -0500, Richard Stallman wrote: > After some 20 years of developing popular free software, I have > somewhat of an idea what users are likely to do. Many of us have developed software for a similar period of time, and yet feel differently. > I don't use > fancy_a

Re: Merging calls to `abort'

2005-03-14 Thread Joe Buck
On Mon, Mar 14, 2005 at 06:44:09PM -0500, Richard Stallman wrote: > 'abort: core dumped' is not a good user experience. If code is being > shipped with naked aborts in it, that is where the problem lies. > > You're entitled to your opinion, but such a conclusion requires much > stronger b

Re: Merging calls to `abort'

2005-03-14 Thread Richard Stallman
Most people don't do debugging. For some reason you appear to think that every free software user is also a free software debuggers. After some 20 years of developing popular free software, I have somewhat of an idea what users are likely to do. I don't use fancy_abort functions because

Re: Merging calls to `abort'

2005-03-14 Thread Richard Stallman
The __FILE__ strings will be combined, so you get a most one of it for each object file. You're right about that. So the increase in size due to fancy_abort will be somewhat less than I previously said. However, it will still be an increase in size, compared with using abort and not cros

Re: Merging calls to `abort'

2005-03-14 Thread Richard Stallman
'abort: core dumped' is not a good user experience. If code is being shipped with naked aborts in it, that is where the problem lies. You're entitled to your opinion, but such a conclusion requires much stronger basis than this. If cross jumping makes debugging harder, tough --

Re: Questions about trampolines

2005-03-14 Thread Waldek Hebisch
Robert Dewar wrote: > Waldek Hebisch wrote: > > > But there is no need to generate trampolines on the stack. Namely, > > one can generate code in a separate area. In C this causes problems > > with garbage collection, which IMHO can be solved, but requre alloca-like > > tricks. On the other hand

Re: Questions about trampolines

2005-03-14 Thread E. Weddington
Michael N. Moran wrote: Robert Dewar wrote: But there must be a way to write stuff into the instruction data space, or how would you load code? So you just have to setup an auxiliary stack in code space. The AVR is an embedded processor, and the instruction space is is Flash *not* RAM. We're not t

Re: Questions about trampolines

2005-03-14 Thread Michael N. Moran
Robert Dewar wrote: Michael N. Moran wrote: The AVR is a bit more extreme than the Harvard arch you're describing. The AVR has completely separate address spaces for instructions and data. Instruction data space cannot be accessed through a data space pointer. There are separate instructions for ac

Re: Questions about trampolines

2005-03-14 Thread Alexander Strange
On Mar 14, 2005, at 8:11 AM, Marc Espie wrote: In article <[EMAIL PROTECTED]> you write: Well as I said above, trampolines or an equivalent are currently critically needed by some front ends (and of course by anyone using the (very useful IMO) extension of nested functions in C). This is your opi

Re: Questions about trampolines

2005-03-14 Thread Robert Dewar
Waldek Hebisch wrote: But there is no need to generate trampolines on the stack. Namely, one can generate code in a separate area. In C this causes problems with garbage collection, which IMHO can be solved, but requre alloca-like tricks. On the other hand trampolines in separate area may provide

Re: Merging calls to `abort'

2005-03-14 Thread Dale Johannesen
On Mar 14, 2005, at 10:30 AM, Joe Buck wrote: Steven Bosscher <[EMAIL PROTECTED]> wrote: system.h:#define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__) I agree that this is the best technical solution, even if cross-jumping were not an issue. This invokes undefined behavior in a pro

Re: Questions about trampolines

2005-03-14 Thread Waldek Hebisch
Oyvind Harboe wrote: > Trampolines are strange things... :-) > - Lately e.g. the AMD CPU has added support for making it impossible > to execute code on the stack. The town isn't big enough for > both stack based trampolines and stack code execution protection. > What happens now? > - Do (th

Re: Merging calls to `abort'

2005-03-14 Thread Richard Kenner
Distributions would have to triple the number of CDs shipped. Most users don't know how to run a debugger. This means that there is no debug information available until a developer tries to duplicate the problem report. With or without cross-jumping, when the developer gets a

Re: Merging calls to `abort'

2005-03-14 Thread Joe Buck
Steven Bosscher <[EMAIL PROTECTED]> wrote: system.h:#define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__) I agree that this is the best technical solution, even if cross-jumping were not an issue. Also: On Monday 14 March 2005 04:00, Richard Stallman wrote: > > But you recommend a

Re: Questions about trampolines

2005-03-14 Thread Mike Stump
On Mar 14, 2005, at 6:14 AM, Marc Espie wrote: After enabling that patch, we recompiled the whole system, all of X, and the 3000 packages of third party sources. -ftrampolines was needed exactly 0 times. We'll need it at least once that we know about for darwin. I don't expect an impact from th

Re: Questions about trampolines

2005-03-14 Thread Robert Dewar
E. Weddington wrote: Basically, trampolines don't work for the AVR because it is a Harvard Architecture device. Nearly all the processors on which trampolines are implemented are Harvard architecture, it's really standard these days. That means that cache flushing is a standard part of implementat

Re: Non-bootstrap build status reports

2005-03-14 Thread Janis Johnson
On Sat, Mar 12, 2005 at 11:55:03PM -0600, Aaron W. LaFramboise wrote: > Is there a reason why non-bootstrap build status reports are not > archived? For example, for the many targets that are only used in cross > configurations, it would be nice to see if they are working. First off, let me apolo

Re: Feature request: Globalize symbol

2005-03-14 Thread Hans-Peter Nilsson
> From: James E Wilson <[EMAIL PROTECTED]> > Date: Fri, 11 Mar 2005 17:52:03 -0800 > On Fri, 2005-03-11 at 08:12, Hans-Peter Nilsson wrote: > > I don't really understand what you mean: if a thing is called > > "foo" in the source, then -fglobalize-symbol=foo would work. > > My main concern is tha

Re: Questions about trampolines

2005-03-14 Thread E. Weddington
Robert Dewar wrote: Øyvind Harboe wrote: - Many backends do not support trampolines. Are trampolines something that is ultimately being added to the backends? We have not encountered any targets not supporting nested functions in porting Ada to many different targets. It's interesting that this

Re: __builtin_cpow((0,0),(0,0))

2005-03-14 Thread David Carlton
On Sat, 12 Mar 2005 03:02:20 +0100, Gabriel Dos Reis <[EMAIL PROTECTED]> said: > David Carlton <[EMAIL PROTECTED]> writes: >> On Thu, 10 Mar 2005 15:54:03 +0100, Gabriel Dos Reis <[EMAIL PROTECTED]> >> said: >>> Vincent Lefevre <[EMAIL PROTECTED]> writes: On 2005-03-10 01:01:18 +0100, Gabriel

Re: Questions about trampolines

2005-03-14 Thread Robert Dewar
H. J. Lu wrote: If we want to remove nested functions from glibc and keep code reuse, I can try to provide a patch. Just make sure that there are no instances of pointers to these functions being taken. As long as there are no trampolines, there seems to be no good argument for messing with the cod

Re: Questions about trampolines

2005-03-14 Thread Gabriel Dos Reis
Robert Dewar <[EMAIL PROTECTED]> writes: | Marc Espie wrote: | > In article <[EMAIL PROTECTED]> you write: | > | >>Well as I said above, trampolines or an equivalent are currently critically | >>needed by some front ends (and of course by anyone using the (very useful IMO) | >>extension of nested

Re: Dear adventurers of math! (was Re: __builtin_cpow((0,0),(0,0)))

2005-03-14 Thread Gabriel Dos Reis
Daniel Berlin <[EMAIL PROTECTED]> writes: | On Sun, 2005-03-13 at 15:26 +0100, Gabriel Dos Reis wrote: | > Vincent Lefevre <[EMAIL PROTECTED]> writes: | > | > | On 2005-03-12 02:59:46 +0100, Gabriel Dos Reis wrote: | > | > You probably noticed that in the polynomial expansion, you are using | > |

Re: Questions about trampolines

2005-03-14 Thread H. J. Lu
On Mon, Mar 14, 2005 at 02:57:36PM +0100, Andreas Schwab wrote: > Marc Espie <[EMAIL PROTECTED]> writes: > > > On Mon, Mar 14, 2005 at 01:25:34PM +, Joseph S. Myers wrote: > >> On Mon, 14 Mar 2005, Robert Dewar wrote: > >> > >> > I have certainly seen it used, but you may well be right that i

`make uninstall' and GCC

2005-03-14 Thread Sam Lauber
The gccinstall info says that `make uninstall' would open a can of worms. I don't get it. Why? Samuel Lauber -- _ Web-based SMS services available at http://www.operamail.com. From your mailbox to local or overseas cell phones. Powere

[gnu.org #222786] GCC Testsuite Tests Exclude List Contribution to FSF

2005-03-14 Thread Ted Teah via RT
Hello, I assume you want to use individual assignments, is that correct? I have attached the employer disclaimer. In addition, I have attached a questionnaire. This questionnaire includes instructions for its completion. Upon receipt of the questionnaire, the FSF will review the answers, and if

Re: Questions about trampolines

2005-03-14 Thread Robert Dewar
Marc Espie wrote: I don't want to dive into the glibc mess, thanks god, but if the dynamic linker is implemented like dynamic linkers I know, it means any binary using a dynamic linker that uses trampolines will lose any kind of stack protection on some badly designed architectures, like say, i386.

Re: Questions about trampolines

2005-03-14 Thread Marc Espie
The thing I did for OpenBSD 3.7 is patch the gcc-3.3.x we use: - On OpenBSD, by default, trampoline code generation is disabled in gcc 3.3.5. Code requiring trampolines will not compile without -ftrampolines. The warning flag -Wtrampolines can be used to locate

Re: Merging calls to `abort'

2005-03-14 Thread Nathan Sidwell
Richard Stallman wrote: Otherwise, we need to consider the merits of disabling an optimization to make debugging easier. Optimizing calls to `abort' doesn't offer much benefit, so I think in this particular case it is worth disabling cross-jumping. This is a difficult choice to make

Re: Questions about trampolines

2005-03-14 Thread Andreas Schwab
Marc Espie <[EMAIL PROTECTED]> writes: > On Mon, Mar 14, 2005 at 01:25:34PM +, Joseph S. Myers wrote: >> On Mon, 14 Mar 2005, Robert Dewar wrote: >> >> > I have certainly seen it used, but you may well be right that it is >> > seldom used. It is certainly reasonable to consider removing this

Re: Questions about trampolines

2005-03-14 Thread Clifford Wolf
Hi, On Mon, Mar 14, 2005 at 02:11:51PM +0100, Marc Espie wrote: > In article <[EMAIL PROTECTED]> you write: > >Well as I said above, trampolines or an equivalent are currently critically > >needed by some front ends (and of course by anyone using the (very useful > >IMO) > >extension of nested fu

Re: Questions about trampolines

2005-03-14 Thread Marc Espie
On Mon, Mar 14, 2005 at 01:25:34PM +, Joseph S. Myers wrote: > On Mon, 14 Mar 2005, Robert Dewar wrote: > > > I have certainly seen it used, but you may well be right that it is > > seldom used. It is certainly reasonable to consider removing this > > extension from C and C++. Anyone using tha

Re: Questions about trampolines

2005-03-14 Thread Robert Dewar
Joseph S. Myers wrote: Nested functions are used in the glibc dynamic linker. I'm not sure why, and they may be inline nested functions whose addresses are never taken. The extension is not present in GNU C++, only in GNU C. Note that we do not need to discuss removing nested functions from C, o

Re: Questions about trampolines

2005-03-14 Thread Robert Dewar
Giovanni Bajo wrote: Last time this was discussed on gcc@, there was an agreement that since we have to support trampolines for Ada & co., Right, but as per my last message, it is not true that we have to support trampolines for Ada. Indeed trampolines are a pretty horrible implementation mnechanis

Re: Questions about trampolines

2005-03-14 Thread Andreas Schwab
[EMAIL PROTECTED] (Marc Espie) writes: > In article <[EMAIL PROTECTED]> you write: >>Well as I said above, trampolines or an equivalent are currently critically >>needed by some front ends (and of course by anyone using the (very useful IMO) >>extension of nested functions in C). > > This is your

Re: Questions about trampolines

2005-03-14 Thread Joseph S. Myers
On Mon, 14 Mar 2005, Robert Dewar wrote: > I have certainly seen it used, but you may well be right that it is > seldom used. It is certainly reasonable to consider removing this > extension from C and C++. Anyone using that feature? Or know anyone > who is. Nested functions are used in the glibc

Re: Questions about trampolines

2005-03-14 Thread Giovanni Bajo
Robert Dewar <[EMAIL PROTECTED]> wrote: >>> Well as I said above, trampolines or an equivalent are currently critically >>> needed by some front ends (and of course by anyone using the (very useful >>> IMO) extension of nested functions in C). >> >> This is your opinion, but I've yet to find an ac

Re: Questions about trampolines

2005-03-14 Thread Robert Dewar
Marc Espie wrote: In article <[EMAIL PROTECTED]> you write: Well as I said above, trampolines or an equivalent are currently critically needed by some front ends (and of course by anyone using the (very useful IMO) extension of nested functions in C). This is your opinion, but I've yet to find an

Re: Questions about trampolines

2005-03-14 Thread Marc Espie
In article <[EMAIL PROTECTED]> you write: >Well as I said above, trampolines or an equivalent are currently critically >needed by some front ends (and of course by anyone using the (very useful IMO) >extension of nested functions in C). This is your opinion, but I've yet to find an actual piece of

Re: Merging calls to `abort'

2005-03-14 Thread Richard Earnshaw
On Mon, 2005-03-14 at 03:00, Richard Stallman wrote: > This is a difficult choice to make, but at > -O2, I'd prefer that we optimize, and suggest other debugging techniques > intead of relying on the line numbers of abort calls. > > The sole purpose of optimization is to satisfy us

Re: Questions about trampolines

2005-03-14 Thread Robert Dewar
Øyvind Harboe wrote: My worry is that the trampoline is only built once, but modified multiple times. How does the CRIS target know that the saved static chain register does not get overwritten by recursion? This sounds wrong to me I believe e.g. Windows XP service pack 2 has this protection enable

Re: Merging calls to `abort'

2005-03-14 Thread Steven Bosscher
On Monday 14 March 2005 04:00, Richard Stallman wrote: > Steven Bosscher <[EMAIL PROTECTED]> wrote: > > system.h:#define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__) > > where fancy_abort is a, well, fancy abort that prints some more > information about what happened, and wher

Re: Questions about trampolines

2005-03-14 Thread Clifford Wolf
On Mon, Mar 14, 2005 at 08:34:32AM +0100, ?yvind Harboe wrote: > > > - Lately e.g. the AMD CPU has added support for making it impossible > > > to execute code on the stack. The town isn't big enough for > > > both stack based trampolines and stack code execution protection. > > > What happe

Re: Merging calls to `abort'

2005-03-14 Thread Andreas Schwab
Richard Stallman <[EMAIL PROTECTED]> writes: > Steven Bosscher <[EMAIL PROTECTED]> wrote: > > system.h:#define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__) > > where fancy_abort is a, well, fancy abort that prints some more > information about what happened, and where. IMVHO

Re: Questions about trampolines

2005-03-14 Thread Eric Botcazou
> Zack says in his post that the Ada and Pascal nested functions do not > use trampolines. > > http://gcc.gnu.org/ml/gcc/2005-03/msg00642.html You misread. Pointers to nested functions always require trampolines. > The main advantage I see of having nested functions & trampolines in C > is that