X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=libgo%2Fmerge.sh;h=fbc711880320a501284b03b591a037b897a0b175;hp=17dc57340240b0a6ed819faf1d1a31681e9fac38;hb=fbfd788b3485f46af2d12fd867a2f440735a1890;hpb=e440a3286bc89368b8d3a8fd6accd47191790bf2 diff --git a/libgo/merge.sh b/libgo/merge.sh old mode 100644 new mode 100755 index 17dc5734024..fbc71188032 --- a/libgo/merge.sh +++ b/libgo/merge.sh @@ -25,22 +25,27 @@ if ! test -f MERGE; then exit 1 fi -if test $# -ne 1; then - echo 1>&2 "merge.sh: Usage: merge.sh mercurial-repository" +rev=weekly +case $# in +1) ;; +2) rev=$2 ;; +*) + echo 1>&2 "merge.sh: Usage: merge.sh mercurial-repository [revision]" exit 1 -fi + ;; +esac repository=$1 -merge_rev=`sed 1q MERGE` +old_rev=`sed 1q MERGE` rm -rf ${OLDDIR} -hg clone -r ${merge_rev} ${repository} ${OLDDIR} +hg clone -r ${old_rev} ${repository} ${OLDDIR} rm -rf ${NEWDIR} -hg clone ${repository} ${NEWDIR} +hg clone -u ${rev} ${repository} ${NEWDIR} -new_rev=`cd ${NEWDIR} && hg log | sed 1q | sed -e 's/.*://'` +new_rev=`cd ${NEWDIR} && hg log -r ${rev} | sed 1q | sed -e 's/.*://'` merge() { name=$1 @@ -116,10 +121,22 @@ merge() { fi } -(cd ${NEWDIR}/src/pkg && find . -name '*.go' -print) | while read f; do - if test `dirname $f` = "./syscall"; then - continue +merge_c() { + from=$1 + to=$2 + oldfile=${OLDDIR}/src/pkg/runtime/$from + if test -f ${oldfile}; then + sed -e 's/·/_/g' < ${oldfile} > ${oldfile}.tmp + oldfile=${oldfile}.tmp + newfile=${NEWDIR}/src/pkg/runtime/$from + sed -e 's/·/_/g' < ${newfile} > ${newfile}.tmp + newfile=${newfile}.tmp + libgofile=runtime/$to + merge $from ${oldfile} ${newfile} ${libgofile} fi +} + +(cd ${NEWDIR}/src/pkg && find . -name '*.go' -print) | while read f; do oldfile=${OLDDIR}/src/pkg/$f newfile=${NEWDIR}/src/pkg/$f libgofile=go/$f @@ -146,14 +163,14 @@ done done done -runtime="goc2c.c mcache.c mcentral.c mfinal.c mfixalloc.c mgc0.c mheap.c mheapmap32.c mheapmap64.c msize.c malloc.h mheapmap32.h mheapmap64.h malloc.goc mprof.goc" +runtime="chan.c cpuprof.c lock_futex.c lock_sema.c mcache.c mcentral.c mfinal.c mfixalloc.c mgc0.c mheap.c msize.c print.c proc.c runtime.c runtime.h signal_unix.c malloc.h malloc.goc mprof.goc runtime1.goc sema.goc sigqueue.goc string.goc time.goc" for f in $runtime; do - oldfile=${OLDDIR}/src/pkg/runtime/$f - newfile=${NEWDIR}/src/pkg/runtime/$f - libgofile=runtime/$f - merge $f ${oldfile} ${newfile} ${libgofile} + merge_c $f $f done +merge_c thread_linux.c thread-linux.c +merge_c mem_linux.c mem.c + (cd ${OLDDIR}/src/pkg && find . -name '*.go' -print) | while read f; do oldfile=${OLDDIR}/src/pkg/$f newfile=${NEWDIR}/src/pkg/$f