On Wed, 30 Mar 2022 at 22:55, Will Cohen <wwco...@gmail.com> wrote: > > On Wed, Mar 30, 2022 at 5:31 PM Peter Maydell <peter.mayd...@linaro.org> > wrote: >> Is it possible to do this with a meson.build check for whatever >> host property we're relying on here rather than with a >> "which OS is this?" ifdef ? > > > To confirm -- the game plan in this case would be to do a check for something > along the lines of > config_host_data.set('CONFIG_XATTR_SIZE_MAX', > cc.has_header_symbol('linux/limits.h', 'XATTR_SIZE_MAX')) > and using that in the corresponding ifs, right? > > That makes sense -- if there's no objections, I'll go this route for v2, > which I can submit tomorrow.
Yeah, something like that. Looking a bit closer at the code it looks like the handling of XATTR_SIZE_MAX is kind of odd: on Linux we use this kernel-provided value, whatever it is, on macos we use a hardcoded 64K, and on any other host we fail to compile. The comment claims we only need to impose a limit to avoid doing an overly large malloc, but if that's the case this shouldn't be OS-specific. I suspect the problem here is we're trying to impose a non-existent fixed maximum size for something where the API on the host just doesn't guarantee one. But that would be a 7.1 thing to look at improving. -- PMM