Page MenuHomePhabricator

hvdijk (Harald van Dijk)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 13 2019, 4:58 AM (87 w, 12 h)

Recent Activity

Yesterday

hvdijk added a comment to D100148: [Driver] Fix compiler-rt lookup for x32.

Understood. However, I'm not really sure what else we need. Do we just take the architecture definition from here to pass the proper flags to the compiler or do we also need to add
some x32-specific code?

Mon, Apr 12, 11:12 AM · Restricted Project
hvdijk added a comment to D100148: [Driver] Fix compiler-rt lookup for x32.

Hi! Can we get this patch merged as-is or do we need anything else?

Mon, Apr 12, 10:53 AM · Restricted Project

Fri, Apr 9

hvdijk added inline comments to D100148: [Driver] Fix compiler-rt lookup for x32.
Fri, Apr 9, 3:38 AM · Restricted Project

Thu, Apr 8

hvdijk requested review of D100148: [Driver] Fix compiler-rt lookup for x32.
Thu, Apr 8, 3:46 PM · Restricted Project
hvdijk added a comment to D99988: [compiler-rt] Add platform detection support for x32.

Ah, that looks at first glance like not a compiler-rt problem but a clang problem, it will need to be taught the correct target name for x32 as well. If I'm right, that should be easy to fix, I can take a look later today or tomorrow.

Thu, Apr 8, 9:23 AM · Restricted Project

Tue, Apr 6

hvdijk added a comment to D99988: [compiler-rt] Add platform detection support for x32.

I think x32 is not really supported by compiler-rt.

Tue, Apr 6, 3:10 PM · Restricted Project
hvdijk added a comment to D99988: [compiler-rt] Add platform detection support for x32.

Does this change mean the various *_SUPPORTED_ARCH need updating to list x32 as supported too, or are those handled separately?

Tue, Apr 6, 2:52 PM · Restricted Project

Thu, Apr 1

hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

I think, however, we should bump the rest of the paths to 10.2.0 if possible.

Thu, Apr 1, 1:58 AM · Restricted Project
hvdijk committed rG1d463c2a3860: [Driver] Fix architecture triplets and search paths for Linux x32 (authored by hvdijk).
[Driver] Fix architecture triplets and search paths for Linux x32
Thu, Apr 1, 1:50 AM
hvdijk closed D52050: [Driver] Fix architecture triplets and search paths for Linux x32.
Thu, Apr 1, 1:50 AM · Restricted Project

Wed, Mar 31

hvdijk updated the diff for D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

I have also updated the summary to provide a more complete explanation of the changes, and hope the revised summary will answer @MaskRay's questions.

Wed, Mar 31, 4:27 PM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Since I am a big fan of consistency, I would rather leave it as is (4.6) and then bump to 10.2.0 in a follow-up commit.

Wed, Mar 31, 4:22 PM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Mostly looks good.

clang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/x32/crtbegin.o

Worth bumping the version. 4.6 is quite old and as a host compiler llvm-project has stopped supporting it. The distributions having 4.6 are all end-of-life.
Using a new version (matching your reality) can give impression that the user who contributed the original code may still need it for a while (say 5 years).

Wed, Mar 31, 2:18 PM · Restricted Project
hvdijk updated the diff for D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Tests now updated differently, avoiding the need to explicitly list libx32 as an allowed libdir. In clang/test/Preprocessor/iwithprefix.c's case, for the purposes of the test, it is not necessary to look at what appears before /clang/. In the other tests, it is possible to capture the -resource-dir string and use that.

Wed, Mar 31, 12:02 PM · Restricted Project
hvdijk added inline comments to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.
Wed, Mar 31, 1:31 AM · Restricted Project
hvdijk added inline comments to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.
Wed, Mar 31, 1:04 AM · Restricted Project
hvdijk added inline comments to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.
Wed, Mar 31, 12:38 AM · Restricted Project
hvdijk added inline comments to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.
Wed, Mar 31, 12:34 AM · Restricted Project
hvdijk updated the diff for D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

This updates the diff as described, plus includes test suite changes needed to make check-clang pass. The changes to clang/test/Driver/Inputs/basic_cross_linux_tree/usr are because we now correctly detect that a x86_64 GCC directory that does not include x32 files cannot be used to target x32.

Wed, Mar 31, 12:21 AM · Restricted Project
hvdijk commandeered D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Feel free to update the diff here with your suggested patch.

Wed, Mar 31, 12:19 AM · Restricted Project

Tue, Mar 30

hvdijk added a comment to D99625: llvm/cmake/config.guess: update to current version.

If that were the reason, why are we not using the last GPLv2 version of config.guess, rather than the one that we happened to use back when we had an autoconf build system?

Tue, Mar 30, 11:38 PM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

I think the problem is actually the other thing covered before (don't provide un-normalised triples as cmake arguments), though the wrong detection of LLVM_HOST_TRIPLE will cause other issues too. If we would just update config.guess, the default configuration (not specifying either LLVM_HOST_TRIPLE or LLVM_DEFAULT_TARGET_TRIPLE) should work much better; I have created D99625 for that.

Tue, Mar 30, 3:37 PM · Restricted Project
hvdijk requested review of D99625: llvm/cmake/config.guess: update to current version.
Tue, Mar 30, 3:33 PM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

I am building with

Tue, Mar 30, 1:53 PM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

I am testing the below, on top of c8e56f394af0b9e32c413d62a0e7aebbba3e6b70, both in a Debian chroot and in my non-Debian system. Initial testing in the Debian chroot suggests that this works for simple cases, clang has no problem finding /usr/lib/gcc/x86_64-linux-gnux32/10, and also picks up the right crt*.o files when using -m32 or -m64. Will do more extensive testing.

--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -2106,7 +2106,10 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
       "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
       "x86_64-slackware-linux", "x86_64-unknown-linux",
       "x86_64-amazon-linux",    "x86_64-linux-android"};
-  static const char *const X32LibDirs[] = {"/libx32"};
+  static const char *const X32Triples[] = {
+      "x86_64-linux-gnux32",    "x86_64-unknown-linux-gnux32",
+      "x86_64-pc-linux-gnux32"};
+  static const char *const X32LibDirs[] = {"/libx32", "/lib"};
   static const char *const X86LibDirs[] = {"/lib32", "/lib"};
   static const char *const X86Triples[] = {
       "i586-linux-gnu",     "i686-linux-gnu",
@@ -2337,17 +2340,19 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
     TripleAliases.append(begin(AVRTriples), end(AVRTriples));
     break;
   case llvm::Triple::x86_64:
-    LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-    TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
-    // x32 is always available when x86_64 is available, so adding it as
-    // secondary arch with x86_64 triples
     if (TargetTriple.getEnvironment() == llvm::Triple::GNUX32) {
-      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
+      LibDirs.append(begin(X32LibDirs), end(X32LibDirs));
+      TripleAliases.append(begin(X32Triples), end(X32Triples));
+      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
       BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
     } else {
-      BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
-      BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));
+      LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
+      TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
+      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
+      BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
     }
+    BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
+    BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));
     break;
   case llvm::Triple::x86:
     LibDirs.append(begin(X86LibDirs), end(X86LibDirs));
@@ -2357,6 +2362,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
       TripleAliases.append(begin(X86Triples), end(X86Triples));
       BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
       BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
+      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
+      BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
     }
     break;
   case llvm::Triple::m68k:
Tue, Mar 30, 1:08 PM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

I may be missing something, but I do not understand the problem. What systems, other than Debian multi-arch, are you looking to also add support for? My own native x32 system uses (/usr)/libx32 for x32 libraries. Debian uses (/usr)/lib/x86_64-linux-gnux32. I can understand if some people might use (/usr)/lib without any x32 suffix, though I am not aware of anyone doing this. Where does lib32 come from, though? What other systems are you trying to account for?

Tue, Mar 30, 2:21 AM · Restricted Project

Jan 30 2021

hvdijk committed rGb01b964d3776: [compiler-rt][tests] Define TARGET_FLAGS (authored by hvdijk).
[compiler-rt][tests] Define TARGET_FLAGS
Jan 30 2021, 5:06 AM
hvdijk closed D93634: [compiler-rt][tests] Define TARGET_FLAGS.
Jan 30 2021, 5:06 AM · Restricted Project

Jan 27 2021

hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

If I'm reading git correctly, the change is still present on the 12.x branch. Should it be reverted there too?

Jan 27 2021, 5:00 PM · Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.
In D91913#2526403, @rnk wrote:

Anyway, I apologize for the misunderstanding. I'm doing my best to operate in good faith with LLVM project policies. Hopefully you feel that you have a path forward here.

Jan 27 2021, 2:19 PM · Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

I think @rnk's observation that __VA_OPT__ isn't actually available in any compilation mode other than C++20 (which I hadn't previously realized) is important here: we'd left longstanding users of this functionality with no path forward, and that is, I think, sufficient motivation for a revert.

Jan 27 2021, 1:51 PM · Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

@rnk Taking it upon yourself to revert this without approval and without communication on all branches, especially given the earlier suggestion by @rsmith to only revert this on the LLVM 12 branch, is an abuse of your commit privileges as far as I am concerned. This is not a Google project. Google does not get to unilaterally dictate its direction. I do not intend to get into a revert-the-revert war and will not revert your revert myself. I do expect you to do so.

Jan 27 2021, 11:17 AM · Restricted Project

Jan 26 2021

hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

Restoring the old behaviour for clang 12 may or may not help the Chrome/Chromium people: if they also regularly build with clang from git, they would need to handle this change anyway. However, if it does help, then it sounds like a good idea to me.

Jan 26 2021, 2:12 AM · Restricted Project

Jan 25 2021

hvdijk committed rGb43c26d036dc: Restore GNU , ## __VA_ARGS__ behavior in MSVC mode (authored by hvdijk).
Restore GNU , ## __VA_ARGS__ behavior in MSVC mode
Jan 25 2021, 2:35 PM
hvdijk closed D95392: Restore GNU , ## __VA_ARGS__ behavior in MSVC mode.
Jan 25 2021, 2:35 PM · Restricted Project, Restricted Project
hvdijk retitled D95392: Restore GNU , ## __VA_ARGS__ behavior in MSVC mode from Restore GNU , ## __VA_ARGS__ behavior in MSVC mode too to Restore GNU , ## __VA_ARGS__ behavior in MSVC mode.
Jan 25 2021, 1:52 PM · Restricted Project, Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

We (and every other project out there) needs some incremental rollout plan for this.

Jan 25 2021, 1:51 PM · Restricted Project
hvdijk requested review of D95392: Restore GNU , ## __VA_ARGS__ behavior in MSVC mode.
Jan 25 2021, 1:49 PM · Restricted Project, Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

This change also breaks many chrome ToT bots(not just windows bot), example build: https://ci.chromium.org/ui/p/chrome/builders/ci/ToTLinuxOfficial/10524/steps?succeeded=true&debug=false

That requires an account to see.

This should be accessible without an account: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8857139118288337920/+/steps/compile/0/stdout

Jan 25 2021, 10:32 AM · Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

This change also breaks many chrome ToT bots(not just windows bot), example build: https://ci.chromium.org/ui/p/chrome/builders/ci/ToTLinuxOfficial/10524/steps?succeeded=true&debug=false

Jan 25 2021, 10:04 AM · Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

Okay, GCC enables the standards-mandated behaviour with -std=c++17 -fms-extensions as well, but GCC doesn't have any -fms-compatibility option to compare. It makes sense to me for clang -std=c++17 -fms-compatibility to match MSVC, and MSVC supports this GCC extension even in those cases where it conflicts with the standard, so I'll try to submit a patch to restore this, conditional on -fms-compatibility, later today.

Jan 25 2021, 9:33 AM · Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

We have a downstream build break due to this commit. One of our files has some convoluted arg-counting logic that now returns a different count, which does not match gcc: https://godbolt.org/z/W8caMr (Note: At time of writing, the clang trunk on godbolt doesn't yet have this change.)

Jan 25 2021, 9:16 AM · Restricted Project

Jan 24 2021

hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

Looks like this change matches the behavior of GCC all the way back to at least GCC 4.1.

Jan 24 2021, 4:57 PM · Restricted Project
hvdijk committed rGf4537935dcdb: Suppress non-conforming GNU paste extension in all standard-conforming modes (authored by hvdijk).
Suppress non-conforming GNU paste extension in all standard-conforming modes
Jan 24 2021, 4:57 PM
hvdijk closed D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.
Jan 24 2021, 4:57 PM · Restricted Project
hvdijk added a comment to D93634: [compiler-rt][tests] Define TARGET_FLAGS.

Ping 2

Jan 24 2021, 3:47 AM · Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

Ping 4

Jan 24 2021, 3:47 AM · Restricted Project

Jan 11 2021

hvdijk added a comment to D93634: [compiler-rt][tests] Define TARGET_FLAGS.

Ping

Jan 11 2021, 2:02 PM · Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

Ping 3

Jan 11 2021, 2:02 PM · Restricted Project

Dec 22 2020

hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

However, that's not the same as whether we're on an x86_64 system or on an x32 system determines which GNU triplet to use and which include and library search paths are our primary ones.

Dec 22 2020, 8:52 AM · Restricted Project

Dec 21 2020

hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

Ping 2

Dec 21 2020, 7:13 AM · Restricted Project
hvdijk requested review of D93634: [compiler-rt][tests] Define TARGET_FLAGS.
Dec 21 2020, 7:12 AM · Restricted Project

Dec 20 2020

hvdijk added inline comments to D93209: [libObject, llvm-readobj] - Reimplement `ELFFile<ELFT>::getEntry`..
Dec 20 2020, 10:26 AM · Restricted Project

Dec 18 2020

hvdijk added inline comments to D93561: [X86] Avoid generating invalid R_X86_64_GOTPCRELX relocations.
Dec 18 2020, 3:40 PM · Restricted Project
hvdijk committed rGadc55b5a5ae4: [X86] Avoid generating invalid R_X86_64_GOTPCRELX relocations (authored by hvdijk).
[X86] Avoid generating invalid R_X86_64_GOTPCRELX relocations
Dec 18 2020, 3:39 PM
hvdijk closed D93561: [X86] Avoid generating invalid R_X86_64_GOTPCRELX relocations.
Dec 18 2020, 3:39 PM · Restricted Project
hvdijk added a comment to D93561: [X86] Avoid generating invalid R_X86_64_GOTPCRELX relocations.

The lld/test/ELF tests need fixing (check-lld-elf)

Dec 18 2020, 2:32 PM · Restricted Project
hvdijk updated the diff for D93561: [X86] Avoid generating invalid R_X86_64_GOTPCRELX relocations.

Merge ELF/got-relaxed-rex.s into X86/gotpcrelx.s, update lld/test/ELF/x86-64-gotpc-relax-nopic.s.

Dec 18 2020, 2:30 PM · Restricted Project
hvdijk requested review of D93561: [X86] Avoid generating invalid R_X86_64_GOTPCRELX relocations.
Dec 18 2020, 12:29 PM · Restricted Project
hvdijk closed D93159: [X86] Add REX prefix for GOTTPOFF/TLSDESC relocs in x32 mode.

I accidentally pushed this with the original commit message as 2aae2136, causing a missing link to/from this review. Manually linking this here now.

Dec 18 2020, 12:20 PM · Restricted Project

Dec 16 2020

hvdijk committed rG09d0e7a7c153: [X86] Avoid %fs:(%eax) references in x32 mode (authored by hvdijk).
[X86] Avoid %fs:(%eax) references in x32 mode
Dec 16 2020, 2:41 PM
hvdijk closed D93158: [X86] Avoid %fs:(%eax) references in x32 mode.
Dec 16 2020, 2:40 PM · Restricted Project
hvdijk updated the diff for D93158: [X86] Avoid %fs:(%eax) references in x32 mode.

Be consistent in CHECK lines.

Dec 16 2020, 1:04 PM · Restricted Project
hvdijk added inline comments to D93158: [X86] Avoid %fs:(%eax) references in x32 mode.
Dec 16 2020, 1:03 PM · Restricted Project
hvdijk added inline comments to D93158: [X86] Avoid %fs:(%eax) references in x32 mode.
Dec 16 2020, 12:33 PM · Restricted Project
hvdijk updated the diff for D93158: [X86] Avoid %fs:(%eax) references in x32 mode.

Rename parameter, split addl/leal check in two.

Dec 16 2020, 12:29 PM · Restricted Project

Dec 15 2020

hvdijk added inline comments to D93158: [X86] Avoid %fs:(%eax) references in x32 mode.
Dec 15 2020, 3:16 PM · Restricted Project
hvdijk committed rG2aae2136d5c6: [X86] Add REX prefix for GOTTPOFF/TLSDESC relocs in x32 mode (authored by hvdijk).
[X86] Add REX prefix for GOTTPOFF/TLSDESC relocs in x32 mode
Dec 15 2020, 3:08 PM

Dec 14 2020

hvdijk committed rG9eac818370fe: [X86] Fix variadic argument handling for x32 (authored by hvdijk).
[X86] Fix variadic argument handling for x32
Dec 14 2020, 3:47 PM
hvdijk closed D93160: [X86] Fix variadic argument handling for x32.
Dec 14 2020, 3:47 PM · Restricted Project

Dec 13 2020

hvdijk added inline comments to D93160: [X86] Fix variadic argument handling for x32.
Dec 13 2020, 10:39 AM · Restricted Project
hvdijk updated the diff for D93160: [X86] Fix variadic argument handling for x32.

Rebase again, taking the X64 changes out of the diff.

Dec 13 2020, 10:39 AM · Restricted Project
hvdijk committed rGf99b4f5241a3: [X86] Extend varargs test (authored by hvdijk).
[X86] Extend varargs test
Dec 13 2020, 10:33 AM
hvdijk updated the diff for D93160: [X86] Fix variadic argument handling for x32.

rebase?

Dec 13 2020, 9:07 AM · Restricted Project

Dec 12 2020

hvdijk added a comment to D93160: [X86] Fix variadic argument handling for x32.

Its OK to commit the asm.py / update_llc_test_checks.py changes right away to split them from the rest of this patch

Dec 12 2020, 9:16 AM · Restricted Project
hvdijk committed rG67c97ed4a5a9: [UpdateTestChecks] Add --(no-)x86_scrub_sp option. (authored by hvdijk).
[UpdateTestChecks] Add --(no-)x86_scrub_sp option.
Dec 12 2020, 9:11 AM
hvdijk committed rGf61e5ecb919b: [X86] Avoid data16 prefix for lea in x32 mode (authored by hvdijk).
[X86] Avoid data16 prefix for lea in x32 mode
Dec 12 2020, 9:06 AM
hvdijk closed D93157: [X86] Avoid data16 prefix for lea in x32 mode.
Dec 12 2020, 9:05 AM · Restricted Project
hvdijk requested review of D93160: [X86] Fix variadic argument handling for x32.
Dec 12 2020, 4:39 AM · Restricted Project
hvdijk requested review of D93159: [X86] Add REX prefix for GOTTPOFF/TLSDESC relocs in x32 mode.
Dec 12 2020, 4:36 AM · Restricted Project
hvdijk requested review of D93158: [X86] Avoid %fs:(%eax) references in x32 mode.
Dec 12 2020, 4:34 AM · Restricted Project
hvdijk requested review of D93157: [X86] Avoid data16 prefix for lea in x32 mode.
Dec 12 2020, 4:33 AM · Restricted Project

Dec 8 2020

hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

I've been able to check what Ubuntu 20.10 offers in terms of x32 support. Its kernel supports x32 binaries, it provides x32 versions of core system libraries in separate packages (e.g. libc6-x32, libx32stdc++6, libx32z1), and it provides a compiler that targets x32 by default (gcc-x86-64-linux-gnux32). These Ubuntu packages do not use the Debian/Ubuntu multiarch approach: the packages are completely independent of the corresponding x64 and i386 versions with separate names, and nothing in Ubuntu installs any libraries into any /lib/x86_64-linux-gnux32-like path. They are intended to allow x32 cross compilation on an Ubuntu system, not intended to act as a basis for running an x32 Ubuntu system. This appears to be very different from Debian's x32 support. That said, cross-compiled binaries do run on Ubuntu and it should be possible to build an x32-native LLVM with the Ubuntu-provided toolchain.

Dec 8 2020, 1:57 PM · Restricted Project
hvdijk committed rG29c8ea6f1abd: [X86] Handle localdynamic TLS model in x32 mode (authored by hvdijk).
[X86] Handle localdynamic TLS model in x32 mode
Dec 8 2020, 1:06 PM
hvdijk closed D92737: [X86] Handle localdynamic TLS model in x32 mode.
Dec 8 2020, 1:06 PM · Restricted Project

Dec 7 2020

hvdijk updated the diff for D92737: [X86] Handle localdynamic TLS model in x32 mode.

Renamed is* parameters to Is*.

Dec 7 2020, 10:46 AM · Restricted Project
hvdijk added inline comments to D92737: [X86] Handle localdynamic TLS model in x32 mode.
Dec 7 2020, 1:23 AM · Restricted Project

Dec 6 2020

hvdijk requested review of D92737: [X86] Handle localdynamic TLS model in x32 mode.
Dec 6 2020, 12:51 PM · Restricted Project
hvdijk added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

Ping

Dec 6 2020, 12:43 PM · Restricted Project

Dec 2 2020

hvdijk committed rGc9be4ef184c1: [X86] Add TLS_(base_)addrX32 for X32 mode (authored by hvdijk).
[X86] Add TLS_(base_)addrX32 for X32 mode
Dec 2 2020, 2:21 PM
hvdijk committed rG18ce61235379: Use PC-relative address for x32 TLS address (authored by hjl.tools).
Use PC-relative address for x32 TLS address
Dec 2 2020, 2:21 PM
hvdijk closed D92346: [X86] Add TLS_(base_)addrX32 for X32 mode.
Dec 2 2020, 2:21 PM · Restricted Project
hvdijk closed D16474: Use PC-relative address for x32 TLS address.
Dec 2 2020, 2:21 PM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Hmm, I was pretty sure that autoconf can deal with x32 inside an x32 chroot.

Dec 2 2020, 9:12 AM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Maybe sys::getDefaultTargetTriple() needs to be adjusted. I'll have a look.

Dec 2 2020, 9:03 AM · Restricted Project
hvdijk added a comment to D52050: [Driver] Fix architecture triplets and search paths for Linux x32.

Any idea how it could make clang default to -mx32 if this condition is met: getToolChain().getTriple().getEnvironment() == llvm::Triple::GNUX32?

Dec 2 2020, 8:01 AM · Restricted Project

Nov 30 2020

hvdijk requested review of D92346: [X86] Add TLS_(base_)addrX32 for X32 mode.
Nov 30 2020, 1:25 PM · Restricted Project
hvdijk added a comment to D91338: [X86] Zero-extend pointers to i64 for x86_64.

I'm OK with this patch. Can you please check if expensive check is happy with it?

Nov 30 2020, 10:52 AM · Restricted Project
hvdijk committed rGcdac34bd47a3: [X86] Zero-extend pointers to i64 for x86_64 (authored by hvdijk).
[X86] Zero-extend pointers to i64 for x86_64
Nov 30 2020, 10:51 AM
hvdijk closed D91338: [X86] Zero-extend pointers to i64 for x86_64.
Nov 30 2020, 10:51 AM · Restricted Project