This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, hjl/mx32, created. glibc-2.16-ports-merge-59-g06e239b


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, hjl/mx32 has been created
        at  06e239b8e58b3dce154df81b58120604f6297e4a (commit)

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=06e239b8e58b3dce154df81b58120604f6297e4a

commit 06e239b8e58b3dce154df81b58120604f6297e4a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jul 19 13:19:35 2012 -0700

    Add --enable-prepend-sysdeps=

diff --git a/ChangeLog.pr14200 b/ChangeLog.pr14200
new file mode 100644
index 0000000..b5ef8b9
--- /dev/null
+++ b/ChangeLog.pr14200
@@ -0,0 +1,11 @@
+2012-07-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #14200]
+	* configure.in: Add --enable-prepend-sysdeps=.
+	* configure: Regenerated.
+	* sysdeps/unix/sysv/linux/x86/bits/environments.h
+	(_POSIX_V7_ILP32_OFF32): Defined as 1 only if __x86_64__ isn't
+	defined.
+	(_POSIX_V6_ILP32_OFF32): Likewise.
+	(_XBS5_ILP32_OFF32): Likewise.
+	* sysdeps/unix/sysv/linux/x86/mx32/bits/environments.h: New file.
diff --git a/configure b/configure
index 1268168..001f12d 100755
--- a/configure
+++ b/configure
@@ -739,6 +739,7 @@ enable_versioning
 enable_oldest_abi
 enable_stackguard_randomization
 enable_add_ons
+enable_prepend_sysdeps
 enable_hidden_plt
 enable_bind_now
 enable_static_nss
@@ -1393,6 +1394,8 @@ Optional Features:
   --enable-add-ons[=DIRS...]
                           configure and build add-ons in DIR1,DIR2,... search
                           for add-ons if no parameter given
+  --enable-prepend-sysdeps=@DIRS...@
+                          Prepend DIR1,DIR2,... to sysdep search list
   --disable-hidden-plt    do not hide internal function calls to avoid PLT
   --enable-bind-now       disable lazy relocations in DSOs
   --enable-static-nss     build static NSS modules [default=no]
@@ -3553,6 +3556,20 @@ else
 fi
 
 
+# Check whether --enable-prepend-sysdeps was given.
+if test "${enable_prepend_sysdeps+set}" = set; then :
+  enableval=$enable_prepend_sysdeps;
+else
+  enable_prepend_sysdeps=yes
+fi
+
+
+case "$enable_prepend_sysdeps" in
+''|no) prepend_sysdeps= ;;
+yes|'*') as_fn_error $? "invalid --enable-prepend-sysdeps option" "$LINENO" 5;;
+*) prepend_sysdeps=`echo "$enable_prepend_sysdeps" | sed 's/,/ /g'`;;
+esac
+
 # Check whether --enable-hidden-plt was given.
 if test "${enable_hidden_plt+set}" = set; then :
   enableval=$enable_hidden_plt; hidden=$enableval
@@ -4339,6 +4356,43 @@ done
 default_sysnames="sysdeps/generic"
 sysnames="$names $default_sysnames"
 
+# Prepend directories.
+if test -n "$prepend_sysdeps"; then
+  set $prepend_sysdeps
+  names=
+  while test $# -gt 0; do
+    name=$1
+    shift
+
+    case " $names " in *" sysdeps/$name "*)
+      # Already in the list.
+      continue
+    esac
+
+    found=no
+    if test -d $srcdir/sysdeps/$name; then
+      names="$names sysdeps/$name"
+      found=yes
+    fi
+    for d in $add_ons_pfx ''; do
+      try="${d}sysdeps/$name"
+      case $d in
+      /*) try_srcdir= ;;
+      *) try_srcdir=$srcdir/ ;;
+      esac
+      if test -d $try_srcdir$try; then
+	names="$names $try"
+	found=yes
+      fi
+    done
+    if test $found = no; then
+      as_fn_error $? "--enable-prepend-sysdeps specifies nonexistent $name" "$LINENO" 5
+    fi
+  done
+  sysnames="$names $sysnames"
+fi
+
+
 # The other names were emitted during the scan.
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $default_sysnames" >&5
 $as_echo "$default_sysnames" >&6; }
diff --git a/configure.in b/configure.in
index 6b6dde5..13880e4 100644
--- a/configure.in
+++ b/configure.in
@@ -153,6 +153,18 @@ AC_ARG_ENABLE([add-ons],
 			      search for add-ons if no parameter given]),
 			     , [enable_add_ons=yes])
 
+dnl Generic infrastructure to prepend sysdeps list.
+AC_ARG_ENABLE([prepend-sysdeps],
+	      AC_HELP_STRING([--enable-prepend-sysdeps=@DIRS...@],
+			     [Prepend DIR1,DIR2,... to sysdep search list]),
+			     , [enable_prepend_sysdeps=yes])
+
+case "$enable_prepend_sysdeps" in
+''|no) prepend_sysdeps= ;;
+yes|'*') AC_MSG_ERROR([invalid --enable-prepend-sysdeps option]);;
+*) prepend_sysdeps=`echo "$enable_prepend_sysdeps" | sed 's/,/ /g'`;;
+esac
+
 AC_ARG_ENABLE([hidden-plt],
 	      AC_HELP_STRING([--disable-hidden-plt],
 			     [do not hide internal function calls to avoid PLT]),
@@ -832,6 +844,43 @@ done
 # Add the default directories.
 default_sysnames="sysdeps/generic"
 sysnames="$names $default_sysnames"
+
+# Prepend directories.
+if test -n "$prepend_sysdeps"; then
+  set $prepend_sysdeps
+  names=
+  while test $# -gt 0; do
+    name=$1
+    shift
+
+    case " $names " in *" sysdeps/$name "*)
+      # Already in the list.
+      continue
+    esac
+
+    found=no
+    if test -d $srcdir/sysdeps/$name; then
+      names="$names sysdeps/$name"
+      found=yes
+    fi
+    for d in $add_ons_pfx ''; do
+      try="${d}sysdeps/$name"
+      case $d in
+      /*) try_srcdir= ;;
+      *) try_srcdir=$srcdir/ ;;
+      esac
+      if test -d $try_srcdir$try; then
+	names="$names $try"
+	found=yes
+      fi
+    done
+    if test $found = no; then
+      AC_MSG_ERROR(--enable-prepend-sysdeps specifies nonexistent $name)
+    fi
+  done
+  sysnames="$names $sysnames"
+fi
+
 AC_SUBST(sysnames)
 # The other names were emitted during the scan.
 AC_MSG_RESULT($default_sysnames)
diff --git a/sysdeps/unix/sysv/linux/x86/bits/environments.h b/sysdeps/unix/sysv/linux/x86/bits/environments.h
index 793a04f..cdaa1e5 100644
--- a/sysdeps/unix/sysv/linux/x86/bits/environments.h
+++ b/sysdeps/unix/sysv/linux/x86/bits/environments.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2012 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
@@ -64,15 +64,19 @@
 
 #else /* __WORDSIZE == 32 */
 
-/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
-   and all platforms support LFS.  */
-# define _POSIX_V7_ILP32_OFF32	1
+/* We have 32-bit wide `int', `long int' and pointers and all platforms
+   support LFS.  -mx32 has 64-bit wide `off_t'.  */
 # define _POSIX_V7_ILP32_OFFBIG	1
-# define _POSIX_V6_ILP32_OFF32	1
-# define _POSIX_V6_ILP32_OFFBIG	1
-# define _XBS5_ILP32_OFF32	1
+# define _POSIX_V6_ILP32_OFFBIG 1
 # define _XBS5_ILP32_OFFBIG	1
 
+# ifndef __x86_64__
+/* -m32 has 32-bit wide `off_t'.  */
+#  define _POSIX_V7_ILP32_OFF32	1
+#  define _POSIX_V6_ILP32_OFF32	1
+#  define _XBS5_ILP32_OFF32	1
+# endif
+
 /* We optionally provide an environment with the above size but an 64-bit
    side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
 
diff --git a/sysdeps/unix/sysv/linux/x86/bits/environments.h b/sysdeps/unix/sysv/linux/x86/mx32/bits/environments.h
similarity index 87%
copy from sysdeps/unix/sysv/linux/x86/bits/environments.h
copy to sysdeps/unix/sysv/linux/x86/mx32/bits/environments.h
index 793a04f..ac9ed07 100644
--- a/sysdeps/unix/sysv/linux/x86/bits/environments.h
+++ b/sysdeps/unix/sysv/linux/x86/mx32/bits/environments.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2012 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
@@ -64,15 +64,19 @@
 
 #else /* __WORDSIZE == 32 */
 
-/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
-   and all platforms support LFS.  */
-# define _POSIX_V7_ILP32_OFF32	1
+/* We have 32-bit wide `int', `long int' and pointers and all platforms
+   support LFS.  -mx32 has 64-bit wide `off_t'.  */
 # define _POSIX_V7_ILP32_OFFBIG	1
-# define _POSIX_V6_ILP32_OFF32	1
-# define _POSIX_V6_ILP32_OFFBIG	1
-# define _XBS5_ILP32_OFF32	1
+# define _POSIX_V6_ILP32_OFFBIG 1
 # define _XBS5_ILP32_OFFBIG	1
 
+# ifndef __x86_64__
+/* -m32 has 32-bit wide `off_t'.  */
+#  define _POSIX_V7_ILP32_OFF32	1
+#  define _POSIX_V6_ILP32_OFF32	1
+#  define _XBS5_ILP32_OFF32	1
+# endif
+
 /* We optionally provide an environment with the above size but an 64-bit
    side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
 
@@ -89,8 +93,8 @@
 #endif /* __WORDSIZE == 32 */
 
 #define __ILP32_OFF32_CFLAGS	"-m32"
-#define __ILP32_OFFBIG_CFLAGS	"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 #define __ILP32_OFF32_LDFLAGS	"-m32"
-#define __ILP32_OFFBIG_LDFLAGS	"-m32"
+#define __ILP32_OFFBIG_CFLAGS	"-mx32"
+#define __ILP32_OFFBIG_LDFLAGS	"-mx32"
 #define __LP64_OFF64_CFLAGS	"-m64"
 #define __LP64_OFF64_LDFLAGS	"-m64"

-----------------------------------------------------------------------


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]