From 66c59d4ca88e543705a97a32722f8d27ea859725 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 22 Sep 2005 05:52:36 +0000 Subject: [PATCH] add x86_64 support --- toolchain/gcc/3.4.4/100-uclibc-conf.patch | 39 +++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/toolchain/gcc/3.4.4/100-uclibc-conf.patch b/toolchain/gcc/3.4.4/100-uclibc-conf.patch index 68664c0117..3e2d191828 100644 --- a/toolchain/gcc/3.4.4/100-uclibc-conf.patch +++ b/toolchain/gcc/3.4.4/100-uclibc-conf.patch @@ -155,6 +155,32 @@ diff -urN gcc-3.4.1-dist/gcc/config/i386/linux.h gcc-3.4.1/gcc/config/i386/linux /* A C statement (sans semicolon) to output to the stdio stream FILE the assembler definition of uninitialized global DECL named +--- gcc-3.4.4/gcc/config/i386/linux64.h ++++ gcc-3.4.4/gcc/config/i386/linux64.h +@@ -55,6 +55,15 @@ + done. */ + + #undef LINK_SPEC ++#if defined USE_UCLIBC ++#define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \ ++ %{shared:-shared} \ ++ %{!shared: \ ++ %{!static: \ ++ %{rdynamic:-export-dynamic} \ ++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \ ++ %{static:-static}}" ++#else + #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \ + %{shared:-shared} \ + %{!shared: \ +@@ -63,6 +73,7 @@ + %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \ + %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \ + %{static:-static}}" ++#endif + + #define MULTILIB_DEFAULTS { "m64" } + diff -urN gcc-3.4.1-dist/gcc/config/mips/linux.h gcc-3.4.1/gcc/config/mips/linux.h --- gcc-3.4.1-dist/gcc/config/mips/linux.h 2004-06-15 20:42:24.000000000 -0500 +++ gcc-3.4.1/gcc/config/mips/linux.h 2004-08-12 15:54:43.000000000 -0500 @@ -325,6 +351,19 @@ diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc i[34567]86-*-linux*) # Intel 80386's running GNU/Linux # with ELF format using glibc 2 # aka GNU/Linux C library 6 +@@ -1032,7 +1032,11 @@ + x86_64-*-linux*) + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \ + i386/x86-64.h i386/linux64.h" +- tmake_file="t-slibgcc-elf-ver t-linux i386/t-linux64" ++ tmake_file="t-slibgcc-elf-ver i386/t-linux64" ++ case ${target} in ++ *-linux-uclibc*) tmake_file="${tmake_file} t-linux-uclibc" ;; ++ *) tmake_file="${tmake_file} t-linux" ;; ++ esac + ;; + i[34567]86-*-kfreebsd*-gnu) # must be before i[34567]86-*-gnu* + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h kfreebsdgnu.h i386/kfreebsdgnu.h" @@ -1547,6 +1562,16 @@ gnu_ld=yes gas=yes -- 2.30.2