Date: Sat, 4 Apr 2020 17:28:04 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Jan Beich <jbeich@freebsd.org> Cc: Warner Losh <imp@bsdimp.com>, Steve Wills <swills@freebsd.org>, "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org> Subject: Re: Time to svn rm include/malloc.h Message-ID: <20200404142804.GP1992@kib.kiev.ua> In-Reply-To: <h7y0-yr8m-wny@FreeBSD.org> References: <CANCZdfr19HgeMLc=XwZPCGecSV0pwMw52SrbgXnKYO9vAHfLyg@mail.gmail.com> <6dbfb7cd-b4c8-dea8-8fc5-43e2b89e352d@FreeBSD.org> <20200331210258.GJ1992@kib.kiev.ua> <CANCZdfq9KTM9ob74ad20gn6wEMteZdSgBV26y4-=7KDPfGs7BA@mail.gmail.com> <20200402113442.GL1992@kib.kiev.ua> <h7y0-yr8m-wny@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Apr 04, 2020 at 03:27:53AM +0200, Jan Beich wrote: > Konstantin Belousov <kostikbel@gmail.com> writes: > > > On Tue, Mar 31, 2020 at 03:48:54PM -0600, Warner Losh wrote: > > > >> On Tue, Mar 31, 2020 at 3:03 PM Konstantin Belousov <kostikbel@gmail.com> > >> wrote: > >> > >> > On Tue, Mar 31, 2020 at 04:01:23PM -0400, Steve Wills wrote: > >> > > Yeah, a lot of ports have things like: > >> > > > >> > > sed -e 's/malloc.h/stdlib.h/' *.[ch] > >> > > > >> > > because they have autotools that check for malloc.h existence and > >> > include it > >> > > if it exists, so you end up with things like: > >> > > > >> > > ... > >> > > #include <stdlib.h> > >> > > ... > >> > > #if HAVE_MALLOC_H > >> > > #include <stdlib.h> > >> > > #endif > >> > > ... > >> > > > >> > > which ends up harmless, but sub-optimal. > >> > > > >> > So wouldn't it be more useful to remove warning and either include > >> > stdlib.h or provide some parts of malloc-related defines, esp. the > >> > non-portable bits from jemalloc ? > >> > > >> > >> We've provided an error for the past 20 years. And a warning for the last > >> 24 years. Nobody is usefully using it today. In fact, it is getting in the > >> way, which is why we should just remove it entirely. > > The file is not useful as provided by us today, sure. But other OSes, > > namely LInux, do use it for allocator extensions features, and newer > > Linux-only software tends to include it unconditionally. > > Maybe rename <malloc_np.h> to <malloc.h>. Other BSDs don't have > <malloc_np.h> while GNU libc defines malloc_usable_size in <malloc.h>. > malloc_usable_size is quite popular e.g., used by Firefox, sqlite3, etc. I think the following should be the easiest approach diff --git a/include/malloc.h b/include/malloc.h index 5d7d7e8396d..2ec7e550334 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -1,6 +1,3 @@ /* $FreeBSD$ */ -#if __STDC__ -#error "<malloc.h> has been replaced by <stdlib.h>" -#else #include <stdlib.h> -#endif +#include <malloc_np.h>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200404142804.GP1992>