Closed Bug 609431 Opened 9 years ago Closed 8 years ago

LNK4221 MSVC build warnings in js/src/ (object file does not define any previously undefined public symbols)

Categories

(Core :: JavaScript Engine, defect)

x86
Windows 7
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla9

People

(Reporter: RyanVM, Assigned: emorley)

References

(Blocks 1 open bug)

Details

(Whiteboard: [build_warning])

Attachments

(1 file)

This warning appeared in MSVC builds after a recent TM merge.
ExecutableAllocatorPosix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
RegAlloc.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
jsinvoke.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
jsgcstats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
Whiteboard: [build_warning]
Blocks: buildwarning
Building locally with MSVC2010 using http://hg.mozilla.org/integration/mozilla-inbound/rev/f827e9173fea , I still get:

ExecutableAllocatorOS2.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
- Include: http://mxr.mozilla.org/mozilla-central/source/js/src/Makefile.in#428
- File: http://mxr.mozilla.org/mozilla-central/source/js/src/assembler/jit/ExecutableAllocatorOS2.cpp

ExecutableAllocatorPosix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
- Include: http://mxr.mozilla.org/mozilla-central/source/js/src/Makefile.in#426
- Include: http://mxr.mozilla.org/mozilla-central/source/js/src/Makefile.in#1050
- File: http://mxr.mozilla.org/mozilla-central/source/js/src/assembler/jit/ExecutableAllocatorPosix.cpp

Logging.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
- Include: http://mxr.mozilla.org/mozilla-central/source/js/src/Makefile.in#431
- File: http://mxr.mozilla.org/mozilla-central/source/js/src/methodjit/Logging.cpp

RegAlloc.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
- Include: http://mxr.mozilla.org/mozilla-central/source/js/src/Makefile.in#294
- Include: http://mxr.mozilla.org/mozilla-central/source/js/src/Makefile.in#309
- File: http://mxr.mozilla.org/mozilla-central/source/js/src/nanojit/RegAlloc.h
- File: http://mxr.mozilla.org/mozilla-central/source/js/src/nanojit/RegAlloc.cpp

I'm presuming this just needs a bunch of platform specific ifdefs in js/src/Makefile.in to prevent them being included unnecessarily.
Attached patch Patch v1Splinter Review
Adds a few OS and also MOZ_DEBUG specific ifdefs to js/src/Makefile.in to stop including files that don't do anything on certain platforms/when not building debug.

Builds fine locally (MSVC 2010) with the comment 1 warnings no longer showing; sent to try:
https://tbpl.mozilla.org/?tree=Try&usebuildbot=1&rev=590f59544006
Assignee: general → bmo
Status: NEW → ASSIGNED
Attachment #560785 - Flags: review?(khuey)
Flags: in-testsuite-
Summary: warning LNK4221 after recent TM merge → LNK4221 MSVC build warnings in js/src/ (object file does not define any previously undefined public symbols)
https://hg.mozilla.org/mozilla-central/rev/2cef60b8a9c2
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.