ld: arch/x86/entry/syscall_64.o:(.rodata+0xe08): undefined reference to `__x64_sys_pid' make: *** [Makefile:1183: vmlinux] Error 1 - linux-kernel

I am trying to add a system call to Linux kernel. After executing the command "make -j[nproc]" this error is encountered.
Following are the commands executed:
vim hello/hello.c
in this: SYSCALL_DEFINE1(hello,int, id){...}
Created a Makefile
Added hello/ to kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/ hello/ to main Makefile
In include/linux/syscalls.h added- asmlinkage long sys_hello(int id);
In arch/x86/entry/syscalls/syscall_64.tbl added- 442 common hello sys_hello
make menuconfig
In make -j2 I am getting above error

Related

error: linking with `ld` failed: exit status: 1

I'm trying to follow this guide as my entry into Solana blockchain development. I'm running into an error when I run the command $anchor build
For context, I'm running wsl. I'm not concerned about the warning, but any help would be much appreciated!
Here are the contents of the error:
error: linking with `ld` failed: exit status: 1
|
= note: "ld" "--version-script=/tmp/rustc7rlvlq/list" "--Bdynamic" "--entry=entrypoint" "--threads=1" "-z" "notext" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.0.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.1.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.10.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.11.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.12.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.13.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.14.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.15.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.2.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.3.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.4.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.5.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.6.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.7.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.8.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.solana_twitter.667be1f5-cgu.9.rcgu.o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.23ok8bvhjt9fifog.rcgu.o" "--as-needed" "-L" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps" "-L" "/home/tai8910/Code/solana-twitter/target/release/deps" "-L" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib" "-Bstatic" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libanchor_lang-369f9fcce7f9778b.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libbase64-ee92f11b5395c52e.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libsolana_program-9fe9cc99ff752644.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libserde_bytes-5207c42260a7c267.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libhex-6cd04f1b9c696e32.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libsolana_frozen_abi-f9c2f8b8a627f8aa.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libbs58-fe01222278a2eda8.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libbv-c7c0e796134886cb.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/liblazy_static-809b40aac429888e.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libitertools-c458dae8c4611cd8.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libeither-6eeb62e68a9b8e57.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libsha3-24b5c86da1eb0453.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libkeccak-ac25e9c6d97c1dff.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libthiserror-90c773aba6f68987.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libsha2-48f21f103c901542.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libopaque_debug-7a932b68d3299c7b.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libdigest-6389a1260a04b96b.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libblock_buffer-a630a7b4c9084931.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libblock_padding-1a56ee8f16ee908c.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libgeneric_array-d7158a87da87264b.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libtypenum-ef879e2476d2db6d.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/liblog-cc2d231fbaac5454.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libcfg_if-1643e4a2c6efb510.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libnum_traits-67afc00ec41f572f.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libbincode-daf7bb0fce4a700c.rlib"
"/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libserde-e445d83f85708c13.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libborsh-701da45de74b9763.rlib" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/libbytemuck-eaed85aa73d5dfbc.rlib" "--start-group" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/libstd-b9e47931bb048ddd.rlib" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/libpanic_abort-cee38af281743742.rlib" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/libstd_detect-4bf956fa4dfc36ef.rlib" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/libhashbrown-419e08fa951207df.rlib" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/librustc_std_workspace_alloc-f389bcb5a4dc00c1.rlib" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/libunwind-9d2b664eda1e59bf.rlib" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/libcfg_if-0df5cdc1ad3f0480.rlib" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/liblibc-1d523315f98b1675.rlib" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/liballoc-38dcdcf486775e23.rlib" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/librustc_std_workspace_core-8201043866f2d4dd.rlib" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/libcore-a4fd67b7f3cf9226.rlib" "--end-group" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib/libcompiler_builtins-fcfbbdc9d2a94cb9.rlib" "-Bdynamic" "--script" "/tmp/rustc7rlvlq/rustc-bpfel-linkfile.ld" "-znoexecstack" "-L" "/home/tai8910/.cache/solana/v1.20/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib" "-o" "/home/tai8910/Code/solana-twitter/target/bpfel-unknown-unknown/release/deps/solana_twitter.so" "--gc-sections" "-shared" "-O1"
= note: ld: unrecognized option '--threads=1'
ld: use the --help option for usage information
warning: `solana-twitter` (lib) generated 1 warning
error: could not compile `solana-twitter` due to previous error; 1 warning emitted
It looks like the build is not using the correct linker that's part of the BPF tool suite, probably using the default ld instead.
Can you make sure that ~/.local/share/solana/install/active_release/bin is part of your PATH? After that, try simply running cargo build-bpf to make sure that the program can build without Anchor. If it's still failing, you may need to reinstall the Solana tools.

Compiling GoodbyeDPI v0.1.6

I fail to compile sources of GoodbyeDPI v0.1.6 project https://github.com/ValdikSS/GoodbyeDPI/releases/tag/0.1.6.
When I run the command
make CPREFIX=x86_64-w64-mingw32- BIT64=1 WINDIVERTHEADERS="C:\Users\Admin\Downloads\WinDivert-2.2.0-Source\WinDivert-2.2.0\include" WINDIVERTLIBS="C:\Users\Admin\Downloads\WinDivert-2.2.0-A\WinDivert-2.2.0-A\x64"
which uses dependency on WinDivert project https://reqrypt.org/windivert.html I get the following output:
x86_64-w64-mingw32-windres goodbyedpi-rc.rc goodbyedpi-rc.o
process_begin: CreateProcess<NULL, x86_64-w64-mingw32-windres goodbyedpi-rc.rc goodbyedpi-rc.o, ...> failed.
make <e-2>: Can't find the file specified.
make: *** [manifest] Error 2
although I write the make command as it's said in Readme (at least I think so). I'm not very experienced in make procedure, so help me to figure out the problem, please.

How to build dpdk examples on windows

I am able to follow the directions on the dpdk docs for windows.
http://doc.dpdk.org/guides/windows_gsg/build_dpdk.html
I am able to run meson build and ninja -C build and everything seems to work. The problem is whenever I run with the flag -Dexamples=helloworld, or any example for that matter, I get the following failure after running ninja -C build
FAILED: examples/dpdk-helloworld.exe
"clang" -Wl,/MACHINE:X64 -Wl,/OUT:examples/dpdk-helloworld.exe examples/dpdk-helloworld.exe.p/helloworld_main.c.obj "-Wl,/nologo" "-Wl,/release" "-Wl,/nologo" "-Wl,/OPT:REF" "-Wl,/WHOLEARCHIVE:lib\librte_hash.a" "-Wl,/WHOLEARCHIVE:lib\librte_cmdline.a" "-Wl,/WHOLEARCHIVE:lib\librte_pci.a" "-Wl,/WHOLEARCHIVE:lib\librte_ethdev.a" "-Wl,/WHOLEARCHIVE:lib\librte_meter.a" "-Wl,/WHOLEARCHIVE:lib\librte_net.a" "-Wl,/WHOLEARCHIVE:lib\librte_mbuf.a" "-Wl,/WHOLEARCHIVE:lib\librte_mempool.a" "-Wl,/WHOLEARCHIVE:lib\librte_rcu.a" "-Wl,/WHOLEARCHIVE:lib\librte_ring.a" "-Wl,/WHOLEARCHIVE:lib\librte_eal.a" "-Wl,/WHOLEARCHIVE:lib\librte_telemetry.a" "-Wl,/WHOLEARCHIVE:lib\librte_kvargs.a" "-Wl,/WHOLEARCHIVE:drivers\librte_bus_pci.a" "-Wl,/WHOLEARCHIVE:drivers\librte_bus_vdev.a" "-Wl,/WHOLEARCHIVE:drivers\librte_mempool_ring.a" "-lws2_32" "-lmincore" "-ladvapi32" "-lsetupapi" "-ldbghelp" "lib\librte_hash.a" "lib\librte_cmdline.a" "lib\librte_pci.a" "lib\librte_ethdev.a" "lib\librte_meter.a" "lib\librte_net.a" "lib\librte_mbuf.a" "lib\librte_mempool.a" "lib\librte_rcu.a" "lib\librte_ring.a" "lib\librte_eal.a" "lib\librte_telemetry.a" "lib\librte_kvargs.a" "drivers\librte_bus_pci.a" "drivers\librte_bus_vdev.a" "drivers\librte_mempool_ring.a" "-Wl,--subsystem,console" "-lkernel32" "-luser32" "-lgdi32" "-lwinspool" "-lshell32" "-lole32" "-loleaut32" "-luuid" "-lcomdlg32"
LINK : warning LNK4044: unrecognized option '/-subsystem'; ignored
LINK : fatal error LNK1181: cannot open input file 'console.obj'
clang: error: linker command failed with exit code 1181 (use -v to see invocation)
[179/181] Linking target lib/rte_hash-21.dll
Creating library lib\rte_hash.lib and object lib\rte_hash.exp
ninja: build stopped: subcommand failed.

linux kernel compilation: ERROR: "function" [path/to/module/module.ko] undefined

I have a similar problem to this one, only for me it's an error not a warning. I'm building linux-4.8.5 with a patch applied to one module. I get:
ERROR: "intel_soc_pmic_readb" [drivers/gpu/drm/i915/i915.ko] undefined!
ERROR: "intel_soc_pmic_writeb" [drivers/gpu/drm/i915/i915.ko] undefined!
scripts/Makefile.modpost:91: recipe for target '__modpost' failed
make[1]: *** [__modpost] Error 1
Makefile:1201: recipe for target 'modules' failed
make: *** [modules] Error 2
In the other question they say something about KBUILD_EXTRA_SYMBOLS and documentation is supposed to be in Documentation/kbuild/modules.txt. But reading this file, this seems only to apply to modules not included in linux itself?
The functions are defined like
int function(){
do_stuff;
}
EXPORT_SYMBOL(function);
then there is the declaration
int function();
in a .h file in the include folder and it's called like
#include <the_aforementioned_file.h>
//stuff
function();
from a file in the same folder as the definition of the function. There are no other occurrences of the function name in the whole source tree.
And I really just don't see the mistake. Most likely I'm not looking in the right place, I guess.
As explained in a comment by Tsyvarev, this error is caused because the module in question is not being built, it requires the option CONFIG_INTEL_SOC_PMIC.

arch_vma_name undefined kernel module

I am getting following error when i try to insert a module
insmod: error inserting 'memory.ko': -1 Unknown symbol in module
Following happens when i make the module
make -C /lib/modules/2.6.32-279.19.1.el6.x86_64/build SUBDIRS=/work modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-279.19.1.el6.x86_64'
Building modules, stage 2.
MODPOST 1 modules
WARNING: "arch_vma_name" [/work/memory.ko] undefined!
make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.19.1.el6.x86_64'
You can see the reason of the error is arch_vma_name
Here is chunk of code where i used it
const char *name = arch_vma_name(vma);
I have included the header file
#include <linux/mm.h>
I am not able to understand the reason.

Resources