diff options
author | Quentin Carbonneaux <quentin@c9x.me> | 2022-09-09 17:40:31 +0200 |
---|---|---|
committer | Quentin Carbonneaux <quentin@c9x.me> | 2022-10-08 21:48:42 +0200 |
commit | 00a30954aca97004cb6f586bdeeabb488f1e3c3f (patch) | |
tree | 951dc4c0a5be04fe7d5aed13f4201eb90c60f841 /all.h | |
parent | 5cea0c20ee3573949a2c24e4b3dea65fcbf6e48b (diff) | |
download | roux-00a30954aca97004cb6f586bdeeabb488f1e3c3f.tar.gz |
add support for thread-local storage
The apple targets are not done yet.
Diffstat (limited to 'all.h')
-rw-r--r-- | all.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/all.h b/all.h index 0d0bee6..14ebf68 100644 --- a/all.h +++ b/all.h @@ -324,8 +324,11 @@ struct Con { double d; float s; } bits; + enum { + RelDef, + RelThr, + } rel; char flt; /* 1 to print as s, 2 to print as d */ - char local; }; typedef struct Addr Addr; @@ -339,6 +342,7 @@ struct Addr { /* amd64 addressing */ struct Lnk { char export; + char thread; char align; char *sec; char *secf; @@ -536,7 +540,7 @@ void spill(Fn *); void rega(Fn *); /* emit.c */ -void emitlnk(char *, Lnk *, char *, FILE *); +void emitfnlnk(char *, Lnk *, FILE *); void emitdat(Dat *, FILE *); int stashbits(void *, int); void elf_emitfnfin(char *, FILE *); |