From: Jan-Benedict G. <jb...@us...> - 2005-09-23 15:41:56
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11658 Modified Files: build_toolchain.sh Log Message: - Update the build_toolchain.sh script: - * Also copy the Linux source tree. (Of course, you need one in the right place; initial_cvs_checkout should do it for you.) * Configure and build uClibc. - jbglaw@d2:~/vax-linux/scm/build-20050923-142555-vax-linux-uclibc/src/uclibc$ ls -l libc/libc.a -rw-r--r-- 1 jbglaw jbglaw 645866 2005-09-23 17:10 libc/libc.a - Now I need to figure out how to write appropriate startup code (crt0.S it is, right?) and how to manually link a hello_world.o file with the crt0.o and libc.a stuff. - Then I need to integrate this with GCC. - Fu*k, I haven't had time to really look at GIT :-( - Despite some (think: lots of...) Nutella bread slices, I'm hungry and will soon go out for food. - Doing hacking a complete day is lots of fun. I'd really try to keep one day (say all two weeks) free for hacking. It's satisfying, really! Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- build_toolchain.sh 20 Aug 2005 19:21:38 -0000 1.15 +++ build_toolchain.sh 23 Sep 2005 15:41:40 -0000 1.16 @@ -56,11 +56,13 @@ DO_TIMESTAMP_GLIBC=0 DO_TIMESTAMP_PORTS=0 DO_TIMESTAMP_UCLIBC=0 +DO_TIMESTAMP_LINUX=0 DO_PATCHES_BINUTILS=1 DO_PATCHES_GCC=1 DO_PATCHES_GLIBC=1 DO_PATCHES_PORTS=1 DO_PATCHES_UCLIBC=1 +DO_PATCHES_LINUX=1 DO_CHECKS_BINUTILS=1 DO_CHECKS_GCC=1 DO_CHECKS_GLIBC=1 @@ -80,10 +82,12 @@ TIMESTAMP_GLIBC="${1}" TIMESTAMP_PORTS="${1}" TIMESTAMP_UCLIBC="${1}" + TIMESTAMP_LINUX="${1}" DO_TIMESTAMP_BINUTILS=1 DO_TIMESTAMP_GCC=1 DO_TIMESTAMP_GLIBC=1 DO_TIMESTAMP_UCLIBC=1 + DO_TIMESTAMP_LINUX=1 shift ;; --binutils-timestamp) @@ -110,6 +114,12 @@ DO_TIMESTAMP_UCLIBC=1 shift ;; + --linux-timestamp) + shift + TIMESTAMP_LINUX="${1}" + DO_TIMESTAMP_LINUX=1 + shift + ;; --omit-patches) shift DO_PATCHES_BINUTILS=0 @@ -117,6 +127,7 @@ DO_PATCHES_GLIBC=0 DO_PATCHES_PORTS=0 DO_PATCHES_UCLIBC=0 + DO_PATCHES_LINUX=0 ;; --omit-binutils-patches) shift @@ -138,6 +149,10 @@ shift DO_PATCHES_UCLIBC=0 ;; + --omit-linux-patches) + shift + DO_PATCHES_LINUX=0 + ;; --omit-checks) shift DO_CHECKS_BINUTILS=0 @@ -166,7 +181,7 @@ echo "Unrecognized option \"${1}\"" >&2 echo >&2 echo "Hint:" >&2 - echo "$0 [--timestamp | --{binutils,glibc,gcc,uclibc}-timestamp | --omit-patches | --omit-{gcc,glibc,binutils,ports,uclibc}-patches | --omit-checks | --omit-{binutils,gcc,glibc,uclibc}-checks] <target>" >&2 + echo "$0 [--timestamp | --{binutils,glibc,gcc,uclibc,linux}-timestamp | --omit-patches | --omit-{gcc,glibc,binutils,ports,uclibc,linux}-patches | --omit-checks | --omit-{binutils,gcc,glibc,uclibc}-checks] <target>" >&2 echo "Target defaults to: ${TARGET}" >&2 exit 1 ;; @@ -199,6 +214,8 @@ [ "${DO_PATCHES_PORTS}" -eq 0 ] && echo " Patch Glibc-Ports: no" [ "${DO_PATCHES_UCLIBC}" -ne 0 ] && echo " Patch uClibc: yes" [ "${DO_PATCHES_UCLIBC}" -eq 0 ] && echo " Patch uClibc: no" +[ "${DO_PATCHES_LINUX}" -ne 0 ] && echo " Patch Linux: yes" +[ "${DO_PATCHES_LINUX}" -eq 0 ] && echo " Patch Linux: no" [ "${DO_CHECKS_BINUTILS}" -ne 0 ] && echo " Check Binutils: yes" [ "${DO_CHECKS_BINUTILS}" -eq 0 ] && echo " Check Binutils: no" [ "${DO_CHECKS_GCC}" -ne 0 ] && echo " Check GCC: yes" @@ -216,12 +233,16 @@ BUILD_GAS=1 BUILD_LD=1 BUILD_GCC1=1 +BUILD_UCLIBC=0 BUILD_GCC2=1 GCC1_EXTRA_LANGUAGES= case "${TARGET}" in vax*ultrix) GCC1_EXTRA_LANGUAGES=",c++" ;; + vax*linux-uclibc*) + BUILD_UCLIBC=1 + ;; vax*linux-*) GCC1_EXTRA_LANGUAGES=",c++" ;; @@ -317,6 +338,7 @@ GLIBC_CVS="${UPSTREAM_SANDBOXES_PATH}/glibc/libc-upstream-HEAD" GLIBC_PORTS_CVS="${UPSTREAM_SANDBOXES_PATH}/glibc/ports-upstream-HEAD" GCC_CVS="${UPSTREAM_SANDBOXES_PATH}/gcc/gcc-upstream-HEAD" +LINUX_CVS="${UPSTREAM_SANDBOXES_PATH}/linux/linux-upstream-HEAD" UCLIBC_SVN="${UPSTREAM_SANDBOXES_PATH}/uclibc/uclibc-upstream-HEAD" # @@ -336,6 +358,7 @@ BINUTILS_SRC="${SRC_BASE}/binutils" GLIBC_SRC="${SRC_BASE}/glibc" GCC_SRC="${SRC_BASE}/gcc" +LINUX_SRC="${SRC_BASE}/linux" UCLIBC_SRC="${SRC_BASE}/uclibc" BINUTILS_BUILD="${BUILD_BASE}/binutils" @@ -355,6 +378,7 @@ mkdir "${GLIBC_SRC}"; GLIBC_SRC="`check_path "${GLIBC_SRC}"`" mkdir "${GCC_SRC}"; GCC_SRC="`check_path "${GCC_SRC}"`" mkdir "${UCLIBC_SRC}"; UCLIBC_SRC="`check_path "${UCLIBC_SRC}"`" +mkdir "${LINUX_SRC}"; LINUX_SRC="`check_path "${LINUX_SRC}"`" mkdir "${BINUTILS_BUILD}"; BINUTILS_BUILD="`check_path "${BINUTILS_BUILD}"`" mkdir "${GCC1_BUILD}"; GCC1_BUILD="`check_path "${GCC1_BUILD}"`" mkdir "${GLIBC_BUILD}"; GLIBC_BUILD="`check_path "${GLIBC_BUILD}"`" @@ -368,6 +392,7 @@ copy_directory.sh "${GLIBC_CVS}" "${GLIBC_SRC}" copy_directory.sh "${GLIBC_PORTS_CVS}" "${GLIBC_SRC}" copy_directory.sh "${GCC_CVS}" "${GCC_SRC}" +copy_directory.sh "${LINUX_CVS}" "${LINUX_SRC}" copy_directory.sh "${UCLIBC_SVN}" "${UCLIBC_SRC}" # @@ -503,3 +528,16 @@ build "${DO_CHECKS_GCC}" && "${GCC_SRC}/contrib/test_summary" -m gcc...@gc... > "${ALL_BASE}/send_gcc_summary.sh" popd +# +# Build uClibc +# +pushd "${UCLIBC_SRC}" # Yes, we build within the source dir... + # Configure + echo "KERNEL_SOURCE=\"${LINUX_SRC}\"" >> .config + build "${BUILD_UCLIBC}" && execute make oldconfig + + # Build + build "${BUILD_GCC1}" && execute make + +popd + |
From: Jan-Benedict G. <jb...@lu...> - 2005-09-23 15:44:53
|
On Fri, 2005-09-23 15:41:42 +0000, Jan-Benedict Glaw <jb...@us...urcefo= rge.net> wrote: > Update of /cvsroot/linux-vax/toolchain/scripts > In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11658 >=20 > Modified Files: > build_toolchain.sh=20 With this patch in place, I can compile a libc.a file from uClibc. After taking some food, I'll try to (manually) link it with a hello_world.o to produce an executable file. MfG, JBG --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 = _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg = _ _ O f=C3=BCr einen Freien Staat voll Freier B=C3=BCrger" | im Internet! | i= m Irak! O O O ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA)= ); |