OBJTOOL Build error
Hello - I have an idea of where to begin: our kernel code compiles and works on Red Hat, CentOS, and Fedora. In Ubuntu 20.04, I have an error. root@form:/home/john/thor-linux/Kernel/ubuntu20.04# make rmmod: ERROR: Module thor is not currently loaded make: [Makefile:7: all] Error 1 (ignored) make[1]: Entering directory '/usr/src/linux-headers-5.4.0-131-generic' CC [M] /home/john/thor-linux/Kernel/ubuntu22.04/thor.o /home/john/thor-linux/Kernel/ubuntu22.04/thor.o: warning: objtool: _Controller_process_response_map()+0x1b3: unreachable instruction Building modules, stage 2. MODPOST 1 modules CC [M] /home/john/thor-linux/Kernel/ubuntu22.04/thor.mod.o LD [M] /home/john/thor-linux/Kernel/ubuntu22.04/thor.ko make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-131-generic' make[1]: Entering directory '/usr/src/linux-headers-5.4.0-131-generic' CLEAN /home/john/thor-linux/Kernel/ubuntu22.04/Module.symvers make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-131-generic' #@sudo dmesg -C #@sudo insmod /usr/local/etc/thor.ko filename: /usr/local/etc/thor.ko version: 0.1 description: THOR KMOD author: Aronetics license: GPL srcversion: BC856FA85DB2FEFD38A1B2A depends: retpoline: Y name: thor vermagic: 5.4.0-131-generic SMP mod_unload modversions #@sudo dmesg root@form:/home/john/thor-linux/Kernel/ubuntu20.04# <mailto:root@form:/home/john/thor-linux/Kernel/ubuntu20.04#> Every 2.0s: tail -n30 /var/lib/dkms/thor/1.0.1/build/make.log DKMS make.log for thor-1.0.1 for kernel 5.4.0-131-generic (x86_64) Thu 24 Nov 2022 01:10:33 PM EST make: Entering directory '/usr/src/linux-headers-5.4.0-131-generic' CC [M] /var/lib/dkms/thor/1.0.1/build/thor.o /var/lib/dkms/thor/1.0.1/build/thor.o: warning: objtool: _Controller_process_response_map()+0x1b3: unreachable instruction Building modules, stage 2. MODPOST 1 modules CC [M] /var/lib/dkms/thor/1.0.1/build/thor.mod.o LD [M] /var/lib/dkms/thor/1.0.1/build/thor.ko make: Leaving directory '/usr/src/linux-headers-5.4.0-131-generic' Is this an error in objtool on Ubuntu within /usr/src/linux-headers-5.4.0-${26-130}/tools/objtool ?
From RHEL 8
[root@profile rhel8]# make make[1]: Entering directory '/usr/src/kernels/4.18.0-372.26.1.el8_6.x86_64' CC [M] /home/john/thor-linux/Kernel/rhel8/thor.o Building modules, stage 2. MODPOST 1 modules CC /home/john/thor-linux/Kernel/rhel8/thor.mod.o LD [M] /home/john/thor-linux/Kernel/rhel8/thor.ko make[1]: Leaving directory '/usr/src/kernels/4.18.0-372.26.1.el8_6.x86_64' make[1]: Entering directory '/usr/src/kernels/4.18.0-372.26.1.el8_6.x86_64' CLEAN /home/john/thor-linux/Kernel/rhel8/.tmp_versions CLEAN /home/john/thor-linux/Kernel/rhel8/Module.symvers make[1]: Leaving directory '/usr/src/kernels/4.18.0-372.26.1.el8_6.x86_64' #@sudo dmesg -C #@sudo insmod /usr/local/etc/thor.ko filename: /usr/local/etc/thor.ko version: 0.1 description: THOR KMOD author: Aronetics license: GPL rhelversion: 8.6 srcversion: FC77130B3C3461BF8DE20B6 depends: name: thor vermagic: 4.18.0-372.26.1.el8_6.x86_64 SMP mod_unload modversions #@sudo dmesg [root@profile rhel8]# John
On Thu, Nov 24, 2022 at 01:48:08PM -0500, John Aron wrote:
Hello -
I have an idea of where to begin: our kernel code compiles and works on Red Hat, CentOS, and Fedora. In Ubuntu 20.04, I have an error.
root@form:/home/john/thor-linux/Kernel/ubuntu20.04# make
rmmod: ERROR: Module thor is not currently loaded
make: [Makefile:7: all] Error 1 (ignored)
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-131-generic'
CC [M] /home/john/thor-linux/Kernel/ubuntu22.04/thor.o
/home/john/thor-linux/Kernel/ubuntu22.04/thor.o: warning: objtool: _Controller_process_response_map()+0x1b3: unreachable instruction
Building modules, stage 2.
MODPOST 1 modules
CC [M] /home/john/thor-linux/Kernel/ubuntu22.04/thor.mod.o
LD [M] /home/john/thor-linux/Kernel/ubuntu22.04/thor.ko
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-131-generic'
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-131-generic'
CLEAN /home/john/thor-linux/Kernel/ubuntu22.04/Module.symvers
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-131-generic'
#@sudo dmesg -C
#@sudo insmod /usr/local/etc/thor.ko
filename: /usr/local/etc/thor.ko
version: 0.1
description: THOR KMOD
author: Aronetics
license: GPL
srcversion: BC856FA85DB2FEFD38A1B2A
depends:
retpoline: Y
name: thor
vermagic: 5.4.0-131-generic SMP mod_unload modversions
#@sudo dmesg
root@form:/home/john/thor-linux/Kernel/ubuntu20.04# <mailto:root@form:/home/john/thor-linux/Kernel/ubuntu20.04#>
Every 2.0s: tail -n30 /var/lib/dkms/thor/1.0.1/build/make.log
DKMS make.log for thor-1.0.1 for kernel 5.4.0-131-generic (x86_64)
Thu 24 Nov 2022 01:10:33 PM EST
make: Entering directory '/usr/src/linux-headers-5.4.0-131-generic'
CC [M] /var/lib/dkms/thor/1.0.1/build/thor.o
/var/lib/dkms/thor/1.0.1/build/thor.o: warning: objtool: _Controller_process_response_map()+0x1b3: unreachable instruction
Building modules, stage 2.
MODPOST 1 modules
CC [M] /var/lib/dkms/thor/1.0.1/build/thor.mod.o
LD [M] /var/lib/dkms/thor/1.0.1/build/thor.ko
make: Leaving directory '/usr/src/linux-headers-5.4.0-131-generic'
Is this an error in objtool on Ubuntu within /usr/src/linux-headers-5.4.0-${26-130}/tools/objtool ?
Do you have a pointer to your code anywhere? Do you have .S files in it, or is it all C files? And did you ask the Canonical developers about this? You should have a support contract you are paying for with them, so why not use that? thanks, greg k-h
One C file and a few header files. Canonical isn't very responsive and I posted this question a few places. Sorry about the late reply. John -----Original Message----- From: Greg KH <greg@kroah.com> Sent: Thursday, November 24, 2022 4:07 PM On Thu, Nov 24, 2022 at 01:48:08PM -0500, John Aron wrote:
Hello -
I have an idea of where to begin: our kernel code compiles and works on Red Hat, CentOS, and Fedora. In Ubuntu 20.04, I have an error.
root@form:/home/john/thor-linux/Kernel/ubuntu20.04# make
rmmod: ERROR: Module thor is not currently loaded
make: [Makefile:7: all] Error 1 (ignored)
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-131-generic'
CC [M] /home/john/thor-linux/Kernel/ubuntu22.04/thor.o
/home/john/thor-linux/Kernel/ubuntu22.04/thor.o: warning: objtool: _Controller_process_response_map()+0x1b3: unreachable instruction
Building modules, stage 2.
MODPOST 1 modules
CC [M] /home/john/thor-linux/Kernel/ubuntu22.04/thor.mod.o
LD [M] /home/john/thor-linux/Kernel/ubuntu22.04/thor.ko
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-131-generic'
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-131-generic'
CLEAN /home/john/thor-linux/Kernel/ubuntu22.04/Module.symvers
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-131-generic'
#@sudo dmesg -C
#@sudo insmod /usr/local/etc/thor.ko
filename: /usr/local/etc/thor.ko
version: 0.1
description: THOR KMOD
author: Aronetics
license: GPL
srcversion: BC856FA85DB2FEFD38A1B2A
depends:
retpoline: Y
name: thor
vermagic: 5.4.0-131-generic SMP mod_unload modversions
#@sudo dmesg
root@form:/home/john/thor-linux/Kernel/ubuntu20.04# <mailto:root@form:/home/john/thor-linux/Kernel/ubuntu20.04#>
Every 2.0s: tail -n30 /var/lib/dkms/thor/1.0.1/build/make.log
DKMS make.log for thor-1.0.1 for kernel 5.4.0-131-generic (x86_64)
Thu 24 Nov 2022 01:10:33 PM EST
make: Entering directory '/usr/src/linux-headers-5.4.0-131-generic'
CC [M] /var/lib/dkms/thor/1.0.1/build/thor.o
/var/lib/dkms/thor/1.0.1/build/thor.o: warning: objtool: _Controller_process_response_map()+0x1b3: unreachable instruction
Building modules, stage 2.
MODPOST 1 modules
CC [M] /var/lib/dkms/thor/1.0.1/build/thor.mod.o
LD [M] /var/lib/dkms/thor/1.0.1/build/thor.ko
make: Leaving directory '/usr/src/linux-headers-5.4.0-131-generic'
Is this an error in objtool on Ubuntu within /usr/src/linux-headers-5.4.0-${26-130}/tools/objtool ?
Do you have a pointer to your code anywhere? Do you have .S files in it, or is it all C files? And did you ask the Canonical developers about this? You should have a support contract you are paying for with them, so why not use that? thanks, greg k-h _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
A: http://en.wikipedia.org/wiki/Top_post Q: Were do I find info about this thing called top-posting? A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? A: No. Q: Should I include quotations after my reply? http://daringfireball.net/2007/07/on_top On Wed, Nov 30, 2022 at 06:36:19PM -0500, John Aron wrote:
One C file and a few header files.
Can you provide a link to them so that we can see what might be the problem? Without that, it's impossible to help, sorry. thanks, greg k-h
Oh Dear - This wiki page brings my mind back to a hacker listserv conversation about semantics of discourse and Kevin Mitnick isms. Please accept my inline or outline apologies. John -----Original Message----- From: Greg KH <gregkh@linuxfoundation.org> Sent: Thursday, December 1, 2022 12:58 AM To: John Aron <john@aronetics.com> Cc: 'Mark Salter' <mark.salter@canonical.com>; 'Mark Lewis' <mark.lewis@canonical.com>; regressions@lists.linux.dev; stable@vger.kernel.org; kernelnewbies@kernelnewbies.org Subject: Re: OBJTOOL Build error A: http://en.wikipedia.org/wiki/Top_post Q: Were do I find info about this thing called top-posting? A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? A: No. Q: Should I include quotations after my reply? http://daringfireball.net/2007/07/on_top On Wed, Nov 30, 2022 at 06:36:19PM -0500, John Aron wrote:
One C file and a few header files.
Can you provide a link to them so that we can see what might be the problem? Without that, it's impossible to help, sorry. -- The repo is in a private repo online, the entry is: static int __init kernel_module_start(void) { Configuration* configuration = NULL; // enable the logger Logger_set_enabled(true); log_info("Starting Aronetics kernel module (configuration file name: \"%s\")...\n", _FILE_NAME_CONFIGURATION); controller = Controller_new(_FILE_NAME_CONFIGURATION); if (controller != NULL) { configuration = Controller_get_configuration(controller); String_dump_and_delete(Configuration_to_string(configuration)); log_verbose(" Initializing mutex...\n"); mutex_init(&controller_mutex); switch (Configuration_get_execution_mode(configuration)) { // case TestExecutionMode: // run_tests(); // break; default: log_verbose(" Initializing controller...\n"); if (Controller_initialize(controller) == 0) { log_verbose(" Setting up timer...\n"); timer_setup(&controller_timer, on_timer, 0); log_verbose(" Initalizing timer...\n"); mod_timer(&controller_timer, jiffies + msecs_to_jiffies(DELAY_ITERATION)); log_verbose("Aronetics kernel module started\n"); } else { log_error("Initialization failed."); } break; } } return 0; } thanks, greg k-h
On Thu, Dec 01, 2022 at 10:52:16AM -0500, John Aron wrote:
On Wed, Nov 30, 2022 at 06:36:19PM -0500, John Aron wrote:
One C file and a few header files.
Can you provide a link to them so that we can see what might be the problem? Without that, it's impossible to help, sorry. -- The repo is in a private repo online, the entry is: static int __init kernel_module_start(void)
<snip> Without the full source, it's pretty impossible to help, sorry. thanks, greg k-h
participants (4)
-
'Greg KH' -
Greg KH -
Greg KH -
John Aron