aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r--sysdeps/powerpc/Makefile9
-rw-r--r--sysdeps/powerpc/bits/endian.h6
2 files changed, 10 insertions, 5 deletions
diff --git a/sysdeps/powerpc/Makefile b/sysdeps/powerpc/Makefile
index a9922ff6b6..0f8860b1d0 100644
--- a/sysdeps/powerpc/Makefile
+++ b/sysdeps/powerpc/Makefile
@@ -8,16 +8,21 @@ endif
# On PPC, -fpic works until the GOT contains 2^15 bytes, and possibly
# more depending on how clever the linker is. Each GOT entry takes 4 bytes,
-# so that's at least 8192 entries. Since libc only uses about 1200 entries,
+# so that's at least 8192 entries. Since libc only uses about 2000 entries,
# we want to use -fpic, because this generates fewer relocs.
ifeq (yes,$(build-shared))
pic-ccflag = -fpic
endif
+ifeq ($(subdir),csu)
# The initfini generation code doesn't work in the presence of -fPIC, so
# we use -fpic instead which is much better.
-ifeq ($(subdir),csu)
CFLAGS-initfini.s = -g0 -fpic
+
+# There is no benefit to using sdata for these objects, and the user
+# of the library should be able to control what goes into sdata.
+CFLAGS-init.o = -G0
+CFLAGS-gmon-start.o = -G0
endif
ifeq ($(subdir),string)
diff --git a/sysdeps/powerpc/bits/endian.h b/sysdeps/powerpc/bits/endian.h
index 9259da8039..d292ba9fdb 100644
--- a/sysdeps/powerpc/bits/endian.h
+++ b/sysdeps/powerpc/bits/endian.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -24,13 +24,13 @@
#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN
# if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
-# error Please fix sysdeps/powerpc/bits/endian.h (compiling bi-endian?).
+# error Both BIG_ENDIAN and LITTLE_ENDIAN defined!
# endif
# define __BYTE_ORDER __BIG_ENDIAN
#else
# if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
# define __BYTE_ORDER __LITTLE_ENDIAN
# else
-# error Please fix sysdeps/powerpc/bits/endian.h.
+# error Cannot determine current byte order.
# endif
#endif