[sane-devel] DLL backend doesn't work on 680x0 machines

Dave Huang khym@azeotrope.org
Sat, 12 Apr 2003 06:14:03 -0500

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 :)