Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 192403 | Differences between
and this patch

Collapse All | Expand All

(-)gcc-4.3.1.orig/gcc/config/freebsd-spec.h (+2 lines)
Lines 56-61 Link Here
56
	builtin_assert ("system=unix");					\
56
	builtin_assert ("system=unix");					\
57
	builtin_assert ("system=bsd");					\
57
	builtin_assert ("system=bsd");					\
58
	builtin_assert ("system=FreeBSD");				\
58
	builtin_assert ("system=FreeBSD");				\
59
	if(!(flag_iso && (c_dialect_cxx () ? cxx_dialect == cxx98 : !flag_isoc99)))	\
60
		builtin_define("_LONGLONG");				\
59
	FBSD_TARGET_CPU_CPP_BUILTINS();					\
61
	FBSD_TARGET_CPU_CPP_BUILTINS();					\
60
    }									\
62
    }									\
61
  while (0)
63
  while (0)
(-)gcc-4.3.1.orig/gcc/config/t-freebsd-eh (+4 lines)
Line 0 Link Here
1
# Use unwind-dw2-fde-glibc
2
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
3
  $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
4
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
(-)gcc-4.3.1.orig/gcc/config.gcc (-1 / +5 lines)
Lines 462-468 Link Here
462
  # pleases around the provided core setting.
462
  # pleases around the provided core setting.
463
  gas=yes
463
  gas=yes
464
  gnu_ld=yes
464
  gnu_ld=yes
465
  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
465
  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
466
  fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
466
  fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
467
  tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
467
  tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
468
  tmake_file="t-slibgcc-elf-ver t-freebsd"
468
  tmake_file="t-slibgcc-elf-ver t-freebsd"
Lines 1116-1121 Link Here
1116
	;;
1116
	;;
1117
i[34567]86-*-freebsd*)
1117
i[34567]86-*-freebsd*)
1118
	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1118
	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1119
	fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
1120
	if test ${fbsd_major} -ge 7; then
1121
		tmake_file="${tmake_file} t-freebsd-eh"
1122
	fi
1119
	;;
1123
	;;
1120
x86_64-*-freebsd*)
1124
x86_64-*-freebsd*)
1121
	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
1125
	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
(-)gcc-4.3.1.orig/gcc/crtstuff.c (-3 / +5 lines)
Lines 90-102 Link Here
90
    && !defined(OBJECT_FORMAT_FLAT) \
90
    && !defined(OBJECT_FORMAT_FLAT) \
91
    && defined(HAVE_LD_EH_FRAME_HDR) \
91
    && defined(HAVE_LD_EH_FRAME_HDR) \
92
    && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \
92
    && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \
93
    && defined(__GLIBC__) && __GLIBC__ >= 2
93
    && ((defined(__GLIBC__) && __GLIBC__ >= 2) \
94
    || (defined(__FreeBSD_version) && __FreeBSD_version >= 700022))
94
#include <link.h>
95
#include <link.h>
95
/* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h.
96
/* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h.
96
   But it doesn't use PT_GNU_EH_FRAME ELF segment currently.  */
97
   But it doesn't use PT_GNU_EH_FRAME ELF segment currently.  */
97
# if !defined(__UCLIBC__) \
98
# if !defined(__UCLIBC__) \
98
     && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
99
     || (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
99
     || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
100
     || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) \
101
     || (__FreeBSD_version >= 700022)
100
#  define USE_PT_GNU_EH_FRAME
102
#  define USE_PT_GNU_EH_FRAME
101
# endif
103
# endif
102
#endif
104
#endif
(-)gcc-4.3.1.orig/gcc/unwind-dw2-fde-glibc.c (-2 / +10 lines)
Lines 49-56 Link Here
49
#include "gthr.h"
49
#include "gthr.h"
50
50
51
#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
51
#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
52
    && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
52
    && ((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
53
	|| (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
53
	|| (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) \
54
    || (__FreeBSD_version >= 700022 ))
54
55
55
#ifndef __RELOC_POINTER
56
#ifndef __RELOC_POINTER
56
# define __RELOC_POINTER(ptr, base) ((ptr) + (base))
57
# define __RELOC_POINTER(ptr, base) ((ptr) + (base))
Lines 66-71 Link Here
66
#define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550)
67
#define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550)
67
#endif
68
#endif
68
69
70
/* Support FreeBSD */
71
#ifndef ElfW
72
# ifdef __ElfN
73
#  define ElfW __ElfN
74
# endif
75
#endif
76
69
struct unw_eh_callback_data
77
struct unw_eh_callback_data
70
{
78
{
71
  _Unwind_Ptr pc;
79
  _Unwind_Ptr pc;

Return to bug 192403