~ach

New Zealand

https://acha.ninja

~ach/minias

Last active 8 days ago

~ach/hermes-announcements

Last active 1 year, 4 months ago

~ach/janetsh

Last active 2 years ago

~ach/terraform-provider-nix

Last active 2 years ago

~ach/orderly-dev

Last active 2 years ago

~ach/testlist

Last active 2 years ago
View more

Recent activity

Re: [PATCH] Add top level inline assembly. a day ago

From Andrew Chambers to ~mpu/qbe

> This would be UB if s is an empty string, could such thing happen?
No - the string is surrounded by '"'.
> This truncates the last char of s always.
As intended.
> It seems there's a missing newline before printing this string, or is
> it part of s always?

This is a bug, i have fixed it locally by printing a newline only if the 
inline asm does not have one already.

Re: [PATCH] Add top level inline assembly. a day ago

From Andrew Chambers to ~mpu/qbe

 > Hi Andrew, thanks for your patch! Would you mind linking the patches
 > to cproc?


Simple top level 'basic asm' - http://sprunge.us/NclFXg

I also absolutely brutalized musl libc here:

https://git.sr.ht/~ach/cprocmusl/commit/2d0e166e92637649b982e15ebf630deaf28a5a64

Re: [PATCH] Add top level inline assembly. a day ago

From Andrew Chambers to ~mpu/qbe

> This seems to be of highly limited utility without the ability to map
> temporaries to registers and back, ala GCC's inline assembly.

So to add context, this allows you to do things like implement 
__attribute__((weak)) and __attribute__((alias("sym"))) for cproc, both 
of which are used in musl libc. For example attribute alias maps to asm 
".set sym1, sym2".

This also allowed me to compile crt1.c from musl which uses top level 
asm in this way. In the end I was able to compile a patched musl using 
this and other patches to cproc.

[PATCH] Add top level inline assembly. 2 days ago

From Andrew Chambers to ~mpu/qbe

---
 all.h          |  3 ++-
 doc/il.txt     | 14 ++++++++++++++
 gas.c          | 19 +++++++++++++++++++
 main.c         | 10 +++++++++-
 parse.c        | 16 ++++++++++++++--
 test/tlasm.ssa | 10 ++++++++++
 tools/lexh.c   |  2 +-
 7 files changed, 69 insertions(+), 5 deletions(-)
 create mode 100644 test/tlasm.ssa

diff --git a/all.h b/all.h
index 4b9eb0e..de5719d 100644
--- a/all.h
[message trimmed]

blog post: Powerful scripting with janetsh 2 years ago

From Andrew Chambers to ~ach/janetsh

A blog post demonstrating some of the things you can do with janetsh:


https://acha.ninja/blog/powerful-scripting-with-janetsh/

Backwards incompatible change 2 years ago

From Andrew Chambers to ~ach/terraform-provider-nix

I am renaming nix_nixos.nixos_config to nix_nixos.nixos_config_path . 
The reason for this change is that it now frees up nixos_config to be 
used for an inline expression. nixos_config_path now becomes an output 
path for the expression if it is set.

Orderly Version 0.4 Announcement 2 years ago

From Andrew Chambers to ~ach/orderly-dev

A small new version with some new flags making rate limits more intuitive.

Enjoy the new orderly :).

Orderly Version 0.3 Announcement 2 years ago

From Andrew Chambers to ~ach/orderly-dev

A new backwards incompatible version has been released.

Make sure you read the new flag names which were changed to better 
signal intent.

Another major change is that SIGTERM will use user provided shutdown 
commands to better interop with things like runit and perp.

I hope to make nearly no backwards incompatible changes in the future, 
though before 1.0.0 there are no promises.

Enjoy the new orderly :)

Ordery Version 0.2 Announcement 2 years ago

From Andrew Chambers to ~ach/orderly-dev

Just a quick announcement of version 0.2.

The main change is now you can specify callback scripts/commands when 
your services go up, get restarted, or fail entirely. Details are in the 
user manual.

Thank you for your support :)

Just another test post 2 years ago

From Andrew Chambers to ~ach/testlist

with some test content.