Re: dpkg 18.104.22.168.1 bug
Anders Hammarquist (email@example.com) wrote on 26 May 1998 00:50:
>The x86 libc knows nothing of the lchown() call (though it appears the
>manpage does). This is actually part of the problem, since the day that
>the x86 libc realizes that there is a lchown() call things will break on
>x86 as the do on the alpha today (since then it will call chown() for
>chown() and lchown() for lchown(). The change of syscall numbers was
>just a quick fix so that all you applications that expected chown() not
>to follow symlinks wouldn't need immediate fixing).
>>I don't understand the syscall number issue. Does this mean that a
>>program that calls chown will in fact run lchown? This cannot be the
>>case, otherwise the new chown will be unavailable...
>Yes, that is exatly what it means. On x86, lchown() has syscall number 16,
>chown() is now number 182 (it used to be 16). On the alpha, chown()
>is 16 and lchown() is 208. (Incidentally, the 16 for chown() seems
>rather universal, Solaris and SunOS use it for chown() as well). The
>way it works is that when an application wants to do a chown() it
>tells the kernel "I want to do function number 16 with these
>parameters". The kernel then executes function number 16 (neither
>really know what function number 16 is). And yes, the new chown() is
>unavailable on x86 (until someone recompiles libc so that it knows
>about the new chown() and lchown() - and then stuff will start
>breaking on x86 just the same way as it does on the alpha today).
Oh no :-( So there really is a big mess... dpkg is broken, and libc
for x86 is also broken... Argh :-(
>I'll write something up for linux-kernel and see if it generates any
This isn't a kernel problem! It's a consequence of the political
decision of implementing the new unix specification. Which is quite
right, since it's a development branch.
James Troup (J.J.Troup@scm.brad.ac.uk) wrote on 25 May 1998 15:55:
>I'm still convinced that the alpha kernel is wrong for not doing what
>the i386 & m68k kernels are doing.
For me the issue is clear now: there's a dpkg bug, it should call
lchown for recent kernels, and there's a libc bug on x86.
I'll forward this to the bug-tracking system under bug#22748.
Thanks for the inputs,
PS: life with the alpha is REAL hard...
To UNSUBSCRIBE, email to firstname.lastname@example.org
with a subject of "unsubscribe". Trouble? Contact email@example.com