Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider use -Z build-std instead of xbuild #488

Closed
gaojiaqi7 opened this issue Jan 4, 2023 · 2 comments
Closed

Consider use -Z build-std instead of xbuild #488

gaojiaqi7 opened this issue Jan 4, 2023 · 2 comments
Assignees

Comments

@gaojiaqi7
Copy link
Member

Using xbuild requires additional installation. Cargo provides -Z build-std to build rust program without standard library.

For example:

cargo build -Z build-std=core,alloc,compiler_builtins -p td-shim --target x86_64-unknown-none --release --features=main,tdx
@jyao1
Copy link
Member

jyao1 commented Jan 6, 2023

please evaluate size difference before adopt this change

@gaojiaqi7
Copy link
Member Author

-Z build-std can work with release profile but failed on dev profile (debug build) when lto is enabled, but we have to enable lto otherwise binary will be too large.

= note: rust-lld: error: undefined symbol: core::panicking::panic::h218ed11d329799d8
          >>> referenced by x86_64.rs:84 (src/mem/x86_64.rs:84)
          >>>               compiler_builtins-bb203116f4d58bf2.compiler_builtins.878843f6-cgu.6.rcgu.o:(compiler_builtins::mem::memmove::hb0804155d706ca64) in archive /home/jiaqi/source/td-shim/target/x86_64-unknown-none/debug/deps/libcompiler_builtins-bb203116f4d58bf2.rlib
          >>> referenced by x86_64.rs:85 (src/mem/x86_64.rs:85)
          >>>               compiler_builtins-bb203116f4d58bf2.compiler_builtins.878843f6-cgu.6.rcgu.o:(compiler_builtins::mem::memmove::hb0804155d706ca64) in archive /home/jiaqi/source/td-shim/target/x86_64-unknown-none/debug/deps/libcompiler_builtins-bb203116f4d58bf2.rlib
          >>> referenced by x86_64.rs:107 (src/mem/x86_64.rs:107)
          >>>               compiler_builtins-bb203116f4d58bf2.compiler_builtins.878843f6-cgu.6.rcgu.o:(compiler_builtins::mem::memset::h2e2853763d9a5b4a) in archive /home/jiaqi/source/td-shim/target/x86_64-unknown-none/debug/deps/libcompiler_builtins-bb203116f4d58bf2.rlib
          >>> referenced 3 more times
...

rust-lang/compiler-builtins#347

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants