[Letux-kernel] Fwd: MIPS: bug: gettimeofday syscall broken on CI20 board?
Paul Boddie
paul at boddie.org.uk
Tue Nov 12 12:37:12 CET 2019
On Monday 11. November 2019 16.52.25 H. Nikolaus Schaller wrote:
> Hi Paul,
> looks as if there is nobody active on linux-mips or the mipscreator list...
I did chat with Ralf Baechle a while back on IRC, but I think he is a very
busy person.
> Do you see a similar effect on your CI20?
>
> Or do you have an idea how to track it down?
I haven't tried a recent kernel on the CI20 in the last few weeks because I've
been using it as my main working machine. There may be some complicating
issues with the CI20 that might affect things like DHCP, though: there is some
odd behaviour with MAC identifiers where it assigns a new one every time it
boots. This is documented on the eLinux wiki:
https://www.elinux.org/CI20_upstream#Ethernet_MAC_Address
[...]
> > I have done some strace and the first significant difference
> > is that with v5.4-rc6 there is no gettimeofday syscall.
> >
> > Another symptom pointing in the same direction is that
> > after manually assigning an IP address I can run ping
> > but get strange time values.
> >
> > So it may be that
> >
> > 24640f233b46 mips: Add support for generic vDSO
> >
> > did break gettimeofday when used with latest Debian Stretch
> > libraries. I tried to git revert but there are conflicts.
> >
> > Just a side-note: both kernels work with Debian Jessie,
> > which likely has an older gettimeofday wrapper that
> > is not influenced by some subtle change.
I can imagine that some system call and C library incompatibility might have
arisen. For various other reasons, I have been looking at things like these,
and I did stray into vDSO territory having seen the term mentioned a few
times. Unless I am mistaken, it is a way of accessing kernel functionality
from user space and can be used to implement some system calls as normal
functions accessing kernel resources:
https://en.wikipedia.org/wiki/VDSO
https://web.archive.org/web/20190927141756/https://www.linuxjournal.com/content/creating-vdso-colonels-other-chicken
Interestingly, the second article above talks about gettimeofday as being a
candidate for this technology. So it is possible that the later kernel no
longer has gettimeofday as a system call, but the C library still expects one.
Paul
More information about the Letux-kernel
mailing list