musl/configure, branch master musl - an implementation of the standard library for Linux-based systems configure: enable riscv32 port 2024年02月29日T21:59:06+00:00 Stefan O'Rear sorear@fastmail.com 2020年09月03日T09:26:50+00:00 377c363fb5519a224682692004ecd3703c19df93
add loongarch64 port 2024年02月16日T14:33:10+00:00 Hongliang Wang wanghongliang@loongson.cn 2023年09月26日T01:12:01+00:00 522bd54edaa2fa404fd428f8ad0bcb0f0bec5639 Author: Xiaojuan Zhai <zhaixiaojuan@loongson.cn> Author: Meidan Li <limeidan@loongson.cn> Author: Guoqi Chen <chenguoqi@loongson.cn> Author: Xiaolin Zhao <zhaoxiaolin@loongson.cn> Author: Fan peng <fanpeng@loongson.cn> Author: Jiantao Shan <shanjiantao@loongson.cn> Author: Xuhui Qiang <qiangxuhui@loongson.cn> Author: Jingyun Hua <huajingyun@loongson.cn> Author: Liu xue <liuxue@loongson.cn> Author: Hongliang Wang <wanghongliang@loongson.cn>
Author: Xiaojuan Zhai <zhaixiaojuan@loongson.cn>
Author: Meidan Li <limeidan@loongson.cn>
Author: Guoqi Chen <chenguoqi@loongson.cn>
Author: Xiaolin Zhao <zhaoxiaolin@loongson.cn>
Author: Fan peng <fanpeng@loongson.cn>
Author: Jiantao Shan <shanjiantao@loongson.cn>
Author: Xuhui Qiang <qiangxuhui@loongson.cn>
Author: Jingyun Hua <huajingyun@loongson.cn>
Author: Liu xue <liuxue@loongson.cn>
Author: Hongliang Wang <wanghongliang@loongson.cn>
configure: replace -Os with equivalent based on -O2 2023年05月21日T16:16:11+00:00 Rich Felker dalias@aerifal.cx 2023年05月21日T16:16:11+00:00 b90841e2583237a4132bbbd74752e0e9563660cd aside from the documented differences, which are the contents of this patch, GCC's -Os also has hard-coded unwanted behaviors which are impossible to override, like refusing to strength-reduce division by a constant to multiplication, presumably because the div saves a couple bytes of code. for this reason, getting rid of -Os and switching to an equivalent default optimization profile based on -O2 has been a long-term goal. as follow-ups, it may make sense to evaluate which of these variations from -O2 actually do anything useful, and eliminate the ones which are not helpful or which throw away performance for insignificant size savings. but for now, I've replicated -Os as closely as possible to provide a baseline for such evaluation.
aside from the documented differences, which are the contents of this
patch, GCC's -Os also has hard-coded unwanted behaviors which are
impossible to override, like refusing to strength-reduce division by a
constant to multiplication, presumably because the div saves a couple
bytes of code. for this reason, getting rid of -Os and switching to an
equivalent default optimization profile based on -O2 has been a
long-term goal.
as follow-ups, it may make sense to evaluate which of these variations
from -O2 actually do anything useful, and eliminate the ones which are
not helpful or which throw away performance for insignificant size
savings. but for now, I've replicated -Os as closely as possible to
provide a baseline for such evaluation.
configure: disable TBAA optimization because most compilers are buggy 2022年10月19日T18:01:31+00:00 Rich Felker dalias@aerifal.cx 2022年10月01日T01:20:32+00:00 833a469167521040c7ae94f3c990e258e29445f9 unlike most projects that use -fno-strict-aliasing, we aim to have all sources respect the C language rules for effective type that make type-based alias analysis optimizations possible. unfortunately, it turns out that there are deep, and likely very difficult to fix, flaws in the TBAA performed by GCC and likely other compilers, whereby this kind of optimization can transform code that follows the rules strictly in ways that will make it malfunction. see for example GCC bugs 107107 and 107115, the latter of which also affects clang. there are not presently any known instances of breakage due to wrong type-based aliasing optimizations in our codebase. nonetheless, since the transformations are unsound and could introduce breakage, configure CFLAGS to build with -fno-strict-aliasing. some casual analysis of the effects on codegen suggest that this is unlikely to affect performance except possibly in the regex engine. in general, we should probably prefer making better use of the restrict keyword over relying on types to imply non-aliasing for optimization purposes; doing so should be able to get back any performance that was lost and more, should it turn out to matter (unlikely).
unlike most projects that use -fno-strict-aliasing, we aim to have all
sources respect the C language rules for effective type that make
type-based alias analysis optimizations possible. unfortunately, it
turns out that there are deep, and likely very difficult to fix, flaws
in the TBAA performed by GCC and likely other compilers, whereby this
kind of optimization can transform code that follows the rules
strictly in ways that will make it malfunction. see for example GCC
bugs 107107 and 107115, the latter of which also affects clang.
there are not presently any known instances of breakage due to wrong
type-based aliasing optimizations in our codebase. nonetheless, since
the transformations are unsound and could introduce breakage,
configure CFLAGS to build with -fno-strict-aliasing.
some casual analysis of the effects on codegen suggest that this is
unlikely to affect performance except possibly in the regex engine. in
general, we should probably prefer making better use of the restrict
keyword over relying on types to imply non-aliasing for optimization
purposes; doing so should be able to get back any performance that was
lost and more, should it turn out to matter (unlikely).
remove ARMSUBARCH relic from configure 2022年04月27日T12:45:18+00:00 Stefan O'Rear sorear@fastmail.com 2020年09月03日T07:17:45+00:00 03f71251e6987b18d005e5a9e07d20906ae4b143 commit 0f814a4e57e80d2512934820b878211e9d71c93e removed its use.
commit 0f814a4e57e80d2512934820b878211e9d71c93e removed its use.
fix failure to use add-cfi scripts on asm when building out-of-tree 2022年01月07日T18:30:46+00:00 Wesley Wiser wesleywiser@microsoft.com 2021年10月21日T16:09:30+00:00 c4d4028dde90562f631edf559fbc42d8ec1b29de use $srcdir in configure test for add-cfi script.
use $srcdir in configure test for add-cfi script.
add SPE FPU support to powerpc-sf 2021年09月23日T23:11:46+00:00 Rich Felker dalias@aerifal.cx 2021年09月23日T23:11:46+00:00 7be59733d71ada3a32a98622507399253f1d5e48 When the soft-float ABI for PowerPC was added in commit 5a92dd95c77cee81755f1a441ae0b71e3ae2bcdb, with Freescale cpus using the alternative SPE FPU as the main use case, it was noted that we could probably support hard float on them, but that it would involve determining some difficult ABI constraints. This commit is the completion of that work. The Power-Arch-32 ABI supplement defines the ABI profiles, and indeed ATR-SPE is built on ATR-SOFT-FLOAT. But setjmp/longjmp compatibility are problematic for the same reason they're problematic on ARM, where optional float-related parts of the register file are "call-saved if present". This requires testing __hwcap, which is now done. In keeping with the existing powerpc-sf subarch definition, which did not have fenv, the fenv macros are not defined for SPE and the SPEFSCR control register is left (and assumed to start in) the default mode.
When the soft-float ABI for PowerPC was added in commit
5a92dd95c77cee81755f1a441ae0b71e3ae2bcdb, with Freescale cpus using
the alternative SPE FPU as the main use case, it was noted that we
could probably support hard float on them, but that it would involve
determining some difficult ABI constraints. This commit is the
completion of that work.
The Power-Arch-32 ABI supplement defines the ABI profiles, and indeed
ATR-SPE is built on ATR-SOFT-FLOAT. But setjmp/longjmp compatibility
are problematic for the same reason they're problematic on ARM, where
optional float-related parts of the register file are "call-saved if
present". This requires testing __hwcap, which is now done.
In keeping with the existing powerpc-sf subarch definition, which did
not have fenv, the fenv macros are not defined for SPE and the SPEFSCR
control register is left (and assumed to start in) the default mode.
configure: do not use obsolescent form of test -a|o 2020年11月29日T05:58:45+00:00 Issam E. Maghni issam.e.maghni@mailbox.org 2020年11月02日T22:16:41+00:00 d046ec92c1e5a487a8f9d584ebb79c3bc97ea95f The -a and -o operators are obsolescent and not in baseline POSIX.
The -a and -o operators are obsolescent and not in baseline POSIX.
configure: enable warnings by default 2020年08月28日T00:43:47+00:00 Rich Felker dalias@aerifal.cx 2020年08月28日T00:43:47+00:00 86ac0f794731f03dfff40ee843ff9e2752945d5e now that -Wall is not used and we control which warnings are enabled, it makes sense to have the wanted ones on by default. hopefully this will also discourage manually adding -Wall to CFLAGS and making incorrect changes or bug reports based on the compiler's output.
now that -Wall is not used and we control which warnings are enabled,
it makes sense to have the wanted ones on by default. hopefully this
will also discourage manually adding -Wall to CFLAGS and making
incorrect changes or bug reports based on the compiler's output.
configure: use additive warnings instead of subtracting from -Wall 2020年08月28日T00:39:41+00:00 Rich Felker dalias@aerifal.cx 2020年08月28日T00:39:41+00:00 0a312d34b98940f6543b4ae07077d1d59d0afe5b -Wall varies too much by compiler and version. rather than trying to track all the unwanted style warnings that need to be subtracted, just enable wanted warnings. also, move -Wno-pointer-to-int-cast outside --enable-warnings conditional so that it always applies, since it's turning off a nuisance warning that's on-by-default with most compilers.
-Wall varies too much by compiler and version. rather than trying to
track all the unwanted style warnings that need to be subtracted, just
enable wanted warnings.
also, move -Wno-pointer-to-int-cast outside --enable-warnings
conditional so that it always applies, since it's turning off a
nuisance warning that's on-by-default with most compilers.

AltStyle によって変換されたページ (->オリジナル) /