public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] sample config for arm-unkown-linux-gnueabi, gcc-4.4.0, glibc-2.9
@ 2009-03-24 15:52 Plotnikov Dmitry
  2009-03-24 23:03 ` Yann E. MORIN
  2009-03-26 18:50 ` Yann E. MORIN
  0 siblings, 2 replies; 6+ messages in thread
From: Plotnikov Dmitry @ 2009-03-24 15:52 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

This is a sample config file for armv6 ( ARM1136J(F)-S ) processors. It 
uses current ct-ng (nightly snapshot 20090324, latest release 1.3.2 
works also), glibc 2.9 (from CVS), binutils 2.19 and latest snapshot of 
GCC 4.4.0 (as of March 20, 2009).

We have successfully built linux kernel 2.6.29 and a lot of other stuff 
with this toolchain.

Here's the patch that adds GCC 4.4.0 to the ct-ng menu and enables it to 
download a 4.4.0 snapshot from ftp.
Just adding 4.4.0 to ct-ng menuconfig and putting manually bzipped 
gcc-4.4.0.tar.bz2 into tarballs directory (for example checkouted from 
svn) also works well.
The patches for the 4.3.3 version worked ok, so you'll need to copy 
4.3.3 directory to 4.4.0 in patches/gcc/ .


Patch for ct-ng:

=================================================================================================================== 

diff -rupd ct-ng-trunk-20090324/config/cc/gcc.in 
ct-ng-trunk-20090324-isp/config/cc/gcc.in
--- ct-ng-trunk-20090324/config/cc/gcc.in       2009-03-24 
03:00:11.000000000 +0300
+++ ct-ng-trunk-20090324-isp/config/cc/gcc.in   2009-03-24 
12:02:17.000000000 +0300
@@ -112,6 +112,12 @@ config CC_V_4_3_3
   depends on EXPERIMENTAL
   select CC_GCC_4_3_or_later

+config CC_V_4_4_0
+    bool
+    prompt "4.4.0 20090320 SNAPSHOT (EXPERIMENTAL)"
+    depends on EXPERIMENTAL
+    select CC_GCC_4_3_or_later
+
# CT_INSERT_VERSION_ABOVE
# Don't remove above line!
endchoice
@@ -138,6 +144,8 @@ config CC_VERSION
   default "4.3.1" if CC_V_4_3_1
   default "4.3.2" if CC_V_4_3_2
   default "4.3.3" if CC_V_4_3_3
+    default "4.4-20090320" if CC_V_4_4_0
+
# CT_INSERT_VERSION_STRING_ABOVE
# Don't remove above line!

Binary files ct-ng-trunk-20090324/docs/ct-ng.1.gz and 
ct-ng-trunk-20090324-isp/docs/ct-ng.1.gz differ
Only in ct-ng-trunk-20090324-isp/patches/gcc: 4.4.0
diff -rupd ct-ng-trunk-20090324/scripts/build/cc/gcc.sh 
ct-ng-trunk-20090324-isp/scripts/build/cc/gcc.sh
--- ct-ng-trunk-20090324/scripts/build/cc/gcc.sh        2009-03-24 
03:00:02.000000000 +0300
+++ ct-ng-trunk-20090324-isp/scripts/build/cc/gcc.sh    2009-03-24 
12:03:04.000000000 +0300
@@ -12,7 +12,8 @@ do_cc_get() {
   # subdirectory! You bastard!
   CT_GetFile "gcc-${CT_CC_VERSION}"   \
              
{ftp,http}://ftp.gnu.org/gnu/gcc{,{,/releases}/gcc-${CT_CC_VERSION}}     \
-               
ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-${CT_CC_VERSION} 

+               
ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-${CT_CC_VERSION} 
\
+               ftp://ftp.uvsq.fr/pub/gcc/snapshots/4.4-20090320
   # Starting with GCC 4.3, ecj is used for Java, and will only be
   # built if the configure script finds ecj.jar at the top of the
   # GCC source tree, which will not be there unless we get it and
=================================================================================================================== 



ct-ng config file:


===================================================================================================================


#
# Automatically generated make config: don't edit
# crosstool-NG version: svn_trunk@1439M
# Tue Mar 24 18:06:07 2009
#

#
# Paths and misc options
#

#
# crosstool-NG behavior
#
# CT_OBSOLETE is not set
CT_EXPERIMENTAL=y
CT_DEBUG_CT=y
# CT_DEBUG_PAUSE_STEPS is not set
CT_DEBUG_CT_SAVE_STEPS=y
CT_DEBUG_CT_SAVE_STEPS_GZIP=y
# CT_NO_OVERIDE_LC_MESSAGES is not set

#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
CT_WORK_DIR="${CT_TOP_DIR}/targets"
CT_PREFIX_DIR="${HOME}/x-tools/gcc-4.4.0-armv7"
CT_INSTALL_DIR="${CT_PREFIX_DIR}"
# CT_CUSTOM_PATCH is not set
CT_REMOVE_DOCS=y
CT_INSTALL_DIR_RO=y

#
# Downloading
#
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
# CT_USE_PROXY is not set
CT_PROXY_TYPE="none"
# CT_USE_MIRROR is not set
CT_CONNECT_TIMEOUT=10
# CT_ONLY_DOWNLOAD is not set

#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set

#
# Build behavior
#
CT_PARALLEL_JOBS=5
CT_LOAD=0
CT_NICE=0
CT_USE_PIPES=y
# CT_CONFIG_SHELL_ASH is not set

#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set
# CT_LOG_DEBUG is not set
CT_LOG_ALL=y
CT_LOG_LEVEL_MAX="ALL"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y

#
# Target options
#
CT_ARCH="arm"
# CT_ARCH_64 is not set
CT_ARCH_SUPPORT_ARCH=y
# CT_ARCH_SUPPORT_ABI is not set
CT_ARCH_SUPPORT_CPU=y
CT_ARCH_SUPPORT_TUNE=y
CT_ARCH_SUPPORT_FPU=y
CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
# CT_ARCH_DEFAULT_BE is not set
CT_ARCH_DEFAULT_LE=y
CT_ARCH_ARCH="armv6"
CT_ARCH_CPU="arm1136jf-s"
CT_ARCH_TUNE="arm1136jf-s"
CT_ARCH_FPU=""
# CT_ARCH_BE is not set
CT_ARCH_LE=y
# CT_ARCH_FLOAT_HW is not set
CT_ARCH_FLOAT_SW=y
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""

#
# General target options
#
# CT_ARCH_alpha is not set
CT_ARCH_arm=y
# CT_ARCH_ia64 is not set
# CT_ARCH_mips is not set
# CT_ARCH_powerpc64 is not set
# CT_ARCH_powerpc is not set
# CT_ARCH_sh is not set
# CT_ARCH_x86_64 is not set
# CT_ARCH_x86 is not set
CT_ARCH_ARM_EABI=y

#
# Target optimisations
#

#
# Toolchain options
#

#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_DIR_PREFIX="/home/plotnikov/x-tools/gcc"
CT_SHARED_LIBS=y

#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="unknown"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""

#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"

#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""

#
# Operating System
#
# CT_BARE_METAL is not set
CT_KERNEL="linux"
CT_KERNEL_VERSION="2.6.26.8"
# CT_KERNEL_bare_metal is not set
CT_KERNEL_linux=y
CT_KERNEL_LINUX_INSTALL=y
CT_KERNEL_LINUX_INSTALL_CHECK=y
# CT_KERNEL_V_2_6_18_8 is not set
# CT_KERNEL_V_2_6_19_7 is not set
# CT_KERNEL_V_2_6_20_21 is not set
# CT_KERNEL_V_2_6_21_7 is not set
# CT_KERNEL_V_2_6_22_19 is not set
# CT_KERNEL_V_2_6_23_17 is not set
# CT_KERNEL_V_2_6_24_7 is not set
# CT_KERNEL_V_2_6_25_20 is not set
# CT_KERNEL_V_2_6_26 is not set
# CT_KERNEL_V_2_6_26_1 is not set
# CT_KERNEL_V_2_6_26_2 is not set
# CT_KERNEL_V_2_6_26_3 is not set
# CT_KERNEL_V_2_6_26_4 is not set
# CT_KERNEL_V_2_6_26_5 is not set
# CT_KERNEL_V_2_6_26_6 is not set
# CT_KERNEL_V_2_6_26_7 is not set
CT_KERNEL_V_2_6_26_8=y
# CT_KERNEL_V_2_6_27 is not set
# CT_KERNEL_V_2_6_27_1 is not set
# CT_KERNEL_V_2_6_27_2 is not set
# CT_KERNEL_V_2_6_27_3 is not set
# CT_KERNEL_V_2_6_27_4 is not set
# CT_KERNEL_V_2_6_27_5 is not set
# CT_KERNEL_V_2_6_27_6 is not set
# CT_KERNEL_V_2_6_27_7 is not set
# CT_KERNEL_V_2_6_27_8 is not set
# CT_KERNEL_V_2_6_27_9 is not set
# CT_KERNEL_V_2_6_27_10 is not set
# CT_KERNEL_V_2_6_27_11 is not set
# CT_KERNEL_V_2_6_27_12 is not set
# CT_KERNEL_V_2_6_27_13 is not set
# CT_KERNEL_V_2_6_27_14 is not set
# CT_KERNEL_V_2_6_27_15 is not set
# CT_KERNEL_V_2_6_27_16 is not set
# CT_KERNEL_V_2_6_27_17 is not set
# CT_KERNEL_V_2_6_27_18 is not set
# CT_KERNEL_V_2_6_27_19 is not set
# CT_KERNEL_V_2_6_28 is not set
# CT_KERNEL_V_2_6_28_1 is not set
# CT_KERNEL_V_2_6_28_2 is not set
# CT_KERNEL_V_2_6_28_3 is not set
# CT_KERNEL_V_2_6_28_4 is not set
# CT_KERNEL_V_2_6_28_5 is not set
# CT_KERNEL_V_2_6_28_6 is not set
# CT_KERNEL_V_2_6_28_7 is not set
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_USE_CUSTOM_HEADERS is not set

#
# GMP and MPFR
#
CT_GMP_MPFR=y
CT_GMP_MPFR_TARGET=y
# CT_GMP_V_4_2_2 is not set
CT_GMP_V_4_2_4=y
CT_GMP_VERSION="4.2.4"
CT_GMP_CHECK=y
CT_MPFR_V_2_3_1=y
# CT_MPFR_V_2_3_2 is not set
# CT_MPFR_V_2_4_0 is not set
# CT_MPFR_V_2_4_1 is not set
CT_MPFR_VERSION="2.3.1"
CT_MPFR_CHECK=y

#
# binutils
#
CT_BINUTILS_VERSION="2.19"
# CT_BINUTILS_V_2_14 is not set
# CT_BINUTILS_V_2_15 is not set
# CT_BINUTILS_V_2_16_1 is not set
# CT_BINUTILS_V_2_17 is not set
# CT_BINUTILS_V_2_18 is not set
# CT_BINUTILS_V_2_18_50_0_4 is not set
# CT_BINUTILS_V_2_18_50_0_6 is not set
# CT_BINUTILS_V_2_18_50_0_7 is not set
# CT_BINUTILS_V_2_18_50_0_8 is not set
# CT_BINUTILS_V_2_18_50_0_9 is not set
# CT_BINUTILS_V_2_18_90 is not set
# CT_BINUTILS_V_2_18_91 is not set
# CT_BINUTILS_V_2_18_92 is not set
# CT_BINUTILS_V_2_18_93 is not set
CT_BINUTILS_V_2_19=y
# CT_BINUTILS_V_2_19_1 is not set
# CT_BINUTILS_V_2_19_50_0_1 is not set
# CT_BINUTILS_V_2_19_51_0_1 is not set
# CT_BINUTILS_V_2_19_51_0_2 is not set
CT_BINUTILS_EXTRA_CONFIG=""
CT_BINUTILS_FOR_TARGET=y
CT_BINUTILS_FOR_TARGET_IBERTY=y
CT_BINUTILS_FOR_TARGET_BFD=y

#
# C compiler
#
CT_CC="gcc"
CT_CC_VERSION="4.4-20090320"
CT_CC_gcc=y
# CT_CC_V_3_2_3 is not set
# CT_CC_V_3_3_6 is not set
# CT_CC_V_3_4_6 is not set
# CT_CC_V_4_0_0 is not set
# CT_CC_V_4_0_1 is not set
# CT_CC_V_4_0_2 is not set
# CT_CC_V_4_0_3 is not set
# CT_CC_V_4_0_4 is not set
# CT_CC_V_4_1_0 is not set
# CT_CC_V_4_1_1 is not set
# CT_CC_V_4_1_2 is not set
# CT_CC_V_4_2_0 is not set
# CT_CC_V_4_2_1 is not set
# CT_CC_V_4_2_2 is not set
# CT_CC_V_4_2_3 is not set
# CT_CC_V_4_2_4 is not set
# CT_CC_V_4_3_0 is not set
# CT_CC_V_4_3_1 is not set
# CT_CC_V_4_3_2 is not set
# CT_CC_V_4_3_3 is not set
CT_CC_V_4_4_0=y
CT_CC_GCC_4_3_or_later=y
CT_CC_CXA_ATEXIT=y
# CT_CC_SJLJ_EXCEPTIONS_CONFIGURE is not set
# CT_CC_SJLJ_EXCEPTIONS_USE is not set
CT_CC_SJLJ_EXCEPTIONS_DONT_USE=y
CT_CC_CORE_EXTRA_CONFIG=""
CT_CC_EXTRA_CONFIG="CFLAGS=-ggdb3"
CT_CC_PKGVERSION="crosstool-NG-${CT_VERSION}"
CT_CC_BUGURL=""
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_JAVA=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y

#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# CT_CC_LANG_JAVA is not set
# CT_CC_LANG_ADA is not set
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
CT_CC_LANG_OTHERS=""
CT_LIBC="glibc"

#
# C-library
#
CT_LIBC_VERSION="2.9"
# CT_LIBC_eglibc is not set
CT_LIBC_glibc=y
# CT_LIBC_uClibc is not set
# CT_LIBC_V_2_3_6 is not set
# CT_LIBC_V_2_5 is not set
# CT_LIBC_V_2_5_1 is not set
# CT_LIBC_V_2_6 is not set
# CT_LIBC_V_2_6_1 is not set
# CT_LIBC_V_2_7 is not set
# CT_LIBC_V_2_8 is not set
CT_LIBC_V_2_9=y
# CT_LIBC_V_LATEST is not set
# CT_LIBC_V_date is not set
# CT_LIBC_GLIBC_TARBALL is not set
CT_LIBC_GLIBC_CVS=y
CT_LIBC_GLIBC_CVS_date=""

#
# glibc/eglibc common options
#
CT_LIBC_GLIBC_EXTRA_CONFIG=""
CT_LIBC_GLIBC_CONFIGPARMS=""
CT_LIBC_GLIBC_EXTRA_CFLAGS=""
CT_LIBC_EXTRA_CC_ARGS=""
CT_LIBC_GLIBC_USE_PORTS=y
CT_LIBC_ADDONS_LIST=""
# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_LIBC_GLIBC_MIN_KERNEL="2.6.26.8"

#
# Common C library options
#
CT_LIBC_SUPPORT_NPTL=y
CT_LIBC_SUPPORT_LINUXTHREADS=y
CT_THREADS="nptl"
CT_THREADS_NPTL=y
# CT_THREADS_LINUXTHREADS is not set
# CT_THREADS_NONE is not set

#
# Tools facilities
#
CT_TOOL_libelf=y
CT_LIBELF_V_0_8_10=y
CT_LIBELF_VERSION="0.8.10"
# CT_TOOL_sstrip is not set

#
# Debug facilities
#
CT_DEBUG_dmalloc=y
# CT_DMALLOC_V_5_4_3 is not set
CT_DMALLOC_V_5_5_2=y
CT_DMALLOC_VERSION="5.5.2"
CT_DEBUG_duma=y
CT_DUMA_A=y
CT_DUMA_SO=y
# CT_DUMA_V_2_5_1 is not set
# CT_DUMA_V_2_5_8 is not set
# CT_DUMA_V_2_5_12 is not set
CT_DUMA_V_2_5_14=y
CT_DUMA_VERSION="2_5_14"
CT_DEBUG_gdb=y
CT_GDB_CROSS=y
# CT_GDB_CROSS_STATIC is not set
# CT_GDB_CROSS_INSIGHT is not set
CT_GDB_NATIVE=y
# CT_GDB_NATIVE_STATIC is not set
CT_GDB_NATIVE_USE_GMP_MPFR=y
CT_GDB_GDBSERVER=y
CT_GDB_GDBSERVER_STATIC=y
# CT_GDB_V_6_4 is not set
# CT_GDB_V_6_5 is not set
# CT_GDB_V_6_6 is not set
# CT_GDB_V_6_7 is not set
# CT_GDB_V_6_7_1 is not set
CT_GDB_V_6_8=y
# CT_GDB_V_snapshot is not set
CT_GDB_VERSION="6.8"

#
# Native gdb needs a native ncurses library
#
CT_NCURSES_V_5_6=y
# CT_NCURSES_V_5_7 is not set
CT_NCURSES_VERSION="5.6"
CT_DEBUG_ltrace=y
# CT_LTRACE_V_0_4 is not set
CT_LTRACE_V_0_5=y
# CT_LTRACE_V_0_5_1 is not set
CT_LTRACE_VERSION="0.5"
CT_DEBUG_strace=y
# CT_STRACE_V_4_5 is not set
# CT_STRACE_V_4_5_14 is not set
# CT_STRACE_V_4_5_15 is not set
# CT_STRACE_V_4_5_16 is not set
CT_STRACE_V_4_5_17=y
# CT_STRACE_V_4_5_18 is not set
CT_STRACE_VERSION="4.5.17"


--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] sample config for arm-unkown-linux-gnueabi, gcc-4.4.0, glibc-2.9
  2009-03-24 15:52 [PATCH] sample config for arm-unkown-linux-gnueabi, gcc-4.4.0, glibc-2.9 Plotnikov Dmitry
@ 2009-03-24 23:03 ` Yann E. MORIN
  2009-03-24 23:42   ` Yann E. MORIN
  2009-03-26 12:21   ` Plotnikov Dmitry
  2009-03-26 18:50 ` Yann E. MORIN
  1 sibling, 2 replies; 6+ messages in thread
From: Yann E. MORIN @ 2009-03-24 23:03 UTC (permalink / raw)
  To: Plotnikov Dmitry; +Cc: crossgcc

Hello Dmitry!
Hello all!

On Tuesday 24 March 2009 16:52:37 Plotnikov Dmitry wrote:
> This is a sample config file for armv6 ( ARM1136J(F)-S ) processors. It 
> uses current ct-ng (nightly snapshot 20090324, latest release 1.3.2 
> works also), glibc 2.9 (from CVS), binutils 2.19 and latest snapshot of 
> GCC 4.4.0 (as of March 20, 2009).

Whoo! Nice!

> We have successfully built linux kernel 2.6.29 and a lot of other stuff 
> with this toolchain.

Good!

> Here's the patch that adds GCC 4.4.0 to the ct-ng menu and enables it to 
> download a 4.4.0 snapshot from ftp.

OK, I've reworked that part a little bit, so the user can specify an
alternate snapshot date.

> The patches for the 4.3.3 version worked ok, so you'll need to copy 
> 4.3.3 directory to 4.4.0 in patches/gcc/ .

That did not work out of the box for me. I'm re-diffing the 4.3.3 patchset
against 4.4-20090320, and we'll see...

> Patch for ct-ng:

Woopss... Your mailer mangled the patch...

> ct-ng config file:

There are a few mistakes in the configuration you sent. They are highlited
in-line, below...

> # General toolchain options
> #
> CT_USE_SYSROOT=y
> CT_SYSROOT_DIR_PREFIX="/home/plotnikov/x-tools/gcc"

CT_SYSROOT_DIR_PREFIX is *not* an absolute path!
Carefully read the help entry, please!

> CT_CC_EXTRA_CONFIG="CFLAGS=-ggdb3"

Why is that needed? This will build the _cross-gcc_ with debugging symbols,
thus making the cross-gcc bigger and slower! Unless I'm mistaken...

And unless you are debugging gcc, it is a bad idea, IMHO...

> #
> # Additional supported languages:
> #
> CT_CC_LANG_CXX=y
> # CT_CC_LANG_FORTRAN is not set
> # CT_CC_LANG_JAVA is not set

Other gcc versions were able to build the Fortran and Java frontends.
Did you disable them because they did not work, or simply because you
did not need them?

Anyway, thank you for your input!
I'll be back a bit later with the final results wrt the patchset, unless
you beat me to it! ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| --==< ^_^ >==-- `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
`------------------------------^-------^------------------^--------------------'


--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] sample config for arm-unkown-linux-gnueabi, gcc-4.4.0, glibc-2.9
  2009-03-24 23:03 ` Yann E. MORIN
@ 2009-03-24 23:42   ` Yann E. MORIN
  2009-03-24 23:46     ` Yann E. MORIN
  2009-03-26 12:21   ` Plotnikov Dmitry
  1 sibling, 1 reply; 6+ messages in thread
From: Yann E. MORIN @ 2009-03-24 23:42 UTC (permalink / raw)
  To: crossgcc; +Cc: Plotnikov Dmitry

Dmitry,
All,

On Wednesday 25 March 2009 00:03:38 Yann E. MORIN wrote:
> On Tuesday 24 March 2009 16:52:37 Plotnikov Dmitry wrote:
> > Here's the patch that adds GCC 4.4.0 to the ct-ng menu and enables it to 
> > download a 4.4.0 snapshot from ftp.
> OK, I've reworked that part a little bit, so the user can specify an
> alternate snapshot date.

Here's the patch I came up with. Care to have a look, please?

As for forward-porting the gcc-4.3.3 patchset to 4.4-20090320,
I'm not yet finished:
- some patches are already totally applied, and thus must be removed
  (eg. #200, #240)
- some others are already partially applied, and must be hand-reworked
  (eg. #220)
- and I'm not yet finished... :-(

So, how did you manage to use the 4.3.3 patchset with 4.4-20090320?

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| --==< ^_^ >==-- `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
`------------------------------^-------^------------------^--------------------'


--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] sample config for arm-unkown-linux-gnueabi, gcc-4.4.0, glibc-2.9
  2009-03-24 23:42   ` Yann E. MORIN
@ 2009-03-24 23:46     ` Yann E. MORIN
  0 siblings, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2009-03-24 23:46 UTC (permalink / raw)
  To: crossgcc; +Cc: Plotnikov Dmitry

[-- Attachment #1: Type: text/plain, Size: 654 bytes --]

On Wednesday 25 March 2009 00:42:41 Yann E. MORIN wrote:
> Here's the patch I came up with. Care to have a look, please?

Hmmm... Attached, this time... :-(

YEM.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| --==< ^_^ >==-- `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
`------------------------------^-------^------------------^--------------------'

[-- Attachment #2: ct-ng.trunk-gcc-4.4.patch --]
[-- Type: text/x-diff, Size: 6428 bytes --]

Index: ct-ng.trunk/config/cc/gcc.in
===================================================================
--- ct-ng.trunk/config/cc/gcc.in	(revision 1443)
+++ ct-ng.trunk/config/cc/gcc.in	(working copy)
@@ -112,10 +112,39 @@
     depends on EXPERIMENTAL
     select CC_GCC_4_3_or_later
 
+config CC_V_4_4_0
+    bool
+    prompt "4.4.0 snapshot"
+    depends on EXPERIMENTAL
+    select CC_GCC_4_3_or_later
+    select CC_GCC_4_4_snapshot
+
 # CT_INSERT_VERSION_ABOVE
 # Don't remove above line!
 endchoice
 
+config CC_GCC_4_3_or_later
+    bool
+    default n
+    select GMP_MPFR
+
+config CC_GCC_4_4_snapshot
+    bool
+    default n
+
+config CC_GCC_4_4_snapshot_date
+    string
+    prompt "Snapshot date"
+    depends on CC_GCC_4_4_snapshot
+    help
+      Enter the snapshot date in the form YYYYMMDD.
+      Snapshots are made every friday, at around 22:30 GMT+1,
+      so look at your calendar to find a suitable date.
+
+      Also, you may have to adapt the patches/gcc/4.4-* patch
+      directory to fit your selected snapshot. Curently, snapshot
+      dated 20090320 has the appropriate patches in place. YMMV.
+
 config CC_VERSION
     string
     default "3.2.3" if CC_V_3_2_3
@@ -138,14 +167,10 @@
     default "4.3.1" if CC_V_4_3_1
     default "4.3.2" if CC_V_4_3_2
     default "4.3.3" if CC_V_4_3_3
+    default "4.4-" if CC_V_4_4_0
 # CT_INSERT_VERSION_STRING_ABOVE
 # Don't remove above line!
 
-config CC_GCC_4_3_or_later
-    bool
-    default n
-    select GMP_MPFR
-
 config CC_CXA_ATEXIT
     bool
     prompt "Use __cxa_atexit"
Index: ct-ng.trunk/scripts/build/cc/gcc.sh
===================================================================
--- ct-ng.trunk/scripts/build/cc/gcc.sh	(revision 1443)
+++ ct-ng.trunk/scripts/build/cc/gcc.sh	(working copy)
@@ -4,15 +4,19 @@
 
 # Download gcc
 do_cc_get() {
+    local version="${CT_CC_VERSION}${CT_CC_GCC_4_4_snapshot_date}"
+
     # Ah! gcc folks are kind of 'different': they store the tarballs in
     # subdirectories of the same name! That's because gcc is such /crap/ that
     # it is such /big/ that it needs being splitted for distribution! Sad. :-(
     # Arrgghh! Some of those versions does not follow this convention:
     # gcc-3.3.3 lives in releases/gcc-3.3.3, while gcc-2.95.* isn't in a
     # subdirectory! You bastard!
-    CT_GetFile "gcc-${CT_CC_VERSION}"   \
-               {ftp,http}://ftp.gnu.org/gnu/gcc{,{,/releases}/gcc-${CT_CC_VERSION}}     \
-               ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-${CT_CC_VERSION}
+    CT_GetFile "gcc-${version}"                                                         \
+               {ftp,http}://ftp.gnu.org/gnu/gcc{,{,/releases}/gcc-${version}}           \
+               ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-${version}   \
+               ftp://ftp.uvsq.fr/pub/gcc/snapshots/${version}
+
     # Starting with GCC 4.3, ecj is used for Java, and will only be
     # built if the configure script finds ecj.jar at the top of the
     # GCC source tree, which will not be there unless we get it and
@@ -25,13 +29,16 @@
 
 # Extract gcc
 do_cc_extract() {
-    CT_Extract "gcc-${CT_CC_VERSION}"
-    CT_Patch "gcc-${CT_CC_VERSION}"
+    local version="${CT_CC_VERSION}${CT_CC_GCC_4_4_snapshot_date}"
+
+    CT_Extract "gcc-${version}"
+    CT_Patch "gcc-${version}"
+
     # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree
-    if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y"                     \
-         -a ! -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/ecj.jar"   \
+    if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y"             \
+         -a ! -f "${CT_SRC_DIR}/gcc-${version}/ecj.jar" \
        ]; then
-        CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/ecj.jar"
+        CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc-${version}/ecj.jar"
     fi
 }
 
@@ -83,6 +90,7 @@
     local core_prefix_dir
     local extra_config
     local lang_opt
+    local version="${CT_CC_VERSION}${CT_CC_GCC_4_4_snapshot_date}"
 
     eval $1
     eval $2
@@ -142,7 +150,7 @@
     CC_FOR_BUILD="${CT_BUILD}-gcc"                  \
     CFLAGS="${CT_CFLAGS_FOR_HOST}"                  \
     CT_DoExecLog ALL                                \
-    "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure"  \
+    "${CT_SRC_DIR}/gcc-${version}/configure"        \
         --build=${CT_BUILD}                         \
         --host=${CT_HOST}                           \
         --target=${CT_TARGET}                       \
@@ -174,7 +182,7 @@
         # so we configure then build it.
         # Next we have to configure gcc, create libgcc.mk then edit it...
         # So much easier if we just edit the source tree, but hey...
-        if [ ! -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then
+        if [ ! -f "${CT_SRC_DIR}/gcc-${version}/gcc/BASE-VER" ]; then
             CT_DoExecLog ALL make configure-libiberty
             CT_DoExecLog ALL make ${PARALLELMFLAGS} -C libiberty libiberty.a
             CT_DoExecLog ALL make configure-gcc configure-libcpp
@@ -184,7 +192,7 @@
             CT_DoExecLog ALL make ${PARALLELMFLAGS} all-libcpp all-build-libiberty
         fi
         # HACK: gcc-4.2 uses libdecnumber to build libgcc.mk, so build it here.
-        if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/libdecnumber" ]; then
+        if [ -d "${CT_SRC_DIR}/gcc-${version}/libdecnumber" ]; then
             CT_DoExecLog ALL make configure-libdecnumber
             CT_DoExecLog ALL make ${PARALLELMFLAGS} -C libdecnumber libdecnumber.a
         fi
@@ -226,6 +234,8 @@
 #------------------------------------------------------------------------------
 # Build final gcc
 do_cc() {
+    local version="${CT_CC_VERSION}${CT_CC_GCC_4_4_snapshot_date}"
+
     # If building for bare metal, nothing to be done here, the static core conpiler is enough!
     [ "${CT_BARE_METAL}" = "y" ] && return 0
 
@@ -282,7 +292,7 @@
     CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}"       \
     LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}"       \
     CT_DoExecLog ALL                                \
-    "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure"  \
+    "${CT_SRC_DIR}/gcc-${version}/configure"        \
         --build=${CT_BUILD}                         \
         --host=${CT_HOST}                           \
         --target=${CT_TARGET}                       \


[-- Attachment #3: Type: text/plain, Size: 71 bytes --]

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] sample config for arm-unkown-linux-gnueabi, gcc-4.4.0,  glibc-2.9
  2009-03-24 23:03 ` Yann E. MORIN
  2009-03-24 23:42   ` Yann E. MORIN
@ 2009-03-26 12:21   ` Plotnikov Dmitry
  1 sibling, 0 replies; 6+ messages in thread
From: Plotnikov Dmitry @ 2009-03-26 12:21 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: crossgcc

Hello, Yann! Hello All!

 > CT_SYSROOT_DIR_PREFIX is *not* an absolute path!
 > Carefully read the help entry, please!
 >  

Sorry, I missed this...

 > >  CT_CC_EXTRA_CONFIG="CFLAGS=-ggdb3"
 > >     
 > >
 > Why is that needed? This will build the _cross-gcc_ with debugging 
symbols,
 > thus making the cross-gcc bigger and slower! Unless I'm mistaken...
 >
 > And unless you are debugging gcc, it is a bad idea, IMHO...

We needed debug info in gcc, because there was an error in February 
snapshot,
so crosstool failed at building glibc (it was workarounded then by changing
the default optimization level -- there was -O option by default in glibc
Makefile with which it failed, but worked with -O2).
The issue has been fixed in the current snapshot, and glibc now builds 
fine with -O.

 > >  #
 > >  # Additional supported languages:
 > >  #
 > >  CT_CC_LANG_CXX=y
 > >  # CT_CC_LANG_FORTRAN is not set
 > >  # CT_CC_LANG_JAVA is not set
 > >     
 > >
 > Other gcc versions were able to build the Fortran and Java frontends.
 > Did you disable them because they did not work, or simply because you
 > did not need them?

We didn't build other languages because we don't need them so we've
disabled them just to save time.

 > So, how did you manage to use the 4.3.3 patchset with 4.4-20090320?

We thought we were using this patchset, but actually it isn't applied at 
all,
because we put it on directory 4.4.0 and missed that ct-ng searches it in
4.4-20090320.  We believed that the patches were successfully applied
since ct-ng said "Applying patches for gcc" in log files and created
"gcc*.patched" file.  So it seems actually to be working for this target 
without
any patches.

---
Dmitry.

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] sample config for arm-unkown-linux-gnueabi, gcc-4.4.0, glibc-2.9
  2009-03-24 15:52 [PATCH] sample config for arm-unkown-linux-gnueabi, gcc-4.4.0, glibc-2.9 Plotnikov Dmitry
  2009-03-24 23:03 ` Yann E. MORIN
@ 2009-03-26 18:50 ` Yann E. MORIN
  1 sibling, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2009-03-26 18:50 UTC (permalink / raw)
  To: crossgcc; +Cc: Plotnikov Dmitry

Dmitry,
All,

On Tuesday 24 March 2009 16:52:37 Plotnikov Dmitry wrote:
> Here's the patch that adds GCC 4.4.0 to the ct-ng menu and enables it to 
> download a 4.4.0 snapshot from ftp.

OK, committed in /trunk, as r1444.
Thank you!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| --==< ^_^ >==-- `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
`------------------------------^-------^------------------^--------------------'


--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-03-26 18:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-24 15:52 [PATCH] sample config for arm-unkown-linux-gnueabi, gcc-4.4.0, glibc-2.9 Plotnikov Dmitry
2009-03-24 23:03 ` Yann E. MORIN
2009-03-24 23:42   ` Yann E. MORIN
2009-03-24 23:46     ` Yann E. MORIN
2009-03-26 12:21   ` Plotnikov Dmitry
2009-03-26 18:50 ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).