MaskRay (Fangrui Song)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 30 2016, 3:24 PM (73 w, 10 h)

Recent Activity

Yesterday

MaskRay updated the summary of D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got.
Fri, May 25, 11:58 PM
MaskRay updated the diff for D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got.

Remove remaining R_X86_64_GOTOFF64

Fri, May 25, 11:58 PM
MaskRay updated the diff for D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got.

Remove R_X86_64_GOTOFF64 as grimar@ suggested

Fri, May 25, 11:53 PM
MaskRay updated the diff for D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got.

Rename test file as grimar@ suggested

Fri, May 25, 11:44 PM
MaskRay committed rL333334: [llvm-symbolizer] Simplify.
[llvm-symbolizer] Simplify
Fri, May 25, 7:33 PM

Thu, May 24

MaskRay added a comment to D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got.

Friendly ping :)

Thu, May 24, 6:02 PM
MaskRay committed rL333247: [llvm-symbolizer] Simplify. NFC.
[llvm-symbolizer] Simplify. NFC
Thu, May 24, 5:15 PM
MaskRay committed rL333159: [demangler] Add ItaniumPartialDemangler::isCtorOrDtor.
[demangler] Add ItaniumPartialDemangler::isCtorOrDtor
Thu, May 24, 12:02 AM
MaskRay closed D47248: [demangler] Add ItaniumPartialDemangler::isCtorOrDtor.
Thu, May 24, 12:02 AM

Wed, May 23

MaskRay abandoned D47249: [ELF] Implement --icf=safe.

I hadn't noticed the better proposal when I sent this one out. I'll abandon this revision

Wed, May 23, 4:49 PM
MaskRay updated the diff for D47248: [demangler] Add ItaniumPartialDemangler::isCtorOrDtor.

.

Wed, May 23, 4:39 PM
MaskRay updated the diff for D47248: [demangler] Add ItaniumPartialDemangler::isCtorOrDtor.

don't change QualifiedName

Wed, May 23, 4:38 PM
MaskRay added inline comments to D47248: [demangler] Add ItaniumPartialDemangler::isCtorOrDtor.
Wed, May 23, 4:35 PM
MaskRay updated the diff for D47248: [demangler] Add ItaniumPartialDemangler::isCtorOrDtor.

Catch StdQualifiedName and AbiTagAttr

Wed, May 23, 4:33 PM
MaskRay committed rL333099: Revert "[ELF] Simplify. NFC".
Revert "[ELF] Simplify. NFC"
Wed, May 23, 9:55 AM
MaskRay committed rLLD333099: Revert "[ELF] Simplify. NFC".
Revert "[ELF] Simplify. NFC"
Wed, May 23, 9:55 AM
MaskRay updated the summary of D47249: [ELF] Implement --icf=safe.
Wed, May 23, 12:24 AM
MaskRay updated the summary of D47249: [ELF] Implement --icf=safe.
Wed, May 23, 12:14 AM
MaskRay updated the diff for D47249: [ELF] Implement --icf=safe.

test

Wed, May 23, 12:11 AM

Tue, May 22

MaskRay added a dependency for D47249: [ELF] Implement --icf=safe: D47248: [demangler] Add ItaniumPartialDemangler::isCtorOrDtor.
Tue, May 22, 11:58 PM
MaskRay added a dependent revision for D47248: [demangler] Add ItaniumPartialDemangler::isCtorOrDtor: D47249: [ELF] Implement --icf=safe.
Tue, May 22, 11:58 PM
MaskRay updated the diff for D47249: [ELF] Implement --icf=safe.

CHECK-NEXT:

Tue, May 22, 11:57 PM
MaskRay created D47249: [ELF] Implement --icf=safe.
Tue, May 22, 11:56 PM
MaskRay updated the diff for D47248: [demangler] Add ItaniumPartialDemangler::isCtorOrDtor.

format

Tue, May 22, 11:24 PM
MaskRay created D47248: [demangler] Add ItaniumPartialDemangler::isCtorOrDtor.
Tue, May 22, 11:22 PM
MaskRay added inline comments to D47192: [utils] Reflow asm check generation to tolerate blank lines.
Tue, May 22, 12:31 PM

Mon, May 21

MaskRay committed rL332952: [ELF] Simplify. NFC.
[ELF] Simplify. NFC
Mon, May 21, 11:32 PM
MaskRay committed rLLD332952: [ELF] Simplify. NFC.
[ELF] Simplify. NFC
Mon, May 21, 11:31 PM
MaskRay committed rL332951: CommandFlags.def -> CommandFlags.inc, leftover after r329840.
CommandFlags.def -> CommandFlags.inc, leftover after r329840
Mon, May 21, 11:16 PM
MaskRay committed rLLD332951: CommandFlags.def -> CommandFlags.inc, leftover after r329840.
CommandFlags.def -> CommandFlags.inc, leftover after r329840
Mon, May 21, 11:16 PM

Fri, May 18

MaskRay retitled D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got from [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got, and support R_X86_64_GO│····· TPC32 and R_X86_64_GOTOFF64 to [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got.
Fri, May 18, 11:41 PM
MaskRay updated the diff for D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got.

Add case R_X86_64_GOTPC64: (used in -mcmodel=large)

Fri, May 18, 11:36 PM
MaskRay retitled D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got from [ELF] Support R_X86_64_GOTPC32 and R_X86_64_GOTOFF64 to [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got, and support R_X86_64_GO│····· TPC32 and R_X86_64_GOTOFF64.
Fri, May 18, 11:20 PM
MaskRay updated the diff for D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got.

Update tests

Fri, May 18, 11:19 PM
MaskRay updated the diff for D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got.

update

Fri, May 18, 10:59 PM
MaskRay created D47098: [ELF] Make R_GOTONLY_PC_FROM_END R_GOTREL_FROM_END relative to _GLOBAL_OFFSET_TABLE_ instead of end of .got.
Fri, May 18, 6:00 PM
MaskRay added a comment to D47024: [MathExtras] Add alignToPowerOf2.

Sorry for being unclear. I mean that code also wants to avoid a division instruction. Is that because the symbols are iterated NumSymbols*Concurrency times to the saving is significant but other alignment improvement may be unnoticeable?

Fri, May 18, 10:56 AM
MaskRay added a comment to D47024: [MathExtras] Add alignToPowerOf2.

I found this when I was reading how SHF_MERGE sections are merged. Why does the code claim that power of 2 makes the parallelism more efficient?

Fri, May 18, 8:42 AM

Thu, May 17

MaskRay created D47053: [ELF] Clarify the first entry of .got.plt NFC.
Thu, May 17, 9:54 PM
MaskRay added a comment to D47024: [MathExtras] Add alignToPowerOf2.

They may be applicable in some places of LLD, e.g.

Thu, May 17, 12:55 PM
MaskRay created D47024: [MathExtras] Add alignToPowerOf2.
Thu, May 17, 12:12 PM

Wed, May 16

MaskRay committed rLLD332572: [ELF] PowerOpen ABI -> Power Architecture 64-bit v2 ABI. NFC.
[ELF] PowerOpen ABI -> Power Architecture 64-bit v2 ABI. NFC
Wed, May 16, 10:38 PM
MaskRay committed rL332572: [ELF] PowerOpen ABI -> Power Architecture 64-bit v2 ABI. NFC.
[ELF] PowerOpen ABI -> Power Architecture 64-bit v2 ABI. NFC
Wed, May 16, 10:38 PM
MaskRay closed D46904: [ELF] PowerOpen ABI -> Power Architecture 64-bit v2 ABI. NFC.
Wed, May 16, 10:38 PM

Tue, May 15

MaskRay committed rL332432: [Unix] Indent ChangeStd{in,out}ToBinary..
[Unix] Indent ChangeStd{in,out}ToBinary.
Tue, May 15, 11:47 PM
MaskRay created D46904: [ELF] PowerOpen ABI -> Power Architecture 64-bit v2 ABI. NFC.
Tue, May 15, 1:59 PM
MaskRay committed rL332372: Remove \brief commands from doxygen comments..
Remove \brief commands from doxygen comments.
Tue, May 15, 9:44 AM
MaskRay committed rLLD332372: Remove \brief commands from doxygen comments..
Remove \brief commands from doxygen comments.
Tue, May 15, 9:44 AM
MaskRay closed D46861: Remove \brief commands from doxygen comments..
Tue, May 15, 9:44 AM

Mon, May 14

MaskRay created D46861: Remove \brief commands from doxygen comments..
Mon, May 14, 11:07 PM

Sun, May 13

MaskRay committed rL332216: [llvm-ar] Make PositionalArgs static..
[llvm-ar] Make PositionalArgs static.
Sun, May 13, 11:02 PM

Fri, May 11

MaskRay added a comment to rL332085: [ELF] - Revert of: r332038, r332054, r332060, r332061, r332062, r332063.

Is the bot able to give more diagnostics information?

Fri, May 11, 4:10 PM

Thu, May 10

MaskRay committed rL332063: [ELF] Fix test.
[ELF] Fix test
Thu, May 10, 5:01 PM
MaskRay committed rLLD332063: [ELF] Fix test.
[ELF] Fix test
Thu, May 10, 5:01 PM
MaskRay committed rLLD332062: [ELF] Fix tests after rL332038.
[ELF] Fix tests after rL332038
Thu, May 10, 4:59 PM
MaskRay committed rL332062: [ELF] Fix tests after rL332038.
[ELF] Fix tests after rL332038
Thu, May 10, 4:59 PM
MaskRay committed rL332061: [ELF] --warn-backref: don't report backref to weak symbols..
[ELF] --warn-backref: don't report backref to weak symbols.
Thu, May 10, 4:56 PM
MaskRay committed rLLD332061: [ELF] --warn-backref: don't report backref to weak symbols..
[ELF] --warn-backref: don't report backref to weak symbols.
Thu, May 10, 4:56 PM
MaskRay closed D46624: [ELF] --warn-backref: don't report backref to weak symbols..
Thu, May 10, 4:56 PM
MaskRay committed rLLD332060: [ELF] Fix two tests after D45788.
[ELF] Fix two tests after D45788
Thu, May 10, 4:55 PM
MaskRay committed rL332060: [ELF] Fix two tests after D45788.
[ELF] Fix two tests after D45788
Thu, May 10, 4:55 PM
MaskRay updated the diff for D46624: [ELF] --warn-backref: don't report backref to weak symbols..

Delete checkBackrefs.

Thu, May 10, 4:50 PM
MaskRay added a comment to D46566: Add a CIE with length 0 unconditionally..

This is not a bug in glibc if we don't take behavior difference as a bug. bfd/gold seem to add a CIE of length=0 anyway so this piece of glibc/libgcc_s libunwind code won't go wrong.

Thu, May 10, 11:37 AM
MaskRay added a comment to D46566: Add a CIE with length 0 unconditionally..

last_fde is defined at https://code.woboq.org/userspace/glibc/sysdeps/generic/unwind-dw2-fde.h.html#162 . It does not check whether it reaches the end of .eh_frame (DWARF2_OBJECT_END_PTR_EXTENSION seems not defined). If there is no length=0 terminator, the pointer will run beyond the end of .eh_frame and run into successive sections (out-of-bound read), segfault or stop somewhere. This issue is usually latent/benign and I can only catch this in some internal statically-linked configuration. I don't have time to read the whole source code of how glibc/libgcc_s libunwind to understand why this routine is sometimes called but sometimes not.

Thu, May 10, 11:31 AM

Wed, May 9

MaskRay added a comment to D46624: [ELF] --warn-backref: don't report backref to weak symbols..

A real world example:

Wed, May 9, 1:37 PM

Tue, May 8

MaskRay updated the diff for D46624: [ELF] --warn-backref: don't report backref to weak symbols..

Add -o %t.exe

Tue, May 8, 8:28 PM
MaskRay created D46624: [ELF] --warn-backref: don't report backref to weak symbols..
Tue, May 8, 8:28 PM

Mon, May 7

MaskRay committed rL331738: [DebugInfo] Accept `S` in augmentation strings in CIE..
[DebugInfo] Accept `S` in augmentation strings in CIE.
Mon, May 7, 11:25 PM
MaskRay committed rL331708: Add a CIE with length 0 unconditionally..
Add a CIE with length 0 unconditionally.
Mon, May 7, 6:23 PM
MaskRay committed rLLD331708: Add a CIE with length 0 unconditionally..
Add a CIE with length 0 unconditionally.
Mon, May 7, 6:23 PM
MaskRay closed D46566: Add a CIE with length 0 unconditionally..
Mon, May 7, 6:22 PM
MaskRay created D46566: Add a CIE with length 0 unconditionally..
Mon, May 7, 5:36 PM
MaskRay added a comment to D46544: Set DF_TEXTREL only if text relocations are really needed..

The root cause is that IFUNC (e.g. R_X86_64_IRELATIVE) is incompatible with DF_TEXTREL.

Mon, May 7, 1:31 PM
MaskRay updated the diff for D46544: Set DF_TEXTREL only if text relocations are really needed..

Update test

Mon, May 7, 1:18 PM
MaskRay created D46544: Set DF_TEXTREL only if text relocations are really needed..
Mon, May 7, 1:05 PM

Sun, May 6

MaskRay committed rL331615: Fix comment. NFC.
Fix comment. NFC
Sun, May 6, 10:26 PM
MaskRay committed rL331610: [llvm-dwp] Define InitLLVM..
[llvm-dwp] Define InitLLVM.
Sun, May 6, 4:14 PM

Sat, May 5

MaskRay committed rL331602: [MC] Remove unused MCOI::GenericOperandType.
[MC] Remove unused MCOI::GenericOperandType
Sat, May 5, 1:58 PM
MaskRay committed rL331599: Simplify LLVM_ATTRIBUTE_USED call sites..
Simplify LLVM_ATTRIBUTE_USED call sites.
Sat, May 5, 1:19 PM

Fri, May 4

MaskRay committed rL331585: [Option] Remove an unnecessary conversion function..
[Option] Remove an unnecessary conversion function.
Fri, May 4, 11:10 PM

Thu, May 3

MaskRay added a comment to D46192: Script to match open Phabricator reviews with potential reviewers.

Can this script be made Python 3 compatible? Here is one place where running it under python3 will fail

Thu, May 3, 4:14 PM

Wed, May 2

MaskRay committed rL331440: Enable -fsanitize=function on FreeBSD..
Enable -fsanitize=function on FreeBSD.
Wed, May 2, 11:43 PM
MaskRay committed rC331440: Enable -fsanitize=function on FreeBSD..
Enable -fsanitize=function on FreeBSD.
Wed, May 2, 11:43 PM
MaskRay added a comment to D46228: [ELF] Use union-find set in Call-Chain Clustering (C³) heuristic to improve worst-case time complexity..

Hi Raphael, sorry for hearing that... But may I beg your last review at this revision, considering it was created before your announcement?

Wed, May 2, 6:26 PM

Mon, Apr 30

MaskRay committed rL331225: [docs] Fix docs/InternalsManual.rst heading..
[docs] Fix docs/InternalsManual.rst heading.
Mon, Apr 30, 1:55 PM
MaskRay committed rC331225: [docs] Fix docs/InternalsManual.rst heading..
[docs] Fix docs/InternalsManual.rst heading.
Mon, Apr 30, 1:55 PM

Sun, Apr 29

MaskRay committed rL331152: Rename DiagnosticClient to DiagnosticConsumer as per issue 5397..
Rename DiagnosticClient to DiagnosticConsumer as per issue 5397.
Sun, Apr 29, 5:40 PM
MaskRay committed rC331152: Rename DiagnosticClient to DiagnosticConsumer as per issue 5397..
Rename DiagnosticClient to DiagnosticConsumer as per issue 5397.
Sun, Apr 29, 5:40 PM

Sat, Apr 28

MaskRay created D46228: [ELF] Use union-find set in Call-Chain Clustering (C³) heuristic to improve worst-case time complexity..
Sat, Apr 28, 2:50 PM

Fri, Apr 27

MaskRay committed rLLD331097: Migrate from std::pointer_to_unary_function as it is removed in C++17.
Migrate from std::pointer_to_unary_function as it is removed in C++17
Fri, Apr 27, 5:18 PM
MaskRay committed rL331097: Migrate from std::pointer_to_unary_function as it is removed in C++17.
Migrate from std::pointer_to_unary_function as it is removed in C++17
Fri, Apr 27, 5:18 PM

Thu, Apr 26

MaskRay committed rLLD331018: [ELF] Fix typo. NFC.
[ELF] Fix typo. NFC
Thu, Apr 26, 10:54 PM
MaskRay committed rL331018: [ELF] Fix typo. NFC.
[ELF] Fix typo. NFC
Thu, Apr 26, 10:54 PM
MaskRay accepted D45713: [libclang] Fix the type of 'int (Foo);'.
Thu, Apr 26, 9:46 PM

Apr 24 2018

MaskRay abandoned D45676: [ADT] Remove ilist_default_traits.
Apr 24 2018, 11:02 AM
MaskRay committed rL330736: [ADT] Remove ilist_default_traits.
[ADT] Remove ilist_default_traits
Apr 24 2018, 9:38 AM

Apr 20 2018

MaskRay committed rLLD330491: [ELF] Swap argument names: use Old to refer to original symbol and New for….
[ELF] Swap argument names: use Old to refer to original symbol and New for…
Apr 20 2018, 3:54 PM
MaskRay committed rL330491: [ELF] Swap argument names: use Old to refer to original symbol and New for….
[ELF] Swap argument names: use Old to refer to original symbol and New for…
Apr 20 2018, 3:54 PM
MaskRay closed D45905: [ELF] Swap argument names: use Old to refer to original symbol and New for incoming one.
Apr 20 2018, 3:54 PM
MaskRay added a comment to D45905: [ELF] Swap argument names: use Old to refer to original symbol and New for incoming one.

The test does not change.

Apr 20 2018, 3:47 PM