r717 - in trunk: . perl shadow uClibc util-linux

archaic at linuxfromscratch.org archaic at linuxfromscratch.org
Wed Dec 8 20:28:57 PST 2004


Author: archaic
Date: 2004-12-08 21:28:56 -0700 (Wed, 08 Dec 2004)
New Revision: 717

Added:
   trunk/perl/perl-5.8.6-uclibc-1.patch
   trunk/shadow/shadow-4.0.6-uclibc-1.patch
   trunk/uClibc/
   trunk/uClibc/uClibc-20041202-config-1.patch
   trunk/uClibc/uClibc-20041202-ssp-1.patch
   trunk/util-linux/util-linux-2.12j-fPIC-1.patch
Log:
Added some HLFS patches.

Added: trunk/perl/perl-5.8.6-uclibc-1.patch
===================================================================
--- trunk/perl/perl-5.8.6-uclibc-1.patch	2004-12-09 04:26:11 UTC (rev 716)
+++ trunk/perl/perl-5.8.6-uclibc-1.patch	2004-12-09 04:28:56 UTC (rev 717)
@@ -0,0 +1,30 @@
+Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
+Date: 2004-11-07
+Initial Package Version: 5.8.5
+Upstream Status: Submitted
+Origin: http://www.uclibc.org/lists/uclibc/2004-January/007939.html
+Description: Perl's fast-standard-input/output code is not portable.
+
+Also see:
+http://www.mail-archive.com/perl5-porters%40perl.org/msg81844.html
+
+Also see:
+http://www.uclibc.org/
+http://www.linuxfromscratch.org/hlfs/
+
+diff -Naur perl-5.8.5.orig/perlio.c perl-5.8.5.uclibc/perlio.c
+--- perl-5.8.5.orig/perlio.c	2004-03-16 18:36:08.000000000 +0000
++++ perl-5.8.5.uclibc/perlio.c	2004-11-07 18:36:05.861324248 +0000
+@@ -2824,7 +2824,11 @@
+     /* XXX this could use PerlIO_canset_fileno() and
+      * PerlIO_set_fileno() support from Configure
+      */
+-#  if defined(__GLIBC__)
++#  if defined(__UCLIBC__)
++    /* uClibc must come before glibc because it defines __GLIBC__ as well. */
++    f->__filedes = -1;
++    return 1;
++#  elif defined(__GLIBC__)
+     /* There may be a better way for GLIBC:
+     	- libio.h defines a flag to not close() on cleanup
+      */	

Added: trunk/shadow/shadow-4.0.6-uclibc-1.patch
===================================================================
--- trunk/shadow/shadow-4.0.6-uclibc-1.patch	2004-12-09 04:26:11 UTC (rev 716)
+++ trunk/shadow/shadow-4.0.6-uclibc-1.patch	2004-12-09 04:28:56 UTC (rev 717)
@@ -0,0 +1,35 @@
+Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
+Date: 2004-11-28
+Initial Package Version: 4.0.6
+Origin: http://www.geocities.com/robm351/uclibc/shadow-uclibc.diff.txt
+Upstream Status: Not submitted
+Description: Shadow needs this patch to build with uClibc. If we do not
+have PAM then NIS is used, but uClibc does not have NIS, so a refference
+to innetgr() causes the build to fail.
+
+Also see:
+http://www.uclibc.org/
+http://www.linuxfromscratch.org/hlfs/
+
+diff -Naur shadow-4.0.6.orig/libmisc/login_access.c shadow-4.0.6/libmisc/login_access.c
+--- shadow-4.0.6.orig/libmisc/login_access.c	2004-11-28 16:45:36.897206192 +0000
++++ shadow-4.0.6/libmisc/login_access.c	2004-11-28 16:48:46.474386080 +0000
+@@ -192,6 +192,7 @@
+ static int
+ netgroup_match (const char *group, const char *machine, const char *user)
+ {
++#ifdef NIS
+ 	static char *mydomain = 0;
+ 
+ 	if (mydomain == 0) {
+@@ -202,6 +203,10 @@
+ 	}
+ 
+ 	return innetgr (group, machine, user, mydomain);
++#else
++	syslog(LOG_ERR, "NIS netgroup support not configured");
++	return (NO);
++#endif
+ }
+ 
+ /* user_match - match a username against one token */

Added: trunk/uClibc/uClibc-20041202-config-1.patch
===================================================================
--- trunk/uClibc/uClibc-20041202-config-1.patch	2004-12-09 04:26:11 UTC (rev 716)
+++ trunk/uClibc/uClibc-20041202-config-1.patch	2004-12-09 04:28:56 UTC (rev 717)
@@ -0,0 +1,149 @@
+Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
+Date: 2004-12-08
+Initial Package Version: 20041208
+Upstream Status: Not submitted
+Origin: None
+Description: This adds a default config file to uClibc so the build can be
+more automated.
+
+diff -Naur uClibc.orig/.config uClibc/.config
+--- uClibc.orig/.config	1970-01-01 00:00:00.000000000 +0000
++++ uClibc/.config	2004-12-08 22:01:56.877099440 +0000
+@@ -0,0 +1,137 @@
++#
++# Automatically generated make config: don't edit
++#
++# TARGET_alpha is not set
++# TARGET_arm is not set
++# TARGET_cris is not set
++# TARGET_e1 is not set
++# TARGET_frv is not set
++# TARGET_h8300 is not set
++# TARGET_i386 is not set
++# TARGET_i960 is not set
++# TARGET_m68k is not set
++# TARGET_microblaze is not set
++# TARGET_mips is not set
++# TARGET_nios is not set
++# TARGET_nios2 is not set
++# TARGET_powerpc is not set
++# TARGET_sh is not set
++# TARGET_sparc is not set
++# TARGET_v850 is not set
++
++#
++# Target Architecture Features and Options
++#
++HAVE_ELF=y
++TARGET_ARCH="none"
++# ARCH_HAS_NO_MMU is not set
++UCLIBC_HAS_FLOATS=y
++HAS_FPU=y
++DO_C99_MATH=y
++WARNINGS="-Wall"
++KERNEL_SOURCE="/usr/src/linux"
++HAVE_DOT_CONFIG=y
++
++#
++# General Library Settings
++#
++# HAVE_NO_PIC is not set
++DOPIC=y
++HAVE_SHARED=y
++BUILD_UCLIBC_LDSO=y
++FORCE_SHAREABLE_TEXT_SEGMENTS=y
++UCLIBC_PIE_SUPPORT=y
++LDSO_LDD_SUPPORT=y
++UCLIBC_CTOR_DTOR=y
++UCLIBC_PROPOLICE=y
++# UCLIBC_PROFILING is not set
++UCLIBC_HAS_THREADS=y
++PTHREADS_DEBUG_SUPPORT=y
++UCLIBC_HAS_LFS=y
++# MALLOC is not set
++# MALLOC_SIMPLE is not set
++MALLOC_STANDARD=y
++MALLOC_GLIBC_COMPAT=y
++UCLIBC_DYNAMIC_ATEXIT=y
++HAS_SHADOW=y
++# UNIX98PTY_ONLY is not set
++ASSUME_DEVPTS=y
++UCLIBC_HAS_TM_EXTENSIONS=y
++UCLIBC_HAS_TZ_CACHING=y
++UCLIBC_HAS_TZ_FILE=y
++UCLIBC_HAS_TZ_FILE_READ_MANY=y
++UCLIBC_TZ_FILE_PATH="/etc/TZ"
++
++#
++# Networking Support
++#
++UCLIBC_HAS_IPV6=y
++UCLIBC_HAS_RPC=y
++UCLIBC_HAS_FULL_RPC=y
++
++#
++# String and Stdio Support
++#
++UCLIBC_HAS_CTYPE_TABLES=y
++UCLIBC_HAS_CTYPE_SIGNED=y
++# UCLIBC_HAS_CTYPE_UNSAFE is not set
++UCLIBC_HAS_CTYPE_CHECKED=y
++# UCLIBC_HAS_CTYPE_ENFORCED is not set
++UCLIBC_HAS_WCHAR=y
++UCLIBC_HAS_LOCALE=y
++UCLIBC_PREGENERATED_LOCALE_DATA=y
++UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=y
++UCLIBC_HAS_XLOCALE=y
++UCLIBC_HAS_HEXADECIMAL_FLOATS=y
++UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
++UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
++UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
++UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
++UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
++# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
++# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
++# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
++# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
++# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
++UCLIBC_HAS_STDIO_BUFSIZ_4096=y
++# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
++UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
++# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
++# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
++UCLIBC_HAS_STDIO_GETC_MACRO=y
++UCLIBC_HAS_STDIO_PUTC_MACRO=y
++UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
++# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
++UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
++UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
++UCLIBC_HAS_PRINTF_M_SPEC=y
++UCLIBC_HAS_ERRNO_MESSAGES=y
++# UCLIBC_HAS_SYS_ERRLIST is not set
++UCLIBC_HAS_SIGNUM_MESSAGES=y
++# UCLIBC_HAS_SYS_SIGLIST is not set
++UCLIBC_HAS_GETTEXT_AWARENESS=y
++UCLIBC_HAS_GNU_GETOPT=y
++
++#
++# Big and Tall
++#
++UCLIBC_HAS_REGEX=y
++UCLIBC_HAS_WORDEXP=y
++UCLIBC_HAS_FTW=y
++UCLIBC_HAS_GLOB=y
++
++#
++# Library Installation Options
++#
++SHARED_LIB_LOADER_PREFIX="/lib"
++RUNTIME_PREFIX="/"
++DEVEL_PREFIX="/usr/"
++
++#
++# uClibc development/debugging options
++#
++# DODEBUG is not set
++# DOASSERTS is not set
++# SUPPORT_LD_DEBUG is not set
++# SUPPORT_LD_DEBUG_EARLY is not set
++# UCLIBC_MJN3_ONLY is not set

Added: trunk/uClibc/uClibc-20041202-ssp-1.patch
===================================================================
--- trunk/uClibc/uClibc-20041202-ssp-1.patch	2004-12-09 04:26:11 UTC (rev 716)
+++ trunk/uClibc/uClibc-20041202-ssp-1.patch	2004-12-09 04:28:56 UTC (rev 717)
@@ -0,0 +1,219 @@
+Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
+Date: 2004-12-08
+Initial Package Version: 20041208
+Upstream Status: Not submitted
+Origin: http://www.research.ibm.com/trl/projects/security/ssp/
+        http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/sys/stack_protector.c
+Description: Smashing Stack Protector - This patch modifies guard functions in
+uClibc.
+
+This patch depends on erandom sysctl from:
+http://frandom.sourceforge.net/
+http://www.linuxfromscratch.org/hints/downloads/files/entropy.txt
+
+Also see:
+http://www.research.ibm.com/trl/projects/security/ssp/
+http://www.linuxfromscratch.org/hlfs/
+http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
+
+diff -Naur uClibc.orig/libc/sysdeps/linux/common/ssp.c uClibc/libc/sysdeps/linux/common/ssp.c
+--- uClibc.orig/libc/sysdeps/linux/common/ssp.c	2004-11-25 19:10:39.000000000 +0000
++++ uClibc/libc/sysdeps/linux/common/ssp.c	2004-12-08 21:54:05.340783856 +0000
+@@ -1,121 +1,115 @@
++/*	$hlfs: stack_protector.c,v 1.6 2004/12/08 00:00:00 robert Exp $	*/
++
+ /*
+- * Distributed under the terms of the GNU General Public License v2
+- * $Header: $
++ * Copyright (c) 2002 Hiroaki Etoh, Federico G. Schwindt, and Miodrag Vallat.
++ * All rights reserved.
+  *
+- * This is a modified version of Hiroaki Etoh's stack smashing routines
+- * implemented for glibc.
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
+  *
+- * The following people have contributed input to this code.
+- * Ned Ludd - <solar[@]gentoo.org>
+- * Alexander Gabert - <pappy[@]gentoo.org>
+- * The PaX Team - <pageexec[@]freemail.hu>
+- * Peter S. Mazinger - <ps.m[@]gmx.net>
+- * Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
+- * Robert Connolly - <robert[@]linuxfromscratch.org>
+- * Cory Visi <cory at visi.name>
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT,
++ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
++ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
++ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++ * POSSIBILITY OF SUCH DAMAGE.
+  *
+  */
+ 
+-#ifdef HAVE_CONFIG_H
+-# include <config.h>
+-#endif
+-
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#include <sys/time.h>
+ #include <stdio.h>
++#include <signal.h>
+ #include <string.h>
+-#include <fcntl.h>
++#include <strings.h>
++#include <syslog.h>
+ #include <unistd.h>
+-#include <signal.h>
+-#include <sys/types.h>
+-#include <sys/un.h>
+-#include <sys/syslog.h>
+-#include <sys/time.h>
+-#include <sys/sysctl.h>
+-
+-#ifdef __PROPOLICE_BLOCK_SEGV__
+-#define SSP_SIGTYPE SIGSEGV
+-#elif __PROPOLICE_BLOCK_KILL__
+-#define SSP_SIGTYPE SIGKILL
+-#else
+-#define SSP_SIGTYPE SIGABRT
+-#endif
++#include <fcntl.h>
+ 
+-unsigned long __guard = 0UL;
++long __guard[8] = {0, 0, 0, 0, 0, 0, 0, 0};
++void __guard_setup(void) __attribute__ ((constructor));
++void __stack_smash_handler(char func[], int damaged __attribute__((unused)));
+ 
+-void __guard_setup(void)
++void __guard_setup (void)
+ {
+-	size_t size;
+-	struct timeval tv;
+-
+-#ifdef HAVE_DEV_ERANDOM
+-	int mib[3];
+-#endif
++	int i, mib[3];
++	size_t len;
+ 
+-	if (__guard != 0UL)
++	if (__guard[0] != 0)
+ 		return;
+ 
+-#ifndef __SSP_QUICK_CANARY__
+-#ifdef HAVE_DEV_ERANDOM
+ 	/* Random is another depth in Linux, hence an array of 3. */
+ 	mib[0] = CTL_KERN;
+ 	mib[1] = KERN_RANDOM;
+ 	mib[2] = RANDOM_ERANDOM;
+ 
+-	size = sizeof(unsigned long);
+-	if (__sysctl(mib, 3, &__guard, &size, NULL, 0) != (-1))
+-		if (__guard != 0UL)
+-			return;
+-#endif
+-	/* 
+-	 * Attempt to open kernel pseudo random device if one exists before 
+-	 * opening urandom to avoid system entropy depletion.
+-	 */
+-	{
+-		int fd;
+-
+-#ifdef HAVE_DEV_ERANDOM
+-		if ((fd = open("/dev/erandom", O_RDONLY)) == (-1))
+-#endif
+-			fd = open("/dev/urandom", O_RDONLY);
+-		if (fd != (-1)) {
+-			size = read(fd, (char *) &__guard, sizeof(__guard));
+-			close(fd);
+-			if (size == sizeof(__guard))
+-				return;
+-		}
++	len = 4;
++	for (i = 0; i < sizeof(__guard) / 4; i++) {
++		if (sysctl(mib, 3, (char *)&((int *)__guard)[i],
++		    &len, NULL, 0) == -1)
++			break;
+ 	}
+-#endif
+-	/* If sysctl was unsuccessful, use the "terminator canary". */
+-	__guard = 0xFF0A0D00UL;
+ 
+-	/* Everything failed? Or we are using a weakened model of the 
+-	 * terminator canary */
++	if (i < sizeof(__guard) / 4) {
++		int fd;
++		size_t size;
++		/* Sysctl Erandom doesn't work? Try /dev/urandom */
++		fd = open ("/dev/urandom", O_RDONLY);
++		if (fd != -1) {
++		 size = read (fd, (char*)&__guard, sizeof(__guard));
++		 close (fd) ;
++		 if (size == sizeof(__guard))
++			return;
++		 } else {
+ 
+-	gettimeofday(&tv, NULL);
+-	__guard ^= tv.tv_usec ^ tv.tv_sec;
++			/* If above was unsuccessful, use the time. */
++			struct timeval tv;
++			gettimeofday (&tv, NULL);
++			((unsigned char *)__guard)[0] ^= tv.tv_usec ^ tv.tv_sec;
++			((unsigned char *)__guard)[1] = 0;
++			((unsigned char *)__guard)[2] = '\n';
++			((unsigned char *)__guard)[3] = 255;
++			}
++		}
+ }
+ 
+-void __stack_smash_handler(char func[], int damaged)
++void __stack_smash_handler (char func[], int damaged)
+ {
+ 	extern char *__progname;
+ 	const char message[] = ": stack smashing attack in function ";
+ 	struct sigaction sa;
+ 	sigset_t mask;
+ 
++	/* Immediately block all signal handlers from running code */
+ 	sigfillset(&mask);
++	sigdelset(&mask, SIGABRT);
++	sigprocmask(SIG_BLOCK, &mask, NULL);
+ 
+-	sigdelset(&mask, SSP_SIGTYPE);	/* Block all signal handlers */
+-	sigprocmask(SIG_BLOCK, &mask, NULL);	/* except SIGABRT */
+-
+-	/* print error message to stderr and syslog */
++	/* Print error message to stderr. */
+ 	fprintf(stderr, "%s%s%s()\n", __progname, message, func);
+-	syslog(LOG_INFO, "%s%s%s()", __progname, message, func);
++	/* Then to syslog. This may fail on a chroot jail... */
++	syslog(LOG_CRIT, "%s%s%s()", __progname, message, func);
+ 
+-	/* Make sure the default handler is associated with the our signal handler */
+-	memset(&sa, 0, sizeof(struct sigaction));
+-	sigfillset(&sa.sa_mask);	/* Block all signals */
++	bzero(&sa, sizeof(struct sigaction));
++	sigemptyset(&sa.sa_mask);
+ 	sa.sa_flags = 0;
+ 	sa.sa_handler = SIG_DFL;
+-	sigaction(SSP_SIGTYPE, &sa, NULL);
+-	(void) kill(getpid(), SSP_SIGTYPE);
++	sigaction(SIGABRT, &sa, NULL);
++
++	kill(getpid(), SIGABRT);
++
+ 	_exit(127);
+ }
++

Added: trunk/util-linux/util-linux-2.12j-fPIC-1.patch
===================================================================
--- trunk/util-linux/util-linux-2.12j-fPIC-1.patch	2004-12-09 04:26:11 UTC (rev 716)
+++ trunk/util-linux/util-linux-2.12j-fPIC-1.patch	2004-12-09 04:28:56 UTC (rev 717)
@@ -0,0 +1,58 @@
+Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
+Date: 2004-10-30
+Initial Package Version: 2.12h
+Origin: Modified from:
+http://ftp.belnet.be/linux/gentoo-portage/sys-apps/util-linux/files/\
+	util-linux-2.12b-pic.patch
+Upstream Status: Submitted
+Description: This is needed for Grsec. http://www..grsecurity.net/
+Util linux doesn't build with position independence without this patch.
+
+Also see:
+http://www.linuxfromscratch.org/hlfs/
+
+diff -Naur util-linux-2.12h.orig/fdisk/llseek.c util-linux-2.12h.pax_fpic/fdisk/llseek.c
+--- util-linux-2.12h.orig/fdisk/llseek.c	2003-07-13 21:13:33.000000000 +0000
++++ util-linux-2.12h.pax_fpic/fdisk/llseek.c	2004-10-30 17:09:20.800092632 +0000
+@@ -19,7 +19,7 @@
+ 
+ #else	/* HAVE_LLSEEK */
+ 
+-#if defined(__alpha__) || defined(__ia64__) || defined(__s390x__)
++#if defined(__PIC__) || defined(__pic__) || defined(__alpha__) || defined(__ia64__) || defined(__s390x__) || defined(__hppa__)
+ 
+ #define my_llseek lseek
+ 
+diff -Naur util-linux-2.12h.orig/fdisk/sfdisk.c util-linux-2.12h.pax_fpic/fdisk/sfdisk.c
+--- util-linux-2.12h.orig/fdisk/sfdisk.c	2004-09-28 17:10:21.000000000 +0000
++++ util-linux-2.12h.pax_fpic/fdisk/sfdisk.c	2004-10-30 17:17:03.430762080 +0000
+@@ -160,7 +160,7 @@
+ #define use_lseek
+ #endif
+ 
+-#ifndef use_lseek
++#if !defined(use_lseek) && !defined(__PIC__) && !defined(__pic__)
+ static __attribute__used
+ _syscall5(int,  _llseek,  unsigned int,  fd, ulong, hi, ulong, lo,
+        loff_t *, res, unsigned int, wh);
+@@ -172,7 +172,7 @@
+     in = ((loff_t) s << 9);
+     out = 1;
+ 
+-#ifndef use_lseek
++#if !defined(use_lseek) && !defined(__PIC__) && !defined(__pic__)
+     if (_llseek (fd, in>>32, in & 0xffffffff, &out, SEEK_SET) != 0) {
+ #else
+     if ((out = lseek(fd, in, SEEK_SET)) != in) {
+diff -Naur util-linux-2.12h.orig/partx/partx.c util-linux-2.12h.pax_fpic/partx/partx.c
+--- util-linux-2.12h.orig/partx/partx.c	2004-08-23 20:13:27.000000000 +0000
++++ util-linux-2.12h.pax_fpic/partx/partx.c	2004-10-30 16:49:54.127453832 +0000
+@@ -333,7 +333,7 @@
+ /*
+  * sseek: seek to specified sector
+  */
+-#if !defined (__alpha__) && !defined (__ia64__) && !defined (__s390x__) && !defined(__x86_64__)
++#if !defined (__alpha__) && !defined (__ia64__) && !defined (__s390x__) && !defined(__x86_64__) && !defined(__PIC__) && !defined(__hppa__)
+ #define NEED__llseek
+ #endif
+ 




More information about the patches mailing list