mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-23 15:40:14 +08:00
5230eb7f8c
- add support for using sysconf to get page size in _mallocr.c via HAVE_SYSCONF_PAGESIZE flag set in configure.host - set flag in configure.host for arm and add a default sysconf implementation in libc/sys/arm that returns the page size - the default implementation can be overridden outside newlib to allow a different page size to improve malloc on devices with a small footprint without needing to rebuild newlib - this patch is based on a contribution from Torbjorn Svensson and Niklas Dahlquist (https://ecos.sourceware.org/ml/newlib/current/017616.html)
35 lines
717 B
C
35 lines
717 B
C
/* libc/sys/arm/sysconf.c - The sysconf function */
|
|
|
|
/* Copyright 2020, STMicroelectronics
|
|
*
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution, modification, and use in source and binary forms is permitted
|
|
* provided that the above copyright notice and following paragraph are
|
|
* duplicated in all such forms.
|
|
*
|
|
* This file is distributed WITHOUT ANY WARRANTY; without even the implied
|
|
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*/
|
|
|
|
#include <unistd.h>
|
|
#include <errno.h>
|
|
|
|
long sysconf(int name)
|
|
{
|
|
switch (name)
|
|
{
|
|
case _SC_PAGESIZE:
|
|
#ifdef SMALL_MEMORY
|
|
return 128;
|
|
#else
|
|
return 4096;
|
|
#endif
|
|
|
|
default:
|
|
errno = EINVAL;
|
|
return -1;
|
|
}
|
|
return -1; /* Can't get here */
|
|
}
|