4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-23 15:40:14 +08:00
Jeff Johnston 5230eb7f8c Implement sysconf for Arm
- 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)
2022-09-19 15:35:55 -04:00

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 */
}