Page MenuHomePhabricator

MaskRay (Fangrui Song)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 30 2016, 3:24 PM (116 w, 1 d)

Recent Activity

Today

MaskRay committed rG54ce1b18c5f7: [pp-trace] Delete redundant clang:: (authored by MaskRay).
[pp-trace] Delete redundant clang::
Sun, Mar 24, 12:31 AM
MaskRay committed rL356851: [pp-trace] Delete redundant clang::.
[pp-trace] Delete redundant clang::
Sun, Mar 24, 12:30 AM
MaskRay committed rCTE356851: [pp-trace] Delete redundant clang::.
[pp-trace] Delete redundant clang::
Sun, Mar 24, 12:30 AM
MaskRay committed rGbe860a04b62a: [pp-trace] Wrap code in clang::pp_trace (authored by MaskRay).
[pp-trace] Wrap code in clang::pp_trace
Sun, Mar 24, 12:21 AM
MaskRay committed rL356850: [pp-trace] Wrap code in clang::pp_trace.
[pp-trace] Wrap code in clang::pp_trace
Sun, Mar 24, 12:20 AM
MaskRay committed rCTE356850: [pp-trace] Wrap code in clang::pp_trace.
[pp-trace] Wrap code in clang::pp_trace
Sun, Mar 24, 12:20 AM

Yesterday

MaskRay committed rCTE356849: [pp-trace] Modernize the code.
[pp-trace] Modernize the code
Sat, Mar 23, 11:57 PM
MaskRay committed rG10f69948fb9d: [pp-trace] Modernize the code (authored by MaskRay).
[pp-trace] Modernize the code
Sat, Mar 23, 11:55 PM
MaskRay committed rL356849: [pp-trace] Modernize the code.
[pp-trace] Modernize the code
Sat, Mar 23, 11:53 PM
MaskRay committed rG40483e1831ca: [DWARF] Delete a stray break and a stray comment. NFC (authored by MaskRay).
[DWARF] Delete a stray break and a stray comment. NFC
Sat, Mar 23, 9:17 AM
MaskRay committed rL356838: [DWARF] Delete a stray break and a stray comment. NFC.
[DWARF] Delete a stray break and a stray comment. NFC
Sat, Mar 23, 9:15 AM
MaskRay added a comment to D58848: [DebugInfo] follow up for "add SectionedAddress to DebugInfo interfaces".
In D58848#1440177, @avl wrote:

Thank you!

Sat, Mar 23, 2:12 AM · Restricted Project

Fri, Mar 22

MaskRay added a comment to D59732: [DWARF] Delete one unused DWARFContext::create overload and associated ctor of DWARFObjInMemory.

Oops it is used by unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp but not in library code. Let me see how to update the tests to use the other DWAAARFContext::create.

Fri, Mar 22, 7:37 PM · Restricted Project
MaskRay added a comment to D59531: [ELF] Produce multiple PT_NOTE segments as needed.

Roland pointed out that this will be a regression after those special high alignment notes are flushed from the ecosystem (this is apparently a recent addition and the issue will be resolved in the months to come). A possibility is that if we see a note section with greater than 4-byte alignment then we use this method but otherwise fallback to the old method. This means that on Linux binaries for the time being (while this new ABI thing is being flushed out of the ecosystem) will be slightly larger but as soon as its fixed ld.lld will be back to fully functioning. This is a general strategy too because no matter size the notes are, the reader will bump by 4-byte alignment. That seems fine to me and I'll upload that change today hopefully.

Fri, Mar 22, 7:22 PM · Restricted Project
MaskRay updated the diff for D59732: [DWARF] Delete one unused DWARFContext::create overload and associated ctor of DWARFObjInMemory.

Fix typo in the title

Fri, Mar 22, 7:16 PM · Restricted Project
MaskRay created D59732: [DWARF] Delete one unused DWARFContext::create overload and associated ctor of DWARFObjInMemory.
Fri, Mar 22, 7:15 PM · Restricted Project
MaskRay added a comment to D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).

This gives me more confidence..

ninja -C Release clang lld  # build lld with this change

cmake -GNinja -H. -BGOT -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=$HOME/llvm/Release/bin/clang++ -DCMAKE_C_COMPILER=$HOME/llvm/Release/bin/clang -DLLVM_ENABLE_LLD=On -DLLVM_INCLUDE_GO_TESTS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DBUILD_SHARED_LIBS=On
ninja -C GOT check-all  # all (llvm+clang+extra+lld+compiler-rt) passed
Fri, Mar 22, 11:48 AM · Restricted Project
MaskRay added inline comments to D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.
Fri, Mar 22, 11:40 AM · Restricted Project
MaskRay updated the diff for D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.

/*DiscardedSecIdx*/ 0 -> /*DiscardedSecIdx=*/0

Fri, Mar 22, 11:40 AM · Restricted Project
MaskRay added a comment to D54747: Discard debuginfo for object files empty after GC.

@rocallahan I find that people are discussing a generic approach in D59553

Fri, Mar 22, 8:24 AM · Restricted Project, lld
MaskRay added a comment to D59333: ELF: Rename Configuration::Static to Bstatic. NFCI..

Maybe we should also update the helptext of Bstatic? It currently says that "Do not link against shared libraries" which doesn't sound like it captures the exact meaning of the option.

"Do not search for dynamic libraries when linking"?

Is it worth mentioning the positional behavior? "Do not search for shared libraries mentioned on the command line after the option"

The default behavior can be restored with -Bdynamic, which makes the wording
"mentioned on the command line after the option" not so precise perhaps?
We do not mention the position for other positional options as far I can see too (like for -as-needed and -whole-archive).

For -whole-archive we have just:
"Force load of all members in a static library."

And then for -no-whole-archive:
"Restores the default behavior of loading archive members."

Maybe use words "disable/enable", i.e change the -Bstatic to
"Disable the lookup of dynamic libraries when linking".

and then -Bdynamic to something like
"Enable the lookup of dynamic libraries when linking (default)"?

Fri, Mar 22, 8:18 AM · Restricted Project
MaskRay updated the diff for D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.

0 -> /*DiscardedSecIdx=*/0

Fri, Mar 22, 8:14 AM · Restricted Project
MaskRay added inline comments to D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.
Fri, Mar 22, 8:08 AM · Restricted Project
MaskRay updated the diff for D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.

Address grimar's comments

Fri, Mar 22, 8:08 AM · Restricted Project
MaskRay added a comment to D59674: This test assumes that -rtlib defaults to libgcc. But that isn't true in the face of -DCLANG_DEFAULT_RTLIB=compiler-rt..

It looks Phabricator doesn't have a good diff algorithm... // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \

Fri, Mar 22, 1:51 AM · Restricted Project
MaskRay added a comment to D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).

This gives me more confidence..

Fri, Mar 22, 12:53 AM · Restricted Project
MaskRay updated the diff for D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.

.

Fri, Mar 22, 12:47 AM · Restricted Project
MaskRay updated the diff for D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.

Binding != STB_WEAK

Fri, Mar 22, 12:47 AM · Restricted Project
MaskRay updated the diff for D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.

.

Fri, Mar 22, 12:21 AM · Restricted Project
MaskRay added a reviewer for D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections: grimar.
Fri, Mar 22, 12:20 AM · Restricted Project
MaskRay updated the diff for D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.

generalize to SHF_EXCLUDE and other discarded sections

Fri, Mar 22, 12:19 AM · Restricted Project

Thu, Mar 21

MaskRay updated the diff for D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).

Simplify In.GotPlt->HasGotPltOffRel = true; after reading the interaction again...

Thu, Mar 21, 10:40 PM · Restricted Project
MaskRay updated the diff for D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).

Update code/tests related to R_GOTPLT R_TLSGD_GOTPLT

Thu, Mar 21, 10:22 PM · Restricted Project
MaskRay committed rGdc6c0cf94dfb: [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation… (authored by MaskRay).
[DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation…
Thu, Mar 21, 7:47 PM
MaskRay committed rG4597dce48319: [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation… (authored by MaskRay).
[DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation…
Thu, Mar 21, 7:47 PM
MaskRay committed rL356730: [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation….
[DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation…
Thu, Mar 21, 7:46 PM
MaskRay committed rL356729: [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation….
[DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation…
Thu, Mar 21, 7:46 PM
MaskRay closed D57939: [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.
Thu, Mar 21, 7:46 PM · Restricted Project
MaskRay committed rLLD356730: [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation….
[DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation…
Thu, Mar 21, 7:46 PM
MaskRay closed D57940: Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.
Thu, Mar 21, 7:46 PM · Restricted Project
MaskRay updated the diff for D57939: [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.

Update title

Thu, Mar 21, 7:35 PM · Restricted Project
MaskRay updated the diff for D57939: [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.

Update description

Thu, Mar 21, 7:35 PM · Restricted Project
MaskRay added a comment to D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.

Thank you!

If I'm understanding correctly, for the case where the relocation is not in the same object file as the discarded section, we'll still get the "undefined symbol" error message. I don't know if it would be possible to enhance that case to print the "relocation against discarded section" message as well. (gold does print that message in this case; it just doesn't print the additional information about the section group signature and prevailing definition.)

Symbol has the File field but not the section index (st_shndx). If the relocation is not in the same object as the discarded section, we can't get the defined section easily.

Could we do so via symbol table lookup? Rui said in https://bugs.llvm.org/show_bug.cgi?id=41133 that "We already insert all symbols (including ones for discarded sections) to the symbol table".

Thu, Mar 21, 6:58 PM · Restricted Project
MaskRay added a comment to D57940: Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.

dispatch using Config->IsRela

The value of getAddend<ELFT>(Rel); now only seems to be in Ref.getRawDataRefImpl().p now. Shouldn't the rel case also be adding the implicit addend? I'm not sure I'm reading the code currently but it looks to me like REL no longer gets the addend added.

Thu, Mar 21, 6:46 PM · Restricted Project
MaskRay updated the diff for D57940: Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.

Dispatch on RelTy

Thu, Mar 21, 5:21 PM · Restricted Project
MaskRay added a comment to D57940: Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.

Not sure if I follow. Looks like you always instantiate the template using ELFT::Rela, so effectively you are assuming that all targets are using RELA (which is a wrong assumption by the way)? I think you need to dispatch using Config->IsRela.

Thu, Mar 21, 5:21 PM · Restricted Project
MaskRay updated the diff for D57940: Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.

dispatch using Config->IsRela

Thu, Mar 21, 5:07 PM · Restricted Project
MaskRay added a comment to D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.

Thank you!

If I'm understanding correctly, for the case where the relocation is not in the same object file as the discarded section, we'll still get the "undefined symbol" error message. I don't know if it would be possible to enhance that case to print the "relocation against discarded section" message as well. (gold does print that message in this case; it just doesn't print the additional information about the section group signature and prevailing definition.)

Thu, Mar 21, 5:01 PM · Restricted Project
MaskRay updated the diff for D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.

Factor out maybeReportDiscardedComdat

Thu, Mar 21, 5:01 PM · Restricted Project
MaskRay updated the diff for D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).

Update

Thu, Mar 21, 4:49 PM · Restricted Project
MaskRay added inline comments to D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).
Thu, Mar 21, 4:38 PM · Restricted Project
MaskRay added a reviewer for D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections: grimar.
Thu, Mar 21, 9:21 AM · Restricted Project
MaskRay created D59649: [ELF] Improve error message for relocations to symbols defined in discarded sections.
Thu, Mar 21, 9:21 AM · Restricted Project
MaskRay committed rGebfb7852bef5: [BasicAA] Use DenseMap::try_emplace after D59151. NFC (authored by MaskRay).
[BasicAA] Use DenseMap::try_emplace after D59151. NFC
Thu, Mar 21, 1:48 AM
MaskRay committed rL356651: [BasicAA] Use DenseMap::try_emplace after D59151. NFC.
[BasicAA] Use DenseMap::try_emplace after D59151. NFC
Thu, Mar 21, 1:48 AM
MaskRay added a comment to D54747: Discard debuginfo for object files empty after GC.

Here are some results for the rusoto test in https://github.com/rust-lang/rust/issues/56068#issue-382175735:

LLDBinary size in bytes
LLD 6.0.143,791,192
LLD 8.0.0 1cfcf404f6b23943405bc3c5bb5940b10b91462443,861,056
LLD 8.0.0 1cfcf404f6b23943405bc3c5bb5940b10b914624 --start-lib43,844,760
LLD 8.0.0 1cfcf404f6b23943405bc3c5bb5940b10b914624 + this patch6,281,488

For --start-lib I wrapped --start-lib/--end-lib around all object files.

As I expected --start-lib didn't make much difference. The dependencies containing debuginfo that I want to be GCed away are already packaged into static libraries before being passed to the final link.

Thu, Mar 21, 1:07 AM · Restricted Project, lld
MaskRay added inline comments to D54747: Discard debuginfo for object files empty after GC.
Thu, Mar 21, 1:01 AM · Restricted Project, lld

Wed, Mar 20

MaskRay added a comment to D59531: [ELF] Produce multiple PT_NOTE segments as needed.

We don't know addresses at this point, and indeed we can't because the layout of the rest of the output file depends on how many program headers there are, which is decided by this function. I would be in favour of the one PT_NOTE per SHT_NOTE as it is simpler and handles more cases.

Wed, Mar 20, 7:37 PM · Restricted Project
MaskRay added a comment to D57940: Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.

I thought that I sent it before, but it's gone somewhere...

I wonder why you had to use template. Looks like you could just pass a plain function pointer. Is there any reason you didn't do that?

Wed, Mar 20, 6:16 PM · Restricted Project
MaskRay updated the diff for D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).

.

Wed, Mar 20, 6:08 PM · Restricted Project
MaskRay updated the diff for D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).

Update the comment to

Wed, Mar 20, 6:07 PM · Restricted Project
MaskRay added inline comments to D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).
Wed, Mar 20, 4:37 PM · Restricted Project
MaskRay updated the diff for D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).

Improve 3 tests

Wed, Mar 20, 4:08 AM · Restricted Project
MaskRay created D59594: [ELF] Change GOT*_FROM_END (relative to end(.got)) to GOTPLT* (start(.got.plt)).
Wed, Mar 20, 3:15 AM · Restricted Project
MaskRay added a comment to D59559: [ELF] Make R_I386_GOTPC and R_X86_64_GOTPC32/64 resolve to .got.plt..

If there isn't a convincing reason .got and .got.plt should be adjacent, I think we probably don't need end(.got) == start(.got.plt) (I've changed my mind about that after investigating this more).

Yes, I am likely mixing up things from other linkers vs how it is implemented in ld.lld. In ld.lld, for the reloc expression like G + GOT + A - P, we conveniently have Sym.getGotVA() as an equivalent of G + GOT eliminating a need for negative indices. So, I think end(.got) == start(.got.plt) is really not required.

Wed, Mar 20, 12:30 AM · Restricted Project
MaskRay added a comment to D59559: [ELF] Make R_I386_GOTPC and R_X86_64_GOTPC32/64 resolve to .got.plt..

If there isn't a convincing reason .got and .got.plt should be adjacent, I think we probably don't need end(.got) == start(.got.plt) (I've changed my mind about that after investigating this more).

Wed, Mar 20, 12:03 AM · Restricted Project

Tue, Mar 19

MaskRay added a comment to D59559: [ELF] Make R_I386_GOTPC and R_X86_64_GOTPC32/64 resolve to .got.plt..

[2] - Glibc's X86_64 code uses extern long _DYNAMIC[] attribute((visibility("hidden"))); just like the test in question. However, it refers to only &_DYNAMIC, for which the compiler emits R_X86_64_PC32. Hence, we do not hit the problem with

Tue, Mar 19, 11:48 PM · Restricted Project
MaskRay added a comment to D59559: [ELF] Make R_I386_GOTPC and R_X86_64_GOTPC32/64 resolve to .got.plt..

About "will break some _GLOBAL_OFFSET_TABLE_ use cases", can you elaborate which ones?

Tue, Mar 19, 10:07 PM · Restricted Project
MaskRay added a comment to D59559: [ELF] Make R_I386_GOTPC and R_X86_64_GOTPC32/64 resolve to .got.plt..

I believe the patch in the current form will break some _GLOBAL_OFFSET_TABLE_ use cases (see https://reviews.llvm.org/D48095) so I volunteer to be a reviewer :)

Tue, Mar 19, 8:14 PM · Restricted Project
MaskRay added a reviewer for D59559: [ELF] Make R_I386_GOTPC and R_X86_64_GOTPC32/64 resolve to .got.plt.: MaskRay.
Tue, Mar 19, 7:54 PM · Restricted Project
MaskRay added a comment to D59549: [ELF] Don't emit weak undefined symbols in .dynsym for static executables.

I surveyed ld.bfd's architecture-varying rules:

Tue, Mar 19, 8:55 AM · Restricted Project
MaskRay updated the diff for D59549: [ELF] Don't emit weak undefined symbols in .dynsym for static executables.

Re-title :)

Tue, Mar 19, 8:51 AM · Restricted Project
MaskRay updated the diff for D59549: [ELF] Don't emit weak undefined symbols in .dynsym for static executables.

Improve weak-undef-no-shared-libs.s

Tue, Mar 19, 8:49 AM · Restricted Project
MaskRay created D59549: [ELF] Don't emit weak undefined symbols in .dynsym for static executables.
Tue, Mar 19, 8:42 AM · Restricted Project

Mon, Mar 18

MaskRay accepted D59109: Add --unwindlib=[libgcc|compiler-rt] to parallel --rtlib= [take 2].
Mon, Mar 18, 10:33 PM · Restricted Project
MaskRay added inline comments to D59109: Add --unwindlib=[libgcc|compiler-rt] to parallel --rtlib= [take 2].
Mon, Mar 18, 10:22 PM · Restricted Project
MaskRay updated the diff for D57940: Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.

Comment S and A

Mon, Mar 18, 9:23 PM · Restricted Project
MaskRay accepted D59503: [llvm-ar] Support N [count] modifier.
Mon, Mar 18, 9:10 PM · Restricted Project
MaskRay committed rG1092fc9057b6: [ELF] Allow sh_entsize to be unrelated to sh_addralign and not a power of 2 (authored by MaskRay).
[ELF] Allow sh_entsize to be unrelated to sh_addralign and not a power of 2
Mon, Mar 18, 4:49 PM
MaskRay committed rL356428: [ELF] Allow sh_entsize to be unrelated to sh_addralign and not a power of 2.
[ELF] Allow sh_entsize to be unrelated to sh_addralign and not a power of 2
Mon, Mar 18, 4:49 PM
MaskRay committed rLLD356428: [ELF] Allow sh_entsize to be unrelated to sh_addralign and not a power of 2.
[ELF] Allow sh_entsize to be unrelated to sh_addralign and not a power of 2
Mon, Mar 18, 4:49 PM
MaskRay closed D59478: [ELF] Allow sh_entsize to be unrelated to sh_addralign and not a power of 2.
Mon, Mar 18, 4:49 PM · Restricted Project
MaskRay added inline comments to D57939: [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.
Mon, Mar 18, 7:20 AM · Restricted Project
MaskRay updated the diff for D57939: [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries.

Add supports*

Mon, Mar 18, 7:16 AM · Restricted Project
MaskRay committed rCTE356366: [pp-trace] Delete -ignore and add a new option -callbacks.
[pp-trace] Delete -ignore and add a new option -callbacks
Mon, Mar 18, 6:33 AM
MaskRay committed rG560a45a3c4f0: [pp-trace] Delete -ignore and add a new option -callbacks (authored by MaskRay).
[pp-trace] Delete -ignore and add a new option -callbacks
Mon, Mar 18, 6:30 AM
MaskRay committed rL356366: [pp-trace] Delete -ignore and add a new option -callbacks.
[pp-trace] Delete -ignore and add a new option -callbacks
Mon, Mar 18, 6:29 AM
MaskRay closed D59296: [pp-trace] Delete -ignore and add a new option -callbacks.
Mon, Mar 18, 6:29 AM · Restricted Project, Restricted Project
MaskRay updated the diff for D59296: [pp-trace] Delete -ignore and add a new option -callbacks.

Add a test with spaces around patterns

Mon, Mar 18, 6:29 AM · Restricted Project, Restricted Project
MaskRay edited reviewers for D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD, added: MaskRay; removed: maskray0.
Mon, Mar 18, 2:07 AM · Restricted Project, lld
MaskRay updated the diff for D46228: [ELF] Use union-find set and doubly linked list in Call-Chain Clustering (C³) heuristic.

std::list<int> Sections; -> int Next, Prev;

Mon, Mar 18, 1:54 AM · Restricted Project

Sun, Mar 17

MaskRay added a comment to D59296: [pp-trace] Delete -ignore and add a new option -callbacks.

@aaron.ballman Does the release note look good now? 😊

Sun, Mar 17, 9:57 PM · Restricted Project, Restricted Project
MaskRay added a comment to D59478: [ELF] Allow sh_entsize to be unrelated to sh_addralign and not a power of 2.

As a side note, sh_size%sh_entsize==0 is required and that is tested by test/ELF/invalid/merge-invalid-size.s

Sun, Mar 17, 9:52 PM · Restricted Project
MaskRay updated the diff for D59478: [ELF] Allow sh_entsize to be unrelated to sh_addralign and not a power of 2.

Update title

Sun, Mar 17, 9:42 PM · Restricted Project
MaskRay created D59478: [ELF] Allow sh_entsize to be unrelated to sh_addralign and not a power of 2.
Sun, Mar 17, 8:18 PM · Restricted Project
MaskRay added a comment to D59333: ELF: Rename Configuration::Static to Bstatic. NFCI..

Maybe we should also update the helptext of Bstatic? It currently says that "Do not link against shared libraries" which doesn't sound like it captures the exact meaning of the option.

"Do not search for dynamic libraries when linking"?

Sun, Mar 17, 8:20 AM · Restricted Project
MaskRay committed rLLD356331: [ELF] De-virtualize findOrphanPos, excludeLibs and handleARMTlsRelocation.
[ELF] De-virtualize findOrphanPos, excludeLibs and handleARMTlsRelocation
Sun, Mar 17, 6:56 AM
MaskRay committed rG6778b53e957a: [ELF] De-virtualize findOrphanPos, excludeLibs and handleARMTlsRelocation (authored by MaskRay).
[ELF] De-virtualize findOrphanPos, excludeLibs and handleARMTlsRelocation
Sun, Mar 17, 6:56 AM
MaskRay committed rL356331: [ELF] De-virtualize findOrphanPos, excludeLibs and handleARMTlsRelocation.
[ELF] De-virtualize findOrphanPos, excludeLibs and handleARMTlsRelocation
Sun, Mar 17, 6:53 AM

Fri, Mar 15

MaskRay committed rGa957f47e0a36: [ADT] Make SmallVector emplace_back return a reference (authored by MaskRay).
[ADT] Make SmallVector emplace_back return a reference
Fri, Mar 15, 7:41 PM