[PATCH] D26130: [ELF] - Implemented --symbol-ordering-file option.
George Rimar via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 7 01:47:35 PST 2016
grimar added a comment.
In https://reviews.llvm.org/D26130#587774, @davide wrote:
> If lld mislinks firefox, we shouldn't silently ignore it and try to link with gold, but open a bug instead (and/or try to fix).
I think it is just an issue of their build system.
I found similar issues: https://bugzilla.mozilla.org/show_bug.cgi?id=1080654, https://bugzilla.mozilla.org/show_bug.cgi?id=1063359
widget/gtk/mozgtk/gtk3/moz.build has next lines:
if CONFIG['GCC_USE_GNU_LD']:
no_as_needed = ['-Wl,--no-as-needed1']
as_needed = ['-Wl,--as-needed']
else:
no_as_needed = []
as_needed = []
If I change the last two to have -Wl..., then build works fine for me.
================
Comment at: test/ELF/symbol-ordering-file.s:9
+# BEFORE: Contents of section .text:
+# BEFORE-NEXT: 11000 11223344 55
+
----------------
davide wrote:
> grimar wrote:
> > rafael wrote:
> > > Changing .text to .foo should make this easier to read as .foo doesn't have an implicit alignment.
> > linker does not concatinate .foo into single section like .text.* :(
> > So I had to use .text
> Can't you just use multiple input files with two `.foo` sections?
I think reasonable minimum to show that sorting is performed according to order file is
at least 3 sections. So that would be main test file + 2 input files.
I find testcases that use additional inputs harder to read generally, so actually I would prefer current way
when testcase is just a two files in total.
My test has 5 sections what also allows to check spaces before/after symbol in ordering file,
doing that with .foo and multiple inputs would require 4 input files I think.
https://reviews.llvm.org/D26130
More information about the llvm-commits
mailing list