Page MenuHomePhabricator
Feed Advanced Search

Today

sivachandra added a comment to D77340: [libc] Add fully-qualified target names..

This change implements the topic I brought up many weeks ago: http://lists.llvm.org/pipermail/libc-dev/2020-January/000038.html.

Thu, Apr 2, 3:44 PM · Restricted Project
sivachandra created D77340: [libc] Add fully-qualified target names..
Thu, Apr 2, 3:44 PM · Restricted Project

Yesterday

sivachandra created D77256: [libc] Collect objects only from visible deps of an object library..
Wed, Apr 1, 4:54 PM · Restricted Project

Tue, Mar 31

sivachandra accepted D76936: [libc] Add sigfillset and sigdelset.
Tue, Mar 31, 11:05 PM · Restricted Project
sivachandra added inline comments to D76818: [clang-tidy] Add check llvmlibc-implementation-in-namespace..
Tue, Mar 31, 10:32 PM · Restricted Project, Restricted Project

Mon, Mar 30

sivachandra added inline comments to D76978: [libc builder] Add custom step to run clang-tidy..
Mon, Mar 30, 3:16 PM · Restricted Project, Restricted Project
sivachandra added inline comments to D76978: [libc builder] Add custom step to run clang-tidy..
Mon, Mar 30, 2:44 PM · Restricted Project, Restricted Project

Sat, Mar 28

sivachandra committed rG51b899c846e6: [libc] Extend add_object rule to handle helper object libraries. (authored by sivachandra).
[libc] Extend add_object rule to handle helper object libraries.
Sat, Mar 28, 12:32 AM
sivachandra closed D76826: [libc] Extend add_object rule to handle helper object libraries..
Sat, Mar 28, 12:31 AM · Restricted Project
sivachandra updated the diff for D76826: [libc] Extend add_object rule to handle helper object libraries..

Fix typos.

Sat, Mar 28, 12:30 AM · Restricted Project
sivachandra added inline comments to D76826: [libc] Extend add_object rule to handle helper object libraries..
Sat, Mar 28, 12:30 AM · Restricted Project

Fri, Mar 27

sivachandra added a comment to D76967: [libc][NFC] Ensure internal implementation is in __llvm_libc namespace.

Delete all occurrences of __llvm_libc.

We made a decision to start with this, so we will stick with it unless we find some absolutely no go situation.

Fri, Mar 27, 11:57 PM · Restricted Project
sivachandra accepted D76967: [libc][NFC] Ensure internal implementation is in __llvm_libc namespace.

Delete all occurrences of __llvm_libc.

Fri, Mar 27, 11:57 PM · Restricted Project

Thu, Mar 26

sivachandra added inline comments to D76676: [libc] Unblock SIGABRT before raising in abort.
Thu, Mar 26, 9:44 PM
sivachandra added a comment to D76825: [libc] Move implementations of cosf, sinf, sincosf to src/math directory..

Won't deleting the files in the AOR directory cause the make check on the buildbots to fail? It might make sense to leave the files and delete them once all functions have been migrated?

Thu, Mar 26, 9:44 PM · Restricted Project
sivachandra updated subscribers of D76676: [libc] Unblock SIGABRT before raising in abort.
Thu, Mar 26, 5:27 PM
sivachandra added inline comments to D76676: [libc] Unblock SIGABRT before raising in abort.
Thu, Mar 26, 5:25 PM
sivachandra added a comment to D76825: [libc] Move implementations of cosf, sinf, sincosf to src/math directory..

It's probably worth discussing how much we expect we will alter these files. Is it fine to just accept that we didn't write them and that they will just be very different from the rest of libc?

While I do intend to make any functional changes in this move patch, we absolutely want the code to follow our implementation standards, just like the rest of the code. So, thanks for already pointing out the items missed. For now, all I have done was to run clang-format. I will fix the rest with a new upload.

Thu, Mar 26, 12:29 PM · Restricted Project
sivachandra added a comment to D76825: [libc] Move implementations of cosf, sinf, sincosf to src/math directory..

It's probably worth discussing how much we expect we will alter these files. Is it fine to just accept that we didn't write them and that they will just be very different from the rest of libc?

Thu, Mar 26, 11:59 AM · Restricted Project

Wed, Mar 25

sivachandra added inline comments to D76818: [clang-tidy] Add check llvmlibc-implementation-in-namespace..
Wed, Mar 25, 10:43 PM · Restricted Project, Restricted Project
sivachandra added a child revision for D76826: [libc] Extend add_object rule to handle helper object libraries.: D76825: [libc] Move implementations of cosf, sinf, sincosf to src/math directory..
Wed, Mar 25, 10:11 PM · Restricted Project
sivachandra added a comment to D76825: [libc] Move implementations of cosf, sinf, sincosf to src/math directory..

This patch is not ready for review yet. For one, it does not have any tests. I am only sharing to showcase the move early.

Wed, Mar 25, 10:11 PM · Restricted Project
sivachandra created D76826: [libc] Extend add_object rule to handle helper object libraries..
Wed, Mar 25, 10:11 PM · Restricted Project
sivachandra updated the summary of D76825: [libc] Move implementations of cosf, sinf, sincosf to src/math directory..
Wed, Mar 25, 10:11 PM · Restricted Project
sivachandra updated the summary of D76825: [libc] Move implementations of cosf, sinf, sincosf to src/math directory..
Wed, Mar 25, 10:11 PM · Restricted Project
sivachandra created D76825: [libc] Move implementations of cosf, sinf, sincosf to src/math directory..
Wed, Mar 25, 10:11 PM · Restricted Project
sivachandra updated subscribers of D76818: [clang-tidy] Add check llvmlibc-implementation-in-namespace..
Wed, Mar 25, 8:35 PM · Restricted Project, Restricted Project
sivachandra committed rG911f2e7dc4a4: [libc] Add a GNU extensions spec containing sincosf from math.h. (authored by sivachandra).
[libc] Add a GNU extensions spec containing sincosf from math.h.
Wed, Mar 25, 3:44 PM
sivachandra closed D76783: [libc] Add a GNU extensions spec containing sincosf from math.h..
Wed, Mar 25, 3:44 PM · Restricted Project
sivachandra added inline comments to D76723: [libc] Generate math.h instead of the static file it is currently..
Wed, Mar 25, 10:50 AM · Restricted Project
sivachandra committed rGf6ccb4fef249: [libc] Add a simple x86_64 linux loader. (authored by sivachandra).
[libc] Add a simple x86_64 linux loader.
Wed, Mar 25, 10:17 AM
sivachandra closed D76412: [libc] Add a simple x86_64 linux loader..
Wed, Mar 25, 10:17 AM · Restricted Project
sivachandra added a comment to D76783: [libc] Add a GNU extensions spec containing sincosf from math.h..

This is another part I broke off from my sinf/cosf patch.

Wed, Mar 25, 10:16 AM · Restricted Project
sivachandra created D76783: [libc] Add a GNU extensions spec containing sincosf from math.h..
Wed, Mar 25, 10:16 AM · Restricted Project

Tue, Mar 24

sivachandra updated the diff for D76412: [libc] Add a simple x86_64 linux loader..
  • Remove a leftover if block in add_loader_test.
  • Add warning in the add_loader_test rule if the host is not unix.
Tue, Mar 24, 10:24 PM · Restricted Project
sivachandra added inline comments to D76412: [libc] Add a simple x86_64 linux loader..
Tue, Mar 24, 10:24 PM · Restricted Project
sivachandra committed rG2c080a3f23e4: [libc] Generate math.h instead of the static file it is currently. (authored by sivachandra).
[libc] Generate math.h instead of the static file it is currently.
Tue, Mar 24, 9:52 PM
sivachandra closed D76723: [libc] Generate math.h instead of the static file it is currently..
Tue, Mar 24, 9:52 PM · Restricted Project
sivachandra added a comment to D76744: [clang-tidy] Add check to ensure llvm-libc implementations are defined in correct namespace..

Instead of this narrow check, what we really want is a check to ensure that all implementation detail resides in the namespace __llvm_libc. Anything outside would be special and requiring a NOLINT... for them is reasonable. Have you considered such an approach?

Tue, Mar 24, 9:20 PM · Restricted Project, Restricted Project
sivachandra updated subscribers of D76744: [clang-tidy] Add check to ensure llvm-libc implementations are defined in correct namespace..
Tue, Mar 24, 8:56 PM · Restricted Project, Restricted Project
sivachandra added inline comments to D76723: [libc] Generate math.h instead of the static file it is currently..
Tue, Mar 24, 2:34 PM · Restricted Project
sivachandra updated the diff for D76723: [libc] Generate math.h instead of the static file it is currently..
  • Add "" arg to __builtin_nanf.
  • Remove cosf and sinf from linux API; will add them in the patch adding their implementation.
Tue, Mar 24, 2:34 PM · Restricted Project
sivachandra created D76723: [libc] Generate math.h instead of the static file it is currently..
Tue, Mar 24, 12:24 PM · Restricted Project

Mon, Mar 23

sivachandra added a comment to D74021: Created uChar implementation for libc.

Sorry it took me this long to comment here. Part of it was because I had to educate myself about mutli-byte characters and wide characters. Few high level questions:

Mon, Mar 23, 1:06 AM · Restricted Project, Restricted Project

Sun, Mar 22

sivachandra accepted D76577: [libc] Don't configure test and fuzzer when -DLLVM_INCLUDE_TESTS=OFF.
Sun, Mar 22, 9:29 PM · Restricted Project
sivachandra accepted D76536: [libc] Add signal.
Sun, Mar 22, 1:02 AM · Restricted Project

Sat, Mar 21

sivachandra accepted D76536: [libc] Add signal.

OK with one naming fix suggested inline.

Sat, Mar 21, 10:57 PM · Restricted Project
sivachandra accepted D76559: [libc] Enable llvmlibc clang-tidy checks.

This is OK as a start. But, can we follow up with a study on running clang-tidy as part of our build rules? Like, what are the pros and cons? For the pros, I can think of:

Sat, Mar 21, 10:57 PM · Restricted Project

Fri, Mar 20

sivachandra accepted D76331: [libc builder] Add custom step for AOR tests..
Fri, Mar 20, 5:55 PM · Restricted Project, Restricted Project
sivachandra added inline comments to D76331: [libc builder] Add custom step for AOR tests..
Fri, Mar 20, 1:34 PM · Restricted Project, Restricted Project
sivachandra committed rG25294708f5ee: [libc] NFC - Move the round redirector from its own nested directory. (authored by sivachandra).
[libc] NFC - Move the round redirector from its own nested directory.
Fri, Mar 20, 12:29 PM
sivachandra added inline comments to D76331: [libc builder] Add custom step for AOR tests..
Fri, Mar 20, 11:55 AM · Restricted Project, Restricted Project

Thu, Mar 19

sivachandra updated the diff for D76412: [libc] Add a simple x86_64 linux loader..

Use -ffreestanding instead of -w.

Thu, Mar 19, 10:26 PM · Restricted Project
sivachandra added a comment to D76412: [libc] Add a simple x86_64 linux loader..

The directory structure libc/loader/linux/x86_64/ does not seem very right. A loader can be made architecture agnostic with a little abstraction. I am concerned this will get copied over to x86 and aarch64.

Thu, Mar 19, 10:26 PM · Restricted Project
sivachandra updated the diff for D76412: [libc] Add a simple x86_64 linux loader..

Remove incorrect/redundant target_compile_options.

Thu, Mar 19, 3:22 PM · Restricted Project
sivachandra added a comment to D76412: [libc] Add a simple x86_64 linux loader..

Looks pretty good I think. It fails to link when using sanitizers though, they don't go well with -static I think.

Thu, Mar 19, 1:09 PM · Restricted Project
sivachandra updated the diff for D76412: [libc] Add a simple x86_64 linux loader..
  • Do not run loader tests as part of check-libc as they are not yet sanitizer ready.
  • Use add_executable with -nostdlib flag instead of calling the linker directly.
Thu, Mar 19, 1:09 PM · Restricted Project

Wed, Mar 18

sivachandra updated the diff for D76412: [libc] Add a simple x86_64 linux loader..
  • Fix a typo in a test
  • Add two more tests
Wed, Mar 18, 11:19 PM · Restricted Project
sivachandra created D76412: [libc] Add a simple x86_64 linux loader..
Wed, Mar 18, 11:19 PM · Restricted Project
sivachandra committed rG4e8830830ee4: [libc] Add a missing deps to the linux syscalls target. (authored by sivachandra).
[libc] Add a missing deps to the linux syscalls target.
Wed, Mar 18, 1:02 PM
sivachandra added a comment to D74397: [libc] Adding memcpy implementation for x86_64.

Thank you @sivachandra and @abrachet for the review.
I'll submit it as-is for now and we can iterate from here.

Wed, Mar 18, 10:20 AM · Restricted Project

Tue, Mar 17

sivachandra accepted D75802: [libc] Add sigaction.
Tue, Mar 17, 10:08 PM · Restricted Project
sivachandra added inline comments to D76331: [libc builder] Add custom step for AOR tests..
Tue, Mar 17, 4:46 PM · Restricted Project, Restricted Project
sivachandra accepted D76330: [libc] Add AOR testing dependencies for buildbot workers..
Tue, Mar 17, 4:46 PM · Restricted Project
sivachandra committed rG768ead0a6ca7: [libc] Add a new rule `add_object`. (authored by sivachandra).
[libc] Add a new rule `add_object`.
Tue, Mar 17, 12:57 PM
sivachandra closed D76271: [libc] Add a new rule `add_object`..
Tue, Mar 17, 12:57 PM · Restricted Project
sivachandra added inline comments to D76271: [libc] Add a new rule `add_object`..
Tue, Mar 17, 12:56 PM · Restricted Project
sivachandra added inline comments to D76267: [libc] Resolve race condition in sub-process test runner..
Tue, Mar 17, 11:16 AM · Restricted Project
sivachandra added a comment to D76271: [libc] Add a new rule `add_object`..

Could you show how you are using this? I have tried like:

add_object(
  special
  SRC
    special.cpp
  COMPILE_OPTIONS
    -Wframe-larger-than=0
)

add_entrypoint_object(
  entrypoint
  SRCS
    entrypoint.cpp
  HDRS
     entrypoint.h
  DEPENDS
     special
)

Doesn't work, entrypoint doesn't link against special.o

Tue, Mar 17, 9:38 AM · Restricted Project
sivachandra added inline comments to D75802: [libc] Add sigaction.
Tue, Mar 17, 9:38 AM · Restricted Project
sivachandra created D76271: [libc] Add a new rule `add_object`..
Tue, Mar 17, 12:08 AM · Restricted Project
sivachandra added a comment to D75802: [libc] Add sigaction.

I just uploaded https://reviews.llvm.org/D76271. I tested it with this patch to make sure it is working as expected.

Tue, Mar 17, 12:08 AM · Restricted Project

Mon, Mar 16

sivachandra added inline comments to D76267: [libc] Resolve race condition in sub-process test runner..
Mon, Mar 16, 10:42 PM · Restricted Project
sivachandra accepted D76267: [libc] Resolve race condition in sub-process test runner..
Mon, Mar 16, 10:42 PM · Restricted Project
sivachandra committed rG78d622a48c19: [libc] Add a README.md file to the AOR directory. (authored by sivachandra).
[libc] Add a README.md file to the AOR directory.
Mon, Mar 16, 12:35 PM
sivachandra committed rG0928368f623a: [libc] Provide Arm Optimized Routines for the LLVM libc project. (authored by kristof.beyls).
[libc] Provide Arm Optimized Routines for the LLVM libc project.
Mon, Mar 16, 12:35 PM
sivachandra accepted D74397: [libc] Adding memcpy implementation for x86_64.

I think what is outstanding wrt comments is very minor. So, feel free to land and we can iterate if required after landing.

Mon, Mar 16, 12:01 PM · Restricted Project
sivachandra added inline comments to D74397: [libc] Adding memcpy implementation for x86_64.
Mon, Mar 16, 10:20 AM · Restricted Project
sivachandra added a comment to D75802: [libc] Add sigaction.

LGTM. I will write back before the end of today about the single object rule.

Mon, Mar 16, 9:48 AM · Restricted Project
sivachandra added inline comments to D74397: [libc] Adding memcpy implementation for x86_64.
Mon, Mar 16, 9:47 AM · Restricted Project

Sat, Mar 14

sivachandra added a comment to D75802: [libc] Add sigaction.

Sorry for the long delay here. I am feeling much better now and should be more responsive.

Sat, Mar 14, 9:06 AM · Restricted Project

Thu, Mar 12

sivachandra committed rZORGb80696081ccf: [libc builder] Fix the asan option name. (authored by sivachandra).
[libc builder] Fix the asan option name.
Thu, Mar 12, 3:12 PM
sivachandra closed D76089: [libc builder] Fix the asan option name..
Thu, Mar 12, 3:12 PM
sivachandra created D76089: [libc builder] Fix the asan option name..
Thu, Mar 12, 12:28 PM
sivachandra accepted D74397: [libc] Adding memcpy implementation for x86_64.
Thu, Mar 12, 8:40 AM · Restricted Project

Wed, Mar 11

sivachandra added a comment to D74021: Created uChar implementation for libc.

Ah sorry, this completely slipped from my radar. I am currently sick, but will try get to this before the end of this week.

Wed, Mar 11, 10:40 PM · Restricted Project, Restricted Project
sivachandra accepted D75596: [libc] Add docker container for llvm-libc buildbot worker..
Wed, Mar 11, 3:32 PM · Restricted Project
sivachandra added a comment to D74397: [libc] Adding memcpy implementation for x86_64.

Mostly LGTM. Few minor questions inline.

Wed, Mar 11, 3:19 PM · Restricted Project
sivachandra accepted D75420: [libc] Add initial assert definition.
Wed, Mar 11, 7:24 AM · Restricted Project
sivachandra accepted D75651: [libc] [UnitTest] Add timeout to death tests.
Wed, Mar 11, 7:24 AM · Restricted Project

Mon, Mar 9

sivachandra committed rG550be40515df: [libc] Add simple implementations of mtx_lock and mtx_unlock. (authored by sivachandra).
[libc] Add simple implementations of mtx_lock and mtx_unlock.
Mon, Mar 9, 10:39 PM
sivachandra closed D74653: [libc] Add simple implementations of mtx_lock and mtx_unlock..
Mon, Mar 9, 10:38 PM · Restricted Project
sivachandra committed rGfd8c13361348: [libc] Take 2: Add linux implementations of thrd_create and thrd_join functions. (authored by sivachandra).
[libc] Take 2: Add linux implementations of thrd_create and thrd_join functions.
Mon, Mar 9, 9:55 PM
sivachandra closed D75818: [libc] Take 2: Add linux implementations of thrd_create and thrd_join functions..
Mon, Mar 9, 9:55 PM · Restricted Project
sivachandra added a comment to D75802: [libc] Add sigaction.

There's just no portable way that I know of to ensure the compile will never make any stack allocations. It's not like like the memcpy intrinsic that @gchatelet added either where it is nice to have, so even if we add a never_stack_alloc attribute to clang (which sounds non trivial), it wouldn't just be slower on other compilers but not work at all. Any stack allocation and the kernel cannot return from the signal, I've gotten either SIGSEGV or SIGBUS when implementing this in C.

Those errors were with ASan and UBSan turned on, and compiled at O1. When sanitizers are turned off and compiling at O1 this function works when written in C (breaks at O0. One idea, is put this in a separate C file, implement it in C and then use add_custom_command so we always know how it is being compiled, ie no sanitizers no instrumentation and optimizations always turned on. This is hacky though because if someone has an alias for their compiler like alias clang="clang -fsanitize=address" then that solution breaks too. Not to mention there is no guarantee that with optimizations turned on the compiler will not emit any push instructions (although its a safe bet that none would).

Mon, Mar 9, 3:40 PM · Restricted Project
sivachandra added inline comments to D75802: [libc] Add sigaction.
Mon, Mar 9, 11:52 AM · Restricted Project
sivachandra added inline comments to D75420: [libc] Add initial assert definition.
Mon, Mar 9, 11:19 AM · Restricted Project

Sun, Mar 8

sivachandra added a comment to D75818: [libc] Take 2: Add linux implementations of thrd_create and thrd_join functions..

FWIW the tests works fine on my machine but the last patch did as well. Also, exceptions can properly unwind the threads stack which I thought might have been an issue with calling clone in C and not being able to emit the correct cfi directives. Which is to say I'm fairly confident everything is set up properly now :)

Sun, Mar 8, 8:31 AM · Restricted Project
sivachandra updated the diff for D75818: [libc] Take 2: Add linux implementations of thrd_create and thrd_join functions..

Address comments.

Sun, Mar 8, 8:31 AM · Restricted Project

Sat, Mar 7

sivachandra updated the diff for D75818: [libc] Take 2: Add linux implementations of thrd_create and thrd_join functions..

Actually use atomic_uchar for the FutexData type.

Sat, Mar 7, 4:45 PM · Restricted Project