mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Revert GNU __malloc_initialize_hook(3) change (re: e8b3274a
)
This post-Korn AT&T commit from Feburary 2020 broke the build at least on Slackware 14.2 with gcc 5.5.0 and glibc 2.23 if vmalloc was disabled by defining _std_malloc or _AST_ksh_release (see35672208
). So building with vmalloc disabled has always been broken on 93u+m on at least this version of Linux. As usual, AT&T did not document the reason for applying this change. It was also part of a commit that I already have little trust in (I reverted another part of it in16e4824c
). So let's just revert this and see what happens. Hmm. The Linux __malloc_initialize_hook(3) manual page says it's deprecated and was to be removed from glibc as of 2.24, whereas Slackware 14.2 uses glibc 2.23. This would explain why this change didn't break Linux with newer glibc versions, as the feature test won't detect it and it won't be used at all. src/lib/libast/features/vmalloc, src/lib/libast/vmalloc/malloc.c: - Revert change in definition of __malloc_initialize_hook. It now conforms again with the spec in the Linux man page. The build error caused by this change was: | + cc -D_BLD_DLL -fPIC -D_BLD_ast '-D_AST_git_commit="e3f6d2d0"' -Os -g -D_std_malloc -I. -I/usr/local/src/ksh/src/lib/libast -Icomp -I/usr/local/src/ksh/src/lib/libast/comp -Ivmalloc -I/usr/local/src/ksh/src/lib/libast/vmalloc -Iinclude -I/usr/local/src/ksh/src/lib/libast/include -Istd -I/usr/local/src/ksh/src/lib/libast/std -D_PACKAGE_ast -c /usr/local/src/ksh/src/lib/libast/vmalloc/malloc.c | /usr/local/src/ksh/src/lib/libast/vmalloc/malloc.c: In function '_ast_mallopt': | /usr/local/src/ksh/src/lib/libast/vmalloc/malloc.c:1089:58: warning: implicit declaration of function 'mallopt' [-Wimplicit-function-declaration] | extern int F2(_ast_mallopt, int,cmd, int,value) { return mallopt(cmd, value); } | ^ | /usr/local/src/ksh/src/lib/libast/vmalloc/malloc.c: At top level: | /usr/local/src/ksh/src/lib/libast/vmalloc/malloc.c:1093:22: error: return type is an incomplete type | extern Mallinfo_t F0(_ast_mallinfo, void) { return mallinfo(); } | ^ | /usr/local/src/ksh/src/lib/libast/vmalloc/malloc.c:72:19: note: in definition of macro 'F0' | #define F0(f,t0) f(t0) | ^ | /usr/local/src/ksh/src/lib/libast/vmalloc/malloc.c: In function '_ast_mallinfo': | /usr/local/src/ksh/src/lib/libast/vmalloc/malloc.c:1093:52: warning: implicit declaration of function 'mallinfo' [-Wimplicit-function-declaration] | extern Mallinfo_t F0(_ast_mallinfo, void) { return mallinfo(); } | ^ | /usr/local/src/ksh/src/lib/libast/vmalloc/malloc.c:1093:52: warning: 'return' with a value, in function returning void | mamake [lib/libast]: *** exit code 1 making malloc.o
This commit is contained in:
parent
c2108888df
commit
0a9c6fd771
2 changed files with 2 additions and 2 deletions
|
@ -823,7 +823,7 @@ static void vm_initialize_hook(void)
|
|||
__realloc_hook = vm_realloc_hook;
|
||||
}
|
||||
|
||||
typeof (__malloc_initialize_hook) __malloc_initialize_hook = vm_initialize_hook;
|
||||
void (*__malloc_initialize_hook)(void) = vm_initialize_hook;
|
||||
|
||||
#if 0 /* 2012-02-29 this may be needed to cover shared libs */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue