[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 219a1d: Compile all linux64x64 with clang
Nicolas Cellier
noreply at github.com
Mon Oct 28 21:08:18 UTC 2019
Branch: refs/heads/compile_linux64x64_with_clang
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 219a1dc34c3b51265ec3df2809f99da425112bbd
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/219a1dc34c3b51265ec3df2809f99da425112bbd
Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
Date: 2019-10-28 (Mon, 28 Oct 2019)
Changed paths:
M build.linux64x64/newspeak.stack.spur/build.assert/mvm
M build.linux64x64/newspeak.stack.spur/build.debug/mvm
M build.linux64x64/newspeak.stack.spur/build/mvm
M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm
M build.linux64x64/nsnac.cog.spur/build.assert/mvm
M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm
M build.linux64x64/nsnac.cog.spur/build.debug/mvm
M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm
M build.linux64x64/nsnac.cog.spur/build/mvm
M build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm
M build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm
M build.linux64x64/pharo.cog.spur.minheadless/build/mvm
M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm
M build.linux64x64/pharo.cog.spur/build.assert/mvm
M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm
M build.linux64x64/pharo.cog.spur/build.debug/mvm
M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm
M build.linux64x64/pharo.cog.spur/build/mvm
M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm
M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm
M build.linux64x64/squeak.cog.spur.immutability/build/mvm
M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm
M build.linux64x64/squeak.cog.spur/build.assert/mvm
M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm
M build.linux64x64/squeak.cog.spur/build.debug/mvm
M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm
M build.linux64x64/squeak.cog.spur/build/mvm
M build.linux64x64/squeak.stack.spur/build.assert/mvm
M build.linux64x64/squeak.stack.spur/build.debug/mvm
M build.linux64x64/squeak.stack.spur/build/mvm
Log Message:
-----------
Compile all linux64x64 with clang
reason: gcc currently has incompatible stack management with recent cog changes in SP/FP handling
Commit: 28466a92999e5834fe8bf525226f66aac1ee7e55
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/28466a92999e5834fe8bf525226f66aac1ee7e55
Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
Date: 2019-10-28 (Mon, 28 Oct 2019)
Changed paths:
M build.linux64x64/newspeak.stack.spur/build/mvm
M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm
M build.linux64x64/nsnac.cog.spur/build/mvm
M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm
M build.linux64x64/pharo.cog.spur/build/mvm
M build.linux64x64/squeak.cog.spur.immutability/build/mvm
M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm
M build.linux64x64/squeak.cog.spur/build/mvm
Log Message:
-----------
Remove obsolete gcc 3.4 specific options
YAGNI
Now that we removed most UB (all ?), this might not even be necessary, but we ain't gonna check such legacy stuff.
Commit: f8a20f758afe5824c2aac0884ca3950b45dec006
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f8a20f758afe5824c2aac0884ca3950b45dec006
Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
Date: 2019-10-28 (Mon, 28 Oct 2019)
Changed paths:
M build.linux64x64/newspeak.stack.spur/build.assert/mvm
M build.linux64x64/newspeak.stack.spur/build.debug/mvm
M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm
M build.linux64x64/nsnac.cog.spur/build.assert/mvm
M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm
M build.linux64x64/nsnac.cog.spur/build.debug/mvm
M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm
M build.linux64x64/pharo.cog.spur/build.assert/mvm
M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm
M build.linux64x64/pharo.cog.spur/build.debug/mvm
M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm
M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm
M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm
M build.linux64x64/squeak.cog.spur/build.assert/mvm
M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm
M build.linux64x64/squeak.cog.spur/build.debug/mvm
M build.linux64x64/squeak.stack.spur/build.assert/mvm
M build.linux64x64/squeak.stack.spur/build.debug/mvm
M build.linux64x64/squeak.stack.spur/build/mvm
Log Message:
-----------
Remove remaining -fwrapv compiler option in linux64x64
Reason: the -fwrapv flag let the compiler assume that integer overflow will wrap (modulo 2^nbits) rather than will never happen (because UB)
This flag was once necessary when we did depend on UB, but should be un-necessary now
If ever it's still the case, it's better to eliminate UB rather than try to hide/ignore it.
We shall NOT depend on UB.
Note if we suspect UB problems:
With clang we can use -fsanitize=undefined
This will instrumente code to detect UB situations, and create runtime warnings whenever UB is encountered
Commit: 8fd8a5090e8653ed957bf2e5c217f3e269f4b7d2
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8fd8a5090e8653ed957bf2e5c217f3e269f4b7d2
Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
Date: 2019-10-28 (Mon, 28 Oct 2019)
Changed paths:
M build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm
M build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm
M build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm
Log Message:
-----------
Fix 3 minheadless flavours trying to compile for i386 target
This ain't the right place, we are in linux64x64 here (x86_64 architecture).
Are these scripts obsolete?
Don't we build minheadless with cmake?
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/219a1dc34c3b%5E...8fd8a5090e86
More information about the Vm-dev
mailing list