Page MenuHomePhabricator

rupprecht (Jordan Rupprecht)
Engineering

Projects

User does not belong to any projects.

User Details

User Since
Jun 28 2018, 11:39 AM (24 w, 1 d)

Recent Activity

Yesterday

rupprecht committed rL349074: [llvm-size][libobject] Add explicit "inTextSegment" methods similar to "isText"….
[llvm-size][libobject] Add explicit "inTextSegment" methods similar to "isText"…
Thu, Dec 13, 11:43 AM
rupprecht closed D54369: [llvm-size][libobject] Add explicit "inTextSegment" methods similar to "isText" section methods to calculate size correctly..
Thu, Dec 13, 11:43 AM

Wed, Dec 12

rupprecht added a comment to D54369: [llvm-size][libobject] Add explicit "inTextSegment" methods similar to "isText" section methods to calculate size correctly..

Sorry, for not getting to this patch sooner, I dropped it due to vacation + some unexpected things... I'm still eager to get this patch in :)

Wed, Dec 12, 3:39 PM
rupprecht updated the diff for D54369: [llvm-size][libobject] Add explicit "inTextSegment" methods similar to "isText" section methods to calculate size correctly..
  • Remove useless parens
  • Rename inXXXSegment->isBerkeleyXXX
  • Clarify segment comments
  • Add test cases that ensure section flags are used instead of section names
Wed, Dec 12, 3:38 PM
rupprecht accepted D55618: [llvm-objcopy] Change Segment::Type from uint64_t to uint32_t.

Is there a motivation for this change or just cleanup?

Wed, Dec 12, 2:45 PM

Tue, Dec 11

rupprecht committed rL348898: Revert "debuginfo: Use symbol difference for CU length to simplify assembly….
Revert "debuginfo: Use symbol difference for CU length to simplify assembly…
Tue, Dec 11, 1:32 PM

Mon, Dec 10

rupprecht added a comment to D54674: [llvm-objcopy] First bits for MachO .

Apart from these specific comments, my general thought is that this is fine as far as it goes, but as it grows more fully featured it seems likely to start overlapping more libObject and MC functionality.

Have you considered ways to refactor libObject/MC to allow objcopy to be built on top of them?

It's been suggested before (https://lists.llvm.org/pipermail/llvm-dev/2018-October/126661.html), but no concrete proposals have been put forward AFAIK.
With this and D54939, llvm-objcopy is about to go from ELF to ELF+MachO+COFF. IMO, we shouldn't block either of these patches on that idea, but we should start moving bits from llvm-objcopy into libObject soon after landing both:

  1. Landing these patches sooner will give people more time to play around with MachO/COFF support in the tool (ELF support is fairly well known)
  2. Being able to refactor things once all three object formats are in will help motivate the design (i.e. won't be an ELF-centric design)
Mon, Dec 10, 10:56 AM

Wed, Dec 5

rupprecht accepted D52180: [llvm-objcopy] Change --only-keep to --only-sections.

Thanks!

Wed, Dec 5, 4:18 PM

Tue, Dec 4

rupprecht added inline comments to D54674: [llvm-objcopy] First bits for MachO .
Tue, Dec 4, 4:02 PM
rupprecht accepted D55298: [llvm-readelf] Add -e/--headers support to readobj/elf.

Just a nit on the naming; actual functionality/test LGTM.

Tue, Dec 4, 3:30 PM
rupprecht accepted D55271: [test] Split strip-preserve-time.test, and skip atime test on NetBSD.
Tue, Dec 4, 9:29 AM

Wed, Nov 28

rupprecht accepted D55040: [llvm-objcopy] Delete redundant !Config.xx.empty() when followed by positive is_contained() check.
Wed, Nov 28, 10:03 PM

Tue, Nov 27

rupprecht added a reviewer for D54674: [llvm-objcopy] First bits for MachO : rupprecht.
Tue, Nov 27, 2:13 PM
rupprecht added a comment to D54674: [llvm-objcopy] First bits for MachO .

also, @jakehehrlich, @jhenderson, @rupprecht - what would you say to moving the existing tests (llvm/test/tools/llvm-objcopy) into the subfolder ELF (llvm/test/tools/llvm-objcopy/ELF) ? if it's ok - i can do that on a separate diff.

Tue, Nov 27, 2:13 PM

Nov 13 2018

rupprecht added inline comments to D54384: [llvm-objcopy] Add --build-id-link-dir flag.
Nov 13 2018, 12:18 PM
rupprecht committed rL346782: [llvm-objcopy] Rename --keep to --keep-section..
[llvm-objcopy] Rename --keep to --keep-section.
Nov 13 2018, 11:35 AM
rupprecht closed D54477: [llvm-objcopy] Rename --keep to --keep-section..
Nov 13 2018, 11:34 AM
rupprecht added a comment to D54446: Document how to comment an actual parameter.

LGTM for the actual style change, just a wording nit:

Nov 13 2018, 10:35 AM
rupprecht created D54477: [llvm-objcopy] Rename --keep to --keep-section..
Nov 13 2018, 8:22 AM

Nov 12 2018

rupprecht added a comment to D54384: [llvm-objcopy] Add --build-id-link-dir flag.

cc'ing blaike as a local debug expert -- I'm not familiar with systems using --build-id

Nov 12 2018, 11:17 AM
rupprecht updated subscribers of D54384: [llvm-objcopy] Add --build-id-link-dir flag.
Nov 12 2018, 11:05 AM
rupprecht committed rL346687: [clang-format] Support breaking consecutive string literals for TableGen.
[clang-format] Support breaking consecutive string literals for TableGen
Nov 12 2018, 10:18 AM
rupprecht committed rC346687: [clang-format] Support breaking consecutive string literals for TableGen.
[clang-format] Support breaking consecutive string literals for TableGen
Nov 12 2018, 10:17 AM
rupprecht closed D53952: [clang-format] Support breaking consecutive string literals for TableGen.
Nov 12 2018, 10:17 AM
rupprecht committed rL346685: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
[llvm-readelf] Make llvm-readelf more compatible with GNU readelf.
Nov 12 2018, 10:05 AM
rupprecht closed D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
Nov 12 2018, 10:05 AM

Nov 9 2018

rupprecht created D54369: [llvm-size][libobject] Add explicit "inTextSegment" methods similar to "isText" section methods to calculate size correctly..
Nov 9 2018, 5:19 PM
rupprecht added a comment to D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..

Okay, from my point of view, LGTM (with a nit). However, we should probably get some more buy-in on the RFC before breaking people's builds etc, so you might want to hold off on the commit for now.

Any thoughts on how to drum up some more interest?

Nov 9 2018, 2:47 PM
rupprecht committed rL346537: [Hexagon] Fix unused variable warning in release builds.
[Hexagon] Fix unused variable warning in release builds
Nov 9 2018, 10:57 AM
rupprecht added a comment to D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..

Updated the description, thanks for pointing that out.

Nov 9 2018, 10:25 AM
rupprecht updated the summary of D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
Nov 9 2018, 10:24 AM
rupprecht committed rL346529: [llvm-strings] Fix whitespaces to match strings output..
[llvm-strings] Fix whitespaces to match strings output.
Nov 9 2018, 10:06 AM
rupprecht closed D54238: [llvm-strings] Fix whitespaces to match strings output..
Nov 9 2018, 10:05 AM
rupprecht updated the diff for D54238: [llvm-strings] Fix whitespaces to match strings output..

fix test flags

Nov 9 2018, 10:05 AM

Nov 8 2018

rupprecht updated the diff for D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
  • Renaming/removing unnecessary externs/more test cases/other comments
Nov 8 2018, 11:47 AM
rupprecht updated the diff for D54238: [llvm-strings] Fix whitespaces to match strings output..
  • Add radix+filename test
Nov 8 2018, 11:01 AM

Nov 7 2018

rupprecht created D54238: [llvm-strings] Fix whitespaces to match strings output..
Nov 7 2018, 4:23 PM
rupprecht committed rL346371: [llvm-readobj] Implement LLVM style printer for --notes.
[llvm-readobj] Implement LLVM style printer for --notes
Nov 7 2018, 3:56 PM
rupprecht closed D54220: [llvm-readobj] Implement LLVM style printer for --notes.
Nov 7 2018, 3:56 PM
rupprecht updated the diff for D54220: [llvm-readobj] Implement LLVM style printer for --notes.
  • Use formatv
Nov 7 2018, 3:31 PM
rupprecht added inline comments to D54220: [llvm-readobj] Implement LLVM style printer for --notes.
Nov 7 2018, 3:31 PM
rupprecht updated the diff for D54220: [llvm-readobj] Implement LLVM style printer for --notes.
  • Remove unnecessary size parameter
Nov 7 2018, 3:08 PM
rupprecht added inline comments to D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
Nov 7 2018, 1:59 PM
rupprecht updated the diff for D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
  • Clean up aliases/tests
Nov 7 2018, 1:59 PM
rupprecht created D54220: [llvm-readobj] Implement LLVM style printer for --notes.
Nov 7 2018, 12:33 PM
rupprecht added a comment to D53952: [clang-format] Support breaking consecutive string literals for TableGen.

@djasper -- ping

Nov 7 2018, 10:48 AM

Nov 6 2018

rupprecht accepted D54193: [llvm-strip] Check "strip" with StringRef::contains instead of ends_with.
Nov 6 2018, 6:50 PM
rupprecht updated the diff for D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
  • Only expose compatibility args (e.g. --relocs for --relocations) in readelf mode
Nov 6 2018, 1:54 PM
rupprecht updated the diff for D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
  • Hide -t as an alias for --symbols in readelf mode
Nov 6 2018, 11:58 AM
rupprecht added a comment to D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..

Wow, that's some spooky timing.

Happy belated Halloween! :)

Nov 6 2018, 11:57 AM
rupprecht committed rLLD346260: [lld][NFC] Use explicit --symbols instead of -t in tests using llvm-readelf..
[lld][NFC] Use explicit --symbols instead of -t in tests using llvm-readelf.
Nov 6 2018, 11:38 AM
rupprecht committed rL346260: [lld][NFC] Use explicit --symbols instead of -t in tests using llvm-readelf..
[lld][NFC] Use explicit --symbols instead of -t in tests using llvm-readelf.
Nov 6 2018, 11:38 AM
rupprecht updated subscribers of D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
Nov 6 2018, 8:15 AM

Nov 5 2018

rupprecht updated subscribers of D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
Nov 5 2018, 2:43 PM
rupprecht created D54124: [llvm-readelf] Make llvm-readelf more compatible with GNU readelf..
Nov 5 2018, 2:42 PM
rupprecht committed rLLD346164: [lld][NFC] Update tests to use -S instead of -s when using llvm-readelf..
[lld][NFC] Update tests to use -S instead of -s when using llvm-readelf.
Nov 5 2018, 12:41 PM
rupprecht committed rL346164: [lld][NFC] Update tests to use -S instead of -s when using llvm-readelf..
[lld][NFC] Update tests to use -S instead of -s when using llvm-readelf.
Nov 5 2018, 12:41 PM
rupprecht closed D54118: [lld][NFC] Update tests to use -S instead of -s when using llvm-readelf..
Nov 5 2018, 12:41 PM
rupprecht added a comment to D54118: [lld][NFC] Update tests to use -S instead of -s when using llvm-readelf..

If the initial attempt to bring the -s incompatibility in llvm-readelf was inadvertent, let's improve it!

Nov 5 2018, 12:40 PM
rupprecht created D54118: [lld][NFC] Update tests to use -S instead of -s when using llvm-readelf..
Nov 5 2018, 12:01 PM
rupprecht updated the summary of D53952: [clang-format] Support breaking consecutive string literals for TableGen.
Nov 5 2018, 9:20 AM
rupprecht edited reviewers for D53952: [clang-format] Support breaking consecutive string literals for TableGen, added: djasper; removed: krasimir.
Nov 5 2018, 9:15 AM

Nov 2 2018

rupprecht committed rL346027: [DebugInfo][InstMerge] Fix -debugify for phi node created by -mldst-motion.
[DebugInfo][InstMerge] Fix -debugify for phi node created by -mldst-motion
Nov 2 2018, 11:28 AM
rupprecht closed D54019: [DebugInfo][InstMerge] Fix -debugify for phi node created by -mldst-motion.
Nov 2 2018, 11:27 AM · debug-info
rupprecht accepted D53123: Change the timestamp of llvmcache-foo file to meet the thinLTO prune policy.
Nov 2 2018, 7:39 AM

Nov 1 2018

rupprecht created D54019: [DebugInfo][InstMerge] Fix -debugify for phi node created by -mldst-motion.
Nov 1 2018, 6:10 PM · debug-info
rupprecht committed rL345896: [llvm-objcopy/strip] [NFC] Clean up tablegen opts (clang-format + reorganizing….
[llvm-objcopy/strip] [NFC] Clean up tablegen opts (clang-format + reorganizing…
Nov 1 2018, 2:41 PM
rupprecht added inline comments to D53983: [llvm-objcopy] For multiclass Eq, associate help text with --name= , not --name.
Nov 1 2018, 11:59 AM
rupprecht committed rL345861: [llvm-strip] Support --keep and --strip-all-gnu from llvm-objcopy.
[llvm-strip] Support --keep and --strip-all-gnu from llvm-objcopy
Nov 1 2018, 10:51 AM
rupprecht closed D53954: [llvm-strip] Support --keep and --strip-all-gnu from llvm-objcopy.
Nov 1 2018, 10:51 AM
rupprecht committed rL345859: [llvm-objcopy] Support --{enable,disable}-deterministic-archives.
[llvm-objcopy] Support --{enable,disable}-deterministic-archives
Nov 1 2018, 10:40 AM
rupprecht closed D53913: [llvm-objcopy] Support --{enable,disable}-deterministic-archives.
Nov 1 2018, 10:40 AM
rupprecht committed rL345856: [llvm-objcopy] Don't apply --localize flags to common symbols.
[llvm-objcopy] Don't apply --localize flags to common symbols
Nov 1 2018, 10:29 AM
rupprecht closed D53782: [llvm-objcopy] Don't apply --localize flags to common symbols.
Nov 1 2018, 10:28 AM
rupprecht added a comment to D53983: [llvm-objcopy] For multiclass Eq, associate help text with --name= , not --name.

--help is getting to the point where it might be clean enough to write a test for :)

Nov 1 2018, 10:26 AM
rupprecht added inline comments to D53913: [llvm-objcopy] Support --{enable,disable}-deterministic-archives.
Nov 1 2018, 8:55 AM
rupprecht updated the diff for D53913: [llvm-objcopy] Support --{enable,disable}-deterministic-archives.
  • Use better flag parsing, and include alias in --help
Nov 1 2018, 8:51 AM
rupprecht updated the diff for D53782: [llvm-objcopy] Don't apply --localize flags to common symbols.
  • Revert ET_EXEC/STT_COMMON from tests as we aren't doing that anymore
Nov 1 2018, 8:31 AM
rupprecht accepted D53971: [llvm-objcopy] Use proper cases.
Nov 1 2018, 8:27 AM
rupprecht updated the diff for D53954: [llvm-strip] Support --keep and --strip-all-gnu from llvm-objcopy.
  • Fix typos
Nov 1 2018, 8:23 AM

Oct 31 2018

rupprecht created D53954: [llvm-strip] Support --keep and --strip-all-gnu from llvm-objcopy.
Oct 31 2018, 3:38 PM
rupprecht created D53952: [clang-format] Support breaking consecutive string literals for TableGen.
Oct 31 2018, 2:58 PM
rupprecht added a comment to D53782: [llvm-objcopy] Don't apply --localize flags to common symbols.

LGTM.

I haven't even been able to get the assembler to emit a STT_COMMON symbol. What does the assembly and command-line look like?

Oct 31 2018, 11:07 AM
rupprecht updated the diff for D53782: [llvm-objcopy] Don't apply --localize flags to common symbols.
  • Localize common symbols only if they are actually in SHN_COMMON
Oct 31 2018, 11:06 AM
rupprecht added a comment to D53913: [llvm-objcopy] Support --{enable,disable}-deterministic-archives.

I do not see any problem of adding these flags for the sake of compatibility with GNU. What I wondered is whether or not you really have a need to make it nondeterministic. I thought that we might be able to just ignore these flags.

Personally, I think that if the default is to make them deterministic, then I don't see any reason not to allow overriding this default, as the code does not become significantly more complex with this change. However, I could be persuaded that nobody has this use case.

Oct 31 2018, 10:52 AM
rupprecht updated the diff for D53913: [llvm-objcopy] Support --{enable,disable}-deterministic-archives.
  • Implement last-one-wins for -D/-U
Oct 31 2018, 10:50 AM

Oct 30 2018

rupprecht added a comment to D53913: [llvm-objcopy] Support --{enable,disable}-deterministic-archives.

It was before this patch and it still is. This is providing the option to make it not default (if anyone wants that), and also won't break if someone is explicitly running "objcopy --enable-deterministic-archives" and we drop llvm-objcopy in place of that.

Oh sorry I didn't notice that. What was the motivation for you to add a new flag so that you can choose deterministic and non-deterministic? (Just wondering.)

Oct 30 2018, 5:21 PM
rupprecht updated the diff for D53913: [llvm-objcopy] Support --{enable,disable}-deterministic-archives.
  • Add test case that deterministic is the default
Oct 30 2018, 5:14 PM
rupprecht added a comment to D53913: [llvm-objcopy] Support --{enable,disable}-deterministic-archives.

I feel it should be enabled by default, as deterministic build is a very nice property.

Oct 30 2018, 5:13 PM
rupprecht created D53913: [llvm-objcopy] Support --{enable,disable}-deterministic-archives.
Oct 30 2018, 5:03 PM
rupprecht added a comment to D53782: [llvm-objcopy] Don't apply --localize flags to common symbols.

On STT_COMMON, it looks like it only matters in fully linked files, since STT_COMMON symbols must always be in SHN_COMMON in relocatable objects. However, STT_COMMON can affect dynamic link-time semantics too, so I guess we may have to check for both. You should check GNU objcopy's behaviour in this case too (i.e. does an STT_COMMON symbol in a fully-linked ELF get affected or not by this option - I assume it is affected), and test accordingly.

GNU objcopy seems to only ignore --localize options for symbols where the index is SHN_COMMON, but not when it is STT_COMMON in some other section.
Based on an earlier comment, I changed this to respect index == SHN_COMMON and type == STT_COMMON equally, i.e. --localize-* will not be applied in either of those cases. So this would be breaking compatibility. I don't have a preference one way or the other; I'm happy to change it back if someone feels strongly.

Oct 30 2018, 3:30 PM
rupprecht updated the diff for D53782: [llvm-objcopy] Don't apply --localize flags to common symbols.
  • Update test cases with common symbols not in SHN_COMMON
  • Rebase after refactoring
Oct 30 2018, 3:13 PM
rupprecht added a comment to D53123: Change the timestamp of llvmcache-foo file to meet the thinLTO prune policy.

Seconding the ping to commit -- I'm still regularly seeing buildbot failures for this test.

Oct 30 2018, 11:47 AM
rupprecht committed rL345614: [llvm-objcopy] Fix --keep-global-symbol/--globalize-symbol for undefined….
[llvm-objcopy] Fix --keep-global-symbol/--globalize-symbol for undefined…
Oct 30 2018, 9:26 AM
rupprecht closed D53733: [llvm-objcopy] Fix --keep-global-symbol/--globalize-symbol for undefined symbols..
Oct 30 2018, 9:26 AM

Oct 29 2018

rupprecht added a comment to D53733: [llvm-objcopy] Fix --keep-global-symbol/--globalize-symbol for undefined symbols..

My feeling is that a single separate test is not the right way to test this. I think it makes more sense for an undefined symbol to be added to globalize.test and --keep-global-symbols.test. What do you think?

Oct 29 2018, 3:47 PM
rupprecht updated the diff for D53733: [llvm-objcopy] Fix --keep-global-symbol/--globalize-symbol for undefined symbols..
  • typo
Oct 29 2018, 3:47 PM
rupprecht updated the diff for D53733: [llvm-objcopy] Fix --keep-global-symbol/--globalize-symbol for undefined symbols..
  • Move test cases to already existing tests
Oct 29 2018, 3:46 PM
rupprecht added inline comments to D53782: [llvm-objcopy] Don't apply --localize flags to common symbols.
Oct 29 2018, 3:21 PM
rupprecht updated the diff for D53782: [llvm-objcopy] Don't apply --localize flags to common symbols.
  • Also check STT_COMMON
Oct 29 2018, 3:20 PM