[lld] r270651 - Add a few options for compatibility with GNU.

Sean Silva via llvm-commits llvm-commits at lists.llvm.org
Tue May 24 21:58:08 PDT 2016


On Tue, May 24, 2016 at 9:38 PM, Rui Ueyama <ruiu at google.com> wrote:

> We have more flags that are silently ignored. Do you think that this one
> is particularly dangerous to ignore?
>

I think it is very dangerous to ignore a flag that has a non-NFC effect
without at least giving a warning. These flags were added for a reason (see
also: https://en.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fence).

-- Sean Silva


>
> On Tue, May 24, 2016 at 9:36 PM, Sean Silva <chisophugis at gmail.com> wrote:
>
>>
>>
>> On Tue, May 24, 2016 at 9:32 PM, Rui Ueyama <ruiu at google.com> wrote:
>>
>>> On Tue, May 24, 2016 at 9:31 PM, Sean Silva <chisophugis at gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Tue, May 24, 2016 at 9:27 PM, Rui Ueyama <ruiu at google.com> wrote:
>>>>
>>>>> On Tue, May 24, 2016 at 9:25 PM, Sean Silva <chisophugis at gmail.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, May 24, 2016 at 8:38 PM, Rui Ueyama via llvm-commits <
>>>>>> llvm-commits at lists.llvm.org> wrote:
>>>>>>
>>>>>>> Author: ruiu
>>>>>>> Date: Tue May 24 22:38:16 2016
>>>>>>> New Revision: 270651
>>>>>>>
>>>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=270651&view=rev
>>>>>>> Log:
>>>>>>> Add a few options for compatibility with GNU.
>>>>>>>
>>>>>>> Modified:
>>>>>>>     lld/trunk/ELF/Options.td
>>>>>>>
>>>>>>> Modified: lld/trunk/ELF/Options.td
>>>>>>> URL:
>>>>>>> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Options.td?rev=270651&r1=270650&r2=270651&view=diff
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- lld/trunk/ELF/Options.td (original)
>>>>>>> +++ lld/trunk/ELF/Options.td Tue May 24 22:38:16 2016
>>>>>>> @@ -190,6 +190,7 @@ def alias_discard_locals_X: Flag<["-"],
>>>>>>>  def alias_dynamic_list: Joined<["--", "-"], "dynamic-list=">,
>>>>>>> Alias<dynamic_list>;
>>>>>>>  def alias_entry_e : JoinedOrSeparate<["-"], "e">, Alias<entry>;
>>>>>>>  def alias_export_dynamic_E: Flag<["-"], "E">, Alias<export_dynamic>;
>>>>>>> +def alias_export_dynamic_symbol : Joined<["--", "-"],
>>>>>>> "export-dynamic-symbol=">;
>>>>>>>
>>>>>>
>>>>>> Adding this as ignored seems dangerous. We should at least warn to
>>>>>> avoid user confusion.
>>>>>>
>>>>>
>>>>> The option is not ignored; it is an alias to an option which is
>>>>> implemented to LLD already.
>>>>>
>>>>
>>>> Shouldn't alias_export_dynamic_symbol have Alias somewhere on the line
>>>> then?
>>>>
>>>
>>> Ah, yeah, you're right. That's my mistake. I'll fix it with a test.
>>>
>>>
>>>> Also, no_ctors_in_init_array seems to be unaliased.
>>>>
>>>
>>> That's ignored.
>>>
>>
>> This option is not NFC for the linker output, so we should warn that it
>> is unimplemented. Otherwise the user may be very confused if they try to
>> pass it.
>>
>> -- Sean Silva
>>
>>
>>>
>>>
>>>
>>>>
>>>> -- Sean Silva
>>>>
>>>>
>>>>>
>>>>>
>>>>>> -- Sean Silva
>>>>>>
>>>>>>
>>>>>>>  def alias_fini_fini : Joined<["-"], "fini=">, Alias<fini>;
>>>>>>>  def alias_hash_style_hash_style : Joined<["--", "-"],
>>>>>>> "hash-style=">, Alias<hash_style>;
>>>>>>>  def alias_init_init : Joined<["-"], "init=">, Alias<init>;
>>>>>>> @@ -236,8 +237,10 @@ def fatal_warnings : Flag<["--"], "fatal
>>>>>>>  def no_add_needed : Flag<["--"], "no-add-needed">;
>>>>>>>  def no_copy_dt_needed_entries : Flag<["--"],
>>>>>>> "no-copy-dt-needed-entries">,
>>>>>>>                                  Alias<no_add_needed>;
>>>>>>> +def no_ctors_in_init_array : Flag<["--"], "no-ctors-in-init-array">;
>>>>>>>  def no_dynamic_linker : Flag<["--"], "no-dynamic-linker">;
>>>>>>>  def no_fatal_warnings : Flag<["--"], "no-fatal-warnings">;
>>>>>>> +def no_mmap_output_file : Flag<["--"], "no-mmap-output-file">;
>>>>>>>  def no_undefined_version : Flag<["--", "-"],
>>>>>>> "no-undefined-version">;
>>>>>>>  def no_warn_common : Flag<["--", "-"], "no-warn-common">;
>>>>>>>  def no_warn_mismatch : Flag<["--"], "no-warn-mismatch">;
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> llvm-commits mailing list
>>>>>>> llvm-commits at lists.llvm.org
>>>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160524/749caa92/attachment.html>


More information about the llvm-commits mailing list