diff options
author | Alan Modra <amodra@gmail.com> | 2023-03-09 11:53:16 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2023-03-10 21:22:16 +1030 |
commit | 75bd292bea53d6ce8de66f30d67c2edb4a558110 (patch) | |
tree | 82b642338ab4ecb6404ea72442d4d40e5a3cb64b /ld/NEWS | |
parent | 36ba37c085438d23de2289ea17b56e7b91d1c5c5 (diff) |
Revert ld DIGEST support
This is a hopefully temporary reversion of new ld features for
embedded processors by Ulf Samuelsson, plus some followup patches.
Squashed together from the following:
Revert "lddigest 32-bit support and gcc-4 compile errors"
This reverts commit d7ee19be87110a8f5342cec6e323d83d01c641d1.
Revert "ld: Use correct types for crc64 calculations"
This reverts commit 9a534b9f8e3d0f3cdb5a20f19ff165693fbb84d2.
Revert "Re: DIGEST: testsuite"
This reverts commit c8e85484d8a0fe9f7b88e00a6b9ae63bcb53ba32.
Revert "Regen potfiles"
This reverts commit 4d98c966f8bf305ab25badd34cb295631873cf7c.
Revert "DIGEST: Makefile.*"
This reverts commit 78ef6ab03f56ce83a606d974bb8a9f34b5d6e0b7.
Revert "DIGEST: calculation"
This reverts commit 5243990191e683d5066d3dd622c76deaba0bf15c.
Revert "DIGEST: ldlang.*: add timestamp"
This reverts commit bd9466d4aa277a469a9d8b12f0a6e6fa51678e36.
Revert "DIGEST: ldmain.c"
This reverts commit c8f8653fa7eeb3dc0769ac23039eadb5c5f09dff.
Revert "DIGEST: ldgram.y"
This reverts commit d73c01be2669e9c5267fab669a269f95a32048c9.
Revert "DIGEST: ldlex.l"
This reverts commit 48b5163a9dd5759cc87171331bbd6e902c547b5a.
Revert "DIGEST: testsuite"
This reverts commit a4135d1a4886400ea29af2da782dd8dd40ccad23.
Revert "DIGEST: Documentation"
This reverts commit 3ec28966c3e4c63704212778f96c517cbf2e0090.
Revert "DIGEST: NEWS"
This reverts commit 099bf2927d446424e8585a60cf4ce63209999aa2.
Revert "DIGEST: LICENSING"
This reverts commit 5c8a0c6654fb55926985edf3b360b62d4f20691d.
Diffstat (limited to 'ld/NEWS')
-rw-r--r-- | ld/NEWS | 77 |
1 files changed, 4 insertions, 73 deletions
@@ -1,74 +1,5 @@ -*- text -*- -* The linker script has a new command to insert a timestamp - TIMESTAMP - inserts the current time (seconds since Epoch) as a 64-bit value - -* The linker script syntax has new commands for debugging a linker script - DEBUG ON turns on debugging - DEBUG OFF turns off debugging - -* The linker script syntax has new commands for handling CRC-32/64 calculations - on the '.text' section - It uses code from https://www.libcrc.org/ - - DIGEST "<label>[#<endian>]" "CRC32" (start, end) - DIGEST "<label>[#<endian>]" "CRC64-ECMA" (start, end) - DIGEST "<label>[#<endian>]" "CRC64-GO-ISO" (start, end) - DIGEST "<label>[#<endian>]" "CRC64-GO-ISO-R" (start, end) - DIGEST "<label>[#<endian>]" "CRC64-WE" (start, end) - DIGEST "<label>[#<endian>]" "CRC64-XZ" (start, end) - DIGEST "<label>[#<endian>]" POLY (<params>) (start, end) - DIGEST TABLE "<label>[#<endian>]" - - The CRC32, CRC64-ECMA, CRC64-ISO, CRC64-WE and POLY defines - the polynome to use and reserves space for the 32/64-bit CRC in the - current section (default ".text"). It also defines a label "<label>". - The endian can be specified through "#BE" or "#LE" modifiers for - big endian or little endian. This overrides the "-BE" or "-LE" switches on the - command line. If no specification is used, little endian - digest and table will be emitted. - The generated label does not include the modifier. - - When generating a custom polynome you have to supply parameters - in the following order - * size {32 | 64 } - * polynome - * initial initial value of crc - * xor value xor with this before returning result - * input reflect bitreverse input data - * output reflect bitreverse result - * reciprocal bitreverse polynome - - These terms are explained at - http://www.sunshine2k.de/articles/coding/crc/understanding_crc.html - - The 32 bit DIGEST <polynome> command defines some global symbols. - ___CRC32___ is the address of the CRC64 checksum - ___CRC32_START___ is the address where CRC calculation starts - ___CRC32_END___ The CRC calculation ends before this address. - - The 64-bit DIGEST <polynome> command defines some global symbols. - ___CRC64___ is the address of the CRC64 checksum - ___CRC64_START___ is the address where CRC calculation starts - ___CRC64_END___ The CRC calculation ends before this address. - - All three symbols must refer to addresses in the selected section. - If they are defined at the end of the linking process, then - the CRC## will be calculated between - - ___CRC##_START___ .. ___CRC##_END___ -1 - - and the result will be inserted at ___CRC##___. - - ___CRC##___ must be outside the region where CRC is calculated - - The DIGEST TABLE command generates a table for CRC generation. - A table is not neccessary, but will speed up the calculation. - It defines the ___CRC##_TABLE___ symbol at the start of the table. - The user may choose to add this table to his code instead of using - the linker. - * The linker script syntax has two new commands for inserting text into output sections: ASCII (<size>) "string" @@ -110,16 +41,16 @@ Changes in 2.39: re-enabled via the --warn-rwx-segments option. New configure options can also control these new features: - + --enable-warn-execstack=no will disable the warnings about creating an executable stack. - + --enable-warn-execstack=yes will make --warn-execstack enabled by default. - + --enable-warn-rwx-segments=no will make --no-warn-rwx-segments enabled by default. - + --enable-default-execstack=no will stop the creation of an executable stack simply because an input file is missing a .note.GNU-stack section, even on architectures where this |