On Sat, Apr 12, 2003 at 12:42:11PM +0200, Henning Meier-Geinitz wrote: > Is this 68k-specific? I'm surprised that nobody else has reported this > problem.
I think any platform that has a different method of returning pointers and integers would have the problem... I don't know of any besides 68k though. Of the CPUs I know of, only 68k makes a distinction between registers that contain pointers (A0-A7, the address registers) and ones that contain integers (D0-D7, the data registers). > Oh, a.out. That was before I started using Unix. I didn't know that > NetBSD used it. What about the other BSDs? NetBSD switched from a.out to ELF, and the problem showed up after the switch. I suspect the various 68k ports of Linux would have the problem too. Of the other BSDs, only OpenBSD runs on the 68k. I don't know whether they use a.out or ELF though--probably still a.out. > It works (at least on Linux/i386). But I'm getting a warning for all > the lines you changed: > > dll.c: In function init': > dll.c:484: warning: function declaration isn't a prototype > > Is the warning ok or should I just ignore it? Any way to shut gcc up? Hmm, I didn't get any warning with gcc 2.95.3 on either m68k or alpha. Which version of gcc are you using? I never was very good with declaring pointers to functions; it's possible that I have some misplaced parentheses or something. I'll try it on another machine that has gcc 3.1 and see if I can figure out what's wrong. Thanks :)