Comment 1 for bug 1878292

Revision history for this message
Olivier Tilloy (osomon) wrote :

This is the full compiler invokation used to build the sqlite3 copy:

/usr/bin/clang-10 -std=gnu99 -o sqlite3.o -c -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DNDEBUG=1 -DTRIMMED=1 -DSQLITE_SECUR
E_DELETE=1 -DSQLITE_THREADSAFE=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_DEFAULT_PAGE_SIZE=32768 -DSQLITE_MAX_DEFAULT_PAGE_SIZE=32768 -DSQLITE_OMIT_DEPRECAT
ED -DSQLITE_OMIT_BUILTIN_TEST -DSQLITE_OMIT_DECLTYPE -DSQLITE_TEMP_STORE=2 '-DSQLITE_TEMP_FILE_PREFIX="mz_etilqs_"' -I/home/ubuntu/firefox.focal/third_party/sqlite3/src -I/home/ubuntu/firefox.focal/obj-s390x-linux-gnu/third_pa
rty/sqlite3/src -I/home/ubuntu/firefox.focal/obj-s390x-linux-gnu/dist/include -I/home/ubuntu/firefox.focal/obj-s390x-linux-gnu/dist/include/nspr -I/home/ubuntu/firefox.focal/obj-s390x-linux-gnu/dist/include/nss -fPIC -include
/home/ubuntu/firefox.focal/obj-s390x-linux-gnu/mozilla-config.h -DMOZILLA_CLIENT -Qunused-arguments -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -pthread -fPIC -pipe -g -O2 -fomit-frame-pointer -fun
wind-tables -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return
 -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=
tautological-type-limit-compare -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wno-error=deprecated-copy -Wformat -Wformat-security
-Wno-gnu-zero-variadic-macro-arguments -Wno-sign-compare -Wno-type-limits -fexperimental-new-pass-manager -MD -MP -MF .deps/sqlite3.o.pp /home/ubuntu/firefox.focal/third_party/sqlite3/src/sqlite3.c

I can reliably reproduce the indefinite hang on s390x. If I replace the optimization flag "-O2" by "-O0", the build succeeds almost instantly. "-O1" seems to hang too, so it looks like clang on s390x has trouble optimizing the sqlite3 code.