Closed Bug 1651079 Opened 5 years ago Closed 5 years ago

Build failure with "ac_add_options --enable-dmd" on Android

Categories

(Core :: mozglue, defect)

defect

Tracking

()

RESOLVED FIXED
mozilla80
Tracking Status
firefox80 --- fixed

People

(Reporter: sotaro, Assigned: glandium)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

When I build with "ac_add_options --enable-dmd" on Android, the build was failed with the following error. It might be related to Bug 1598196.


In file included from Unified_cpp_logalloc_replay0.cpp:20:
mozilla-central/mozglue/misc/StackWalk.cpp:18:12: fatal error: 'Linker.h' file not found
0:03.97 # include "Linker.h"

Regressed by: 1598196
Has Regression Range: --- → yes

:glandium, can you comment to the bug?

And while here, fix the condition in mozglue/misc to match the condition
around including Linker.h in StackWalk.cpp itself.

Assignee: nobody → mh+mozilla
Status: NEW → ASSIGNED

Can you test the patch?

Flags: needinfo?(sotaro.ikeda.g)

I tested the patch. The build was failed by "ld.lld: error: undefined hidden symbol: __wrap_dladdr".


0:55.12 ld.lld: error: undefined hidden symbol: __wrap_dladdr
0:55.12 >>> referenced by StackWalk.cpp:785 (/home/sotaro/firefox_bld_and/mozilla-central/mozglue/misc/StackWalk.cpp:785)
0:55.12 >>> Unified_cpp_logalloc_replay0.o:(MozDescribeCodeAddress(void*, MozCodeAddressDetails*))
0:55.19 clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
0:55.19 /home/sotaro/firefox_bld_and/mozilla-central/config/rules.mk:458: recipe for target '../../../../dist/bin/logalloc-replay' failed
0:55.19 make[4]: *** [../../../../dist/bin/logalloc-replay] Error 1
0:55.19 /home/sotaro/firefox_bld_and/mozilla-central/config/recurse.mk:72: recipe for target 'memory/replace/logalloc/replay/target' failed
0:55.19 make[3]: *** [memory/replace/logalloc/replay/target] Error 2
0:55.19 make[3]: *** Waiting for unfinished jobs....

Flags: needinfo?(sotaro.ikeda.g)

How does it go if you add DEFINES['__wrap_dladdr'] = 'dladdr' in memory/replace/logalloc/replay/moz.build?

Flags: needinfo?(sotaro.ikeda.g)

When I tried it, the build was failed with the following log.


0:11.85 In file included from /home/sotaro/firefox_bld_and/mozilla-central/mozglue/misc/StackWalk.cpp:18:
0:11.85 In file included from /home/sotaro/firefox_bld_and/mozilla-central/mozglue/linker/Linker.h:9:
0:11.85 /home/sotaro/firefox_bld_and/mozilla-central/mozglue/linker/ElfLoader.h:36:5: error: conflicting types for 'dladdr'
0:11.85 int __wrap_dladdr(void* addr, Dl_info* info);
0:11.85 ^
0:11.85 <command line>:4:23: note: expanded from here
0:11.85 #define __wrap_dladdr dladdr
0:11.85 ^
0:11.85 /home/sotaro/.mozbuild/android-ndk-r20/sysroot/usr/include/dlfcn.h:57:5: note: previous declaration is here
0:11.85 int dladdr(const void* __addr, Dl_info* __info);
0:11.85 ^
0:11.92 1 error generated.

Flags: needinfo?(sotaro.ikeda.g)
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/2a00c9ac9ed8 Add necessary LOCAL_INCLUDES for StackWalk.cpp in memory/replace/logalloc/replay. r=rstewart
See Also: → 1639280
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla80
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: