- Process #elif directives correctly (doesn't affect the current SCST source code).
- Do not remove double blank lines from documentation files.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2278 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Adding the suffix "-u" to a kernel version will make the tests to be run
with generate-kernel-patch -u ${kernel_version} instead of
generate-kernel-patch ${kernel_version}.
generate-kernel-patch:
- sBUG(...) and sBUG_ON(...) are now replaced by BUG(...) and BUG_ON(...)
respectively.
- Option -n does no longer disable the above substitution.
- Source file scst/src/scst_proc.c is now excluded when option -u is specified.
specialize-patch:
- Replaced variable delete_disabled_code by blank_deleted_lines. While setting
the former variable had the effect of deleting disabled code, the latter
has the effect of replacing disabled code by blank lines.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1271 d57e44dd-8a1f-0410-8b47-8ef2f437770f
undefine the preprocessor symbol
CONFIG_TCP_ZERO_COPY_TRANSFER_COMPLETION_NOTIFICATION.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1249 d57e44dd-8a1f-0410-8b47-8ef2f437770f
variable tells the script specialize-patch to treat the preprocessor
symbol GENERATING_UPSTREAM_PATCH as defined.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1218 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Only replace sBUG/sBUG_ON by BUG/BUG_ON when this macro is being used, not
in its definition.
- Fixed bugs in algorithm for preserving the original code during a sparse run.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1076 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- The following two lines and the first blank line below are now removed:
+#define SCSI_EXEC_REQ_FIFO_DEFINED
+#define SCST_IO_CONTEXT
- Hunks that do no longer contain any modifications because of the
previous steps are now removed from the output because patch otherwise
complains.
- Added support for evaluating expressions containing the arithmetic
operators *, /, +, -.
- Removed support for partial evaluation of expressions because it is too
tricky to get this right due to operator precedence.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1047 d57e44dd-8a1f-0410-8b47-8ef2f437770f
string. The substitution for RHEL_RELEASE_CODE when it was not defined
was missing.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@788 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Added support for evaluating #ifdef and #ifndef.
- Added support for substituting the macro's RHEL_MAJOR, RHEL_MINOR and RHEL_RELEASE_CODE.
- Added more comments.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@637 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Add a dummy Signed-off-by line to the generated patch, such that checkpatch
doesn't complain that it's missing.
- Sort the names of source files (through ls) before using these, such that
the generated patch is the same during each run.
- Fixed a bug in #elif handling (this bug is not triggered by the current SCST
code).
This patch has been tested by comparing the output of the old and the new
generate-kernel-patch script.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@530 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- The script specialize-patch now acts as if #define INSIDE_KERNEL_TREE 1
is effective.
- The script generate-kernel-patch now renames sBUG_ON() into BUG_ON()
and sBUG() into BUG(). The same script removes the definitions of the
sBUG_ON(), sBUG() and WARN_ON_ONCE() macro's from the header file
scst_debug.h. The last macro is only removed for kernel versions later than
2.6.19.
This patch has been tested as follows:
- Compared the output of the command "scripts/generate-kernel-patch 2.6.25"
before and after the changes.
- Verified the newly generated patch with checkpatch. Checkpatch statistics
are now as follows:
521 WARNING: line over 80 characters
12 WARNING: consider using strict_strtoul in preference to simple_strtoul
10 WARNING: printk() should include KERN_ facility level
3 WARNING: CVS style keyword markers, these will _not_ be updated
2 WARNING: do not add new typedefs
1 WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
- Verified that the generated kernel patch still applies cleanly to the
2.6.25.10 kernel and that this kernel still compiles, installs and boots fine.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@445 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The script scripts/specialize-patch'>scripts/specialize-patch is an awk script. Currently it specifies /usr/bin/awk as its interpreter although it doesn't use the standard AWK syntax but the extended GNU AWK syntax. The patch below changes the interpreter name such that the script also works on systems where /usr/bin/awk is not GNU AWK (e.g. Ubuntu 8.04). Note: GNU AWK is not installed by default on all Linux systems. E.g. on Debian systems it's in the gawk package.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@413 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The current version of generate-kernel-patch does not remove preprocessor
statements that should have been removed because intended for another kernel
version (surrounded by #if LINUX_VERSION_CODE ... KERNEL_VERSION(...) / #endif).
The patch below fixes this.
I have verified the patch below by comparing the patch generated by the
old and the new versions of the generate-kernel-patch script:
$ diff p1 p2
7190d7189
< +#if defined(EXTRACHECKS)
7196c7195,7196
< +#endif
---
> > +
> > +
13056d13055
< +#ifdef STRICT_SERIALIZING
13058d13056
< +#elif !defined(SCSI_EXEC_REQ_FIFO_DEFINED)
13060d13057
< +#else
13062c13059,13062
< +#endif
---
> > +
> > +
> > +
> > +
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@392 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below implements the following changes:
- Make sure the output of the make command does not appear in the generated
kernel patch.
- Changed interpreter of scripts/specialize-patch from /usr/bin/gawk to
/usr/bin/awk in order to make sure this awk script also runs on systems
where awk is installed but not gawk.
- Added an extra evaluation rule such that expressions like (0) are rewritten
as 0.
- Fixed a spelling error.
- Expressions that can only be partially evaluated are now partially evaluated.
E.g. #if defined(EXTRACHECKS) && (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18))
becomes #if defined(EXTRACHECKS) && 0 in the output.
- Code between #if 0 / #endif or #if 1 / #endif is included in the generated
kernel patch, including the surrounding preprocessor directives.
- Preprocessor statements with spaces behind # are now recognized (e.g. "# if").
- Expression evaluator now supports ! (logical not) and () (braces).
- #elif is now evaluated correctly.
- Nested #if / #elif / #else / #endif are now interpreted correctly.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@385 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below contains a script that removes C preprocessor tests on the
LINUX_VERSION_CODE macro, depending on the kernel version that was passed as
an argument to that script. Furthermore, the generate-kernel-patch script has
been modified such that its output is filtered by the specialize-patch script.
This eliminates another class of checkpatch errors.
Note: due to the way the specialize-patch script is implemented, #if 0 and
#if 1 statements are also processed.
The patch below has been verified as follows:
- Checked that checkpatch does no longer complain about LINUX_VERSION_CODE
on the generated patch.
- Checked that the generated kernel patch applies cleanly to the 2.6.25.4
kernel.
- Checked that the patched kernel compiles and installs cleanly, and that
after reboot it was possible to load the iscsi-scst and ib_srpt kernel modules.
I will wait with sending more patches until this and the previous two patches
have been reviewed and/or applied.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@384 d57e44dd-8a1f-0410-8b47-8ef2f437770f