Skip to content
This repository was archived by the owner on Jan 14, 2024. It is now read-only.
This repository was archived by the owner on Jan 14, 2024. It is now read-only.

bitops.h:209:9: error: 'asm goto' constructs are not supported yet #2

@omac777

Description

@omac777

I tried to build the hello_world example and it failed.

I followed the instructions:

export PATH=/home/loongson/.cargo/bin:$PATH;
rustup component add --toolchain=nightly rust-src
rustup component add rustfmt-preview
cargo install cargo-edit
cargo install cargo-xbuild

uname -a
Linux righteous 5.2.0-2-amd64 #1 SMP Debian 5.2.7-1 (2019-08-07) x86_64 GNU/Linux

sudo apt-get install llvm clang
Reading package lists... Done
Building dependency tree       
Reading state information... Done
clang is already the newest version (1:7.0-47.1).
llvm is already the newest version (1:7.0-47.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

sudo apt-get install linux-headers-`uname -r`
Reading package lists... Done
Building dependency tree       
Reading state information... Done
linux-headers-5.2.0-2-amd64 is already the newest version (5.2.7-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

loongson@righteous:~/redoxstuff/linux-kernel-module-rust/hello_world$ cargo -V
cargo 1.38.0-nightly (e853aa976 2019-08-09)

git clone https://github.com/lizhuohua/linux-kernel-module-rust.git
cd linux-kernel-module-rust/
cd hello_world
RUST_TARGET_PATH=$(pwd)/.. cargo xbuild --target x86_64-linux-kernel-module
loongson@righteous:~/redoxstuff/linux-kernel-module-rust/hello_world$ RUST_TARGET_PATH=$(pwd)/.. cargo xbuild --target x86_64-linux-kernel-module
    Updating crates.io index
  Downloaded compiler_builtins v0.1.19
   Compiling core v0.0.0 (/home/loongson/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore)
   Compiling compiler_builtins v0.1.19
   Compiling rustc-std-workspace-core v1.0.0 (/home/loongson/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/tools/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/tmp/xargo.fIuOm42grKJg)
    Finished release [optimized] target(s) in 22.59s
    Updating crates.io index
  Downloaded bindgen v0.43.2
  Downloaded env_logger v0.6.2
  Downloaded cexpr v0.3.5
  Downloaded peeking_take_while v0.1.2
  Downloaded which v1.0.5
  Downloaded nom v4.2.3
  Downloaded clang-sys v0.26.4
  Downloaded proc-macro2 v0.3.5
  Downloaded libloading v0.5.2
   Compiling memchr v2.2.1
   Compiling version_check v0.1.5
   Compiling libc v0.2.62
   Compiling cc v1.0.40
   Compiling bitflags v1.1.0
   Compiling log v0.4.8
   Compiling glob v0.2.11
   Compiling lazy_static v1.3.0
   Compiling quick-error v1.2.2
   Compiling cfg-if v0.1.9
   Compiling regex-syntax v0.6.11
   Compiling unicode-xid v0.1.0
   Compiling unicode-width v0.1.5
   Compiling termcolor v1.0.5
   Compiling strsim v0.8.0
   Compiling ansi_term v0.11.0
   Compiling bindgen v0.43.2
   Compiling vec_map v0.8.1
   Compiling peeking_take_while v0.1.2
   Compiling shlex v0.1.1
   Compiling thread_local v0.3.6
   Compiling humantime v1.2.0
   Compiling proc-macro2 v0.3.5
   Compiling textwrap v0.11.0
   Compiling nom v4.2.3
   Compiling clang-sys v0.26.4
   Compiling quote v0.5.2
   Compiling aho-corasick v0.7.6
   Compiling atty v0.2.13
   Compiling which v1.0.5
   Compiling clap v2.33.0
   Compiling libloading v0.5.2
   Compiling cexpr v0.3.5
   Compiling regex v1.2.1
   Compiling env_logger v0.6.2
   Compiling linux-kernel-module v0.1.0 (/home/loongson/redoxstuff/linux-kernel-module-rust)
error: failed to run custom build command for `linux-kernel-module v0.1.0 (/home/loongson/redoxstuff/linux-kernel-module-rust)`

Caused by:
  process didn't exit successfully: `/home/loongson/redoxstuff/linux-kernel-module-rust/hello_world/target/debug/build/linux-kernel-module-7c510a191cf3f5d3/build-script-build` (exit code: 101)
--- stdout
Target=x86_64-linux-kernel-module
get output:-nostdinc -isystem /usr/lib/llvm-7/lib/clang/7.0.1/include -I/usr/src/linux-headers-5.2.0-2-common/arch/x86/include -I/usr/src/linux-headers-5.2.0-2-amd64/./arch/x86/include/generated -I/usr/src/linux-headers-5.2.0-2-common/include -I/usr/src/linux-headers-5.2.0-2-amd64/./include -I/usr/src/linux-headers-5.2.0-2-common/arch/x86/include/uapi -I/usr/src/linux-headers-5.2.0-2-amd64/./arch/x86/include/generated/uapi -I/usr/src/linux-headers-5.2.0-2-common/include/uapi -I/usr/src/linux-headers-5.2.0-2-amd64/./include/generated/uapi -include /usr/src/linux-headers-5.2.0-2-common/include/linux/kconfig.h -DMODULE

cargo:rerun-if-changed=src/bindgen_helper.h

--- stderr
/usr/src/linux-headers-5.2.0-2-common/arch/x86/include/asm/bitops.h:128:2: warning: implicit declaration of function 'barrier' is invalid in C99 [-Wimplicit-function-declaration]
/usr/src/linux-headers-5.2.0-2-common/arch/x86/include/asm/bitops.h:209:9: error: 'asm goto' constructs are not supported yet
/usr/src/linux-headers-5.2.0-2-common/arch/x86/include/asm/bitops.h:255:9: error: 'asm goto' constructs are not supported yet
/usr/src/linux-headers-5.2.0-2-common/arch/x86/include/asm/bitops.h:308:9: error: 'asm goto' constructs are not supported yet
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:47:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration]
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:53:26: warning: implicit declaration of function 'hweight32' is invalid in C99 [-Wimplicit-function-declaration]
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:53:41: warning: implicit declaration of function 'hweight64' is invalid in C99 [-Wimplicit-function-declaration]
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:163:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration]
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:164:9: warning: implicit declaration of function 'fls64' is invalid in C99 [-Wimplicit-function-declaration]
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:171:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration]
/usr/src/linux-headers-5.2.0-2-common/include/linux/log2.h:24:9: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration]
/usr/src/linux-headers-5.2.0-2-common/include/linux/log2.h:32:9: warning: implicit declaration of function 'fls64' is invalid in C99 [-Wimplicit-function-declaration]
/usr/src/linux-headers-5.2.0-2-common/include/linux/log2.h:197:15: error: unknown type name '__attribute_const__'
/usr/src/linux-headers-5.2.0-2-common/include/linux/log2.h:198:1: error: expected identifier or '('
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:142:13: error: expected parameter declarator
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:142:13: error: expected ')'
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:142:13: note: to match this '('
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:142:24: error: expected function body after function declarator
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:149:5: error: expected parameter declarator
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:149:5: error: expected ')'
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:149:5: note: to match this '('
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:149:5: error: expected function body after function declarator
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:142:28: error: expected parameter declarator
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:142:28: error: expected ')'
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:142:27: note: to match this '('
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:142:19: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:142:33: error: expected ';' after top level declarator
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:162:21: error: expected parameter declarator
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:162:21: error: expected ')'
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:162:20: note: to match this '('
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:162:12: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:162:26: error: expected ';' after top level declarator
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:167:21: error: expected parameter declarator
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:167:21: error: expected ')'
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:167:20: note: to match this '('
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:167:12: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
/usr/src/linux-headers-5.2.0-2-common/arch/x86/include/asm/bitops.h:128:2: warning: implicit declaration of function 'barrier' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/src/linux-headers-5.2.0-2-common/arch/x86/include/asm/bitops.h:209:9: error: 'asm goto' constructs are not supported yet, err: true
/usr/src/linux-headers-5.2.0-2-common/arch/x86/include/asm/bitops.h:255:9: error: 'asm goto' constructs are not supported yet, err: true
/usr/src/linux-headers-5.2.0-2-common/arch/x86/include/asm/bitops.h:308:9: error: 'asm goto' constructs are not supported yet, err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:47:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:53:26: warning: implicit declaration of function 'hweight32' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:53:41: warning: implicit declaration of function 'hweight64' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:163:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:164:9: warning: implicit declaration of function 'fls64' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/src/linux-headers-5.2.0-2-common/include/linux/bitops.h:171:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/src/linux-headers-5.2.0-2-common/include/linux/log2.h:24:9: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/src/linux-headers-5.2.0-2-common/include/linux/log2.h:32:9: warning: implicit declaration of function 'fls64' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/src/linux-headers-5.2.0-2-common/include/linux/log2.h:197:15: error: unknown type name '__attribute_const__', err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/log2.h:198:1: error: expected identifier or '(', err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:142:13: error: expected parameter declarator, err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:142:13: error: expected ')', err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:142:24: error: expected function body after function declarator, err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:149:5: error: expected parameter declarator, err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:149:5: error: expected ')', err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/init.h:149:5: error: expected function body after function declarator, err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:142:28: error: expected parameter declarator, err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:142:28: error: expected ')', err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:142:19: warning: type specifier missing, defaults to 'int' [-Wimplicit-int], err: false
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:142:33: error: expected ';' after top level declarator, err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:162:21: error: expected parameter declarator, err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:162:21: error: expected ')', err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:162:12: warning: type specifier missing, defaults to 'int' [-Wimplicit-int], err: false
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:162:26: error: expected ';' after top level declarator, err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:167:21: error: expected parameter declarator, err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:167:21: error: expected ')', err: true
/usr/src/linux-headers-5.2.0-2-common/include/linux/printk.h:167:12: warning: type specifier missing, defaults to 'int' [-Wimplicit-int], err: false
fatal error: too many errors emitted, stopping now [-ferror-limit=], err: true
thread 'main' panicked at 'Unable to generate bindings: ()', src/libcore/result.rs:1084:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions