aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: Remove powerpc64 libc restrictionRosen Penev2019-08-051-4/+2
| | | | | | | | | | Starting with version 1.1.15, musl supports powerpc64. There are no known users of powerpc64 yet. This is effectively a revert of 0de93311e1575ab6f8e9e90b5023b6fb2cedcf1f Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain: fix gcc depends on kernel headersHauke Mehrtens2019-08-051-1/+1
| | | | | | | | | | | | GCC needs the kernel headers to compile. Some GCC file includes asm/unistd.h which is provided by the kernel headers. Normally the kernel headers build is very fast and ready before the gcc uses it, but if it clones the kernel from a slow git repository it takes longer and then it could be that the gcc already wants to use the kernel headers before they are available. This patch fixes this problem by adding the missing dependency. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
* toolchain/musl: bump to version 1.1.23Koen Vandeputte2019-07-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | new features: - riscv64 port - configure now allows customizing AR and RANLIB vars - header-level support for new linux features in 5.1 major internal changes: - removed extern __syscall; syscall header code is now fully self-contained performance: - new math library implementation for log/exp/pow - aarch64 dynamic tlsdesc function is streamlined compatibility & conformance: - O_TTY_INIT is now defined - sys/types.h no longer pollutes namespace with sys/sysmacros.h in any profile - powerpc asm is now compatible with clang internal assembler changes for new POSIX interpretations: - fgetwc now sets stream error indicator on encoding errors - fmemopen no longer rejects 0 size bugs fixed: - static TLS for shared libraries was allocated wrong on "Variant I" archs - crash in dladdr reading through uninitialized pointer on non-match - sigaltstack wrongly errored out on invalid ss_size when doing SS_DISABLE - getdents function misbehaved with buffer length larger than INT_MAX - set*id could deadlock after fork from multithreaded process arch-specfic bugs fixed: - s390x SO_PEERSEC definition was wrong - passing of 64-bit syscall arguments was broken on microblaze - posix_fadvise was broken on mips due to missing 7-arg syscall support - vrregset_t layout and member naming was wrong on powerpc64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* toolchain/fortify-headers: Update to 1.1Kevin Darbyshire-Bryant2019-07-281-2/+2
| | | | | | Update fortify-headers to 1.1 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* toolchain: Don't force GCC8 on ARCRosen Penev2019-07-071-1/+1
| | | | | | | | This prevents overriding it to use GCC9. Signed-off-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [changed logic to not fall back on 7.4]
* toolchain: musl: switch to https instead of gitChristian Lamparter2019-06-221-1/+1
| | | | | | | | | | | Daniel Engberg requested switching over to https transport since he seems to be stuck behind a corporate firewall that does all the wrong things. Rick Felker noted that this is "experimental and might break". <https://www.openwall.com/lists/musl/2019/03/27/1>. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* toolchain: Add GCC 9.1.0 releaseJoseph Benden2019-06-1623-1/+933
| | | | | | | | | | | | | Most of the patches are copied over from GCC 8.3. The following patches are backported from the GCC 9.X development branch: toolchain/gcc/patches/9.1.0/970-recompute-dom-fast-queries-before-vn.patch toolchain/gcc/patches/9.1.0/975-g++-ICE-with-generic-lambda.patch The specs file changed with gcc 9, now it contains "%@{L*}" instead of "%{L*}" in older GCC versions. Signed-off-by: Joseph Benden <joe@benden.us>
* replace links towards lede-project.org with openwrt.orgAlexander Couzens2019-06-111-1/+1
| | | | | | | Modify VERSION_SUPPORT_URL VERSION_REPO Replace BUGS variable in toolchain/gcc/common.mk Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* toolchain: replace LEDE in help textKarl Pálsson2019-06-101-2/+2
| | | | | | | Use generic wording. Signed-off-by: Karl Pálsson <karlp@etactica.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [fixed a -> á]
* glibc: update to latest 2.27 commit (BZ #24531)Hans Dedecker2019-05-231-2/+2
| | | | | | 54ba8bcd423 Fix tcache count maximum (BZ #24531) Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* glibc: update to latest 2.27 commitHans Dedecker2019-05-161-2/+2
| | | | | | f9c3c12f336 Fix crash in _IO_wfile_sync (bug 20568) Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* toolchain/binutils: use default Host/Configure ruleAlexandru Ardelean2019-05-111-26/+19
| | | | | | | | | | | | This seems to have been omitted over-time. Using the default Host/Configure seems to work fine. The last patches to have touched this in a major way were ~10 years ago: 33a0eb3613d ("cosmetic & coherency fixes") 7eb15898755 ("build system refactoring in preparation for allowing packages to do host-build steps") Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* toolchain/nasm: update to version 2.14Daniel Golle2019-05-112-17/+2
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* glibc: update to latest 2.27 commit (BZ #18035)Hans Dedecker2019-04-291-2/+2
| | | | | | 1961e5c7296 elf: Fix pldd (BZ#18035) Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* toolchain/musl: update to version 1.1.22Koen Vandeputte2019-04-232-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | new features: - priority-inheritance mutexes - membarrier syscall, pre-registration to use it, fallback emulation - header-level support for new linux features in 4.19, 4.20, 5.0 major internal changes: - complete, async-safe view of all existent threads as global list - robust __synccall based on new thread list - new dynamic TLS is installed synchronously at dlopen - TLSDESC resolver functions no longer make bad ABI assumptions to call C - resolved shared library dependencies are now recorded compatibility & conformance: - dependency-order shared library constructor execution - sigaltstack no longer rejects SS_AUTODISARM, future flags - FILE is now a complete (dummy) type in pre-C11 feature profiles - setvbuf reports failure on invalid arguments - TSVTX is exposed unconditionally in tar.h - multithreaded set*id() no longer depends on /proc - key slot reuse after pthread_key_delete no longer depends on /proc bugs fixed: - failures in multithreaded set*id() with concurrent thread creation/exit - interposed free was called from invalid/inconsistent contexts - freeaddrinfo performed invalid free of some partial results lists - dlsym dependency order search had false negatives and false positives - dn_skipname gave wrong results for labels with 8-bit content - dcngettext clobbered errno, often breaking printing of error messages - sscanf read past end of buffer under certain conditions (1.1.21 regression) - pthread_key_create spuriously failed under race condition (1.1.21 regression) - fdopendir wrongly succeeded with O_PATH file descriptors - gets behaved incorrectly in presence of null bytes - namespace violations in c11 tsd and mutex function dependencies - incorrect prototype for makecontext (unimplemented) arch-specfic bugs fixed: - s390x had wrong values for POSIX_FADV_DONTNEED/_NOREUSE Extensively tested on dozens of devices, covering most popular architectures. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Dainis Jonitis <dainis.jonitis@ubnt.com> Signed-off-by: Roman Yeryomin <roman@advem.lv>
* toolchain/binutils: refresh patchesKevin Darbyshire-Bryant2019-04-213-5/+5
| | | | | | Fix hunk offset warnings. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* glibc: update to latest 2.27 commit [BZ #22964]Hans Dedecker2019-04-081-2/+2
| | | | | | de9d4aa353 ja_JP locale: Add entry for the new Japanese era [BZ #22964] Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* toolchain: ARM: Fix option conflict with multiarchBoris Krasnovskiy2019-03-251-0/+5
| | | | | | | | | | | | This problem exposed when compiling glibc, but applicable across the board. gcc compiles runtime libraries for all supported architectures, unless otherwise specified, and later selects applicable library based -m[arch,cpu,*] options, thus these options should not be passed to gcc as they break the compilation process. Signed-off-by: Boris Krasnovskiy <borkra@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [modified so it only touches ARM - I'm too chicken, changed authors email]
* toolchain: ARM: Fix toolchain compilation for gcc 8.xBoris Krasnovskiy2019-03-251-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Set the toolchain's ARM CPU and FPU architectures by utilizing' gcc's --with-cpu / --with-fpu configure options that: "Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch." This will resolve the following kernel compilation failures under gcc 8.x on ARM because the kernel wants to set (possibly conflicting) optimization flags. .../ccyVnmrs.s:204: Error: selected processor does not support `dmb ish' in ARM mode .../ccyVnmrs.s:215: Error: architectural extension `mp' is not allowed for the current base architecture .../ccyVnmrs.s:216: Error: selected processor does not support `pldw [r4]' in ARM mode Because this is a big change, the .config and toolchain need to be refreshed (as in removed and regenerated). Reported-by: Ansuel Smith <ansuelsmth@gmail.com> Reported-by: Daniel Engberg <daniel.engberg.lists@pyret.net> [#1203] Signed-off-by: Boris Krasnovskiy <borkra@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [extended commit message, removed now-deprecated CPU_CFLAGS, changed author to gmail address]
* glibc: update to latest 2.27 commitHans Dedecker2019-03-221-2/+2
| | | | | | 1ab314d8d3 S390: Mark vx and vxe as important hwcap. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* toolchain: Remove binutils 2.29 for ARC targetsDaniel Engberg2019-03-203-18/+0
| | | | | | Remove binutils 2.29 for ARC targets Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain: Use binutils 2.32 by default for ARCDaniel Engberg2019-03-202-3/+2
| | | | | | Use binutils 2.32 by default for ARC targets Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain: Remove GCC 7.1 for ARC targetsDaniel Engberg2019-03-2022-981/+0
| | | | | | Remove GCC 7.1 for ARC targets Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain: Use GCC 8.3.0 by default for ARCDaniel Engberg2019-03-202-1/+2
| | | | | | | | Use GCC 8.3.0 by default for ARC targets Includes a fix by Evgeniy Didin which fixes GCC version selection if DEVEL isn't set Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain/binutils: Add binutils 2.32Daniel Engberg2019-02-267-0/+110
| | | | | | Add binutils 2.32 to repo Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain: Update to GCC 8.3.0Daniel Engberg2019-02-2622-7/+6
| | | | | | | | | Update GCC to 8.3.0 Refresh patches Allow GCC to be used for ARC Source: https://github.com/openwrt/openwrt/pull/1803#issuecomment-462334890 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain/gcc: Remove workaround for GCC 4.8Daniel Engberg2019-02-261-5/+2
| | | | | | GCC 4.8 was removed a long time ago... Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain/binutils: Remove 2.30Daniel Engberg2019-02-178-222/+0
| | | | | | Remove binutils 2.30 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* glibc: update to latest 2.27 commit [BZ #24180]Hans Dedecker2019-02-091-2/+2
| | | | | | 9f44fa22cb Add compiler barriers around modifications of the robust mutex list for pthread_mutex_trylock. [BZ #24180] Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* toolchain/musl: update to version 1.1.21Christian Lamparter2019-02-053-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | <https://www.openwall.com/lists/musl/2019/01/21/8> "This release makes improvements with respect to default thread stack size, including increasing the default from 80k to 128k, increasing the default guard size from 4k to 8k, and allowing the default to be increased via ELF headers so that programs that need larger stacks can be build without source-level changes, using just LDFLAGS. Insufficient stack size for AIO threads on kernels that don't honor the constant MINSIGSTKSZ is also fixed. The glob core has been rewritten to fix inability to see past searchable-but-unreadable path components, and to avoid excessive stack usage and unnecessary syscalls. The tsearch AVL tree implementation has also been rewritten for better size and performance. The math library adds more native single-instruction implementations for arm, s390x, powerpc, and x86_64. Various bugs are fixed, including several possible deadlocks, one of which was a new regression in 1.1.20." detailed release notes can be found in the WHATSNEW file: <http://git.musl-libc.org/cgit/musl/tree/WHATSNEW#n1989> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* glibc: update to latest 2.27 commit (BZ #24155,BZ #24097)Hans Dedecker2019-02-041-2/+2
| | | | | | | | | | | | | | 2ebadb6451 x86-64 memcmp: Use unsigned Jcc instructions on size [BZ #24155] 3a5ae8db68 x86-64 strnlen/wcsnlen: Properly handle the length parameter [BZ #24097] 2c016ffa24 x86-64 strncpy: Properly handle the length parameter [BZ #24097] d8457edece x86-64 strncmp family: Properly handle the length parameter [BZ #24097] 55f8812858 x86-64 memset/wmemset: Properly handle the length parameter [BZ #24097] efc3714845 x86-64 memrchr: Properly handle the length parameter [BZ #24097] a4690969ed x86-64 memcpy: Properly handle the length parameter [BZ #24097] 6465327195 x86-64 memcmp/wmemcmp: Properly handle the length parameter [BZ #24097] 50117e00a1 x86-64 memchr/wmemchr: Properly handle the length parameter [BZ #24097] Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* toolchain/gcc: backport FORTIFY patch to 5.5.0Hans Dedecker2019-02-041-0/+1092
| | | | | | | | | | | | Commit e61061a0886e2d0d6b075d75ae9b53d0a6bc9042 added support for hardening options in the toolchain. However this breaks the gcc5.5.0 compilation in case FORTIFY_SOURCE is set different from FORTIFY_SOURCE_NONE as reported in [1]. Fix this by backporting the upstream patch which fixes this in later gcc versions [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=61164 Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* update uClibc-ng from 1.0.30 to 1.0.31protonesso2019-01-271-2/+2
| | | | Signed-off-by: protonesso <nagakamira@gmail.com>
* musl: improve crypt() size hackJo-Philipp Wich2019-01-224-25/+54
| | | | | | | | | | | | | | Instead of silently downgrading any non-MD5 crypt() request to DES, cleanly fail with return NULL and errno = ENOSYS. This allows callers to notice the missing support instead of the unwanted silent fallback to DES. Also add a menuconfig toolchain option to optionally disable the crypt size hack completely. This can be probably made dependant on SMALL_FLASH or a similar feature indicator in a future commit. Ref: https://github.com/openwrt/openwrt/pull/1331 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* toolchain/gdb: bump to 8.2.1Koen Vandeputte2019-01-071-2/+2
| | | | | | | | | | | | | | | | PR build/23516 (gdb build error under msys+mingw: strip can't handle gdb-add-index.exe) PR build/23623 (install-strip fails) PR rust/23626 (gdb crashes in upstream rust nil-enum test) PR rust/23650 (rust field name access error mentions "foo") PR gdb/23663 (gdb 8.1.1: undefined rpl_stat function with musl toolchains) PR python/23669 (gdb.execute("show commands") doesn't work) PR python/23714 (Command repetition stops working after gdb.execute) PR gdb/23838 (8.2 regression for invalid -data-directory) PR gdb/23974 ("info os" crash when specifying invalid object) PR gdb/23999 (SYMBOL_LANGUAGE assertion failure on AIX) PR gdb/24003 (Error when binary searching CUs for a specific DIE when using DWZ) Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* glibc: update to latest 2.27 commit (BZ #24018)Hans Dedecker2019-01-071-2/+2
| | | | | | | 68c2930a56 NEWS: add entries for bugs 23275, 23861, and 23907 766e8fb932 intl: Do not return NULL on asprintf failure in gettext [BZ #24018] Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* glibc: update to latest 2.27 commit (BZ #24027, BZ #23927)Hans Dedecker2019-01-011-2/+2
| | | | | | | | | | | | | | | | 3981fc3453 malloc: Always call memcpy in _int_realloc [BZ #24027] f6d0e8c36f Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP (bug 23861) 2794474c65 powerpc: Add missing CFI register information (bug #23614) d8ca7a0c71 Fix _dl_profile_fixup data-dependency issue (Bug 23690) f1e211096b inet/tst-if_index-long: New test case for CVE-2018-19591 [BZ #23927] 4e9f34e54f support: Implement <support/descriptors.h> to track file descriptors e75481a7a7 support: Close original descriptors in support_capture_subprocess 0f79dc0be3 support_quote_string: Do not use str parameter name 6b2dd53aa0 support: Implement support_quote_string 50477165b9 malloc: Add another test for tcache double free check. 4b246928bd malloc: tcache double free check Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* gcc: update to version 7.4.0Hauke Mehrtens2018-12-1526-322/+8
| | | | | | | | This updates the GCC to the next minor release which fixes 178 bugs. The two removed patches are included in gcc 7.4.0 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* glibc: update to latest 2.27 commit (BZ #23927)Hans Dedecker2018-12-141-2/+2
| | | | | | | | | | | | | | | f6d0e8c36f Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP (bug 23861) 2794474c65 powerpc: Add missing CFI register information (bug #23614) d8ca7a0c71 Fix _dl_profile_fixup data-dependency issue (Bug 23690) f1e211096b inet/tst-if_index-long: New test case for CVE-2018-19591 [BZ #23927] 4e9f34e54f support: Implement <support/descriptors.h> to track file descriptors e75481a7a7 support: Close original descriptors in support_capture_subprocess 0f79dc0be3 support_quote_string: Do not use str parameter name 6b2dd53aa0 support: Implement support_quote_string 50477165b9 malloc: Add another test for tcache double free check. 4b246928bd malloc: tcache double free check Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* glibc: update to latest 2.27 commit (BZ #23927)Hans Dedecker2018-12-061-2/+2
| | | | | | 9f433fc791 CVE-2018-19591: if_nametoindex: Fix descriptor for overlong name [BZ #23927] Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* glibc: update to latest 2.27 commitHans Dedecker2018-11-221-2/+2
| | | | | | | 1517dfb8aa Add an additional test to resolv/tst-resolv-network.c 1050634904 libanl: properly cleanup if first helper thread creation failed (bug 22927) Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* glibc: update to latest 2.27 commit (BZ#23709,BZ#23822)Hans Dedecker2018-11-051-2/+2
| | | | | | | | d8eee5ef55 x86: Fix Haswell CPU string flags (BZ#23709) 5cd5309d91 i64: fix missing exp2f, log2f and powf symbols in libm.a [BZ #23822] 1759ea197b conform: XFAIL siginfo_t si_band test on sparc64 Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* glibc: update to latest 2.27 commit (BZ #23562, BZ #23275)Hans Dedecker2018-10-231-2/+2
| | | | | | | 77b4b8231e signal: Use correct type for si_band in siginfo_t [BZ #23562] 5bdb6897fc Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* toolchain/musl: Don't override optimization set by upstreamDaniel Engberg2018-10-201-2/+5
| | | | | | | | | | Don't override optimization set by upstream. Provides a speed increase for internal (library), malloc and string operations in musl. Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net> [add : to PKG_RELEASE release variable for consistency] Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* toolchain/glibc: update to 2.27+Hans Dedecker2018-10-162-4/+4
| | | | Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* binutils: Use 2.31.1 by defaultDaniel Engberg2018-10-072-2/+2
| | | | | | Set binutils 2.31.1 as default Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain/binutils: Fix u-boot on some armhf platformsDaniel Engberg2018-10-071-0/+276
| | | | | | | | | | Backport commit 3d9c8f6b3f033a6092425b7344647fb51dbed5c6 Without this binutils doesn't properly link u-boot Source: https://sourceware.org/bugzilla/show_bug.cgi?id=23571 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain/fortify-headers: Update to 1.0Daniel Engberg2018-10-071-2/+2
| | | | | | Update fortify-headers to 1.0 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* build: drop buildbot toolchain rebuild check when not using gitFelix Fietkau2018-09-241-0/+2
| | | | | | | | The check cleans and rebuilds the toolchain if it changed on update. When building from a source tarball, it is reasonable to expect that there will be no updates, so no rebuild check is necessary Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain/musl: update to version 1.1.20Christian Lamparter2018-09-216-88/+32
| | | | | | | | | | | | | | | | | | | | | | | This release introduces the ability to replace/interpose the allocator (malloc) subject to certain restrictions, adds an experimental m68k port, and makes notable improvements to stdio (application-provided buffers), getaddrinfo (AI_ADDRCONFIG, support for IPv4-only kernel configurations), the dynamic linker (safety against dlopen of libraries using initial-exec TLS model, reclaiming unused memory on FDPIC archs, better dladdr results), and handling of default thread stack size (pthread_setattr_default_np now works more reliably). Many bugs have been fixed, including potentially dangerous regressions in iconv (only for new conversions to legacy encodings) and visibly incorrect behavior in printf on non-x86 archs (%a format with precision specifier), in getopt_long_only when short options are a prefix for a long option, in complex arc-trig/hyperbolic functions, in strftime and mktime (timezone-specific issues), and numerous less-obvious places. Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [altered commit msg a bit keeping it tight] Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>