Rishabh Pahwa
Lurker
I've been working on the Nexus 5x device (Android version: 6.0.1 and above, Kernel version: Linux/arm64 3.10.73) and was trying to get SystemTap running on it (to monitor kernel traces). For this we need to enable some kernel options in the .config file of the kernel source before the build process (ref: https://sourceware.org/systemtap/wiki/SystemTapWithSelfBuiltKernel).
One of the options to enable is the 'CONFIG_MODULES'. However, each time I do this along with 'CONFIG_KPROBES' option, the build fails with the following message:
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
CHK include/generated/compile.h
CC drivers/usb/phy/class-dual-role.o
drivers/usb/phy/class-dual-role.c:91:1: error: expected ',' or ';' before 'int'
int dual_role_get_property(struct dual_role_phy_instance *dual_role,
^
scripts/Makefile.build:308: recipe for target 'drivers/usb/phy/class-dual-role.o' failed
make[3]: *** [drivers/usb/phy/class-dual-role.o] Error 1
scripts/Makefile.build:455: recipe for target 'drivers/usb/phy' failed
make[2]: *** [drivers/usb/phy] Error 2
scripts/Makefile.build:455: recipe for target 'drivers/usb' failed
make[1]: *** [drivers/usb] Error 2
Makefile:820: recipe for target 'drivers' failed
make: *** [drivers] Error 2
I'm unable to resolve the same even after consulting a lot of online and offline resources. I would also like to make a note that I'm able to build the stock Linux - 3.10.73 kernel (with default configuration) and get it to run successfully on the device. The kernel source can be found at: http://source.android.com/source/building-kernels.html#building.
Any help in this direction would be really appreciated.
-Thanks in advance.
One of the options to enable is the 'CONFIG_MODULES'. However, each time I do this along with 'CONFIG_KPROBES' option, the build fails with the following message:
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
CHK include/generated/compile.h
CC drivers/usb/phy/class-dual-role.o
drivers/usb/phy/class-dual-role.c:91:1: error: expected ',' or ';' before 'int'
int dual_role_get_property(struct dual_role_phy_instance *dual_role,
^
scripts/Makefile.build:308: recipe for target 'drivers/usb/phy/class-dual-role.o' failed
make[3]: *** [drivers/usb/phy/class-dual-role.o] Error 1
scripts/Makefile.build:455: recipe for target 'drivers/usb/phy' failed
make[2]: *** [drivers/usb/phy] Error 2
scripts/Makefile.build:455: recipe for target 'drivers/usb' failed
make[1]: *** [drivers/usb] Error 2
Makefile:820: recipe for target 'drivers' failed
make: *** [drivers] Error 2
I'm unable to resolve the same even after consulting a lot of online and offline resources. I would also like to make a note that I'm able to build the stock Linux - 3.10.73 kernel (with default configuration) and get it to run successfully on the device. The kernel source can be found at: http://source.android.com/source/building-kernels.html#building.
Any help in this direction would be really appreciated.
-Thanks in advance.