- From e66bc6b48bf881fd0081fbdf6cba50d185a2fe8a Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Mon, 13 Nov 2023 17:11:22 +0100
- Subject: [PATCH 1/5] msnfs41client.bash: Add support for drmemory
- cygwin/devel/msnfs41client.bash: Add support for drmemory
- (https://drmemory.org/) instrumentation.
- Tested with "Dr. Memory version 2.6.0 -- build 0".
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- cygwin/devel/msnfs41client.bash | 101 ++++++++++++++++++++++++++++++--
- 1 file changed, 95 insertions(+), 6 deletions(-)
- diff --git a/cygwin/devel/msnfs41client.bash b/cygwin/devel/msnfs41client.bash
- index 8f9bf14..9677663 100644
- --- a/cygwin/devel/msnfs41client.bash
- +++ b/cygwin/devel/msnfs41client.bash
- @@ -118,6 +118,7 @@ function nfsclient_rundeamon
- 'nfsd_debug.exe'
- '-d' '0'
- '--noldap'
- + #'--numworkerthreads' '512'
- #'--gid' '1616' '--uid' '1616'
- )
- @@ -130,14 +131,51 @@ function nfsclient_rundeamon
- #
- if false ; then
- - gdb -ex=run --args "${nfsd_args[@]}"
- + nfsd_args=(
- + 'gdb'
- + '-ex=run'
- + '--args'
- + "${nfsd_args[@]}"
- + )
- + "${nfsd_args[@]}"
- elif false ; then
- export _NT_ALT_SYMBOL_PATH="$(cygpath -w "$PWD");srv*https://msdl.microsoft.com/download/symbols"
- # use '!gflag +full;g' for heap tests, eats lots of memory
- - cdb -c '!gflag +soe;sxe -c "kp;gn" *;g' "$(cygpath -w "$PWD/${nfsd_args[0]}")" "${nfsd_args[@]:1}"
- + nfsd_args=(
- + 'cdb'
- + '-c' '!gflag +soe;sxe -c "kp;gn" *;g'
- + "$(cygpath -w "$PWD/${nfsd_args[0]}")"
- + "${nfsd_args[@]:1}"
- + )
- + "${nfsd_args[@]}"
- + elif false ; then
- + #
- + # test nfsd_debug.exe with Dr. Memory (version 2.6.0 -- build 0)
- + #
- + export _NT_ALT_SYMBOL_PATH="$(cygpath -w "$PWD")"
- + nfsd_args=(
- + 'drmemory.exe' \
- + '-batch'
- + '-brief'
- + '-no_follow_children'
- + '-lib_blocklist_frames' '1'
- + '-check_uninit_blocklist' 'MSWSOCK,WS2_32'
- + '-malloc_callstacks'
- + '-delay_frees' '16384'
- + '-delay_frees_maxsz' $((64*1024*1024))
- + '-redzone_size' '4096'
- + '-check_uninitialized'
- + '-check_uninit_all'
- + '-strict_bitops'
- + '-gen_suppress_syms'
- + '-preload_symbols'
- + '--'
- + "${nfsd_args[@]}"
- + )
- + "${nfsd_args[@]}"
- else
- "${nfsd_args[@]}"
- - fi
- + fi
- return $?
- }
- @@ -150,19 +188,70 @@ function nfsclient_system_rundeamon
- 'nfsd_debug.exe'
- '-d' '0'
- '--noldap'
- + #'--numworkerthreads' '512'
- #'--gid' '1616' '--uid' '1616'
- )
- + # run everything as su_system
- + nfsd_args=(
- + 'su_system'
- + "${nfsd_args[@]}"
- + )
- +
- + #
- + # cdb cheat sheet:
- + #
- + # gdb: run cdb: g
- + # gdb: bt cdb: kp
- + # gdb: quit cdb: q
- + #
- if false ; then
- - su_system gdb -ex=run --args "${nfsd_args[@]}"
- + nfsd_args=(
- + 'gdb'
- + '-ex=run'
- + '--args'
- + "${nfsd_args[@]}"
- + )
- + "${nfsd_args[@]}"
- elif false ; then
- export _NT_ALT_SYMBOL_PATH="$(cygpath -w "$PWD");srv*https://msdl.microsoft.com/download/symbols"
- # use '!gflag +full;g' for heap tests, eats lots of memory
- - su_system cdb -c '!gflag +soe;sxe -c "kp;gn" *;g' "$(cygpath -w "$PWD/${nfsd_args[0]}")" "${nfsd_args[@]:1}"
- + nfsd_args=(
- + 'cdb'
- + '-c' '!gflag +soe;sxe -c "kp;gn" *;g'
- + "$(cygpath -w "$PWD/${nfsd_args[0]}")"
- + "${nfsd_args[@]:1}"
- + )
- + "${nfsd_args[@]}"
- + elif false ; then
- + #
- + # test nfsd_debug.exe with Dr. Memory (version 2.6.0 -- build 0)
- + #
- + export _NT_ALT_SYMBOL_PATH="$(cygpath -w "$PWD")"
- + nfsd_args=(
- + 'drmemory.exe' \
- + '-batch'
- + '-brief'
- + '-no_follow_children'
- + '-lib_blocklist_frames' '1'
- + '-check_uninit_blocklist' 'MSWSOCK,WS2_32'
- + '-malloc_callstacks'
- + '-delay_frees' '16384'
- + '-delay_frees_maxsz' $((64*1024*1024))
- + '-redzone_size' '4096'
- + '-check_uninitialized'
- + '-check_uninit_all'
- + '-strict_bitops'
- + '-gen_suppress_syms'
- + '-preload_symbols'
- + '--'
- + "${nfsd_args[@]}"
- + )
- + "${nfsd_args[@]}"
- else
- "${nfsd_args[@]}"
- - fi
- + fi
- return $?
- }
- --
- 2.42.1
- From bec5cae7e44154f5e6303482d647a9fcc9ac543d Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Mon, 13 Nov 2023 17:53:19 +0100
- Subject: [PATCH 2/5] tests: Fix nroff failure in cthon04 caused by newer
- Cygwin nroff
- tests: Fix nroff failure in cthon04 caused by newer Cygwin 3.5.0
- nroff, which uses a slightly different warning message.
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- cygwin/README.txt | 1 +
- ...or-messages-for-newer-Cygwin-nroff-v.patch | 31 +++++++++++++++++++
- 2 files changed, 32 insertions(+)
- create mode 100644 tests/0016-cthon-Handle-error-messages-for-newer-Cygwin-nroff-v.patch
- diff --git a/cygwin/README.txt b/cygwin/README.txt
- index 974e7b3..28a70e8 100644
- --- a/cygwin/README.txt
- +++ b/cygwin/README.txt
- @@ -50,6 +50,7 @@ bash ../cygwin/devel/msnfs41client.bash mount_homedir
- git clone https://github.com/kofemann/ms-nfs41-client.git
- git clone git://git.linux-nfs.org/projects/steved/cthon04.git
- cd cthon04/
- +git config --global --add "$PWD"
- git checkout 8cefaa2ecf8d5c1240f1573530f07cfbbfc092ea
- git am ../ms-nfs41-client/tests/*.patch
- make 2>&1 | tee buildlog.log
- diff --git a/tests/0016-cthon-Handle-error-messages-for-newer-Cygwin-nroff-v.patch b/tests/0016-cthon-Handle-error-messages-for-newer-Cygwin-nroff-v.patch
- new file mode 100644
- index 0000000..42baa33
- --- /dev/null
- +++ b/tests/0016-cthon-Handle-error-messages-for-newer-Cygwin-nroff-v.patch
- @@ -0,0 +1,31 @@
- +From a56259552fde64a43a0cb764c77777a6c34dd6bd Mon Sep 17 00:00:00 2001
- +From: Roland Mainz <roland.mainz@nrubsig.org>
- +Date: Mon, 13 Nov 2023 17:49:14 +0100
- +Subject: [PATCH] cthon: Handle error messages for newer Cygwin nroff version
- +
- +cthon: Handle error messages for newer Cygwin 3.5.0 nroff version
- +
- +Tested with:
- +$ nroff --version
- +GNU nroff (groff) version 1.23.0
- +GNU groff version 1.23.0
- +---
- + general/runtests.wrk | 2 +-
- + 1 file changed, 1 insertion(+), 1 deletion(-)
- +
- +diff --git a/general/runtests.wrk b/general/runtests.wrk
- +index 9dda456..ef7bc86 100644
- +--- a/general/runtests.wrk
- ++++ b/general/runtests.wrk
- +@@ -90,7 +90,7 @@ $TIME nroff < nroff.tbl > nroff.out 2>> nroff.time || cat nroff.time
- + rm nroff.out nroff.tbl
- + set -e
- + #remove nroff warnings from nroff.time
- +-egrep -v '^warning:.*$' <nroff.time >nroff.new
- ++egrep -v '^(nroff.in:.+?|)warning:.*$' <nroff.time >nroff.new
- + mv -f nroff.new nroff.time
- + ./stat.exe nroff.time
- + set +e
- +--
- +2.42.1
- +
- --
- 2.42.1
- From fcd4c369635eeaab07065a867e930cc7a56f39fe Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Mon, 13 Nov 2023 18:04:06 +0100
- Subject: [PATCH 3/5] tests: [refix] Fix nroff failure in cthon04 caused by
- newer Cygwin nroff
- Fix typo in cygwin/README.txt
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- cygwin/README.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
- diff --git a/cygwin/README.txt b/cygwin/README.txt
- index 28a70e8..faf0451 100644
- --- a/cygwin/README.txt
- +++ b/cygwin/README.txt
- @@ -50,7 +50,7 @@ bash ../cygwin/devel/msnfs41client.bash mount_homedir
- git clone https://github.com/kofemann/ms-nfs41-client.git
- git clone git://git.linux-nfs.org/projects/steved/cthon04.git
- cd cthon04/
- -git config --global --add "$PWD"
- +git config --global --add safe.directory "$PWD"
- git checkout 8cefaa2ecf8d5c1240f1573530f07cfbbfc092ea
- git am ../ms-nfs41-client/tests/*.patch
- make 2>&1 | tee buildlog.log
- --
- 2.42.1
- From fcadb6dd346ea15608b5466610e9366d7b1a15b2 Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Mon, 13 Nov 2023 18:17:54 +0100
- Subject: [PATCH 4/5] tests: Move cthon4 patches into their own cthon4/ subdir
- Move cthon4 patches into their own cthon4/ subdir, so we get room
- for more tests.
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- cygwin/README.txt | 2 +-
- tests/{ => cthon04}/0001-cthon-tests.init-for-linux.patch | 0
- tests/{ => cthon04}/0002-cthon-fixing-tools-compilation.patch | 0
- .../0003-cthon-fixing-locks-compilation-problem.patch | 0
- .../0004-cthon-removed-fwritable-strings-from-cflags.patch | 0
- ...0005-cthon-general-scripts-use-.exe-extension-dirent.h.patch | 0
- tests/{ => cthon04}/0006-cthon-fixing-op_unlk-op_ren.patch | 0
- .../0007-cthon-porting-lock-tests-to-win32-api.patch | 0
- .../0008-cthon-disabling-test8-from-the-basic-test.patch | 0
- .../0009-cthon-enabling-NATIVE64-for-special-tests.patch | 0
- tests/{ => cthon04}/0010-cthon-fixes-for-64-bit-locking.patch | 0
- tests/{ => cthon04}/0011-cthon-setting-maxeof-to-be-64bit.patch | 0
- .../0012-removing-pmapbrb-pmaptst-tests-from-tools-dir.patch | 0
- tests/{ => cthon04}/0013-nroff-patch.patch | 0
- .../0014-commenting-out-symlink-test-in-special-tests.patch | 0
- .../0015-cthon-enabled-basic-test4a-5a-5b-and-7a.patch | 0
- ...6-cthon-Handle-error-messages-for-newer-Cygwin-nroff-v.patch | 0
- 17 files changed, 1 insertion(+), 1 deletion(-)
- rename tests/{ => cthon04}/0001-cthon-tests.init-for-linux.patch (100%)
- rename tests/{ => cthon04}/0002-cthon-fixing-tools-compilation.patch (100%)
- rename tests/{ => cthon04}/0003-cthon-fixing-locks-compilation-problem.patch (100%)
- rename tests/{ => cthon04}/0004-cthon-removed-fwritable-strings-from-cflags.patch (100%)
- rename tests/{ => cthon04}/0005-cthon-general-scripts-use-.exe-extension-dirent.h.patch (100%)
- rename tests/{ => cthon04}/0006-cthon-fixing-op_unlk-op_ren.patch (100%)
- rename tests/{ => cthon04}/0007-cthon-porting-lock-tests-to-win32-api.patch (100%)
- rename tests/{ => cthon04}/0008-cthon-disabling-test8-from-the-basic-test.patch (100%)
- rename tests/{ => cthon04}/0009-cthon-enabling-NATIVE64-for-special-tests.patch (100%)
- rename tests/{ => cthon04}/0010-cthon-fixes-for-64-bit-locking.patch (100%)
- rename tests/{ => cthon04}/0011-cthon-setting-maxeof-to-be-64bit.patch (100%)
- rename tests/{ => cthon04}/0012-removing-pmapbrb-pmaptst-tests-from-tools-dir.patch (100%)
- rename tests/{ => cthon04}/0013-nroff-patch.patch (100%)
- rename tests/{ => cthon04}/0014-commenting-out-symlink-test-in-special-tests.patch (100%)
- rename tests/{ => cthon04}/0015-cthon-enabled-basic-test4a-5a-5b-and-7a.patch (100%)
- rename tests/{ => cthon04}/0016-cthon-Handle-error-messages-for-newer-Cygwin-nroff-v.patch (100%)
- diff --git a/cygwin/README.txt b/cygwin/README.txt
- index faf0451..f282c9a 100644
- --- a/cygwin/README.txt
- +++ b/cygwin/README.txt
- @@ -52,7 +52,7 @@ git clone git://git.linux-nfs.org/projects/steved/cthon04.git
- cd cthon04/
- git config --global --add safe.directory "$PWD"
- git checkout 8cefaa2ecf8d5c1240f1573530f07cfbbfc092ea
- -git am ../ms-nfs41-client/tests/*.patch
- +git am ../ms-nfs41-client/tests/cthon04/*.patch
- make 2>&1 | tee buildlog.log
- mkdir testdir1
- ./runtests -a -t "$PWD/testdir1" 2>&1 | tee testrun.log
- diff --git a/tests/0001-cthon-tests.init-for-linux.patch b/tests/cthon04/0001-cthon-tests.init-for-linux.patch
- similarity index 100%
- rename from tests/0001-cthon-tests.init-for-linux.patch
- rename to tests/cthon04/0001-cthon-tests.init-for-linux.patch
- diff --git a/tests/0002-cthon-fixing-tools-compilation.patch b/tests/cthon04/0002-cthon-fixing-tools-compilation.patch
- similarity index 100%
- rename from tests/0002-cthon-fixing-tools-compilation.patch
- rename to tests/cthon04/0002-cthon-fixing-tools-compilation.patch
- diff --git a/tests/0003-cthon-fixing-locks-compilation-problem.patch b/tests/cthon04/0003-cthon-fixing-locks-compilation-problem.patch
- similarity index 100%
- rename from tests/0003-cthon-fixing-locks-compilation-problem.patch
- rename to tests/cthon04/0003-cthon-fixing-locks-compilation-problem.patch
- diff --git a/tests/0004-cthon-removed-fwritable-strings-from-cflags.patch b/tests/cthon04/0004-cthon-removed-fwritable-strings-from-cflags.patch
- similarity index 100%
- rename from tests/0004-cthon-removed-fwritable-strings-from-cflags.patch
- rename to tests/cthon04/0004-cthon-removed-fwritable-strings-from-cflags.patch
- diff --git a/tests/0005-cthon-general-scripts-use-.exe-extension-dirent.h.patch b/tests/cthon04/0005-cthon-general-scripts-use-.exe-extension-dirent.h.patch
- similarity index 100%
- rename from tests/0005-cthon-general-scripts-use-.exe-extension-dirent.h.patch
- rename to tests/cthon04/0005-cthon-general-scripts-use-.exe-extension-dirent.h.patch
- diff --git a/tests/0006-cthon-fixing-op_unlk-op_ren.patch b/tests/cthon04/0006-cthon-fixing-op_unlk-op_ren.patch
- similarity index 100%
- rename from tests/0006-cthon-fixing-op_unlk-op_ren.patch
- rename to tests/cthon04/0006-cthon-fixing-op_unlk-op_ren.patch
- diff --git a/tests/0007-cthon-porting-lock-tests-to-win32-api.patch b/tests/cthon04/0007-cthon-porting-lock-tests-to-win32-api.patch
- similarity index 100%
- rename from tests/0007-cthon-porting-lock-tests-to-win32-api.patch
- rename to tests/cthon04/0007-cthon-porting-lock-tests-to-win32-api.patch
- diff --git a/tests/0008-cthon-disabling-test8-from-the-basic-test.patch b/tests/cthon04/0008-cthon-disabling-test8-from-the-basic-test.patch
- similarity index 100%
- rename from tests/0008-cthon-disabling-test8-from-the-basic-test.patch
- rename to tests/cthon04/0008-cthon-disabling-test8-from-the-basic-test.patch
- diff --git a/tests/0009-cthon-enabling-NATIVE64-for-special-tests.patch b/tests/cthon04/0009-cthon-enabling-NATIVE64-for-special-tests.patch
- similarity index 100%
- rename from tests/0009-cthon-enabling-NATIVE64-for-special-tests.patch
- rename to tests/cthon04/0009-cthon-enabling-NATIVE64-for-special-tests.patch
- diff --git a/tests/0010-cthon-fixes-for-64-bit-locking.patch b/tests/cthon04/0010-cthon-fixes-for-64-bit-locking.patch
- similarity index 100%
- rename from tests/0010-cthon-fixes-for-64-bit-locking.patch
- rename to tests/cthon04/0010-cthon-fixes-for-64-bit-locking.patch
- diff --git a/tests/0011-cthon-setting-maxeof-to-be-64bit.patch b/tests/cthon04/0011-cthon-setting-maxeof-to-be-64bit.patch
- similarity index 100%
- rename from tests/0011-cthon-setting-maxeof-to-be-64bit.patch
- rename to tests/cthon04/0011-cthon-setting-maxeof-to-be-64bit.patch
- diff --git a/tests/0012-removing-pmapbrb-pmaptst-tests-from-tools-dir.patch b/tests/cthon04/0012-removing-pmapbrb-pmaptst-tests-from-tools-dir.patch
- similarity index 100%
- rename from tests/0012-removing-pmapbrb-pmaptst-tests-from-tools-dir.patch
- rename to tests/cthon04/0012-removing-pmapbrb-pmaptst-tests-from-tools-dir.patch
- diff --git a/tests/0013-nroff-patch.patch b/tests/cthon04/0013-nroff-patch.patch
- similarity index 100%
- rename from tests/0013-nroff-patch.patch
- rename to tests/cthon04/0013-nroff-patch.patch
- diff --git a/tests/0014-commenting-out-symlink-test-in-special-tests.patch b/tests/cthon04/0014-commenting-out-symlink-test-in-special-tests.patch
- similarity index 100%
- rename from tests/0014-commenting-out-symlink-test-in-special-tests.patch
- rename to tests/cthon04/0014-commenting-out-symlink-test-in-special-tests.patch
- diff --git a/tests/0015-cthon-enabled-basic-test4a-5a-5b-and-7a.patch b/tests/cthon04/0015-cthon-enabled-basic-test4a-5a-5b-and-7a.patch
- similarity index 100%
- rename from tests/0015-cthon-enabled-basic-test4a-5a-5b-and-7a.patch
- rename to tests/cthon04/0015-cthon-enabled-basic-test4a-5a-5b-and-7a.patch
- diff --git a/tests/0016-cthon-Handle-error-messages-for-newer-Cygwin-nroff-v.patch b/tests/cthon04/0016-cthon-Handle-error-messages-for-newer-Cygwin-nroff-v.patch
- similarity index 100%
- rename from tests/0016-cthon-Handle-error-messages-for-newer-Cygwin-nroff-v.patch
- rename to tests/cthon04/0016-cthon-Handle-error-messages-for-newer-Cygwin-nroff-v.patch
- --
- 2.42.1
- From 57b5a1e2face35404ba3b59ba33a6ab03284e27d Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Mon, 13 Nov 2023 18:46:19 +0100
- Subject: [PATCH 5/5] tests: Add draft how to test ms-nfs41-client manually
- Add draft readme how to test ms-nfs41-client manually.
- This needs to be expanded and turned into automated tests
- if possible.
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- tests/manual_testing.txt | 70 ++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 70 insertions(+)
- create mode 100644 tests/manual_testing.txt
- diff --git a/tests/manual_testing.txt b/tests/manual_testing.txt
- new file mode 100644
- index 0000000..07ffcf2
- --- /dev/null
- +++ b/tests/manual_testing.txt
- @@ -0,0 +1,70 @@
- +#
- +# ms-nfs41-client manual testing sequence, 2023-11-20
- +#
- +# Draft version, needs to be turned into automated tests
- +# if possible
- +#
- +
- +# start cygserver as admin before running tests
- +# so SysV shared memory works:
- +# cygserver-config
- +# net start cygserver
- +# sc query cygserver
- +
- +
- +#
- +# Compile each of the following package
- +# on a NFSv4.1 share, and run each build in parallel/sequence
- +# multiple times on one or multiple mounts
- +#
- +# ./nfs_mount -p -o sec=sys T derfwnb4966_ipv6:/net_tmpfs2
- +# ./nfs_mount -p -o sec=sys R derfwnb4966_ipv6:/net_tmpfs2/test2
- +#
- +
- +#
- +# ksh93 (ast-ksh)
- +#
- +git clone -b 'v1.0.7' https://github.com/ksh93/ksh.git
- +cd ksh
- +git config --global --add safe.directory "$PWD"
- +sed -i -r 's/mkfifo.+?(-m [[:digit:]]+)/mkfifo /g' ./src/cmd/INIT/package.sh ./bin/package
- +# repeat:
- +rm -Rf arch
- +time ksh93 -c 'export SHELL=/bin/bash HOSTTYPE="cygwin.i386-64"; /bin/bash ./bin/package make CC="/usr/bin/cc -std=gnu11" CCFLAGS="-Os -g" SHELL="$SHELL" HOSTTYPE="$HOSTTYPE"' 2>&1 | tee buildlog.log
- +
- +
- +#
- +# bash
- +#
- +git clone https://git.savannah.gnu.org/git/bash.git
- +cd bash/
- +./configure --with-curses
- +# repeat:
- +make clean && make -j4 all
- +
- +
- +#
- +# ms-nfs41-client
- +#
- +git clone https://github.com/kofemann/ms-nfs41-client.git
- +cd ms-nfs41-client
- +export PATH+=":/cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/"
- +# repeat:
- +# clean
- +rm -vRf $(find . -name Debug -o -name Release)
- +# build
- +MSBuild.exe build.vc19/nfs41-client.sln -t:Build -p:Configuration=Debug -p:Platform=x64
- +MSBuild.exe build.vc19/nfs41-client.sln -t:Build -p:Configuration=Release -p:Platform=x64
- +
- +
- +#
- +# gcc
- +#
- +git clone -b 'releases/gcc-13.2.0' git://gcc.gnu.org/git/gcc.git
- +cd gcc/
- +./configure
- +# repeat:
- +make -j4 clean
- +(yes | make -j32 all)
- +
- +# EOF.
- --
- 2.42.1
msnfs41client: Patches for testsuite/tests
Posted by Anonymous on Mon 13th Nov 2023 17:54
raw | new post
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.