泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!

泰晓 Linux 实验盘已集成 Linux Lab v1.1

泰晓资讯·9 月 / 第二期 / 2022

unicornx 创作于 2022/09/08

“泰晓资讯”,广泛报道 “Linux/开源” 业界资讯。欢迎广大读者投递相关资讯来源和素材,本站将进一步收集整理后发布给大家。

Linux 内核最新消息


本周 Linus Torvalds 发布了 Linux 6.0 的第四个每周发布候选版本,以便及时赶在美国劳动节假期周末之前完成测试。

Linux 6.0-rc4 是一个相当常规的中期测试版本。在过去的一周里,随机出现了各种各样的错误和回归修复,并没有出现太可怕的情况。到目前为止,原定 10 月初发布的 Linux 6.0 稳定版本进展顺利。

Torvalds 在 6.0-rc4 公告中写道:

It’s Sunday afternoon, which can only mean one thing - another rc release. We’re up to rc4, and things mostly still look fairly normal.

Most of the fixes the past week have been drivers (gpu, networking, gpio, tty, usb, sound.. a little bit of everything in other words). But we have the usual mix of fixes elsewhere too - architecture fixes (arm64, loongarch, powerpc, RISC-V, s390 and x86), and various other areas - core networking, filesystems, io_uring, LSM, selftests and documentation. Some of this is reverts of things that just turned out to be wrong or just not quite ready.

过去一周的大部分修复都是驱动程序(gpu、networking、gpio、tty、usb、sound.)。当然还有少不了的改动是有关各种 ARCH 的(arm64、loongarch、powerpc、RISC-V、s390 和 x86),以及其他各种领域,譬如网络、文件系统、io_uring、LSM、自测和文档等。

https://www.kernel.org/ updated by 2022/9/8

stable5.18.19 [EOL]2022-08-21

关键词: Linux

Richard Stallman 发布 GNU C 语言参考手册

GNU founder Richard Stallman has recently been working on crafting a GNU C Language introduction and reference manual.

GNU 创始人 Richard Stallman 最近一直致力于编写 GNU C 语言介绍和参考手册。他于本周初宣布发布了这本 GNU C 语言介绍和参考手册,涵盖了 C 编程语言的 GNU 扩展。该手册以 Texi 文件的形式编写,并在 GNU 自由文档许可证 v1.3+ 下发布。


This manual explains the C language for use with the GNU Compiler Collection (GCC) on the GNU/Linux system and other systems. We refer to this dialect as GNU C. If you already know C, you can use this as a reference manual. If you understand basic concepts of programming but know nothing about C, you can read this manual sequentially from the beginning to learn the C language. If you are a beginner to programming, we recommend you first learn a language with automatic garbage collection and no explicit pointers, rather than starting with C. Good choices include Lisp, Scheme, Python and Java. C’s explicit pointers mean that programmers must be careful to avoid certain kinds of errors.

感兴趣的人可以查看 Stallman 的公告 https://lists.gnu.org/archive/html/info-gnu/2022-09/msg00005.html,这本新手册的 git 仓库地址:https://git.savannah.nongnu.org/cgit/c-intro-and-ref.git

新闻出处,“Richard Stallman Announces GNU C Language Reference Manual”: https://www.phoronix.com/news/GNU-C-Language-Manual

关键词: GNU,C,Richard Stallman

GNU grep 3.8 发布,是时候停止使用 egrep 和 fgrep 命令了

GNU Grep 3.8 was released today for this commonly-used command-line utility for search plain text data. With the GNU Grep 3.8 it’s now made more clear that if you are still relying on the egrep and fgrep commands, it’s past due for switching to just grep with the appropriate command-line arguments.

GNU 于 9 月 3 日发布了 Grep 3.8。Grep 是大家都熟悉的用于搜索纯文本数据的常用命令行实用程序。在如今,随着 Grep 3.8 的诞生,更清楚地表明应该抛弃 egrep 和 fgrep 命令,而是换成 grep 再加上适当的命令行参数即可。

egrep 和 fgrep 命令自 2007 年以来已被弃用。从今天的 GNU Grep 3.8 开始,调用这些命令现在将向用户发出警告,现在推荐的方式是分别使用 grep -Egrep -F。最终,GNU Grep 将完全删除 egrep 和 fgrep 命令,但似乎还没有确定何时删除的最后期限。

GNU Grep 文档添加了有关计划删除的更多详细信息:

What happened to egrep and fgrep?

7th Edition Unix had commands egrep and fgrep that were the counterparts of the modern grep - and grep -F. Although breaking up grep into three programs was perhaps useful on the small computers of the 1970s, egrep and fgrep were not standardized by POSIX and are no longer needed. In the current GNU implementation, egrep and fgrep issue a warning and then act like their modern counterparts; eventually, they are planned to be removed entirely.

If you prefer the old names, you can use use your own substitutes, such as a shell script named @command{egrep} with the following contents:

#!/bin/sh exec grep -E “$@@”

除了针对 egrep/fgrep 的警告之外,GNU Grep 3.8 现在还支持基于 PCRE2 而不是旧 PCRE 的 -P 选项,以及对带有 stray backslashes 的正则表达式会导致警告,另外还有各种错误修复。

新闻出处,“It’s Past Time To Stop Using egrep & fgrep Commands, Per GNU grep 3.8”: https://www.phoronix.com/news/GNU-Grep-3.8-Stop-egrep-fgrep

关键词: GNU,grep

LLVM 15.0 发布

LLVM 15 is now ready to roll as a big half-year update to this open-source compiler stack. LLVM 15.0, Clang 15.0, and other sub-projects have a lot to show for their summer 2022 accomplishments.

9 月 6 日一早 LLVM 发布了 15.0, 目前已经可以从 https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.0 下载。LLVM 15.0 带来了许多与 x86 相关的新安全功能、对 Armv9 的支持、Microsoft 的实验性 HLSL 和 DirectX 工作、在其 shader 编译器后端中支持新的 AMD RDNA3 和 GFX940、现在还支持更多 RISC-V 指令,以及各种其他增强功能。

LLVM 15.0、Clang 15.0 和其他子项目在今年夏季取得的成就有很多值得展示的地方。

在 Clang C/C++ 前端,Clang 15.0 的亮点包括:

  • 支持 x86/x86_64 上的 -fzero-call-used-regs 选项,类似于已添加到 GCC 的选项。 -fzero-call-used-regs 选项可用于限制 ROP / COP / JOP 攻击,方法是在函数返回之前清零选定的寄存器类别。
  • 支持 x86/x86_64 上的 -mharden-sls= 选项以强化 Straight-Line Speculation。
  • 支持 -mfunction-return=thunk-extern 选项,Linux 内核将使用该选项作为 Retbleed 缓解措施的一部分。
  • 对于支持 SSE2 的所有目标,支持 x86 上的 _Float16 类型。 _Float16 类型是 AVX-512 FP16 的原生类型或使用浮点数进行模拟。
  • 支持对 C 中的结构布局进行随机化。这是一种编译时强化技术,可以使用 randomize_layout 属性激活。
  • 对 Microsoft 的 HLSL 着色器语言的实验性支持。Clang 15.0 中的 HLSL 仍然是 “高度实验性的” 和 “不完整的”。这是 Microsoft 将 DirectX 和 HLSL 添加到上游 LLVM/Clang 代码库的努力的一部分。
  • 添加了 -fexperimental-max-bitint-width= 选项以控制 _BitInt 类型的最大允许位宽,超出默认的 128 位。还添加了许多其他新的编译器标志,但都比较小众。
  • 支持更多的 MSVC 编译指示以及在 clang-cl 中支持更多与 MSVC 兼容的标志,以支持 Windows。
  • 围绕仍然有待成熟的 C2X 语言支持添加了许多功能。此版本实现的 C2X 功能包括 “noreturn” 属性、N 位整数的基本类型、u8 字符前缀、删除对隐式函数声明的支持等。
  • 围绕模块的附加 C++20 功能支持、成员函数的 ABI 隔离等。
  • 支持一些 C++2b 特性,如多维下标运算符、定界转义序列、命名通用字符转义等。
  • OpenMP 5.1 支持原子比较和原子比较捕获。
  • 更新 RISC-V 的向量 intrinsics,支持 RISC-V scalar crypto “K” 扩展、CLZ / CTX 指令等。
  • 许多错误修复和诊断/编译器警告改进。

除了 Clang C/C++ 编译器前端,其他 LLVM 15.0 更改包括:

  • 支持 Armv9-A、Armv9.1-A 和 Armv9.2-A 架构。还添加了 Arm Cortex-M85 CPU 支持。
  • 实验性 DirectX 后端以及 Clang 中提到的 HLSL 更改。 DirectX 后端针对用于 DirectX GPU 着色器程序的 DXIL 架构。
  • 支持 AMD Zen 2 和更新的 CPU 上的 RDPRU 指令。
  • Debuginfod 的 HTTP 服务器。
  • 早期的 SPIR-V 后端工作。
  • 在支持 SSE2 的 x86 CPU 上支持半类型,作为添加到 Clang 的 _Float16 类型的一部分。
  • LLVM 现在对 LLVM IR 使用不透明的指针。
  • AMD 适用于 RDNA3/GFX11 显卡和 GFX940 适用于下一代 CDNA。
  • 使用 AMDGPU 后端支持 8 位和 16 位原子加载和存储。

LLVM 15.0 还包括对 libc++ 15.0 子项目的许多更新和添加。

新闻出处,“LLVM 15.0 Released With Security Features, Experimental DirectX Back-End, New AMD GPUs”: https://www.phoronix.com/news/LLVM-15.0-Released

关键词: LLVM

LLVM Clang 16 默认将 C++17 作为默认标准

LLVM 15 is now ready to roll as a big half-year update to this open-source compiler stack. LLVM 15.0, Clang 15.0, and other sub-projects have a lot to show for their summer 2022 accomplishments.

LLVM 15.0 本周刚刚发布,其中包含许多新的编译器功能。为明年春天发布紧锣密鼓准备中的 LLVM/Clang 16.0 版本也合并了一个重大变化:如果没有明确设置其他版本,编译器将使用 GNU++17(带有 GNU 扩展的 C++17)作为默认的 C++ 标准。而截止到目前的 LLVM/Clang 15,默认的 C++ 标准是 GNU++14。对于当前与 C++17 不兼容且依赖默认值的 C++ 代码,现在需要在编译时设置 -std=gnu++14 或更早版本以保持与先前默认值兼容。

Clang 对 C++17 的支持已经稳定了一段时间了,事实上,Apple 的 DriverKit 已经在上游 LLVM 中进行了更改,默认使用 GNU++17 而不是 GNU++14。

新闻出处,“LLVM Clang 16 Defaulting To C++17 As The Default Standard”: https://www.phoronix.com/news/LLVM-Clang-16-Default-GNU17

关键词: LLVM,C++17



tinylab wechat

Read Album:

Read Related:

Read Latest: