From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [autobuild.buildroot.net] Build results for 2014-11-19
Date: Fri, 21 Nov 2014 09:20:47 +0100 [thread overview]
Message-ID: <20141121092047.2970fd83@free-electrons.com> (raw)
In-Reply-To: <1416513506.25116.9.camel@abrodkin-8560l.internal.synopsys.com>
Dear Alexey Brodkin,
On Thu, 20 Nov 2014 19:58:26 +0000, Alexey Brodkin wrote:
> > device-linux.o: In function `check_ip6_forwarding':
> > /home/test/autobuild/instance-1/output/build/radvd-2.8/device-linux.c:189: undefined reference to `sysctl'
> >
> > Alexey, can you have a look at this one?
>
> This happens because for ARC in Linux kernel we don't have
> __ARCH_WANT_SYSCALL_DEPRECATED.
>
> So a number of syscalls is not enabled in
> "include/asm-generic/unistd.h".
>
> From the name of this define I would assume that we should avoid using
> those syscalls. So probably "radvd" should be updated.
>
> Any thoughts?
Ok, thanks for the analysis. Going a bit further, the issue is that
when __NR_sysctl is not defined, uClibc will not provide an
implementation of sysctl(), but it will continue to install
<sys/sysctl.h>, which provides the prototype for sysctl().
Looking at the radvd code, the call to sysctl() is actually optional,
depending on whether the configure script has found <sys/sysctl.h>. So
it breaks in our case, because <sys/sysctl.h> is there, but the
sysctl() function is not actually implemented.
So I see two possible solutions (possibly non exclusive) :
1) Fix uClibc so that it doesn't install <sys/sysctl.h> when sysctl()
is not available.
2) Fix radvd configure check so that instead of checking if
<sys/sysctl.h> is available, check if the sysctl() function is
actually present. I don't remember if AC_CHECK_FUNCS() so a
compile+link test or just a compile test. If it does just a compile
test, then it will not detect the problem. If that's the case, then
use AC_TRY_LINK() would work.
Best regards,
Thomas Petazzoni
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2014-11-21 8:20 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-20 7:30 [Buildroot] [autobuild.buildroot.net] Build results for 2014-11-19 Thomas Petazzoni
2014-11-20 8:42 ` Baruch Siach
2014-11-20 9:38 ` Peter Korsgaard
2014-11-20 8:44 ` Thomas Petazzoni
2014-11-20 9:09 ` Baruch Siach
2014-11-20 9:16 ` Thomas Petazzoni
2014-11-20 9:36 ` Peter Korsgaard
2014-11-20 10:27 ` Thomas Petazzoni
2014-11-20 10:48 ` Peter Korsgaard
2014-11-20 18:37 ` Bernd Kuhls
2014-11-20 21:41 ` Peter Korsgaard
2014-11-20 19:58 ` Alexey Brodkin
2014-11-21 8:20 ` Thomas Petazzoni [this message]
2014-11-20 20:07 ` Bernd Kuhls
2014-11-21 18:43 ` Bernd Kuhls
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141121092047.2970fd83@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.