Page MenuHomePhabricator

danalbert (Dan Albert)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 19 2014, 10:59 AM (365 w, 4 d)

Recent Activity

May 19 2021

danalbert updated the diff for D77657: [WIP][libc++] Add an executor that bundles tests for deferred execution.

Fix remaining tests for the deferred test configuration.

May 19 2021, 10:47 AM · Restricted Project

May 13 2021

danalbert updated the diff for D77657: [WIP][libc++] Add an executor that bundles tests for deferred execution.

Adds XFAIL-BUILD to deal with the deferred-run cases that fail to build.

May 13 2021, 3:50 PM · Restricted Project

May 12 2021

danalbert updated the diff for D77657: [WIP][libc++] Add an executor that bundles tests for deferred execution.

Initial pass at my suggestion of deferring XFAIL handling to the bundler. This is incomplete because we'll need to differentiate XFAIL-BUILD and XFAIL-RUN in tests (running this as-is makes any test that is XFAIL because it doesn't _build_ turn to FAIL, but things that fail to _run_ are handled correctly), but it's enough to get feedback on the idea.

May 12 2021, 5:28 PM · Restricted Project
danalbert commandeered D77657: [WIP][libc++] Add an executor that bundles tests for deferred execution.
May 12 2021, 5:25 PM · Restricted Project

May 4 2021

danalbert added a comment to D77657: [WIP][libc++] Add an executor that bundles tests for deferred execution.

Re problems 1 and 2 (xfail handling), my idea what that we'd add --xfail to the bundler interface and delegate to the test runner to handle that. For Android I need to fit these tests into tradefed, so our bundler would work by creating the test config files for tradefed and would let it handle xfails. We don't have much reason to interact with LIT again after the tests are built. This more or less matches how we've been running libc++ tests for years, though with some improvements (xfail info is currently manually tracked rather than being given by LIT). I've been carrying a local patch that adds a --build-only flag which just ignores xfail annotations and defers all the execution and interpretation to our test runner.

May 4 2021, 3:42 PM · Restricted Project

Mar 5 2021

danalbert added inline comments to D97993: [Driver] Suppress GCC detection under -B.
Mar 5 2021, 2:55 PM · Restricted Project

Feb 19 2021

danalbert added a comment to D91841: [builtins] Define fmax and scalbn inline.

Implementing the relevant functions called by divxc3 is one choice, another choice is to emulate libgcc - don't use scalbn.

The libgcc version goes about the computation in a slightly different way -- e.g. it computes an intermediate ratio of c / d or d / c (ensuring that the fabs(ratio) is at most 1.0) to avoid overflow, whereas the current compiler-rt version uses scalbn (and closely matches the reference implementation in Annex G of the C specification). The scalbn approach seems to be more accurate? e.g.:

  • From G.5.1 Multiplicative operators (paragraph 9):

Scaling the denominator alleviates the main overflow and underflow problem, which is more serious than for multiplication.
In the spirit of the multiplication example above, this code does not defend against overflow and underflow in the calculation
of the numerator. Scaling with the scalbn function, instead of with division, provides better roundoff characteristics.

/* ??? We can get better behavior from logarithmic scaling instead of
   the division.  But that would mean starting to link libgcc against
   libm.  We could implement something akin to ldexp/frexp as gcc builtins
   fairly easily...  */

I'm guessing we wouldn't want to reduce accuracy to break the libm dependency?

Feb 19 2021, 4:11 PM · Restricted Project
danalbert added a comment to D93003: [libunwind] unw_* alias fixes for ELF and Mach-O.

It sounds like everyone is happy here but the tools. Could we get a libunwind reviewer (preferably @compnerd, since his review is the red one) to LGTM this?

Feb 19 2021, 4:02 PM · Restricted Project, Restricted Project, Restricted Project

Feb 10 2021

danalbert accepted D96403: [Android] Use -l:libunwind.a with --rtlib=compiler-rt.
Feb 10 2021, 12:23 PM · Restricted Project
danalbert accepted D96404: [Android] Default to --rtlib=compiler-rt.
Feb 10 2021, 12:20 PM · Restricted Project

Feb 3 2021

danalbert added a comment to D95166: Disable rosegment for old Android versions..

We've since added -fuse-ld=lld to the three CMAKE_*_FLAGS so I think we're likely set on our end.

https://reviews.llvm.org/D76452 not being accepted means that Android toolchains must have LLD installed as ld.

If you pass -fuse-ld=lld everwhere, that's not needed, right (?)

Feb 3 2021, 6:12 PM · Restricted Project
danalbert added a comment to D95166: Disable rosegment for old Android versions..

We've since added -fuse-ld=lld to the three CMAKE_*_FLAGS so I think we're likely set on our end.

Feb 3 2021, 2:22 PM · Restricted Project

Jan 29 2021

danalbert added a comment to D95166: Disable rosegment for old Android versions..

Landed revert in 1608ba09462d877111230e9461b895f696f8fcb1. Someone should file a PR to make sure that gets merged to the 12.0 branch.

We can then reland on trunk once there are clear instructions for folks building with trunk clang but old NDK but without the toolchain file (either "use toolchain file" or "set LLVM_USE_LLD" or something like that, I'm guessing?)

Jan 29 2021, 12:24 PM · Restricted Project

Jan 28 2021

danalbert added a comment to D95166: Disable rosegment for old Android versions..

It does feel kind of awkward to me that _this_ is the patch that ends up breaking the builds, versus something at the cmake level that says "you are explicitly unsupported".

Jan 28 2021, 6:05 PM · Restricted Project
danalbert added a comment to D95166: Disable rosegment for old Android versions..

Our Android build bot is broken after this patch http://lab.llvm.org:8011/#/builders/77/builds/3234

Jan 28 2021, 2:47 PM · Restricted Project

Jan 27 2021

danalbert added a comment to D95166: Disable rosegment for old Android versions..

Firefox has a build break from this change. In certain Android configurations we use bfd or gold. The statement in the commit message "Android only supports LLD" is news to me, could you point me to any references for this?

Jan 27 2021, 2:38 PM · Restricted Project

Jan 26 2021

danalbert requested review of D95492: Pack relocations for Android when possible..
Jan 26 2021, 4:48 PM · Restricted Project
danalbert committed rGfae16fc0eed7: Disable rosegment for old Android versions. (authored by danalbert).
Disable rosegment for old Android versions.
Jan 26 2021, 4:16 PM
danalbert closed D95166: Disable rosegment for old Android versions..
Jan 26 2021, 4:16 PM · Restricted Project

Jan 21 2021

danalbert committed rG866d480fe054: [libc++abi] Add an option to avoid demangling in terminate. (authored by danalbert).
[libc++abi] Add an option to avoid demangling in terminate.
Jan 21 2021, 1:33 PM
danalbert closed D88189: [libc++abi] Add an option to avoid demangling in terminate..
Jan 21 2021, 1:33 PM · Restricted Project
danalbert added a comment to D88189: [libc++abi] Add an option to avoid demangling in terminate..

Thanks! Has been up for a while and I haven't heard any objections. Will submit and we can revert if issues are found.

Jan 21 2021, 1:31 PM · Restricted Project
danalbert requested review of D95166: Disable rosegment for old Android versions..
Jan 21 2021, 1:11 PM · Restricted Project

Dec 14 2020

danalbert closed D91664: Add a less ambiguous macro for Android version..

https://github.com/llvm/llvm-project/commit/0849047860a343d8bcf1f828a82d585e89079943

Dec 14 2020, 10:52 AM · Restricted Project
danalbert added a comment to D88189: [libc++abi] Add an option to avoid demangling in terminate..

Ping.

Dec 14 2020, 10:49 AM · Restricted Project

Dec 2 2020

danalbert committed rG0849047860a3: Add a less ambiguous macro for Android version. (authored by danalbert).
Add a less ambiguous macro for Android version.
Dec 2 2020, 1:27 PM

Nov 17 2020

danalbert requested review of D91664: Add a less ambiguous macro for Android version..
Nov 17 2020, 3:24 PM · Restricted Project

Nov 6 2020

danalbert added a comment to D88189: [libc++abi] Add an option to avoid demangling in terminate..

Ping

Nov 6 2020, 1:49 PM · Restricted Project

Oct 28 2020

danalbert added inline comments to D89924: [llvm-zorg] Use ndk21 for buildbot.
Oct 28 2020, 1:16 PM

Oct 27 2020

danalbert added inline comments to D89924: [llvm-zorg] Use ndk21 for buildbot.
Oct 27 2020, 12:28 PM

Oct 26 2020

danalbert requested changes to D87950: Make libc++ headers "just work" on all Android versions..

Actually, talk about timing! The Clang patch was just posted here: https://reviews.llvm.org/D90188

Oct 26 2020, 3:14 PM · Restricted Project
danalbert accepted D87950: Make libc++ headers "just work" on all Android versions..
Oct 26 2020, 2:26 PM · Restricted Project

Oct 12 2020

danalbert accepted D68269: [libc++] Define new/delete in libc++abi only by default.

LGTM for Android.

Oct 12 2020, 2:19 AM · Restricted Project, Restricted Project

Sep 23 2020

danalbert requested review of D88189: [libc++abi] Add an option to avoid demangling in terminate..
Sep 23 2020, 4:08 PM · Restricted Project

Aug 20 2020

danalbert accepted D86321: Fix test for D77924..
Aug 20 2020, 4:04 PM · Restricted Project

Jun 17 2020

danalbert accepted D81622: [Clang] Search computed sysroot for libc++ header paths.

While this doesn't look wrong to me -- and the correctness of this depends entirely on where vendors decide to put their headers so it's hard for me to verify -- I'm wondering why not all toolchains use this mechanism. We seem to be adding an abstraction that's used only by some toolchains, but not all. I think it would be great to have a single canonical way of representing the system root.

Jun 17 2020, 3:40 PM · Restricted Project

Jun 1 2020

danalbert accepted D80828: [Clang][A32/T32][Linux] -O1 implies -fomit-frame-pointer.
Jun 1 2020, 3:11 PM · Restricted Project, Restricted Project

May 21 2020

danalbert added a comment to D56456: [Driver] Default to -fno-addrsig on Android..

The NDK still supports linkers other than LLD, but we are changing the default to LLD in the next release. I'd prefer to keep this for the time being, but don't feel strongly about it.

May 21 2020, 12:59 PM

Apr 29 2020

danalbert committed rG2e090e4884d0: Reset another globalMemCounter. (authored by danalbert).
Reset another globalMemCounter.
Apr 29 2020, 5:51 PM
danalbert committed rG0a78e42b1f9d: Revert "[lld] Remove special cases from default ld driver mode." (authored by danalbert).
Revert "[lld] Remove special cases from default ld driver mode."
Apr 29 2020, 2:34 PM
danalbert added a reverting change for rGda093c388fc9: [lld] Remove special cases from default ld driver mode.: rG0a78e42b1f9d: Revert "[lld] Remove special cases from default ld driver mode.".
Apr 29 2020, 2:34 PM
danalbert committed rGda093c388fc9: [lld] Remove special cases from default ld driver mode. (authored by danalbert).
[lld] Remove special cases from default ld driver mode.
Apr 29 2020, 12:56 PM
danalbert closed D78837: [lld] Remove special cases from default ld driver mode..
Apr 29 2020, 12:55 PM · Restricted Project, lld

Apr 24 2020

danalbert added a comment to D76452: Use LLD by default for Android..

Yes, I was referring to that question too :) I'm working on the new lld-macho implementation, under the DarwinNew flavor. I'm not sure if anything depends on the old Darwin flavor, which is why we haven't removed it yet, though we plan to do that once we get the new implementation to a more mature stage.

Ah, gotcha :) Thanks! Will wait for @ruiu to chime in.

I vote for deleting the #ifdef __APPLE__ chunk so we don't have to add more code to either clang or lld....
The code owner of the existing lld darwin has explicitly expressed that we can drop the existing Darwin flavor at any time.

SGTM. Abandoning this. I'll send a patch to remove the LLD side shortly.

Apr 24 2020, 4:48 PM · Restricted Project
danalbert created D78837: [lld] Remove special cases from default ld driver mode..
Apr 24 2020, 4:48 PM · Restricted Project, lld
danalbert abandoned D76452: Use LLD by default for Android..

Yes, I was referring to that question too :) I'm working on the new lld-macho implementation, under the DarwinNew flavor. I'm not sure if anything depends on the old Darwin flavor, which is why we haven't removed it yet, though we plan to do that once we get the new implementation to a more mature stage.

Ah, gotcha :) Thanks! Will wait for @ruiu to chime in.

I vote for deleting the #ifdef __APPLE__ chunk so we don't have to add more code to either clang or lld....
The code owner of the existing lld darwin has explicitly expressed that we can drop the existing Darwin flavor at any time.

Apr 24 2020, 4:18 PM · Restricted Project
danalbert added a comment to D76452: Use LLD by default for Android..

Yes, I was referring to that question too :) I'm working on the new lld-macho implementation, under the DarwinNew flavor. I'm not sure if anything depends on the old Darwin flavor, which is why we haven't removed it yet, though we plan to do that once we get the new implementation to a more mature stage.

Apr 24 2020, 3:44 PM · Restricted Project
danalbert added a comment to D76452: Use LLD by default for Android..

I don't think I have enough context here to answer the question, but I'm pretty sure that change wouldn't affect what I'm working on

Apr 24 2020, 2:39 PM · Restricted Project
danalbert added a comment to D76452: Use LLD by default for Android..

Can we use -DCLANG_DEFAULT_LINKER=lld to configure AOSP's distribution of LLD, then require the use of -fuse-ld=<whatever the host linker is on OSX that is currently used> when targeting OSX host tools?

Apr 24 2020, 12:26 PM · Restricted Project

Apr 23 2020

danalbert updated subscribers of D78787: [libcxx][libcxxabi][libunwind] Use libgcc on Android.

@srhines to confirm that this won't break our toolchain build, and @rprichard because he's the one looking more closely at libunwind these days.

Apr 23 2020, 11:57 PM · Restricted Project, Restricted Project, Restricted Project

Apr 16 2020

danalbert added inline comments to D78328: [lld] Infer the driver mode from the target..
Apr 16 2020, 3:04 PM · Restricted Project, lld
danalbert added a comment to D76452: Use LLD by default for Android..

Option 4 was (at least on the surface) super easy: https://reviews.llvm.org/D78328. lmk if you'd prefer that approach. I'm slightly less confident in it since it affects non-Android platforms as well.

Apr 16 2020, 2:31 PM · Restricted Project
danalbert created D78328: [lld] Infer the driver mode from the target..
Apr 16 2020, 2:31 PM · Restricted Project, lld
danalbert committed rG75c440865375: Reland: Don't expose unavailable cstdio functions. (authored by danalbert).
Reland: Don't expose unavailable cstdio functions.
Apr 16 2020, 1:26 PM
danalbert added a comment to D76452: Use LLD by default for Android..

@MaskRay Any other ideas, or should I submit this? Reviewing all our options:

Apr 16 2020, 1:23 PM · Restricted Project

Apr 7 2020

danalbert committed rG0b43db5202ee: Reset more globalMemCounters. (authored by danalbert).
Reset more globalMemCounters.
Apr 7 2020, 4:56 PM
danalbert closed D77681: Reset more globalMemCounters..
Apr 7 2020, 4:55 PM · Restricted Project
danalbert committed rG50280c18958b: Revert "Don't expose unavailable cstdio functions." (authored by danalbert).
Revert "Don't expose unavailable cstdio functions."
Apr 7 2020, 3:50 PM
danalbert added a reverting change for rGff87813715ec: Don't expose unavailable cstdio functions.: rG50280c18958b: Revert "Don't expose unavailable cstdio functions.".
Apr 7 2020, 3:50 PM
danalbert committed rGff87813715ec: Don't expose unavailable cstdio functions. (authored by danalbert).
Don't expose unavailable cstdio functions.
Apr 7 2020, 3:17 PM
danalbert closed D76093: Don't expose unavailable cstdio functions..
Apr 7 2020, 3:17 PM · Restricted Project
danalbert created D77681: Reset more globalMemCounters..
Apr 7 2020, 3:16 PM · Restricted Project
danalbert updated the diff for D76093: Don't expose unavailable cstdio functions..

Added missing copyright header and moved into the libcxx specific test directory.

Apr 7 2020, 2:42 PM · Restricted Project

Apr 6 2020

danalbert committed rGcbf1904a3e05: Upstream Bionic definitions of ctype_base/regex. (authored by danalbert).
Upstream Bionic definitions of ctype_base/regex.
Apr 6 2020, 1:40 PM
danalbert closed D76171: Upstream Bionic definitions of ctype_base/regex..
Apr 6 2020, 1:39 PM · Restricted Project
danalbert added inline comments to D76171: Upstream Bionic definitions of ctype_base/regex..
Apr 6 2020, 1:37 PM · Restricted Project

Mar 30 2020

danalbert added a comment to D76452: Use LLD by default for Android..

To cross build ELF object on macOS, another alternative is a wrapper named ld which invokes lld -flavor gnu "$@"

@danalbert Would this kind of idea work with your other reverted patch? I'm not sure exactly what broke on those builds.

Mar 30 2020, 11:56 AM · Restricted Project

Mar 26 2020

danalbert reclaimed D76452: Use LLD by default for Android..

It seems I'd goofed something in my testing earlier (I think I still had -fuse-ld=lld force on in my build system). While Clang will find ld in the driver directory and prefer it, LLD defaults to the Darwin driver mode when argv[0] is ld when run on Darwin. We need GNU mode, and the best way to get this behavior is to have Clang invoke ld.lld instead.

Mar 26 2020, 12:29 PM · Restricted Project

Mar 20 2020

danalbert abandoned D76452: Use LLD by default for Android..

Looks like we don't actually need this. Can achieve the same effect by installing ld.lld to the same directory as Clang as ld and it'll be preferred over the other locations.

Mar 20 2020, 4:18 PM · Restricted Project

Mar 19 2020

danalbert added a comment to D76461: [llvm-ar] Use target triple to deduce archive kind for bitcode inputs.

Thanks for fixing this 👍

Mar 19 2020, 5:00 PM · Restricted Project
danalbert updated the diff for D76452: Use LLD by default for Android..
Mar 19 2020, 4:27 PM · Restricted Project
danalbert created D76452: Use LLD by default for Android..
Mar 19 2020, 1:42 PM · Restricted Project

Mar 17 2020

danalbert added a comment to D76093: Don't expose unavailable cstdio functions..

Ping.

Mar 17 2020, 12:23 PM · Restricted Project

Mar 13 2020

danalbert created D76171: Upstream Bionic definitions of ctype_base/regex..
Mar 13 2020, 6:22 PM · Restricted Project
danalbert updated the diff for D76093: Don't expose unavailable cstdio functions..
Mar 13 2020, 6:22 PM · Restricted Project
danalbert updated the diff for D76093: Don't expose unavailable cstdio functions..

(remove some trailing whitespace that snuck in)

Mar 13 2020, 6:22 PM · Restricted Project
danalbert updated the diff for D76093: Don't expose unavailable cstdio functions..

Add .fail test, merge into single macro.

Mar 13 2020, 5:49 PM · Restricted Project
danalbert closed D76091: Move more tests to globalMemCounter and reset..
Mar 13 2020, 5:49 PM · Restricted Project
danalbert committed rG9c5d0ea6784b: Revert "Revert "Move more tests to globalMemCounter and reset."" (authored by danalbert).
Revert "Revert "Move more tests to globalMemCounter and reset.""
Mar 13 2020, 5:18 PM
danalbert added inline comments to D76091: Move more tests to globalMemCounter and reset..
Mar 13 2020, 5:17 PM · Restricted Project
danalbert committed rG05749acfd36d: Revert "Move more tests to globalMemCounter and reset." (authored by danalbert).
Revert "Move more tests to globalMemCounter and reset."
Mar 13 2020, 1:30 PM
danalbert added a reverting change for rG4a792965de08: Move more tests to globalMemCounter and reset.: rG05749acfd36d: Revert "Move more tests to globalMemCounter and reset.".
Mar 13 2020, 1:30 PM
danalbert added a comment to D76091: Move more tests to globalMemCounter and reset..

Some of the changes in this patch are not correct. Please revert them in a follow up commit.

Mar 13 2020, 1:29 PM · Restricted Project
danalbert committed rG14d2d8c9761b: Allow site-specific test_exec_root. (authored by danalbert).
Allow site-specific test_exec_root.
Mar 13 2020, 12:25 PM
danalbert closed D76092: Allow site-specific test_exec_root..
Mar 13 2020, 12:24 PM · Restricted Project
danalbert committed rGadefcc8ab5be: Revert "Revert "Update system_error tests for more platforms."" (authored by danalbert).
Revert "Revert "Update system_error tests for more platforms.""
Mar 13 2020, 12:24 PM
danalbert added a reverting change for rGd4a8c3f2511f: Revert "Update system_error tests for more platforms.": rGadefcc8ab5be: Revert "Revert "Update system_error tests for more platforms."".
Mar 13 2020, 12:24 PM
danalbert updated the diff for D76093: Don't expose unavailable cstdio functions..

Yep, good point. I think we don't run the full libc++ test suite for the broken configuration. Fixed.

Mar 13 2020, 12:23 PM · Restricted Project

Mar 12 2020

danalbert committed rGd4a8c3f2511f: Revert "Update system_error tests for more platforms." (authored by danalbert).
Revert "Update system_error tests for more platforms."
Mar 12 2020, 6:21 PM
danalbert added a reverting change for rGa9740ff1585a: Update system_error tests for more platforms.: rGd4a8c3f2511f: Revert "Update system_error tests for more platforms.".
Mar 12 2020, 6:21 PM
danalbert committed rGa9740ff1585a: Update system_error tests for more platforms. (authored by danalbert).
Update system_error tests for more platforms.
Mar 12 2020, 5:43 PM
danalbert closed D35732: Update system_error tests for more platforms..
Mar 12 2020, 5:43 PM · Restricted Project
danalbert committed rG4a792965de08: Move more tests to globalMemCounter and reset. (authored by danalbert).
Move more tests to globalMemCounter and reset.
Mar 12 2020, 5:43 PM
danalbert closed D76091: Move more tests to globalMemCounter and reset..
Mar 12 2020, 5:43 PM · Restricted Project
danalbert added inline comments to D76092: Allow site-specific test_exec_root..
Mar 12 2020, 5:42 PM · Restricted Project
danalbert updated the diff for D76093: Don't expose unavailable cstdio functions..
Mar 12 2020, 5:23 PM · Restricted Project
danalbert added inline comments to D76093: Don't expose unavailable cstdio functions..
Mar 12 2020, 5:23 PM · Restricted Project
danalbert created D76093: Don't expose unavailable cstdio functions..
Mar 12 2020, 12:28 PM · Restricted Project
danalbert created D76091: Move more tests to globalMemCounter and reset..
Mar 12 2020, 12:28 PM · Restricted Project
danalbert created D76092: Allow site-specific test_exec_root..
Mar 12 2020, 12:28 PM · Restricted Project