From c0da8ab1b70cb5fc34652cbd547337046716d83e Mon Sep 17 00:00:00 2001 From: Andre Richter Date: Wed, 24 Mar 2021 00:00:21 +0100 Subject: [PATCH] Remove confusing statement --- 02_runtime_init/README.md | 15 ++++----------- 02_runtime_init/src/bsp/raspberrypi/link.ld | 13 +++---------- 03_hacky_hello_world/src/bsp/raspberrypi/link.ld | 13 +++---------- 04_safe_globals/src/bsp/raspberrypi/link.ld | 13 +++---------- 05_drivers_gpio_uart/src/bsp/raspberrypi/link.ld | 13 +++---------- 06_uart_chainloader/README.md | 2 +- 06_uart_chainloader/src/bsp/raspberrypi/link.ld | 13 +++---------- 07_timestamps/README.md | 2 +- 07_timestamps/src/bsp/raspberrypi/link.ld | 13 +++---------- 08_hw_debug_JTAG/src/bsp/raspberrypi/link.ld | 13 +++---------- 09_privilege_level/src/bsp/raspberrypi/link.ld | 13 +++---------- 10_virtual_mem_part1_identity_mapping/README.md | 2 +- .../src/bsp/raspberrypi/link.ld | 13 +++---------- .../src/bsp/raspberrypi/link.ld | 13 +++---------- 12_integrated_testing/src/bsp/raspberrypi/link.ld | 13 +++---------- .../src/bsp/raspberrypi/link.ld | 13 +++---------- 14_virtual_mem_part2_mmio_remap/README.md | 4 ++-- .../src/bsp/raspberrypi/link.ld | 13 +++---------- X1_JTAG_boot/src/bsp/raspberrypi/link.ld | 13 +++---------- 19 files changed, 51 insertions(+), 156 deletions(-) diff --git a/02_runtime_init/README.md b/02_runtime_init/README.md index 81143304..b294e2e1 100644 --- a/02_runtime_init/README.md +++ b/02_runtime_init/README.md @@ -186,7 +186,7 @@ diff -uNr 01_wait_forever/src/bsp/raspberrypi/cpu.rs 02_runtime_init/src/bsp/ras diff -uNr 01_wait_forever/src/bsp/raspberrypi/link.ld 02_runtime_init/src/bsp/raspberrypi/link.ld --- 01_wait_forever/src/bsp/raspberrypi/link.ld +++ 02_runtime_init/src/bsp/raspberrypi/link.ld -@@ -11,17 +11,52 @@ +@@ -11,17 +11,45 @@ PHDRS { segment_rx PT_LOAD FLAGS(5); /* 5 == RX */ @@ -209,16 +209,9 @@ diff -uNr 01_wait_forever/src/bsp/raspberrypi/link.ld 02_runtime_init/src/bsp/ra .text : { KEEP(*(.text._start)) -+ -+ /* Special constants (or statics in Rust speak) needed by _start(). -+ * -+ * They are placed in close proximity to _start() from where they will be read. This ensures -+ * that position-independent, PC-relative loads can be emitted. -+ */ -+ *(.text._start_arguments) -+ -+ *(.text._start_rust) /* The Rust entry point */ -+ *(.text*) /* Everything else */ ++ *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ ++ *(.text._start_rust) /* The Rust entry point */ ++ *(.text*) /* Everything else */ } :segment_rx + + .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/02_runtime_init/src/bsp/raspberrypi/link.ld b/02_runtime_init/src/bsp/raspberrypi/link.ld index 3b73b3c7..97ea6d69 100644 --- a/02_runtime_init/src/bsp/raspberrypi/link.ld +++ b/02_runtime_init/src/bsp/raspberrypi/link.ld @@ -29,16 +29,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/03_hacky_hello_world/src/bsp/raspberrypi/link.ld b/03_hacky_hello_world/src/bsp/raspberrypi/link.ld index 3b73b3c7..97ea6d69 100644 --- a/03_hacky_hello_world/src/bsp/raspberrypi/link.ld +++ b/03_hacky_hello_world/src/bsp/raspberrypi/link.ld @@ -29,16 +29,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/04_safe_globals/src/bsp/raspberrypi/link.ld b/04_safe_globals/src/bsp/raspberrypi/link.ld index 3b73b3c7..97ea6d69 100644 --- a/04_safe_globals/src/bsp/raspberrypi/link.ld +++ b/04_safe_globals/src/bsp/raspberrypi/link.ld @@ -29,16 +29,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/05_drivers_gpio_uart/src/bsp/raspberrypi/link.ld b/05_drivers_gpio_uart/src/bsp/raspberrypi/link.ld index 3b73b3c7..97ea6d69 100644 --- a/05_drivers_gpio_uart/src/bsp/raspberrypi/link.ld +++ b/05_drivers_gpio_uart/src/bsp/raspberrypi/link.ld @@ -29,16 +29,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/06_uart_chainloader/README.md b/06_uart_chainloader/README.md index 89a4c796..c0539046 100644 --- a/06_uart_chainloader/README.md +++ b/06_uart_chainloader/README.md @@ -315,7 +315,7 @@ diff -uNr 05_drivers_gpio_uart/src/bsp/raspberrypi/link.ld 06_uart_chainloader/s .text : { KEEP(*(.text._start)) -@@ -49,8 +51,12 @@ +@@ -42,8 +44,12 @@ ***********************************************************************************************/ .data : { *(.data*) } :segment_rw diff --git a/06_uart_chainloader/src/bsp/raspberrypi/link.ld b/06_uart_chainloader/src/bsp/raspberrypi/link.ld index f7523906..324172b1 100644 --- a/06_uart_chainloader/src/bsp/raspberrypi/link.ld +++ b/06_uart_chainloader/src/bsp/raspberrypi/link.ld @@ -31,16 +31,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/07_timestamps/README.md b/07_timestamps/README.md index b898aa40..dc40f804 100644 --- a/07_timestamps/README.md +++ b/07_timestamps/README.md @@ -398,7 +398,7 @@ diff -uNr 06_uart_chainloader/src/bsp/raspberrypi/link.ld 07_timestamps/src/bsp/ .text : { KEEP(*(.text._start)) -@@ -51,12 +49,8 @@ +@@ -44,12 +42,8 @@ ***********************************************************************************************/ .data : { *(.data*) } :segment_rw diff --git a/07_timestamps/src/bsp/raspberrypi/link.ld b/07_timestamps/src/bsp/raspberrypi/link.ld index 3b73b3c7..97ea6d69 100644 --- a/07_timestamps/src/bsp/raspberrypi/link.ld +++ b/07_timestamps/src/bsp/raspberrypi/link.ld @@ -29,16 +29,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/08_hw_debug_JTAG/src/bsp/raspberrypi/link.ld b/08_hw_debug_JTAG/src/bsp/raspberrypi/link.ld index 3b73b3c7..97ea6d69 100644 --- a/08_hw_debug_JTAG/src/bsp/raspberrypi/link.ld +++ b/08_hw_debug_JTAG/src/bsp/raspberrypi/link.ld @@ -29,16 +29,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/09_privilege_level/src/bsp/raspberrypi/link.ld b/09_privilege_level/src/bsp/raspberrypi/link.ld index 3b73b3c7..97ea6d69 100644 --- a/09_privilege_level/src/bsp/raspberrypi/link.ld +++ b/09_privilege_level/src/bsp/raspberrypi/link.ld @@ -29,16 +29,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/10_virtual_mem_part1_identity_mapping/README.md b/10_virtual_mem_part1_identity_mapping/README.md index d2d72ea5..3161e6b0 100644 --- a/10_virtual_mem_part1_identity_mapping/README.md +++ b/10_virtual_mem_part1_identity_mapping/README.md @@ -821,7 +821,7 @@ diff -uNr 09_privilege_level/src/bsp/raspberrypi/link.ld 10_virtual_mem_part1_id .text : { KEEP(*(.text._start)) -@@ -44,6 +45,9 @@ +@@ -37,6 +38,9 @@ .rodata : ALIGN(8) { *(.rodata*) } :segment_rx .got : ALIGN(8) { *(.got) } :segment_rx diff --git a/10_virtual_mem_part1_identity_mapping/src/bsp/raspberrypi/link.ld b/10_virtual_mem_part1_identity_mapping/src/bsp/raspberrypi/link.ld index 854f5b38..bda0da5e 100644 --- a/10_virtual_mem_part1_identity_mapping/src/bsp/raspberrypi/link.ld +++ b/10_virtual_mem_part1_identity_mapping/src/bsp/raspberrypi/link.ld @@ -30,16 +30,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/11_exceptions_part1_groundwork/src/bsp/raspberrypi/link.ld b/11_exceptions_part1_groundwork/src/bsp/raspberrypi/link.ld index 854f5b38..bda0da5e 100644 --- a/11_exceptions_part1_groundwork/src/bsp/raspberrypi/link.ld +++ b/11_exceptions_part1_groundwork/src/bsp/raspberrypi/link.ld @@ -30,16 +30,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/12_integrated_testing/src/bsp/raspberrypi/link.ld b/12_integrated_testing/src/bsp/raspberrypi/link.ld index 854f5b38..bda0da5e 100644 --- a/12_integrated_testing/src/bsp/raspberrypi/link.ld +++ b/12_integrated_testing/src/bsp/raspberrypi/link.ld @@ -30,16 +30,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/13_exceptions_part2_peripheral_IRQs/src/bsp/raspberrypi/link.ld b/13_exceptions_part2_peripheral_IRQs/src/bsp/raspberrypi/link.ld index 854f5b38..bda0da5e 100644 --- a/13_exceptions_part2_peripheral_IRQs/src/bsp/raspberrypi/link.ld +++ b/13_exceptions_part2_peripheral_IRQs/src/bsp/raspberrypi/link.ld @@ -30,16 +30,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/14_virtual_mem_part2_mmio_remap/README.md b/14_virtual_mem_part2_mmio_remap/README.md index cf387da9..ca7905f1 100644 --- a/14_virtual_mem_part2_mmio_remap/README.md +++ b/14_virtual_mem_part2_mmio_remap/README.md @@ -1468,7 +1468,7 @@ diff -uNr 13_exceptions_part2_peripheral_IRQs/src/bsp/raspberrypi/link.ld 14_vir /*********************************************************************************************** * Code + RO Data + Global Offset Table -@@ -51,6 +46,7 @@ +@@ -44,6 +39,7 @@ /*********************************************************************************************** * Data + BSS ***********************************************************************************************/ @@ -1476,7 +1476,7 @@ diff -uNr 13_exceptions_part2_peripheral_IRQs/src/bsp/raspberrypi/link.ld 14_vir .data : { *(.data*) } :segment_rw /* Section is zeroed in u64 chunks, align start and end to 8 bytes */ -@@ -63,4 +59,23 @@ +@@ -56,4 +52,23 @@ . += 8; /* Fill for the bss == 0 case, so that __bss_start <= __bss_end_inclusive holds */ __bss_end_inclusive = . - 8; } :NONE diff --git a/14_virtual_mem_part2_mmio_remap/src/bsp/raspberrypi/link.ld b/14_virtual_mem_part2_mmio_remap/src/bsp/raspberrypi/link.ld index 7fddf3ec..64545edf 100644 --- a/14_virtual_mem_part2_mmio_remap/src/bsp/raspberrypi/link.ld +++ b/14_virtual_mem_part2_mmio_remap/src/bsp/raspberrypi/link.ld @@ -25,16 +25,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx diff --git a/X1_JTAG_boot/src/bsp/raspberrypi/link.ld b/X1_JTAG_boot/src/bsp/raspberrypi/link.ld index 3b73b3c7..97ea6d69 100644 --- a/X1_JTAG_boot/src/bsp/raspberrypi/link.ld +++ b/X1_JTAG_boot/src/bsp/raspberrypi/link.ld @@ -29,16 +29,9 @@ SECTIONS .text : { KEEP(*(.text._start)) - - /* Special constants (or statics in Rust speak) needed by _start(). - * - * They are placed in close proximity to _start() from where they will be read. This ensures - * that position-independent, PC-relative loads can be emitted. - */ - *(.text._start_arguments) - - *(.text._start_rust) /* The Rust entry point */ - *(.text*) /* Everything else */ + *(.text._start_arguments) /* Constants (or statics in Rust speak) read by _start(). */ + *(.text._start_rust) /* The Rust entry point */ + *(.text*) /* Everything else */ } :segment_rx .rodata : ALIGN(8) { *(.rodata*) } :segment_rx