Closed Bug 1412267 Opened 7 years ago Closed 7 years ago

--disable-debug-symbols no longer has any effect

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox-esr52 unaffected, firefox56 unaffected, firefox57 unaffected, firefox58 fixed)

RESOLVED FIXED
mozilla58
Tracking Status
firefox-esr52 --- unaffected
firefox56 --- unaffected
firefox57 --- unaffected
firefox58 --- fixed

People

(Reporter: jbeich, Assigned: chmanchester)

References

Details

(Keywords: regression)

Attachments

(1 file)

I'm trying to build on i386 host, so --disable-debug-symbols is useful to keep memory usage during build low.

$ c++ -v
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
Target: i386-unknown-freebsd10.3
Thread model: posix
Selected GCC installation:

$ pkg install llvm40
$ clang++40 -v
clang version 4.0.1 (tags/RELEASE_401/final)
Target: i386-portbld-freebsd10.3
Thread model: posix
InstalledDir: /usr/local/llvm40/bin

$ echo "export CC=clang40  CXX=clang++40 CPP=clang-cpp40" >>.mozconfig
$ echo "ac_add_options --disable-debug-symbols" >>.mozconfig
$ ./mach bootstrap
$ ./mach build
[...]
/usr/bin/ld: failed to set dynamic section sizes: Memory exhausted
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)

Here's flags used during build:

$ ps axd
  PID TT  STAT         TIME COMMAND
[...]
98159  8  SN+J      0:01.60 | |           `-- python2.7 ./mach build
 2777  8  IWN+J     0:00.00 | |             |-- /usr/local/bin/gmake -f client.mk -s
 2843  8  IWN+J     0:00.00 | |             | `-- /usr/local/bin/gmake -f /tmp/mozilla-central/client.mk realbuild CREATE_MOZCONFIG_JSON=
 2888  8  IWN+J     0:00.00 | |             |   `-- /usr/local/bin/gmake -j8 -C /tmp/mozilla-central/obj-i386-unknown-freebsd10.3
 4536  8  IWN+J     0:00.00 | |             |     `-- /usr/local/bin/gmake compile
 4540  8  SN+J      0:00.04 | |             |       `-- /usr/local/bin/gmake recurse_compile
 4543  8  SN+J      0:00.02 | |             |         |-- /usr/local/bin/gmake -C js/src target
 7387  8  SN+J      0:00.00 | |             |         | |-- /bin/sh /usr/local/bin/clang++40 -std=gnu++11 -o Unified_cpp_js_src3.o -c -I/tmp/mozilla-central/obj-i386-unknown-freebsd10.3/dist/system_wrappers -include /tmp/mozilla-central/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DENABLE_BINARYDATA -DENABLE_SIMD -DENABLE_WASM_THREAD_OPS -DJS_CACHEIR_SPEW -DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX="lib" -DDLL_SUFFIX=".so" -DFFI_BUILDING -DMOZ_HAS_MOZGLUE -I/tmp/mozilla-central/js/src -I/tmp/mozilla-central/obj-i386-unknown-freebsd10.3/js/src -I/tmp/mozilla-central/obj-i386-unknown-freebsd10.3/js/src/ctypes/libffi/include -I/tmp/mozilla-central/js/src/ctypes/libffi/src/x86 -I/tmp/mozilla-central/obj-i386-unknown-freebsd10.3/dist/include -I/tmp/mozilla-central/obj-i386-unknown-freebsd10.3/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /tmp/mozilla-central/obj-i386-unknown-freebsd10.3/js/src/js-confdefs.h -Qunused-arguments -I/usr/local/include -Qunused-arguments -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wloop-analysis -Wc++11-compat-pedantic -Wc++14-compat -Wc++14-compat-pedantic -Wc++1z-compat -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wformat -Wno-gnu-zero-variadic-macro-arguments -Wformat-security -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-rtti -fno-exceptions -fno-math-errno -pipe -g -O -fno-omit-frame-pointer -Wno-shadow -Werror=format -fno-strict-aliasing -MD -MP -MF .deps/Unified_cpp_js_src3.o.pp -fcolor-diagnostics /tmp/mozilla-central/obj-i386-unknown-freebsd10.3/js/src/Unified_cpp_js_src3.cpp

Notice stray -g from MOZ_DEBUG_FLAGS? Regressed by mozilla-central changeset 3206a73af545.
(In reply to Jan Beich from comment #2)
> (In reply to Jan Beich from comment #1)
> > --disable-optimize + CXXFLAGS += -O3 builds also regressed.
> 
> Nevermind. Actually passing --disable-optimize rather than assuming it's the
> default behavior seems to help. This seems to match Beta and ESR52.

Just pass --enable-optimize=-O3
Ah, so that explains why my builders blows again :/
Assignee: nobody → cmanchester
Comment on attachment 8922879 [details]
Bug 1412267 - Fix the inclusion of MOZ_DEBUG_FLAGS in the compile command line to depend on MOZ_DEBUG_SYMBOLS and MOZ_DEBUG.

I confirm, FreeBSD i386 now builds fine with --disable-debug-symbols.
Attachment #8922879 - Flags: feedback+
Comment on attachment 8922879 [details]
Bug 1412267 - Fix the inclusion of MOZ_DEBUG_FLAGS in the compile command line to depend on MOZ_DEBUG_SYMBOLS and MOZ_DEBUG.

https://reviewboard.mozilla.org/r/194026/#review199622

I'll r+ this even though I'm not the domain expert because you have this all paged in and know what you're doing.

One thing I'll ask you to consider is implementing this `MOZ_DEBUG or MOZ_DEBUG_SYMBOLS` in configure. That seems like the better layer for this logic. But I'm not sure what implications that could have. It could certainly be done as a follow-up.
Attachment #8922879 - Flags: review+
Pushed by cmanchester@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3db37adcebad
Fix the inclusion of MOZ_DEBUG_FLAGS in the compile command line to depend on MOZ_DEBUG_SYMBOLS and MOZ_DEBUG. r=gps
https://hg.mozilla.org/mozilla-central/rev/3db37adcebad
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Attachment #8922879 - Flags: review?(core-build-config-reviews)
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: