From 4982d4ebc3bd4924d73f2f2ad584309e9ec97435 Mon Sep 17 00:00:00 2001 From: Ben Huntsman Date: Mon, 4 May 2020 19:52:02 -0700 Subject: all: update build scripts to fix AIX XL/C compatibility --- include/u.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/u.h b/include/u.h index 3bea890e..137b6161 100644 --- a/include/u.h +++ b/include/u.h @@ -20,7 +20,7 @@ extern "C" { #define _NETBSD_SOURCE 1 /* NetBSD */ #define _SVID_SOURCE 1 #define _DEFAULT_SOURCE 1 -#if !defined(__APPLE__) && !defined(__OpenBSD__) +#if !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__AIX__) # define _XOPEN_SOURCE 1000 # define _XOPEN_SOURCE_EXTENDED 1 #endif @@ -33,7 +33,7 @@ extern "C" { # define __LONG_LONG_SUPPORTED #endif #if defined(__AIX__) -# define _XOPEN_SOURCE 1 +# define _XOPEN_SOURCE 600 #endif #if defined(__APPLE__) # define _DARWIN_NO_64_BIT_INODE /* Snow Leopard */ -- cgit v1.2.3 From 5802b09e9d8ceadd2cefdccfd0391c04e492369b Mon Sep 17 00:00:00 2001 From: Ben Huntsman Date: Mon, 4 May 2020 19:53:21 -0700 Subject: all: fix #includes for AIX, add a few AIX "implementation" files --- include/u.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/u.h b/include/u.h index 137b6161..10fc7257 100644 --- a/include/u.h +++ b/include/u.h @@ -6,6 +6,8 @@ extern "C" { #endif +#define HAS_SYS_TERMIOS 1 + #define __BSD_VISIBLE 1 /* FreeBSD 5.x */ #if defined(__sun__) # define __EXTENSIONS__ 1 /* SunOS */ @@ -34,6 +36,8 @@ extern "C" { #endif #if defined(__AIX__) # define _XOPEN_SOURCE 600 +# define _ALL_SOURCE +# undef HAS_SYS_TERMIOS #endif #if defined(__APPLE__) # define _DARWIN_NO_64_BIT_INODE /* Snow Leopard */ -- cgit v1.2.3 From 6fd4e901ce48f2e056c505c81320f786175588ff Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Sun, 17 May 2020 12:37:11 -0400 Subject: lib9: add close More preparation for opendir. --- include/libc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/libc.h b/include/libc.h index 4fa86b22..7b4c3813 100644 --- a/include/libc.h +++ b/include/libc.h @@ -747,7 +747,7 @@ extern int awaitnohang(char*, int); /* extern int bind(char*, char*, int); give up */ /* extern int brk(void*); */ extern int p9chdir(char*); -extern int close(int); +extern int p9close(int); extern int p9create(char*, int, ulong); extern int p9dup(int, int); extern int errstr(char*, uint); @@ -822,6 +822,8 @@ extern ulong rendezvous(ulong, ulong); #define create p9create #undef open #define open p9open +#undef close +#define close p9close #define pipe p9pipe #define waitfor p9waitfor #define write p9write -- cgit v1.2.3 From 8cb7308f3a24249ed091c7decf22005c64099783 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Sun, 17 May 2020 20:02:07 -0400 Subject: lib9: use opendir/readdir to read directories getdirentries(2) has been deprecated on macOS since 10.5 (ten releases ago). Using it requires disabling 64-bit inodes, but that in turn makes binaries incompatible with some dynamic libraries, most notably ASAN. At some point getdirentries(2) will actually be removed. For both these reasons, switch to opendir/readdir. A little clunky since we have to keep the DIR* hidden away to preserve the int fd interfaces, but it lets us remove a bunch of OS-specific code too. --- include/u.h | 3 --- 1 file changed, 3 deletions(-) (limited to 'include') diff --git a/include/u.h b/include/u.h index 10fc7257..297df70a 100644 --- a/include/u.h +++ b/include/u.h @@ -39,9 +39,6 @@ extern "C" { # define _ALL_SOURCE # undef HAS_SYS_TERMIOS #endif -#if defined(__APPLE__) -# define _DARWIN_NO_64_BIT_INODE /* Snow Leopard */ -#endif #define _LARGEFILE64_SOURCE 1 #define _FILE_OFFSET_BITS 64 -- cgit v1.2.3 From 7a371bf93652573b3d57d50466d3ea22a6eebff2 Mon Sep 17 00:00:00 2001 From: Ben Huntsman Date: Wed, 13 May 2020 22:39:53 -0700 Subject: lib9: use __builtin_return_address on IBM XL/C --- include/libc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/libc.h b/include/libc.h index 7b4c3813..4bb537d6 100644 --- a/include/libc.h +++ b/include/libc.h @@ -385,7 +385,7 @@ extern int exitcode(char*); extern void exits(char*); extern double p9frexp(double, int*); extern ulong getcallerpc(void*); -#if defined(__GNUC__) || defined(__clang__) +#if defined(__GNUC__) || defined(__clang__) || defined(__IBMC__) #define getcallerpc(x) ((ulong)__builtin_return_address(0)) #endif extern char* p9getenv(char*); -- cgit v1.2.3 From b4cc38f94321c71e8d19fbbd4691e72f7c0d817b Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 18 May 2020 22:58:09 -0400 Subject: build: drop _XOPEN_SOURCE in u.h on AIX --- include/u.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include') diff --git a/include/u.h b/include/u.h index 297df70a..f84e348a 100644 --- a/include/u.h +++ b/include/u.h @@ -35,7 +35,6 @@ extern "C" { # define __LONG_LONG_SUPPORTED #endif #if defined(__AIX__) -# define _XOPEN_SOURCE 600 # define _ALL_SOURCE # undef HAS_SYS_TERMIOS #endif -- cgit v1.2.3 From d25d0ca1a3682d97df67f62789767562aa5bf1b3 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 18 May 2020 23:45:03 -0400 Subject: devdraw, libdraw: handle keyboard runes > U+FFFF Runes in Plan 9 were limited to the 16-bit BMP when I drew up the RPC protocol between graphical programs and devdraw a long time ago. Now that they can be 32-bit, use a 32-bit wire encoding too. A new message number to avoid problems with other clients (like 9fans.net/go). Add keyboard shortcut alt : , for U+1F602, face with tears of joy, to test that it all works. --- include/drawfcall.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/drawfcall.h b/include/drawfcall.h index 8b9656d5..b8535fb6 100644 --- a/include/drawfcall.h +++ b/include/drawfcall.h @@ -22,8 +22,11 @@ tag[1] Rbouncemouse tag[1] Trdkbd tag[1] Rrdkbd rune[2] +tag[1] Trdkbd4 +tag[1] Rrdkbd4 rune[4] + tag[1] Tlabel label[s] -tag[1] Rlabel +tag[1] Rlabel tag[1] Tctxt wsysid[s] tag[1] Rctxt @@ -31,7 +34,7 @@ tag[1] Rctxt tag[1] Tinit winsize[s] label[s] font[s] tag[1] Rinit -tag[1] Trdsnarf +tag[1] Trdsnarf tag[1] Rrdsnarf snarf[s] tag[1] Twrsnarf snarf[s] @@ -47,7 +50,7 @@ tag[1] Ttop tag[1] Rtop tag[1] Tresize rect[4*4] -tag[1] Rresize +tag[1] Rresize */ @@ -99,6 +102,8 @@ enum { Rcursor2, Tctxt = 30, Rctxt, + Trdkbd4 = 32, + Rrdkbd4, Tmax, }; -- cgit v1.2.3 From a6ad39aaaa36b8aadc5c35bfc803afbde32918c0 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 26 May 2020 11:24:18 -0400 Subject: libdraw: handle larger number of subfonts --- include/draw.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/draw.h b/include/draw.h index 926cc748..9a22e6b6 100644 --- a/include/draw.h +++ b/include/draw.h @@ -311,8 +311,8 @@ struct Font Display *display; short height; /* max height of image, interline spacing */ short ascent; /* top of image to baseline */ - short width; /* widest so far; used in caching only */ - short nsub; /* number of subfonts */ + short width; /* widest so far; used in caching only */ + int nsub; /* number of subfonts */ u32int age; /* increasing counter; used for LRU */ int maxdepth; /* maximum depth of all loaded subfonts */ int ncache; /* size of cache */ @@ -516,6 +516,7 @@ extern Display *display; extern Font *font; extern Image *screen; extern Screen *_screen; +extern int drawmousemask; /* set bits to disable receiving those buttons */ extern int _cursorfd; extern int _drawdebug; /* set to 1 to see errors from flushimage */ extern void _setdrawop(Display*, Drawop); -- cgit v1.2.3