Chromium Code Reviews
DescriptionComponentize zombies to silence ObjC runtime errors in component builds
With //components/crash/core/common as a static library, its classes can
end up in multiple components and frustrate the ObjC runtime:
objc[82840]: Class CrZombie is implemented in both /b/swarm_slave/work/isolated/runpsh5q4/out/Debug/./libsessions.dylib and /b/swarm_slave/work/isolated/runpsh5q4/out/Debug/libchrome_dll.dylib. One of the two will be used. Which one is undefined.
objc[82840]: Class CrFatZombie is implemented in both /b/swarm_slave/work/isolated/runpsh5q4/out/Debug/./libsessions.dylib and /b/swarm_slave/work/isolated/runpsh5q4/out/Debug/libchrome_dll.dylib. One of the two will be used. Which one is undefined.
Making the implementation its own component stops this.
(rsesek@chromium.org did all of the thinking on this — my main
contribution was getting tired enough of the warnings to grab him.)
BUG=611894
TEST=Build Chromium for Mac with gn and `is_component_build = true`, run it from a terminal, and look for warnings like the above.
Committed: https://crrev.com/d295e88072c54f74421d8d9ba3dff50d6d5c9a0d
Cr-Commit-Position: refs/heads/master@{#405351}
Patch Set 1 #
Total comments: 4
Patch Set 2 : Move export header into core/common/ #
Total comments: 6
Patch Set 3 : Tighten visibility, explicitly use header, shorten IMPLEMENTATION macro #
Messages
Total messages: 17 (6 generated)
|
|||||||||||||||||||||||||||||||||||||