You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(11) |
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2002 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(12) |
Nov
|
Dec
|
2003 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
(1) |
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(9) |
Jun
(5) |
Jul
(1) |
Aug
|
Sep
(4) |
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
(1) |
Apr
(35) |
May
(9) |
Jun
(10) |
Jul
|
Aug
(6) |
Sep
(23) |
Oct
(24) |
Nov
(18) |
Dec
(81) |
2006 |
Jan
(37) |
Feb
(2) |
Mar
(10) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(23) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Jan-Benedict G. <jb...@us...> - 2005-04-15 08:25:27
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31622 Modified Files: vax_toolchain_config Log Message: - Update the variables to actually match my workspace. Index: vax_toolchain_config =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/vax_toolchain_config,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- vax_toolchain_config 14 Apr 2005 19:54:25 -0000 1.1 +++ vax_toolchain_config 15 Apr 2005 08:25:16 -0000 1.2 @@ -69,6 +69,11 @@ # The src/ directories will contain patched sources, containing all # patches from ${VAX_PATCHES_PATH}/ . # +# VAX_TOOLCHAIN_SCRIPTS +# ~~~~~~~~~~~~~~~~~~~~~ +# Basically, this is the directory where the toolchain building scripts +# are located. This directory is added to ${PATH}. +# # @@ -78,9 +83,21 @@ # if [ `whoami` = jbglaw -a `hostname` = d2 ]; then echo "Setting variables to match jbglaw@d2" - export UPSTREAM_SANDBOXES_PATH="" - export UPSTREAM_PATCHES_PATH="" - export VAX_PATCHES_PATH="" - export BUILD_BASE_DIR="" + export UPSTREAM_SANDBOXES_PATH="/home/jbglaw/vax-linux/scm/cvs-repos" + export UPSTREAM_PATCHES_PATH="/home/jbglaw/vax-linux/scm/cvs-repos/patches/upstream" + export VAX_PATCHES_PATH="/home/jbglaw/vax-linux/toolchain/patches" + export BUILD_BASE_DIR="/home/jbglaw/vax-linux/scm" + export VAX_TOOLCHAIN_SCRIPTS="/home/jbglaw/vax-linux/toolchain/scripts" fi +# +# Settings for: +# +# Lonely Stranger <so...@so...> +# +: +: +: + +export PATH="${PATH}:${VAX_TOOLCHAIN_SCRIPTS}" + |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 21:33:21
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25739 Modified Files: generate_and_apply_upstream_patches.sh generate_upstream_patches.sh Log Message: - Add check for an externally defined variable. Index: generate_and_apply_upstream_patches.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/generate_and_apply_upstream_patches.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- generate_and_apply_upstream_patches.sh 14 Apr 2005 21:30:37 -0000 1.1 +++ generate_and_apply_upstream_patches.sh 14 Apr 2005 21:33:10 -0000 1.2 @@ -6,6 +6,10 @@ echo "\$UPSTREAM_SANDBOXES_PATH isn't set--please source vax_toolchain_config" >&2 exit 1 fi +if [ ! -d "${UPSTREAM_PATCHES_PATH}" ]; then + echo "\$UPSTREAM_PATCHES_PATH isn't set--please source vax_toolchain_config" >&2 + exit 1 +fi NOW="`date -u '+%Y%m%d-%H%M%S'`" Index: generate_upstream_patches.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/generate_upstream_patches.sh,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- generate_upstream_patches.sh 14 Apr 2005 21:27:43 -0000 1.2 +++ generate_upstream_patches.sh 14 Apr 2005 21:33:10 -0000 1.3 @@ -6,6 +6,10 @@ echo "\$UPSTREAM_SANDBOXES_PATH isn't set--please source vax_toolchain_config" >&2 exit 1 fi +if [ ! -d "${UPSTREAM_PATCHES_PATH}" ]; then + echo "\$UPSTREAM_PATCHES_PATH isn't set--please source vax_toolchain_config" >&2 + exit 1 +fi NOW="`date -u '+%Y%m%d-%H%M%S'`" |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 21:30:45
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24005 Modified Files: README Added Files: generate_and_apply_upstream_patches.sh Log Message: - This is the 2nd (and last) script for creating upstream patches. - I'll check-in the remainder of my scripts (and one GCC patch) tomorrow. Index: README =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/README,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- README 14 Apr 2005 21:16:55 -0000 1.6 +++ README 14 Apr 2005 21:30:37 -0000 1.7 @@ -67,6 +67,14 @@ sandboxes! The broken out patches will be placed into ${UPSTREAM_PATCHES_PATH}. +generate_and_apply_upstream_patches.sh +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This script basically does the same as generate_upstream_patches.sh, but will +also patch the *-HEAD-last/ sources. So after diffing out the changes and +applying the patch, both *-HEAD/ and *-HEAD-last/ will contain the same +sources. + + try_patches.sh ~~~~~~~~~~~~~~ This script gets three arguments (component (like binutils, gcc, glibc, ports), --- NEW FILE: generate_and_apply_upstream_patches.sh --- #!/bin/sh set -e if [ ! -d "${UPSTREAM_SANDBOXES_PATH}" ]; then echo "\$UPSTREAM_SANDBOXES_PATH isn't set--please source vax_toolchain_config" >&2 exit 1 fi NOW="`date -u '+%Y%m%d-%H%M%S'`" for COMPONENT in binutils/binutils-upstream-HEAD \ glibc/libc-upstream-HEAD \ glibc/ports-upstream-HEAD \ gcc/gcc-upstream-HEAD; do pushd "${UPSTREAM_SANDBOXES_PATH}/`dirname "${COMPONENT}"`" diff -Nurp "`basename "${COMPONENT}"`-last" \ "`basename "${COMPONENT}"`" \ > "${UPSTREAM_PATCHES_PATH}/`basename "${COMPONENT}"`-${NOW}.patch" || true diff -Nurp -x CVS "`basename "${COMPONENT}"`-last" \ "`basename "${COMPONENT}"`" \ > "${UPSTREAM_PATCHES_PATH}/`basename "${COMPONENT}"`-${NOW}-nocvs.patch" || true popd pushd "${UPSTREAM_SANDBOXES_PATH}/${COMPONENT}-last" patch -p1 < "${UPSTREAM_PATCHES_PATH}/`basename "${COMPONENT}"`-${NOW}.patch" popd [ ! -s "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}.patch" ] && rm "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}.patch" [ ! -s "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}-nocvs.patch" ] && rm "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}-nocvs.patch" done |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 21:28:02
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22274 Modified Files: generate_upstream_patches.sh Log Message: - Fix usage of wrong variable. Index: generate_upstream_patches.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/generate_upstream_patches.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- generate_upstream_patches.sh 14 Apr 2005 21:16:55 -0000 1.1 +++ generate_upstream_patches.sh 14 Apr 2005 21:27:43 -0000 1.2 @@ -19,7 +19,7 @@ > "${UPSTREAM_PATCHES_PATH}/`basename "${COMPONENT}"`-${NOW}.patch" || true diff -Nurp -x CVS "`basename "${COMPONENT}"`-last" \ "`basename "${COMPONENT}"`" \ - > "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}-nocvs.patch" || true + > "${UPSTREAM_PATCHES_PATH}/`basename "${COMPONENT}"`-${NOW}-nocvs.patch" || true popd [ ! -s "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}.patch" ] && rm "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}.patch" |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 21:17:04
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15585 Modified Files: README Added Files: generate_upstream_patches.sh Log Message: - generate_upstream_patches.sh - does exactly what its name tells... Index: README =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/README,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- README 14 Apr 2005 20:41:39 -0000 1.5 +++ README 14 Apr 2005 21:16:55 -0000 1.6 @@ -60,6 +60,13 @@ a build, prepare for hacking or whatever. +generate_upstream_patches.sh +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +You can use this script to diff out the *-HEAD/ sandboxes with the +*-HEAD-last/ sandboxes. This will, however, _not_ update the *-HEAD-last/ +sandboxes! The broken out patches will be placed into ${UPSTREAM_PATCHES_PATH}. + + try_patches.sh ~~~~~~~~~~~~~~ This script gets three arguments (component (like binutils, gcc, glibc, ports), --- NEW FILE: generate_upstream_patches.sh --- #!/bin/sh set -e if [ ! -d "${UPSTREAM_SANDBOXES_PATH}" ]; then echo "\$UPSTREAM_SANDBOXES_PATH isn't set--please source vax_toolchain_config" >&2 exit 1 fi NOW="`date -u '+%Y%m%d-%H%M%S'`" for COMPONENT in binutils/binutils-upstream-HEAD \ glibc/libc-upstream-HEAD \ glibc/ports-upstream-HEAD \ gcc/gcc-upstream-HEAD; do pushd "${UPSTREAM_SANDBOXES_PATH}/`dirname "${COMPONENT}"`" diff -Nurp "`basename "${COMPONENT}"`-last" \ "`basename "${COMPONENT}"`" \ > "${UPSTREAM_PATCHES_PATH}/`basename "${COMPONENT}"`-${NOW}.patch" || true diff -Nurp -x CVS "`basename "${COMPONENT}"`-last" \ "`basename "${COMPONENT}"`" \ > "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}-nocvs.patch" || true popd [ ! -s "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}.patch" ] && rm "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}.patch" [ ! -s "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}-nocvs.patch" ] && rm "${UPSTREAM_SANDBOXES_PATH}/`basename "${COMPONENT}"`-${NOW}-nocvs.patch" done |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 20:41:48
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28186 Modified Files: README Added Files: update_upstream_cvs_sandboxes.sh Log Message: - This script updates all your upstream toolchain sandboxes. Index: README =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/README,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- README 14 Apr 2005 20:33:47 -0000 1.4 +++ README 14 Apr 2005 20:41:39 -0000 1.5 @@ -53,6 +53,13 @@ mailing lists and coding standards there are *really* high. +update_upstream_cvs_sandboxes.sh +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This script will update all your checked-out upstream CVS sandboxes to +their respective HEAD versions. You'd run it everytime before you start +a build, prepare for hacking or whatever. + + try_patches.sh ~~~~~~~~~~~~~~ This script gets three arguments (component (like binutils, gcc, glibc, ports), --- NEW FILE: update_upstream_cvs_sandboxes.sh --- #!/bin/sh set -e if [ ! -d "${UPSTREAM_SANDBOXES_PATH}" ]; then echo "\$UPSTREAM_SANDBOXES_PATH isn't set--please source vax_toolchain_config to set it" >&2 exit 1 fi for COMPONENT in binutils/binutils-upstream-HEAD \ glibc/libc-upstream-HEAD \ glibc/ports-upstream-HEAD \ gcc/gcc-upstream-HEAD; do pushd "${UPSTREAM_SANDBOXES_PATH}/${COMPONENT}" if ! cvs update -d -P; then echo "Failed to update $COMPONENT" >&2 exit 1 fi popd done |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 20:34:00
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21843 Modified Files: README Added Files: prepare_toolchain_hacking.sh Log Message: - Thist script will prepare you a nice source tree for further toolchain hacking. --- NEW FILE: prepare_toolchain_hacking.sh --- #!/bin/sh set -e if [ $# -lt 2 ]; then echo "$0 projectname component1 component2 ..." >&2 echo "Known components: binutils, gcc, glibc, ports" >&2 echo "" >&2 echo "If a component is written as eg. \"binutils+patches\", then all" >&2 echo "patches will be applied, too." >&2 exit 1 fi if [ ! -d "${UPSTREAM_SANDBOXES_PATH}" ]; then echo "\$UPSTREAM_SANDBOXES_PATH isn't set -- please source vax_toolchain_config first" >&2 exit 1 fi mkdir -- "${1}" pushd "${1}" shift while [ $# -gt 0 ]; do APPLY_PATCHES=no case "${1}" in binutils*) SRC_DIR="${UPSTREAM_SANDBOXES_PATH}/binutils/binutils-upstream-HEAD" DEST_BASE="`pwd`/src-binutils" COMPONENT=binutils ;; gcc*) SRC_DIR="${UPSTREAM_SANDBOXES_PATH}/gcc/gcc-upstream-HEAD" DEST_BASE="`pwd`/src-gcc" COMPONENT=gcc ;; glibc*) SRC_DIR="${UPSTREAM_SANDBOXES_PATH}/glibc/libc-upstream-HEAD" DEST_BASE="`pwd`/src-glibc" COMPONENT=glibc ;; ports*) SRC_DIR="${UPSTREAM_SANDBOXES_PATH}/glibc/ports-upstream-HEAD" DEST_BASE="`pwd`/src-ports" COMPONENT=ports ;; *) echo "\"${1}\" is an unknown component." >&2 SRC_DIR="" DEST_BASE="" COMPONENT="" ;; esac case "${1}" in *+patches) APPLY_PATCHES=yes ;; *) : ;; esac if [ -n "${SRC_DIR}" -a -n "${DEST_BASE}" -a -n "${COMPONENT}" ]; then echo "Now copying module \"${COMPONENT}\"" mkdir -- "${DEST_BASE}-fresh" mkdir -- "${DEST_BASE}-hacked" copy_directory.sh "${SRC_DIR}" "${DEST_BASE}-fresh" copy_directory.sh "${SRC_DIR}" "${DEST_BASE}-hacked" if [ "${APPLY_PATCHES}" = yes ]; then try_patches.sh "${COMPONENT}" "${DEST_BASE}-fresh" "${VAX_PATCHES_PATH}" try_patches.sh "${COMPONENT}" "${DEST_BASE}-hacked" "${VAX_PATCHES_PATH}" fi fi shift done popd Index: README =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/README,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- README 14 Apr 2005 20:11:46 -0000 1.3 +++ README 14 Apr 2005 20:33:47 -0000 1.4 @@ -22,11 +22,35 @@ $ source /path/to/vax_toolchain_config -copy_directory.sh -~~~~~~~~~~~~~~~~~ -This is a helper script that's called internally. You'd of course call it -manually, but it's of little use... It'll copy the first directory's -contents into the second directory. +prepare_toolchain_hacking.sh +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This script copies the locally checked-out upstream sandbox for named +components (binutils, gcc, glibc, ports) and--if requested--applies +all VAX-specific patches. You'd call this script like: + +$ prepare_toolchain_hacking.sh add_new_documentation gcc+patches + +This will create a directory ./add_new_documentation/ containing two +copies of the upstream CVS sandboxes, src-COMPONENT-fresh/ and +src-COMPONENT-hacked/ . Please do all your hacking in the *-hacked/ +directory. You can later on diff out your changes with: + +$ diff -Nurp src-COMPONENT-* > add_new_documentation.patch + +But beware: before you submit the patch to one of the mailing lists +or check them in into out CVS repo, please have a look at it. That +means: + + - Check that there are no "Binary files xxxxx and yyyy changed" + lines. Even if you build the sources into a separate build + directory, esp. the *.po files will be touched _even in the + source directory_! + - Add a textual description to the head of the patch. Remember that + the patch(1) program will ignore all lines it doesn't understand, + so we can use this for documentation purposes. + - Add a properly GNU ChangeLog formatted message as well. These + patches will most probably be submitted to the upstream development + mailing lists and coding standards there are *really* high. try_patches.sh @@ -38,3 +62,10 @@ ${3}/COMPONENT-nnn-some_description.patch + +copy_directory.sh +~~~~~~~~~~~~~~~~~ +This is a helper script that's called internally. You'd of course call it +manually, but it's of little use... It'll copy the first directory's +contents into the second directory. + |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 20:11:55
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12172 Modified Files: README Added Files: try_patches.sh Log Message: - try_patches.sh: patch sources with a named set of patches. Index: README =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/README,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- README 14 Apr 2005 20:04:38 -0000 1.2 +++ README 14 Apr 2005 20:11:46 -0000 1.3 @@ -28,3 +28,13 @@ manually, but it's of little use... It'll copy the first directory's contents into the second directory. + +try_patches.sh +~~~~~~~~~~~~~~ +This script gets three arguments (component (like binutils, gcc, glibc, ports), +the directory containing sources to be patched and a directory containing +patches). All patches (in the patches directory) are expected to follow this +filename convention: + + ${3}/COMPONENT-nnn-some_description.patch + --- NEW FILE: try_patches.sh --- #!/bin/sh # # $1 - component to patch (gcc, glibc, ports, binutils) # $2 - destination directory; patches are expected to apply with -p1 # $3 - directory containing the patches # function try_patches() { echo -n "Looking for ${1} patches... " if ! ls ${3}/${1}-[0-9][0-9][0-9]-*.patch > /dev/null 2>&1; then echo "none." return else echo "found `ls ${3}/${1}-[0-9][0-9][0-9]-*.patch | wc -l`." fi for patchfile in ${3}/${1}-[0-9][0-9][0-9]-*.patch; do echo "Applying `basename "${patch}"` ..." pushd "${2}" patch -p1 --verbose < "${patchfile}" popd done } if [ $# -ne 3 ]; then echo "$0 <component> <directory-to-patch> <directory-containing-patches>" >&2 echo "All patches are expected to apply with -p1 within directory-to-patch." >&2 echo "Their names are expected to be in this form:" >&2 echo "" >&2 echo " COMPONENT-nnn-description.patch" >&2 echo "" >&2 echo "nnn is exactly three decimal digits; description mustn't contain spaces." >&2 exit 1 fi if [ ! -d "${2}" ]; then echo "${2} is not a directory, so I don't expect patchable sources here..." >&2 exit 1 fi if [ ! -d "${3}" ]; then echo "${3} is not a directory, so I don't expect patches here..." >&2 exit 1 fi try_patches "${1}" "${2}" "${3}" |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 20:04:48
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7018 Modified Files: README Added Files: copy_directory.sh Log Message: - copy_directory.sh copies the source direcory's contents into a destionation directory. Index: README =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/README,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- README 14 Apr 2005 19:54:25 -0000 1.1 +++ README 14 Apr 2005 20:04:38 -0000 1.2 @@ -4,6 +4,7 @@ Unfortunately, the VAX toolchain isn't yet complete, but we're working on it. Here's a description of the scripts: + vax_toolchain_config ~~~~~~~~~~~~~~~~~~~~ This script is ment to be sourced by you into your shell. It'll set some @@ -20,3 +21,10 @@ $ source /path/to/vax_toolchain_config + +copy_directory.sh +~~~~~~~~~~~~~~~~~ +This is a helper script that's called internally. You'd of course call it +manually, but it's of little use... It'll copy the first directory's +contents into the second directory. + --- NEW FILE: copy_directory.sh --- #!/bin/sh # # $1 - source directory # $2 - destination directory # function copy_directory() { echo "Copying ${1} to ${2}" (cd "${1}" && tar cpf - .;) | (cd "${2}" && tar xpf -;) } if [ $# -ne 2 ]; then echo "$0 <src-dir> <dest-dir>" >&2 exit 1 fi if [ ! -d "${1}" ]; then echo "${1} is not a directoy." >&2 exit 1 fi if [ ! -d "${2}" ]; then echo "${2} is not a directoy." >&2 exit 1 fi copy_directory "${1}" "${2}" |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 19:54:39
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1125 Added Files: README vax_toolchain_config Log Message: - First start with new toolchain scripts, containing build scripts as well as helper scripts for toolchain development. Maybe this process will once be guided by some advanced, distributed source code management tool... --- NEW FILE: README --- Hi! This is a set of scripts to aid in toolchain hacking and building. Unfortunately, the VAX toolchain isn't yet complete, but we're working on it. Here's a description of the scripts: vax_toolchain_config ~~~~~~~~~~~~~~~~~~~~ This script is ment to be sourced by you into your shell. It'll set some environment variables (where to find patches, CVS sandboxes, build space, ...) Please feel free to add your pathes and check it in. This script will always look a bit messy, so don't care about it... Also, the very first thing you'd do it to actually source it, because all other scripts depend on the variables being set here. To source this file, use this: $ . /path/to/vax_toolchain_config Notice the dot at the beginning of the command line. Alternatively, you can use the "source" buildin: $ source /path/to/vax_toolchain_config --- NEW FILE: vax_toolchain_config --- # # This file contains variable setting that are needed for all the scripts # to aid you in toolchain hacking. # # # These variables need to be set: # # UPSTREAM_SANDBOXES_PATH # ~~~~~~~~~~~~~~~~~~~~~~~ # Below this directory are checked-out sandboxes of the four important # upstream CVS sandboxes (binutils, gcc, glibc and ports). Below # ${UPSTREAM_SANDBOXES_PATH}, this directory layout is expected: # # ${UPSTREAM_SANDBOXES_PATH}/binutils/ # ${UPSTREAM_SANDBOXES_PATH}/binutils/binutils-upstream-HEAD/ # ${UPSTREAM_SANDBOXES_PATH}/binutils/binutils-upstream-HEAD-last/ # ${UPSTREAM_SANDBOXES_PATH}/gcc/gcc-upstream-HEAD/ # ${UPSTREAM_SANDBOXES_PATH}/gcc/gcc-upstream-HEAD-last/ # ${UPSTREAM_SANDBOXES_PATH}/glibc/libc-upstream-HEAD/ # ${UPSTREAM_SANDBOXES_PATH}/glibc/libc-upstream-HEAD-last/ # ${UPSTREAM_SANDBOXES_PATH}/glibc/ports-upstream-HEAD/ # ${UPSTREAM_SANDBOXES_PATH}/glibc/ports-upstream-HEAD-last/ # # Initially, the *-HEAD/ and *-HEAD-last/ should contain identical # content. (So please checkout *-HEAD/ and then copy over the content # to the other directory. Do _not_ do a fresh checkout into the # *-HEAD-last/ directory since somebody might check in changes in # between. # # There's a reason for having two copies of the sandboxes. The pure # *-HEAD/ version is used as the "current" state. If sources are about # to be copied into a temporary directory (for building a toolchain), # while the *-HEAD-last/ variant is used to break out upstream patches. # I use this to fill a (private) CVS server with these patches to # "track" upstream sources. You may or may not use the *-HEAD-last/ # variant, though. After patches are diffed out for this purpose, # they're also applied to *-HEAD-last/ . # # UPSTREAM_PATCHES_PATH # ~~~~~~~~~~~~~~~~~~~~~ # As noted in the UPSTREAM_SANDBOXES_PATH section, I try to spit out # patches for tracking upstream sources. All diffed out patches will # go into this directory. If you don't need these patches, maybe setting # this variable to /tmp/ . # # VAX_PATCHES_PATH # ~~~~~~~~~~~~~~~~ # This directory contains out VAX-specific patches. They will be # applied automatically whenever you (try to) build a toolchain. # All patches _must_ match this specific filename convention to be # recognized: # # ${VAX_PATCHES_PATH}/COMPONENT-nnn-some_description.patch # # COMPONENT is one of binutils, gcc, glibc, ports. nnn is a decimal # number (three digits with leading zero). Patches are applied in order # of the given number. # # BUILD_BASE_DIR # ~~~~~~~~~~~~~~ # When you run a build, a directory below ${BUILD_BASE_DIR} will be # created to contain: # # ${BUILD_BASE_DIR}/build-20050414-181818-vax-linux/src/{binutils,gcc,glibc}/ # ${BUILD_BASE_DIR}/build-20050414-181818-vax-linux/build/{binutils,gcc1,gcc2glibc}/ # ${BUILD_BASE_DIR}/build-20050414-181818-vax-linux/install/usr/bin/... # # The src/ directories will contain patched sources, containing all # patches from ${VAX_PATCHES_PATH}/ . # # # Settings for: # # Jan-Benedict Glaw <jb...@lu...> # if [ `whoami` = jbglaw -a `hostname` = d2 ]; then echo "Setting variables to match jbglaw@d2" export UPSTREAM_SANDBOXES_PATH="" export UPSTREAM_PATCHES_PATH="" export VAX_PATCHES_PATH="" export BUILD_BASE_DIR="" fi |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 19:15:54
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11544/patches Log Message: Directory /cvsroot/linux-vax/toolchain/patches added to the repository |
From: Jan-Benedict G. <jb...@us...> - 2005-04-14 19:15:53
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11544/scripts Log Message: Directory /cvsroot/linux-vax/toolchain/scripts added to the repository |
From: Jan-Benedict G. <jb...@us...> - 2005-03-12 12:51:28
|
Update of /cvsroot/linux-vax/toolchain/src/opcodes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9422 Modified Files: vax-dis.c Log Message: - Decode entry mask. Index: vax-dis.c =================================================================== RCS file: /cvsroot/linux-vax/toolchain/src/opcodes/vax-dis.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- vax-dis.c 17 Feb 2003 00:33:08 -0000 1.1.1.1 +++ vax-dis.c 12 Mar 2005 12:51:16 -0000 1.2 @@ -34,6 +34,21 @@ "r8", "r9", "r10", "r11", "ap", "fp", "sp", "pc" }; +/* Definitions for the function entry mask bits. */ +static char *entry_mask_bit[] = +{ + /* Registers 0 and 1 shall not be saved, since they're used to pass back + a function's result to its caller... */ + "~r0~", "~r1~", + /* Registers 2 .. 11 are normal registers. */ + "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", + /* Registers 12 and 13 are argument and frame pointer and must not + be saved by using the entry mask. */ + "~ap~", "~fp~", + /* Bits 14 and 15 control integer and decimal overflow. */ + "IntOvfl", "DecOvfl", +}; + /* Sign-extend an (unsigned char). */ #if __STDC__ == 1 #define COERCE_SIGNED_CHAR(ch) ((signed char)(ch)) @@ -140,6 +155,27 @@ buffer[1] = 0; } + /* Decode function entry mask. */ + if (info->symbols + && info->symbols[0] + && (info->symbols[0]->flags & BSF_FUNCTION) + && memaddr == bfd_asymbol_value (info->symbols[0])) + { + int i = 0; + int register_mask = buffer[1] << 8 | buffer[0]; + + (*info->fprintf_func) (info->stream, ".word = 0x%04x # Entry mask: <", + register_mask); + + for (i = 15; i >= 0; i--) + if (register_mask & (1 << i)) + (*info->fprintf_func) (info->stream, " %s", entry_mask_bit[i]); + + (*info->fprintf_func) (info->stream, " >"); + + return 2; + } + for (votp = &votstrs[0]; votp->name[0]; votp++) { register vax_opcodeT opcode = votp->detail.code; |
From: Jan-Benedict G. <jb...@us...> - 2004-09-24 10:31:04
|
Update of /cvsroot/linux-vax/toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29527 Modified Files: README Log Message: - bison and gperf no longer needed. We now use the files shipped within the CVS repo. The rule who rebuilt them is gone. Index: README =================================================================== RCS file: /cvsroot/linux-vax/toolchain/README,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- README 23 Sep 2004 16:55:55 -0000 1.4 +++ README 24 Sep 2004 10:30:49 -0000 1.5 @@ -7,8 +7,7 @@ them around: - Basic tools: make, gcc, binutils - - The more special things: gettext, automake autoconf, gperf, - bison + - The more special things: gettext, automake, autoconf build-vax.sh |
From: Jan-Benedict G. <jb...@us...> - 2004-09-24 10:05:03
|
Update of /cvsroot/linux-vax/toolchain/src/gcc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24561 Modified Files: Makefile.in Log Message: - This fixes the "type conflict for RETURN, ..., previously defined here" problem I noticed about a year ago. Index: Makefile.in =================================================================== RCS file: /cvsroot/linux-vax/toolchain/src/gcc/Makefile.in,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Makefile.in 17 Feb 2003 00:09:31 -0000 1.1.1.1 +++ Makefile.in 24 Sep 2004 10:04:42 -0000 1.2 @@ -1319,23 +1319,27 @@ # C language specific files. -c-parse.o : $(srcdir)/c-parse.c $(CONFIG_H) $(TREE_H) c-lex.h \ - $(srcdir)/c-parse.h c-tree.h input.h flags.h system.h toplev.h +c-parse.o :$(srcdir)/c-parse.c $(CONFIG_H) $(TREE_H) c-lex.h \ + c-tree.h input.h flags.h system.h toplev.h $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/c-parse.c -$(srcdir)/c-parse.h: $(srcdir)/c-parse.c -$(srcdir)/c-parse.c: $(srcdir)/c-parse.y - cd $(srcdir); $(BISON) $(BISONFLAGS) -d -o c-parse.c c-parse.y -$(srcdir)/c-parse.y: c-parse.in - echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y - sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \ - -e "/^ifc$$/d" -e "/^end ifc$$/d" \ - $(srcdir)/c-parse.in >>tmp-c-parse.y - $(srcdir)/move-if-change tmp-c-parse.y $(srcdir)/c-parse.y + +#c-parse.o : $(srcdir)/c-parse.c $(CONFIG_H) $(TREE_H) c-lex.h \ +# $(srcdir)/c-parse.h c-tree.h input.h flags.h system.h toplev.h +# $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/c-parse.c +#$(srcdir)/c-parse.h: $(srcdir)/c-parse.c +#$(srcdir)/c-parse.c: $(srcdir)/c-parse.y +# cd $(srcdir); $(BISON) $(BISONFLAGS) -d -o c-parse.c c-parse.y +#$(srcdir)/c-parse.y: c-parse.in +# echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y +# sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \ +# -e "/^ifc$$/d" -e "/^end ifc$$/d" \ +# $(srcdir)/c-parse.in >>tmp-c-parse.y +# $(srcdir)/move-if-change tmp-c-parse.y $(srcdir)/c-parse.y -$(srcdir)/c-gperf.h: c-parse.gperf - gperf -L C -F ', 0, 0' -p -j1 -i 1 -g -o -t -G -N is_reserved_word \ - -k1,3,$$ $(srcdir)/c-parse.gperf >tmp-gperf.h - $(srcdir)/move-if-change tmp-gperf.h $(srcdir)/c-gperf.h +#$(srcdir)/c-gperf.h: c-parse.gperf +# gperf -L C -F ', 0, 0' -p -j1 -i 1 -g -o -t -G -N is_reserved_word \ +# -k1,3,$$ $(srcdir)/c-parse.gperf >tmp-gperf.h +# $(srcdir)/move-if-change tmp-gperf.h $(srcdir)/c-gperf.h c-decl.o : c-decl.c $(CONFIG_H) system.h $(TREE_H) c-tree.h c-lex.h flags.h \ output.h toplev.h |
From: Jan-Benedict G. <jb...@us...> - 2004-09-23 16:56:09
|
Update of /cvsroot/linux-vax/toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20972 Modified Files: README Log Message: - bison is also needed... Index: README =================================================================== RCS file: /cvsroot/linux-vax/toolchain/README,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- README 23 Sep 2004 16:47:26 -0000 1.3 +++ README 23 Sep 2004 16:55:55 -0000 1.4 @@ -7,7 +7,8 @@ them around: - Basic tools: make, gcc, binutils - - The more special things: gettext, automake autoconf + - The more special things: gettext, automake autoconf, gperf, + bison build-vax.sh |
From: Jan-Benedict G. <jb...@us...> - 2004-09-23 16:47:39
|
Update of /cvsroot/linux-vax/toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18483 Modified Files: README Log Message: - Add some prerequisites. - I'm currently bringing a friend to VAX hacking:-) - I'll have a look at the uClibc in our repo as the next part. As far as I recall, the copy in our repo is 100% broken wrt. the wrapper, which was removed upstream. I think reverting uClibc to the last known working version and hacking in the 2.6.x removal of the module loader stuff would be appropriate. Comments? Index: README =================================================================== RCS file: /cvsroot/linux-vax/toolchain/README,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- README 14 Nov 2003 07:47:50 -0000 1.2 +++ README 23 Sep 2004 16:47:26 -0000 1.3 @@ -1,6 +1,15 @@ $Id$ +General info +~~~~~~~~~~~~ +Don't forget to install these packages. Build will fail if you don't have +them around: + + - Basic tools: make, gcc, binutils + - The more special things: gettext, automake autoconf + + build-vax.sh ~~~~~~~~~~~~ This script will generate a working cross compiler useable for doing |
From: Jan-Benedict G. <jb...@us...> - 2004-07-05 14:48:02
|
Update of /cvsroot/linux-vax/toolchain/experimental_toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv764 Modified Files: vax-linux-binutils.patch Log Message: - Fix typos, so make it compile again. Index: vax-linux-binutils.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/experimental_toolchain/vax-linux-binutils.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- vax-linux-binutils.patch 30 Jun 2004 20:35:24 -0000 1.2 +++ vax-linux-binutils.patch 5 Jul 2004 14:47:51 -0000 1.3 @@ -420,272 +420,466 @@ { char *name; int c; -241c241 -< void float_cons PARAMS ((int)); ---- -> void float_cons (int); -265,272c265,271 -< int flonum_gen2vax PARAMS ((char format_letter, FLONUM_TYPE * f, -< LITTLENUM_TYPE * words)); -< static const char *vip_begin PARAMS ((int, const char *, const char *, -< const char *)); -< static void vip_op_1 PARAMS ((int, const char *)); -< static void vip_op_defaults PARAMS ((const char *, const char *, const char *)); -< static void vip_op PARAMS ((char *, struct vop *)); -< static void vip PARAMS ((struct vit *, char *)); ---- -> int flonum_gen2vax (char format_letter, FLONUM_TYPE * f, -> LITTLENUM_TYPE * words); -> static const char *vip_begin (int, const char *, const char *, const char *); -> static void vip_op_1 (int, const char *); -> static void vip_op_defaults (const char *, const char *, const char *); -> static void vip_op (char *, struct vop *); -> static void vip (struct vit *, char *); -274c273 -< static int vax_reg_parse PARAMS ((char, char, char, char)); ---- -> static int vax_reg_parse (char, char, char, char); -298,301c297 -< md_number_to_chars (con, value, nbytes) -< char con[]; -< valueT value; -< int nbytes; ---- -> md_number_to_chars (char con[], valueT value, intnbytes) -310,313c306 -< md_apply_fix3 (fixP, valueP, seg) -< fixS *fixP; -< valueT *valueP; -< segT seg ATTRIBUTE_UNUSED; ---- -> md_apply_fix3 (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED) -328a322,323 -> /* con: Low order bytes first! -> nbytes: number of bytes in input */ -330,332c325 -< md_chars_to_number (con, nbytes) -< unsigned char con[]; /* Low order byte 1st. */ -< int nbytes; /* Number of bytes in the input. */ ---- -> md_chars_to_number (unsigned char con[], int nbytes) -346,347c339 -< md_assemble (instruction_string) -< char *instruction_string; /* A string: assemble 1 instruction. */ ---- -> md_assemble (char *instruction_string) -1226,1228c1218 -< md_estimate_size_before_relax (fragP, segment) -< fragS *fragP; -< segT segment; ---- -> md_estimate_size_before_relax (fragS *fragP, segT segment) -1384,1387c1374,1375 -< md_convert_frag (headers, seg, fragP) -< bfd *headers ATTRIBUTE_UNUSED; -< segT seg ATTRIBUTE_UNUSED; -< fragS *fragP; ---- -> md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT seg ATTRIBUTE_UNUSED, -> fragS *fragP) -1390,1393c1378,1379 -< md_convert_frag (headers, seg, fragP) -< object_headers *headers ATTRIBUTE_UNUSED; -< segT seg ATTRIBUTE_UNUSED; -< fragS *fragP; ---- -> md_convert_frag (object_headers *headers ATTRIBUTE_UNUSED, -> segT seg ATTRIBUTE_UNUSED, fragS *fragP) -1543,1545c1529 -< md_ri_to_chars (the_bytes, ri) -< char *the_bytes; -< struct reloc_info_generic ri; ---- -> md_ri_to_chars (char *the_bytes, struct reloc_info_generic ri) -1562,1565c1546,1547 -< tc_aout_fix_to_chars (where, fixP, segment_address_in_file) -< char *where; -< fixS *fixP; -< relax_addressT segment_address_in_file; ---- -> tc_aout_fix_to_chars (char *where, fixS *fixP, -> relax_addressT segment_address_in_file) -1739,1740c1721,1722 -< You have just broken the encoding below, which assumes the sign bit -< means 'I am an imaginary instruction'. ---- -> # error "You have just broken the encoding below, which assumes the sign bit" -> # error "means 'I am an imaginary instruction'." -1744,1745c1726,1727 -< You have just broken the encoding below, which assumes the 0x40 M bit means -< 'I am not to be "optimised" the way normal branches are'. ---- -> # error "You have just broken the encoding below, which assumes the 0x40 M bit" -> # error "means 'I am not to be "optimised" the way normal branches are'." -1808,1809c1790,1792 -< * If you want, I will include the 'synthetic' jXXX instructions in the -< * instruction table. ---- -> * If you want (synthetic_too == 1), I will include the 'synthetic' -> * jXXX instructions in the instruction table -> * -1814,1816c1797,1798 -< vip_begin (synthetic_too, immediate, indirect, displen) -< int synthetic_too; /* 1 means include jXXX op-codes. */ -< const char *immediate, *indirect, *displen; ---- -> vip_begin (int synthetic_too, const char *immediate, const char *indirect, -> const char *displen) -1862,1864c1844 -< vip (vitP, instring) -< struct vit *vitP; /* We build an exploded instruction here. */ -< char *instring; /* Text of a vax instruction: we modify. */ ---- -> vip (struct vit *vitP, char *instring) -2106a2087 -> /* -2108,2109c2089 -< vax_reg_parse (c1, c2, c3, c4) /* 3 chars of register name */ -< char c1, c2, c3, c4; /* c3 == 0 if 2-character reg name */ ---- -> vax_reg_parse (char c1, char c2, char c3, char c4) /* 3 chars of register name */ -2329,2331c2309 -< vip_op_1 (bit, syms) -< int bit; -< const char *syms; ---- -> vip_op_1 (int bit, const char *syms) -2341,2344c2319,2320 -< vip_op_defaults (immediate, indirect, displen) -< const char *immediate; -< const char *indirect; -< const char *displen; ---- -> vip_op_defaults (const char *immediate, const char *indirect, -> const char *displen) -2409a2386,2391 -> * -> * optext: input string, e.g.: "@B^foo@bar(AP)[FP]:" -> * vopP: Input fields: vop_access, vop_width. -> * Output fields: _ndx, _reg, _mode, _short, _warn, -> * _error _expr_begin, _expr_end, _nbytes, -> * -2413,2420c2395 -< vip_op (optext, vopP) -< /* user's input string e.g.: "@B^foo@bar(AP)[FP]:" */ -< char *optext; -< /* Input fields: vop_access, vop_width. -< Output fields: _ndx, _reg, _mode, _short, _warn, -< _error _expr_begin, _expr_end, _nbytes. -< vop_nbytes : number of bytes in a datum. */ -< struct vop *vopP; ---- -> vip_op (char *optext, struct vop *vopP) -3201,3203c3176 -< mumble (text, value) -< char *text; -< int value; ---- -> mumble (char *text, int value) -3222,3227c3195,3198 -< md_create_short_jump (ptr, from_addr, to_addr, frag, to_symbol) -< char *ptr; -< addressT from_addr; -< addressT to_addr ATTRIBUTE_UNUSED; -< fragS *frag ATTRIBUTE_UNUSED; -< symbolS *to_symbol ATTRIBUTE_UNUSED; ---- -> md_create_short_jump (char *ptr, addressT from_addr, -> addressT to_addrATTRIBUTE_UNUSED, -> fragS *frag ATTRIBUTE_UNUSED, -> symbolS *to_symbol ATTRIBUTE_UNUSED) -3241,3246c3212,3213 -< md_create_long_jump (ptr, from_addr, to_addr, frag, to_symbol) -< char *ptr; -< addressT from_addr ATTRIBUTE_UNUSED; -< addressT to_addr; -< fragS *frag; -< symbolS *to_symbol; ---- -> md_create_long_jump (char *ptr, addressT from_addr ATTRIBUTE_UNUSED, -> addressT to_addr, fragS *frag, symbolS *to_symbol) -3274,3276c3241 -< md_parse_option (c, arg) -< int c; -< char *arg; ---- -> md_parse_option (int c, char *arg) -3351,3352c3316 -< md_show_usage (stream) -< FILE *stream; ---- -> md_show_usage (FILE *stream) -3377,3378c3341 -< md_undefined_symbol (name) -< char *name ATTRIBUTE_UNUSED; ---- -> md_undefined_symbol (char *name ATTRIBUTE_UNUSED) -3385,3387c3348 -< md_section_align (segment, size) -< segT segment ATTRIBUTE_UNUSED; -< valueT size; ---- -> md_section_align (segT segment ATTRIBUTE_UNUSED, valueT size) -3396,3397c3357 -< md_pcrel_from (fixP) -< fixS *fixP; ---- -> md_pcrel_from (fixS *fixP) -3405,3406c3365 -< tc_headers_hook(headers) -< object_headers *headers; ---- -> tc_headers_hook (object_headers *headers) -3418,3420c3377 -< tc_gen_reloc (section, fixp) -< asection *section ATTRIBUTE_UNUSED; -< fixS *fixp; ---- -> tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) -24c24 -< static int fetch_data PARAMS ((struct disassemble_info *, bfd_byte *)); ---- -> static int fetch_data (struct disassemble_info *, bfd_byte *); -26c26 -< PARAMS ((const char *, unsigned char *, bfd_vma, disassemble_info *)); ---- -> (const char *, unsigned char *, bfd_vma, disassemble_info *); -28c28 -< PARAMS ((const char *, int, unsigned char *, bfd_vma, disassemble_info *)); ---- -> (const char *, int, unsigned char *, bfd_vma, disassemble_info *); -83,85c83 -< fetch_data (info, addr) -< struct disassemble_info *info; -< bfd_byte *addr; ---- -> fetch_data (struct disassemble_info *info, bfd_byte *addr) -110,112c108 -< print_insn_vax (memaddr, info) -< bfd_vma memaddr; -< disassemble_info *info; ---- -> print_insn_vax (bfd_vma memaddr, disassemble_info *info) -190,194c186,187 -< print_insn_arg (d, p0, addr, info) -< const char *d; -< unsigned char *p0; -< bfd_vma addr; /* PC for this arg to be relative to */ -< disassemble_info *info; ---- -> print_insn_arg (const char *d, unsigned char *p0, bfd_vma addr, -> disassemble_info *info) -230,235c223,224 -< print_insn_mode (d, size, p0, addr, info) -< const char *d; -< int size; -< unsigned char *p0; -< bfd_vma addr; /* PC for this arg to be relative to */ -< disassemble_info *info; ---- -> print_insn_mode (const char *d, int size, unsigned char *p0, bfd_vma addr, -> disassemble_info *info) +--- binutils-HEAD/gas/config/tc-vax.c~ 2004-06-30 21:13:02.000000000 +0200 ++++ binutils-HEAD/gas/config/tc-vax.c 2004-06-30 21:35:43.000000000 +0200 +@@ -238,7 +238,7 @@ + #undef WF + #undef WB + +-void float_cons PARAMS ((int)); ++void float_cons (int); + + const pseudo_typeS md_pseudo_table[] = + { +@@ -262,16 +262,15 @@ + + #define min(a, b) ((a) < (b) ? (a) : (b)) + +-int flonum_gen2vax PARAMS ((char format_letter, FLONUM_TYPE * f, +- LITTLENUM_TYPE * words)); +-static const char *vip_begin PARAMS ((int, const char *, const char *, +- const char *)); +-static void vip_op_1 PARAMS ((int, const char *)); +-static void vip_op_defaults PARAMS ((const char *, const char *, const char *)); +-static void vip_op PARAMS ((char *, struct vop *)); +-static void vip PARAMS ((struct vit *, char *)); ++int flonum_gen2vax (char format_letter, FLONUM_TYPE * f, ++ LITTLENUM_TYPE * words); ++static const char *vip_begin (int, const char *, const char *, const char *); ++static void vip_op_1 (int, const char *); ++static void vip_op_defaults (const char *, const char *, const char *); ++static void vip_op (char *, struct vop *); ++static void vip (struct vit *, char *); + +-static int vax_reg_parse PARAMS ((char, char, char, char)); ++static int vax_reg_parse (char, char, char, char); + + void + md_begin () +@@ -295,10 +294,7 @@ + } + + void +-md_number_to_chars (con, value, nbytes) +- char con[]; +- valueT value; +- int nbytes; ++md_number_to_chars (char con[], valueT value, intnbytes) + { + number_to_chars_littleendian (con, value, nbytes); + } +@@ -307,10 +303,7 @@ + that they reference. */ + + void /* Knows about order of bytes in address. */ +-md_apply_fix3 (fixP, valueP, seg) +- fixS *fixP; +- valueT *valueP; +- segT seg ATTRIBUTE_UNUSED; ++md_apply_fix3 (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED) + { + valueT value = * valueP; + #ifdef BFD_ASSEMBLER +@@ -326,10 +319,10 @@ + fixP->fx_done = 1; + } + ++/* con: Low order bytes first! ++ nbytes: number of bytes in input */ + long +-md_chars_to_number (con, nbytes) +- unsigned char con[]; /* Low order byte 1st. */ +- int nbytes; /* Number of bytes in the input. */ ++md_chars_to_number (unsigned char con[], int nbytes) + { + long retval; + for (retval = 0, con += nbytes - 1; nbytes--; con--) +@@ -343,8 +336,7 @@ + /* vax:md_assemble() emit frags for 1 instruction */ + + void +-md_assemble (instruction_string) +- char *instruction_string; /* A string: assemble 1 instruction. */ ++md_assemble (char *instruction_string) + { + /* Non-zero if operand expression's segment is not known yet. */ + int is_undefined; +@@ -1223,9 +1215,7 @@ + Return the correct fr_subtype in the frag and the growth beyond + fr_fix. */ + int +-md_estimate_size_before_relax (fragP, segment) +- fragS *fragP; +- segT segment; ++md_estimate_size_before_relax (fragS *fragP, segT segment) + { + if (RELAX_LENGTH (fragP->fr_subtype) == STATE_UNDF) + { +@@ -1381,16 +1371,12 @@ + */ + #ifdef BFD_ASSEMBLER + void +-md_convert_frag (headers, seg, fragP) +- bfd *headers ATTRIBUTE_UNUSED; +- segT seg ATTRIBUTE_UNUSED; +- fragS *fragP; ++md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT seg ATTRIBUTE_UNUSED, ++ fragS *fragP) + #else + void +-md_convert_frag (headers, seg, fragP) +- object_headers *headers ATTRIBUTE_UNUSED; +- segT seg ATTRIBUTE_UNUSED; +- fragS *fragP; ++md_convert_frag (object_headers *headers ATTRIBUTE_UNUSED, ++ segT seg ATTRIBUTE_UNUSED, fragS *fragP) + #endif + { + char *addressP; /* -> _var to change. */ +@@ -1540,9 +1526,7 @@ + bit 0 as pcrel. */ + #ifdef comment + void +-md_ri_to_chars (the_bytes, ri) +- char *the_bytes; +- struct reloc_info_generic ri; ++md_ri_to_chars (char *the_bytes, struct reloc_info_generic ri) + { + /* this is easy */ + md_number_to_chars (the_bytes, ri.r_address, sizeof (ri.r_address)); +@@ -1559,10 +1543,8 @@ + #ifdef OBJ_AOUT + #ifndef BFD_ASSEMBLER + void +-tc_aout_fix_to_chars (where, fixP, segment_address_in_file) +- char *where; +- fixS *fixP; +- relax_addressT segment_address_in_file; ++tc_aout_fix_to_chars (char *where, fixS *fixP, ++ relax_addressT segment_address_in_file) + { + /* + * In: length of relocation (or of address) in chars: 1, 2 or 4. +@@ -1736,13 +1718,13 @@ + * + */ + #if (VIT_OPCODE_SYNTHETIC != 0x80000000) +-You have just broken the encoding below, which assumes the sign bit +- means 'I am an imaginary instruction'. ++# error "You have just broken the encoding below, which assumes the sign bit" ++# error "means 'I am an imaginary instruction'." + #endif + + #if (VIT_OPCODE_SPECIAL != 0x40000000) +- You have just broken the encoding below, which assumes the 0x40 M bit means +- 'I am not to be "optimised" the way normal branches are'. ++# error "You have just broken the encoding below, which assumes the 0x40 M bit" ++# error "means 'I am not to be "optimised" the way normal branches are'." + #endif + + static const struct vot +@@ -1805,15 +1787,15 @@ + * Call me once before you decode any lines. + * I decode votstrs into a hash table at op_hash (which I create). + * I return an error text or null. +- * If you want, I will include the 'synthetic' jXXX instructions in the +- * instruction table. ++ * If you want (synthetic_too == 1), I will include the 'synthetic' ++ * jXXX instructions in the instruction table ++ * + * You must nominate metacharacters for eg DEC's "#", "@", "^". + */ + + static const char * +-vip_begin (synthetic_too, immediate, indirect, displen) +- int synthetic_too; /* 1 means include jXXX op-codes. */ +- const char *immediate, *indirect, *displen; ++vip_begin (int synthetic_too, const char *immediate, const char *indirect, ++ const char *displen) + { + const struct vot *vP; /* scan votstrs */ + const char *retval = 0; /* error text */ +@@ -1859,9 +1841,7 @@ + */ + + static void +-vip (vitP, instring) +- struct vit *vitP; /* We build an exploded instruction here. */ +- char *instring; /* Text of a vax instruction: we modify. */ ++vip (struct vit *vitP, char *instring) + { + /* How to bit-encode this opcode. */ + struct vot_wot *vwP; +@@ -2104,9 +2084,9 @@ + #define SP (14) + #define PC (15) + ++/* + int /* return -1 or 0:15 */ +-vax_reg_parse (c1, c2, c3, c4) /* 3 chars of register name */ +- char c1, c2, c3, c4; /* c3 == 0 if 2-character reg name */ ++vax_reg_parse (char c1, char c2, char c3, char c4) /* 3 chars of register name */ + { + int retval; /* return -1:15 */ + +@@ -2326,9 +2306,7 @@ + static char vip_metacharacters[256]; + + static void +-vip_op_1 (bit, syms) +- int bit; +- const char *syms; ++vip_op_1 (int bit, const char *syms) + { + unsigned char t; + +@@ -2338,10 +2316,8 @@ + + /* Can be called any time. More arguments may appear in future. */ + static void +-vip_op_defaults (immediate, indirect, displen) +- const char *immediate; +- const char *indirect; +- const char *displen; ++vip_op_defaults (const char *immediate, const char *indirect, ++ const char *displen) + { + vip_op_1 (VIP_IMMEDIATE, immediate); + vip_op_1 (VIP_INDIRECT, indirect); +@@ -2407,17 +2383,16 @@ + * ndx index register number 0:15 -1 means absent + * + * Again, I dare not explain it: just trace ALL the code! ++ * ++ * optext: input string, e.g.: "@B^foo@bar(AP)[FP]:" ++ * vopP: Input fields: vop_access, vop_width. ++ * Output fields: _ndx, _reg, _mode, _short, _warn, ++ * _error _expr_begin, _expr_end, _nbytes, ++ * + */ + + static void +-vip_op (optext, vopP) +- /* user's input string e.g.: "@B^foo@bar(AP)[FP]:" */ +- char *optext; +- /* Input fields: vop_access, vop_width. +- Output fields: _ndx, _reg, _mode, _short, _warn, +- _error _expr_begin, _expr_end, _nbytes. +- vop_nbytes : number of bytes in a datum. */ +- struct vop *vopP; ++vip_op (char *optext, struct vop *vopP) + { + /* track operand text forward */ + char *p; +@@ -3198,9 +3173,7 @@ + } + } + +-mumble (text, value) +- char *text; +- int value; ++mumble (char *text, int value) + { + printf ("%s:", text); + if (value >= 0) +@@ -3219,12 +3192,10 @@ + const int md_reloc_size = 8; /* Size of relocation record */ + + void +-md_create_short_jump (ptr, from_addr, to_addr, frag, to_symbol) +- char *ptr; +- addressT from_addr; +- addressT to_addr ATTRIBUTE_UNUSED; +- fragS *frag ATTRIBUTE_UNUSED; +- symbolS *to_symbol ATTRIBUTE_UNUSED; ++md_create_short_jump (char *ptr, addressT from_addr, ++ addressT to_addrATTRIBUTE_UNUSED, ++ fragS *frag ATTRIBUTE_UNUSED, ++ symbolS *to_symbol ATTRIBUTE_UNUSED) + { + valueT offset; + +@@ -3238,12 +3209,8 @@ + } + + void +-md_create_long_jump (ptr, from_addr, to_addr, frag, to_symbol) +- char *ptr; +- addressT from_addr ATTRIBUTE_UNUSED; +- addressT to_addr; +- fragS *frag; +- symbolS *to_symbol; ++md_create_long_jump (char *ptr, addressT from_addr ATTRIBUTE_UNUSED, ++ addressT to_addr, fragS *frag, symbolS *to_symbol) + { + valueT offset; + +@@ -3271,9 +3238,7 @@ + size_t md_longopts_size = sizeof (md_longopts); + + int +-md_parse_option (c, arg) +- int c; +- char *arg; ++md_parse_option (int c, char *arg) + { + switch (c) + { +@@ -3348,8 +3313,7 @@ + } + + void +-md_show_usage (stream) +- FILE *stream; ++md_show_usage (FILE *stream) + { + fprintf (stream, _("\ + VAX options:\n\ +@@ -3374,17 +3338,14 @@ + /* We have no need to default values of symbols. */ + + symbolS * +-md_undefined_symbol (name) +- char *name ATTRIBUTE_UNUSED; ++md_undefined_symbol (char *name ATTRIBUTE_UNUSED) + { + return 0; + } + + /* Round up a section size to the appropriate boundary. */ + valueT +-md_section_align (segment, size) +- segT segment ATTRIBUTE_UNUSED; +- valueT size; ++md_section_align (segT segment ATTRIBUTE_UNUSED, valueT size) + { + return size; /* Byte alignment is fine */ + } +@@ -3393,8 +3354,7 @@ + On the vax, they're relative to the address of the offset, plus + its size. */ + long +-md_pcrel_from (fixP) +- fixS *fixP; ++md_pcrel_from (fixS *fixP) + { + return fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address; + } +@@ -3402,8 +3362,7 @@ + #ifdef OBJ_AOUT + #ifndef BFD_ASSEMBLER + void +-tc_headers_hook(headers) +- object_headers *headers; ++tc_headers_hook (object_headers *headers) + { + #ifdef TE_NetBSD + N_SET_INFO(headers->header, OMAGIC, M_VAX4K_NETBSD, 0); +@@ -3415,9 +3374,7 @@ + + #ifdef BFD_ASSEMBLER + arelent * +-tc_gen_reloc (section, fixp) +- asection *section ATTRIBUTE_UNUSED; +- fixS *fixp; ++tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) + { + arelent *reloc; + bfd_reloc_code_real_type code; +--- binutils-HEAD/opcodes/vax-dis.c~ 2004-06-30 21:39:17.000000000 +0200 ++++ binutils-HEAD/opcodes/vax-dis.c 2004-06-30 21:42:17.000000000 +0200 +@@ -21,11 +21,11 @@ + #include "dis-asm.h" + + /* Local function prototypes */ +-static int fetch_data PARAMS ((struct disassemble_info *, bfd_byte *)); ++static int fetch_data (struct disassemble_info *, bfd_byte *); + static int print_insn_arg +- PARAMS ((const char *, unsigned char *, bfd_vma, disassemble_info *)); ++ (const char *, unsigned char *, bfd_vma, disassemble_info *); + static int print_insn_mode +- PARAMS ((const char *, int, unsigned char *, bfd_vma, disassemble_info *)); ++ (const char *, int, unsigned char *, bfd_vma, disassemble_info *); + + + static char *reg_names[] = +@@ -80,9 +80,7 @@ + ? 1 : fetch_data ((info), (addr))) + + static int +-fetch_data (info, addr) +- struct disassemble_info *info; +- bfd_byte *addr; ++fetch_data (struct disassemble_info *info, bfd_byte *addr) + { + int status; + struct private *priv = (struct private *) info->private_data; +@@ -107,9 +105,7 @@ + on INFO->STREAM. Returns length of the instruction, in bytes. */ + + int +-print_insn_vax (memaddr, info) +- bfd_vma memaddr; +- disassemble_info *info; ++print_insn_vax (bfd_vma memaddr, disassemble_info *info) + { + const struct vot *votp; + const char *argp; +@@ -187,11 +183,8 @@ + found. */ + + static int +-print_insn_arg (d, p0, addr, info) +- const char *d; +- unsigned char *p0; +- bfd_vma addr; /* PC for this arg to be relative to */ +- disassemble_info *info; ++print_insn_arg (const char *d, unsigned char *p0, bfd_vma addr, ++ disassemble_info *info) + { + int arg_len; + +@@ -227,12 +220,8 @@ + } + + static int +-print_insn_mode (d, size, p0, addr, info) +- const char *d; +- int size; +- unsigned char *p0; +- bfd_vma addr; /* PC for this arg to be relative to */ +- disassemble_info *info; ++print_insn_mode (const char *d, int size, unsigned char *p0, bfd_vma addr, ++ disassemble_info *info) + { + unsigned char *p = p0; + unsigned char mode, reg; +--- binutils-HEAD/gas/config/tc-vax.c~ 2004-07-05 16:44:01.000000000 +0200 ++++ binutils-HEAD/gas/config/tc-vax.c 2004-07-05 16:45:33.000000000 +0200 +@@ -294,7 +294,7 @@ + } + + void +-md_number_to_chars (char con[], valueT value, intnbytes) ++md_number_to_chars (char con[], valueT value, int nbytes) + { + number_to_chars_littleendian (con, value, nbytes); + } +@@ -2084,7 +2084,7 @@ + #define SP (14) + #define PC (15) + +-/* ++ + int /* return -1 or 0:15 */ + vax_reg_parse (char c1, char c2, char c3, char c4) /* 3 chars of register name */ + { +@@ -3193,7 +3193,7 @@ + + void + md_create_short_jump (char *ptr, addressT from_addr, +- addressT to_addrATTRIBUTE_UNUSED, ++ addressT to_addr ATTRIBUTE_UNUSED, + fragS *frag ATTRIBUTE_UNUSED, + symbolS *to_symbol ATTRIBUTE_UNUSED) + { |
From: Jan-Benedict G. <jb...@us...> - 2004-06-30 20:35:34
|
Update of /cvsroot/linux-vax/toolchain/experimental_toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16544 Modified Files: vax-linux-binutils.patch Log Message: - Mostly PARAM() changes. Index: vax-linux-binutils.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/experimental_toolchain/vax-linux-binutils.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- vax-linux-binutils.patch 30 Jun 2004 16:39:50 -0000 1.1 +++ vax-linux-binutils.patch 30 Jun 2004 20:35:24 -0000 1.2 @@ -286,3 +286,406 @@ { bfd *dynobj; asection *sgot; +--- binutils-HEAD/gas/config/atof-vax.c~ 2004-06-30 20:37:16.000000000 +0200 ++++ binutils-HEAD/gas/config/atof-vax.c 2004-06-30 21:08:00.000000000 +0200 +@@ -21,11 +21,11 @@ + + #include "as.h" + +-static int atof_vax_sizeof PARAMS ((int)); +-static int next_bits PARAMS ((int)); +-static void make_invalid_floating_point_number PARAMS ((LITTLENUM_TYPE *)); +-static int what_kind_of_float PARAMS ((int, int *, long *)); +-static char *atof_vax PARAMS ((char *, int, LITTLENUM_TYPE *)); ++static int atof_vax_sizeof (int); ++static int next_bits (int); ++static void make_invalid_floating_point_number (LITTLENUM_TYPE *); ++static int what_kind_of_float (int, int *, long *); ++static char *atof_vax (char *, int, LITTLENUM_TYPE *); + + /* Precision in LittleNums. */ + #define MAX_PRECISION (8) +@@ -37,13 +37,11 @@ + /* Length in LittleNums of guard bits. */ + #define GUARD (2) + +-int flonum_gen2vax PARAMS ((int format_letter, FLONUM_TYPE * f, +- LITTLENUM_TYPE * words)); ++int flonum_gen2vax (int format_letter, FLONUM_TYPE * f, LITTLENUM_TYPE * words); + + /* Number of chars in flonum type 'letter'. */ + static int +-atof_vax_sizeof (letter) +- int letter; ++atof_vax_sizeof (int letter) + { + int return_value; + +@@ -122,8 +120,7 @@ + static LITTLENUM_TYPE *littlenum_end; + + static int +-next_bits (number_of_bits) +- int number_of_bits; ++next_bits (int number_of_bits) + { + int return_value; + +@@ -148,17 +145,16 @@ + } + + static void +-make_invalid_floating_point_number (words) +- LITTLENUM_TYPE *words; ++make_invalid_floating_point_number (LITTLENUM_TYPE *words) + { + *words = 0x8000; /* Floating Reserved Operand Code */ + } + ++/* letter: What kind of float (please supply it in lowercase) ++ precisionP: Number of 16-bit words in the float. ++ exponent_bitsP: Number of exponent bits. */ + static int /* 0 means letter is OK. */ +-what_kind_of_float (letter, precisionP, exponent_bitsP) +- int letter; /* In: lowercase please. What kind of float? */ +- int *precisionP; /* Number of 16-bit words in the float. */ +- long *exponent_bitsP; /* Number of exponent bits. */ ++what_kind_of_float (int letter, int *precisionP, long *exponent_bitsP) + { + int retval; /* 0: OK. */ + +@@ -201,11 +197,11 @@ + * * + \***********************************************************************/ + ++/* str: text to convert to binary ++ what_kind: 'd', 'f', 'g', 'h' ++ words: destination for the binary value */ + static char * /* Return pointer past text consumed. */ +-atof_vax (str, what_kind, words) +- char *str; /* Text to convert to binary. */ +- int what_kind; /* 'd', 'f', 'g', 'h' */ +- LITTLENUM_TYPE *words; /* Build the binary here. */ ++atof_vax (char *str, int what_kind, LITTLENUM_TYPE *words) + { + FLONUM_TYPE f; + LITTLENUM_TYPE bits[MAX_PRECISION + MAX_PRECISION + GUARD]; +@@ -256,14 +252,11 @@ + + /* + * In: a flonum, a vax floating point format. +- * Out: a vax floating-point bit pattern. ++ * Out: a vax floating-point bit pattern in words. + */ + + int /* 0: OK. */ +-flonum_gen2vax (format_letter, f, words) +- int format_letter; /* One of 'd' 'f' 'g' 'h'. */ +- FLONUM_TYPE *f; +- LITTLENUM_TYPE *words; /* Deliver answer here. */ ++flonum_gen2vax (int format_letter, FLONUM_TYPE *f, LITTLENUM_TYPE *words) + { + LITTLENUM_TYPE *lp; + int precision; +@@ -448,10 +441,7 @@ + #define MAXIMUM_NUMBER_OF_LITTLENUMS (8) /* For .hfloats. */ + + char * +-md_atof (what_statement_type, literalP, sizeP) +- int what_statement_type; +- char *literalP; +- int *sizeP; ++md_atof (int what_statement_type, char *literalP, int *sizeP) + { + LITTLENUM_TYPE words[MAXIMUM_NUMBER_OF_LITTLENUMS]; + register char kind_of_float; +--- binutils-HEAD/gas/config/obj-evax.c~ 2004-06-30 21:09:17.000000000 +0200 ++++ binutils-HEAD/gas/config/obj-evax.c 2004-06-30 21:09:41.000000000 +0200 +@@ -24,7 +24,7 @@ + + #include "as.h" + +-static void s_evax_weak PARAMS ((int)); ++static void s_evax_weak (int); + + const pseudo_typeS obj_pseudo_table[] = + { +@@ -37,8 +37,7 @@ + /* Handle the weak specific pseudo-op. */ + + static void +-s_evax_weak (ignore) +- int ignore; ++s_evax_weak (int ignore) + { + char *name; + int c; +241c241 +< void float_cons PARAMS ((int)); +--- +> void float_cons (int); +265,272c265,271 +< int flonum_gen2vax PARAMS ((char format_letter, FLONUM_TYPE * f, +< LITTLENUM_TYPE * words)); +< static const char *vip_begin PARAMS ((int, const char *, const char *, +< const char *)); +< static void vip_op_1 PARAMS ((int, const char *)); +< static void vip_op_defaults PARAMS ((const char *, const char *, const char *)); +< static void vip_op PARAMS ((char *, struct vop *)); +< static void vip PARAMS ((struct vit *, char *)); +--- +> int flonum_gen2vax (char format_letter, FLONUM_TYPE * f, +> LITTLENUM_TYPE * words); +> static const char *vip_begin (int, const char *, const char *, const char *); +> static void vip_op_1 (int, const char *); +> static void vip_op_defaults (const char *, const char *, const char *); +> static void vip_op (char *, struct vop *); +> static void vip (struct vit *, char *); +274c273 +< static int vax_reg_parse PARAMS ((char, char, char, char)); +--- +> static int vax_reg_parse (char, char, char, char); +298,301c297 +< md_number_to_chars (con, value, nbytes) +< char con[]; +< valueT value; +< int nbytes; +--- +> md_number_to_chars (char con[], valueT value, intnbytes) +310,313c306 +< md_apply_fix3 (fixP, valueP, seg) +< fixS *fixP; +< valueT *valueP; +< segT seg ATTRIBUTE_UNUSED; +--- +> md_apply_fix3 (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED) +328a322,323 +> /* con: Low order bytes first! +> nbytes: number of bytes in input */ +330,332c325 +< md_chars_to_number (con, nbytes) +< unsigned char con[]; /* Low order byte 1st. */ +< int nbytes; /* Number of bytes in the input. */ +--- +> md_chars_to_number (unsigned char con[], int nbytes) +346,347c339 +< md_assemble (instruction_string) +< char *instruction_string; /* A string: assemble 1 instruction. */ +--- +> md_assemble (char *instruction_string) +1226,1228c1218 +< md_estimate_size_before_relax (fragP, segment) +< fragS *fragP; +< segT segment; +--- +> md_estimate_size_before_relax (fragS *fragP, segT segment) +1384,1387c1374,1375 +< md_convert_frag (headers, seg, fragP) +< bfd *headers ATTRIBUTE_UNUSED; +< segT seg ATTRIBUTE_UNUSED; +< fragS *fragP; +--- +> md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT seg ATTRIBUTE_UNUSED, +> fragS *fragP) +1390,1393c1378,1379 +< md_convert_frag (headers, seg, fragP) +< object_headers *headers ATTRIBUTE_UNUSED; +< segT seg ATTRIBUTE_UNUSED; +< fragS *fragP; +--- +> md_convert_frag (object_headers *headers ATTRIBUTE_UNUSED, +> segT seg ATTRIBUTE_UNUSED, fragS *fragP) +1543,1545c1529 +< md_ri_to_chars (the_bytes, ri) +< char *the_bytes; +< struct reloc_info_generic ri; +--- +> md_ri_to_chars (char *the_bytes, struct reloc_info_generic ri) +1562,1565c1546,1547 +< tc_aout_fix_to_chars (where, fixP, segment_address_in_file) +< char *where; +< fixS *fixP; +< relax_addressT segment_address_in_file; +--- +> tc_aout_fix_to_chars (char *where, fixS *fixP, +> relax_addressT segment_address_in_file) +1739,1740c1721,1722 +< You have just broken the encoding below, which assumes the sign bit +< means 'I am an imaginary instruction'. +--- +> # error "You have just broken the encoding below, which assumes the sign bit" +> # error "means 'I am an imaginary instruction'." +1744,1745c1726,1727 +< You have just broken the encoding below, which assumes the 0x40 M bit means +< 'I am not to be "optimised" the way normal branches are'. +--- +> # error "You have just broken the encoding below, which assumes the 0x40 M bit" +> # error "means 'I am not to be "optimised" the way normal branches are'." +1808,1809c1790,1792 +< * If you want, I will include the 'synthetic' jXXX instructions in the +< * instruction table. +--- +> * If you want (synthetic_too == 1), I will include the 'synthetic' +> * jXXX instructions in the instruction table +> * +1814,1816c1797,1798 +< vip_begin (synthetic_too, immediate, indirect, displen) +< int synthetic_too; /* 1 means include jXXX op-codes. */ +< const char *immediate, *indirect, *displen; +--- +> vip_begin (int synthetic_too, const char *immediate, const char *indirect, +> const char *displen) +1862,1864c1844 +< vip (vitP, instring) +< struct vit *vitP; /* We build an exploded instruction here. */ +< char *instring; /* Text of a vax instruction: we modify. */ +--- +> vip (struct vit *vitP, char *instring) +2106a2087 +> /* +2108,2109c2089 +< vax_reg_parse (c1, c2, c3, c4) /* 3 chars of register name */ +< char c1, c2, c3, c4; /* c3 == 0 if 2-character reg name */ +--- +> vax_reg_parse (char c1, char c2, char c3, char c4) /* 3 chars of register name */ +2329,2331c2309 +< vip_op_1 (bit, syms) +< int bit; +< const char *syms; +--- +> vip_op_1 (int bit, const char *syms) +2341,2344c2319,2320 +< vip_op_defaults (immediate, indirect, displen) +< const char *immediate; +< const char *indirect; +< const char *displen; +--- +> vip_op_defaults (const char *immediate, const char *indirect, +> const char *displen) +2409a2386,2391 +> * +> * optext: input string, e.g.: "@B^foo@bar(AP)[FP]:" +> * vopP: Input fields: vop_access, vop_width. +> * Output fields: _ndx, _reg, _mode, _short, _warn, +> * _error _expr_begin, _expr_end, _nbytes, +> * +2413,2420c2395 +< vip_op (optext, vopP) +< /* user's input string e.g.: "@B^foo@bar(AP)[FP]:" */ +< char *optext; +< /* Input fields: vop_access, vop_width. +< Output fields: _ndx, _reg, _mode, _short, _warn, +< _error _expr_begin, _expr_end, _nbytes. +< vop_nbytes : number of bytes in a datum. */ +< struct vop *vopP; +--- +> vip_op (char *optext, struct vop *vopP) +3201,3203c3176 +< mumble (text, value) +< char *text; +< int value; +--- +> mumble (char *text, int value) +3222,3227c3195,3198 +< md_create_short_jump (ptr, from_addr, to_addr, frag, to_symbol) +< char *ptr; +< addressT from_addr; +< addressT to_addr ATTRIBUTE_UNUSED; +< fragS *frag ATTRIBUTE_UNUSED; +< symbolS *to_symbol ATTRIBUTE_UNUSED; +--- +> md_create_short_jump (char *ptr, addressT from_addr, +> addressT to_addrATTRIBUTE_UNUSED, +> fragS *frag ATTRIBUTE_UNUSED, +> symbolS *to_symbol ATTRIBUTE_UNUSED) +3241,3246c3212,3213 +< md_create_long_jump (ptr, from_addr, to_addr, frag, to_symbol) +< char *ptr; +< addressT from_addr ATTRIBUTE_UNUSED; +< addressT to_addr; +< fragS *frag; +< symbolS *to_symbol; +--- +> md_create_long_jump (char *ptr, addressT from_addr ATTRIBUTE_UNUSED, +> addressT to_addr, fragS *frag, symbolS *to_symbol) +3274,3276c3241 +< md_parse_option (c, arg) +< int c; +< char *arg; +--- +> md_parse_option (int c, char *arg) +3351,3352c3316 +< md_show_usage (stream) +< FILE *stream; +--- +> md_show_usage (FILE *stream) +3377,3378c3341 +< md_undefined_symbol (name) +< char *name ATTRIBUTE_UNUSED; +--- +> md_undefined_symbol (char *name ATTRIBUTE_UNUSED) +3385,3387c3348 +< md_section_align (segment, size) +< segT segment ATTRIBUTE_UNUSED; +< valueT size; +--- +> md_section_align (segT segment ATTRIBUTE_UNUSED, valueT size) +3396,3397c3357 +< md_pcrel_from (fixP) +< fixS *fixP; +--- +> md_pcrel_from (fixS *fixP) +3405,3406c3365 +< tc_headers_hook(headers) +< object_headers *headers; +--- +> tc_headers_hook (object_headers *headers) +3418,3420c3377 +< tc_gen_reloc (section, fixp) +< asection *section ATTRIBUTE_UNUSED; +< fixS *fixp; +--- +> tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) +24c24 +< static int fetch_data PARAMS ((struct disassemble_info *, bfd_byte *)); +--- +> static int fetch_data (struct disassemble_info *, bfd_byte *); +26c26 +< PARAMS ((const char *, unsigned char *, bfd_vma, disassemble_info *)); +--- +> (const char *, unsigned char *, bfd_vma, disassemble_info *); +28c28 +< PARAMS ((const char *, int, unsigned char *, bfd_vma, disassemble_info *)); +--- +> (const char *, int, unsigned char *, bfd_vma, disassemble_info *); +83,85c83 +< fetch_data (info, addr) +< struct disassemble_info *info; +< bfd_byte *addr; +--- +> fetch_data (struct disassemble_info *info, bfd_byte *addr) +110,112c108 +< print_insn_vax (memaddr, info) +< bfd_vma memaddr; +< disassemble_info *info; +--- +> print_insn_vax (bfd_vma memaddr, disassemble_info *info) +190,194c186,187 +< print_insn_arg (d, p0, addr, info) +< const char *d; +< unsigned char *p0; +< bfd_vma addr; /* PC for this arg to be relative to */ +< disassemble_info *info; +--- +> print_insn_arg (const char *d, unsigned char *p0, bfd_vma addr, +> disassemble_info *info) +230,235c223,224 +< print_insn_mode (d, size, p0, addr, info) +< const char *d; +< int size; +< unsigned char *p0; +< bfd_vma addr; /* PC for this arg to be relative to */ +< disassemble_info *info; +--- +> print_insn_mode (const char *d, int size, unsigned char *p0, bfd_vma addr, +> disassemble_info *info) |
From: Jan-Benedict G. <jb...@us...> - 2004-06-30 16:45:34
|
Update of /cvsroot/linux-vax/toolchain/experimental_toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv487 Modified Files: experimental_toolchain.sh Log Message: - Use a for loop for patching those three directories. Index: experimental_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/experimental_toolchain/experimental_toolchain.sh,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- experimental_toolchain.sh 30 Jun 2004 16:39:50 -0000 1.3 +++ experimental_toolchain.sh 30 Jun 2004 16:45:24 -0000 1.4 @@ -35,6 +35,9 @@ # $Id$ # # $Log$ +# Revision 1.4 2004/06/30 16:45:24 jbglaw +# - Use a for loop for patching those three directories. +# # Revision 1.3 2004/06/30 16:39:50 jbglaw # - Also patch binutils. # - Binutils patch for now only contains K&R -> C90 style prototype @@ -252,14 +255,11 @@ wget -O vax-linux-gcc.patch 'http://cvs.sourceforge.net/viewcvs.py/*checkout*/linux-vax/toolchain/experimental_toolchain/vax-linux-gcc.patch' wget -O vax-linux-libc.patch 'http://cvs.sourceforge.net/viewcvs.py/*checkout*/linux-vax/toolchain/experimental_toolchain/vax-linux-libc.patch' fi - cd "${LOCAL_SRC_DIR}/binutils-HEAD" - patch -p1 < "${PREP_DIR}/vax-linux-binutils.patch" - - cd "${LOCAL_SRC_DIR}/gcc-HEAD" - patch -p1 < "${PREP_DIR}/vax-linux-gcc.patch" - cd "${LOCAL_SRC_DIR}/glibc-HEAD" - patch -p1 < "${PREP_DIR}/vax-linux-libc.patch" + for directory in binutils gcc glibc; do + cd "${LOCAL_SRC_DIR}/${directory}-HEAD" + patch -p1 < "${PREP_DIR}/vax-linux-${directory}.patch" + done fi # if [ "${DO_PREPARE}" -eq 1 ]; then |
From: Jan-Benedict G. <jb...@us...> - 2004-06-30 16:40:02
|
Update of /cvsroot/linux-vax/toolchain/experimental_toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31149 Modified Files: experimental_toolchain.sh Added Files: vax-linux-binutils.patch Log Message: - Also patch binutils. - Binutils patch for now only contains K&R -> C90 style prototype conversion. I'm starting to read more toolchain sources. To get more involved, doing cosmetic hacking does help a lot to keep the eyes on the code. No, I'm not yet a toolchain expert, but maybe in a year or two... Oh, right, I'm waiting for a positive SF.net email, or I'll offer lug-owl.de for hosting a toolchain project, or the *BSD guys could stand up. By the way, ___Dave___, would you attempt to push the binutils patch to FSF? You've already pushed the last Linux bits IIRC and those changes I made aren't invasive in any way, it still compiles and shows at least some interest in the VAX target... Index: experimental_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/experimental_toolchain/experimental_toolchain.sh,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- experimental_toolchain.sh 27 May 2004 15:52:55 -0000 1.2 +++ experimental_toolchain.sh 30 Jun 2004 16:39:50 -0000 1.3 @@ -35,9 +35,26 @@ # $Id$ # # $Log$ +# Revision 1.3 2004/06/30 16:39:50 jbglaw +# - Also patch binutils. +# - Binutils patch for now only contains K&R -> C90 style prototype +# conversion. +# +# I'm starting to read more toolchain sources. To get more involved, doing +# cosmetic hacking does help a lot to keep the eyes on the code. No, I'm +# not yet a toolchain expert, but maybe in a year or two... Oh, right, I'm +# waiting for a positive SF.net email, or I'll offer lug-owl.de for +# hosting a toolchain project, or the *BSD guys could stand up. +# +# By the way, ___Dave___, would you attempt to push the binutils patch to +# FSF? You've already pushed the last Linux bits IIRC and those changes I +# made aren't invasive in any way, it still compiles and shows at least +# some interest in the VAX target... +# # Revision 1.2 2004/05/27 15:52:55 jbglaw # - Add (and document) new option "--jbglaw" to fetch the two needed -# patch sets from http://lug-owl.de/~jbglaw/vax-linux-{gcc,libc}.patch +# patch sets from +# http://lug-owl.de/~jbglaw/vax-linux-{binutils,gcc,libc}.patch # instead of using SF.net's ViewCVS to fetch the current version. # Both ways should provide you with exactly the same patch set, but # SF.net's front-end web servers tend to provide material some hours @@ -74,8 +91,8 @@ # # -# MAKE_FLAGS="-j2" -MAKE_FLAGS="" +MAKE_FLAGS="-j2" +# MAKE_FLAGS="" GLOBAL_BASE_DIR= INSTALL_DIR= DO_PREPARE=0 @@ -223,17 +240,21 @@ # - # Now patch gcc and libc with current patches. binutils already work - # out of the box:) + # Now patch binutils, gcc and libc with current patches. # cd "${PREP_DIR}" if [ "${USE_JBGLAW}" -eq 1 ]; then + wget http://lug-owl.de/~jbglaw/vax-linux-binutils wget http://lug-owl.de/~jbglaw/vax-linux-gcc.patch wget http://lug-owl.de/~jbglaw/vax-linux-libc.patch else - wget -O vax-linux-gcc.patch 'http://cvs.sourceforge.net/viewcvs.py/linux-vax/toolchain/experimental_toolchain/vax-linux-gcc.patch?rev=HEAD&view=auto' - wget -O vax-linux-libc.patch 'http://cvs.sourceforge.net/viewcvs.py/linux-vax/toolchain/experimental_toolchain/vax-linux-libc.patch?rev=HEAD&view=auto' + wget -O vax-linux-binutils.patch 'http://cvs.sourceforge.net/viewcvs.py/*checkout*/linux-vax/toolchain/experimental_toolchain/vax-linux-binutils.patch' + wget -O vax-linux-gcc.patch 'http://cvs.sourceforge.net/viewcvs.py/*checkout*/linux-vax/toolchain/experimental_toolchain/vax-linux-gcc.patch' + wget -O vax-linux-libc.patch 'http://cvs.sourceforge.net/viewcvs.py/*checkout*/linux-vax/toolchain/experimental_toolchain/vax-linux-libc.patch' fi + cd "${LOCAL_SRC_DIR}/binutils-HEAD" + patch -p1 < "${PREP_DIR}/vax-linux-binutils.patch" + cd "${LOCAL_SRC_DIR}/gcc-HEAD" patch -p1 < "${PREP_DIR}/vax-linux-gcc.patch" @@ -265,4 +286,6 @@ USE_SYSROOT=yes \ PARALLELMFLAGS="${MAKE_FLAGS}" ./crosstool.sh fi # if [ "${DO_BUILD}" -eq 1 ]; then + +GLIBC_EXTRA_CC_ARGS="-save-temps" --- NEW FILE: vax-linux-binutils.patch --- --- binutils-HEAD/bfd/elf32-vax.c~ 2004-06-30 18:07:29.000000000 +0200 +++ binutils-HEAD/bfd/elf32-vax.c 2004-06-30 18:26:37.000000000 +0200 @@ -26,42 +26,34 @@ #include "elf-bfd.h" #include "elf/vax.h" -static reloc_howto_type *reloc_type_lookup - PARAMS ((bfd *, bfd_reloc_code_real_type)); -static void rtype_to_howto - PARAMS ((bfd *, arelent *, Elf_Internal_Rela *)); +static reloc_howto_type *reloc_type_lookup (bfd *, bfd_reloc_code_real_type); +static void rtype_to_howto (bfd *, arelent *, Elf_Internal_Rela *); static struct bfd_hash_entry *elf_vax_link_hash_newfunc - PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *)); -static struct bfd_link_hash_table *elf_vax_link_hash_table_create - PARAMS ((bfd *)); + (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); +static struct bfd_link_hash_table *elf_vax_link_hash_table_create (bfd *); static bfd_boolean elf_vax_check_relocs - PARAMS ((bfd *, struct bfd_link_info *, asection *, - const Elf_Internal_Rela *)); + (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *); static asection *elf_vax_gc_mark_hook - PARAMS ((asection *, struct bfd_link_info *, Elf_Internal_Rela *, - struct elf_link_hash_entry *, Elf_Internal_Sym *)); + (asection *, struct bfd_link_info *, Elf_Internal_Rela *, + struct elf_link_hash_entry *, Elf_Internal_Sym *); static bfd_boolean elf_vax_gc_sweep_hook - PARAMS ((bfd *, struct bfd_link_info *, asection *, - const Elf_Internal_Rela *)); + (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *); static bfd_boolean elf_vax_adjust_dynamic_symbol - PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *)); + (struct bfd_link_info *, struct elf_link_hash_entry *); static bfd_boolean elf_vax_size_dynamic_sections - PARAMS ((bfd *, struct bfd_link_info *)); + (bfd *, struct bfd_link_info *); static bfd_boolean elf_vax_relocate_section - PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, - Elf_Internal_Rela *, Elf_Internal_Sym *, asection **)); + (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, + Elf_Internal_Rela *, Elf_Internal_Sym *, asection **); static bfd_boolean elf_vax_finish_dynamic_symbol - PARAMS ((bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, - Elf_Internal_Sym *)); + (bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, + Elf_Internal_Sym *); static bfd_boolean elf_vax_finish_dynamic_sections - PARAMS ((bfd *, struct bfd_link_info *)); + (bfd *, struct bfd_link_info *); -static bfd_boolean elf32_vax_set_private_flags - PARAMS ((bfd *, flagword)); -static bfd_boolean elf32_vax_merge_private_bfd_data - PARAMS ((bfd *, bfd *)); -static bfd_boolean elf32_vax_print_private_bfd_data - PARAMS ((bfd *, PTR)); +static bfd_boolean elf32_vax_set_private_flags (bfd *, flagword); +static bfd_boolean elf32_vax_merge_private_bfd_data (bfd *, bfd *); +static bfd_boolean elf32_vax_print_private_bfd_data (bfd *, PTR); static reloc_howto_type howto_table[] = { HOWTO (R_VAX_NONE, /* type */ @@ -415,12 +407,12 @@ /* Declare this now that the above structures are defined. */ static bfd_boolean elf_vax_discard_copies - PARAMS ((struct elf_vax_link_hash_entry *, PTR)); + (struct elf_vax_link_hash_entry *, PTR); /* Declare this now that the above structures are defined. */ static bfd_boolean elf_vax_instantiate_got_entries - PARAMS ((struct elf_link_hash_entry *, PTR)); + (struct elf_link_hash_entry *, PTR); /* Traverse an VAX ELF linker hash table. */ @@ -438,10 +430,9 @@ /* Create an entry in an VAX ELF linker hash table. */ static struct bfd_hash_entry * -elf_vax_link_hash_newfunc (entry, table, string) - struct bfd_hash_entry *entry; - struct bfd_hash_table *table; - const char *string; +elf_vax_link_hash_newfunc (struct bfd_hash_entry *entry, + struct bfd_hash_table *table, + const char *string) { struct elf_vax_link_hash_entry *ret = (struct elf_vax_link_hash_entry *) entry; @@ -470,8 +461,7 @@ /* Create an VAX ELF linker hash table. */ static struct bfd_link_hash_table * -elf_vax_link_hash_table_create (abfd) - bfd *abfd; +elf_vax_link_hash_table_create (bfd *abfd) { struct elf_vax_link_hash_table *ret; bfd_size_type amt = sizeof (struct elf_vax_link_hash_table); @@ -491,10 +481,9 @@ } /* Keep vax-specific flags in the ELF header */ + static bfd_boolean -elf32_vax_set_private_flags (abfd, flags) - bfd *abfd; - flagword flags; +elf32_vax_set_private_flags (bfd *abfd, flagword flags) { elf_elfheader (abfd)->e_flags = flags; elf_flags_init (abfd) = TRUE; @@ -503,10 +492,9 @@ /* Merge backend specific data from an object file to the output object file when linking. */ + static bfd_boolean -elf32_vax_merge_private_bfd_data (ibfd, obfd) - bfd *ibfd; - bfd *obfd; +elf32_vax_merge_private_bfd_data (bfd *ibfd, bfd *obfd) { flagword out_flags; flagword in_flags; @@ -528,10 +516,9 @@ } /* Display the flags field */ + static bfd_boolean -elf32_vax_print_private_bfd_data (abfd, ptr) - bfd *abfd; - PTR ptr; +elf32_vax_print_private_bfd_data (bfd *abfd, PTR ptr) { FILE *file = (FILE *) ptr; @@ -558,16 +545,14 @@ return TRUE; } + /* Look through the relocs for a section during the first phase, and allocate space in the global offset table or procedure linkage table. */ static bfd_boolean -elf_vax_check_relocs (abfd, info, sec, relocs) - bfd *abfd; - struct bfd_link_info *info; - asection *sec; - const Elf_Internal_Rela *relocs; +elf_vax_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, + const Elf_Internal_Rela *relocs) { bfd *dynobj; Elf_Internal_Shdr *symtab_hdr; @@ -844,12 +829,11 @@ relocation. */ static asection * -elf_vax_gc_mark_hook (sec, info, rel, h, sym) - asection *sec; - struct bfd_link_info *info ATTRIBUTE_UNUSED; - Elf_Internal_Rela *rel; - struct elf_link_hash_entry *h; - Elf_Internal_Sym *sym; +elf_vax_gc_mark_hook (asection *sec, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + Elf_Internal_Rela *rel, + struct elf_link_hash_entry *h, + Elf_Internal_Sym *sym) { if (h != NULL) { @@ -883,11 +867,8 @@ /* Update the got entry reference counts for the section being removed. */ static bfd_boolean -elf_vax_gc_sweep_hook (abfd, info, sec, relocs) - bfd *abfd; - struct bfd_link_info *info; - asection *sec; - const Elf_Internal_Rela *relocs; +elf_vax_gc_sweep_hook (bfd *abfd, struct bfd_link_info *info, asection *sec, + const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes; @@ -950,9 +931,8 @@ understand. */ static bfd_boolean -elf_vax_adjust_dynamic_symbol (info, h) - struct bfd_link_info *info; - struct elf_link_hash_entry *h; +elf_vax_adjust_dynamic_symbol (struct bfd_link_info *info, + struct elf_link_hash_entry *h) { bfd *dynobj; asection *s; @@ -1133,9 +1113,7 @@ /* Set the sizes of the dynamic sections. */ static bfd_boolean -elf_vax_size_dynamic_sections (output_bfd, info) - bfd *output_bfd; - struct bfd_link_info *info; +elf_vax_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info) { bfd *dynobj; asection *s; @@ -1339,9 +1317,8 @@ routine, but we won't fill them in in the relocate_section routine. */ static bfd_boolean -elf_vax_discard_copies (h, ignore) - struct elf_vax_link_hash_entry *h; - PTR ignore ATTRIBUTE_UNUSED; +elf_vax_discard_copies (struct elf_vax_link_hash_entry *h, + PTR ignore ATTRIBUTE_UNUSED) { struct elf_vax_pcrel_relocs_copied *s; @@ -1366,9 +1343,8 @@ will be reserved for the symbol. */ static bfd_boolean -elf_vax_instantiate_got_entries (h, infoptr) - struct elf_link_hash_entry *h; - PTR infoptr; +elf_vax_instantiate_got_entries (struct elf_link_hash_entry *h, + PTR infoptr) { struct bfd_link_info *info = (struct bfd_link_info *) infoptr; bfd *dynobj; @@ -1414,16 +1390,11 @@ /* Relocate an VAX ELF section. */ static bfd_boolean -elf_vax_relocate_section (output_bfd, info, input_bfd, input_section, - contents, relocs, local_syms, local_sections) - bfd *output_bfd; - struct bfd_link_info *info; - bfd *input_bfd; - asection *input_section; - bfd_byte *contents; - Elf_Internal_Rela *relocs; - Elf_Internal_Sym *local_syms; - asection **local_sections; +elf_vax_relocate_section (bfd *output_bfd, struct bfd_link_info *info, + bfd *input_bfd, asection *input_section, + bfd_byte *contents, Elf_Internal_Rela *relocs, + Elf_Internal_Sym *local_syms, + asection **local_sections) { bfd *dynobj; Elf_Internal_Shdr *symtab_hdr; @@ -1851,11 +1822,9 @@ dynamic sections here. */ static bfd_boolean -elf_vax_finish_dynamic_symbol (output_bfd, info, h, sym) - bfd *output_bfd; - struct bfd_link_info *info; - struct elf_link_hash_entry *h; - Elf_Internal_Sym *sym; +elf_vax_finish_dynamic_symbol (bfd *output_bfd, struct bfd_link_info *info, + struct elf_link_hash_entry *h, + Elf_Internal_Sym *sym) { bfd *dynobj; @@ -2006,9 +1975,7 @@ /* Finish up the dynamic sections. */ static bfd_boolean -elf_vax_finish_dynamic_sections (output_bfd, info) - bfd *output_bfd; - struct bfd_link_info *info; +elf_vax_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info) { bfd *dynobj; asection *sgot; |
From: Jan-Benedict G. <jb...@us...> - 2004-06-30 14:06:43
|
Update of /cvsroot/linux-vax/toolchain/experimental_toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32058 Modified Files: vax-linux-libc.patch Log Message: - Correct path of file to be patched... Index: vax-linux-libc.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/experimental_toolchain/vax-linux-libc.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- vax-linux-libc.patch 27 Jun 2004 12:48:33 -0000 1.2 +++ vax-linux-libc.patch 30 Jun 2004 14:06:35 -0000 1.3 @@ -7489,8 +7489,8 @@ @@ -0,0 +1,2 @@ +/* An instruction which should crash any program is a breakpoint. */ +#define ABORT_INSTRUCTION asm ("bugw $0") ---- _new_t/source/glibc-HEAD/sysdeps/unix/sysv/linux/vax/sysdep.h 2004-06-27 11:48:38.000000000 +0200 -+++ _t/source/glibc-HEAD/sysdeps/unix/sysv/linux/vax/sysdep.h 2004-06-26 19:08:58.000000000 +0200 +--- glibc-HEAD/sysdeps/unix/sysv/linux/vax/sysdep.h 2004-06-27 11:48:38.000000000 +0200 ++++ glibc-HEAD/sysdeps/unix/sysv/linux/vax/sysdep.h 2004-06-26 19:08:58.000000000 +0200 @@ -70,30 +70,29 @@ #define LOAD_ARGS_0 |
From: Jan-Benedict G. <jb...@us...> - 2004-06-27 12:48:42
|
Update of /cvsroot/linux-vax/toolchain/experimental_toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19434 Modified Files: vax-linux-gcc.patch vax-linux-libc.patch Log Message: - gcc-patch: Modify RTX cost handling as sugguested via GCC's bugzilla. - glibc-patch: add syscall macros for current glibc. Index: vax-linux-libc.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/experimental_toolchain/vax-linux-libc.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- vax-linux-libc.patch 27 May 2004 14:40:28 -0000 1.1 +++ vax-linux-libc.patch 27 Jun 2004 12:48:33 -0000 1.2 @@ -7489,3 +7489,138 @@ @@ -0,0 +1,2 @@ +/* An instruction which should crash any program is a breakpoint. */ +#define ABORT_INSTRUCTION asm ("bugw $0") +--- _new_t/source/glibc-HEAD/sysdeps/unix/sysv/linux/vax/sysdep.h 2004-06-27 11:48:38.000000000 +0200 ++++ _t/source/glibc-HEAD/sysdeps/unix/sysv/linux/vax/sysdep.h 2004-06-26 19:08:58.000000000 +0200 +@@ -70,30 +70,29 @@ + + #define LOAD_ARGS_0 + +-#define LOAD_ARGS_1 \ +- pushl 0x4(%ap) ; \ +- LOAD_ARGS_0 +- +-#define LOAD_ARGS_2 \ +- pushl 0x8(%ap) ; \ +- LOAD_ARGS_1 +- +-#define LOAD_ARGS_3 \ +- pushl 0xc(%ap) ; \ +- LOAD_ARGS_2 +- +-#define LOAD_ARGS_4 \ +- pushl 0x10(%ap) ; \ +- LOAD_ARGS_3 +- +- +-#define LOAD_ARGS_5 \ +- pushl 0x14(%ap) ; \ +- LOAD_ARGS_4 +- +-#define LOAD_ARGS_6 \ +- pushl 0x18(%ap) ; \ +- LOAD_ARGS_5 ++#define LOAD_ARGS_1 \ ++ pushl 0x4(%ap); \ ++ LOAD_ARGS_0 ++ ++#define LOAD_ARGS_2 \ ++ pushl 0x8(%ap); \ ++ LOAD_ARGS_1 ++ ++#define LOAD_ARGS_3 \ ++ pushl 0xc(%ap); \ ++ LOAD_ARGS_2 ++ ++#define LOAD_ARGS_4 \ ++ pushl 0x10(%ap); \ ++ LOAD_ARGS_3 ++ ++#define LOAD_ARGS_5 \ ++ pushl 0x14(%ap); \ ++ LOAD_ARGS_4 ++ ++#define LOAD_ARGS_6 \ ++ pushl 0x18(%ap); \ ++ LOAD_ARGS_5 + + + #define DO_CALL(args, syscall_name) \ +@@ -129,34 +128,51 @@ + LOAD_ARGS_5(arg1, arg2, arg3, arg4, arg5) + + +-#define DOARGS_0 "pushl $0\n\t" +-#define DOARGS_1 "pushl $1\n\t" +-#define DOARGS_2 "pushl $2\n\t" +-#define DOARGS_3 "pushl $3\n\t" +-#define DOARGS_4 "pushl $4\n\t" +-#define DOARGS_5 "pushl $5\n\t" +-#define DOARGS_6 "pushl $6\n\t" ++#define DOARGS_0 " pushl $0 \n" ++#define DOARGS_1 " pushl $1 \n" ++#define DOARGS_2 " pushl $2 \n" ++#define DOARGS_3 " pushl $3 \n" ++#define DOARGS_4 " pushl $4 \n" ++#define DOARGS_5 " pushl $5 \n" ++#define DOARGS_6 " pushl $6 \n" ++ ++ ++#undef INTERNAL_SYSCALL_DECL ++#define INTERNAL_SYSCALL_DECL(err) long int err ++ ++/* INTERNAL_SYSCALL() is used to basically issue a system call. ++ * If anybody cares about the result, she should use INLINE_SYSCALL(), ++ * which additionally does error/errno checking/setting */ ++#undef INTERNAL_SYSCALL ++#define INTERNAL_SYSCALL(name, err, nr, args...) \ ++({ \ ++ unsigned long resultvar; \ ++ register long _sc_0 __asm__("r0") = __NR_##name; \ ++ LOAD_ARGS_##nr(args); \ ++ asm volatile ( \ ++ DOARGS_##nr \ ++ " movl %%sp,%%ap \n" \ ++ " chmk %0 \n" \ ++ : "=r"(_sc_0) \ ++ : "0"(_sc_0) \ ++ : "memory"); \ ++ resultvar = _sc_0; \ ++ resultvar; \ ++}) + ++ ++/* INLINE_SYSCALL() is used to issue a syscall _and_ to update errno ++ * if that's needed. */ + #undef INLINE_SYSCALL +-#define INLINE_SYSCALL(name, nr, args...) \ +- ( { \ +- unsigned long resultvar; \ +- register long _sc_0 __asm__("r0"); \ +- _sc_0 = __NR_##name; \ +- LOAD_ARGS_##nr(args); \ +- \ +- asm volatile ( DOARGS_##nr \ +- "movl %%sp,%%ap\n\t" \ +- "chmk %0\n\t" \ +- : "=r" (_sc_0) \ +- : "0" (_sc_0) : "memory" ); \ +- resultvar = _sc_0; \ +- if (resultvar>= 0xfffff001) \ +- { \ +- __set_errno(-resultvar); \ +- resultvar=0xffffffff; \ +- } \ +- (int) resultvar; }) +- ++#define INLINE_SYSCALL(name, nr, args...) \ ++({ \ ++ INTERNAL_SYSCALL_DECL (sc_ret); \ ++ sc_ret = INTERNAL_SYSCALL (name, , nr, args); \ ++ if (sc_ret > (unsigned long) (-125)) { \ ++ __set_errno (-sc_ret); \ ++ sc_ret = -1L; \ ++ } \ ++ (int) sc_ret; \ ++}) + + #endif Index: vax-linux-gcc.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/experimental_toolchain/vax-linux-gcc.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- vax-linux-gcc.patch 27 May 2004 15:27:24 -0000 1.2 +++ vax-linux-gcc.patch 27 Jun 2004 12:48:33 -0000 1.3 @@ -282,3 +282,23 @@ case IOR: case XOR: c = 3; +--- gcc-HEAD/gcc/config/vax/vax.c~calculation2 2004-06-26 17:02:20.000000000 +0200 ++++ gcc-HEAD/gcc/config/vax/vax.c 2004-06-26 17:12:57.000000000 +0200 +@@ -648,15 +648,14 @@ + fmt = "e"; /* all constant rotate counts are short */ + break; + case PLUS: ++ case MINUS: ++ c = (mode == DFmode) ? 13 : 8; /* 6/8 on VAX 9000, 16/15 on VAX 2 */ + /* Check for small negative integer operand: subl2 can be used with + a short positive constant instead. */ + if (GET_CODE (XEXP (x, 1)) == CONST_INT) + if ((unsigned)(INTVAL (XEXP (x, 1)) + 63) < 127) + fmt = "e"; + break; +- case MINUS: +- c = (mode == DFmode) ? 13 : 8; /* 6/8 on VAX 9000, 16/15 on VAX 2 */ +- break; + case IOR: + case XOR: + c = 3; |
From: Jan-Benedict G. <jb...@us...> - 2004-05-27 19:46:36
|
Update of /cvsroot/linux-vax/toolchain/experimental_toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7076 Modified Files: README Log Message: - Document how to do toolchain hacking. Index: README =================================================================== RCS file: /cvsroot/linux-vax/toolchain/experimental_toolchain/README,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- README 27 May 2004 15:52:55 -0000 1.2 +++ README 27 May 2004 19:46:27 -0000 1.3 @@ -41,6 +41,29 @@ this task:) +Hacking the Sources +~~~~~~~~~~~~~~~~~~~ +Basically, you need to check out all the sources once (with --download). +If you only want to build it, just compile/install from them (with +--install). However, if you want to help hacking, please follow this +line: + + $ ./experimental_toolchain.sh --jbglaw --download tempdir installdir + $ cd tempdir/source + $ mkdir backup-gcc backup-glibc + $ (cd gcc-HEAD && tar cf - .;) | (cd backup-gcc && tar xf -;) + $ (cd glibc-HEAD && tar cf - .;) | (cd backup-glibc && tar xf -;) + $ cd - + +After doing a backup of gcc/glibc sources (I think you won't need that +for binutils, because they work right out of the box), you can hack both +as you like, build (--install, but no --download) and test it. Later on, +you can diff out your changes and add the patches to the linux-vax +CVS project (toolchain/experimental_toolchain/vax-linux-{gcc,glibc}.patch) +on sf.net, or send them to Jan-Benedict Glaw <jb...@lu...> if you +don't have CVS write access. + + Additional Notes ~~~~~~~~~~~~~~~~ Dan Kegel started to investigate in how to do a Canadian Cross. This |
From: Jan-Benedict G. <jb...@us...> - 2004-05-27 15:55:05
|
Update of /cvsroot/linux-vax/toolchain In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26940 Removed Files: experimental_toolchain.sh experimental_toolchain.README Log Message: - Removing script + README from old directory since they're in their own directory now... --- experimental_toolchain.sh DELETED --- --- experimental_toolchain.README DELETED --- |