summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-03-19 06:24:20 +0000
committerEric Andersen <andersen@codepoet.org>2001-03-19 06:24:20 +0000
commite2f6ebd3f2969753e4ffc337ce5fb6cdf9d74775 (patch)
treeaa7553e1b76e25ecdaa3aa7a2b8e29d9159f8974
parent6893f5d8b3fdf6ce65274b90b0b4b0bda9107b17 (diff)
Fix up breakage resulting from flipping the sense of some defines. Change from
defining things to "0" in the disabled case to outright undefining them, lest code that does an "#ifdef FOO" get inadvertantly triggered. Remove now unneeded lines from Rules.mak which makes the command line smaller and avoids redundancy (since this stuff is now pulled in via features.h). -Erik
-rw-r--r--Makefile21
-rw-r--r--Rules.mak17
-rw-r--r--include/stdlib.h2
-rw-r--r--include/unistd.h6
-rw-r--r--libc/stdlib/malloc-simple/alloc.c7
-rw-r--r--libc/stdlib/malloc/malloc.c19
-rw-r--r--libc/sysdeps/linux/common/syscalls.c6
7 files changed, 38 insertions, 40 deletions
diff --git a/Makefile b/Makefile
index 7791f66cc..a9c40cd5c 100644
--- a/Makefile
+++ b/Makefile
@@ -150,23 +150,36 @@ uClibc_config.h: Config
@if [ "$(HAS_MMU)" = "true" ] ; then \
echo "#define __UCLIBC_HAS_MMU__ 1" >> uClibc_config.h ; \
else \
- echo "#define __UCLIBC_HAS_MMU__ 0" >> uClibc_config.h ; \
+ echo "#undef __UCLIBC_HAS_MMU__" >> uClibc_config.h ; \
fi
@if [ "$(HAS_FLOATS)" = "true" ] ; then \
echo "#define __UCLIBC_HAS_FLOATS__ 1" >> uClibc_config.h ; \
else \
- echo "#define __UCLIBC_HAS_FLOATS__ 0" >> uClibc_config.h ; \
+ echo "#undef __UCLIBC_HAS_FLOATS__" >> uClibc_config.h ; \
fi
@if [ "$(HAS_LONG_LONG)" = "true" ] ; then \
echo "#define __UCLIBC_HAS_LONG_LONG__ 1" >> uClibc_config.h ; \
else \
- echo "#define __UCLIBC_HAS_LONG_LONG__ 0" >> uClibc_config.h ; \
+ echo "#undef __UCLIBC_HAS_LONG_LONG__" >> uClibc_config.h ; \
fi
@if [ "$(HAS_LOCALE)" = "true" ] ; then \
echo "#define __UCLIBC_HAS_LOCALE__ 1" >> uClibc_config.h ; \
echo "#define __UCLIBC_LOCALE_DIR \""$(LOCALE_DIR)"\"" >> uClibc_config.h ; \
else \
- echo "#define __UCLIBC_HAS_LOCALE__ 0" >> uClibc_config.h ; \
+ echo "#undef __UCLIBC_HAS_LOCALE__" >> uClibc_config.h ; \
+ fi
+ @if [ "$(TARGET_ARCH)" = "m68k" ] ; then \
+ echo "#define __VFORK_MACRO__ 1" >> uClibc_config.h ; \
+ echo "#define const" >> uClibc_config.h ; \
+ echo "#define __const" >> uClibc_config.h ; \
+ echo "#define __extension" >> uClibc_config.h ; \
+ else \
+ echo "#undef __VFORK_MACRO__" >> uClibc_config.h ; \
+ fi
+ @if [ "$(TARGET_ARCH)" = "sh" ] ; then \
+ echo "#define NO_UNDERSCORES 1" >> uClibc_config.h ; \
+ else \
+ echo "#undef NO_UNDERSCORES" >> uClibc_config.h ; \
fi
.PHONY: dummy
diff --git a/Rules.mak b/Rules.mak
index 4367ae62d..3d9689c1b 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -51,23 +51,6 @@ ifndef $(PREFIX)
PREFIX = `pwd`/_install
endif
-ifneq ($(strip $(HAS_MMU)),true)
- CFLAGS += -D__HAS_NO_MMU__
-endif
-
-ifneq ($(strip $(HAS_FLOATS)),true)
- CFLAGS += -D__HAS_NO_FLOATS__
-endif
-
-ifeq ($(strip $(TARGET_ARCH)),m68k)
- CFLAGS += -D__VFORK_MACRO__ -Dconst= -D__const= -D__extension__=
-endif
-
-
-ifeq ($(strip $(TARGET_ARCH)),sh)
- CFLAGS += -DNO_UNDERSCORES
-endif
-
NATIVE_ARCH = $(shell uname -m | sed -e 's/i.86/i386/' -e 's/sparc.*/sparc/' -e 's/arm.*/arm/g' -e 's/m68k.*/m68k/')
# It turns out the currently, function-sections causes ldelf2flt to segfault.
diff --git a/include/stdlib.h b/include/stdlib.h
index f802d337e..6102eea5a 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -48,7 +48,7 @@ extern long strtol __P ((const char * nptr, char ** endptr, int base));
extern unsigned long strtoul __P ((const char * nptr, char ** endptr, int base));
extern long long strtoll __P ((const char * nptr, char ** endptr, int base));
extern unsigned long long strtoull __P ((const char * nptr, char ** endptr, int base));
-#ifndef __HAS_NO_FLOATS__
+#ifdef __UCLIBC_HAS_FLOATS__
/*TODO: extern char * gcvt __P ((double number, size_t ndigit, char * buf)); */
extern double strtod __P ((const char * nptr, char ** endptr));
#endif
diff --git a/include/unistd.h b/include/unistd.h
index 916d972a0..16deb1ac3 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -646,10 +646,10 @@ extern int setegid __P ((__gid_t __gid));
/* Clone the calling process, creating an exact copy.
Return -1 for errors, 0 to the new process,
and the process ID of the new process to the old process. */
-#ifdef __HAS_NO_MMU__
-#define fork fork_not_available_on_mmuless_systems
-#else
+#ifdef __UCLIBC_HAS_MMU__
extern __pid_t fork __P ((void));
+#else
+#define fork fork_not_available_on_mmuless_systems
#endif
#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
diff --git a/libc/stdlib/malloc-simple/alloc.c b/libc/stdlib/malloc-simple/alloc.c
index ed1c381a5..02231fbed 100644
--- a/libc/stdlib/malloc-simple/alloc.c
+++ b/libc/stdlib/malloc-simple/alloc.c
@@ -1,3 +1,4 @@
+#include <features.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
@@ -67,10 +68,10 @@ void *calloc(size_t num, size_t size)
void *malloc(size_t len)
{
void *result = mmap((void *) 0, len, PROT_READ | PROT_WRITE,
-#ifdef __HAS_NO_MMU__
- MAP_SHARED | MAP_ANONYMOUS, 0, 0
-#else
+#ifdef __UCLIBC_HAS_MMU__
MAP_PRIVATE | MAP_ANONYMOUS, 0, 0
+#else
+ MAP_SHARED | MAP_ANONYMOUS, 0, 0
#endif
);
diff --git a/libc/stdlib/malloc/malloc.c b/libc/stdlib/malloc/malloc.c
index b5cfee3f0..95dda3da5 100644
--- a/libc/stdlib/malloc/malloc.c
+++ b/libc/stdlib/malloc/malloc.c
@@ -55,6 +55,7 @@
#define _POSIX_SOURCE
#define _XOPEN_SOURCE
+#include <features.h>
#include <sys/types.h>
#include <unistd.h>
#include <limits.h>
@@ -177,10 +178,10 @@ void *__hunk_alloc(int size)
(p =
(Hunk_t *) mmap(HUNK_MSTART, HUNK_MSIZE,
PROT_READ | PROT_WRITE,
-#ifdef __HAS_NO_MMU__
- MAP_SHARED | MAP_ANONYMOUS
-#else
+#ifdef __UCLIBC_HAS_MMU__
MAP_PRIVATE | MAP_ANONYMOUS
+#else
+ MAP_SHARED | MAP_ANONYMOUS
#endif
, 0, 0)) == (Hunk_t *) MAP_FAILED)
// {
@@ -483,10 +484,10 @@ static Block_t *bl_mapnew(size_t size)
map_size = PAGE_ALIGN(size);
pt = mmap(LARGE_MSTART, map_size, PROT_READ | PROT_WRITE | PROT_EXEC,
-#ifdef __HAS_NO_MMU__
- MAP_SHARED | MAP_ANONYMOUS
-#else
+#ifdef __UCLIBC_HAS_MMU__
MAP_PRIVATE | MAP_ANONYMOUS
+#else
+ MAP_SHARED | MAP_ANONYMOUS
#endif
, 0, 0);
@@ -511,10 +512,10 @@ void __bl_uncommit(Block_t * b)
#if M_DOTRIMMING
mmap(u_start, u_end - u_start, PROT_READ | PROT_WRITE | PROT_EXEC,
-#ifdef __HAS_NO_MMU__
- MAP_SHARED | MAP_ANONYMOUS |MAP_FIXED
-#else
+#ifdef __UCLIBC_HAS_MMU__
MAP_PRIVATE | MAP_ANONYMOUS |MAP_FIXED
+#else
+ MAP_SHARED | MAP_ANONYMOUS |MAP_FIXED
#endif
, 0, 0);
#endif
diff --git a/libc/sysdeps/linux/common/syscalls.c b/libc/sysdeps/linux/common/syscalls.c
index 56d9685d1..4244d9be8 100644
--- a/libc/sysdeps/linux/common/syscalls.c
+++ b/libc/sysdeps/linux/common/syscalls.c
@@ -38,7 +38,7 @@ _syscall1(void, _exit, int, status);
//#define __NR_fork 2
#ifdef L_fork
-#ifndef __HAS_NO_MMU__
+#ifdef __UCLIBC_HAS_MMU__
#include <unistd.h>
_syscall0(pid_t, fork);
#endif
@@ -683,7 +683,7 @@ _syscall2(int, statfs, const char *, path, struct statfs *, buf);
_syscall2(int, fstatfs, int, fd, struct statfs *, buf);
#endif
-#ifndef __HAS_NO_MMU__
+#ifdef __UCLIBC_HAS_MMU__
//#define __NR_ioperm 101
#ifdef L_ioperm
#include <sys/io.h>
@@ -802,7 +802,7 @@ int fstat(int filedes, struct libc_stat *buf)
//#define __NR_olduname 109
-#ifndef __HAS_NO_MMU__
+#ifdef __UCLIBC_HAS_MMU__
//#define __NR_iopl 110
#ifdef L_iopl
#include <sys/io.h>