Commit Graph

61 Commits

Author SHA1 Message Date
Hauke Mehrtens
be5fcf9fd7 musl: Add format attribute to some function declarations
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
2016-01-24 00:05:14 +00:00
Hauke Mehrtens
b5d6256ca8 musl: mips: add vdso support
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
2016-01-23 23:48:55 +00:00
Felix Fietkau
d0077103b7 musl: backport a fix that caused the wrong relocations to be emitted on some architectures
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48444
2016-01-21 19:00:51 +00:00
Felix Fietkau
54dad4c873 toolchain/musl: remove old CONFIG_MUSL_ENABLE_DEBUG option
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48387
2016-01-19 23:44:44 +00:00
Felix Fietkau
89ca7c5d0e toolchain/musl: enable debug information
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48363
2016-01-19 12:41:59 +00:00
Jo-Philipp Wich
ab11edcd4c musl: fix handling of point-to-point interfaces in getifaddrs()
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
2015-11-16 18:15:00 +00:00
John Crispin
5430c095af musl: add upstream patch for open_[w]memstream
This patch fixes corner case in open_memstrem, when stream is created,
but nothing is written.
This case is present in tgtadm, tgtd management tool.

Signed-off-by: Maxim Storchak <m.storchak@gmail.com>

SVN-Revision: 47339
2015-11-02 10:16:40 +00:00
Felix Fietkau
7ac91a91b3 musl: re-enable des crypto support, fixes pppd MPPE issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47078
2015-10-01 19:50:06 +00:00
Felix Fietkau
8f57c55993 musl: fix build on sh3
musl fails to build when compiled with gcc on sh3 (GCC target/#67260).
Work it around.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>

SVN-Revision: 47012
2015-09-21 17:40:44 +00:00
Felix Fietkau
0c2f21d303 Revert "musl: fix termios struct c_ispeed/c_ospeed field names" (accidental commit)
SVN-Revision: 46898
2015-09-13 17:39:24 +00:00
Felix Fietkau
5dd5a2990e musl: fix termios struct c_ispeed/c_ospeed field names
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46896
2015-09-13 17:38:49 +00:00
Felix Fietkau
9365745f8e musl: add a hack to remove unused crypt() algorithms, saves ~14k after lzma
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46816
2015-09-08 10:57:11 +00:00
Felix Fietkau
58ab3ad6b0 musl: update to version 1.1.11
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46772
2015-09-02 15:44:17 +00:00
Steven Barth
a6dc587cf6 musl: fix getsubopt function
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46684
2015-08-18 09:18:40 +00:00
Felix Fietkau
5537698be1 musl: update to latest git version
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46481
2015-07-24 15:35:55 +00:00
Felix Fietkau
0f81020b97 gcc: use the -sf suffix for musl ldso on powerpc
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46313
2015-07-12 18:54:30 +00:00
Felix Fietkau
172374dbdd musl: add powerpc soft-float support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46267
2015-07-08 12:06:03 +00:00
Felix Fietkau
cd5d45604f musl: call a_crash() inside __stack_chk_fail_local instead of calling __stack_chk_fail
Fixes relocation errors on PowerPC

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46266
2015-07-08 12:05:55 +00:00
Felix Fietkau
2475351cb1 musl: update to latest git to fix MIPS and PowerPC TLS issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46134
2015-06-27 23:25:46 +00:00
Matteo Croce
c37d7a7e8f fix mklibs with musl
crate a relative symlink to libc.so because
make wildcard function ignores broken symlinks

SVN-Revision: 46123
2015-06-25 10:14:22 +00:00
Steven Barth
1877bc9d8f gcc/musl: rework SSP-support
Make musl provide libssp_nonshared.a and make GCC link it unconditionally
if musl is used. This should be a no-op if SSP is disabled and seems to be
the only reliable way of dealing with SSP over all packages due to the mess
that is linkerflags handling in packages.

Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46108
2015-06-22 10:31:07 +00:00
Steven Barth
eb73f4aed7 musl: update musl to 2015-06-20
Fixes a mips-regression and a missing SSP function

Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46075
2015-06-20 18:36:50 +00:00
Steven Barth
b954c61d96 musl: apply hardening options (e.g. SSP) also to libc itself
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46073
2015-06-20 17:37:25 +00:00
Felix Fietkau
7b4d039e00 musl: read the timezone from /etc/TZ
Currently the OpenWRT boot scripts write the timezone configuration to
/tmp/TZ, relying on the behaviour of uClibc that the timezone is read
from /etc/TZ if no TZ env variable is found.

This works because /etc/TZ is a symlink to /tmp/TZ.

Musl libc however only reads the timezone from the TZ env variable and
if it doesn't find it or it's empty, it will look for a zoneinfo
file, that doesn't exist.

So in musl builds no timezone is ever set.

This patch fixes the issue by having musl libc behave like uClibc: if no
TZ env variable is found it will try to load it from /etc/TZ.

Signed-off-by: Gianluca Anzolin <gianluca at sottospazio.it>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46069
2015-06-19 17:48:11 +00:00
Felix Fietkau
41c53d8f0c musl: update to version 1.1.10+git
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46001
2015-06-16 11:55:23 +00:00
Felix Fietkau
555df40af9 musl: update to version 1.1.9
Patch to 2015-06-04 to fix ldso related regressions on PPC and MIPS.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45886
2015-06-04 20:08:39 +00:00
Felix Fietkau
3d35dfb782 Revert "musl: update to version 1.1.9" (r45754)
The current version seems to be broken on MIPS.

SVN-Revision: 45879
2015-06-03 00:22:51 +00:00
Felix Fietkau
8cff8c8b08 musl: update to version 1.1.9
Patch to 2015-05-25 to fix ldso related regressions on PPC and MIPS.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 45754
2015-05-25 23:11:01 +00:00
Felix Fietkau
5809da3c05 toolchain/musl: update to the latest version, adds aarch64 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45091
2015-03-28 13:38:45 +00:00
Felix Fietkau
8e20e09d1b musl: update to version 1.1.6
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43977
2015-01-15 21:40:44 +00:00
Felix Fietkau
63176d7e1e musl: merge changes from git, includes further getopt fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43939
2015-01-11 18:25:23 +00:00
John Crispin
d49f9039f7 musl: add getopt support for non-option arguments
musl libc doesn't support the GNU getopt extension to parse non-option
arguments when the optstring starts with '-'.

This extension is used by some utilities, notably iptables, that
currently return with errors even with perfectly valid invocations.

The patch adds the code needed by getopt.c and getopt_long.c to
implement that extension.

Signed-off-by: Gianluca Anzolin <gianluca@sottospazio.it>

SVN-Revision: 43309
2014-11-19 09:21:02 +00:00
Felix Fietkau
4d5218e083 musl: fix getopt optional argument processing
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43009
2014-10-21 11:03:20 +00:00
Felix Fietkau
296563018c musl: update to version 1.1.5
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42971
2014-10-19 21:45:41 +00:00
Felix Fietkau
4e074eac21 toolchain/musl: update to version 1.1.4
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41954
2014-08-02 20:27:52 +00:00
Felix Fietkau
0a30b910e4 musl: add sgidefs.h
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41399
2014-06-29 22:25:51 +00:00
Felix Fietkau
d7cf23694e musl: add a few more glibc types to includes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41398
2014-06-29 22:25:46 +00:00
Felix Fietkau
4beaccc7d0 musl: remove fake glibc defines
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41396
2014-06-29 22:25:40 +00:00
Felix Fietkau
4618044a52 musl: update to version 1.1.3
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41394
2014-06-29 22:25:32 +00:00
Felix Fietkau
4f03c52dd8 musl: fix toolchain build failure caused by some header changes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41173
2014-06-12 20:30:37 +00:00
Felix Fietkau
d2675afecc musl: install a few extra headers to improve compatibility with various packages
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41056
2014-06-09 13:47:36 +00:00
Felix Fietkau
6b7ee13094 musl: update to version 1.1.2
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41044
2014-06-07 16:14:43 +00:00
Felix Fietkau
2e19fa0777 musl: add a hack to rip out excessive iconv bloat
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40875
2014-05-28 23:18:47 +00:00
Felix Fietkau
8ad21a82e9 musl: update to version 1.1.1
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40820
2014-05-21 14:09:58 +00:00
Felix Fietkau
0f474633e1 musl: update to 1.0.0
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39962
2014-03-20 13:51:32 +00:00
Felix Fietkau
e37c444450 musl: move the dependency on BROKEN to the right config symbol
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39754
2014-02-26 12:13:02 +00:00
Felix Fietkau
de750029f4 toolchain/musl: add version 0.9.15, remove older versions (still broken, but closer to being functional than before)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39750
2014-02-24 21:10:11 +00:00
Felix Fietkau
6b404a4d08 musl: mark as broken, many packages do not compile with it
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37750
2013-08-10 19:16:46 +00:00
Luka Perkov
00b5a14567 toolchain/musl: add version 0.9.11
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 37173
2013-07-04 21:26:01 +00:00
Felix Fietkau
a424aa6123 toolchain/musl: add version 0.9.10
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36591
2013-05-09 20:34:21 +00:00