FailedChanges

Summary

  1. Bring back r301678. This version uses a set to speed up the synchronize method. Original message: Remove LinkerScript::flush. This patch replaces flush with a last ditch attempt at synchronizing the section list with the linker script "AST". The synchronization is a bit of a hack and should in time be avoided by creating the AST earlier so that modifications can be made directly to it instead of modifying the section list and synchronizing it back. This is the main step for fixing https://bugs.llvm.org/show_bug.cgi?id=32816. With this in place I think the only missing thing would be to have processCommands assign section indexes as dummy offsets so that the sort in OutputSection::finalize works. With this LinkerScript::assignAddresses becomes much simpler, which should help with the thunk work.
Revision 301745 by rafael:
Bring back r301678.

This version uses a set to speed up the synchronize method.

Original message:

    Remove LinkerScript::flush.

    This patch replaces flush with a last ditch attempt at synchronizing
    the section list with the linker script "AST".

    The synchronization is a bit of a hack and should in time be avoided
    by creating the AST earlier so that modifications can be made directly
    to it instead of modifying the section list and synchronizing it back.

    This is the main step for fixing
    https://bugs.llvm.org/show_bug.cgi?id=32816. With this in place I
    think the only missing thing would be to have processCommands assign
    section indexes as dummy offsets so that the sort in
    OutputSection::finalize works.

    With this LinkerScript::assignAddresses becomes much simpler, which
    should help with the thunk work.
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/ELF/LinkerScript.cpp (diff)llvm-revision.src/lld/trunk/ELF/LinkerScript.cpp
The file was modified/lld/trunk/ELF/LinkerScript.h (diff)llvm-revision.src/lld/trunk/ELF/LinkerScript.h
The file was modified/lld/trunk/ELF/Writer.cpp (diff)llvm-revision.src/lld/trunk/ELF/Writer.cpp