No extra libc header build step is done, so no extra toolchain is needed
for preparing it.
This saves a significant amount of build time and disk space
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Even though ARC tools were released as arc-2016.03
we have a little bit different version name for GDB.
That's because both Binutils and GDB come from the same
git repo but from different branches (and so different tags).
Also removing an extra patch that made its way into release.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
This change switches ARC tools to the most recent arc-2016.03
version.
ARC GNU tools of version arc-2016.03 bring some quite significant
changes like:
* Binutils v2.26+ (upstream commit id 202ac19 with additional ARC
* patches)
* GCC v4.8.5
* GDB 7.10
More about changes, improvements and fixes could be found here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
This is required to build net-snmp.
If that options is disabled in uClibc then net-snmp doesn't
detect sighold support on its configuration stage and so
defines HAVE_SIGHOLD as 0. That in its turn causes compilation of
the following branch of timerPause() in apps/snmpnetstat:
------------------>8----------------
int oldmask;
oldmask = sigblock(sigmask(SIGALRM));
if (!signalled) {
sigpause(0);
}
sigsetmask(oldmask);
------------------>8----------------
Now in uClibc all 3 sigblock(), sigmask() and sigsetmask()
were removed back in 2005, see:
https://git.busybox.net/uClibc/commit/?id=5aa7aa7fa7ec2a0fe567ac0b2595b46add6f3594
And all that causes net-snmp linkage to fail this way:
------------------>8----------------
.libs/if.o: In function `intpr':
if.c:(.text+0x908): undefined reference to `sigmask'
if.c:(.text+0x90e): undefined reference to `sigblock'
if.c:(.text+0x924): undefined reference to `sigsetmask'
------------------>8----------------
If we enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL in uClibc then
branch with sighold is used in timerPause() and everything builds as
expected.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 49178
This change adds support of ARC ISAv2 processors in
OpenWRT toolchain.
In general gcc for ARC may compile code for both ISA versions
simultaneously but libgcc will be built only for default
architecture that's why it's necessary to specify --with-cpu
on gcc configuration.
As for uClibc we need to use different configurations for
different ARC ISAs.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Jo-Philipp Wich <jow@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 48739
Refresh patches and rework Makefile to fetch glibc from release branches
instead of relying on tarballs.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 48735
mips returns -ENOSYS in case it can not handle the vdso call and wants
the libc to call the original syscall in such a case. This fixes the
patch to add such handling. I hope this fixes the random reboots I got.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 48501
GCC and Clang are able to check the format arguments given to a
function and warn the user if there is a error in the format arguments
or if there is a potential uncontrolled format string security problem
in the code. GCC does this automatically for some functions like
printf(), but it is also possible to annotate other functions in a way
that it will check them too. This feature is used by glibc for many
functions. This patch adds the attribute to the some functions of musl
expect for these functions where gcc automatically adds it.
GCC automatically adds checks for these functions: printf, fprintf,
sprintf, scanf, fscanf, sscanf, strftime, vprintf, vfprintf and
vsprintf.
The documentation from gcc is here:
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
The documentation from Clang is here:
http://clang.llvm.org/docs/AttributeReference.html#format-gnu-format
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 48467
vdso support is available on mips starting with kernel 4.4, see kernel
commit a7f4df4e21 "MIPS: VDSO: Add implementations of gettimeofday()
and clock_gettime()" for details.
These are my micro benchmark results for 1.000.000 calls to
clock_gettime(CLOCK_MONOTONIC, &tp)
without vdso:
root@OpenWrt:/# time ./vdso-test
real 0m 0.95s
user 0m 0.24s
sys 0m 0.70s
with vdso:
root@OpenWrt:/# time /usr/bin/vdso-test
real 0m 0.35s
user 0m 0.34s
sys 0m 0.00s
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 48466
This will make adding future glibc versions easier because the
conditionals won't have to be modified again.
Signed-off-by: Michael Marley <michael@michaelmarley.com>
SVN-Revision: 48399
Fixes: commit f17e56eff5b9 ("gcc: remove version 4.6, it is no longer needed")
CC: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
SVN-Revision: 47965
With bump of upstream GDB from 7.9 to 7.10 at least
100-no_extern_inline.patch became incompatible with
ARC gdb (which is still based on upstream 7.9 branch).
So until ARC support is not completely upstreamed
(which we expect to happen in coming months) we'll need to have
separate patches for ARC gdb.
This time clean build-tested for Netgear WNDRMAC & AXS101.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: John Crispin <blogic@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 47491
Current musl reports the peer (remote) address of a point-to-point
interface and does not store the local address at all.
Apply the same special treatment of IFA_LOCAL to musl's getifaddrs() which
is also used in glibc and uclibc.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47488