From 9ba0c10d688e10d5bc9d5a1ee258e5b1b1dffe5d Mon Sep 17 00:00:00 2001 From: roypen Date: Mar 22 2020 20:03:54 +0000 Subject: [PATCH 1/4] Ruby_doc Signed-off-by: roypen --- diff --git a/modules/release-notes/pages/developers/Development_Ruby.adoc b/modules/release-notes/pages/developers/Development_Ruby.adoc index f40ff6e..51bad3e 100644 --- a/modules/release-notes/pages/developers/Development_Ruby.adoc +++ b/modules/release-notes/pages/developers/Development_Ruby.adoc @@ -2,4 +2,200 @@ include::{partialsdir}/entities.adoc[] [[sect-ruby]] -= Ruby += Ruby 2.7 + +Fedora 32 provides Ruby 2.7 version. With this major update from Ruby 2.6, Fedora becomes the superior Ruby development platform. +[[back]] +== Changes since Ruby 2.6: + +Ruby 2.7 comes with several new features and performance improvements. + +=== New features: + +* <> +* <> +* <> +* <> + +=== Performance improvements: + +* JIT [Experimental] +* Fiber’s cache strategy is changed and fiber creation is speeded up. +* `Module#name`, `true.to_s`, `false.to_s`, and `nil.to_s` now always return a frozen String. The returned String is always the same for a given object. [Experimental] +* The performance of Monitor and MonitorMixin is improved. +* The performance of `CGI.escapeHTML` is improved. +* The performance of Monitor and MonitorMixin is improved. +* Per-call-site method cache, which has been there since around 1.9, was improved: cache hit rate raised from 89% to 94%. +* RubyVM::InstructionSequence#to_binary method generates compiled binary. The binary size is reduced. + +=== Other notable changes: + + +* Some standard libraries are updated. +** Bundler 2.1.2 (Release note) +** RubyGems 3.1.2 +** Racc 1.4.15 +** CSV 3.1.2 (NEWS) +** REXML 3.2.3 (NEWS) +** RSS 0.2.8 (NEWS) +** StringScanner 1.0.3 +** Some other libraries that have no original version are also updated. +* The following libraries are no longer bundled gems. Install corresponding gems to use these features. +** CMath (cmath gem) +** Scanf (scanf gem) +** Shell (shell gem) +** Synchronizer (sync gem) +** ThreadsWait (thwait gem) +** E2MM (e2mmap gem) + +* profile.rb was removed from standard library. +* Promote stdlib to default gems +** The following default gems were published on rubygems.org +*** benchmark +*** cgi +*** delegate +*** getoptlong +*** net-pop +*** net-smtp +*** open3 +*** pstore +*** singleton +** The following default gems were only promoted at ruby-core, but not yet published on rubygems.org. +*** monitor +*** observer +*** timeout +*** tracer +*** uri +*** yaml + +* Proc.new and proc with no block in a method called with a block is warned now. + +* lambda with no block in a method called with a block raises an exception. + +* Update Unicode version and Emoji version from 11.0.0 to 12.0.0. + +* Update Unicode version to 12.1.0, adding support for U+32FF SQUARE ERA NAME REIWA. + +* Date.jisx0301, Date#jisx0301, and Date.parse support the new Japanese era. +* Require compilers to support C99. + + +== Detailed changes: + + +[[Pattern]] +=== Pattern Matching [Experimental] + + + +Pattern matching, a widely used feature in functional programming languages, is introduced as an experimental feature. It can traverse a given object and assign it's value if it matches a pattern. + +---- +require "json" + +json = < 2 +end +---- + + +[[REPL]] +=== REPL improvement + + +`irb`, the bundled interactive environment (REPL; Read-Eval-Print-Loop), now supports multi-line editing. It is powered by `reline`, a `readline` -compatible library implemented in pure Ruby. It also provides rdoc integration. In `irb` you can display the reference for a given class, module, or method. + + +[[GC]] +=== Compaction GC + + +This release introduces Compaction GC which can defragment a fragmented memory space. + +Some multi-threaded Ruby programs may cause memory fragmentation, leading to high memory usage and degraded speed. + +The `GC.compact` method is introduced for compacting the heap. This function compacts live objects in the heap so that fewer pages may be used, and the heap may be more CoW (copy-on-write) friendly. + + + +[[Separation]] +=== Separation of positional and keyword arguments + + +Automatic conversion of keyword arguments and positional arguments is deprecated, and conversion will be removed in Ruby 3. + +==== Changes: + + + +* When a method call passes a Hash at the last argument, and when it passes no keywords, and when the called method accepts keywords, a warning is emitted. To continue treating the hash as keywords, add a double splat operator to avoid the warning and ensure correct behavior in Ruby 3. + +---- + def foo(key: 42); end; foo({key: 42}) # warned + def foo(**kw); end; foo({key: 42}) # warned + def foo(key: 42); end; foo(**{key: 42}) # OK + def foo(**kw); end; foo(**{key: 42}) # OK +---- + +* When a method call passes keywords to a method that accepts keywords, but it does not pass enough required positional arguments, the keywords are treated as a final required positional argument, and a warning is emitted. Pass the argument as a hash instead of keywords to avoid the warning and ensure correct behavior in Ruby 3. + +---- + def foo(h, **kw); end; foo(key: 42) # warned + def foo(h, key: 42); end; foo(key: 42) # warned + def foo(h, **kw); end; foo({key: 42}) # OK + def foo(h, key: 42); end; foo({key: 42}) # OK +---- + +* When a method accepts specific keywords but not a keyword splat, and a hash or keywords splat is passed to the method that includes both Symbol and non-Symbol keys, the hash will continue to be split, and a warning will be emitted. You will need to update the calling code to pass separate hashes to ensure correct behavior in Ruby 3. + +---- + def foo(h={}, key: 42); end; foo("key" => 43, key: 42) # warned + def foo(h={}, key: 42); end; foo({"key" => 43, key: 42}) # warned + def foo(h={}, key: 42); end; foo({"key" => 43}, key: 42) # OK +---- + +* If a method does not accept keywords, and is called with keywords, the keywords are still treated as a positional hash, with no warning. This behavior will continue to work in Ruby 3. + +---- + def foo(opt={}); end; foo( key: 42 ) # OK +---- + +* Non-symbols are allowed as keyword argument keys if the method accepts arbitrary keywords. [Feature #14183] + +---- + def foo(**kw); p kw; end; foo("str" => 1) #=> {"str"=>1} +---- + +* `**nil` is allowed in method definitions to explicitly mark that the method accepts no keywords. Calling such a method with keywords will result in an ArgumentError. + +---- + def foo(h, **nil); end; foo(key: 1) # ArgumentError + def foo(h, **nil); end; foo(**{key: 1}) # ArgumentError + def foo(h, **nil); end; foo("str" => 1) # ArgumentError + def foo(h, **nil); end; foo({key: 1}) # OK + def foo(h, **nil); end; foo({"str" => 1}) # OK +---- + +* Passing an empty keyword splat to a method that does not accept keywords no longer passes an empty hash, unless the empty hash is necessary for a required parameter, in which case a warning will be emitted. Remove the double splat to continue passing a positional hash. [Feature #14183] + +---- + h = {}; def foo(*a) a end; foo(**h) # [] + h = {}; def foo(a) a end; foo(**h) # {} and warning + h = {}; def foo(*a) a end; foo(h) # [{}] + h = {}; def foo(a) a end; foo(h) # {} +---- + +If you want to disable the deprecation warnings, please use a command-line argument -W:no-deprecated or add Warning[:deprecated] = false to your code. + +<> + + From b0a78ec24df5dcf1ff26d678f603bfaa65456b1a Mon Sep 17 00:00:00 2001 From: roypen Date: Mar 23 2020 11:07:07 +0000 Subject: [PATCH 2/4] C - upload Ruby - update Signed-off-by: roypen --- diff --git a/modules/release-notes/pages/developers/Development_C.adoc b/modules/release-notes/pages/developers/Development_C.adoc index c3c4506..1babacd 100644 --- a/modules/release-notes/pages/developers/Development_C.adoc +++ b/modules/release-notes/pages/developers/Development_C.adoc @@ -3,3 +3,189 @@ include::{partialsdir}/entities.adoc[] [[sect-c]] = C + +== GCC +The GNU compiler suite has been update to version 10.0.1. See the http://gcc.gnu.org/gcc-10/changes.html[upstream documentation] for user visible changes. Packages in Fedora 32 have been rebuilt with the new version of the compiler. + +=== New Features and General Improvements: + + +* New built-in functions: +** The '__has_builtin' built-in preprocessor operator can be used to query support for built-in functions provided by GCC and other compilers that support it. +** '__builtin_roundeven' for the corresponding function from ISO/IEC TS 18661. +* New command-line options: +** '-fallocation-dce' removes unneeded pairs of new and delete operators. +** '-fprofile-partial-training' can now be used to inform the compiler that code paths not covered by the training run should not be optimized for size. +** '-fprofile-reproducible' controls level of reproducibility of profile gathered by -fprofile-generate. This makes it possible to rebuild program with same outcome which is useful, for example, for distribution packages. +* Inter-procedural optimization improvements: +** The inter-procedural scalar replacement for aggregates (IPA-SRA) pass was re-implemented to work at link-time. +** `-finline-functions` is now enabled at -O2 and was retuned for better code size versus runtime performance trade-offs. Inliner heuristics was also significantly sped up to avoid negative impact to -flto -O2 compile times. +** Inliner heuristics and function cloning can now use value-range information to predict effectivity of individual transformations. +** During link-time optimization the C++ One Definition Rule is used to increase precision of type based alias analysis. +* Link-time optimization improvements: +** A new binary lto-dump has been added. The program can dump various information about a LTO bytecode object file. +** Parallel phase of the LTO can automatically detect a running make's jobserver or can fall back to number of available cores. +** The LTO bytecode can be compressed with zstd algorithm. Configure script can automatically detect the zstd support. +** Most `--param` values can now be specified at translation unit granularity. This includes all parameters controlling the inliner and other inter-procedural optimizations. Unlike earlier releases, GCC 10 will ignore parameters controlling optimizations specified at link-time and apply parameters specified at compile-time in the same manner as done for optimization flags. +* Profile driven optimization improvements: +** Profile New Languages and Language-Specific Improvementsmaintenance during compilation and hot/cold code partitioning have been improved. +** Using -fprofile-values, an instrumented binary can track multiple values (up to 4) for e.g. indirect calls and provide more precise profile information. + + +=== New Languages and Language-Specific Improvements: + + +* Version 2.6 of the OpenACC specification is now supported in the C, C++ and Fortran compilers. See the implementation status section on the OpenACC wiki page and the run-time library documentation for further information. +* OpenMP and OpenACC now support offloading to AMD Radeon (GCN) GPUs; supported are the third-generation Fiji (fiji) and the fifth-generation VEGA 10/VEGA 20 (gfx900 or gfx906). + +==== C family +* New attributes. +* New warnings. +* Enhancements to existing warnings + +==== C + +* Several new features from the upcoming C2X revision of the ISO C standard are supported with `-std=c2x` and `-std=gnu2x`. Some of these features are also supported as extensions when compiling for older language versions. In addition to the features listed, some features previously supported as extensions and now added to the C standard are enabled by default in C2X mode and not diagnosed with `-std=c2x -Wpedantic`. +* GCC now defaults to `-fno-common`. As a result, global variable accesses are more efficient on various targets. In C, global variables with multiple tentative definitions now result in linker errors. With `-fcommon` such definitions are silently merged during linking. + +==== C++ + +* Several 'C++20' features have been implemented. +* Several 'C++ Defect' Reports have been resolved. +* New warnings. +* G++ can now detect modifying constant objects in constexpr evaluation (which is undefined behavior). +* G++ no longer emits bogus -Wsign-conversion warnings with explicit casts. +* Narrowing is now detected in more contexts (e.g., case values). +* Memory consumption of the compiler has been reduced in constexpr evaluation. +* The noexcept-specifier is now properly treated as a complete-class context as per [class.mem]. +* The attribute deprecated can now be used on namespaces too. + +==== Runtime Library (libstdc++) + +* Improved experimental `C++2a` support, including. +* Support for RDSEED in std::random_device. +* Reduced header dependencies, leading to faster compilation for some code. + + +== The GNU C Library version 2.31: + +Fedora 32 provides the GNU C Library - `glibc` - version 2.31. Notable changes include: + +=== New Features: + +* The GNU C Library now supports a feature test macro _ISOC2X_SOURCE + to enable features from the draft ISO C2X standard. Only some + features from this draft standard are supported by the GNU C + Library, and as the draft is under active development, the set of + features enabled by this macro is liable to change. Features from + C2X are also enabled by _GNU_SOURCE, or by compiling with "gcc + -std=gnu2x". + +* The functions that round their results to a narrower type + now have corresponding type-generic macros in , as defined + in TS 18661-1:2014 and TS 18661-3:2015 as amended by the resolution + of Clarification Request 13 to TS 18661-3. + +* The function pthread_clockjoin_np has been added, enabling join with + a terminated thread with a specific clock. It allows waiting + against CLOCK_MONOTONIC and CLOCK_REALTIME. This function is a GNU + extension. + +* New locale added: mnw_MM (Mon language spoken in Myanmar). + +* The DNS stub resolver will optionally send the AD (authenticated + data) bit in queries if the trust-ad option is set via the options + directive in /etc/resolv.conf (or if RES_TRUSTAD is set in + _res.options). In this mode, the AD bit, as provided by the name + server, is available to applications which call res_search and + related functions. In the default mode, the AD bit is not set in + queries, and it is automatically cleared in responses, indicating a + lack of DNSSEC validation. (Therefore, the name servers and the + network path to them are treated as untrusted.) + + +=== Deprecated and Removed Features: + +* The totalorder and totalordermag functions, and the corresponding + functions for other floating-point types, now take pointer arguments + to avoid signaling NaNs possibly being converted to quiet NaNs in + argument passing. This is in accordance with the resolution of + Clarification Request 25 to TS 18661-1, as applied for C2X. + Existing binaries that pass floating-point arguments directly will + continue to work. + +* The obsolete function stime is no longer available to newly linked + binaries, and its declaration has been removed from . + Programs that set the system time should use clock_settime instead. + +* We plan to remove the obsolete function ftime, and the header + , in a future version of glibc. In this release, the + header still exists but calling ftime will cause a compiler warning. + All programs should use gettimeofday or clock_gettime instead. + +* The gettimeofday function no longer reports information about a + system-wide time zone. This 4.2-BSD-era feature has been deprecated + for many years, as it cannot handle the full complexity of the + world's timezones, but hitherto we have supported it on a + best-effort basis. Changes required to support 64-bit time_t on + 32-bit architectures have made this no longer practical. + + +* The settimeofday function can still be used to set a system-wide + time zone when the operating system supports it. This is because + the Linux kernel reused the API, on some architectures, to describe + a system-wide time-zone-like offset between the software clock + maintained by the kernel, and the "RTC" clock that keeps time when + the system is shut down. + + +* SPARC ISA v7 is no longer supported. v8 is still supported, but + only if the optional CAS instruction is implemented (for instance, + LEON processors are still supported, but SuperSPARC processors are + not). + + As the oldest 64-bit SPARC ISA is v9, this only affects 32-bit + configurations. + +* If a lazy binding failure happens during dlopen, during the + execution of an ELF constructor, the process is now terminated. + Previously, the dynamic loader would return NULL from dlopen, with + the lazy binding error captured in a dlerror message. In general, + this is unsafe because resetting the stack in an arbitrary function + call is not possible. + +* For MIPS hard-float ABIs, the GNU C Library will be configured to + need an executable stack unless explicitly configured at build time + to require minimum kernel version 4.8 or newer. This is because + executing floating-point branches on a non-executable stack on Linux + kernels prior to 4.8 can lead to application crashes for some MIPS + configurations. While currently PT_GNU_STACK is not widely used on + MIPS, future releases of GCC are expected to enable non-executable + stack by default with PT_GNU_STACK by default and is thus likely to + trigger a crash on older kernels. + + The GNU C Library can be built with --enable-kernel=4.8.0 in order + to keep a non-executable stack while dropping support for older + kernels. + +* System call wrappers for time system calls now use the new time64 + system calls when available. On 32-bit targets, these wrappers + attempt to call the new system calls first and fall back to the + older 32-bit time system calls if they are not present. This may + cause issues in environments that cannot handle unsupported system + calls gracefully by returning -ENOSYS. Seccomp sandboxes are + affected by this issue. + +=== Security Related Changes: + +* CVE-2019-19126: ld.so failed to ignore the LD_PREFER_MAP_32BIT_EXEC + environment variable during program execution after a security + transition, allowing local attackers to restrict the possible + mapping addresses for loaded libraries and thus bypass ASLR for a + setuid program. Reported by Marcin Kościelnicki. + +For detailed information about glibc-2.31 see the link:https://sourceware.org/legacy-ml/libc-announce/2020/msg00001.html[upstream NEWS document]; note that you may need to scroll down to find version 2.29 as the document continues to be updated. + +<> + + diff --git a/modules/release-notes/pages/developers/Development_Ruby.adoc b/modules/release-notes/pages/developers/Development_Ruby.adoc index 51bad3e..8cf95c2 100644 --- a/modules/release-notes/pages/developers/Development_Ruby.adoc +++ b/modules/release-notes/pages/developers/Development_Ruby.adoc @@ -196,6 +196,8 @@ Automatic conversion of keyword arguments and positional arguments is deprecated If you want to disable the deprecation warnings, please use a command-line argument -W:no-deprecated or add Warning[:deprecated] = false to your code. +See the link:https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/[upstream release announcement] for more detailed information about this release. + <> From 214ece6e1bc7e32ac5aefdd76226135ce3103f70 Mon Sep 17 00:00:00 2001 From: roypen Date: Mar 23 2020 17:19:40 +0000 Subject: [PATCH 3/4] Ruby - update upstream link Binutils - add Signed-off-by: roypen --- diff --git a/modules/release-notes/pages/developers/Development_C.adoc b/modules/release-notes/pages/developers/Development_C.adoc index 1babacd..af13d24 100644 --- a/modules/release-notes/pages/developers/Development_C.adoc +++ b/modules/release-notes/pages/developers/Development_C.adoc @@ -184,7 +184,7 @@ Fedora 32 provides the GNU C Library - `glibc` - version 2.31. Notable changes i mapping addresses for loaded libraries and thus bypass ASLR for a setuid program. Reported by Marcin Kościelnicki. -For detailed information about glibc-2.31 see the link:https://sourceware.org/legacy-ml/libc-announce/2020/msg00001.html[upstream NEWS document]; note that you may need to scroll down to find version 2.29 as the document continues to be updated. +For detailed information about glibc-2.31 see the link:https://sourceware.org/legacy-ml/libc-announce/2020/msg00001.html[upstream NEWS document]; note that you may need to scroll down to find version 2.31 as the document continues to be updated. <> diff --git a/modules/release-notes/pages/sysadmin/Binutils.adoc b/modules/release-notes/pages/sysadmin/Binutils.adoc new file mode 100644 index 0000000..2553e0c --- /dev/null +++ b/modules/release-notes/pages/sysadmin/Binutils.adoc @@ -0,0 +1,72 @@ += Binutils + +== GNU Binutils 2.33 +Fedora 32 comes with GNU Binutils based on 2.33.1 release. This release brings a lot of bug fixes, improvements to the linker, as well as support for the CTF debug format. + +=== New Features and Bug Fixes: + + +== Assembler: + + * Adds support for the Arm Scalable Vector Extension version 2 + (SVE2) instructions, the Arm Transactional Memory Extension (TME) + instructions and the Armv8.1-M Mainline and M-profile Vector + Extension (MVE) instructions. + + * Adds support for the Arm Cortex-A76AE, Cortex-A77 and Cortex-M35P + processors and the AArch64 Cortex-A34, Cortex-A65, Cortex-A65AE, + Cortex-A76AE, and Cortex-A77 processors. + + * Adds a .float16 directive for both Arm and AArch64 to allow + encoding of 16-bit floating point literals. + + * For MIPS, Add -m[no-]fix-loongson3-llsc option to fix (or not) + Loongson3 LLSC Errata. Add a --enable-mips-fix-loongson3-llsc=[yes|no] + configure time option to set the default behavior. Set the default + if the configure option is not used to "no". + + +== Linker: + + * The Cortex-A53 Erratum 843419 workaround now supports a choice of + which workaround to use. The option --fix-cortex-a53-843419 now + takes an optional argument --fix-cortex-a53-843419[=full|adr|adrp] + which can be used to force a particular workaround to be used. + See --help for AArch64 for more details. + + * Add support for GNU_PROPERTY_AARCH64_FEATURE_1_BTI and + GNU_PROPERTY_AARCH64_FEATURE_1_PAC in ELF GNU program properties + in the AArch64 ELF linker. + + * Add -z force-bti for AArch64 to enable GNU_PROPERTY_AARCH64_FEATURE_1_BTI + on output while warning about missing GNU_PROPERTY_AARCH64_FEATURE_1_BTI + on inputs and use PLTs protected with BTI. + + * Add -z pac-plt for AArch64 to pick PAC enabled PLTs. + +== Utilities: + + * Add `--source-comment[=]` option to objdump which if present, + provides a prefix to source code lines displayed in a disassembly. + + * Add `--set-section-alignment` = + option to objcopy to allow the changing of section alignments. + + * Add `--verilog-data-width` option to objcopy for verilog targets to + control width of data elements in verilog hex format. + + * The separate debug info file options of readelf (--debug-dump=links + and --debug-dump=follow) and objdump (--dwarf=links and + --dwarf=follow-links) will now display and/or follow multiple + links if more than one are present in a file. (This usually + happens when gcc's -gsplit-dwarf option is used). + + + * Add support for dumping types encoded in the Compact Type Format + to objdump and readelf. + +See the link:https://lists.gnu.org/archive/html/info-gnu/2019-10/msg00006.html[upstream release announcement] for more detailed information about this release. + +<> + + From 849cd23cfa7cb0f7329abcf73dbe231a25937ed9 Mon Sep 17 00:00:00 2001 From: roypen Date: Mar 25 2020 17:43:30 +0000 Subject: [PATCH 4/4] I moved binutils to development section. Created menu entry to the binutils. Signed-off-by: roypen --- diff --git a/modules/release-notes/nav.adoc b/modules/release-notes/nav.adoc index 0c2ffab..5e7291d 100644 --- a/modules/release-notes/nav.adoc +++ b/modules/release-notes/nav.adoc @@ -24,6 +24,7 @@ include::{partialsdir}/entities.adoc[] *** xref:developers/Development_Tools.adoc[Development Tools] *** xref:developers/Development_C.adoc[C] *** xref:developers/Containers.adoc[Containers] +*** xref:developers/Development_Binutils.adoc[Binutils] *** xref:developers/Development_Boost.adoc[Boost] *** xref:developers/Development_D.adoc[D] *** xref:developers/Development_Erlang.adoc[Erlang] diff --git a/modules/release-notes/pages/developers/Development_Binutils.adoc b/modules/release-notes/pages/developers/Development_Binutils.adoc new file mode 100644 index 0000000..0ce84cd --- /dev/null +++ b/modules/release-notes/pages/developers/Development_Binutils.adoc @@ -0,0 +1,78 @@ + +include::{partialsdir}/entities.adoc[] + +[[sect-binutils]] + + += Binutils +[[back]] +== GNU Binutils 2.33 +Fedora 32 comes with GNU Binutils based on 2.33.1 release. This release brings a lot of bug fixes, improvements to the linker, as well as support for the CTF debug format. + +=== New Features and Bug Fixes: + + +== Assembler: + + * Adds support for the Arm Scalable Vector Extension version 2 + (SVE2) instructions, the Arm Transactional Memory Extension (TME) + instructions and the Armv8.1-M Mainline and M-profile Vector + Extension (MVE) instructions. + + * Adds support for the Arm Cortex-A76AE, Cortex-A77 and Cortex-M35P + processors and the AArch64 Cortex-A34, Cortex-A65, Cortex-A65AE, + Cortex-A76AE, and Cortex-A77 processors. + + * Adds a .float16 directive for both Arm and AArch64 to allow + encoding of 16-bit floating point literals. + + * For MIPS, Add -m[no-]fix-loongson3-llsc option to fix (or not) + Loongson3 LLSC Errata. Add a --enable-mips-fix-loongson3-llsc=[yes|no] + configure time option to set the default behavior. Set the default + if the configure option is not used to "no". + + +== Linker: + + * The Cortex-A53 Erratum 843419 workaround now supports a choice of + which workaround to use. The option --fix-cortex-a53-843419 now + takes an optional argument --fix-cortex-a53-843419[=full|adr|adrp] + which can be used to force a particular workaround to be used. + See --help for AArch64 for more details. + + * Add support for GNU_PROPERTY_AARCH64_FEATURE_1_BTI and + GNU_PROPERTY_AARCH64_FEATURE_1_PAC in ELF GNU program properties + in the AArch64 ELF linker. + + * Add -z force-bti for AArch64 to enable GNU_PROPERTY_AARCH64_FEATURE_1_BTI + on output while warning about missing GNU_PROPERTY_AARCH64_FEATURE_1_BTI + on inputs and use PLTs protected with BTI. + + * Add -z pac-plt for AArch64 to pick PAC enabled PLTs. + +== Utilities: + + * Add `--source-comment[=]` option to objdump which if present, + provides a prefix to source code lines displayed in a disassembly. + + * Add `--set-section-alignment` = + option to objcopy to allow the changing of section alignments. + + * Add `--verilog-data-width` option to objcopy for verilog targets to + control width of data elements in verilog hex format. + + * The separate debug info file options of readelf (--debug-dump=links + and --debug-dump=follow) and objdump (--dwarf=links and + --dwarf=follow-links) will now display and/or follow multiple + links if more than one are present in a file. (This usually + happens when gcc's -gsplit-dwarf option is used). + + + * Add support for dumping types encoded in the Compact Type Format + to objdump and readelf. + +See the link:https://lists.gnu.org/archive/html/info-gnu/2019-10/msg00006.html[upstream release announcement] for more detailed information about this release. + +<> + + diff --git a/modules/release-notes/pages/developers/Development_C.adoc b/modules/release-notes/pages/developers/Development_C.adoc index af13d24..57c6368 100644 --- a/modules/release-notes/pages/developers/Development_C.adoc +++ b/modules/release-notes/pages/developers/Development_C.adoc @@ -3,7 +3,7 @@ include::{partialsdir}/entities.adoc[] [[sect-c]] = C - +[[back]] == GCC The GNU compiler suite has been update to version 10.0.1. See the http://gcc.gnu.org/gcc-10/changes.html[upstream documentation] for user visible changes. Packages in Fedora 32 have been rebuilt with the new version of the compiler. diff --git a/modules/release-notes/pages/sysadmin/Binutils.adoc b/modules/release-notes/pages/sysadmin/Binutils.adoc deleted file mode 100644 index 2553e0c..0000000 --- a/modules/release-notes/pages/sysadmin/Binutils.adoc +++ /dev/null @@ -1,72 +0,0 @@ -= Binutils - -== GNU Binutils 2.33 -Fedora 32 comes with GNU Binutils based on 2.33.1 release. This release brings a lot of bug fixes, improvements to the linker, as well as support for the CTF debug format. - -=== New Features and Bug Fixes: - - -== Assembler: - - * Adds support for the Arm Scalable Vector Extension version 2 - (SVE2) instructions, the Arm Transactional Memory Extension (TME) - instructions and the Armv8.1-M Mainline and M-profile Vector - Extension (MVE) instructions. - - * Adds support for the Arm Cortex-A76AE, Cortex-A77 and Cortex-M35P - processors and the AArch64 Cortex-A34, Cortex-A65, Cortex-A65AE, - Cortex-A76AE, and Cortex-A77 processors. - - * Adds a .float16 directive for both Arm and AArch64 to allow - encoding of 16-bit floating point literals. - - * For MIPS, Add -m[no-]fix-loongson3-llsc option to fix (or not) - Loongson3 LLSC Errata. Add a --enable-mips-fix-loongson3-llsc=[yes|no] - configure time option to set the default behavior. Set the default - if the configure option is not used to "no". - - -== Linker: - - * The Cortex-A53 Erratum 843419 workaround now supports a choice of - which workaround to use. The option --fix-cortex-a53-843419 now - takes an optional argument --fix-cortex-a53-843419[=full|adr|adrp] - which can be used to force a particular workaround to be used. - See --help for AArch64 for more details. - - * Add support for GNU_PROPERTY_AARCH64_FEATURE_1_BTI and - GNU_PROPERTY_AARCH64_FEATURE_1_PAC in ELF GNU program properties - in the AArch64 ELF linker. - - * Add -z force-bti for AArch64 to enable GNU_PROPERTY_AARCH64_FEATURE_1_BTI - on output while warning about missing GNU_PROPERTY_AARCH64_FEATURE_1_BTI - on inputs and use PLTs protected with BTI. - - * Add -z pac-plt for AArch64 to pick PAC enabled PLTs. - -== Utilities: - - * Add `--source-comment[=]` option to objdump which if present, - provides a prefix to source code lines displayed in a disassembly. - - * Add `--set-section-alignment` = - option to objcopy to allow the changing of section alignments. - - * Add `--verilog-data-width` option to objcopy for verilog targets to - control width of data elements in verilog hex format. - - * The separate debug info file options of readelf (--debug-dump=links - and --debug-dump=follow) and objdump (--dwarf=links and - --dwarf=follow-links) will now display and/or follow multiple - links if more than one are present in a file. (This usually - happens when gcc's -gsplit-dwarf option is used). - - - * Add support for dumping types encoded in the Compact Type Format - to objdump and readelf. - -See the link:https://lists.gnu.org/archive/html/info-gnu/2019-10/msg00006.html[upstream release announcement] for more detailed information about this release. - -<> - -