[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#339934: gcc-3.3: does not honour -fPIC on GNU/kFreeBSD



Package: gcc-3.3
Version: 1:3.3.6-10
Severity: normal
Tags: patch

Hi,

gcc-3.3 does not honour the -fPIC flag on GNU/kFreeBSD. This is due to a
bug in the kbsd-gnu.dpatch I submitted sometimes ago.

Please find attached a patch that fixes the necessary things in this 
file. It would be nice if you can apply it in the next upload.

Thanks in advance,
Aurelien Jarno


-- System Information:
Debian Release: testing/unstable
Architecture: kfreebsd-i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: GNU/kFreeBSD 5.4-1-686
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)

Versions of packages gcc-3.3 depends on:
ii  binutils      2.16.1cvs20051117-1        The GNU assembler, linker and bina
ii  cpp-3.3       1:3.3.6-10                 The GNU C preprocessor
ii  gcc-3.3-base  1:3.3.6-10                 The GNU Compiler Collection (base 
ii  libc0.1       2.3-1+kbsd.13              GNU C Library: Shared libraries an
ii  libgcc1       1:4.0.2-4                  GCC support library

Versions of packages gcc-3.3 recommends:
ii  libc0.1-dev                2.3-1+kbsd.13 GNU C Library: Development Librari

-- no debconf information
Author: aurel32
Status: in BTS

diff -u gcc-3.3-3.3.6/debian/patches/kbsd-gnu.dpatch gcc-3.3-3.3.6/debian/patches/kbsd-gnu.dpatch
--- gcc-3.3-3.3.6/debian/patches/kbsd-gnu.dpatch
+++ gcc-3.3-3.3.6/debian/patches/kbsd-gnu.dpatch
@@ -91,7 +91,7 @@
 diff -Nur gcc-3.3.6.orig/gcc/config/i386/kfreebsd-gnu.h gcc-3.3.6/gcc/config/i386/kfreebsd-gnu.h
 --- gcc-3.3.6.orig/gcc/config/i386/kfreebsd-gnu.h	1970-01-01 01:00:00.000000000 +0100
 +++ gcc-3.3.6/gcc/config/i386/kfreebsd-gnu.h	2005-07-18 01:53:05.000000000 +0200
-@@ -0,0 +1,26 @@
+@@ -0,0 +1,45 @@
 +/* Definitions for Intel 386 running kFreeBSD-based GNU systems with ELF format
 +   Copyright (C) 2004
 +   Free Software Foundation, Inc.
@@ -118,6 +118,25 @@
 +#define LINK_EMULATION "elf_i386_fbsd"
 +#undef REG_NAME
 +#define REG_NAME(reg) sc_ ## reg
++
++#undef TARGET_OS_CPP_BUILTINS    
++#define TARGET_OS_CPP_BUILTINS()		\
++  do						\
++    {						\
++	builtin_define ("__FreeBSD_kernel__");	\
++	builtin_define ("__GLIBC__");		\
++	builtin_define_std ("unix");		\
++	builtin_define ("__ELF__");		\
++	builtin_assert ("system=unix");		\
++	builtin_assert ("system=posix");	\
++	if (flag_pic)				\
++	  {					\
++	    builtin_define ("__PIC__");		\
++	    builtin_define ("__pic__");		\
++	  }					\
++    }						\
++  while (0)
++
 diff -Nur gcc-3.3.6.orig/gcc/config/i386/knetbsd-gnu.h gcc-3.3.6/gcc/config/i386/knetbsd-gnu.h
 --- gcc-3.3.6.orig/gcc/config/i386/knetbsd-gnu.h	1970-01-01 01:00:00.000000000 +0100
 +++ gcc-3.3.6/gcc/config/i386/knetbsd-gnu.h	2005-07-18 01:53:05.000000000 +0200
@@ -251,7 +270,7 @@
 diff -Nur gcc-3.3.6.orig/gcc/config/kfreebsd-gnu.h gcc-3.3.6/gcc/config/kfreebsd-gnu.h
 --- gcc-3.3.6.orig/gcc/config/kfreebsd-gnu.h	1970-01-01 01:00:00.000000000 +0100
 +++ gcc-3.3.6/gcc/config/kfreebsd-gnu.h	2005-07-18 01:54:10.000000000 +0200
-@@ -0,0 +1,37 @@
+@@ -0,0 +1,24 @@
 +/* Definitions for kFreeBSD-based GNU systems with ELF format
 +   Copyright (C) 2004
 +   Free Software Foundation, Inc.
@@ -274,19 +293,6 @@
 +the Free Software Foundation, 59 Temple Place - Suite 330,
 +Boston, MA 02111-1307, USA.  */
 +
-+#undef TARGET_OS_CPP_BUILTINS    
-+#define TARGET_OS_CPP_BUILTINS()		\
-+  do						\
-+    {						\
-+	builtin_define ("__FreeBSD_kernel__");	\
-+	builtin_define ("__GLIBC__");		\
-+	builtin_define_std ("unix");		\
-+	builtin_define ("__ELF__");		\
-+	builtin_assert ("system=unix");		\
-+	builtin_assert ("system=posix");	\
-+    }						\
-+  while (0)
-+
 +#undef DYNAMIC_LINKER
 +#define DYNAMIC_LINKER "/lib/ld.so.1"
 diff -Nur gcc-3.3.6.orig/gcc/config/knetbsd-gnu.h gcc-3.3.6/gcc/config/knetbsd-gnu.h


Reply to: