Page MenuHomePhabricator

rupprecht (Jordan Rupprecht)
Engineering

Projects

User does not belong to any projects.

User Details

User Since
Jun 28 2018, 11:39 AM (46 w, 3 d)

Recent Activity

Tue, May 14

rupprecht added a comment to D61689: Change -gz and -Wa,--compress-debug-sections to use gABI compression (SHF_COMPRESSED).

So, while I think this is an entirely reasonable assumption in most cases, it's also not one that provides any kind of workaround for the few cases where it's not universally true.

Tue, May 14, 12:41 PM · Restricted Project, Restricted Project

Fri, May 10

rupprecht committed rG16c7fbd112d7: Revert [DAGCombiner] Avoid creating large tokenfactors in visitTokenFactor (authored by rupprecht).
Revert [DAGCombiner] Avoid creating large tokenfactors in visitTokenFactor
Fri, May 10, 4:18 PM
rupprecht committed rL360481: Revert [DAGCombiner] Avoid creating large tokenfactors in visitTokenFactor.
Revert [DAGCombiner] Avoid creating large tokenfactors in visitTokenFactor
Fri, May 10, 4:18 PM

Mon, May 6

rupprecht added a comment to rL357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without….

I had to revert this in rL360086. I'm following up offline to see if I can narrow down what the issue is.

Mon, May 6, 2:56 PM
rupprecht committed rG8f14e7cacfb0: Revert "Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also… (authored by rupprecht).
Revert "Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also…
Mon, May 6, 2:53 PM
rupprecht committed rL360086: Revert "Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also….
Revert "Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also…
Mon, May 6, 2:53 PM
rupprecht committed rC360086: Revert "Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also….
Revert "Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also…
Mon, May 6, 2:53 PM

Fri, May 3

rupprecht added a comment to D60974: Clang IFSO driver action..

I didn't follow the technical details, but I don't see anything wrong with moving forward on this patch. I think this seems like an interesting idea worth experimenting with.

Fri, May 3, 1:24 PM · Restricted Project, Restricted Project

Thu, May 2

rupprecht added a reviewer for D61117: Fix Bug 41353 - unique symbols printed as D instead of u: grimar.

Looks like support was recently added in rL359380, though without any tests, and was accidentally reverted.

Thu, May 2, 4:36 PM · Restricted Project
rupprecht committed rG8ab9d5a8edba: Revert [ThinLTO] Fix X86/strong_non_prevailing.ll after llvm-nm 'r' change (authored by rupprecht).
Revert [ThinLTO] Fix X86/strong_non_prevailing.ll after llvm-nm 'r' change
Thu, May 2, 2:49 PM
rupprecht added a comment to rL359314: [ThinLTO] Fix X86/strong_non_prevailing.ll after llvm-nm 'r' change.

Reverted in r359831 due to a dependency in reverting r359311

Thu, May 2, 2:49 PM
rupprecht committed rL359831: Revert [ThinLTO] Fix X86/strong_non_prevailing.ll after llvm-nm 'r' change.
Revert [ThinLTO] Fix X86/strong_non_prevailing.ll after llvm-nm 'r' change
Thu, May 2, 2:48 PM
rupprecht added a comment to rL359312: [llvm-nm] Generalize symbol types 'N', 'n' and '?'.

Reverted in r359830 due to a dependency in reverting r359311

Thu, May 2, 2:48 PM
rupprecht raised a concern with rL359311: [llvm-nm] Fix handling of symbol types 't' 'd' 'r'.

Reverted in r359830, this regresses GNU compatibility.

Thu, May 2, 2:48 PM
rupprecht committed rG51a141876897: Revert [llvm-nm] Fix handling of symbol types + [llvm-nm] Generalize symbol… (authored by rupprecht).
Revert [llvm-nm] Fix handling of symbol types + [llvm-nm] Generalize symbol…
Thu, May 2, 2:42 PM
rupprecht committed rL359830: Revert [llvm-nm] Fix handling of symbol types + [llvm-nm] Generalize symbol….
Revert [llvm-nm] Fix handling of symbol types + [llvm-nm] Generalize symbol…
Thu, May 2, 2:40 PM
rupprecht added a comment to D61117: Fix Bug 41353 - unique symbols printed as D instead of u.

(Also sorry for the delay; I was out last week and am doing a very slow job of un-burying myself from what's piled up)

Thu, May 2, 11:52 AM · Restricted Project
rupprecht added a reviewer for D61117: Fix Bug 41353 - unique symbols printed as D instead of u: zbrid.

Adding zbrid since she has context already. I'll take a look in a bit too. Thanks for the patch!

Thu, May 2, 11:46 AM · Restricted Project
rupprecht accepted D60964: [docs] Add support for Markdown documentation when creating man pages.
Thu, May 2, 11:23 AM · Restricted Project

Tue, Apr 30

rupprecht accepted D61312: [llvm-objdump] - Print relocation record in a GNU format..

lgtm, thanks!

Tue, Apr 30, 3:50 PM · Restricted Project
rupprecht accepted D61322: [yaml2obj] - Report when unknown section is referenced from program header declaration block..

llvm-objcopy test looks fine

Tue, Apr 30, 3:43 PM · Restricted Project
rupprecht accepted D60644: [compiler-rt][builtins][sanitizers] Update compiler-rt test cases for compatibility with system's toolchain .

Thanks!

Tue, Apr 30, 12:14 PM · Restricted Project, Restricted Project
rupprecht accepted D61092: [llvm-strip] Have --discard-all imply --strip-debug.
Tue, Apr 30, 12:12 PM · Restricted Project
rupprecht accepted D60189: [llvm-objcopy] Simplify SHT_NOBITS -> SHT_PROGBITS promotion.

I think this is a reasonable change -- it isn't strictly matching GNU objcopy in my tests, but we can update it if we find out this edge case is important.

Tue, Apr 30, 12:09 PM · Restricted Project
rupprecht committed rG96bbb1dc2b39: [llvm-objcopy] Add RISC-V support for -B/-O (authored by rupprecht).
[llvm-objcopy] Add RISC-V support for -B/-O
Tue, Apr 30, 8:20 AM
rupprecht committed rL359568: [llvm-objcopy] Add RISC-V support for -B/-O.
[llvm-objcopy] Add RISC-V support for -B/-O
Tue, Apr 30, 8:19 AM
rupprecht closed D61272: [llvm-objcopy] Add RISC-V support for -B/-O.
Tue, Apr 30, 8:19 AM · Restricted Project

Mon, Apr 29

rupprecht added a comment to D61272: [llvm-objcopy] Add RISC-V support for -B/-O.

I recall @ruiu telling me that mips had a really odd endianness that wasn't accounted for by the standard ELFT types. Is that still true?

Mon, Apr 29, 12:15 PM · Restricted Project
rupprecht updated the summary of D61272: [llvm-objcopy] Add RISC-V support for -B/-O.
Mon, Apr 29, 11:58 AM · Restricted Project
Herald added a reviewer for D61272: [llvm-objcopy] Add RISC-V support for -B/-O: alexshap.
Mon, Apr 29, 11:57 AM · Restricted Project

Apr 18 2019

rupprecht committed rG2b32902a889e: [llvm-objcopy] Add -B mips (authored by rupprecht).
[llvm-objcopy] Add -B mips
Apr 18 2019, 7:21 AM
rupprecht committed rL358667: [llvm-objcopy] Add -B mips.
[llvm-objcopy] Add -B mips
Apr 18 2019, 7:21 AM
rupprecht added a comment to D60502: [llvm-nm] Add --special-syms.

Just to see if I understand the comments so far: --special-syms is essentially already the default for llvm-nm (i.e. we print special symbols), but not for GNU nm. And so even though we print special symbols, a configure script that checks if $NM --special-syms is supported will fail when it shouldn't.

Apr 18 2019, 4:19 AM · Restricted Project

Apr 17 2019

rupprecht added a comment to D59491: Fix relative thin archive path handling.

Sorry, this patch dropped off my radar. I'm not sure I'll get to it this or next week, but I'll make sure to review it eventually (unless ruiu does it sooner).

Apr 17 2019, 8:24 AM · Restricted Project
rupprecht accepted D60324: [llvm-objcopy] Add switch to allow removing referenced sections.

Sorry, I should have just accepted this before -- the option missing from strip is my only objection. The rest are just suggestions.

Apr 17 2019, 4:11 AM · Restricted Project
rupprecht added a comment to D60324: [llvm-objcopy] Add switch to allow removing referenced sections.

lgtm, just a couple minor comments

Apr 17 2019, 3:27 AM · Restricted Project
rupprecht added a comment to D60644: [compiler-rt][builtins][sanitizers] Update compiler-rt test cases for compatibility with system's toolchain .

@rupprecht That is true. However, isn't it possible that a system's most up to date GLIBC version is still lower than say, GLIBC 2.23? Starting a conversation on which GLIBC versions are important can possibly be something that can be done.

In terms of the compiler_rt_logb test failures, I edited the test to return 0 to see the failures. I see about 104 lines that are outputted, so I've attached my results here.

Apr 17 2019, 3:12 AM · Restricted Project, Restricted Project
rupprecht added inline comments to D60770: [llvm-symbolizer] Make the output with `-output-style=GNU` closer to addr2line's.
Apr 17 2019, 2:47 AM · Restricted Project
rupprecht added inline comments to D60017: [git] Be more specific when looking for llvm-svn.
Apr 17 2019, 2:22 AM · Restricted Project
rupprecht updated the diff for D60017: [git] Be more specific when looking for llvm-svn.
  • Use %b format to avoid whitespace handling
  • Handle ref names
Apr 17 2019, 2:18 AM · Restricted Project
rupprecht added inline comments to D60773: [llvm-objcopy] Support full list of bfd targets that lld uses..
Apr 17 2019, 12:47 AM · Restricted Project
rupprecht committed rGb0b65cae5922: [llvm-objcopy] Support full list of bfd targets that lld uses. (authored by rupprecht).
[llvm-objcopy] Support full list of bfd targets that lld uses.
Apr 17 2019, 12:41 AM
rupprecht committed rL358562: [llvm-objcopy] Support full list of bfd targets that lld uses..
[llvm-objcopy] Support full list of bfd targets that lld uses.
Apr 17 2019, 12:41 AM
rupprecht closed D60773: [llvm-objcopy] Support full list of bfd targets that lld uses..
Apr 17 2019, 12:41 AM · Restricted Project

Apr 16 2019

rupprecht added inline comments to D60773: [llvm-objcopy] Support full list of bfd targets that lld uses..
Apr 16 2019, 8:45 AM · Restricted Project
rupprecht accepted D60777: [llvm-objdump] Test tabs in disassemble-align.s with a more visible character.

Ok, this helps me see what's going on. Thanks!

Apr 16 2019, 8:45 AM · Restricted Project
rupprecht updated the diff for D60773: [llvm-objcopy] Support full list of bfd targets that lld uses..
  • Fix typos
  • Use alternative constructor to avoid specifying OSABI_NONE all the time
Apr 16 2019, 8:45 AM · Restricted Project
rupprecht added a comment to D60376: [llvm-objdump] Align instructions to a tab stop in disassembly output.

@rupprecht Some people's editors are configured to replace tabs with spaces. And here, I want to test the tab takes exactly one column. I relanded this revision and it seems 'tr' works.

Apr 16 2019, 7:01 AM · Restricted Project
rupprecht updated the summary of D60773: [llvm-objcopy] Support full list of bfd targets that lld uses..
Apr 16 2019, 6:39 AM · Restricted Project
rupprecht created D60773: [llvm-objcopy] Support full list of bfd targets that lld uses..
Apr 16 2019, 6:38 AM · Restricted Project

Apr 15 2019

rupprecht added a comment to D60067: [llvm-symbolizer] Add llvm-addr2line.

Thanks for adding this!

Apr 15 2019, 7:02 AM · Restricted Project
rupprecht accepted D60067: [llvm-symbolizer] Add llvm-addr2line.

But I'm fine checking this in now as .rst for consistency. Worst case scenario, it doesn't render, and someone can commit a patch to fix it. Nothing will stop compiling :)

FWIW, there is actually a build bot that does the conversion, and it fails if the syntax is bad, so we should aim to get it right first time if possible.

Apr 15 2019, 7:02 AM · Restricted Project
rupprecht added a comment to D60270: [llvm-objcopy] Add support for Intel HEX input/output format.

FYI, most of the other llvm-objcopy developers are still away following Euro LLVM

Ah, I see. Ok, there is no rush.

Apr 15 2019, 3:02 AM
rupprecht added a comment to D60067: [llvm-symbolizer] Add llvm-addr2line.

LGTM, but it would be worth getting a second pair of eyes on the documentation who is more familiar with how the markup works, to make sure it is correct.

Apr 15 2019, 2:19 AM · Restricted Project
rupprecht added a comment to D60644: [compiler-rt][builtins][sanitizers] Update compiler-rt test cases for compatibility with system's toolchain .

Part of me thinks this is bad -- if the version of glibc is old, then the host toolchain should just upgrade it. glibc 2.23 was released in 2016-02-19, so I think using something older than that is on the border of being called "not a modern c++ toolchain".

Apr 15 2019, 2:06 AM · Restricted Project, Restricted Project
rupprecht added inline comments to D60614: [llvm-readelf] Fix dumping of SHN_XINDEX symbols.
Apr 15 2019, 1:58 AM · Restricted Project
rupprecht requested changes to D60067: [llvm-symbolizer] Add llvm-addr2line.

(requesting changes for one small bit, otherwise lgtm)

Apr 15 2019, 1:50 AM · Restricted Project
rupprecht accepted D60439: [llvm-objcopy] Accept --long-option but not -long-option.
Apr 15 2019, 1:39 AM · Restricted Project
rupprecht accepted D60042: [llvm-objcopy] Add --prefix-alloc-sections.
Apr 15 2019, 1:31 AM · Restricted Project

Apr 9 2019

rupprecht added a comment to D60189: [llvm-objcopy] Simplify SHT_NOBITS -> SHT_PROGBITS promotion.

I haven't bread or considered this patch. I just want to clarify when I think we should make changes of this type.

We should do things "the right way" at first and then comply more closely to GNU objcopy as real world cases come up. We should make minimal comparability attempts. Effectively think of it as "premature comparability isn't he root of all evil". We can optimize for compatibility when the case comes up.

As for working backwards from where we may have over optimized in the past and doing something more sensible now, that is kind of harder. To make such a change we need to know that we're not going to break anyone. Without evidence for that we have to reject such changes.

If Jordan can build all of Google's code with such a change then that is strong evidence that this is ok. Any other large or complicated code base would also be valid I think. These kinds of checks are very expensive however some should only request such evidence if the use case is very compelling.

Apr 9 2019, 11:32 AM · Restricted Project
rupprecht added a comment to D60376: [llvm-objdump] Align instructions to a tab stop in disassembly output.

I'm fine with the -w flag, but I haven't had time to look at tab alignment code -- it seems very hard to follow. Perhaps it should be a separate patch? This seems like two unrelated changes.

Apr 9 2019, 11:25 AM · Restricted Project
rupprecht accepted D60042: [llvm-objcopy] Add --prefix-alloc-sections.

I'm out the rest of the week, I'll leave it to James to do the commit on your behalf

Apr 9 2019, 11:22 AM · Restricted Project

Apr 4 2019

rupprecht added a comment to D60270: [llvm-objcopy] Add support for Intel HEX input/output format.

Thanks for sending this! I assigned PR39841 to you since this should fix that bug.

Apr 4 2019, 4:41 PM
rupprecht added a comment to D60042: [llvm-objcopy] Add --prefix-alloc-sections.

Just a couple small comments, but also LGTM

Apr 4 2019, 1:53 PM · Restricted Project

Apr 3 2019

rupprecht added a comment to D60042: [llvm-objcopy] Add --prefix-alloc-sections.

Also don't we already have an update sections loop somewhere in this already? I think this should go there to reduce the number of passes we make over the sections

Apr 3 2019, 4:09 PM · Restricted Project
rupprecht added inline comments to D60170: [llvm-objcopy] [llvm-symbolizer] Fix failing tests.
Apr 3 2019, 3:35 PM · Restricted Project
rupprecht added a comment to D60189: [llvm-objcopy] Simplify SHT_NOBITS -> SHT_PROGBITS promotion.

I feel somewhat ambivalent about this change. The rationale makes sense (great patch description!), but these section flags provide GNU objcopy compatibility, so I'm not sure making it do things the "expected" way is actually helpful -- we should just provide separate flags if we want to do things the right way. (e.g. expose "sht_progbits" as a command line flag).

Apr 3 2019, 3:20 PM · Restricted Project
rupprecht added a comment to D60134: [llvm-nm]Add support for --no-demangle.

And this patch implements the correct behavior of the normal option the first time it seems.

Thanks. I took the behaviour from --no-demangle in llvm-symbolizer, so I can't exactly take all the credit!

We spoke too soon. Updating the test as @rupprecht suggested highlighted an issue where the switches cannot appear multiple times on the command-line. There's no good reason why they shouldn't (aside from tidiness), and I have encountered build systems and scripts where appending options to an existing command-line is about the only choice available, even if it means duplicate options, so we should allow multiple occurrences. I'll update the patch accordingly.

Apr 3 2019, 9:38 AM · Restricted Project
rupprecht accepted D60190: [llvm-symbolizer] Add `--output-style` switch..

Thanks for splitting this change off.

Apr 3 2019, 9:31 AM · Restricted Project
rupprecht accepted D60196: [llvm-symbolizer] Allow more flexible usage of -e.
Apr 3 2019, 9:27 AM · Restricted Project

Apr 2 2019

rupprecht added a comment to D60042: [llvm-objcopy] Add --prefix-alloc-sections.

I'm not sure I like renaming and I'm not sure anyone requires that behavior.

From the bug in the patch description, this is used by linux here: https://github.com/ClangBuiltLinux/linux/blob/master/drivers/firmware/efi/libstub/Makefile#L75

Apr 2 2019, 11:21 PM · Restricted Project
rupprecht added a comment to D60122: [yaml2obj][obj2yaml] - Change how symbol's binding is descibed when parsing/dumping..

LGTM, but since this is a pretty big change, it'd be good to get someone else's opinion

Apr 2 2019, 5:17 PM · Restricted Project
rupprecht added inline comments to D60122: [yaml2obj][obj2yaml] - Change how symbol's binding is descibed when parsing/dumping..
Apr 2 2019, 12:00 PM · Restricted Project
rupprecht accepted D60134: [llvm-nm]Add support for --no-demangle.
Apr 2 2019, 11:43 AM · Restricted Project
rupprecht committed rG017deaf1ae3a: [llvm-objcopy] Change SHT_NOBITS to SHT_PROBITS for some --set-section-flags (authored by rupprecht).
[llvm-objcopy] Change SHT_NOBITS to SHT_PROBITS for some --set-section-flags
Apr 2 2019, 9:49 AM
rupprecht committed rL357492: [llvm-objcopy] Change SHT_NOBITS to SHT_PROBITS for some --set-section-flags.
[llvm-objcopy] Change SHT_NOBITS to SHT_PROBITS for some --set-section-flags
Apr 2 2019, 9:49 AM
rupprecht closed D59958: [llvm-objcopy] Change SHT_NOBITS to SHT_PROBITS for some --set-section-flags.
Apr 2 2019, 9:49 AM · Restricted Project

Apr 1 2019

rupprecht accepted D60042: [llvm-objcopy] Add --prefix-alloc-sections.

Looks good to me, thanks! Do you need one of us to commit on your behalf?

Apr 1 2019, 10:38 PM · Restricted Project
rupprecht added inline comments to D59958: [llvm-objcopy] Change SHT_NOBITS to SHT_PROBITS for some --set-section-flags.
Apr 1 2019, 3:20 PM · Restricted Project
rupprecht updated the diff for D59958: [llvm-objcopy] Change SHT_NOBITS to SHT_PROBITS for some --set-section-flags.
  • Fix some method/variable names
Apr 1 2019, 3:20 PM · Restricted Project
rupprecht accepted D60054: [llvm-objcopy] Add --keep-symbols option.
Apr 1 2019, 10:50 AM · Restricted Project
rupprecht added inline comments to D60042: [llvm-objcopy] Add --prefix-alloc-sections.
Apr 1 2019, 10:17 AM · Restricted Project
rupprecht added a reviewer for D60067: [llvm-symbolizer] Add llvm-addr2line: dblaikie.

(adding a few others that may be interested)

Apr 1 2019, 10:06 AM · Restricted Project
rupprecht added a comment to D60054: [llvm-objcopy] Add --keep-symbols option.

Code looks good, but can you add a test for this? Adding something to test/tools/llvm-objcopy/ELF/keep-symbol.test should be fine

Apr 1 2019, 9:08 AM · Restricted Project

Mar 29 2019

rupprecht created D60017: [git] Be more specific when looking for llvm-svn.
Mar 29 2019, 3:18 PM · Restricted Project
rupprecht accepted D59989: [llvm-objcopy]Allow llvm-objcopy to be used on an ELF file with no section headers.
Mar 29 2019, 12:12 PM · Restricted Project
rupprecht added a comment to D59958: [llvm-objcopy] Change SHT_NOBITS to SHT_PROBITS for some --set-section-flags.

The intention makes sense. I just found this piece of code

https://sourceware.org/git/?p=binutils-gdb.git;a=blob;hb=cc00a5d100973549bf5e4840937529633f4de1fa;f=bfd/elf.c#l3136

int
bfd_elf_get_default_section_type (flagword flags)
{
  if ((flags & (SEC_ALLOC | SEC_IS_COMMON)) != 0
      && (flags & (SEC_LOAD | SEC_HAS_CONTENTS)) == 0)
    return SHT_NOBITS;
  return SHT_PROGBITS;
}

Can the SectionFlag rules be simplified?

Mar 29 2019, 11:55 AM · Restricted Project
rupprecht updated the diff for D59958: [llvm-objcopy] Change SHT_NOBITS to SHT_PROBITS for some --set-section-flags.
  • Only change the type if the input is SHT_NOBITS
  • Add test coverage
Mar 29 2019, 11:54 AM · Restricted Project
rupprecht added inline comments to rL357279: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.
Mar 29 2019, 10:34 AM
rupprecht committed rG871baa255164: [llvm-readobj] Add some generic notes (e.g. NT_VERSION) (authored by rupprecht).
[llvm-readobj] Add some generic notes (e.g. NT_VERSION)
Mar 29 2019, 9:48 AM
rupprecht committed rL357271: [llvm-readobj] Add some generic notes (e.g. NT_VERSION).
[llvm-readobj] Add some generic notes (e.g. NT_VERSION)
Mar 29 2019, 9:47 AM
rupprecht closed D59969: [llvm-readobj] Add some generic notes (e.g. NT_VERSION).
Mar 29 2019, 9:47 AM · Restricted Project
rupprecht committed rG342aaa14b104: [llvm-readelf] Allow prefix flags for -p and -x (authored by rupprecht).
[llvm-readelf] Allow prefix flags for -p and -x
Mar 29 2019, 9:44 AM
rupprecht committed rL357270: [llvm-readelf] Allow prefix flags for -p and -x.
[llvm-readelf] Allow prefix flags for -p and -x
Mar 29 2019, 9:44 AM
rupprecht closed D59965: [llvm-readelf] Allow prefix flags for -p and -x.
Mar 29 2019, 9:43 AM · Restricted Project
rupprecht added inline comments to D59965: [llvm-readelf] Allow prefix flags for -p and -x.
Mar 29 2019, 9:41 AM · Restricted Project
rupprecht updated the diff for D59965: [llvm-readelf] Allow prefix flags for -p and -x.
  • Update test comments
Mar 29 2019, 9:41 AM · Restricted Project

Mar 28 2019

rupprecht added inline comments to D59969: [llvm-readobj] Add some generic notes (e.g. NT_VERSION).
Mar 28 2019, 5:11 PM · Restricted Project
rupprecht created D59969: [llvm-readobj] Add some generic notes (e.g. NT_VERSION).
Mar 28 2019, 4:41 PM · Restricted Project
rupprecht committed rG1dc28b6d2b89: [llvm-readobj] Fix formatting of unknown note types (authored by rupprecht).
[llvm-readobj] Fix formatting of unknown note types
Mar 28 2019, 4:07 PM