Page MenuHomePhabricator

abidh (Hafiz Abid Qadeer)
User

Projects

User does not belong to any projects.

User Details

User Since
May 27 2014, 3:19 AM (459 w, 6 d)

Recent Activity

Mon, Mar 13

abidh accepted D142986: Enable multilib.yaml in the BareMetal ToolChain.

The BareMetal.cpp part looks ok to me.

Mon, Mar 13, 3:13 PM · Restricted Project, Restricted Project

Nov 19 2022

abidh added a comment to D138195: [libc++] Fix __regex_word value when using newlib/picolibc.

The newlib + libc++ work I did for a previous employer (CodeSourcery/MentorGraphics/Siemens) was aimed at building a clang toolchain that could support building for baremetal arm. An ABI break for that environment would not be the end of the world, especially considering those environments cannot afford the code size from locale support. AFAIK, @abidh is still maintaining that work, and would be able to give a definitive answer.

Nov 19 2022, 11:07 AM · Unknown Object (Project), Restricted Project

Oct 28 2022

abidh added a comment to D136712: Define _GNU_SOURCE for arm baremetal in C++ mode..

@tomhughes has more details on this but if we do not define it in clang itself, we'll need to define it for every package manually at build time since the usage goes deep inside newlib headers.

Oct 28 2022, 2:04 PM · Restricted Project, Restricted Project

Aug 8 2022

abidh added a comment to D131225: Driver: Refactor and support per target dirs in baremetal.

I think this patch is moving the things in the right direction. But please wait for some other reviewers to chime in.

It seems quite opposite to me.

Aug 8 2022, 5:57 AM · Restricted Project, Restricted Project, Restricted Project
abidh added a comment to D131225: Driver: Refactor and support per target dirs in baremetal.

I think this patch is moving the things in the right direction. But please wait for some other reviewers to chime in.

Aug 8 2022, 4:59 AM · Restricted Project, Restricted Project, Restricted Project

Jul 29 2022

abidh added inline comments to D93138: Add initial support for multilibs in Baremetal toolchain..
Jul 29 2022, 11:06 AM · Restricted Project, Restricted Project

May 5 2022

abidh added a comment to D124927: sanitizer_common: Define FP_XSTATE_MAGIC1 for old glibc.

Committed with slight whitespace change to keep clang-format happy.

May 5 2022, 3:08 AM · Restricted Project, Restricted Project
abidh committed rG6f095babc2b7: sanitizer_common: Define FP_XSTATE_MAGIC1 for old glibc (authored by burnus).
sanitizer_common: Define FP_XSTATE_MAGIC1 for old glibc
May 5 2022, 3:07 AM · Restricted Project, Restricted Project
abidh closed D124927: sanitizer_common: Define FP_XSTATE_MAGIC1 for old glibc.
May 5 2022, 3:07 AM · Restricted Project, Restricted Project

Feb 16 2022

abidh added a comment to D119837: [RISCV] Fix the include search path order between sysroot and resource folder.

Thanks Kito. This LGTM, but I'd appreciate someone else reviewing and approving as well.

Feb 16 2022, 6:38 AM · Restricted Project

Nov 30 2021

abidh committed rGc01c62c76c60: [MC][ELF] Fix accepting abbreviated form with Type change (authored by burnus).
[MC][ELF] Fix accepting abbreviated form with Type change
Nov 30 2021, 6:47 AM
abidh closed D114717: [MC][ELF] Fix accepting abbreviated form with Type change.
Nov 30 2021, 6:47 AM · Restricted Project

Aug 4 2021

abidh abandoned D89040: [libcxx] Allow checking for newlib without using _NEWLIB_VERSION..
Aug 4 2021, 8:36 AM · Unknown Object (Project)
abidh abandoned D83244: [lld] Don't error out on relocations in .gcc_except_table to discarded sections..
Aug 4 2021, 8:35 AM · Restricted Project

Jul 13 2021

abidh committed rGfb9c5c3dce27: [lld][AMDGPU] Handle R_AMDGPU_REL16 relocation. (authored by abidh).
[lld][AMDGPU] Handle R_AMDGPU_REL16 relocation.
Jul 13 2021, 12:43 PM
abidh closed D105761: [lld][AMDGPU] Handle R_AMDGPU_REL16 relocation..
Jul 13 2021, 12:42 PM · Restricted Project
abidh added inline comments to D105761: [lld][AMDGPU] Handle R_AMDGPU_REL16 relocation..
Jul 13 2021, 10:17 AM · Restricted Project
abidh updated the diff for D105761: [lld][AMDGPU] Handle R_AMDGPU_REL16 relocation..

Handle review comments.

Jul 13 2021, 10:10 AM · Restricted Project
abidh committed rGb205f2bb8938: [AMDGPU] Handle s_branch to another section. (authored by abidh).
[AMDGPU] Handle s_branch to another section.
Jul 13 2021, 4:21 AM
abidh closed D105760: [AMDGPU] Handle s_branch to another section..
Jul 13 2021, 4:21 AM · Restricted Project
abidh updated the diff for D105760: [AMDGPU] Handle s_branch to another section..

Rebase. One of the test file has moved in the repo so updated the patch accordingly.

Jul 13 2021, 3:10 AM · Restricted Project
abidh updated the diff for D105760: [AMDGPU] Handle s_branch to another section..

Remove else after the return.

Jul 13 2021, 2:42 AM · Restricted Project

Jul 10 2021

abidh requested review of D105761: [lld][AMDGPU] Handle R_AMDGPU_REL16 relocation..
Jul 10 2021, 9:55 AM · Restricted Project
abidh requested review of D105760: [AMDGPU] Handle s_branch to another section..
Jul 10 2021, 9:47 AM · Restricted Project

Jul 5 2021

abidh added a comment to D105414: Add x86 and x86_64 to the BareMetal toolchain.

You need to add some tests that check the functionality that you are adding. Look at clang/test/Driver/baremetal.cpp for an example.

Jul 5 2021, 3:17 AM · Restricted Project

Jun 3 2021

abidh added inline comments to D91442: [clang][Driver] Handle risvc in Baremetal.cpp..
Jun 3 2021, 5:12 AM · Restricted Project

May 7 2021

abidh accepted D102049: [BareMetal] Ensure that sysroot always comes after library paths.

LGTM

May 7 2021, 2:46 AM · Restricted Project
abidh added a comment to D92677: Provide default location of sysroot for Baremetal toolchain..

If gcc and clang based toolchains are installed in the same prefix then having sysroot at same location can cause one installation to overwrite parts of other.

May 7 2021, 2:40 AM · Restricted Project

Mar 8 2021

abidh added a comment to D98113: [Driver] Also search FilePaths for compiler-rt before falling back.

One thing that is currently rather ugly about BareMetal is that it ignores the AddArch argument. Once you have a sysroot, the architecture suffix is rather unnecessary, and given compiler-rt uses LLVM_ENABLE_PER_TARGET_RUNTIME_DIR to decide both whether to add a suffix and whether to add lib/${OS} to the install path, that means you can't nicely point compiler-rt at the sysroot as the install directory (well, unless you do something like make COMPILER_RT_OUTPUT_DIR point at the sysroot not the libdir and set COMPILER_RT_OS_DIR to . (or maybe the empty string also works)).

Mar 8 2021, 3:42 AM · Restricted Project

Feb 11 2021

abidh committed rG60bed4ab57d5: Replace deprecated %T in 2 tests. (authored by abidh).
Replace deprecated %T in 2 tests.
Feb 11 2021, 2:22 PM
abidh closed D93023: Replace deprecated %T in 2 tests..
Feb 11 2021, 2:21 PM · Restricted Project
abidh updated the diff for D93023: Replace deprecated %T in 2 tests..

Changes in this version.

  1. Added an explicit --sysroot argument.
  2. Shortened "testroot-riscv{len}-baremetal-nogcc" string
Feb 11 2021, 6:03 AM · Restricted Project

Jan 28 2021

abidh committed rG70ea15b88953: [MC][ELF] Fix accepting abbreviated form with sh_flags and sh_entsize (authored by burnus).
[MC][ELF] Fix accepting abbreviated form with sh_flags and sh_entsize
Jan 28 2021, 7:01 AM
abidh closed D94072: [MC][ELF] Fix accepting abbreviated form with sh_flags and sh_entsize.
Jan 28 2021, 7:01 AM · Restricted Project

Dec 21 2020

abidh committed rG43def795aacd: Update references to 'master' branch. (authored by abidh).
Update references to 'master' branch.
Dec 21 2020, 11:12 AM
abidh closed D92831: Update references to 'master' branch..
Dec 21 2020, 11:11 AM · Restricted Project
abidh updated the diff for D92831: Update references to 'master' branch..

Rebase.

Dec 21 2020, 11:05 AM · Restricted Project

Dec 14 2020

abidh committed rG670686ad8ecc: Add initial support for multilibs in Baremetal toolchain. (authored by abidh).
Add initial support for multilibs in Baremetal toolchain.
Dec 14 2020, 1:00 PM
abidh closed D93138: Add initial support for multilibs in Baremetal toolchain..
Dec 14 2020, 1:00 PM · Restricted Project, Restricted Project
abidh updated the diff for D93138: Add initial support for multilibs in Baremetal toolchain..

Handle review comments.

Dec 14 2020, 10:41 AM · Restricted Project, Restricted Project
abidh added a comment to D93023: Replace deprecated %T in 2 tests..

It seems that testcase I added has brought to surface a hidden issue. If you
look at the end of Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes,
it adds sysroot/usr to the Prefixes. If the sysroot is empty, this will end up
using the toolchain that you installed in /usr.

Dec 14 2020, 5:59 AM · Restricted Project

Dec 11 2020

abidh requested review of D93138: Add initial support for multilibs in Baremetal toolchain..
Dec 11 2020, 11:45 AM · Restricted Project, Restricted Project
abidh added a comment to D92052: [MC][ELF] Accept abbreviated form with sh_flags and sh_entsize.

Committed in 1deff4009e0a on request of @burnus.

Dec 11 2020, 8:49 AM · Restricted Project
abidh committed rG1deff4009e0a: [MC][ELF] Accept abbreviated form with sh_flags and sh_entsize (authored by burnus).
[MC][ELF] Accept abbreviated form with sh_flags and sh_entsize
Dec 11 2020, 8:46 AM
abidh closed D92052: [MC][ELF] Accept abbreviated form with sh_flags and sh_entsize.
Dec 11 2020, 8:46 AM · Restricted Project

Dec 10 2020

abidh added a comment to D93023: Replace deprecated %T in 2 tests..

If you do this, testroot-riscv64-baremetal-nogcc/ is probably also not useful (or you can replace it with a shorter string`.

Can you fix the tests when gcc-riscv64-linux-gnu is installed?

Dec 10 2020, 12:53 PM · Restricted Project
abidh updated the diff for D92831: Update references to 'master' branch..

Remove an unintended change.

Dec 10 2020, 4:22 AM · Restricted Project
abidh added inline comments to D92831: Update references to 'master' branch..
Dec 10 2020, 4:20 AM · Restricted Project
abidh added a comment to D91442: [clang][Driver] Handle risvc in Baremetal.cpp..

This change has been failing on my machine for the past two weeks.

riscv32-toolchain-extra.c and riscv64-toolchain-extra.c are not hermit. I have installed /usr/lib/gcc-cross/riscv64-linux-gnu/10 (gcc-10-riscv64-linux-gnu and its dependencies) on my machine and the test will find some directories relative to /usr/lib/gcc-cross/riscv64-linux-gnu/10. I think --sysroot is required for such tests.

%T is a deprecated lit feature. Please do something like rm -rf %t; mkdir %t instead.

Dec 10 2020, 4:09 AM · Restricted Project
abidh requested review of D93023: Replace deprecated %T in 2 tests..
Dec 10 2020, 4:06 AM · Restricted Project

Dec 9 2020

abidh updated the diff for D92831: Update references to 'master' branch..

Updated other instances in llvm/docs. I have initially updated the whole tree but that becomes quite a big patch. I can post that one if it is of interest.

Dec 9 2020, 4:08 PM · Restricted Project
abidh added a comment to D92831: Update references to 'master' branch..

Thanks for this.
The proposed changes all LGTM.
I did do a grep on the term 'master' in llvm/docs, and found quite a few more uses of 'master', especially in links.
The command I used was: grep -R master llvm/docs/
Just two examples are:

llvm/docs/CodingStandards.rst:<https://github.com/llvm/llvm-project/tree/master/llvm/include/llvm/ADT>`_)
llvm/docs/GitBisecting.rst:being able to reset, do the usual ``git checkout -f master; git reset --hard

Would you also be willing to adapt/fix the URLs pointing to llvm-project in that directory?

Thanks,

Kristof

Dec 9 2020, 2:51 PM · Restricted Project

Dec 8 2020

abidh requested review of D92831: Update references to 'master' branch..
Dec 8 2020, 4:00 AM · Restricted Project
abidh committed rGdeec343bfd85: [compiler-rt] Allow appending to 'target_cflags' value from lit_config. (authored by abidh).
[compiler-rt] Allow appending to 'target_cflags' value from lit_config.
Dec 8 2020, 3:49 AM
abidh closed D91783: [compiler-rt] Allow appending to 'target_cflags' value from lit_config..
Dec 8 2020, 3:49 AM · Restricted Project

Dec 7 2020

abidh updated the diff for D91783: [compiler-rt] Allow appending to 'target_cflags' value from lit_config..

Addressed review comments.

Dec 7 2020, 2:04 PM · Restricted Project
abidh committed rG275592e71413: Provide default location of sysroot for Baremetal toolchain. (authored by abidh).
Provide default location of sysroot for Baremetal toolchain.
Dec 7 2020, 1:28 AM
abidh closed D92677: Provide default location of sysroot for Baremetal toolchain..
Dec 7 2020, 1:27 AM · Restricted Project

Dec 4 2020

abidh added inline comments to D92677: Provide default location of sysroot for Baremetal toolchain..
Dec 4 2020, 1:31 PM · Restricted Project
abidh updated the diff for D92677: Provide default location of sysroot for Baremetal toolchain..

Handled review comments.

Dec 4 2020, 1:29 PM · Restricted Project
abidh requested review of D92677: Provide default location of sysroot for Baremetal toolchain..
Dec 4 2020, 11:45 AM · Restricted Project
abidh committed rGca2888310b24: Don't use sysroot/include when sysroot is empty. (authored by abidh).
Don't use sysroot/include when sysroot is empty.
Dec 4 2020, 10:34 AM
abidh closed D92176: Don't use sysroot/include when sysroot is empty..
Dec 4 2020, 10:34 AM · Restricted Project
abidh added a comment to D91783: [compiler-rt] Allow appending to 'target_cflags' value from lit_config..

ping.

Dec 4 2020, 9:26 AM · Restricted Project
abidh added a comment to D92176: Don't use sysroot/include when sysroot is empty..

@jroelofs Do you have any comments on this patch?

Dec 4 2020, 9:23 AM · Restricted Project

Nov 26 2020

abidh requested review of D92176: Don't use sysroot/include when sysroot is empty..
Nov 26 2020, 6:26 AM · Restricted Project
abidh committed rG45ba2392d7e0: [clang][Driver] Handle risvc in Baremetal.cpp. (authored by abidh).
[clang][Driver] Handle risvc in Baremetal.cpp.
Nov 26 2020, 3:44 AM
abidh closed D91442: [clang][Driver] Handle risvc in Baremetal.cpp..
Nov 26 2020, 3:44 AM · Restricted Project

Nov 24 2020

abidh added a comment to D91442: [clang][Driver] Handle risvc in Baremetal.cpp..

Hi @lenary,
Do you any more comments on the patch?

Nov 24 2020, 4:58 AM · Restricted Project

Nov 19 2020

abidh requested review of D91783: [compiler-rt] Allow appending to 'target_cflags' value from lit_config..
Nov 19 2020, 4:35 AM · Restricted Project

Nov 18 2020

abidh updated the diff for D91442: [clang][Driver] Handle risvc in Baremetal.cpp..

This update contains following changes.

Nov 18 2020, 12:08 PM · Restricted Project
abidh committed rG8cdc53887387: Add sysroot/lib to library search path of baremetal toolchain. (authored by abidh).
Add sysroot/lib to library search path of baremetal toolchain.
Nov 18 2020, 4:41 AM
abidh closed D91559: Add sysroot/lib to library search path of baremetal toolchain..
Nov 18 2020, 4:41 AM · Restricted Project
abidh added inline comments to D91559: Add sysroot/lib to library search path of baremetal toolchain..
Nov 18 2020, 3:38 AM · Restricted Project
abidh updated the diff for D91559: Add sysroot/lib to library search path of baremetal toolchain..

Handle review comment.

Nov 18 2020, 3:35 AM · Restricted Project

Nov 17 2020

abidh added a comment to D91442: [clang][Driver] Handle risvc in Baremetal.cpp..

I recall that there is also https://reviews.llvm.org/D68407 which iirc hoped to address using RISCVToolchain with Compiler-rt and libunwind - presumably it is not a complete solution, but it might be we want to use some checking of the GCCInstallation (like RISCVToolChain::GetDefaultRuntimeLibType does) to choose which toolchain to instantiate? I'm not sure if we can satisfy that ordering though.

Nov 17 2020, 8:54 AM · Restricted Project
abidh added a comment to D91442: [clang][Driver] Handle risvc in Baremetal.cpp..

I'm worried about this change - I *think* it doesn't cover the existing behaviour of a baremetal GCC toolchain being installed into the same prefix as clang, and clang automatically picking up that baremetal gcc toolchain. What should we expect to do here? This is especially an issue if you're trying to make a relocatable toolchain tarball, where specifying --gcc-toolchain automatically is difficult.

Would it be possible to use a relative path with --gcc-toolchain then this can be checked in either RISCVToolChain.cpp or GNU.cpp and adjusted accordingly?

The GCC toolchain, when given a relative path, already interprets it relative to the working directory the compiler was invoked from, not the directory the compiler is located in, iirc.

I dont think path is made absolute relative using working directory. What is happening is that if (!VFS.exists(Prefix)) call in the following line will succeed if the path existed relative to working directory. This seems accidental to me.

https://github.com/llvm/llvm-project/blob/5a9f3867046c4e1c97760e22a505f4d1d788417e/clang/lib/Driver/ToolChains/Gnu.cpp#L1947

I tried a small change to turn a relative --gcc-toolchain into absolute using the compiler installed path and it works ok. If this is something that works for you then I can post a patch.

Relative paths should be relative to the current working directory. That is what everyone expects and is what every other argument does (and see = and $SYSROOT for how GCC and compatible drivers get around that in cases like -I).

Nov 17 2020, 8:31 AM · Restricted Project
abidh added a comment to D91442: [clang][Driver] Handle risvc in Baremetal.cpp..

I'm worried about this change - I *think* it doesn't cover the existing behaviour of a baremetal GCC toolchain being installed into the same prefix as clang, and clang automatically picking up that baremetal gcc toolchain. What should we expect to do here? This is especially an issue if you're trying to make a relocatable toolchain tarball, where specifying --gcc-toolchain automatically is difficult.

Would it be possible to use a relative path with --gcc-toolchain then this can be checked in either RISCVToolChain.cpp or GNU.cpp and adjusted accordingly?

The GCC toolchain, when given a relative path, already interprets it relative to the working directory the compiler was invoked from, not the directory the compiler is located in, iirc.

Nov 17 2020, 6:15 AM · Restricted Project
abidh added a comment to D91442: [clang][Driver] Handle risvc in Baremetal.cpp..

I'm worried about this change - I *think* it doesn't cover the existing behaviour of a baremetal GCC toolchain being installed into the same prefix as clang, and clang automatically picking up that baremetal gcc toolchain. What should we expect to do here? This is especially an issue if you're trying to make a relocatable toolchain tarball, where specifying --gcc-toolchain automatically is difficult.

Nov 17 2020, 3:40 AM · Restricted Project

Nov 16 2020

abidh added a comment to D91442: [clang][Driver] Handle risvc in Baremetal.cpp..

Seems reasonable.

I could see someone wanting to use --gcc-toolchain to point at the baremetal toolchain for their target, but that's unlikely to work out of the box anyway. I'd love to know where the Generic_GCC toolchain is used in practice, since that's always seemed quite fragile to me.

Nov 16 2020, 12:14 PM · Restricted Project
abidh updated the diff for D91442: [clang][Driver] Handle risvc in Baremetal.cpp..

Made the condition consistent in both places where Baremetal toolchain is instantiated as suggested in review.

Nov 16 2020, 12:13 PM · Restricted Project
abidh requested review of D91559: Add sysroot/lib to library search path of baremetal toolchain..
Nov 16 2020, 12:07 PM · Restricted Project

Nov 13 2020

abidh added a comment to D91442: [clang][Driver] Handle risvc in Baremetal.cpp..

We use pure LLVM toolchains so improving support for that out of the box is good in my books. However, I do worry this is going to cause friction for a lot of people using LLVM for RISC-V; my understanding is that most use LLVM with a GNU sysroot and binutils, and so this looks like it will break their setups. Is there anything that can be done to automatically detect such cases? What does Arm do here?

Nov 13 2020, 10:10 AM · Restricted Project
abidh requested review of D91442: [clang][Driver] Handle risvc in Baremetal.cpp..
Nov 13 2020, 9:49 AM · Restricted Project

Oct 22 2020

abidh added a comment to D89040: [libcxx] Allow checking for newlib without using _NEWLIB_VERSION..
Oct 22 2020, 3:07 AM · Unknown Object (Project)

Oct 21 2020

abidh committed rG272279a1c0fa: [libcxxabi] Stub out 'sleep' call when _LIBCXXABI_HAS_NO_THREADS is defined. (authored by abidh).
[libcxxabi] Stub out 'sleep' call when _LIBCXXABI_HAS_NO_THREADS is defined.
Oct 21 2020, 12:59 PM
abidh closed D89871: [libcxxabi] Stub out 'sleep' call when _LIBCXXABI_HAS_NO_THREADS is defined..
Oct 21 2020, 12:59 PM · Restricted Project
abidh requested review of D89871: [libcxxabi] Stub out 'sleep' call when _LIBCXXABI_HAS_NO_THREADS is defined..
Oct 21 2020, 4:27 AM · Restricted Project
abidh added a comment to D89040: [libcxx] Allow checking for newlib without using _NEWLIB_VERSION..

ping.

Oct 21 2020, 4:06 AM · Unknown Object (Project)

Oct 13 2020

abidh resigned from D39969: Set error status in ObjectFile::LoadInMemory if it is not set .
Oct 13 2020, 1:09 PM
abidh committed rGeddbadfe13fb: [compiler-rt] Allow override of 'emulator' value from lit_config. (authored by abidh).
[compiler-rt] Allow override of 'emulator' value from lit_config.
Oct 13 2020, 9:15 AM
abidh closed D84708: [compiler-rt] Allow override of 'emulator' value from lit_config..
Oct 13 2020, 9:15 AM · Restricted Project

Oct 11 2020

abidh updated the diff for D84708: [compiler-rt] Allow override of 'emulator' value from lit_config..

Updated the comments and summary message as suggested in the review.

Oct 11 2020, 1:15 PM · Restricted Project

Oct 9 2020

abidh added a comment to D84708: [compiler-rt] Allow override of 'emulator' value from lit_config..

@abidh Can you explain why this is needed? The emulator is set at CMake configure time and its value depends on the target being tested. Why do you want to override this with a value from the lit_config object?

Oct 9 2020, 2:09 AM · Restricted Project

Oct 8 2020

abidh added a reviewer for D84708: [compiler-rt] Allow override of 'emulator' value from lit_config.: delcypher.
Oct 8 2020, 7:59 AM · Restricted Project
abidh resigned from D12968: Fix for lldb-mi crash in Listener code if -exec-abort MI command was invoked without getting process stopped.
Oct 8 2020, 6:26 AM
abidh resigned from D26124: [LLDB-MI] Escape MI output in a more consistent manner.
Oct 8 2020, 6:26 AM
abidh requested review of D89040: [libcxx] Allow checking for newlib without using _NEWLIB_VERSION..
Oct 8 2020, 6:10 AM · Unknown Object (Project)

Oct 6 2020

abidh accepted D88825: [libc++] Check _LIBCPP_USE_CLOCK_GETTIME before using clock_gettime.
Oct 6 2020, 2:46 AM · Restricted Project

Oct 5 2020

abidh requested review of D88825: [libc++] Check _LIBCPP_USE_CLOCK_GETTIME before using clock_gettime.
Oct 5 2020, 4:52 AM · Restricted Project