mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-11 14:01:43 -08:00
These changes are needed to conform to the C standard's rule for allocating structs containing flexible array members. C11 says that malloc (offsetof (struct s, m) + n) does not suffice to allocate a struct with an n-byte tail; instead, malloc’s arg should be rounded up to the nearest multiple of alignof (struct s). Although this is arguably a defect in C11, gcc -O2 + valgrind sometimes complains when this rule is violated, and when debugging it’s better to keep valgrind happy. For details please see the thread containing the message at: https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c: Include flexmember.h. * lib-src/ebrowse.c (add_sym, add_member, make_namespace) (register_namespace_alias): * src/alloc.c (SDATA_SIZE, allocate_string_data): * src/image.c (xpm_cache_color, imagemagick_create_cache): * src/process.c (Fmake_network_process): Use FLEXSIZEOF instead of offsetof and addition. * src/alloc.c (SDATA_SIZE, vector_alignment): Use FLEXALIGNOF instead of sizeof (ptrdiff_t). * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR): Remove, as alloc.c can now calculate this on its own. |
||
|---|---|---|
| .. | ||
| ChangeLog.1 | ||
| COPYING | ||
| ctags.c | ||
| ebrowse.c | ||
| emacsclient.c | ||
| etags.c | ||
| hexl.c | ||
| make-docfile.c | ||
| Makefile.in | ||
| movemail.c | ||
| ntlib.c | ||
| ntlib.h | ||
| pop.c | ||
| pop.h | ||
| profile.c | ||
| rcs2log | ||
| README | ||
| update-game-score.c | ||
| update-game-score.exe.manifest | ||
This directory contains the source code for the architecture-dependent
files that go in ${archlibdir}. At present, these are mostly utility
programs used by GNU Emacs.