Commit Graph

195 Commits

Author SHA1 Message Date
Khem Raj
b09456cf94 musl: Enable riscv32
Musl recipe points to recent tip of trunk (1.2.5+) where we now have riscv32
port merged [1], Enable riscv32 as supported arch for musl systems.

[1] https://git.musl-libc.org/cgit/musl/commit/?id=377c363fb5519a224682692004ecd3703c19df93

(From OE-Core rev: 25e65df559de06bb056d19f8acfcd1b8b63b81ca)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-05-08 10:28:19 +01:00
Khem Raj
a3f0e2e31e musl: Upgrade to latest tip of trunk
* c47ad25e iconv: harden UTF-8 output code path against input decoder bugs
* 4c4f15da hasmntopt: match only whole options not arbitrary substrings
* e5adcd97 iconv: fix erroneous input validation in EUC-KR decoder
* 5e594aea iconv: fix erroneous decoding of some invalid ShiftJIS sequences
* 6af4f25b s390x: manually inline __tls_get_addr in __tls_get_offset
* 5ccf05d8 ldso: don't reclaim zero-memory-sized segments
* 1a985764 sched.h: reduce namespace conflicts in _GNU_SOURCE profile
* d36e5bf8 mq: add x32-specific implementations to work around mismatched kernel ABI
* 561cd07d SIGEV_THREAD timers: re-block signals when reusing kernel thread
* 47fa6e4f SIGEV_THREAD timers: fix fatal signal if internal SIGTIMER becomes unblocked

(From OE-Core rev: bfcc61f7b0ec42fafdcc7441bd50c8a75f456693)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-02-18 11:56:04 +00:00
Richard Purdie
c2da016918 meta/meta-selftest: Fix variable assignment whitespace
Recipes are much more readable with whitespace around the assignment operators.
Fix various assignments in OE-Core to show this is definitely the preferred
formatting.

(From OE-Core rev: 30ea609d3357fb3de911f2f6a5e6856c151b976a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-02-01 13:42:34 +00:00
Richard Purdie
90e0a0f7f4 classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)
The idea of the base class dependency is to say "yes, I need a C cross compiler"
and this was never meant to be gcc specific. Looking at the codebase, whilst we
code triplets into this, it does overcomplicate things as there are only ever
limited, "target", "sdk" and the class extended versions like mutlilib.

After much thought, we can simplify this to virtual/cross-cc and virtual/nativesdk-cross-cc.

This lets us remove the "gcc" specific element as well as removing the over
complicated triplet usage.

At the same time, change the much less widely used "g++" variant to "c++" for
similar reasons and remove the triplet from virtual/XXX-binutils too.

Backwards compatibility mappings could be left but are just going to confuse
things in future so we'll just require users to update.

This simplification, whilst disruptive for any toolchain focused layers, will
make improved toolchain selection in the future much easier.

Since we no longer have overlapping variables, some code for that can just
be removed. The class extension code does need to start remapping some variables
but not the crosssdk target recipe names.

This patch is in two pieces, this one handles the renaming with the functional
changes separate in a second for easier review even if this breaks bisection.

(From OE-Core rev: 4ccc3bc8266c327bcc18c9a3faf7536210dfb9f0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-01-21 23:09:33 +00:00
Khem Raj
9008c64e67 musl: Upgrade to latest
Brings following changes

* 61399d4b loongarch64: add TLSDESC support
* 9b6a24f9 wire up vdso clock_gettime for riscv32 and riscv64
* f2375aac wire up vdso clock_gettime for powerpc, powerpc64, and s390x
* bc5f816a mips: use preferred asm mnemomic jr for better assembler compatibility
* 4e6c827c mntent: exclude trailing newline from parsed field
* 9929a571 arm: fix _init/_fini alignment in crti.o

(From OE-Core rev: 77a1992eeda6cc6d6f52b50311fb4d98f6e58fc3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-12-20 15:47:14 +00:00
Khem Raj
937f831a6f musl: Update riscv syscalls till 6.10 kernel
Some packages e.g. ffmpeg have started using __NR_riscv_hwprobe
to detect Zba and Zbb at run-time.

(From OE-Core rev: c564b3bc3277e3b5eed2eb3de1bfa391d9eb4ca8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-12-09 15:23:28 +00:00
Khem Raj
120400663a musl: Update to tip of trunk
- License-Update: One of COPYRIGHT holders name changed [1]

- Brings these changes

* 047a1639 sys/stat.h: fix typo in statx member name stx_dio_offset_align
* 5be920e9 s390x: don't allow br r0 in CRTJMP asm
* 2fc56aaa update contributor name in authorship notices
* 43664364 fix compile regression in exit on archs without SYS_pause
* 6d8000d3 abstract missing SYS_pause syscall with macros
* 23ab04a8 statx: add new struct statx fields and corresponding mask macros
* 4ca8c267 statx: fix uninitialized attributes/mask in fallback path
* 251cbb63 statx: fix ENOSYS emulation not setting stx_rdev_*
* 8c43c562 sysconf: fix _SC_MINSIGSTKSZ computation to match kernel interpretation
* 300a1f53 sigaltstack: enforce dynamic MINSIGSTKSZ limit
* 572a2e2e printf: drastically reduce stack usage without [long] double args
* c94a0c16 isatty: don't collapse all non-EBADF errors to ENOTTY
* ee18e584 printf core: replace if(0) blocks around switch cases with explicit gotos
* 06a96470 iconv: add cp858
* e1b57ede catan: remove no-op reduction mod pi and unused code
* ca4e632d remove incorrect comment regarding powl exceptional cases
* c851b268 strerror: add error strings for EUCLEAN and ENAVAIL
* 9c78557a use hidden visibility for C entry point function _start_c
* 882aedf6 fix lost or delayed wakes in sem_post under certain race conditions
* b09e3174 m68k: fix POLLWRNORM and POLLWRBAND
* 2de6b426 fix missing make dependency for Scrt1.o due to typo
* cde213f9 timer_create: replace pthread barrier with semaphores for thread start
* 9ee6f104 atexit: fail rather than deadlocking after last handler is called
* 8cca79a7 exit: add back lock to make concurrent calls to exit safe
* ef7d0ae2 move __utc string object to its own translation unit

[1] https://git.musl-libc.org/cgit/musl/commit/?id=2fc56aaa9f660ebd735d1595c3501b792af42eb8

(From OE-Core rev: 13381184a262f6cc69240a34985646fd0ad44655)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-22 12:28:18 +01:00
Khem Raj
79253a5668 musl: Upgrade to latest tip of trunk
Bring following changes on top of 1.2.5

* dd1e63c3 syslog: revert LOG_FAC/LOG_FACMASK changes
* 008f737d siglongjmp: document why this function just calls longjmp
* 947b4574 inet_ntop: fix the IPv6 leading zero sequence compression
* 50ab8306 dynlink: avoid copying to temp buffer in get_lfs64
* 1b97d006 sys/epoll.h: add epoll ioctls
* ab31e9d6 getusershell: skip blank lines and comments
* 53ac44ff dynlink: fix get_lfs64() with posix_fallocate64
* 895736d4 syslog: fix incorrect LOG_MAKEPRI and LOG_FAC[MASK] macros
* 05ce67fe add renameat2 linux syscall wrapper
* 00799729 fix mismatched type in posix_getdents definition
* cbf59dd6 aarch64 crti.o: fix alignment of _init/_fini
* 84015cee fix typo that broke sys/reg.h and sys/user.h
* 1b0d4851 implement posix_getdents adopted for next issue of POSIX
* 2c124e13 stdint.h: derive limits from __LONG_MAX, use common fast16 types
* 7019fbe1 sys/user.h: derive __WORDSIZE from __LONG_MAX
* e709a6f0 sys/reg.h: derive __WORDSIZE from __LONG_MAX
* 29b216b2 unistd.h: derive ILP32/LP64 macros from __LONG_MAX instead of arch bits
* 0dfa1d8c unify bits/stat.h for all archs sharing a common definition
* ef600888 align aarch64, riscv64, loongarch64 stat structure padding type
* 6f666231 ldso: fix non-functional fix to early dynamic PAGE_SIZE access
* fced99e9 strptime: implement conversion specifiers adopted for next POSIX issue
* 3f9d4224 printf decimal integer formatting: shave off one division
* a23cf8f9 riscv mcontext_t/sigcontext: use __aligned__ instead of aligned
* cbf1c7b6 add missing STATX_ATTR_* macros omitted when statx was added
* 3f49203c initgroups: do not artificially limit number of supplementary groups
* 24ebbbde printf: fix edge case where hex float precision was not honored
* e3b0ace5 complex: fix comment in cacosh
* 9683bd62 math: fix fma(x,y,0) when x*y rounds to -0
* 5370070f fix pwrite/pwritev handling of O_APPEND files
* bdc9a9ff uio.h: add RWF_NOAPPEND flag for pwritev2
* 7ada6dde iconv: fix missing bounds checking for shift_jis decoding
* fd7d0185 add missing inline keyword on default a_barrier definition
* b5121e2e iconv: add aliases for GBK
* ca6f46af iconv: add euro symbol to GBK as single byte 0x80

(From OE-Core rev: 70179bc94c90ba1f33a3fff8f3019cb96fcdbaef)

(From OE-Core rev: bcfaa9542fac82e90fbb8bdf67e3ade2697fbca4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Khem Raj
41aa8568dd musl: Update to 1.2.5 release
This release adds extension functions statx and preadv2/pwritev2, with
fallback implementations for older kernels, and adds two new ports:
loongarch64 and riscv32. Minor changes to the printf family of
functions have been made for conformance to new standards
interpretations/requirements. TLSDESC support for riscv64 has also
been added.

Bugs fixed include some DNS issues related to new TCP fallback
functionality, several rare race conditions, potentially incorrect
return value when glob aborts, and several signifiant arch-specific
bugs affecting TLSDESC on arm, riscv64 icache flushing, and sh
sigsetjmp and dlsym RTLD_NEXT. [1]

Do not use https protocol for fetching

Musl author confirms that https protocol is not well supported yet on
musl git host, currently we experience this problem intermittently on
some build hosts where the fetching fails.

fatal: protocol error: bad line length character: erro
WARNING: Failed to fetch URL git://git.etalabs.net/git/musl;branch=master;protocol=https

[1] https://www.openwall.com/lists/musl/2024/03/01/2

(From OE-Core rev: c6c79477209f5e7e1a0206942de9603a7accec67)

(From OE-Core rev: 0d0a2d62810bfa7ea51d536c4e43c2edae823a6b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Richard Purdie
4ca98d9904 musl: Show error when used with multilibs
As discussed in the bugzilla entry, musl doesn't work with multilibs.

I originally sent this patch in 2020 but was told that support was being
added. I recently revisited the bug and retested a basic config which still
fails the way it did in 2019. Since clearly nobody is using this, make it clear
we don't support it. If anyone does add support, we can remove this error very
easily.

[YOCTO #13122]

(From OE-Core rev: 4da308d37aa51231b617fedb401076c13cafd89a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-07 15:47:15 +01:00
Richard Purdie
d6ae8d2004 recipes: Switch away from S = WORKDIR
Where recipes use S = ${WORKDIR}, change them to set UNPACKDIR to
a subdir of WORKDIR and make S point at this instead.

I've chosen not to force S into any standard UNPACKDIR we may pick in
future just so the S = UNPACKDIR case is clearly visible by the
directory naming under WORKDIR as that should aid usability.

(From OE-Core rev: d9328e3b0b062f0621de3d114584b44f384a1c02)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-21 12:08:04 +01:00
Richard Purdie
71c6db8e65 recipes: Start WORKDIR -> UNPACKDIR transition
Replace references of WORKDIR with UNPACKDIR where it makes sense to do
so in preparation for changing the default value of UNPACKDIR.

(From OE-Core rev: 1f18b9a512800860d5153d89eb82b56388efad6f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-21 12:08:04 +01:00
Ross Burton
75b340c29c musl: doesn't support riscv32
musl doesn't support riscv32, so set COMPATIBLE_HOST appropriately.

(From OE-Core rev: c321d381cfecde6ec502317822eb4058cb3aced7)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-19 00:16:42 +00:00
Zang Ruochen
a931742677 musl: add typedefs for Elf64_Relr and Elf32_Relr
The absence of this typedef causes elfutils to report the following error:
/usr/include/gelf.h:86:9: error: unknown type name 'Elf64_Relr'

https://git.musl-libc.org/cgit/musl/commit/?id=6be76895f6863100a311d474a42abdbb6466189d

(From OE-Core rev: 161bb7923bed67c91f45e8383b5a487b6107e431)

Signed-off-by: Zang Ruochen <zangruochen@loongson.cn>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-13 11:34:27 +00:00
Khem Raj
b46037db40 gcompat: Upgrade to 1.1.0 release
License-Update: Updated copyright years and contibutors [1]

Brings following changes
* b7bfe0b Update documentation for 1.1 release
* f0de9c6 CHANGELOG: Add pthread section
* 36f21a6 pthread: add pthread_mutexattr_[get|set]kind_np
* f23fb58 stdio: Hook fopen(3) to intercept /proc/self/exe
* 158f2b5 Update CHANGELOG for 1.1
* 4a4c840 fix path-searching for execvp
* 9dbbddc sysctl: Add __getauxval alias
* fbdd06c misc: add __libc_single_threaded
* f727ab7 locale: also override __newlocale/__duplocale
* 244110e random_r: fix null dereference when passed uninitialized buf

[1] b7bfe0b08c (0398ccd0f49298b10a3d76a47800d2ebecd49859)

(From OE-Core rev: 6f123655c71992d75746e662a6b757de4a57cce7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-16 11:32:34 +01:00
Khem Raj
91e0cfe0a7 gcompat: Add fcntl64 wrapper
Needed by pvr mesa drivers

(From OE-Core rev: e6efe08c5aa419db5c865a14116d137ff37db221)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-16 11:32:34 +01:00
Khem Raj
c7fdb5aca5 musl-legacy-error: Add recipe
This adds glibc error() API implementation which is needed by few
packages still.

(From OE-Core rev: c3f0f00a8dcc76ece298cf4debf1ca71f930ec57)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-26 10:35:28 +01:00
Khem Raj
53809d9b01 bsd-headers: Define __CONCAT and __STRING
Sync with other musl distros

(From OE-Core rev: 0796d65369737ddf530a04ae534e81022c1ba005)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-26 10:25:42 +01:00
Khem Raj
9215dc3208 musl: Update to latest
Brings following bug fixes

* 79bdacff glob: fix wrong return code when aborting before any matches
* 7291c6c6 statvfs: allocate spare for f_type
* 39e43f08 math: fix ld80 powl(x,huge) and powl(LDBL_MAX,small)
* 6d101027 math: fix ld80 acoshl(x) for x < 0

Drop MIRRORS and switch to etalabs.net for git fetch URI
original repo is not working correcting with git Fetcher

(From OE-Core rev: bb14f1dee4547726ab66e20d535d58563029d67f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-26 10:25:42 +01:00
Khem Raj
a1b3e8758e libc-test: Run as non-root user
Some of tests impose rlimit on it before running which wont be imposed
when running as root user.

Fixes
src/regression/pthread_atfork-errno-clobber.c:23: (pid = fork()) == -1 failed: fork succeeded despite rlimit
src/regression/pthread_atfork-errno-clobber.c:23: (pid = fork()) == -1 failed: fork succeeded despite rlimit
FAIL src/regression/pthread_atfork-errno-clobber-static.exe [status 1]

(From OE-Core rev: 585bf4b780a8ad60ba2b33cede4f0092ff61ddfc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-11 16:04:35 +01:00
Khem Raj
a72438e9c4 libc-test: Depend on musl-staticdev
It builds statically linked tests during ptest run and therefore needs
libc.a

(From OE-Core rev: 88904b5186f4904b5c11870fc6fdf392c5b5fcee)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-09 22:14:41 +01:00
Richard Purdie
65318019cd recipes/classes/scripts: Drop SRCPV usage in OE-Core
Now that SRCPV isn't needed we can simplify things in a few places...

(From OE-Core rev: 843f82a246a535c353e08072f252d1dc78217872)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-24 16:50:24 +01:00
Khem Raj
024bea3298 musl: Upgrade to tip of trunk
Brings following changes

* 83b858f8 fix rejection of dns responses with pointers past 512 byte offset
* a4ecaf89 dns stub resolver: increase buffer size to handle chained CNAMEs
* 40834f6c printf core: fix gratuitous integer formatting buffer size
* 3a23cd06 all printf variants: fix argument type handling for %c and %lc
* fa4a8abd fix public clone function to be safe and usable by applications
* 0c277ff1 fix broken thread list unlocking after fork
* 4653b987 mbrtowc: Fix wrong return value when n > UINT_MAX
* b90841e2 configure: replace -Os with equivalent based on -O2

(From OE-Core rev: b6abcd4f01aec24393bce68a9806d94702c0d387)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-04 11:44:28 +01:00
Khem Raj
3b320adbe7 musl: Guard fallocate64 with _LARGEFILE64_SOURCE
Gets this fix

* 718f363b move fallocate64 declaration under _LARGEFILE64_SOURCE feature test

(From OE-Core rev: 5ebc2f8e4f21f5af67fb1d2d61f6c5d75f2c44e2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-10 11:36:34 +01:00
Peter Kjellerstedt
3796033686 musl: Correct SRC_URI
When the protocol used to fetch the Git repository was changed from
"git" to "https" in commit 139102a73d (recipes: Default to https git
protocol where possible), the URI was not updated to match.

(From OE-Core rev: 0434a5ae168f737741e66a7fe1e30a8703b8ce16)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-25 10:29:09 +01:00
Khem Raj
f70ab32ec4 musl: Update to 1.2.4 release
Brings the following changes

* f5f55d65 release 1.2.4

(From OE-Core rev: 9f2fe39d92816343347bd08f55cd4aca98e8a209)

(From OE-Core rev: a3de74f00812fa342d4dc69a857994fa10728635)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-09 07:50:14 +01:00
Richard Purdie
1285f78ce8 recipes: Default to https git protocol where possible
The recommendation from server maintainers is that the https protocol
is both faster and more reliable than the dedicated git protocol at this point.
Switch to it where possible.

(From OE-Core rev: 139102a73d4151f4748b4a861bd4ab28dda7dab7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-05 11:07:25 +01:00
Khem Raj
6ec64c396b musl: Update to latest master
Brings the following changes

* b928c723 fix return value of wmemcmp for extreme wchar_t values
* 4724793f fix wide printf numbered argument buffer overflow
* c1b42c4a wait4: fix missing rusage on x32 due to wrong success condition
* 9b12982d semtimedop: fix timespec kernel ABI mismatch for 32-bit timeouts on x32
* 6d322159 getopt: fix null pointer arithmetic ub
* 35e98311 nftw: fix use of uninitialized struct stat
* 7c410472 fix inadvertently static local var in dynlink get_lfs64
* 77327ed0 dns: check length field in tcp response message

(From OE-Core rev: 07ed616f776dd09cdadd323dfc8572491bab5aa3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-03 07:33:18 +01:00
Khem Raj
1a5d7fa527 musl-locales: Add Canadian French (fr_CA) locale support
(From OE-Core rev: 5531b272527323488aa0c9f7b17eff085e800e78)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-14 16:44:24 +01:00
Alexander Kanavin
9f96e49468 meta/recipes: ensure all recipes have a SUMMARY
DESCRIPTION is optional for now; writing good component descriptions
is not easy (but appreciated).

(From OE-Core rev: 9ce4f9248db3db70732d886a18ea355f321bd49d)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-13 13:53:44 +01:00
Khem Raj
a04b0eaa38 musl: Update to latest trunk
Brings these changes

* 1d5750b9 fix swprintf handling of nul character in output
* 0e523480 in printf, use ferror macro rather than directly inspecting flags bit
* 868c9643 remove wide printf dependency on ugly hack in vfprintf
* 3a051769 fix (normal, narrow) printf erroneously processing %n after output errors
* 0440ed69 fix wide printf continuation after output or encoding errors
* d055e6a4 fix wide printf forms ignoring width for %lc format specifier
* b6811019 poll: fix misuse of timespec type on 32-bit archs without poll syscall
* 8949da7a select: fix 64-bit timeout truncation on pre-time64 kernels
* 3281047c dup3: don't set FD_CLOEXEC on failure on kernels without dup3 syscall
* c99b7daa fix dup3 ignoring all flags but O_CLOEXEC on archs with SYS_dup2 syscall
* fb7fb5e4 fix pipe2 silently ignoring unknown flags on old kernels
* b1dfb734 getservbyport_r: fix wrong result if getnameinfo fails with EAI_OVERFLOW
* 595416b1 getservbyport_r: fix out-of-bounds buffer read
* 1a708ece getifaddrs: fix UB via taking address of null pointer union dereference
* c499c108 accept4: don't fall back to accept if we got unknown flags
* 523d9b96 fix potential read past end of buffer in getnameinfo host name lookup
* d0b7f976 dns: fix workaround for systems defaulting to ipv6-only sockets
* bec42ef3 dns: handle early eof in tcp fallback
* 9b132e55 prevent CNAME/PTR parsing from reading data past the response end
* 12590c8b fix out-of-bounds reads in __dns_parse
* bc695a5a fix incorrect unit for CPU_SETSIZE macro

(From OE-Core rev: bb591e83e3d203d60d59a36f1ff0b2ce437dc7a2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-13 11:56:07 +01:00
Khem Raj
7a548930d2 musl: Update to tip of trunk
This brings in following changes

* 7d756e1c (upstream/master, origin/master) dns: prefer monotonic clock for timeouts
* 07616721 fix return value of wcs{,n}cmp for extreme wchar_t values
* 35fdfe62 math: fix undefined shift in logf
* 7e13e5ae inet_pton: fix uninitialized memory use for IPv4-mapped IPv6 addresses
* 7e6da7ac hsearch: fix null pointer arithmetic UB
* f79b973d increase sendmsg internal buffer to support SCM_MAX_FD
* 0ab97350 mq_notify: block all (application) signals in the worker thread
* 711673ee mq_notify: join worker thread before returning in error path
* 8c0c9c69 mq_notify: rework to fix use-after-close/double-close bugs
* fde6891e mq_notify: use semaphore instead of barrier to sync args consumption
* c3cd04fa fix pthread_detach inadvertently acting as cancellation point in race case
* 115149c0 powerpc-sf longjmp clobbering of val argument
* 5763f003 riscv64: add vfork
* 269d1938 fix wrong sigaction syscall ABI on mips*, or1k, microblaze, riscv64
* ea3b40a3 fix integer overflow in WIFSTOPPED macro
* f897461d fix debugger tracking of shared libraries on mips with PIE main program
* a4b0a665 expose memmem under baseline POSIX feature profile
* 9532ae13 use libc-internal malloc for pthread_atfork
* 7d358599 prevent invalid reads of nl_arg in printf_core
* c5f4b2df elf.h: add ELFCOMPRESS_ZSTD
* 159d1f6c semaphores: fix missed wakes from ABA bug in waiter count logic

(From OE-Core rev: 7379412a2ce7fe24943c858755f058dc2a15a081)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-26 11:49:00 +00:00
Khem Raj
47c84dc29a musl-obstack: Update to 1.2.3
Switch to void-linux github handle, void-linux is the upstream anyway this brings

(From OE-Core rev: af810235ffb8e9553cf5e807ed3b88ed6575d211)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-20 16:40:47 +00:00
Khem Raj
64625155ec musl: Update to latest on tip of trunk
Brings following changes

* f47a8cdd ldso: fix invalid early references to extern-linkage libc.page_size
* 377218cb pthread_atfork: fix return value on malloc failure
* 29e43191 fix double-processing of DT_RELR relocations in ldso relocating itself
* b50eb8c3 fix strverscmp comparison of digit sequence with non-digits
* ad5dcd39 fix async thread cancellation stack alignment
* 8f925945 fix return value of gethostby{name[2],addr} with no result but no error
* 63402be2 clean up dns_parse_callback
* 0a7b4323 dns response handling: don't treat too many addresses as an error
* 41603c77 dns response handling: ignore presence of wrong-type RRs
* cf76df0e fix missing synchronization of pthread TSD keys with MT-fork
* 5ff3eea9 fgets: avoid arithmetic overflow when n==INT_MIN is passed
* d8f35e29 fix AS-safety of close when aio is in use and fd map is expanded
* 26c76a90 fix use of uninitialized dummy_fut in aio_suspend
* aebd6a36 fix potential deadlock between multithreaded fork and aio
* d64148a8 fix potential unsynchronized access to killlock state at thread exit
* 36b72cd6 fix potential deadlock in dlerror buffer handling at thread exit
* 833a4691 configure: disable TBAA optimization because most compilers are buggy
* e6e82132 disable MADV_FREE usage in mallocng
* 25e6fee2 remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE
* 246f1c81 remove LFS64 symbol aliases; replace with dynamic linker remapping
* dec8f0a4 dns query core: detect udp truncation at recv time
* 8c408937 getaddrinfo dns lookup: use larger answer buffer to handle long CNAMEs
* 759bf785 arpa/nameser.h: update RR types list
* 51d4669f dns: implement tcp fallback in __res_msend query core
* e2e95176 res_send: use a temp buffer if caller's buffer is under 512 bytes
* c87d75f2 adapt res_msend DNS query core for working with multiple sockets
* 85050ac5 getaddrinfo: add EAI_NODATA error code to distinguish NODATA vs NxDomain

(From OE-Core rev: 3b27f6356a3bf0138da0c3dcd87aa8e4a93ae56b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-02 17:34:11 +00:00
Chase Qi
3a403ea562 libc-test: add libc testsuite for musl
libc-test is a collection of unit test to measure the correctness and
robustness of a C/POSIX standard library implementation. It is developed
as part of the musl project.

(From OE-Core rev: 4a94cdc7e841ebe583b0e6935fc50d233c8c310e)

Signed-off-by: Chase Qi <chase.qi@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-11 13:43:40 +00:00
Khem Raj
59ba302179 musl: Upgrade to latest master
Following changes are part of this SRCREV uprev

* dc9285ad fix error cases in gethostbyaddr_r
* f9827fc7 remove impossible error case from gethostbyname2_r
* f081d533 fix return value of gethostnbyname[2]_r on result not found
* 1e7fb12f dns: treat names rejected by res_mkquery as nonexistent rather than error
* 001c1afb res_mkquery: error out on consecutive final dots in name
* 3ad3fa96 fix thread leak on timer_create(SIGEV_THREAD) failure
* bf14ef19 re-enable vdso clock_gettime on arm (32-bit) with workaround
* 6f3ead0a process DT_RELR relocations in ldso-startup/static-pie
* 25085c85 fix fwprintf missing output to open_wmemstream FILEs
* a636fd63 dns: fail if ipv6 is disabled and resolv.conf has only v6 nameserves
* 996b6154 use kernel-provided AT_MINSIGSTKSZ for sysconf(_SC_[MIN]SIGSTKSZ)
* 25340a93 add sysconf keys/values for signal stack size
* d8fddb96 fix fallback when ipv6 is disabled but resolv.conf has v6 nameserves
* d4f987e4 epoll_create: fail with EINVAL if size is non-positive
* 2e5fff43 use alt signal stack when present for implementation-internal signals
* 379b1821 ldso: make exit condition clearer in fixup_rpath

(From OE-Core rev: 7a62aad4c32e227a8f5a2365dfb6217efb1f5b70)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-26 12:28:37 +01:00
Khem Raj
33b4ad72ee gcompat: Add __getauxval wrapper needed on aarch64
Update SRCREV to bring in few bug fixes
Install a .so symlink which could be used during linking

install libdir to create if not existing

(From OE-Core rev: bac2c95f6331deafd3e07c927ba00a202db9a12b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-22 21:39:21 +01:00
Khem Raj
72aae2674a musl: Update to tip
brings in these fixes

* 37e18b7b freopen: reset stream orientation (byte/wide) and encoding rule
* bf992585 ldso: process RELR only for non-FDPIC archs
* d32dadd6 ldso: support DT_RELR relative relocation format
* 2404d9d6 use syscall_arg_t and __scc macro for arguments to __alt_socketcall

(From OE-Core rev: 68a6ad83cde6024fd5bff5adb55c11f8c771edbf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-21 22:51:41 +01:00
Khem Raj
595d98accc musl: Upgrade to latest tip of trunk
Rebase existing patches

Brings in following changes

* 46d1c780 fix strings.h feature test macro usage due to missing features.h
* baaf257f fix ESRCH error handling for clock_getcpuclockid
* 4f48da00 aarch64: add vfork
* 7d568410 fix mishandling of errno in getaddrinfo AI_ADDRCONFIG logic
* d16d7b10 early stage ldso: remove symbolic references via error handling function
* 63c67053 in early stage ldso before __dls2b, call mprotect with __syscall
* a23a3da2 avoid limited space of random temp file names if clock resolution is low
* 41002798 remove random filename obfuscation that leaks ASLR information
* 6c858d6f ensure distinct query id for parallel A and AAAA queries in resolver
* 8974ef21 mntent: fix potential mishandling of extremely long lines
* 751bee0e mntent: fix parsing lines with optional fields
* dcb31f6b fix constraint violation in qsort wrapper around qsort_r

(From OE-Core rev: e76b76f371d3158b70ae9d3a44b6d2ab6ba8db34)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-16 14:57:58 +01:00
Richard Purdie
73cf55cdde bitbake.conf/recipes: Introduce add DEV_PKG_DEPENDENCY to change RDEPENDS:${PN}-dev
There is a pattern that several recipes need to break the dependency of ${PN}-dev
on ${PN}, most often as ${PN} may be be empty. Add a new variable to parameterise
this and allow it to be changed more easily.

(From OE-Core rev: a5b381c0f45c590a762647a9956a8f41e2e2315e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-28 23:49:37 +01:00
wangmy
06e63f30c6 musl-obstack: upgrade 1.1 -> 1.2
Changelog:
=========
Use obstack.c and obstack.h from gcc-10.2.0 libiberty.
Add AC_CONFIG_HEADERS to configure.ac and make ./bootstrap.sh create config.h.in.

(From OE-Core rev: a34986755a57b6467e78eb91042bb46f588b6856)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-17 17:57:44 +01:00
Khem Raj
812ebb0227 musl-locales: Switch SRC_URI to new location
Original repository has been less maintained and thusly adelie linux
community has picked up the package and started to maintain it also
applied long standing bug fixes.

Now we use new fork by Adélie Linux, which includes more supported
locales.

(From OE-Core rev: b6c1e37ed20f636f4f3cdfcef204ea4c072dde58)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-20 09:25:47 +01:00
Khem Raj
4eba2c38d7 musl: Upgrade to tip of trunk
brings in pre-work for submitting rv32 port

* 6e9d2370 use __fstat instead of __fstatat with AT_EMPTY_PATH in __map_file
* 05a55868 provide an internal namespace-safe __fstat
* fb10dc28 only use fstatat and others legacy stat syscalls if they exist
* 2b754a54 drop direct use of stat syscalls in internal __map_file
* c9ba0769 provide an internal namespace-safe __fstatat
* 7edbcbeb drop direct use of stat syscalls in fchmodat
* 9a937495 drop use of stat operation in temporary file name generation
* 12a757b3 only fallback to gettimeofday/settimeofday syscalls if they exist
* 41149ea8 only use getrlimit/setrlimit syscalls if they exist
* 8910efd0 don't remap internal-use syscall macros to nonexistent time32 syscalls
* 03f71251 remove ARMSUBARCH relic from configure
* 55b727d7 add missing POSIX confstr keys for pthread CFLAGS/LDFLAGS
* 8cf87b30 fix incorrect parameter name in internal netlink.h RTA_OK macro

(From OE-Core rev: e3c2bc571e173e230cd3942888bdcf6423f14a2e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-05 21:17:37 +01:00
Ross Burton
c81eec622d musl-locales: explicitly depend on gettext-native
The gettext class is designed for use by applications with optional NLS
support: depending on the value of USE_NLS it will either depend on
gettext-minimal-native (just the autoconf macros) or gettext-native, and
will pass --enable-nls/--disable-nls as appropriate.

However, musl-locales specifically needs to run msgfmt at runtime,
so explicitly depend on gettext-native instead.

Also remove the redundant EXTRA_OECMAKE assignment.

(From OE-Core rev: 77ae1fe772f12677f9d86946d09d10534845723f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-30 22:00:20 +01:00
Khem Raj
ba14e49759 musl-locales: Add package
This package will provide a limited set of localedata for musl based
systems. It will fill in into images when IMAGE_LINGUAS variable is set
however the choice is limited to the given 13 locales as of now.

e.g.
IMAGE_LINGUAS ?= "de-de fr-fr en-gb"

would work fine

Default locale can be set by exporting LANG=<locale> in /etc/profile or some
such file e.g.

export LANG=de_DE.UTF-8

This will also help in ptest coverage with musl where some test packages
expect locales e.g. pango to name one.

Do not empty out IMAGE_LINGUAS forcibly for musl anymore

(From OE-Core rev: 5643f9722db250ac9eb4f955b02500420cb29556)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-26 18:25:08 +01:00
Khem Raj
a8d664c7a1 gcompat: Fix build when usrmerge distro feature is enabled
(From OE-Core rev: b1154d5fe7e75bb46132165b13ed76ce95413b25)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-22 23:42:51 +01:00
Khem Raj
fba37dce43 musl: Fix build when usrmerge distro feature is enabled
(From OE-Core rev: 02fd8e760cac1d2e0e25a4e3dbea3f2844b9fd01)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-22 23:42:51 +01:00
Khem Raj
30b38d9cb9 musl: Move to 1.2.3 release tag
This actually are just 2 patches on top of what we have thus far

* 7a43f6fe release 1.2.3
* 01b14242 accept null pointer as message argument to gettext functions

(From OE-Core rev: bb0d9815a8e47b28836ab0eb13ebe236d745b253)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-12 09:43:44 +01:00
Khem Raj
e43cfbc69e musl: Update to latest master
brings following fixes

* 6d8a5157 fix invalid free of duplocale object when malloc has been replaced
* 760f5d7e fix __WORDSIZE on x32 sys/user.h
* bdb54540 sys/ptrace.h: add PTRACE_GET_RSEQ_CONFIGURATION from linux v5.13
* aa3bab6c sys/prctl.h: add PR_PAC_{SET,GET}_ENABLED_KEYS from linux v5.13
* a8300f5d elf.h: add NT_ARM_PAC_ENABLED_KEYS from linux v5.13
* dda21f10 netinet/in.h: add INADDR_DUMMY from linux v5.13
* ee05b11b bits/syscall.h: add landlock syscalls from linux v5.13
* 1ee8109e netinet/tcp.h: add tcp_zerocopy_receive fields from linux v5.12
* bc89c311 netinet/tcp.h: add TCP_NLA_* values up to linux v5.12
* 9ffd1454 s390x: add ptrace requests from linux v5.12
* f7d3db5b bits/syscall.h: add mount_setattr from linux v5.12
* e99c4258 signal.h: add new sa_flags from linux v5.11
* 993cccce signal.h: add SYS_USER_DISPATCH si_code value from linux v5.11
* 3dcbd896 signal.h: add si_code values for SIGSYS
* 30c8a145 netinet/tcp.h: add tcp zerocopy related changes from linux v5.11
* b54f481f netinet/if_ether.h: add ETH_P_CFM from linux v5.11
* c5ecaca7 sys/socket.h: add new SO_ socket options from linux v5.11
* f35b99b3 sys/prctl.h: add PR_SET_SYSCALL_USER_DISPATCH from linux v5.11
* b21f3ded bits/syscall.h: add epoll_pwait2 from linux v5.11
* 3aba2150 nice: return EPERM instead of EACCES
* 74a28a8a protect stack canary from leak via read-as-string by zeroing second byte
* 7c0c7a75 math: avoid runtime conversions of floating-point constants

(From OE-Core rev: 56c0629caebd7f22a09925333c2dc800901d7794)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-26 09:33:32 +00:00
Khem Raj
197c379d2b libucontext: Upgrade to 1.2 release
License-Update: Copyright years changed [1]

aarch64 implements simd register save/restore

loongarch64 supported added

[1] 9943d4f5fc
(From OE-Core rev: d51592e4eb2bc951f0c33a6e69be22aa8ea84d6f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-17 16:44:33 +00:00