* lib/obstack.in.h (_OBSTACK_CHUNK_SIZE_T) [!__GL_GNULIB_HEADER]: Now long, not unsigned long, since that’s what glibc does. --- ChangeLog | 4 ++++ lib/obstack.in.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog index 8967f3d54f..eb0ba5d166 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2025-05-05 Paul Eggert <egg...@cs.ucla.edu> + obstack: use signed chunk sizes + * lib/obstack.in.h (_OBSTACK_CHUNK_SIZE_T) [!__GL_GNULIB_HEADER]: + Now long, not unsigned long, since that’s what glibc does. + obstack: fix undefined behavior if big alignment * lib/obstack.c: Include stddef.h, for offsetof. (align_size_up): New static function. diff --git a/lib/obstack.in.h b/lib/obstack.in.h index 232414b6b4..d5a0ceff6d 100644 --- a/lib/obstack.in.h +++ b/lib/obstack.in.h @@ -149,7 +149,7 @@ /* For backward compatibility, glibc limits object sizes to int range. */ # define _OBSTACK_INDEX_T int # define _OBSTACK_SIZE_T unsigned int -# define _OBSTACK_CHUNK_SIZE_T unsigned long +# define _OBSTACK_CHUNK_SIZE_T long int # define _OBSTACK_CAST(type, expr) ((type) (expr)) # define _OBSTACK_CHUNK_CONTENTS_SIZE 4 #endif -- 2.49.0