[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] osbind.S ?



> Is the file mintlib/osbind.S still in use ?
> http://sparemint.atariforge.net/cgi-bin/cvsweb/mintlib/mintlib/osbind.S?rev=1.1.1.1&content-type=text/x-cvsweb-markup
>
> In the function _trap_1_wwww, the registers saved/restored by movem
> mismatch...

I had a closer look at that trap stuff.

Currently, all the trap bindings are self-contained in include/mint/osbind.h and similar files like mintbind.h, falcon.h, linea.h and metados.h.

The file mintlib/osbind.S exports functions like trap_1_wl(), which are never used by the MiNTLib because macros with the same names exists in osbind.h. These macros with unusual names are only used by osbind.h itself for providing function-like macros for OS functions like Cconout(), etc. I can hardly believe that some user programs can undefine the macros and call the trap_* functions directly.


I have similar interrogations about the "syscall" folder. I see in the changelog that it has been added by Frank in 2002 for generating a third set of trap bindings, through a header named include/mint/sysbind.h. However, this file is neither generated, neither used, although the generator is built along with the MiNTLib. Moreover, the generator is obsolete, for example it is not aware about __CLOBBER_RETURN macro.


These 2 items (osbind.S and syscalls) are quite confusing because they are built with the MiNTLib, but obsolete and not used. It is annoying for making evolutions to the MiNTLib, we don't know if these parts need patching or not.

So I propose to remove osbind.S and syscalls from the MiNTLib. That code will not be lost, because it will remain present in old MiNTLib releases and in the CVS history.

Any comments will be very appreciated.

--
Vincent Rivière