diff options
author | Jacek Pielaszkiewicz <j.pielaszkie@samsung.com> | 2014-01-02 22:21:59 -0800 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-11-18 11:46:07 +0900 |
commit | 203fbb66fb41f08a9c2ea621c9e956a8908290c4 (patch) | |
tree | e2249456d2cf2ec29d8e6d9653edf40c3212d818 | |
parent | 32db5b251746bbe871378528fdf9b3eb24b9978d (diff) | |
download | linux-3.10-203fbb66fb41f08a9c2ea621c9e956a8908290c4.tar.gz linux-3.10-203fbb66fb41f08a9c2ea621c9e956a8908290c4.tar.bz2 linux-3.10-203fbb66fb41f08a9c2ea621c9e956a8908290c4.zip |
Revert "abi-checker - tool directory location update."
This reverts commit 952c6d9596e18f9df43174f513ce84ebe7cd6ca2.
Change-Id: Id6f4bd3d4e76c3a07fb8cdf121745c17e59b7a2a
-rw-r--r-- | Documentation/abi-checker.txt | 132 | ||||
-rw-r--r-- | abi-checker/data/abi_3.10.19_1 (renamed from tools/abi-checker/data/abi_3.10.19_1) | 0 | ||||
-rw-r--r-- | abi-checker/sample/LICENSE (renamed from tools/abi-checker/sample/LICENSE) | 0 | ||||
-rw-r--r-- | abi-checker/sample/Makefile (renamed from tools/abi-checker/sample/Makefile) | 0 | ||||
-rw-r--r-- | abi-checker/sample/packaging/udisks-automount-agent.spec.txt (renamed from tools/abi-checker/sample/packaging/sample-module.spec.txt) | 0 | ||||
-rw-r--r-- | abi-checker/sample/sample_module.c (renamed from tools/abi-checker/sample/sample_module.c) | 0 | ||||
-rw-r--r-- | abi-checker/src/Makefile (renamed from tools/abi-checker/src/Makefile) | 0 | ||||
-rwxr-xr-x | abi-checker/src/abi-module-checker (renamed from tools/abi-checker/src/abi-module-checker) | 16 | ||||
-rwxr-xr-x | abi-checker/src/abi-module-dumper (renamed from tools/abi-checker/src/abi-module-dumper) | 17 | ||||
-rwxr-xr-x | abi-checker/src/abi-module-kernels-list (renamed from tools/abi-checker/src/abi-module-kernels-list) | 16 | ||||
-rwxr-xr-x | abi-checker/src/build_api_kernel_checker.sh | 24 | ||||
-rw-r--r-- | abi-checker/src/kernel_abi_checker.c (renamed from tools/abi-checker/src/kernel_abi_checker.c) | 0 | ||||
-rw-r--r-- | abi-checker/src/kernel_abi_checker.h (renamed from tools/abi-checker/src/kernel_abi_checker.h) | 0 | ||||
-rw-r--r-- | abi-checker/src/kernel_abi_checker_elf.c (renamed from tools/abi-checker/src/kernel_abi_checker_elf.c) | 0 | ||||
-rw-r--r-- | packaging/linux-kernel.spec | 16 | ||||
-rwxr-xr-x | tools/abi-checker/src/build_api_kernel_checker.sh | 38 |
16 files changed, 36 insertions, 223 deletions
diff --git a/Documentation/abi-checker.txt b/Documentation/abi-checker.txt deleted file mode 100644 index 57caa2119e5..00000000000 --- a/Documentation/abi-checker.txt +++ /dev/null @@ -1,132 +0,0 @@ - - Linux kernel ABI/API checker --------------------------------------------------------------------------- - -I. Introduction -=============== - - "abi-checker" is a simple set of tools to: -- test changes in Linux kernel API/ABI. -- test compatibility kernel module wth kernel -- creates dump for external kernel modules with list of kernel symbols - used by the module. - - -II. Application/scripts -======================= - -1. abi-checker - - The application can be run in the following modes: - - "test-kernel" - in the mode compares two Module.symvers files. - In case if some changes have been detected the - application creates report containg list of changed symbols - (added/changed/removed). Additionally summary ireport with - total number symbols, itotal number changed/modified/removed - symbols is created. - - Usage: - abi-checker test-kernel file1 file2 - - Return values: - 0 - if Module.symvers are identical - 1 - if some changes have been detected. - - - "build-list" - in the mode the applications creates file containing linux kernel - symbols uses by the module. - As input the application expect: - - kernel Module.symvers file - - module symbols file - each line of the file has - name of the module symbol. - - As output the application creates file in format like "Modules.symvers". - - Usage: - abi-checker build-list Module.symvers kernel_symbols_file output_file - - Return: - 0 - success - 1 - any error - - - "dump-module" - in the mode the application directly extracts from *.ko file - symbols and creates file in format like Module.symvers containing list - of kernel symbols used by the module. - - Usage: - abi-checker dump-module Module.symvers module_ko_file output_file - - Return: - 0 - success - 1 - any error - - - "test-module" - in the mode the application compares kernel "Module.symvers" file - with external module "Module.symvers" file. In case of any differences - list of changed/removed symbols is reported. Additionally summary info - with numer total number symbols, total number changed/modified/removed - symbols is created also. - - Usage: - abi-checker test-module kernel_Module.symvers module_Module.symvers - - Return: - 0 - if all module symbols are identical with kernel symbols - 1 - if some changes have been detected. - -2. abi-module-checker - helper script. It simplify API/API checks for kernel module. Internally - the script call abi-checker in "test-module" mode. The script assumes that in - /boot/abi directory is present ABI/API repository for linux kernel. - - Usage: - abi-module-checker kernel_module_abi_file - - Return: - 0 - if module API/ABI file is compatible with current kernel - 1 - in case if module is not compatible with current kernel or error - -3. abi-module-dumper - helper script. It simplify ABI/API module dump file creation. The script - assumes that in /boot/abi directory is present ABI/API repository for linux kernel. - - Usage: - abi-module-dumper _module_ko_file_ _output_file_ - - Return: - 0 - success - 1 - any error - -4. abi-module-kernels-list - helper script. The script reporst all kernel version compatible - with the given kernel module. The script assumes that in /boot/abi directory - is present ABI/API repository for linux kernel. - - Usage: - abi-module-kernels-list _module_abi_file_ - - Return: - 0 - success - 1 - any error - -III. Module.symvers file format -=============================== - - Each line of the Module.symvers file has the folloing format: - - symbol_name<tab>symbol_crc<tab>module_name<tab>additiona_info - -Example: - ... - 0x27e1a049 printk vmlinux EXPORT_SYMBOL - 0xf85bebf9 dev_printk_emit vmlinux EXPORT_SYMBOL - ... - -IV. Kernel ABI/API repository -============================= - - The ABI/API repository is located in /boot/abi direcotry. The repository contains list of all -ABI/API versions (also for historical kernel versions). - The repository contains list of files which names are in format abi_${KERNELVERSION}_${ABIVERSION}. -ABI/API file for current kernel version is marked by current symbolic link. - -V. Kernel ABI/API repository -============================ - - Directory tools/abi-checker/data ABI/API Module.symvers for current and older kernel version. -Module.symvers for current kernel version is indicated by current symbolic link. diff --git a/tools/abi-checker/data/abi_3.10.19_1 b/abi-checker/data/abi_3.10.19_1 index eea34557901..eea34557901 100644 --- a/tools/abi-checker/data/abi_3.10.19_1 +++ b/abi-checker/data/abi_3.10.19_1 diff --git a/tools/abi-checker/sample/LICENSE b/abi-checker/sample/LICENSE index 63fabc1b163..63fabc1b163 100644 --- a/tools/abi-checker/sample/LICENSE +++ b/abi-checker/sample/LICENSE diff --git a/tools/abi-checker/sample/Makefile b/abi-checker/sample/Makefile index 4759f3cb804..4759f3cb804 100644 --- a/tools/abi-checker/sample/Makefile +++ b/abi-checker/sample/Makefile diff --git a/tools/abi-checker/sample/packaging/sample-module.spec.txt b/abi-checker/sample/packaging/udisks-automount-agent.spec.txt index bca84165312..bca84165312 100644 --- a/tools/abi-checker/sample/packaging/sample-module.spec.txt +++ b/abi-checker/sample/packaging/udisks-automount-agent.spec.txt diff --git a/tools/abi-checker/sample/sample_module.c b/abi-checker/sample/sample_module.c index b95a7afa5ce..b95a7afa5ce 100644 --- a/tools/abi-checker/sample/sample_module.c +++ b/abi-checker/sample/sample_module.c diff --git a/tools/abi-checker/src/Makefile b/abi-checker/src/Makefile index b020bc698f4..b020bc698f4 100644 --- a/tools/abi-checker/src/Makefile +++ b/abi-checker/src/Makefile diff --git a/tools/abi-checker/src/abi-module-checker b/abi-checker/src/abi-module-checker index 2666fbd9dc9..78e5a89b132 100755 --- a/tools/abi-checker/src/abi-module-checker +++ b/abi-checker/src/abi-module-checker @@ -24,20 +24,6 @@ then exit 1 fi -ABI_TOOL_LOCATION="/usr/local/bin" -ABI_TOOL_NAME="abi-checker" -ABI_TOOL="${ABI_TOOL_LOCATION}/${ABI_TOOL_NAME}" - -if [ -x "${ABI_TOOL}" ] -then - CMD="${ABI_TOOL}" -elif [ -x "./${ABI_TOOL_NAME}" ] -then - CMD="./${ABI_TOOL_NAME}" -else - CMD="${ABI_TOOL_NAME}" -fi - -"${CMD}" "test-module" "${kerne_abi_file}" "${1}" +/usr/local/bin/abi-checker "test-module" "${kerne_abi_file}" "${1}" exit ${?} diff --git a/tools/abi-checker/src/abi-module-dumper b/abi-checker/src/abi-module-dumper index 3af55fb8b15..783e02aaf4a 100755 --- a/tools/abi-checker/src/abi-module-dumper +++ b/abi-checker/src/abi-module-dumper @@ -30,22 +30,9 @@ then echo "ERROR: Please check input file ${1}" echo "" exit 1 + fi -ABI_TOOL_LOCATION="/usr/local/bin" -ABI_TOOL_NAME="abi-checker" -ABI_TOOL="${ABI_TOOL_LOCATION}/${ABI_TOOL_NAME}" - -if [ -x "${ABI_TOOL}" ] -then - CMD="${ABI_TOOL}" -elif [ -x "./${ABI_TOOL_NAME}" ] -then - CMD="./${ABI_TOOL_NAME}" -else - CMD="${ABI_TOOL_NAME}" -fi - -"${CMD}" "dump-module" "${kerne_abi_file}" "${1}" "${2}" +/usr/local/bin/abi-checker "dump-module" "${kerne_abi_file}" "${1}" "${2}" exit ${?} diff --git a/tools/abi-checker/src/abi-module-kernels-list b/abi-checker/src/abi-module-kernels-list index e07f523bd0a..12105e1b04f 100755 --- a/tools/abi-checker/src/abi-module-kernels-list +++ b/abi-checker/src/abi-module-kernels-list @@ -13,20 +13,6 @@ then exit 1 fi -ABI_TOOL_LOCATION="/usr/local/bin" -ABI_TOOL_NAME="abi-checker" -ABI_TOOL="${ABI_TOOL_LOCATION}/${ABI_TOOL_NAME}" - -if [ -x "${ABI_TOOL}" ] -then - CMD="${ABI_TOOL}" -elif [ -x "./${ABI_TOOL_NAME}" ] -then - CMD="./${ABI_TOOL_NAME}" -else - CMD="${ABI_TOOL_NAME}" -fi - # # Check all historical abi kernel files # @@ -36,7 +22,7 @@ do version=`echo ${filename} | awk -F _ '{ print $2 }'` abi=`echo ${filename} | awk -F _ '{ print $3 }'` - "${CMD}" "test-module" "${file}" "${1}" 2> /dev/null > /dev/null + /usr/local/bin/abi-checker "test-module" "${file}" "${1}" 2> /dev/null > /dev/null if [ "${?}" = "0" ] then echo " Kernel:${version}, ABI/API:${abi} .... compatible" diff --git a/abi-checker/src/build_api_kernel_checker.sh b/abi-checker/src/build_api_kernel_checker.sh new file mode 100755 index 00000000000..d9e348b753a --- /dev/null +++ b/abi-checker/src/build_api_kernel_checker.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +# Find abi_version file +ksymver=`find ../.. -name "Module.symvers"` + +# compare abi fingerprint file with kernel abi file +./abi-checker test-kernel "${ksymver}" "../data/abi_${1}_${2}" +rc="${?}" + +# Test result +if [ ${rc} != "0" ] +then + echo "" + echo "----------------------------------------------------------------------------------------------------------------------------" + echo "" + echo "The kernel ABI/API has changed. Please update kernel version and add a new abi-checker/data/abi_VERSION_ABIVER file " + echo "(example abi-checker/data/abi_${1}_${2} )." + echo "The kernel sources build will abort." + echo "" + echo "" + exit 1 +fi + +exit 0 diff --git a/tools/abi-checker/src/kernel_abi_checker.c b/abi-checker/src/kernel_abi_checker.c index da396e135b3..da396e135b3 100644 --- a/tools/abi-checker/src/kernel_abi_checker.c +++ b/abi-checker/src/kernel_abi_checker.c diff --git a/tools/abi-checker/src/kernel_abi_checker.h b/abi-checker/src/kernel_abi_checker.h index 8df231ee0e7..8df231ee0e7 100644 --- a/tools/abi-checker/src/kernel_abi_checker.h +++ b/abi-checker/src/kernel_abi_checker.h diff --git a/tools/abi-checker/src/kernel_abi_checker_elf.c b/abi-checker/src/kernel_abi_checker_elf.c index 6f4f28cd9a6..6f4f28cd9a6 100644 --- a/tools/abi-checker/src/kernel_abi_checker_elf.c +++ b/abi-checker/src/kernel_abi_checker_elf.c diff --git a/packaging/linux-kernel.spec b/packaging/linux-kernel.spec index 0bbbfa50582..485f06e39e6 100644 --- a/packaging/linux-kernel.spec +++ b/packaging/linux-kernel.spec @@ -92,7 +92,7 @@ Linux kernel uImage %build # 0. Build abi checker -make -C tools/abi-checker/src +make -C abi-checker/src # 1. Create main build directory rm -rf %{kernel_build_dir} @@ -112,7 +112,7 @@ make EXTRAVERSION="-%{build_id}" O=%{kernel_build_dir}/linux-kernel-build-%{vers %if %{with abidev} echo "No linuks kernel ABI/API checks" %else -( cd tools/abi-checker/src; chmod 755 build_api_kernel_checker.sh; ./build_api_kernel_checker.sh "%{version}" "%{abiver}" ) +( cd abi-checker/src; chmod 755 build_api_kernel_checker.sh; ./build_api_kernel_checker.sh "%{version}" "%{abiver}" ) %endif make EXTRAVERSION="-%{build_id}" O=%{kernel_build_dir}/linux-kernel-build-%{version}-%{build_id} uImage %{?jobs:-j%jobs} @@ -146,17 +146,17 @@ make INSTALL_PATH=%{buildroot}/boot INSTALL_MOD_PATH=%{buildroot} O=%{kernel_bui make INSTALL_PATH=%{buildroot} INSTALL_MOD_PATH=%{buildroot} O=%{kernel_build_dir}/linux-kernel-build-%{version}-%{build_id} INSTALL_HDR_PATH=%{buildroot}/usr headers_install # 4.1 Install ABI/API tools -cp tools/abi-checker/src/abi-checker %{buildroot}/usr/local/bin -cp tools/abi-checker/src/abi-module-checker %{buildroot}/usr/local/bin -cp tools/abi-checker/src/abi-module-dumper %{buildroot}/usr/local/bin -cp tools/abi-checker/src/abi-module-kernels-list %{buildroot}/usr/local/bin +cp abi-checker/src/abi-checker %{buildroot}/usr/local/bin +cp abi-checker/src/abi-module-checker %{buildroot}/usr/local/bin +cp abi-checker/src/abi-module-dumper %{buildroot}/usr/local/bin +cp abi-checker/src/abi-module-kernels-list %{buildroot}/usr/local/bin chmod 755 %{buildroot}/usr/local/bin/* # 4.2 Install abi_%{version} file %if %{with abidev} find ../.. -name "Module.symvers" -exec cp {} %{buildroot}/boot/abi/abi_devel \; %else -cp tools/abi-checker/data/abi* %{buildroot}/boot/abi/. +cp abi-checker/data/abi* %{buildroot}/boot/abi/. ln -sf /boot/abi/abi_%{version}_%{abiver} %{buildroot}/boot/abi/current %endif @@ -183,7 +183,7 @@ rm -rf %{buildroot}/usr/src/linux-kernel-sources-%{version}-%{build_id}/%{kernel rm -f %{buildroot}/usr/src/linux-kernel-sources-%{version}-%{build_id}/source rm -f %{buildroot}/usr/src/linux-kernel-build-%{version}-%{build_id}/source -rm -rf %{buildroot}/usr/src/linux-kernel-sources-%{version}-%{build_id}/tools/abi-checker +rm -rf %{buildroot}/usr/src/linux-kernel-sources-%{version}-%{build_id}/abi-checker rm -rf %{buildroot}/System.map* rm -rf %{buildroot}/vmlinux* diff --git a/tools/abi-checker/src/build_api_kernel_checker.sh b/tools/abi-checker/src/build_api_kernel_checker.sh deleted file mode 100755 index 52693f8a5ff..00000000000 --- a/tools/abi-checker/src/build_api_kernel_checker.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -# Find abi_version file -ksymver=`find ../../.. -name "Module.symvers"` - -ABI_TOOL_LOCATION="/usr/local/bin" -ABI_TOOL_NAME="abi-checker" -ABI_TOOL="${ABI_TOOL_LOCATION}/${ABI_TOOL_NAME}" - -if [ -x "${ABI_TOOL}" ] -then - CMD="${ABI_TOOL}" -elif [ -x "./${ABI_TOOL_NAME}" ] -then - CMD="./${ABI_TOOL_NAME}" -else - CMD="${ABI_TOOL_NAME}" -fi - -# compare abi fingerprint file with kernel abi file -"${CMD}" test-kernel "${ksymver}" "../data/abi_${1}_${2}" -rc="${?}" - -# Test result -if [ ${rc} != "0" ] -then - echo "" - echo "----------------------------------------------------------------------------------------------------------------------------" - echo "" - echo "The kernel ABI/API has changed. Please update kernel version and add a new tools/abi-checker/data/abi_VERSION_ABIVER file " - echo "(example tools/abi-checker/data/abi_${1}_${2} )." - echo "The kernel sources build will abort." - echo "" - echo "" - exit 1 -fi - -exit 0 |