David Collier-Brown
2008-Oct-01 14:53 UTC
[zfs-discuss] Sidebar re ABI stability (was Segmentation fault / core dump)
Joerg.Schilling at fokus.fraunhofer.de wrote> Linux does not implement stable kernel interfaces. It may be that there is > an intention to do so but I''ve seen problems on Linux resulting from > self-incompatibility on a regular base.To be precise, Linus tries hard to prevent ABI changes in the system call interfaces exported from the kernel, but the glibc team had defeated him in the past. For example, they accidentally started returning ENOTSUP from getgid when one had a library version mis- match (!). Sun stabilizes both library and system call interfaces: I used to work on that with David J. Brown''s team, back when I was an employee. --dave (who''s a contractor) c-b -- David Collier-Brown | Always do right. This will gratify Sun Microsystems, Toronto | some people and astonish the rest davecb at sun.com | -- Mark Twain cell: (647) 833-9377, bridge: (877) 385-4099 code: 506 9191#
Casper.Dik at sun.com
2008-Oct-01 15:49 UTC
[zfs-discuss] Sidebar re ABI stability (was Segmentation fault / core dump)
>Joerg.Schilling at fokus.fraunhofer.de wrote >> Linux does not implement stable kernel interfaces. It may be that there is >> an intention to do so but I''ve seen problems on Linux resulting from >> self-incompatibility on a regular base. > >To be precise, Linus tries hard to prevent ABI changes in the system >call interfaces exported from the kernel, but the glibc team had >defeated him in the past. For example, they accidentally started >returning ENOTSUP from getgid when one had a library version mis- >match (!). > >Sun stabilizes both library and system call interfaces: I used to >work on that with David J. Brown''s team, back when I was an >employee.We don''t stabilize the layer between libc and the kernel; e..g, look at the changes in the thread libraries in Solaris (between 9 and 10, for one). Of course, the "system call interface" will look the same, but only in the C library entry points defined, not how they are implemented in the library and the calls between libc and the kernel. Casper
Joerg Schilling
2008-Oct-01 17:31 UTC
[zfs-discuss] Sidebar re ABI stability (was Segmentation fault / core dump)
Casper.Dik at sun.com wrote:> > >Joerg.Schilling at fokus.fraunhofer.de wrote > >> Linux does not implement stable kernel interfaces. It may be that there is > >> an intention to do so but I''ve seen problems on Linux resulting from > >> self-incompatibility on a regular base. > > > >To be precise, Linus tries hard to prevent ABI changes in the system > >call interfaces exported from the kernel, but the glibc team had > >defeated him in the past. For example, they accidentally started > >returning ENOTSUP from getgid when one had a library version mis- > >match (!).Even this is not true except if you claim that the Linux kernel people do not understand what''s all part of the Linux kernel ABI. The Linux Kernal ABI for sending generic SCSI commands has been intentionally broken several times. For me it was hard to implement a libscg layer that is still able to abstract from the resulting problems.> >Sun stabilizes both library and system call interfaces: I used to > >work on that with David J. Brown''s team, back when I was an > >employee. > > We don''t stabilize the layer between libc and the kernel; e..g, look > at the changes in the thread libraries in Solaris (between 9 and 10, > for one). > > Of course, the "system call interface" will look the same, but only in the > C library entry points defined, not how they are implemented in the > library and the calls between libc and the kernel.There are kernel interfaces that are visible by the library interfaces on top of the kernel. There are other kernel interfaces that are not even visible by the library layer. The Solaris kerel needs to provide a stable ABI for these "invisible" interfaces. J?rg -- EMail:joerg at schily.isdn.cs.tu-berlin.de (home) J?rg Schilling D-13353 Berlin js at cs.tu-berlin.de (uni) schilling at fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily