rust/src
bors 3d0c847d33 Auto merge of #74941 - dylanmckay:replace-broken-avr-unknown-unknown-target, r=oli-obk
[AVR] Replace broken 'avr-unknown-unknown' target with 'avr-unknown-gnu-atmega328' target

The `avr-unknown-unknown` target has never worked correctly, always trying to invoke
the host linker and failing. It aimed to be a mirror of AVR-GCC's
default handling of the `avr-unknown-unknown' triple (assume bare
minimum chip features, silently skip linking runtime libraries, etc).
This behaviour is broken-by-default as it will cause a miscompiled executable
when flashed.

This patch improves the AVR builtin target specifications to instead
expose only a 'avr-unknown-gnu-atmega328' target. This target system is
`gnu`, as it uses the AVR-GCC frontend along with avr-binutils. The
target triple ABI is 'atmega328'.

In the future, it should be possible to replace the dependency on
AVR-GCC and binutils by using the in-progress AVR LLD and compiler-rt support.
Perhaps at that point it would make sense to add an
'avr-unknown-unknown-atmega328' target as a better default when
implemented.

There is no current intention to add in-tree AVR target specifications for other
AVR microcontrollers - this one can serve as a reference implementation
for other devices via `rustc --print target-spec-json
avr-unknown-gnu-atmega328p`.

There should be no users of the existing 'avr-unknown-unknown' Rust
target as a custom target specification JSON has always been
recommended, and the avr-unknown-unknown target could never pass the
linking step anyway.
2020-08-27 15:48:56 +00:00
..
bootstrap Auto merge of #75947 - pietroalbini:bootstrap-update, r=Mark-Simulacrum 2020-08-27 09:24:51 +00:00
build_helper build: Harden env var tracking in build scripts 2020-07-22 19:51:19 +03:00
ci ci: fix macOS target name for LLVM 10 2020-08-25 17:41:50 +02:00
doc Auto merge of #74941 - dylanmckay:replace-broken-avr-unknown-unknown-target, r=oli-obk 2020-08-27 15:48:56 +00:00
etc Handle new HashMap layout in CDB, MSVC, WinDbg, etc. 2020-08-07 07:03:15 +01:00
librustc_apfloat
librustc_arena Simplify arena_types macros 2020-08-14 17:34:32 +01:00
librustc_ast Auto merge of #75465 - Aaron1011:feature/short-fn-def-span, r=estebank 2020-08-23 08:14:17 +00:00
librustc_ast_lowering hir: consistent use and naming of lang items 2020-08-24 12:17:51 +01:00
librustc_ast_passes Auto merge of #74566 - lzutao:guard, r=petrochenkov 2020-08-22 15:38:13 +00:00
librustc_ast_pretty rust_ast::ast => rustc_ast 2020-08-17 20:32:32 +00:00
librustc_attr rust_ast::ast => rustc_ast 2020-08-17 20:32:32 +00:00
librustc_builtin_macros Use smaller def span for functions 2020-08-22 18:41:49 -04:00
librustc_codegen_llvm More inline asm register name fixups for LLVM 2020-08-21 18:42:06 +01:00
librustc_codegen_ssa hir: consistent use and naming of lang items 2020-08-24 12:17:51 +01:00
librustc_data_structures Add tagged pointer impl to data structures 2020-08-19 15:08:35 -04:00
librustc_driver rust_ast::ast => rustc_ast 2020-08-17 20:32:32 +00:00
librustc_error_codes Rollup merge of #75702 - GuillaumeGomez:cleanup-e0759, r=pickfire 2020-08-20 10:07:22 -07:00
librustc_errors Rollup merge of #75389 - RalfJung:span_label, r=davidtwco 2020-08-18 09:27:39 +09:00
librustc_expand Prefer https link for wikipedia URLs 2020-08-23 10:02:42 +00:00
librustc_feature Auto merge of #74566 - lzutao:guard, r=petrochenkov 2020-08-22 15:38:13 +00:00
librustc_fs_util
librustc_graphviz
librustc_hir hir: consistent use and naming of lang items 2020-08-24 12:17:51 +01:00
librustc_hir_pretty Auto merge of #75120 - JulianKnodt:rm_reps, r=oli-obk 2020-08-17 23:16:08 +00:00
librustc_incremental rust_ast::ast => rustc_ast 2020-08-17 20:32:32 +00:00
librustc_index Auto merge of #75537 - tmiasko:match-branch-simplify, r=oli-obk 2020-08-15 13:41:05 +00:00
librustc_infer Auto merge of #72784 - csmoe:issue-61076, r=estebank 2020-08-27 07:26:32 +00:00
librustc_interface Promote missing_fragment_specifier to hard error 2020-08-18 09:06:45 +02:00
librustc_lexer Introduce expect snapshot testing library into rustc 2020-08-24 15:38:42 +02:00
librustc_lint Fix ICE on unwrap of unknown layout. 2020-08-27 00:15:24 +10:00
librustc_llvm Fix windows-gnu host cross-compilation 2020-08-19 19:37:22 +02:00
librustc_macros Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_metadata Auto merge of #75811 - ecstatic-morse:better-dlerror, r=nagisa 2020-08-26 01:40:26 +00:00
librustc_middle Auto merge of #72784 - csmoe:issue-61076, r=estebank 2020-08-27 07:26:32 +00:00
librustc_mir Auto merge of #75893 - Dylan-DPC:fix/offset-to-u64, r=oli-obk 2020-08-26 13:10:42 +00:00
librustc_mir_build Auto merge of #75893 - Dylan-DPC:fix/offset-to-u64, r=oli-obk 2020-08-26 13:10:42 +00:00
librustc_parse Auto merge of #75465 - Aaron1011:feature/short-fn-def-span, r=estebank 2020-08-23 08:14:17 +00:00
librustc_parse_format fix clippy::map_identity: remove redundant .map(|x| x) call 2020-08-07 22:47:32 +02:00
librustc_passes hir: consistent use and naming of lang items 2020-08-24 12:17:51 +01:00
librustc_plugin_impl rust_ast::ast => rustc_ast 2020-08-17 20:32:32 +00:00
librustc_privacy hir: introduce QPath::LangItem 2020-08-16 15:42:25 +01:00
librustc_query_system replaced log with tracing 2020-08-15 13:03:11 -07:00
librustc_resolve resolve: Add comments to traits_in_scope 2020-08-23 17:47:59 -04:00
librustc_save_analysis Use smaller def span for functions 2020-08-22 18:41:49 -04:00
librustc_serialize Fix rustc_serialize unit tests 2020-08-14 17:34:32 +01:00
librustc_session Auto merge of #74275 - wesleywiser:break_up_partitioning_rs, r=pnkfelix 2020-08-25 18:52:11 +00:00
librustc_span Auto merge of #73084 - Aaron1011:feature/new-recursive-expand, r=petrochenkov 2020-08-23 01:44:36 +00:00
librustc_symbol_mangling Prefer https link for wikipedia URLs 2020-08-23 10:02:42 +00:00
librustc_target Auto merge of #74941 - dylanmckay:replace-broken-avr-unknown-unknown-target, r=oli-obk 2020-08-27 15:48:56 +00:00
librustc_trait_selection hir: consistent use and naming of lang items 2020-08-24 12:17:51 +01:00
librustc_traits rust_ast::ast => rustc_ast 2020-08-17 20:32:32 +00:00
librustc_ty hir: consistent use and naming of lang items 2020-08-24 12:17:51 +01:00
librustc_typeck Auto merge of #72784 - csmoe:issue-61076, r=estebank 2020-08-27 07:26:32 +00:00
librustdoc Auto merge of #75842 - camelid:highlight-crate-links, r=jyn514 2020-08-27 02:51:01 +00:00
llvm-project@45790d7949 Upgrade to LLVM 11 (rc2) 2020-08-22 13:44:54 -07:00
rustc
rustllvm Write coverage filenames in Version3 format 2020-08-22 13:44:54 -07:00
test Auto merge of #74941 - dylanmckay:replace-broken-avr-unknown-unknown-target, r=oli-obk 2020-08-27 15:48:56 +00:00
tools Avoid function-scoping global variables 2020-08-26 17:24:52 -04:00
README.md Update outdated readme 2020-07-27 22:05:34 -05:00
stage0.txt bump version to 1.48 2020-08-26 10:16:59 +02:00

This directory contains the source code of the rust project, including:

  • rustc and its tests
  • The bootstrapping build system
  • Various submodules for tools, like rustdoc, rls, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.