Compare commits

..
11 Commits
Author SHA1 Message Date
Chen Wang ab30db03f0 Description for quiz
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-02 15:44:42 +08:00
Chen Wang 0c0af2cdac Add python3
Include python3 curses module due to the snake.py need it.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-01 13:52:31 +08:00
Chen Wang adc0b6483f Increase image size to 128M
We will add more packages such as python3, 60M is too small.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-01 13:50:14 +08:00
Chen Wang ec3b4253d5 Enable bash and use it as default shell
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-01 13:47:32 +08:00
Chen Wang 86dfc8acea Add vim
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-01 13:45:53 +08:00
Chen Wang 1e05d3ffa7 Use coreutils
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-01 13:42:46 +08:00
Chen Wang 0b5ad28c8a Use sysV as init system
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-01 13:41:07 +08:00
Chen Wang 548fcdaf53 Don't build host-qemu
Use system pre-installed qemu-system-riscv64 (
version 8.2.2 and above are recommended).

Run by "start-qemu.sh --use-system-qemu".

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-01 13:30:30 +08:00
Chen Wang b1c5c5342b Use external buildroot toolchain
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-01 13:20:44 +08:00
Chen Wang 28171e2caf Use latest kernel version
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-01 10:35:15 +08:00
Chen Wang c951648d5f Use mainland mirrors to accelerate downloading.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2026-04-01 10:11:13 +08:00
640 changed files with 4405 additions and 6740 deletions
+5
View File
@@ -94,6 +94,7 @@ configs/ci20_defconfig lib_defconfig.ForceCheckHash
configs/freescale_p1025twr_defconfig lib_defconfig.ForceCheckHash
configs/freescale_t1040d4rdb_defconfig lib_defconfig.ForceCheckHash
configs/freescale_t2080_qds_rdb_defconfig lib_defconfig.ForceCheckHash
configs/friendlyarm_nanopi_r2s_defconfig lib_defconfig.ForceCheckHash
configs/globalscale_espressobin_defconfig lib_defconfig.ForceCheckHash
configs/imx23evk_defconfig lib_defconfig.ForceCheckHash
configs/imx6-sabreauto_defconfig lib_defconfig.ForceCheckHash
@@ -102,9 +103,11 @@ configs/imx6-sabresd_qt5_defconfig lib_defconfig.ForceCheckHash
configs/imx6slevk_defconfig lib_defconfig.ForceCheckHash
configs/imx6sx-sdb_defconfig lib_defconfig.ForceCheckHash
configs/imx6ulevk_defconfig lib_defconfig.ForceCheckHash
configs/imx6ullevk_defconfig lib_defconfig.ForceCheckHash
configs/imx6ulpico_defconfig lib_defconfig.ForceCheckHash
configs/imx7dpico_defconfig lib_defconfig.ForceCheckHash
configs/imx8mqevk_defconfig lib_defconfig.ForceCheckHash
configs/khadas_vim3_defconfig lib_defconfig.ForceCheckHash
configs/kontron_bl_imx8mm_defconfig lib_defconfig.ForceCheckHash
configs/kontron_smarc_sal28_defconfig lib_defconfig.ForceCheckHash
configs/mender_x86_64_efi_defconfig lib_defconfig.ForceCheckHash
@@ -648,6 +651,7 @@ package/mpir/0001-mpn-arm-udiv.asm-workaround-binutils-bug-14887.patch lib_patch
package/mraa/0001-include-Declare-gVERSION-global-as-extern.patch lib_patch.Upstream
package/mrouted/S41mrouted NotExecutable
package/mrp/S65mrp lib_sysv.Indent lib_sysv.Variables
package/mstpd/0001-bridge-stp.in-support-different-versions-of-pidof-13.patch lib_patch.Upstream
package/multipath-tools/S60multipathd Shellcheck
package/musl/0001-avoid-kernel-if_ether.h.patch lib_patch.Upstream
package/musl/0002-package-musl-Make-scheduler-functions-Linux-compatib.patch lib_patch.Upstream
@@ -1067,6 +1071,7 @@ support/libtool/buildroot-libtool-v2.4.4.patch lib_patch.ApplyOrder lib_patch.Up
support/libtool/buildroot-libtool-v2.4.patch lib_patch.ApplyOrder lib_patch.Sob lib_patch.Upstream
support/misc/relocate-sdk.sh Shellcheck
support/scripts/apply-patches.sh Shellcheck
support/scripts/br2-external Shellcheck
support/scripts/check-bin-arch Shellcheck
support/scripts/check-host-rpath Shellcheck
support/scripts/expunge-gconv-modules Shellcheck
-112
View File
@@ -101,64 +101,6 @@
- How can I make the 'en_US' locale by default?
https://gitlab.com/buildroot.org/buildroot/-/issues/161
2025.11.3, released March 17, 2026
Important / security related fixes:
botan: CVE-2024-50382, CVE-2024-50383
c-ares: CVE-2025-62408
clamav: CVE-2026-20031
containerd: CVE-2024-25621, CVE-2024-40635, CVE-2025-47291,
CVE-2025-64329
cups: CVE-2025-58436, CVE-2025-61915
exiv2: CVE-2026-25884, CVE-2026-27596, CVE-2026-27631
fluidsynth: CVE-2025-56225
freerdp: CVE-2024-32661, CVE-2026-23530, CVE-2026-23531,
CVE-2026-23532, CVE-2026-23533, CVE-2026-23534, CVE-2026-23948,
CVE-2026-24675, CVE-2026-24676, CVE-2026-24679, CVE-2026-24681,
CVE-2026-24682, CVE-2026-24683
freetype: CVE-2026-23865
graphicsmagick, CVE-2025-27796
igmpproxy: CVE-2025-50681
imagemagick: CVE-2026-22770, CVE-2026-23874, CVE-2026-23876,
CVE-2026-24481, CVE-2026-25638, CVE-2026-25794, CVE-2026-25795,
CVE-2026-25796, CVE-2026-25798, CVE-2026-25799, CVE-2026-25897,
CVE-2026-25989, CVE-2026-26066, CVE-2026-26283, CVE-2026-26284,
CVE-2026-26983
jasper: CVE-2025-8836, CVE-2025-8837
libsoup3: CVE-2025-14523
libssh: CVE-2025-14821, CVE-2026-0964, CVE-2026-0965, CVE-2026-0966,
CVE-2026-0967, CVE-2026-0968
libtpms: CVE-2026-21444
mupdf: CVE-2026-25556
netsnmp: CVE-2025-68615
patch: CVE-2018-6952, CVE-2019-20633
postgresql: CVE-2026-2003, CVE-2026-2004, CVE-2026-2005, CVE-2026-2006
python-multipart: CVE-2026-24486
rtl_433: CVE-2025-34450
squid: CVE-2025-62168
tinyproxy: CVE-2025-63938
vim: CVE-2026-25749, CVE-2026-26269
wpewebkit: CVE-2025-31273, CVE-2025-31278, CVE-2025-43211,
CVE-2025-43212, CVE-2025-43216, CVE-2025-43227, CVE-2025-43228,
CVE-2025-43240, CVE-2025-43265, CVE-2025-43272, CVE-2025-43342,
CVE-2025-43343, CVE-2025-43356, CVE-2025-43368, CVE-2025-6558
Infrastructure updates/fixes:
linux: make license option visible for _CUSTOM_VERSION as well
support/testing/run-tests: fix Debian testing/unstable
Updated / fixed packages: botan, c-ares, clamav, containerd, cups,
docker, dtc, exiv2, faketime, flashbench, freerdp, freetype,
graphicsmagick, igmpproxy, imagemagick, jasper, libsoup3, libssh,
libtpms, libvips, libvirt, libzlib, mpir, mupdf, netsnmp, patch, poco,
postgresql, python3, python-multipart, qemu, rtl_433, samba4, snort,
squid, tinyproxy, util-linux, vim, webkitgtk, wireshark, wmctrl,
wpewebkit
Removed packages: qemu (cris target), python3 (ossaudiodev)
2025.11.2, released February 20, 2026
avahi: CVE-2021-3468, CVE-2023-38469, CVE-2023-38470, CVE-2023-38471,
@@ -989,60 +931,6 @@
- netsnmp: unexpected header length in /proc/net/snmp...
https://gitlab.com/buildroot.org/buildroot/-/issues/110
2025.02.12, released March 17, 2026
Important / security related fixes:
botan: CVE-2024-50382, CVE-2024-50383
c-ares: CVE-2025-62408
containerd: CVE-2024-25621, CVE-2024-40635, CVE-2025-47291,
CVE-2025-64329
cups: CVE-2025-58436, CVE-2025-61915
exiv2: CVE-2026-25884, CVE-2026-27596, CVE-2026-27631
fluidsynth: CVE-2025-56225
freerdp: CVE-2024-32661, CVE-2026-23530, CVE-2026-23531,
CVE-2026-23532, CVE-2026-23533, CVE-2026-23534, CVE-2026-23948,
CVE-2026-24675, CVE-2026-24676, CVE-2026-24679, CVE-2026-24681,
CVE-2026-24682, CVE-2026-24683
graphicsmagick, CVE-2025-27796
igmpproxy: CVE-2025-50681
imagemagick: CVE-2026-22770, CVE-2026-23874, CVE-2026-23876,
CVE-2026-24481, CVE-2026-25638, CVE-2026-25794, CVE-2026-25795,
CVE-2026-25796, CVE-2026-25798, CVE-2026-25799, CVE-2026-25897,
CVE-2026-25989, CVE-2026-26066, CVE-2026-26283, CVE-2026-26284,
CVE-2026-26983
jasper: CVE-2025-8836, CVE-2025-8837
libsoup3: CVE-2025-14523
libssh: CVE-2025-14821, CVE-2026-0964, CVE-2026-0965, CVE-2026-0966,
CVE-2026-0967, CVE-2026-0968
libtpms: CVE-2026-21444
mupdf: CVE-2026-25556
netsnmp: CVE-2025-68615
patch: CVE-2018-6952, CVE-2019-20633
postgresql: CVE-2026-2003, CVE-2026-2004, CVE-2026-2005, CVE-2026-2006
rtl_433: CVE-2025-34450
squid: CVE-2025-62168
tinyproxy: CVE-2025-63938
vim: CVE-2026-25749, CVE-2026-26269
wpewebkit: CVE-2025-31273, CVE-2025-31278, CVE-2025-43211,
CVE-2025-43212, CVE-2025-43216, CVE-2025-43227, CVE-2025-43228,
CVE-2025-43240, CVE-2025-43265, CVE-2025-43272, CVE-2025-43342,
CVE-2025-43343, CVE-2025-43356, CVE-2025-43368, CVE-2025-6558
Infrastructure updates/fixes:
linux: make license option visible for _CUSTOM_VERSION as well
support/testing/run-tests: fix Debian testing/unstable
Updated / fixed packages: botan, c-ares, containerd, cups, dtc, exiv2,
faketime, flashbench, fluidsynth, freerdp, graphicsmagick, igmpproxy,
imagemagick, jasper, libsoup3, libssh, libtpms, libvips, libvirt,
libzlib, mupdf, netsnmp, patch, poco, postgresql, python-multipart,
qemu, rtl_433, squid, tinyproxy, util-linux, vim, webkitgtk, wmctrl,
wpewebkit
Removed packages: qemu (cris target)
2025.02.11, released February 20, 2026
avahi: CVE-2021-3468, CVE-2023-38469, CVE-2023-38470, CVE-2023-38471,
-31
View File
@@ -144,37 +144,6 @@ endif
###############################################################################
comment "Legacy options removed in 2026.05"
config BR2_PACKAGE_LLAMA_CPP_SERVER
bool "llama-cpp option removed"
select BR2_PACKAGE_LLAMA_CPP_TOOLS
select BR2_LEGACY
help
Several tools (server, cli) now require building both
tools and server, so enable both with the same config
BR2_PACKAGE_LLAMA_CPP_TOOLS
config BR2_PACKAGE_PYTHON3_OSSAUDIODEV
bool "python3 ossaudiodev module removed"
select BR2_LEGACY
help
The ossaudiodev module was removed in Python 3.13.
config BR2_TARGET_EDK2_PLATFORM_OVMF_I386
bool "EDK2 OVMF IA32 removed"
select BR2_LEGACY
help
EDK2 OVMF IA32 support was removed in upstream version
202511, so it has been dropped.
config BR2_BINUTILS_VERSION_2_43_X
bool "binutils 2.43 has been removed"
select BR2_LEGACY
help
binutils 2.43 has been removed, select a newer version
instead.
comment "Legacy options removed in 2026.02"
config BR2_PACKAGE_QEMU_TARGET_CRIS
+36 -34
View File
@@ -430,6 +430,7 @@ F: package/libhdhomerun/
F: package/libheif/
F: package/libid3tag/
F: package/libilbc/
F: package/libldns/
F: package/libmicrohttpd/
F: package/libminiupnpc/
F: package/libmspack/
@@ -610,10 +611,6 @@ F: package/alsa-plugins/
N: Changming Huang <jerry.huang@nxp.com>
F: package/qoriq-cadence-dp-firmware/
N: Chen Pei <cp0613@linux.alibaba.com>
F: package/iniparser/
F: package/ndctl/
N: Chris Packham <judge.packham@gmail.com>
F: package/coremark/
F: package/coremark-pro/
@@ -1263,7 +1260,6 @@ F: package/cctz/
F: package/clpeak/
F: package/faad2/
F: package/fdk-aac/
F: package/ftxui/
F: package/httping/
F: package/iozone/
F: package/leptonica/
@@ -1850,8 +1846,6 @@ F: support/testing/tests/fs/test_btrfs.py
F: support/testing/tests/fs/test_btrfs/
F: support/testing/tests/fs/test_erofs.py
F: support/testing/tests/fs/test_erofs/
F: support/testing/tests/fs/test_xfs.py
F: support/testing/tests/fs/test_xfs/
F: support/testing/tests/package/sample_python_distro.py
F: support/testing/tests/package/sample_python_gnupg.py
F: support/testing/tests/package/sample_python_hwdata.py
@@ -1880,7 +1874,6 @@ F: support/testing/tests/package/test_btrfs_progs.py
F: support/testing/tests/package/test_btrfs_progs/
F: support/testing/tests/package/test_bzip2.py
F: support/testing/tests/package/test_compressor_base.py
F: support/testing/tests/package/test_connman.py
F: support/testing/tests/package/test_coremark.py
F: support/testing/tests/package/test_cryptsetup.py
F: support/testing/tests/package/test_cryptsetup/
@@ -2104,7 +2097,6 @@ F: board/octavo/osd32mp1-brk/
F: board/octavo/osd32mp1-red/
F: configs/octavo_osd32mp1_brk_defconfig
F: configs/octavo_osd32mp1_red_defconfig
F: package/drm-info/
N: Kris Bahnsen <kris@embeddedTS.com>
F: package/wilc-firmware/
@@ -2212,29 +2204,6 @@ F: package/ffmpeg/
F: package/mpv/
F: package/rpi-firmware/
N: Manuel Diener <manuel.diener@oss.othermo.de>
F: package/pico-sdk/
F: package/picotool/
F: package/python-annotated-doc/
F: package/python-apscheduler/
F: package/python-crc/
F: package/python-diskcache/
F: package/python-django/
F: package/python-gpiod/
F: package/python-immutabledict/
F: package/python-jc/
F: package/python-log-rate-limit/
F: package/python-pydantic/
F: package/python-pydantic-core/
F: package/python-pydantic-settings/
F: package/python-typing-inspection/
F: package/python-tzlocal/
F: package/python-sdbus-modemmanager/
F: package/python-sdbus-systemd/
F: package/python-varlink/
F: package/python-waitress/
F: package/python-whitenoise/
N: Marcin Bis <marcin@bis.org.pl>
F: package/bluez5_utils/
F: package/cc-tool/
@@ -2294,20 +2263,55 @@ F: utils/diffconfig
N: Marcus Hoffmann <bubu@bubu1.eu>
F: package/nethogs/
F: package/pico-sdk/
F: package/picotool/
F: package/python-annotated-doc/
F: package/python-apscheduler/
F: package/python-crc/
F: package/python-diskcache/
F: package/python-django/
F: package/python-gpiod/
F: package/python-immutabledict/
F: package/python-jc/
F: package/python-log-rate-limit/
F: package/python-pydantic/
F: package/python-pydantic-core/
F: package/python-pydantic-settings/
F: package/python-ruamel-yaml-clib/
F: package/python-typing-inspection/
F: package/python-tzlocal/
F: package/python-sdbus-modemmanager/
F: package/python-sdbus-systemd/
F: package/python-varlink/
F: package/python-waitress/
F: package/python-whitenoise/
F: support/testing/tests/package/test_python_apscheduler.py
F: support/testing/tests/package/test_python_crc.py
F: support/testing/tests/package/test_python_diskcache.py
F: support/testing/tests/package/test_python_django.py
F: support/testing/tests/package/test_python_fastapi.py
F: support/testing/tests/package/test_python_pydantic.py
F: support/testing/tests/package/test_python_pydantic_settings.py
F: support/testing/tests/package/test_python_requests.py
F: support/testing/tests/package/test_python_ruamel_yaml.py
F: support/testing/tests/package/test_python_sdbus_modemmanager.py
F: support/testing/tests/package/test_python_sdbus_systemd.py
F: support/testing/tests/package/test_python_tzlocal.py
F: support/testing/tests/package/test_python_varlink.py
F: support/testing/tests/package/test_python_varlink/
F: support/testing/tests/package/test_python_waitress.py
F: support/testing/tests/package/test_python_whitenoise.py
F: support/testing/tests/package/sample_python_apscheduler.py
F: support/testing/tests/package/sample_python_crc.py
F: support/testing/tests/package/sample_python_diskcache.py
F: support/testing/tests/package/sample_python_django.py
F: support/testing/tests/package/sample_python_fastapi.py
F: support/testing/tests/package/sample_python_pydantic.py
F: support/testing/tests/package/sample_python_pydantic_settings.py
F: support/testing/tests/package/sample_python_requests.py
F: support/testing/tests/package/sample_python_ruamel_yaml.py
F: support/testing/tests/package/sample_python_sdbus_modemmanager.py
F: support/testing/tests/package/sample_python_sdbus_systemd.py
N: Marek Belisko <marek.belisko@open-nandra.com>
F: package/libatasmart/
@@ -2506,7 +2510,6 @@ F: boot/xilinx-embeddedsw/
F: boot/xilinx-prebuilt/
F: configs/versal_vck190_defconfig
F: configs/versal_vek280_defconfig
F: configs/versal_vpk120_defconfig
F: configs/versal_vpk180_defconfig
F: configs/versal2_vek385_defconfig
F: configs/zynq_zc702_defconfig
@@ -3481,7 +3484,6 @@ N: Yann E. MORIN <yann.morin@orange.com>
F: .editorconfig
F: package/gpsd/
F: package/mosquitto/
F: package/python-humanfriendly/
F: package/skopeo/
N: Yegor Yefremov <yegorslists@googlemail.com>
+1 -1
View File
@@ -92,7 +92,7 @@ all:
.PHONY: all
# Set and export the version string
export BR2_VERSION := 2026.05-git
export BR2_VERSION := 2026.02
# Actual time the release is cut (for reproducible builds)
BR2_VERSION_EPOCH = 1772611600
+272
View File
@@ -0,0 +1,272 @@
学习完 [《从零开始为 RISC-V 构建一个 Linux 系统》][1] 后的小测试
----
FIXME:这个 buildroot 仓库(包括本文件)目前放在 openruyi.cn 上,后继是否也放到 https://github.com/openRuyi-Tutorials 下去?
<!-- TOC -->
- [1. 测试任务概述](#1-测试任务概述)
- [2. 任务提交方式](#2-任务提交方式)
- [3. 测试任务描述](#3-测试任务描述)
- [3.1. 任务 1](#31-任务-1)
- [3.2. 任务 2](#32-任务-2)
- [3.3. 任务 3](#33-任务-3)
- [3.4. 任务 4](#34-任务-4)
- [3.5. 任务 5](#35-任务-5)
- [4. 联系方式](#4-联系方式)
<!-- /TOC -->
# 1. 测试任务概述
慕课 《从零开始为 RISC-V 构建一个 Linux 系统》(下文简称 MOOC)为课程提供了配套的构建脚本,代码仓库在:<https://github.com/openRuyi-Tutorials/build-linux-system-from-scratch>。这套构建脚本参考了 [Buildroot][2],具体对应的是 tag 版本为 2025.08.1 的代码。(FIXME: 用 github 的考虑是方便学生 fork,openruyi 的仓库我不知道是否合适面向所有学生建账号。)
设计测验如下,供评估学习效果参考。
测验总分 100 分,分为五个任务,参与考评的同学可任意选择其中的一个或者多个任务。所谓前置任务是指在完成本任务前必须要完成的任务项。
| 任务号 | 满分 | 前置任务 |
|--------|------|----------|
| 任务 1 | 60 | 无 |
| 任务 2 | 10 | 任务 1 |
| 任务 3 | 15 | 任务 1 |
| 任务 4 | 10 | 任务 1 |
| 任务 5 | 5 | 无 |
# 2. 任务提交方式
为了避免同时申请测试的实习生之间互相参考,请 **不要通过 PRPull Request) 方式提交你的改动**,而是采用邮件方式提交你的改动。具体提交方式如下:
- 在 Github 上 fork MOOC 仓库 <https://github.com/openRuyi-Tutorials/build-linux-system-from-scratch> 到自己的私有仓库。
- 在自己的私有仓库上 checkout 开发分支
- 将自己的改动提交到自己的开发分支上。假设您的 github userid 是 AAA,开发分支是 BBB,那么应该会得到一个对应开发分支的 URL<https://github.com/AAA/build-linux-system-from-scratch/tree/BBB>。
- 提交人员通过邮件将该开发分支的 URL 发送给 “我”(联系方式见文末)。
- 每个任务单独一封邮件,请在邮件标题中加上 “[MOOC QUIZ TASK X]” 的前缀,X 为具体的任务号(“1”,“2” ...)。
- 每个任务单独对应一个开发分支,具体要求见各个任务的描述。开发分支的取名建议加上类似 “taskX-” (X 为具体的任务号 “1”,“2” ...) 的前缀以示区分。
# 3. 测试任务描述
## 3.1. 任务 1
- 任务描述:仔细阅读 MOOC 仓库 <https://github.com/openRuyi-Tutorials/build-linux-system-from-scratch> 的构建脚本,基于该仓库的代码将 MOOC 的构建脚本中涉及的软件包的版本升级到和 Buildroot 的 tag 版本 2026.02 使用的软件包版本对齐。
关于 Buildroot 的构建,可以参考我们这里自己 mirror 的一个 Buildroot 仓库以及测验专用分支 <https://git.openruyi.cn/openRuyi-tutorials/buildroot/src/branch/quiz-mooc/>。构建方法如下,注意确保本地已经安装了 qemu-system-riscv64,版本建议至少 8.2.2 以上。构建配置采用修改过的 `qemu_riscv64_virt_defconfig`,具体的配置修改内容可以参阅 quiz-mooc 分支的 commit 历史。
```shell
$ git clone https://git.openruyi.cn/openRuyi-tutorials/buildroot.git
$ cd buildroot
$ git checkout quiz-mooc
$ make qemu_riscv64_virt_defconfig
$ ./output/images/start-qemu.sh --use-system-qemu
```
大致需要升级如下软件包:
- 升级 coreutils 到 9.10
- 升级 e2fsprogs 到 1.47.3
- 升级 expat 到 2.7.4
- 升级 fakeroot 到 1.37.1.2
- 升级 libzlib 到 1.3.2
- 升级 libxcrypt 到 4.5.2
- 升级 linux 到 6.19.5
- 升级 m4 到 1.4.21
- 升级 ncurses 到 6.6-20251231
- 升级 python3 到 3.14.3
- 升级 util-linux 到 2.41.3
- 升级 vim 到 9.1.2148
- 新增 libopenssl 3.6.1
为简化任务要求,升级过程中针对原 MOOC 构建做如下简化工作:
- 取消从源码自己构建交叉工具链,直接使用 Buildroot 预先制作的交叉工具链,具体下载的交叉工具链版本可以参考 Buildroot 的代码。
- 和 MOOC 类似,不从源码构建 QEMU,而是使用本地自己安装的 QEMU(建议版本在 8.2.2 及以上)
- 任务检验标准:
对于提交的构建代码内容的具体要求如下:
- 提交时请基于 main 分支拉出自己的开发分支并进行 commit,不要在 main 分支上直接提交 commit。
- 改动请基于 MOOC 仓库的 main 分支开发,尽量复用原有逻辑和框架而不要完全自己从头写一套,同时也不是将 Buildroot 的构建框架和脚本直接拿来使用。正常情况如果只是软件包升级应该不会涉及大的框架性改动,但如果的确发现现有代码框架无法支持新代码升级的请及时和 “我” 联系(联系方式见文末)。如果是发现原有代码有 bug 或者有需要做优化的请移步 “任务 5”。其他的额外改动需说明的请在邮件中解释。
- 为了方便 review,如果修改涉及独立的功能,以及不同模块或者不同软件包的,建议每个修改一个 commit,不要将所有改动作为一个 commit 整体提交。
- 在 commit 的描述中给出简单的修改说明,中英文皆可。简单的话一句话即可,不用重复代码的修改细节,所有的修改说明的出发点是侧重于阐述修改的原因,思路以及除了代码外需要额外说明的部分。
- 注意代码风格,特别是代码缩进等。代码整洁,不要合入临时代码、临时测试用代码以及无效的注释等垃圾代码。
除了代码提交外,对于结果的检验要求如下:和 MOOC 课程代码类似,执行代码仓库中的 `make` 命令后可以完整地从零开始构建一个系统,上述需要升级和新增的软件包都构建无误。同样执行 `start-qemu.sh` 脚本可以在 QEMU 中启动系统。登录进入系统后验证软件工作正常,包括:
- 检查 SysV 是否正常工作,检查方法:
查看 SysV 版本:
```shell
# init --version
SysV init version: 3.14
```
尝试关机:
```shell
# init 0
```
尝试重启:
```shell
# init 6
```
- 检查当前 Shell 是否是 bash,检查方法:
```shell
# echo $SHELL
/bin/bash
```
执行 `bash --version` 能够输出 bash 的版本信息和版权信息如下:
```shell
# bash --version
GNU bash, version 5.2.37(1)-release (riscv64-buildroot-linux-gnu)
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
```
- 检查 coreutils 工作正常,检查方法:
```shell
# ls --help
Usage: ls [OPTION]... [FILE]...
[...... 省略]
Report bugs to: bug-coreutils@gnu.org
GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>
Report any translation bugs to <https://translationproject.org/team/>
Full documentation <https://www.gnu.org/software/coreutils/ls>
or available locally via: info '(coreutils) ls invocation'
```
应该会看到输出中最后会出现 "GNU coreutils" 字样。
- 检查 vi/vim 工作正常。检查方法:
```shell
# vi
```
或者
```shell
# vim
```
应该进入 vim 欢迎界面,并看到 "VIM - Vi IMproved" 字样。并能正常使用 vi 编辑和退出。
- 检查 Python3 工作正常。检查方法:
```shell
# python3
Python 3.14.3 (main, Apr 1 2026, 14:14:37) [GCC 15.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
```
可以进入 Python 控制台,输入 `quit()` 可以退出 Python 控制台。
可以运行 snake 游戏。
```shell
# python3 /usr/games/snake.py
```
## 3.2. 任务 2
- 任务描述:在 “任务 1” 完成的基础上为 MOOC 的文件系统添加一个软件包,软件包的范围局限于 Buildroot 已支持的软件包(menuconfig 中 “Target packages” 中所列出的软件包,注意新添加的软件包不要包括 “Package managers” 和 systemd)。另外注意按照 Buildroot 的风格以及 MOOC 的风格,该软件包的构建依赖和运行依赖尽量不要对 host 的原有 native 环境有依赖,也就是说除了少部分 native 环境中的 pre-installed 软件外,所有的该软件包的构建依赖和运行依赖都需要我们自己从源码开始构建和安装到 host 和 target 中。
- 任务检验标准:
对于提交的构建代码内容的具体要求
- 改动请基于您提交的 “任务 1” 的开发分支再拉一个针对 “任务 2” 的开发分支并在这个新的开发分支上 commit。
- 请在邮件中给出新增软件包的简单说明。
- 请在邮件中给出新增软件包的运行和测试说明。
- 其他要求和 “任务 1” 类似。
对于结果的检验要求:
- 不影响 “任务 1” 的构建,以及运行和测试结果。
- 满足邮件中所列出的新增软件包的运行和测试说明。
## 3.3. 任务 3
- 任务描述:在 “任务 1” 完成的基础上为 MOOC 的文件系统添加 systemd 软件包。systemd 的版本以及其构建依赖和运行依赖的软件包的版本需要和 Buildroot 的 tag 版本 2026.02 使用的软件包版本对齐。注意按照 Buildroot 的风格以及 MOOC 的风格,该软件包的构建依赖和运行依赖尽量不要对 host 的原有 native 环境有依赖,也就是说除了少部分 native 环境中的 pre-installed 软件外,所有的该软件包的构建依赖和运行依赖都需要我们自己从源码开始构建和安装到 host 和 target 中。(注:可以参考 Buildroot 的做法)。
- 任务检验标准:
对于提交的构建代码内容的具体要求:
- 改动请基于您提交的 “任务 1” 的开发分支再拉一个针对 “任务 3” 的开发分支并在这个新的开发分支上 commit。
- 其他要求和 “任务 1” 类似。
对于结果的检验要求:
- 不影响 “任务 1” 的构建,以及运行和测试结果。
- 启动系统,其中过程中应该看到 systemd 的正常输出。
- 登录进入系统后验证 systemd 软件工作正常,方法如下:
```shell
systemctl status
```
应显示 "State: running" 并返回了系统状态摘要,说明 systemd 基本可用。
尝试 stop 然后再 start 一个服务,stop 后查看服务状态应该为 inactive;start 后查看服务状态应该为 running。以 udevd 服务为例:
```shell
systemctl status systemd-udevd
systemctl stop systemd-udevd
systemctl status systemd-udevd
systemctl start systemd-udevd
systemctl status systemd-udevd
```
## 3.4. 任务 4
- 任务描述:在 “任务 3” 完成的基础上为 MOOC 的文件系统添加 简介:microdnf 软件包。注意按照 Buildroot 的风格以及 MOOC 的风格,该软件包的构建依赖和运行依赖尽量不要对 host 的原有 native 环境有依赖,也就是说除了少部分 native 环境中的 pre-installed 软件外,所有的该软件包的构建依赖和运行依赖都需要我们自己从源码开始构建和安装到 host 和 target 中。
microdnf 简介:microdnf 是一个用 C 语言编写的轻量级包管理器,可以看作是 dnf 的精简版实现。它专为容器和最小化环境设计,旨在以极小的开销完成基本的软件包管理任务。microdnf 的官方网站和源码托管在 GitHub 上,具体地址是:<https://github.com/rpm-software-management/microdnf>。
- 任务检验标准
对于提交的构建代码内容的具体要求:
- 改动请基于您提交的 “任务 1” 的开发分支再拉一个针对 “任务 4” 的开发分支并在这个新的开发分支上 commit。
- 其他要求和 “任务 1” 类似。
对于结果的检验要求:
- 不影响 “任务 1” 的构建,以及运行和测试结果。
- 登录进入系统后验证软件 microdnf 工作正常,并且可以用它从 openRuyi 的软件源(FIXME:这个我建议放在开发用的源上,并且为了避免安装过程中发生冲突,可以指定一个简单的软件包,譬如就安装一个 hello world 的可执行程序,尽可能无依赖,确保安装成功即可)下载并安装软件包 。
## 3.5. 任务 5
- 任务描述:为原 MOOC 代码仓库找 bug 或者提出改进建议。
- 任务检验标准
对于提交的构建代码内容的具体要求:
- 改动请基于 MOOC 仓库的 main 分支拉出新的开发分支并在上面 commit。
- 如果涉及多个 bug fix 或者多个改进点,请每个 bugfix 和每个改进点单独一个 commit。不要混在一起,方便 review。
- 在 commit 消息中或者在邮件中对修改进行正确的说明。
- Bug fix 要说清楚可复现的 bug 现象以及解决思路。
- 改进建议要说清楚改进的理由和改进方案。
对于结果的检验要求:Bug fix 和改进建议只要被上游接受均可视为完成 “任务 5”。注意对于 “改进建议”,不要提出超过目前课程范围内的改进建议,譬如新增软件包或者提升软件包版本这种,因为 MOOC 的课程内容目前暂时告一段落。“任务 5” 中的改进建议更多的指的是针对现有 MOOC 构建脚本的一些优化措施。
# 4. 联系方式
测试过程中有任何问题可以联系 “我”:
- 联系人:汪辰
- 联系方式(邮件):wangchen20@iscas.ac.cn
[1]: https://github.com/openRuyi-Tutorials/build-linux-system-from-scratch/blob/main/README.md
[2]: https://buildroot.org/
-28
View File
@@ -498,12 +498,6 @@ config BR2_tsv110
select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
comment "armv8.4a cores"
config BR2_neoverse_v1
bool "neoverse-V1 (aka zeus)"
depends on BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
config BR2_saphira
bool "saphira"
depends on BR2_ARCH_IS_64
@@ -524,12 +518,6 @@ config BR2_neoverse_n2
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV9A
select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
config BR2_neoverse_v2
bool "neoverse-V2 (aka demeter)"
depends on BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV9A
select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
comment "armv9.2a cores"
config BR2_cortex_a720
@@ -538,18 +526,6 @@ config BR2_cortex_a720
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV9A
select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
config BR2_neoverse_v3
bool "neoverse-V3 (aka poseidon)"
depends on BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV9A
select BR2_ARCH_NEEDS_GCC_AT_LEAST_15
config BR2_neoverse_v3ae
bool "neoverse-V3AE (aka poseidon)"
depends on BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV9A
select BR2_ARCH_NEEDS_GCC_AT_LEAST_15
endchoice
config BR2_ARM_ENABLE_NEON
@@ -942,16 +918,12 @@ config BR2_GCC_TARGET_CPU
default "neoverse-n1" if BR2_neoverse_n1
default "tsv110" if BR2_tsv110
# armv8.4a
default "neoverse-v1" if BR2_neoverse_v1
default "saphira" if BR2_saphira
# armv9.0a
default "cortex-a710" if BR2_cortex_a710
default "neoverse-n2" if BR2_neoverse_n2
default "neoverse-v2" if BR2_neoverse_v2
# armv9.2a
default "cortex-a720" if BR2_cortex_a720
default "neoverse-v3" if BR2_neoverse_v3
default "neoverse-v3ae" if BR2_neoverse_v3ae
config BR2_GCC_TARGET_ABI
default "aapcs-linux" if BR2_arm || BR2_armeb
+1 -1
View File
@@ -24,7 +24,7 @@ image disk.img {
}
partition root {
partition-type-uuid = root-arm64
partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae
image = "rootfs.ext2"
}
}
+1 -1
View File
@@ -1,2 +1,2 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 8d1934a72a185f1be6b56e3ad8ea31fd9a381ffec0346c69f06c90d776da7cb8 linux-6.18.14.tar.xz
sha256 62148e7e17f54c4a5ab5e75ad4882682c54bee818948be61a5963234fc0849fc linux-6.11.11.tar.xz
@@ -0,0 +1,2 @@
# Locally calculated
sha256 7efa89e1b4e4106ee05d68e876c8efbb146364d89cfd5d26bf4647b09c08f32b arm-trusted-firmware-v2.10-git4.tar.gz
@@ -0,0 +1 @@
../linux/linux.hash
@@ -1,2 +1,2 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz
sha256 9b4ccec7d8ceff4824f149e476ec06e83c86546ae8af82582871647809a62ef0 linux-6.12.70.tar.xz
@@ -0,0 +1,2 @@
# Locally calculated
sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz
@@ -0,0 +1 @@
../linux/linux.hash
@@ -1,2 +1,2 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz
# Locally calculated
sha256 774698422ee54c5f1e704456f37c65c06b51b4e9a8b0866f34580d86fef8e226 linux-6.10.tar.xz
@@ -1,2 +1,2 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2
@@ -0,0 +1 @@
../linux/linux.hash
@@ -1,2 +1,2 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz
# Locally calculated
sha256 2bb586c954277d070c8fdf6d7275faa93b4807d9bf3353b491d8149cca02b4fc linux-6.15.6.tar.xz
@@ -1,2 +1,2 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2
@@ -1,2 +1,2 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2
@@ -1,2 +1,2 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2
@@ -0,0 +1 @@
../linux/linux.hash
@@ -1,2 +1,2 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 4d9f3ff73214f68c0194ef02db9ca4b7ba713253ac1045441d4e9f352bc22e14 linux-6.19.6.tar.xz
# Locally calculated
sha256 b4850cf670a032c70f38b713a27d62046c5f747caf028c5f50b18f98606a9eb1 linux-6.12.52.tar.xz
@@ -1,2 +1,2 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
sha256 b4f032848e56cc8f213ad59f9132c084dbbb632bc29176d024e58220e0efdf4a u-boot-2025.10.tar.bz2
@@ -0,0 +1 @@
../linux/linux.hash
@@ -1,2 +1,2 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 4d9f3ff73214f68c0194ef02db9ca4b7ba713253ac1045441d4e9f352bc22e14 linux-6.19.6.tar.xz
# Locally calculated
sha256 b4850cf670a032c70f38b713a27d62046c5f747caf028c5f50b18f98606a9eb1 linux-6.12.52.tar.xz
@@ -1,2 +1,2 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
sha256 b4f032848e56cc8f213ad59f9132c084dbbb632bc29176d024e58220e0efdf4a u-boot-2025.10.tar.bz2
@@ -1,2 +1,2 @@
# Locally calculated
sha256 6fd749e53c455aec3418288630544e7552bbffab4442ddc48b20ebef9aee87ff arm-trusted-firmware-v2.14-git4.tar.gz
sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz
@@ -1,2 +1,2 @@
# Locally calculated
sha256 f4855f382c1b735c84072bdef36db5bcd5dc7b0c37e42f5104317149a0a486ef linux-6.18.18.tar.xz
sha256 f74812f78e88992c416434cb107639e13a551dbaff36bb90d6346ab16ab71a95 linux-6.6.56.tar.xz
@@ -1,2 +1,2 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2
@@ -1 +0,0 @@
CONFIG_IMX_SDMA=m
@@ -1,2 +0,0 @@
# Locally calculated
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
@@ -1,2 +0,0 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
-64
View File
@@ -1,64 +0,0 @@
****************************
Freescale i.MX6ULL EVK board
****************************
This file documents the Buildroot support for the Freescale i.MX6ULL EVK board
using Upstream U-Boot and Linux.
Build
=====
First, configure Buildroot for your i.MX6ULL EVK board:
In order to do so issue:
make imx6ullevk_defconfig
Build all components:
make
You will find in output/images/ the following files:
- boot.vfat
- imx6ull-14x14-evk.dtb
- rootfs.ext2
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.bin
- u-boot-dtb.imx
- zImage
Create a bootable SD card
=========================
To determine the device associated to the SD card have a look in the
/proc/partitions file:
cat /proc/partitions
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template.
Boot the i.MX6ULL EVK board
===========================
To boot your newly created system (refer to the i.MX 6ULL EVK Quick Start Guide [1] for guidance):
- insert the SD card in the micro SD slot of the board;
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
References
==========
[1] https://www.nxp.com/webapp/Download?colCode=IMX6ULLQSG
+10 -3
View File
@@ -2,18 +2,25 @@
Freescale i.MX6ULL EVK board
****************************
This file documents the Buildroot support for the Freescale i.MX6ULL EVK board
using Vendor U-Boot and Linux.
This file documents the Buildroot support for the Freescale i.MX6ULL EVK board.
Build
=====
First, configure Buildroot for your i.MX6ULL EVK board:
In order to do so issue:
In order to do so there are two supported options:
make freescale_imx6ullevk_defconfig
if you plan to use NXP provided U-Boot and kernel.
or
make imx6ullevk_defconfig
if you plan to use mainline U-Boot and mainline kernel.
Build all components:
make
@@ -1,2 +1,2 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 f4855f382c1b735c84072bdef36db5bcd5dc7b0c37e42f5104317149a0a486ef linux-6.18.18.tar.xz
sha256 0fcbbbbcd456e87bbbfc8bf37af541fda62ccfcce76903503424fd101ef7bdee linux-6.12.43.tar.xz
@@ -1,2 +1,2 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2
@@ -0,0 +1 @@
../linux/linux.hash
@@ -1,2 +1,2 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 f4855f382c1b735c84072bdef36db5bcd5dc7b0c37e42f5104317149a0a486ef linux-6.18.18.tar.xz
# Locally calculated
sha256 93218296934915636fe6ba08e125948424cc270fd8948502c0ab91087a9fccd8 linux-6.6.44.tar.xz
@@ -1,2 +1,2 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2
@@ -1,2 +0,0 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 f4855f382c1b735c84072bdef36db5bcd5dc7b0c37e42f5104317149a0a486ef linux-6.18.18.tar.xz
@@ -1,2 +0,0 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
+1
View File
@@ -27,6 +27,7 @@ image sdcard.img {
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
size = 128M
offset = 0
}
}
@@ -1,2 +0,0 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 7c716216c3c4134ed0de69195701e677577bbcdd3979f331c182acd06bf2f170 linux-6.18.15.tar.xz
@@ -1,2 +0,0 @@
# Locally calculated
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
@@ -1,59 +0,0 @@
From ebfc6864f27c7170422db0c8c3d934f23a8a83b7 Mon Sep 17 00:00:00 2001
From: Patrice Chotard <patrice.chotard@foss.st.com>
Date: Fri, 16 Jan 2026 19:57:26 +0100
Subject: [PATCH] ARM: dts: stm32: Add SCMI clocks in rcc node for
stm32mp131.dtsi
Add SCMI clocks. These clocks are used as parent clocks and are
referenced by their rcc's node position in clk-stm32mp13.c
Fixes: fdb1bffe2827 ("clk: scmi: Postpone clock name resolution")
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/7795c5ec6a608a104cf41331cbd387d39f7f6f49
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
arch/arm/dts/stm32mp13-u-boot.dtsi | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/arch/arm/dts/stm32mp13-u-boot.dtsi b/arch/arm/dts/stm32mp13-u-boot.dtsi
index ad63d5027b2..623c796cc79 100644
--- a/arch/arm/dts/stm32mp13-u-boot.dtsi
+++ b/arch/arm/dts/stm32mp13-u-boot.dtsi
@@ -186,6 +186,33 @@
};
&rcc {
+ clocks = <&scmi_clk CK_SCMI_HSE>,
+ <&scmi_clk CK_SCMI_HSI>,
+ <&scmi_clk CK_SCMI_CSI>,
+ <&scmi_clk CK_SCMI_LSE>,
+ <&scmi_clk CK_SCMI_LSI>,
+ <&scmi_clk CK_SCMI_HSE_DIV2>,
+ <&scmi_clk CK_SCMI_PLL2_Q>,
+ <&scmi_clk CK_SCMI_PLL2_R>,
+ <&scmi_clk CK_SCMI_PLL3_P>,
+ <&scmi_clk CK_SCMI_PLL3_Q>,
+ <&scmi_clk CK_SCMI_PLL3_R>,
+ <&scmi_clk CK_SCMI_PLL4_P>,
+ <&scmi_clk CK_SCMI_PLL4_Q>,
+ <&scmi_clk CK_SCMI_PLL4_R>,
+ <&scmi_clk CK_SCMI_MPU>,
+ <&scmi_clk CK_SCMI_AXI>,
+ <&scmi_clk CK_SCMI_MLAHB>,
+ <&scmi_clk CK_SCMI_CKPER>,
+ <&scmi_clk CK_SCMI_PCLK1>,
+ <&scmi_clk CK_SCMI_PCLK2>,
+ <&scmi_clk CK_SCMI_PCLK3>,
+ <&scmi_clk CK_SCMI_PCLK4>,
+ <&scmi_clk CK_SCMI_PCLK5>,
+ <&scmi_clk CK_SCMI_PCLK6>,
+ <&scmi_clk CK_SCMI_CKTIMG1>,
+ <&scmi_clk CK_SCMI_CKTIMG2>,
+ <&scmi_clk CK_SCMI_CKTIMG3>;
bootph-all;
};
--
2.51.0
-4
View File
@@ -5,7 +5,6 @@ Xilinx Versal boards:
Supported Versal Boards:
Xilinx VCK190 board
Xilinx VEK280 board
Xilinx VPK120 board
Xilinx VPK180 board
******************************************
@@ -17,9 +16,6 @@ https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/vck190
VEK280:
https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/vek280.html
VPK120:
https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/vpk120.html
VPK180:
https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/vpk180.html
+1 -1
View File
@@ -3,7 +3,7 @@
# By default U-Boot loads DTB from a file named "system.dtb", and
# with versal2, the Linux DTB is the same as the U-Boot DTB, so
# let's use a symlink since the DTB is the same.
ln -fs "u-boot.dtb" "${BINARIES_DIR}/system.dtb"
ln -fs "${BINARIES_DIR}/u-boot.dtb" "${BINARIES_DIR}/system.dtb"
BOARD_DIR="$(dirname "$0")"
+11 -1
View File
@@ -21,12 +21,20 @@ if BR2_TARGET_EDK2
choice
prompt "Platform"
default BR2_TARGET_EDK2_PLATFORM_OVMF_I386 if BR2_i386
default BR2_TARGET_EDK2_PLATFORM_OVMF_LOONGARCH64 if \
BR2_loongarch64
default BR2_TARGET_EDK2_PLATFORM_OVMF_RISCV if BR2_RISCV_64
default BR2_TARGET_EDK2_PLATFORM_OVMF_X64 if BR2_x86_64
default BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU if BR2_aarch64
config BR2_TARGET_EDK2_PLATFORM_OVMF_I386
bool "i386"
depends on BR2_i386 || BR2_x86_64
help
Platform configuration for a generic i386 target.
This platform will boot from flash address 0x0.
config BR2_TARGET_EDK2_PLATFORM_OVMF_LOONGARCH64
bool "LoongArch64"
depends on BR2_loongarch64
@@ -110,7 +118,8 @@ endchoice
config BR2_TARGET_EDK2_OVMF_DEBUG_ON_SERIAL
bool "OVMF Debug on Serial"
depends on BR2_ENABLE_DEBUG
depends on BR2_TARGET_EDK2_PLATFORM_OVMF_X64
depends on BR2_TARGET_EDK2_PLATFORM_OVMF_I386 || \
BR2_TARGET_EDK2_PLATFORM_OVMF_X64
help
When EDK2 OVMF is built with debug, messages are printed to
IO port 0x402. Those messages are not shown in the normal
@@ -138,6 +147,7 @@ config BR2_TARGET_EDK2_EXTRA_BUILD_OPTS
config BR2_TARGET_EDK2_FD_NAME
string
default "OVMF" if BR2_TARGET_EDK2_PLATFORM_OVMF_I386
default "OVMF" if BR2_TARGET_EDK2_PLATFORM_OVMF_X64
default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU
default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL
+1 -1
View File
@@ -1,3 +1,3 @@
# Locally calculated
sha256 a8378e83060d621806b4237f6b2b9ead89d51f888d41e46e78d42b76d6594329 edk2-edk2-stable202511-git4.tar.gz
sha256 1e675a98f6bcf81fbae1141779b9e72ec28773d0e5ec77bdcc890f14502615a4 edk2-edk2-stable202508-git4.tar.gz
sha256 50ce20c9cfdb0e19ee34fe0a51fc0afe961f743697b068359ab2f862b494df80 License.txt
+11 -4
View File
@@ -4,7 +4,7 @@
#
################################################################################
EDK2_VERSION = edk2-stable202511
EDK2_VERSION = edk2-stable202508
EDK2_SITE = https://github.com/tianocore/edk2
EDK2_SITE_METHOD = git
EDK2_LICENSE = BSD-2-Clause-Patent
@@ -56,7 +56,14 @@ EDK2_GIT_SUBMODULES = YES
EDK2_BUILD_PACKAGES = $(@D)/Build/Buildroot
EDK2_PACKAGES_PATHS = $(@D) $(EDK2_BUILD_PACKAGES) $(STAGING_DIR)/usr/share/edk2-platforms
ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_X64),y)
ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_I386),y)
EDK2_ARCH = IA32
EDK2_DEPENDENCIES += host-nasm
EDK2_PACKAGE_NAME = OvmfPkg
EDK2_PLATFORM_NAME = OvmfPkgIa32
EDK2_BUILD_DIR = OvmfIa32
else ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_X64),y)
EDK2_ARCH = X64
EDK2_DEPENDENCIES += host-nasm
EDK2_PACKAGE_NAME = OvmfPkg
@@ -67,13 +74,13 @@ else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU),y)
EDK2_ARCH = AARCH64
EDK2_PACKAGE_NAME = ArmVirtPkg
EDK2_PLATFORM_NAME = ArmVirtQemu
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-AArch64
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH)
else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL),y)
EDK2_ARCH = AARCH64
EDK2_PACKAGE_NAME = ArmVirtPkg
EDK2_PLATFORM_NAME = ArmVirtQemuKernel
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-AArch64
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH)
else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_SGI575),y)
EDK2_ARCH = AARCH64
@@ -1,51 +0,0 @@
From c4665d282072df2ed8ab6ae1d5fa0de41e5db02f Mon Sep 17 00:00:00 2001
From: Luca Boccassi <luca.boccassi@gmail.com>
Date: Tue, 6 Jan 2026 11:48:13 +0100
Subject: [PATCH] Fix build with binutils 2.46
With the new binutils which is in development and in Fedora Rawhide:
objcopy -D -j .text -j .sdata -j .data -j .data.ident \
-j .dynamic -j .rodata -j .rel* \
-j .rela* -j .dyn -j .reloc -j .eh_frame \
-j .vendor_cert -j .sbat -j .sbatlevel \
--file-alignment 0x1000 \
--target efi-app-x86_64 fbx64.so fbx64.efi
objcopy: fbx64.so: file format not recognized
It seems it was an intentional compat break, according to the upstream
commit:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=5e83077d552ed6f81dbc092eb3ccf827a43de42c
* Internal changes to plugin support, and stricter target checking may result
in some errors being exposed in user options passed to the various binutils.
For example objcopy --target=TARGET now will only work if the input file is
for TARGET whereas prior versions of objcopy accepted other target input
files and produced a TARGET output. If you do in fact want the old
behaviour the correct usage is objcopy --output-target=TARGET.
Switch from --taget to --output-target as suggested.
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
Upstream: https://github.com/rhboot/shim/commit/c4665d282072df2ed8ab6ae1d5fa0de41e5db02f
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Make.defaults | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Make.defaults b/Make.defaults
index c5fa32bec..9b40b7f4a 100644
--- a/Make.defaults
+++ b/Make.defaults
@@ -155,7 +155,7 @@ endif
LIB_GCC = $(shell $(CC) $(ARCH_CFLAGS) -print-libgcc-file-name)
EFI_LIBS = -lefi -lgnuefi --start-group Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a --end-group $(LIB_GCC)
-FORMAT ?= --target efi-app-$(ARCH)
+FORMAT ?= --output-target efi-app-$(ARCH)
LOCAL_EFI_PATH = gnu-efi/$(ARCH_GNUEFI)/gnuefi
LIBDIR = gnu-efi/$(ARCH_GNUEFI)/lib
-20
View File
@@ -295,37 +295,17 @@ choice
Since this version, the TEE in binary format must be used as
it contains important meta-data.
https://optee.readthedocs.io/en/4.9.0/architecture/porting_guidelines.html#binaries
config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_ELF
bool "tee.elf"
help
The main OP-TEE ELF file. All other OP-TEE binaries are
created with this as input.
ELF format may be used only for OP-TEE versions before
3.8.0.
config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_BIN
bool "tee.bin"
help
The original OP-TEE binary with a header (v1) and combined
init, paged, and unpaged parts.
Binary format must be used for OP-TEE versions since 3.8.0.
config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN
bool "tee-raw.bin"
help
Raw binary suitable to copy into physical memory where OP-TEE
be can executed from.
OP-TEE since 3.21 suggests to use tee-raw.bin instead of (the
still identical) tee-pager_v2.bin.
Texas Instruments K3 family of SoCs embed tee-raw.bin in
U-Boot (using Binman tool) to support their boot flow.
endchoice
config BR2_TARGET_UBOOT_NEEDS_OPENSBI
-2
View File
@@ -204,8 +204,6 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_ELF),y)
UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee.elf
else ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_BIN),y)
UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee.bin
else ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN),y)
UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee-raw.bin
endif
endif
+2 -4
View File
@@ -1,7 +1,5 @@
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11=y
BR2_GLOBAL_PATCH_DIR="board/aarch64-efi/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
@@ -9,7 +7,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/aarch64-efi/post-image.sh support/scripts/ge
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/aarch64-efi/genimage-efi.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.14"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.11.11"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y
+2 -3
View File
@@ -11,7 +11,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beagleboard/beagleboneai64/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.70"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-j721e-beagleboneai64"
@@ -38,13 +38,12 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="j721e_beagleboneai64_a72"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE=y
BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN=y
BR2_TARGET_UBOOT_USE_BINMAN=y
# BR2_TARGET_UBOOT_FORMAT_BIN is not set
BR2_TARGET_UBOOT_FORMAT_IMG=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="tispl.bin_unsigned"
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin"
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
+7 -9
View File
@@ -1,7 +1,5 @@
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10=y
BR2_GLOBAL_PATCH_DIR="board/beagleboard/beagleplay/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_ROOTFS_POST_BUILD_SCRIPT="board/beagleboard/beagleplay/post-build.sh"
@@ -9,7 +7,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="-c board/beagleboard/beagleplay/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.10"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-beagleplay"
@@ -24,7 +22,8 @@ BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
# BR2_TARGET_ROOTFS_TAR is not set
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_12_VERSION=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.11"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y
@@ -32,19 +31,17 @@ BR2_TARGET_OPTEE_OS=y
BR2_TARGET_OPTEE_OS_PLATFORM="k3-am62x"
BR2_TARGET_TI_K3_R5_LOADER=y
BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y
BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2024.07"
BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62x_beagleplay_r5"
BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN="tiboot3-am62x-gp-evm.bin"
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62x_beagleplay_a53"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE=y
BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN=y
BR2_TARGET_UBOOT_USE_BINMAN=y
# BR2_TARGET_UBOOT_FORMAT_BIN is not set
BR2_TARGET_UBOOT_FORMAT_IMG=y
@@ -52,6 +49,7 @@ BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.img_unsigned"
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="tispl.bin_unsigned"
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin"
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
+4 -5
View File
@@ -11,7 +11,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beagleboard/beagley-ai/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.15.6"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am67a-beagley-ai"
@@ -28,23 +28,22 @@ BR2_TARGET_OPTEE_OS=y
BR2_TARGET_OPTEE_OS_PLATFORM="k3-am62x"
BR2_TARGET_TI_K3_R5_LOADER=y
BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y
BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2025.07"
BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am67a_beagley_ai_r5"
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am67a_beagley_ai_a53"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE=y
BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN=y
BR2_TARGET_UBOOT_USE_BINMAN=y
# BR2_TARGET_UBOOT_FORMAT_BIN is not set
BR2_TARGET_UBOOT_FORMAT_IMG=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="tispl.bin"
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin"
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
+3 -5
View File
@@ -1,8 +1,6 @@
BR2_arm=y
BR2_cortex_a8=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y
BR2_GLOBAL_PATCH_DIR="board/cubietech/cubieboard1/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_ROOTFS_OVERLAY="board/cubietech/cubieboard1/rootfs_overlay"
@@ -10,7 +8,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/cubietech/cubieboard1/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.19.6"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.52"
BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun4i-a10-cubieboard"
@@ -20,7 +18,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.10"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Cubieboard"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+3 -5
View File
@@ -1,9 +1,7 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y
BR2_GLOBAL_PATCH_DIR="board/cubietech/cubieboard2/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_ROOTFS_OVERLAY="board/cubietech/cubieboard2/rootfs_overlay"
@@ -11,7 +9,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/cubietech/cubieboard2/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.19.6"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.52"
BR2_LINUX_KERNEL_DEFCONFIG="multi_v7"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun7i-a20-cubieboard2"
@@ -21,7 +19,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.10"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Cubieboard2"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+3 -6
View File
@@ -1,9 +1,7 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_VFPV4=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
BR2_GLOBAL_PATCH_DIR="board/friendlyarm/nanopi-neo/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_TARGET_GENERIC_HOSTNAME="nanopi-neo"
@@ -13,7 +11,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopi-neo/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.18"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.44"
BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h3-nanopi-neo"
@@ -23,12 +21,11 @@ BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_neo"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_NEEDS_GNUTLS=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin"
BR2_PACKAGE_HOST_GENIMAGE=y
+4 -8
View File
@@ -1,10 +1,6 @@
BR2_aarch64=y
BR2_ARM_FPU_VFPV4=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
BR2_GLOBAL_PATCH_DIR="board/friendlyarm/nanopi-r2s/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y
BR2_TARGET_GENERIC_HOSTNAME="rk3328-nanopi-r2s"
BR2_TARGET_GENERIC_ISSUE="Welcome to Nanopi R2S RK3328"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopi-r2s/post-build.sh"
@@ -12,7 +8,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopi-r2s/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.18"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3328-nanopi-r2s"
@@ -20,7 +16,7 @@ BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.12"
@@ -30,7 +26,7 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi-r2s-rk3328"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+3 -6
View File
@@ -1,15 +1,13 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y
BR2_GLOBAL_PATCH_DIR="board/freescale/imx6ull-evk/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.4"
BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6ull-14x14-evk"
@@ -22,10 +20,9 @@ BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="mx6ull_14x14_evk"
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_NEEDS_GNUTLS=y
BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
+2 -2
View File
@@ -10,7 +10,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/imxrt1050evk/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.18"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.43"
BR2_LINUX_KERNEL_DEFCONFIG="imxrt"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imxrt1050-evk"
@@ -21,7 +21,7 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="16M"
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imxrt1050-evk"
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+1 -1
View File
@@ -44,7 +44,7 @@ BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES="CFG_TEE_CORE_LOG_LEVEL=2 CFG_TEE_TA_LO
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mm-cl-iot-gate-optee"
BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/compulab/iot-gate-imx8-ebbr/u-boot.fragment"
BR2_TARGET_UBOOT_NEEDS_DTC=y
+4 -9
View File
@@ -1,16 +1,12 @@
BR2_aarch64=y
BR2_cortex_a73_a53=y
BR2_ARM_FPU_VFPV4=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
BR2_GLOBAL_PATCH_DIR="board/khadas/vim3/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_3=y
BR2_ROOTFS_POST_BUILD_SCRIPT="board/khadas/vim3/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/khadas/vim3/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.15"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.3"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-g12b-a311d-khadas-vim3"
@@ -18,14 +14,13 @@ BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_PACKAGE_DOSFSTOOLS=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
BR2_TARGET_ROOTFS_EXT2_SIZE="128M"
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="khadas-vim3"
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_NEEDS_GNUTLS=y
BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
+13 -5
View File
@@ -1,18 +1,26 @@
BR2_riscv=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_KERNEL_MIRROR="http://mirrors.ustc.edu.cn/kernel.org"
BR2_GNU_MIRROR="http://mirrors.ustc.edu.cn/gnu"
BR2_LUAROCKS_MIRROR="https://luarocks.cn"
BR2_CPAN_MIRROR="http://mirrors.ustc.edu.cn/CPAN"
BR2_GLOBAL_PATCH_DIR="board/qemu/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_INIT_SYSV=y
BR2_SYSTEM_BIN_SH_BASH=y
BR2_SYSTEM_DHCP="eth0"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_CURSES=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES=y
BR2_PACKAGE_VIM=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_SIZE="128M"
BR2_TARGET_OPENSBI=y
BR2_TARGET_OPENSBI_CUSTOM_VERSION=y
BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6"
BR2_TARGET_OPENSBI_PLAT="generic"
BR2_PACKAGE_HOST_QEMU=y
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
+4 -5
View File
@@ -1,6 +1,6 @@
BR2_aarch64=y
BR2_cortex_a72_a53=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
BR2_GLOBAL_PATCH_DIR="board/firefly/roc-rk3399-pc/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_TARGET_GENERIC_HOSTNAME="roc-rk3399-pc"
@@ -10,7 +10,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/firefly/roc-rk3399-pc/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.18"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.56"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-roc-pc"
@@ -23,20 +23,19 @@ BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O 64bit"
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.14"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.11"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES=""
BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="roc-pc-rk3399"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_NEEDS_GNUTLS=y
BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
-50
View File
@@ -1,50 +0,0 @@
BR2_aarch64=y
BR2_cortex_a72=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y
BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
BR2_GLOBAL_PATCH_DIR="board/xilinx/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/versal/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA0,115200 mmcblk0p2"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.60)/xlnx_rebase_v6.12_LTS_merge_6.12.60.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="xilinx"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/versal-vpk120-revB"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_XILINX_FPGAUTIL=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="versal"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_versal_virt"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_NEEDS_GNUTLS=y
BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y
BR2_TARGET_UBOOT_FORMAT_DTB=y
BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal-vpk120-revB"
BR2_TARGET_XILINX_EMBEDDEDSW=y
BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM=y
BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW=y
BR2_TARGET_XILINX_PREBUILT=y
BR2_TARGET_XILINX_PREBUILT_BOARD="vpk120"
BR2_PACKAGE_HOST_BOOTGEN=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
+2 -3
View File
@@ -58,11 +58,10 @@ We can switch to another br2-external tree at any time:
buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig
----
We can also use multiple br2-external trees, by specifying a space-separated
list of paths to use:
We can also use multiple br2-external trees:
----
buildroot/ $ make BR2_EXTERNAL="/path/to/foo /where/we/have/bar" menuconfig
buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig
----
Or disable the usage of any br2-external tree:
+7 -34
View File
@@ -69,57 +69,30 @@
</a><br/>
<a href="/downloads/buildroot-2026.02.tar.xz.sign">[PGP sig]</a>
</td>
</tr>
<tr>
<th>Old stable (EOL)</th>
<th>2025.11.x</th>
<td>March 2026</td>
<td>
2025.11.3<br/>
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2025.11.3/CHANGES">
Changelog
</a>
</td>
<td>2026-03-17</td>
<td>
<a href="/downloads/buildroot-202r.11.3.tar.gz">
<img src="images/zip.png" width="24" alt="">
.tar.gz
</a><br/>
<a href="/downloads/buildroot-2025.11.3.tar.gz.sign">[PGP sig]</a>
</td>
<td>
<a href="/downloads/buildroot-2025.11.3.tar.xz">
<img src="images/package.png" width="24" alt="">
.tar.xz
</a><br/>
<a href="/downloads/buildroot-2025.11.3.tar.xz.sign">[PGP sig]</a>
</td>
</tr>
<tr>
<th>Long-term support</th>
<th>2025.02.x</th>
<td>March 2028</td>
<td>
2025.02.12<br/>
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2025.02.12/CHANGES">
2025.02.11<br/>
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2025.02.11/CHANGES">
Changelog
</a>
</td>
<td>2026-03-17</td>
<td>2026-02-20</td>
<td>
<a href="/downloads/buildroot-2025.02.12.tar.gz">
<a href="/downloads/buildroot-2025.02.11.tar.gz">
<img src="images/zip.png" width="24" alt="">
.tar.gz
</a><br/>
<a href="/downloads/buildroot-2025.02.12.tar.gz.sign">[PGP sig]</a>
<a href="/downloads/buildroot-2025.02.11.tar.gz.sign">[PGP sig]</a>
</td>
<td>
<a href="/downloads/buildroot-2025.02.12.tar.xz">
<a href="/downloads/buildroot-2025.02.11.tar.xz">
<img src="images/package.png" width="24" alt="">
.tar.xz
</a><br/>
<a href="/downloads/buildroot-2025.02.12.tar.xz.sign">[PGP sig]</a>
<a href="/downloads/buildroot-2025.02.11.tar.xz.sign">[PGP sig]</a>
</td>
</tr>
</table>
+1 -40
View File
@@ -9,44 +9,6 @@
<h2>News</h2>
<ul class="timeline">
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2025.11.3 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>17 March 2026</small></p>
</div>
<div class="timeline-body">
<p>The 2025.11.3 bugfix release is out, fixing a number of important /
security related issues discovered since the 2025.11.2 release. See the
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2025.11.3/CHANGES">CHANGES</a>
file for more details, read the
<a href="https://lore.kernel.org/buildroot/124c21a6-5810-495e-8b85-f3db41afa1a9@rnout.be/T/#t">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2025.11.3.tar.xz">2025.11.3 release</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2025.02.12 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>17 March 2026</small></p>
</div>
<div class="timeline-body">
<p>The 2025.02.12 bugfix release is out, fixing a number of important /
security related issues discovered since the 2025.02.11 release. See the
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2025.02.12/CHANGES">CHANGES</a>
file for more details, read the
<a href="https://lore.kernel.org/buildroot/20260317200223.774600-1-arnout@rnout.be/T/#u">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2025.02.12.tar.xz">2025.02.12 release</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
@@ -58,8 +20,7 @@
<p>The stable 2026.02 release is out - Thanks to everyone
contributing and testing the release candidates. See the
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2026.02/CHANGES">CHANGES</a>
file for more details, read the
<a href="https://lore.kernel.org/buildroot/87ecm0huqz.fsf@dell.be.48ers.dk/T/#u">announcement</a>
file for more details
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2026.02.tar.xz">2026.02 release</a>.</p>
</div>
-1
View File
@@ -15,7 +15,6 @@ source "fs/squashfs/Config.in"
source "fs/tar/Config.in"
source "fs/ubi/Config.in"
source "fs/ubifs/Config.in"
source "fs/xfs/Config.in"
source "fs/yaffs2/Config.in"
endmenu
-34
View File
@@ -1,34 +0,0 @@
config BR2_TARGET_ROOTFS_XFS
bool "xfs root filesystem"
select BR2_PACKAGE_HOST_XFSPROGS
help
Build a xfs root filesystem. If you enable this option, you
probably want to enable the xfsprogs package too.
if BR2_TARGET_ROOTFS_XFS
config BR2_TARGET_ROOTFS_XFS_LABEL
string "filesystem label"
default "rootfs"
config BR2_TARGET_ROOTFS_XFS_SIZE
string "exact size"
default "300M"
help
The size of the filesystem image. This size is passed to the
"truncate -s", so this option recognizes unit suffixes such
as K,M,G (see the manual page truncate(1)). Note the XFS
minimal filesystem size is 300M.
config BR2_TARGET_ROOTFS_XFS_MKFS_OPTIONS
string "additional mkfs.xfs options"
help
Specify a space-separated list of mkfs.xfs options.
For more information about the mke2fs options, see the
manual page mkfs.xfs(8).
For more information about the XFS features which can be
set, see also the manual page xfs(5).
endif # BR2_TARGET_ROOTFS_XFS
-33
View File
@@ -1,33 +0,0 @@
################################################################################
#
# Build the xfs root filesystem image
#
################################################################################
ROOTFS_XFS_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_XFS_SIZE))
ifeq ($(BR2_TARGET_ROOTFS_XFS)-$(ROOTFS_XFS_SIZE),y-)
$(error BR2_TARGET_ROOTFS_XFS_SIZE cannot be empty)
endif
ROOTFS_XFS_MKFS_OPTS = $(call qstrip,$(BR2_TARGET_ROOTFS_XFS_MKFS_OPTIONS))
# qstrip results in stripping consecutive spaces into a single one. So the
# variable is not qstrip-ed to preserve the integrity of the string value.
ROOTFS_XFS_LABEL = $(subst ",,$(BR2_TARGET_ROOTFS_XFS_LABEL))
#" comment to balance quotes/parenthesis for syntax highlighting)
ROOTFS_XFS_OPTS = \
-f \
-p '$(TARGET_DIR)' \
-L '$(ROOTFS_XFS_LABEL)' \
$(ROOTFS_XFS_MKFS_OPTS)
ROOTFS_XFS_DEPENDENCIES = host-xfsprogs
define ROOTFS_XFS_CMD
$(RM) -f $@
truncate -s $(ROOTFS_XFS_SIZE) $@
$(HOST_DIR)/sbin/mkfs.xfs $(ROOTFS_XFS_OPTS) $@
endef
$(eval $(rootfs))
View File
+1 -1
View File
@@ -141,7 +141,7 @@ config BR2_LINUX_KERNEL_CUSTOM_REPO_GIT_SUBMODULES
config BR2_LINUX_KERNEL_VERSION
string
default "6.19.8" if BR2_LINUX_KERNEL_LATEST_VERSION
default "6.19.5" if BR2_LINUX_KERNEL_LATEST_VERSION
default "5.10.246-cip66" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default "5.10.246-cip66-rt29" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
+5 -5
View File
@@ -1,10 +1,10 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 358836ebe5caef41e7ae9492e7fbcdf5be6e53ee43c99752aebda81e1b2cff67 linux-6.12.77.tar.xz
sha256 caa08f0122224fbbfab177e2a37cc2a94a0046bd2e7e87f03f8913f2b812448a linux-6.6.129.tar.xz
sha256 818dfc742158d18f70a6abccd77b7e4366cb7f26a88687f94dae392a9f089449 linux-6.1.166.tar.xz
sha256 3b56eeb1dc9a437f189ca56b823be3769994f59a4ea0895b08ec0d20acaca13e linux-6.12.74.tar.xz
sha256 a7cd9c97b4f0b31cc030bcdc60abe5434fffb2556e293f7438ce7909dff8c9fe linux-6.6.127.tar.xz
sha256 33bf087f7bbf7f626873dd7d955eb44182a93695db41f5f89a6bd3d233a39d1c linux-6.1.164.tar.xz
# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
sha256 0bc1bdf74957e276793691865ffb71505809706d9243a42e9704aad0f128cdd4 linux-5.15.202.tar.xz
sha256 34b3fbe2c9eeb767fc7eea4b9516e0dd44b79401ceb13e41713096b8eb270afb linux-5.10.252.tar.xz
sha256 4f2afffbeddaad6b8527d41a3e3a82646d3cf5dfd0acbb6c4e8a99fc70461b96 linux-5.15.201.tar.xz
sha256 e6857625fee3b587b0279b445adc3940a5c40723385fa1055ac7af16ff4b4c01 linux-5.10.251.tar.xz
# Locally computed
sha256 93408e0c5d70ff0ab63dcf9edec6fda2b8524281d611a88e56590436bda43914 linux-cip-5.10.246-cip66.tar.gz
sha256 b3454708b98016f02604433e41060be2c1feb595c2bddeb25292596f047f0915 linux-cip-5.10.246-cip66-rt29.tar.gz
+2 -2
View File
@@ -1,6 +1,6 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 aada4722db8bcfa0b9732851856d405082b6a4fa2e3ab067be8db17cdd115b38 linux-6.19.8.tar.xz
sha256 f4855f382c1b735c84072bdef36db5bcd5dc7b0c37e42f5104317149a0a486ef linux-6.18.18.tar.xz
sha256 95ae05c8c709e353c0e8506c072efc5598d85b8b7b564a1ebac7ee8345042ffa linux-6.19.5.tar.xz
sha256 7c716216c3c4134ed0de69195701e677577bbcdd3979f331c182acd06bf2f170 linux-6.18.15.tar.xz
# Licenses hashes
sha256 fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0 COPYING
-5
View File
@@ -306,7 +306,6 @@ menu "Graphic libraries and applications (graphic/text)"
comment "Graphic applications"
source "package/cage/Config.in"
source "package/cog/Config.in"
source "package/drm-info/Config.in"
source "package/flutter-packages/Config.in"
source "package/flutter-pi/Config.in"
source "package/foot/Config.in"
@@ -1154,7 +1153,6 @@ menu "External python modules"
source "package/python-httplib2/Config.in"
source "package/python-httpx/Config.in"
source "package/python-huepy/Config.in"
source "package/python-humanfriendly/Config.in"
source "package/python-humanize/Config.in"
source "package/python-hwdata/Config.in"
source "package/python-hyperframe/Config.in"
@@ -2305,10 +2303,8 @@ menu "Text and terminal handling"
source "package/fcft/Config.in"
source "package/fmt/Config.in"
source "package/fstrcmp/Config.in"
source "package/ftxui/Config.in"
source "package/icu/Config.in"
source "package/inih/Config.in"
source "package/iniparser/Config.in"
source "package/libcli/Config.in"
source "package/libecoli/Config.in"
source "package/libedit/Config.in"
@@ -2838,7 +2834,6 @@ menu "System tools"
source "package/monit/Config.in"
source "package/multipath-tools/Config.in"
source "package/ncdu/Config.in"
source "package/ndctl/Config.in"
source "package/nerdctl/Config.in"
source "package/netifrc/Config.in"
source "package/numactl/Config.in"
-1
View File
@@ -128,7 +128,6 @@ menu "Host utilities"
source "package/utp_com/Config.in.host"
source "package/uuu/Config.in.host"
source "package/vboot-utils/Config.in.host"
source "package/xfsprogs/Config.in.host"
source "package/xorriso/Config.in.host"
source "package/zip/Config.in.host"
source "package/zstd/Config.in.host"
+1 -1
View File
@@ -1,4 +1,4 @@
# Locally computed:
sha256 bb03a16da6b2cca43962b65a2890faf4e6b16607220cf60270436a11e09e6f46 armadillo-15.2.4.tar.xz
sha256 0182d67d6949e4347a0bc62fc8c2793be7eb203c71f19edff93f8c45fd4a8190 armadillo-15.2.3.tar.xz
# License files, locally calculated
sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 LICENSE.txt
+1 -1
View File
@@ -4,7 +4,7 @@
#
################################################################################
ARMADILLO_VERSION = 15.2.4
ARMADILLO_VERSION = 15.2.3
ARMADILLO_SOURCE = armadillo-$(ARMADILLO_VERSION).tar.xz
ARMADILLO_SITE = https://downloads.sourceforge.net/project/arma
ARMADILLO_INSTALL_STAGING = YES
@@ -0,0 +1,53 @@
From 051be0c987622683c75b335bda16b9b61fc67fa4 Mon Sep 17 00:00:00 2001
From: yonghong-song <ys114321@gmail.com>
Date: Mon, 14 Jul 2025 20:21:59 -0700
Subject: [PATCH] Fix a build failure with clang21 (#5369)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The build error message:
src/cc/frontends/clang/loader.cc:400:73: error: no matching function for
call to clang::TextDiagnosticPrinter::TextDiagnosticPrinter(
llvm::raw_fd_ostream&, clang::DiagnosticOptions*)
400 | auto diag_client = new TextDiagnosticPrinter(llvm::errs(), &*diag_opts);
| ^
The llvm commit
https://github.com/llvm/llvm-project/pull/139584
caused the build failure.
Adjust the code properly and the error is fixed.
Upstream: https://github.com/iovisor/bcc/commit/8c5c96ad3beeed2fa827017f451a952306826974
Signed-off-by: Julien Olivain <ju.o@free.fr>
---
src/cc/frontends/clang/loader.cc | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/cc/frontends/clang/loader.cc b/src/cc/frontends/clang/loader.cc
index 07dc9d6a..6f8387aa 100644
--- a/src/cc/frontends/clang/loader.cc
+++ b/src/cc/frontends/clang/loader.cc
@@ -396,11 +396,19 @@ int ClangLoader::do_compile(
flags_cstr_rem.end());
// set up the error reporting class
+#if LLVM_VERSION_MAJOR >= 21
+ DiagnosticOptions diag_opts;
+ auto diag_client = new TextDiagnosticPrinter(llvm::errs(), diag_opts);
+
+ IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
+ DiagnosticsEngine diags(DiagID, diag_opts, diag_client);
+#else
IntrusiveRefCntPtr<DiagnosticOptions> diag_opts(new DiagnosticOptions());
auto diag_client = new TextDiagnosticPrinter(llvm::errs(), &*diag_opts);
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
DiagnosticsEngine diags(DiagID, &*diag_opts, diag_client);
+#endif
// set up the command line argument wrapper
--
2.51.1
@@ -1,64 +0,0 @@
From 4c7be1ec6ab74e973f8d18a9011fa349c3d9dd58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Holger=20Hoffst=C3=A4tte?= <holger@applied-asynchrony.com>
Date: Mon, 2 Mar 2026 10:03:15 +0100
Subject: [PATCH] Fix build with LLVM-22
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
LLVM-22 changed the signatures of various createDiagnostics() calls [1].
Introduce a new version macro guard and adapt the code to the changed API.
Fixes #5483
[1] https://github.com/llvm/llvm-project/commit/30633f30894129919050f24fdd1f8f6bc46beae0
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
Upstream: https://github.com/iovisor/bcc/commit/4c7be1ec6ab74e973f8d18a9011fa349c3d9dd58
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
src/cc/frontends/clang/loader.cc | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/src/cc/frontends/clang/loader.cc b/src/cc/frontends/clang/loader.cc
index 6f8387aaf017..1f706344724d 100644
--- a/src/cc/frontends/clang/loader.cc
+++ b/src/cc/frontends/clang/loader.cc
@@ -464,7 +464,10 @@ int ClangLoader::do_compile(
}
invocation0.getFrontendOpts().DisableFree = false;
-#if LLVM_VERSION_MAJOR >= 20
+#if LLVM_VERSION_MAJOR >= 22
+ compiler0.setVirtualFileSystem(llvm::vfs::getRealFileSystem());
+ compiler0.createDiagnostics(new IgnoringDiagConsumer());
+#elif LLVM_VERSION_MAJOR >= 20
compiler0.createDiagnostics(*llvm::vfs::getRealFileSystem(), new IgnoringDiagConsumer());
#else
compiler0.createDiagnostics(new IgnoringDiagConsumer());
@@ -487,7 +490,10 @@ int ClangLoader::do_compile(
add_main_input(invocation1, main_path, &*out_buf);
invocation1.getFrontendOpts().DisableFree = false;
-#if LLVM_VERSION_MAJOR >= 20
+#if LLVM_VERSION_MAJOR >= 22
+ compiler1.setVirtualFileSystem(llvm::vfs::getRealFileSystem());
+ compiler1.createDiagnostics();
+#elif LLVM_VERSION_MAJOR >= 20
compiler1.createDiagnostics(*llvm::vfs::getRealFileSystem());
#else
compiler1.createDiagnostics();
@@ -517,7 +523,10 @@ int ClangLoader::do_compile(
invocation2.getCodeGenOpts().setInlining(CodeGenOptions::NormalInlining);
// suppress warnings in the 2nd pass, but bail out on errors (our fault)
invocation2.getDiagnosticOpts().IgnoreWarnings = true;
-#if LLVM_VERSION_MAJOR >= 20
+#if LLVM_VERSION_MAJOR >= 22
+ compiler2.setVirtualFileSystem(llvm::vfs::getRealFileSystem());
+ compiler2.createDiagnostics();
+#elif LLVM_VERSION_MAJOR >= 20
compiler2.createDiagnostics(*llvm::vfs::getRealFileSystem());
#else
compiler2.createDiagnostics();
+1 -1
View File
@@ -1,3 +1,3 @@
# locally calculated
sha256 ea8562246801c52a9c21c47076dae9ff1d3719bb86b96d7a6222b3724461f52c bcc-v0.36.1-git4.tar.gz
sha256 66c588bf5dfcd557a9f14f7e21a7b4dfdfcc4a574fd4b9897037059f046a6558 bcc-v0.35.0-git4.tar.gz
sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE.txt
+1 -1
View File
@@ -4,7 +4,7 @@
#
################################################################################
BCC_VERSION = v0.36.1
BCC_VERSION = v0.35.0
BCC_SITE = https://github.com/iovisor/bcc
BCC_SITE_METHOD = git
BCC_GIT_SUBMODULES = YES
+2 -2
View File
@@ -1,3 +1,3 @@
# Locally computed
sha256 42e5194ad06ab6ffb806c83eb99c03462b495d979cda782f3c72c08af833cd4e gc-8.2.12.tar.gz
sha256 46cf78d79f08ec7295e1c767213582c60eccba2c5bcb07b1b29fd7ddb138fbdc README.QUICK
sha256 832cf4f7cf676b59582ed3b1bbd90a8d0e0ddbc3b11cb3b2096c5177ce39cc47 gc-8.2.10.tar.gz
sha256 a9b077aeb4e9e1aaf9742119d8023ef26f52f445cdc3f60d390bf59e1647f54a README.QUICK
+2 -2
View File
@@ -4,9 +4,9 @@
#
################################################################################
BDWGC_VERSION = 8.2.12
BDWGC_VERSION = 8.2.10
BDWGC_SOURCE = gc-$(BDWGC_VERSION).tar.gz
BDWGC_SITE = https://github.com/bdwgc/bdwgc/releases/download/v$(BDWGC_VERSION)
BDWGC_SITE = https://github.com/ivmai/bdwgc/releases/download/v$(BDWGC_VERSION)
BDWGC_INSTALL_STAGING = YES
BDWGC_LICENSE = bdwgc license
BDWGC_LICENSE_FILES = README.QUICK
@@ -1,4 +1,4 @@
From 0bf75276c392cac7794e78e1572abcd793d99e4e Mon Sep 17 00:00:00 2001
From d71fb5a9999ee7c8963342caa0d5cbb16872ab07 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Fri, 25 Dec 2015 11:38:13 +0100
Subject: [PATCH] sh-conf
@@ -14,20 +14,18 @@ Upstream: N/A [Buildroot specific]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: rebase on top of 2.29, in which sh64 support was removed.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Bernd: rebased for version 2.46.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
configure | 2 +-
configure.ac | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index bbfb5979546..bcd95684ae1 100755
index 670684d83d1..967c6708a0c 100755
--- a/configure
+++ b/configure
@@ -4196,7 +4196,7 @@
@@ -4042,7 +4042,7 @@ case "${target}" in
nvptx*-*-*)
noconfigdirs="$noconfigdirs target-libssp"
noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
;;
- sh-*-*)
+ sh*-*-*)
@@ -35,12 +33,12 @@ index bbfb5979546..bcd95684ae1 100755
sh*-*-elf)
;;
diff --git a/configure.ac b/configure.ac
index f9694cdf901..d6a3623ba50 100644
index 88b4800e298..2c8d08ff6ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1365,7 +1365,7 @@
@@ -1269,7 +1269,7 @@ case "${target}" in
nvptx*-*-*)
noconfigdirs="$noconfigdirs target-libssp"
noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
;;
- sh-*-*)
+ sh*-*-*)
@@ -48,5 +46,5 @@ index f9694cdf901..d6a3623ba50 100644
sh*-*-elf)
;;
--
2.51.1
2.43.0
@@ -1,4 +1,4 @@
From 92f4bd0e1713577e30491e99a0226088eaeae740 Mon Sep 17 00:00:00 2001
From 00f6b0a7d31085831429834b2bc8f511b8fab6ce Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Fri, 25 Dec 2015 11:45:38 +0100
Subject: [PATCH] poison-system-directories
@@ -15,8 +15,6 @@ Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Gustavo: adapt to binutils 2.25]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
[Bernd: rebased for version 2.46.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Upstream-Status: Inappropriate [distribution: codesourcery]
Upstream: N/A [Buildroot specific]
@@ -78,17 +76,17 @@ Signed-off-by: Scott Garman <scott.a.garman@intel.com>
ld/configure.ac | 10 ++++++++++
ld/ld.h | 8 ++++++++
ld/ld.texi | 12 ++++++++++++
ld/ldfile.c | 16 ++++++++++++++++
ld/ldfile.c | 17 +++++++++++++++++
ld/ldlex.h | 2 ++
ld/ldmain.c | 2 ++
ld/lexsup.c | 21 +++++++++++++++++++++
9 files changed, 88 insertions(+)
9 files changed, 89 insertions(+)
diff --git a/ld/config.in b/ld/config.in
index 790efd336be..2b237bcda5e 100644
index f7c9da3d02a..e4fdbf6db5b 100644
--- a/ld/config.in
+++ b/ld/config.in
@@ -86,6 +86,9 @@
@@ -74,6 +74,9 @@
language is requested. */
#undef ENABLE_NLS
@@ -99,27 +97,27 @@ index 790efd336be..2b237bcda5e 100644
#undef EXTRA_SHLIB_EXTENSION
diff --git a/ld/configure b/ld/configure
index cd410bd64d1..7e9913949d4 100755
index 44d79c2445d..e28cea11977 100755
--- a/ld/configure
+++ b/ld/configure
@@ -843,6 +843,7 @@ enable_checking
with_lib_path
@@ -844,6 +844,7 @@ with_lib_path
enable_targets
enable_64_bit_bfd
with_sysroot
+enable_poison_system_directories
enable_gold
enable_got
enable_compressed_debug_sections
@@ -1537,6 +1538,8 @@ Optional Features:
--disable-largefile omit support for large files
@@ -1535,6 +1536,8 @@ Optional Features:
--enable-checking enable run-time checks
--enable-targets alternative target configurations
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
+ --enable-poison-system-directories
+ warn for use of native system library directories
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
--enable-got=<type> GOT handling scheme (target, single, negative,
multigot)
@@ -15768,7 +15771,18 @@ else
@@ -15587,7 +15590,18 @@ else
fi
@@ -139,10 +137,10 @@ index cd410bd64d1..7e9913949d4 100755
# Check whether --enable-got was given.
if test "${enable_got+set}" = set; then :
diff --git a/ld/configure.ac b/ld/configure.ac
index f528ae42ef7..dcf1e17fae6 100644
index bdf51a062fa..3d370ff92ce 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -115,6 +115,16 @@ AC_SUBST(use_sysroot)
@@ -102,6 +102,16 @@ AC_SUBST(use_sysroot)
AC_SUBST(TARGET_SYSTEM_ROOT)
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
@@ -160,7 +158,7 @@ index f528ae42ef7..dcf1e17fae6 100644
dnl "install_as_default" is set to false if gold is the default linker.
dnl "installed_linker" is the installed BFD linker name.
diff --git a/ld/ld.h b/ld/ld.h
index c8688153bd4..0b16caf347a 100644
index 0dee944cf2a..83bd82d2a2e 100644
--- a/ld/ld.h
+++ b/ld/ld.h
@@ -166,6 +166,14 @@ typedef struct
@@ -179,10 +177,10 @@ index c8688153bd4..0b16caf347a 100644
enum endian_enum endian;
diff --git a/ld/ld.texi b/ld/ld.texi
index cf750d15259..1acaa26f107 100644
index 89e3913317a..b80cf05617f 100644
--- a/ld/ld.texi
+++ b/ld/ld.texi
@@ -3375,6 +3375,18 @@ bit string identifying the original linked file does not change.
@@ -3234,6 +3234,18 @@ string identifying the original linked file does not change.
Passing @code{none} for @var{style} disables the setting from any
@code{--build-id} options earlier on the command line.
@@ -202,14 +200,13 @@ index cf750d15259..1acaa26f107 100644
@item --package-metadata=@var{JSON}
Request the creation of a @code{.note.package} ELF note section. The
diff --git a/ld/ldfile.c b/ld/ldfile.c
index 75fd360d5e3..3526ea8146c 100644
index 87be885d31a..9bc7adca4bc 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -326,6 +326,22 @@ ldfile_add_library_path (const char *name, bool cmdline)
new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL);
@@ -327,6 +327,22 @@ ldfile_add_library_path (const char *name, enum search_dir_source source)
else
new_dirs->name = xstrdup (name);
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ if (command_line.poison_system_directories
+ && ((!strncmp (name, "/lib", 4))
@@ -225,11 +222,12 @@ index 75fd360d5e3..3526ea8146c 100644
+ "cross-compilation\n"), name);
+ }
+#endif
}
static void
+
/* Accumulate script and command line sourced
search paths at the end of the current list. */
#if BFD_SUPPORTS_PLUGINS
diff --git a/ld/ldlex.h b/ld/ldlex.h
index c8d61478c60..4b175dca108 100644
index defe3fcbbb9..0ff12614926 100644
--- a/ld/ldlex.h
+++ b/ld/ldlex.h
@@ -170,6 +170,8 @@ enum option_values
@@ -242,10 +240,10 @@ index c8d61478c60..4b175dca108 100644
OPTION_NO_ERROR_EXECSTACK,
OPTION_WARN_EXECSTACK_OBJECTS,
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 67c60c3f80d..c2365e4006c 100644
index 037099b9d37..204feedc6e3 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -749,6 +749,8 @@ main (int argc, char **argv)
@@ -347,6 +347,8 @@ main (int argc, char **argv)
command_line.warn_mismatch = true;
command_line.warn_search_mismatch = true;
command_line.check_section_addresses = -1;
@@ -255,10 +253,10 @@ index 67c60c3f80d..c2365e4006c 100644
/* We initialize DEMANGLING based on the environment variable
COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
diff --git a/ld/lexsup.c b/ld/lexsup.c
index bde20465835..422866f4ea9 100644
index 4aa0124ce2f..c4d76943821 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -643,6 +643,14 @@ static const struct ld_option ld_options[] =
@@ -648,6 +648,14 @@ static const struct ld_option ld_options[] =
" <method> is: share-unconflicted (default),\n"
" share-duplicated"),
TWO_DASHES },
@@ -273,7 +271,7 @@ index bde20465835..422866f4ea9 100644
};
#define OPTION_COUNT ARRAY_SIZE (ld_options)
@@ -655,6 +663,7 @@ parse_args (unsigned argc, char **argv)
@@ -660,6 +668,7 @@ parse_args (unsigned argc, char **argv)
int ingroup = 0;
char *default_dirlist = NULL;
char *shortopts;
@@ -281,7 +279,7 @@ index bde20465835..422866f4ea9 100644
struct option *longopts;
struct option *really_longopts;
int last_optind;
@@ -1789,6 +1798,14 @@ parse_args (unsigned argc, char **argv)
@@ -1785,6 +1794,14 @@ parse_args (unsigned argc, char **argv)
}
break;
@@ -296,7 +294,7 @@ index bde20465835..422866f4ea9 100644
case OPTION_PUSH_STATE:
input_flags.pushed = xmemdup (&input_flags,
sizeof (input_flags),
@@ -1933,6 +1950,10 @@ parse_args (unsigned argc, char **argv)
@@ -1938,6 +1955,10 @@ parse_args (unsigned argc, char **argv)
command_line.soname = NULL;
}
@@ -307,6 +305,3 @@ index bde20465835..422866f4ea9 100644
while (ingroup)
{
einfo (_("%P: missing --end-group; added as last command line option\n"));
--
2.51.1
@@ -0,0 +1,31 @@
From ba6ad3a18cb26b79e0e3b84c39f707535bbc344d Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Wed, 19 Feb 2025 07:58:54 +1030
Subject: [PATCH] PR32716, objdump -i memory leak
PR binutils/32716
* bucomm.c (display_info): Free arg.info.
Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d
CVE: CVE-2025-3198
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
binutils/bucomm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/binutils/bucomm.c b/binutils/bucomm.c
index ccf54099154..d4554737db1 100644
--- a/binutils/bucomm.c
+++ b/binutils/bucomm.c
@@ -435,6 +435,7 @@ display_info (void)
if (!arg.error)
display_target_tables (&arg);
+ free (arg.info);
return arg.error;
}
--
2.43.5
@@ -0,0 +1,90 @@
From 8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sat, 16 Nov 2024 05:03:52 +0000
Subject: [PATCH] opcodes: fix -std=gnu23 compatibility wrt static_assert
static_assert is declared in C23 so we can't reuse that identifier:
* Define our own static_assert conditionally;
* Rename "static assert" hacks to _N as we do already in some places
to avoid a conflict.
ChangeLog:
PR ld/32372
* i386-gen.c (static_assert): Define conditionally.
* mips-formats.h (MAPPED_INT): Rename identifier.
(MAPPED_REG): Rename identifier.
(OPTIONAL_MAPPED_REG): Rename identifier.
* s390-opc.c (static_assert): Define conditionally.
Upstream: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
---
opcodes/i386-gen.c | 2 ++
opcodes/mips-formats.h | 6 +++---
opcodes/s390-opc.c | 2 ++
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index 053b66675c5..7ee8a30310c 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -30,7 +30,9 @@
/* Build-time checks are preferrable over runtime ones. Use this construct
in preference where possible. */
+#ifndef static_assert
#define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); }))
+#endif
static const char *program_name = NULL;
static int debug = 0;
diff --git a/opcodes/mips-formats.h b/opcodes/mips-formats.h
index 90df7100803..c4dec6352bf 100644
--- a/opcodes/mips-formats.h
+++ b/opcodes/mips-formats.h
@@ -49,7 +49,7 @@
#define MAPPED_INT(SIZE, LSB, MAP, PRINT_HEX) \
{ \
typedef char ATTRIBUTE_UNUSED \
- static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
+ static_assert_3[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
static const struct mips_mapped_int_operand op = { \
{ OP_MAPPED_INT, SIZE, LSB }, MAP, PRINT_HEX \
}; \
@@ -83,7 +83,7 @@
#define MAPPED_REG(SIZE, LSB, BANK, MAP) \
{ \
typedef char ATTRIBUTE_UNUSED \
- static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
+ static_assert_4[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
static const struct mips_reg_operand op = { \
{ OP_REG, SIZE, LSB }, OP_REG_##BANK, MAP \
}; \
@@ -93,7 +93,7 @@
#define OPTIONAL_MAPPED_REG(SIZE, LSB, BANK, MAP) \
{ \
typedef char ATTRIBUTE_UNUSED \
- static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
+ static_assert_5[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
static const struct mips_reg_operand op = { \
{ OP_OPTIONAL_REG, SIZE, LSB }, OP_REG_##BANK, MAP \
}; \
diff --git a/opcodes/s390-opc.c b/opcodes/s390-opc.c
index 9d9f0973e55..49efd714157 100644
--- a/opcodes/s390-opc.c
+++ b/opcodes/s390-opc.c
@@ -36,7 +36,9 @@
/* Build-time checks are preferrable over runtime ones. Use this construct
in preference where possible. */
+#ifndef static_assert
#define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); }))
+#endif
#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
--
2.34.1
@@ -0,0 +1,801 @@
From 3e8c6e03675963d65a2f98eb006336c5cd375ec3 Mon Sep 17 00:00:00 2001
From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
Date: Tue, 3 Sep 2024 21:30:31 -0700
Subject: [PATCH] Fix 32097 Warnings when building gprofng with Clang
gprofng/ChangeLog
2024-09-03 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>.
PR gprofng/32097
* common/hwcdrv.c: Fix -Wempty-body warnings.
* common/hwcentry.h: Fix -Wdeprecated-non-prototype warnings.
* common/hwctable.c: Fix -Wdeprecated-non-prototype warnings.
* libcollector/collector.c: Likewise.
* libcollector/collector.h: Likewise.
* libcollector/collectorAPI.c: Likewise.
* libcollector/dispatcher.c: Likewise.
* libcollector/iotrace.c: Likewise.
* libcollector/libcol_util.c: Fix -Wunused-but-set-variable warnings.
* libcollector/libcol_util.h: Remove unused declarations.
* libcollector/linetrace.c: Fix -Wdeprecated-non-prototype warnings.
* src/BaseMetricTreeNode.h: Fix -Wunused-private-field warnings.
* src/Dbe.cc: Fix -Wself-assign warnings.
* src/DbeSession.cc: Fix -Wunused-but-set-variable warnings.
* src/Disasm.cc: Fix -Wunused-const-variable warnings.
* src/Experiment.cc: Fix -Wunused-private-field warnings.
* src/HashMap.h: Fix -Wself-assign warnings.
* src/IOActivity.h: Fix -Wunused-private-field warnings.
* src/collctrl.cc: Fix -Wself-assign, -Wparentheses-equality warnings.
* src/collctrl.h: Fix -Wunused-private-field warnings.
* src/collector_module.h: Fix -Wdeprecated-non-prototype warnings.
* src/gp-display-src.cc: Fix -Wunused-private-field warnings.
* src/gp-print.h: Fix -Wheader-guard warnings.
* src/hwc_intel_icelake.h: Fix -Winitializer-overrides warnings.
* src/util.cc: Fix -Wunused-but-set-variable warnings.
Upstream: b79c457ca01df82dbe1facb708e45def4584c903
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
gprofng/common/hwcdrv.c | 3 ++-
gprofng/common/hwcentry.h | 7 +----
gprofng/common/hwctable.c | 13 +---------
gprofng/libcollector/collector.c | 15 ++++-------
gprofng/libcollector/collector.h | 2 +-
gprofng/libcollector/collectorAPI.c | 15 ++++++-----
gprofng/libcollector/dispatcher.c | 19 ++++++++------
gprofng/libcollector/iotrace.c | 12 ++++-----
gprofng/libcollector/libcol_util.c | 2 --
gprofng/libcollector/libcol_util.h | 6 -----
gprofng/libcollector/linetrace.c | 40 +++++++++++++++++------------
gprofng/src/BaseMetricTreeNode.h | 1 -
gprofng/src/Dbe.cc | 12 ++++-----
gprofng/src/DbeSession.cc | 3 ---
gprofng/src/Disasm.cc | 1 -
gprofng/src/Experiment.cc | 2 --
gprofng/src/HashMap.h | 3 +--
gprofng/src/IOActivity.h | 1 -
gprofng/src/collctrl.cc | 14 +++++-----
gprofng/src/collctrl.h | 1 -
gprofng/src/collector_module.h | 20 +++++++--------
gprofng/src/gp-display-src.cc | 8 ------
gprofng/src/gp-print.h | 2 +-
gprofng/src/hwc_intel_icelake.h | 6 +++--
gprofng/src/util.cc | 10 +++-----
25 files changed, 88 insertions(+), 130 deletions(-)
diff --git a/gprofng/common/hwcdrv.c b/gprofng/common/hwcdrv.c
index aaf3acdf9cd..51492a8d35c 100644
--- a/gprofng/common/hwcdrv.c
+++ b/gprofng/common/hwcdrv.c
@@ -574,6 +574,7 @@ read_sample (counter_state_t *ctr_state, int msgsz, uint64_t *rvalue,
static void
dump_perf_event_attr (struct perf_event_attr *at)
{
+#if defined(DEBUG)
TprintfT (DBG_LT2, "dump_perf_event_attr: size=%d type=%d sample_period=%lld\n"
" config=0x%llx config1=0x%llx config2=0x%llx wakeup_events=%lld __reserved_1=%lld\n",
(int) at->size, (int) at->type, (unsigned long long) at->sample_period,
@@ -589,13 +590,13 @@ dump_perf_event_attr (struct perf_event_attr *at)
DUMP_F (exclude_kernel);
DUMP_F (exclude_hv);
DUMP_F (exclude_idle);
- // DUMP_F(xmmap);
DUMP_F (comm);
DUMP_F (freq);
DUMP_F (inherit_stat);
DUMP_F (enable_on_exec);
DUMP_F (task);
DUMP_F (watermark);
+#endif
}
static void
diff --git a/gprofng/common/hwcentry.h b/gprofng/common/hwcentry.h
index b2ab8b9b22c..0b923fc3576 100644
--- a/gprofng/common/hwcentry.h
+++ b/gprofng/common/hwcentry.h
@@ -200,17 +200,12 @@ extern "C"
extern char *hwc_get_docref (char *buf, size_t buflen);
/* Return a CPU HWC document reference, or NULL. */
- // TBR
- extern char *hwc_get_default_cntrs ();
- /* Return a default HW counter string; may be NULL, or zero-length */
- /* NULL means none is defined in the table; or zero-length means string defined could not be loaded */
-
extern char *hwc_get_default_cntrs2 (int forKernel, int style);
/* like hwc_get_default_cntrs() for style==1 */
/* but allows other styles of formatting as well */
/* deprecate and eventually remove hwc_get_default_cntrs() */
- extern char *hwc_get_orig_default_cntrs ();
+ extern char *hwc_get_orig_default_cntrs (int forKernel);
/* Get the default HW counter string as set in the table */
/* NULL means none is defined in the table */
diff --git a/gprofng/common/hwctable.c b/gprofng/common/hwctable.c
index 0baf63b1805..338a1ea86f4 100644
--- a/gprofng/common/hwctable.c
+++ b/gprofng/common/hwctable.c
@@ -1783,7 +1783,7 @@ check_tables ()
}
#endif
-static int try_a_counter ();
+static int try_a_counter (int forKernel);
static void hwc_process_raw_ctrs (int forKernel, Hwcentry ***pstd_out,
Hwcentry ***praw_out, Hwcentry ***phidden_out,
Hwcentry**static_tables,
@@ -2824,17 +2824,6 @@ hwc_get_docref (char *buf, size_t buflen)
return buf;
}
-//TBR:
-
-extern char*
-hwc_get_default_cntrs ()
-{
- setup_cpcx ();
- if (cpcx_default_hwcs[0] != NULL)
- return strdup (cpcx_default_hwcs[0]); // TBR deprecate this
- return NULL;
-}
-
extern char*
hwc_get_default_cntrs2 (int forKernel, int style)
{
diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c
index 3a8f27a719d..2ff95e58fde 100644
--- a/gprofng/libcollector/collector.c
+++ b/gprofng/libcollector/collector.c
@@ -210,15 +210,10 @@ get_collector_interface ()
static void
collector_module_init (CollectorInterface *col_intf)
{
- int nmodules = 0;
-
ModuleInitFunc next_init = (ModuleInitFunc) dlsym (RTLD_DEFAULT, "__collector_module_init");
if (next_init != NULL)
- {
- nmodules++;
- next_init (col_intf);
- }
- TprintfT (DBG_LT1, "collector_module_init: %d modules\n", nmodules);
+ next_init (col_intf);
+ TprintfT (DBG_LT1, "collector_module_init: %d modules\n", next_init ? 1 : 0);
}
/* Routines concerned with general experiment start and stop */
@@ -1783,7 +1778,7 @@ __collector_pause ()
}
void
-__collector_pause_m (char *reason)
+__collector_pause_m (const char *reason)
{
hrtime_t now;
char xreason[MAXPATHLEN];
@@ -2449,8 +2444,8 @@ __collector_dlog (int tflag, int level, char *format, ...)
static void (*__real__exit) (int status) = NULL; /* libc only: _exit */
static void (*__real__Exit) (int status) = NULL; /* libc only: _Exit */
-void _exit () __attribute__ ((weak, alias ("__collector_exit")));
-void _Exit () __attribute__ ((weak, alias ("__collector_Exit")));
+void _exit (int status) __attribute__ ((weak, alias ("__collector_exit")));
+void _Exit (int status) __attribute__ ((weak, alias ("__collector_Exit")));
void
__collector_exit (int status)
diff --git a/gprofng/libcollector/collector.h b/gprofng/libcollector/collector.h
index 07a03bdd17a..eda68a0e4f5 100644
--- a/gprofng/libcollector/collector.h
+++ b/gprofng/libcollector/collector.h
@@ -123,7 +123,7 @@ extern void __collector_terminate_expt ();
extern void __collector_terminate_hook ();
extern void __collector_sample (char *name);
extern void __collector_pause ();
-extern void __collector_pause_m ();
+extern void __collector_pause_m (const char *reason);
extern void __collector_resume ();
extern int collector_sigemt_sigaction (const struct sigaction*,
struct sigaction*);
diff --git a/gprofng/libcollector/collectorAPI.c b/gprofng/libcollector/collectorAPI.c
index 5fa6403ad49..449bbbaab65 100644
--- a/gprofng/libcollector/collectorAPI.c
+++ b/gprofng/libcollector/collectorAPI.c
@@ -26,16 +26,17 @@
#include "collectorAPI.h"
#include "gp-experiment.h"
-static void *__real_collector_sample = NULL;
-static void *__real_collector_pause = NULL;
-static void *__real_collector_resume = NULL;
-static void *__real_collector_terminate_expt = NULL;
-static void *__real_collector_func_load = NULL;
-static void *__real_collector_func_unload = NULL;
+static void (*__real_collector_sample)(const char *) = NULL;
+static void (*__real_collector_pause)() = NULL;
+static void (*__real_collector_resume)() = NULL;
+static void (*__real_collector_terminate_expt)() = NULL;
+static void (*__real_collector_func_load)(const char *, const char *,
+ const char *, void *, int, int, Lineno *) = NULL;
+static void (*__real_collector_func_unload)(void *) = NULL;
#define INIT_API if (init_API == 0) collectorAPI_initAPI()
#define NULL_PTR(x) (__real_##x == NULL)
-#define CALL_REAL(x) (*(void(*)())__real_##x)
+#define CALL_REAL(x) (__real_##x)
#define CALL_IF_REAL(x) INIT_API; if (!NULL_PTR(x)) CALL_REAL(x)
static int init_API = 0;
diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c
index 8b8ad77b5ee..f7cd46e7e6b 100644
--- a/gprofng/libcollector/dispatcher.c
+++ b/gprofng/libcollector/dispatcher.c
@@ -908,8 +908,9 @@ sigset (int sig, sighandler_t handler)
// map interposed symbol versions
static int
-gprofng_timer_create (int (real_func) (), clockid_t clockid,
- struct sigevent *sevp, timer_t *timerid)
+gprofng_timer_create (int (real_func) (clockid_t, struct sigevent *, timer_t *),
+ clockid_t clockid,
+ struct sigevent *sevp, timer_t *timerid)
{
// collector reserves SIGPROF
if (sevp == NULL || sevp->sigev_notify != SIGEV_SIGNAL ||
@@ -1044,7 +1045,7 @@ __collector_thr_sigsetmask (int how, const sigset_t* iset, sigset_t* oset)
// map interposed symbol versions
static int
-gprofng_pthread_sigmask (int (real_func) (),
+gprofng_pthread_sigmask (int (real_func) (int, const sigset_t *, sigset_t*),
int how, const sigset_t *iset, sigset_t* oset)
{
sigset_t lsigset;
@@ -1139,9 +1140,10 @@ collector_root (void *cargs)
// map interposed symbol versions
static int
-gprofng_pthread_create (int (real_func) (), pthread_t *thread,
- const pthread_attr_t *attr,
- void *(*func)(void*), void *arg)
+gprofng_pthread_create (int (real_func) (pthread_t *, const pthread_attr_t *,
+ void *(*)(void *), void *),
+ pthread_t *thread, const pthread_attr_t *attr,
+ void *(*func)(void*), void *arg)
{
TprintfT (DBG_LTT, "gprofng_pthread_create @%p\n", real_func);
if (dispatch_mode != DISPATCH_ON)
@@ -1276,6 +1278,7 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags,
}
// weak symbols:
-int sigprocmask () __attribute__ ((weak, alias ("__collector_sigprocmask")));
-int thr_sigsetmask () __attribute__ ((weak, alias ("__collector_thr_sigsetmask")));
+int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_sigprocmask")));
+int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_thr_sigsetmask")));
int setitimer () __attribute__ ((weak, alias ("_setitimer")));
+
diff --git a/gprofng/libcollector/iotrace.c b/gprofng/libcollector/iotrace.c
index 18060864796..3deb441d9c7 100644
--- a/gprofng/libcollector/iotrace.c
+++ b/gprofng/libcollector/iotrace.c
@@ -1350,7 +1350,7 @@ mkstemp (char *template)
unsigned pktSize;
if (NULL_PTR (mkstemp))
init_io_intf ();
- if (CHCK_REENTRANCE (guard) || template == NULL)
+ if (CHCK_REENTRANCE (guard))
return CALL_REAL (mkstemp)(template);
PUSH_REENTRANCE (guard);
hrtime_t reqt = gethrtime ();
@@ -1405,7 +1405,7 @@ mkstemps (char *template, int slen)
unsigned pktSize;
if (NULL_PTR (mkstemps))
init_io_intf ();
- if (CHCK_REENTRANCE (guard) || template == NULL)
+ if (CHCK_REENTRANCE (guard))
return CALL_REAL (mkstemps)(template, slen);
PUSH_REENTRANCE (guard);
hrtime_t reqt = gethrtime ();
@@ -1485,7 +1485,7 @@ close (int fildes)
/*------------------------------------------------------------- fopen */
static FILE*
-gprofng_fopen (FILE*(real_fopen) (), const char *filename, const char *mode)
+gprofng_fopen (FILE*(real_fopen) (const char *, const char *), const char *filename, const char *mode)
{
int *guard;
FILE *fp = NULL;
@@ -1559,7 +1559,7 @@ DCL_FOPEN (fopen)
/*------------------------------------------------------------- fclose */
static int
-gprofng_fclose (int(real_fclose) (), FILE *stream)
+gprofng_fclose (int(real_fclose) (FILE *), FILE *stream)
{
int *guard;
int stat;
@@ -1645,7 +1645,7 @@ fflush (FILE *stream)
/*------------------------------------------------------------- fdopen */
static FILE*
-gprofng_fdopen (FILE*(real_fdopen) (), int fildes, const char *mode)
+gprofng_fdopen (FILE*(real_fdopen) (int, const char *), int fildes, const char *mode)
{
int *guard;
FILE *fp = NULL;
@@ -2957,7 +2957,7 @@ DCL_FGETPOS (fgetpos)
/*------------------------------------------------------------- fgetpos64 */
static int
-gprofng_fgetpos64 (int(real_fgetpos64) (), FILE *stream, fpos64_t *pos)
+gprofng_fgetpos64 (int(real_fgetpos64) (FILE *, fpos64_t *), FILE *stream, fpos64_t *pos)
{
int *guard;
int ret;
diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c
index 1e58cf491a1..baac15db5c4 100644
--- a/gprofng/libcollector/libcol_util.c
+++ b/gprofng/libcollector/libcol_util.c
@@ -1013,7 +1013,6 @@ __collector_open (const char *path, int oflag, ...)
mode_t mode = 0;
hrtime_t t_timeout = __collector_gethrtime () + 5 * ((hrtime_t) NANOSEC);
- int nretries = 0;
long long delay = 100; /* start at some small, arbitrary value */
/* get optional mode argument if it's expected/required */
@@ -1058,7 +1057,6 @@ __collector_open (const char *path, int oflag, ...)
delay *= 2;
if (delay > 100000000)
delay = 100000000; /* cap at some large, arbitrary value */
- nretries++;
}
return fd;
}
diff --git a/gprofng/libcollector/libcol_util.h b/gprofng/libcollector/libcol_util.h
index c8ec83ff0d9..aa30db72bcc 100644
--- a/gprofng/libcollector/libcol_util.h
+++ b/gprofng/libcollector/libcol_util.h
@@ -81,12 +81,6 @@ extern int __collector_mutex_trylock (collector_mutex_t *mp);
#define __collector_mutex_init(xx) \
do { collector_mutex_t tmp=COLLECTOR_MUTEX_INITIALIZER; *(xx)=tmp; } while(0)
-void __collector_sample (char *name);
-void __collector_terminate_expt ();
-void __collector_pause ();
-void __collector_pause_m ();
-void __collector_resume ();
-
struct DT_lineno;
typedef enum
diff --git a/gprofng/libcollector/linetrace.c b/gprofng/libcollector/linetrace.c
index 67b2d7e9030..66844bc1337 100644
--- a/gprofng/libcollector/linetrace.c
+++ b/gprofng/libcollector/linetrace.c
@@ -1207,7 +1207,7 @@ __collector_vfork (void)
}
/*------------------------------------------------------------- execve */
-int execve () __attribute__ ((weak, alias ("__collector_execve")));
+int execve (const char *, char *const [], char *const []) __attribute__ ((weak, alias ("__collector_execve")));
int
__collector_execve (const char* path, char *const argv[], char *const envp[])
@@ -1237,7 +1237,7 @@ __collector_execve (const char* path, char *const argv[], char *const envp[])
return ret;
}
-int execvp () __attribute__ ((weak, alias ("__collector_execvp")));
+int execvp (const char *, char *const []) __attribute__ ((weak, alias ("__collector_execvp")));
int
__collector_execvp (const char* file, char *const argv[])
@@ -1269,7 +1269,7 @@ __collector_execvp (const char* file, char *const argv[])
return ret;
}
-int execv () __attribute__ ((weak, alias ("__collector_execv")));
+int execv (const char *, char *const []) __attribute__ ((weak, alias ("__collector_execv")));
int
__collector_execv (const char* path, char *const argv[])
@@ -1408,7 +1408,10 @@ __collector_execl (const char* path, const char *arg0, ...)
/*-------------------------------------------------------- posix_spawn */
// map interposed symbol versions
static int
-gprofng_posix_spawn (int(real_posix_spawn) (),
+gprofng_posix_spawn (int(real_posix_spawn) (pid_t *, const char *,
+ const posix_spawn_file_actions_t *,
+ const posix_spawnattr_t *,
+ char *const [], char *const []),
pid_t *pidp, const char *path,
const posix_spawn_file_actions_t *file_actions,
const posix_spawnattr_t *attrp,
@@ -1466,7 +1469,10 @@ DCL_POSIX_SPAWN (posix_spawn)
/*-------------------------------------------------------- posix_spawnp */
static int
-gprofng_posix_spawnp (int (real_posix_spawnp) (),
+gprofng_posix_spawnp (int (real_posix_spawnp) (pid_t *, const char *,
+ const posix_spawn_file_actions_t *,
+ const posix_spawnattr_t *,
+ char *const [], char *const []),
pid_t *pidp, const char *path,
const posix_spawn_file_actions_t *file_actions,
const posix_spawnattr_t *attrp,
@@ -1754,8 +1760,8 @@ __collector_clone (int (*fn)(void *), void *child_stack, int flags, void *arg,
}
/*-------------------------------------------------------------------- setuid */
-int setuid () __attribute__ ((weak, alias ("__collector_setuid")));
-int _setuid () __attribute__ ((weak, alias ("__collector_setuid")));
+int setuid (uid_t) __attribute__ ((weak, alias ("__collector_setuid")));
+int _setuid (uid_t) __attribute__ ((weak, alias ("__collector_setuid")));
int
__collector_setuid (uid_t ruid)
@@ -1770,8 +1776,8 @@ __collector_setuid (uid_t ruid)
}
/*------------------------------------------------------------------- seteuid */
-int seteuid () __attribute__ ((weak, alias ("__collector_seteuid")));
-int _seteuid () __attribute__ ((weak, alias ("__collector_seteuid")));
+int seteuid (uid_t) __attribute__ ((weak, alias ("__collector_seteuid")));
+int _seteuid (uid_t) __attribute__ ((weak, alias ("__collector_seteuid")));
int
__collector_seteuid (uid_t euid)
@@ -1786,8 +1792,8 @@ __collector_seteuid (uid_t euid)
}
/*------------------------------------------------------------------ setreuid */
-int setreuid () __attribute__ ((weak, alias ("__collector_setreuid")));
-int _setreuid () __attribute__ ((weak, alias ("__collector_setreuid")));
+int setreuid (uid_t, uid_t) __attribute__ ((weak, alias ("__collector_setreuid")));
+int _setreuid (uid_t, uid_t) __attribute__ ((weak, alias ("__collector_setreuid")));
int
__collector_setreuid (uid_t ruid, uid_t euid)
@@ -1802,8 +1808,8 @@ __collector_setreuid (uid_t ruid, uid_t euid)
}
/*-------------------------------------------------------------------- setgid */
-int setgid () __attribute__ ((weak, alias ("__collector_setgid")));
-int _setgid () __attribute__ ((weak, alias ("__collector_setgid")));
+int setgid (gid_t) __attribute__ ((weak, alias ("__collector_setgid")));
+int _setgid (gid_t) __attribute__ ((weak, alias ("__collector_setgid")));
int
__collector_setgid (gid_t rgid)
@@ -1818,8 +1824,8 @@ __collector_setgid (gid_t rgid)
}
/*------------------------------------------------------------------- setegid */
-int setegid () __attribute__ ((weak, alias ("__collector_setegid")));
-int _setegid () __attribute__ ((weak, alias ("__collector_setegid")));
+int setegid (gid_t) __attribute__ ((weak, alias ("__collector_setegid")));
+int _setegid (gid_t) __attribute__ ((weak, alias ("__collector_setegid")));
int
__collector_setegid (gid_t egid)
@@ -1834,8 +1840,8 @@ __collector_setegid (gid_t egid)
}
/*------------------------------------------------------------------ setregid */
-int setregid () __attribute__ ((weak, alias ("__collector_setregid")));
-int _setregid () __attribute__ ((weak, alias ("__collector_setregid")));
+int setregid (gid_t, gid_t) __attribute__ ((weak, alias ("__collector_setregid")));
+int _setregid (gid_t, gid_t) __attribute__ ((weak, alias ("__collector_setregid")));
int
__collector_setregid (gid_t rgid, gid_t egid)
diff --git a/gprofng/src/BaseMetricTreeNode.h b/gprofng/src/BaseMetricTreeNode.h
index d73d244e27e..7698f9c6eaf 100644
--- a/gprofng/src/BaseMetricTreeNode.h
+++ b/gprofng/src/BaseMetricTreeNode.h
@@ -85,7 +85,6 @@ private:
BaseMetricTreeNode *root; // root of tree
BaseMetricTreeNode *parent; // my parent
- bool aggregation; // value is based on children's values
char *name; // bm->get_cmd() for metrics, unique string otherwise
char *uname; // user-visible text
char *unit; // see UNIT_* defines
diff --git a/gprofng/src/Dbe.cc b/gprofng/src/Dbe.cc
index 95daa727186..09b7f94eaa8 100644
--- a/gprofng/src/Dbe.cc
+++ b/gprofng/src/Dbe.cc
@@ -9591,14 +9591,12 @@ dbeGetTLDataRepVals (VMode view_mode, hrtime_t start_ts, hrtime_t delta,
}
if (sampleVals != NULL)
{
- Sample* sample = (Sample*) packets->getObjValue (PROP_SMPLOBJ, packetIdx);
- if (!sample || !sample->get_usage ())
- sample = sample;
- else
+ Sample *sample = (Sample*) packets->getObjValue (PROP_SMPLOBJ, packetIdx);
+ if (sample != NULL)
{
- PrUsage* prusage = sample->get_usage ();
- Vector<long long> *mstateVals = prusage->getMstateValues ();
- sampleVals->store (eventIdx, mstateVals);
+ PrUsage *prusage = sample->get_usage ();
+ if (prusage != NULL)
+ sampleVals->store (eventIdx, prusage->getMstateValues ());
}
}
}
diff --git a/gprofng/src/DbeSession.cc b/gprofng/src/DbeSession.cc
index a6808d8d8f6..3649357bc79 100644
--- a/gprofng/src/DbeSession.cc
+++ b/gprofng/src/DbeSession.cc
@@ -1164,8 +1164,6 @@ DbeSession::open_experiment (Experiment *exp, char *path)
closedir (exp_dir);
exp_names->sort (dir_name_cmp);
Experiment **t_exp_list = new Experiment *[exp_names->size ()];
- int nsubexps = 0;
-
for (int j = 0, jsz = exp_names->size (); j < jsz; j++)
{
t_exp_list[j] = NULL;
@@ -1222,7 +1220,6 @@ DbeSession::open_experiment (Experiment *exp, char *path)
dexp->open (dpath);
append (dexp);
t_exp_list[j] = dexp;
- nsubexps++;
dexp->set_clock (exp->clock);
// DbeView add_experiment() is split into two parts
diff --git a/gprofng/src/Disasm.cc b/gprofng/src/Disasm.cc
index e41bf679292..19f2174d536 100644
--- a/gprofng/src/Disasm.cc
+++ b/gprofng/src/Disasm.cc
@@ -49,7 +49,6 @@ struct DisContext
};
static const int MAX_DISASM_STR = 2048;
-static const int MAX_INSTR_SIZE = 8;
Disasm::Disasm (char *fname)
{
diff --git a/gprofng/src/Experiment.cc b/gprofng/src/Experiment.cc
index a1f78fc0cde..627a755c88c 100644
--- a/gprofng/src/Experiment.cc
+++ b/gprofng/src/Experiment.cc
@@ -1937,8 +1937,6 @@ private:
}
Experiment *exp;
- char *hostname;
- hrtime_t time, tstamp;
};
void
diff --git a/gprofng/src/HashMap.h b/gprofng/src/HashMap.h
index 918c0dc95f9..c5fdd345ba8 100644
--- a/gprofng/src/HashMap.h
+++ b/gprofng/src/HashMap.h
@@ -78,9 +78,8 @@ copy_key (uint64_t a)
}
template<> inline void
-delete_key (uint64_t a)
+delete_key (uint64_t)
{
- a = a;
}
template<> inline int
diff --git a/gprofng/src/IOActivity.h b/gprofng/src/IOActivity.h
index cf462cf8d55..f3a22ada6b1 100644
--- a/gprofng/src/IOActivity.h
+++ b/gprofng/src/IOActivity.h
@@ -78,7 +78,6 @@ private:
Hist_data *hist_data_file_all;
Hist_data *hist_data_vfd_all;
Hist_data *hist_data_callstack_all;
- Hist_data *hist_data_callstack;
DbeView *dbev;
};
diff --git a/gprofng/src/collctrl.cc b/gprofng/src/collctrl.cc
index 029c0387f19..c0234130f00 100644
--- a/gprofng/src/collctrl.cc
+++ b/gprofng/src/collctrl.cc
@@ -880,9 +880,7 @@ Coll_Ctrl::set_clkprof (const char *string, char** warn)
double dval = strtod (string, &endchar);
if (*endchar == 'm' || *endchar == 0) /* user specified milliseconds */
dval = dval * 1000.;
- else if (*endchar == 'u') /* user specified microseconds */
- dval = dval;
- else
+ else if (*endchar != 'u')
return dbe_sprintf (GTXT ("Unrecognized clock-profiling interval `%s'\n"), string);
nclkprof_timer = (int) (dval + 0.5);
}
@@ -2791,7 +2789,7 @@ Coll_Ctrl::get (char * control)
}
if (!strncmp (control, ipc_str_javaprof, len))
{
- if ((java_mode == 0))
+ if (java_mode == 0)
return strdup (ipc_str_off);
return strdup (ipc_str_on);
}
@@ -2807,7 +2805,7 @@ Coll_Ctrl::get (char * control)
}
if (!strncmp (control, ipc_str_sample_sig, len))
{
- if ((sample_sig == 0))
+ if (sample_sig == 0)
return strdup (ipc_str_off);
char *str_signal = find_signal_name (sample_sig);
if (str_signal != NULL)
@@ -2841,15 +2839,15 @@ Coll_Ctrl::get (char * control)
}
if (!strncmp (control, ipc_str_iotrace, len))
{
- if ((iotrace_enabled == 0))
+ if (iotrace_enabled == 0)
return strdup (ipc_str_off);
return strdup (ipc_str_on);
}
if (!strncmp (control, ipc_str_count, len))
{
- if ((count_enabled == 0))
+ if (count_enabled == 0)
return strdup (ipc_str_off);
- if ((count_enabled < 0))
+ if (count_enabled < 0)
return strdup ("on\nstatic");
return strdup (ipc_str_on);
}
diff --git a/gprofng/src/collctrl.h b/gprofng/src/collctrl.h
index a41647440ac..e2a8e450890 100644
--- a/gprofng/src/collctrl.h
+++ b/gprofng/src/collctrl.h
@@ -272,7 +272,6 @@ private:
char *node_name; /* name of machine on which experiment is run */
long ncpus; /* number of online CPUs */
int cpu_clk_freq; /* chip clock (MHz.), as reported from processor_info */
- int cpc_cpuver; /* chip version, as reported from libcpc */
long sys_resolution; /* system clock resolution */
int sample_period; /* period for sampling, seconds */
int sample_default; /* if period for sampling set by default */
diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h
index bb48eadb9f8..ebcdbca561f 100644
--- a/gprofng/src/collector_module.h
+++ b/gprofng/src/collector_module.h
@@ -40,12 +40,12 @@ struct tm;
* If you add any, please put it in the right place */
typedef struct CollectorUtilFuncs
{
- int (*access)();
+ int (*access)(const char *, int);
int (*atoi)(const char *nptr);
void *(*calloc)(size_t nelem, size_t elsize);
int (*clearenv)(void);
int (*close)(int);
- int (*closedir)();
+ int (*closedir)(DIR *);
int (*execv)(const char *path, char *const argv[]);
void (*exit)(int status);
int (*fclose)(FILE *stream);
@@ -66,20 +66,20 @@ typedef struct CollectorUtilFuncs
off_t (*lseek)(int fd, off_t offset, int whence);
void *(*malloc)(size_t size);
void *(*memset)(void *s1, int c, size_t n);
- int (*mkdir)();
+ int (*mkdir)(const char *, mode_t);
time_t (*mktime)(struct tm *timeptr);
void *(*mmap)(void *, size_t, int, int, int, off_t);
- void *(*mmap64_)();
- int (*munmap)();
+ void *(*mmap64_)(void *, size_t, int, int, int, off_t);
+ int (*munmap)(void *, size_t);
int (*open)(const char *, int, ...);
int (*open_bare)(const char *, int, ...);
- DIR *(*opendir)();
+ DIR *(*opendir)(const char *);
int (*pclose)(FILE *stream);
FILE *(*popen)(const char *command, const char *mode);
int (*putenv)(char *string);
- ssize_t (*pwrite)();
- ssize_t (*pwrite64_)();
- ssize_t (*read)();
+ ssize_t (*pwrite)(int, const void *, size_t, off_t);
+ ssize_t (*pwrite64_)(int, const void *, size_t, off_t);
+ ssize_t (*read)(int, void *, size_t);
int (*setenv)(const char *name, const char *value, int overwrite);
int (*sigfillset)(sigset_t *set);
int (*sigprocmask)(int how, const sigset_t *set, sigset_t *oldset);
@@ -112,7 +112,7 @@ typedef struct CollectorUtilFuncs
int (*unsetenv)(const char *name);
int (*vsnprintf)(char *str, size_t size, const char *format, va_list ap);
pid_t (*waitpid)(pid_t pid, int *stat_loc, int options);
- ssize_t (*write)();
+ ssize_t (*write)(int, void *, size_t);
double (*atof)();
void *n_a;
} CollectorUtilFuncs;
diff --git a/gprofng/src/gp-display-src.cc b/gprofng/src/gp-display-src.cc
index 200e6080d2e..24af375edf1 100644
--- a/gprofng/src/gp-display-src.cc
+++ b/gprofng/src/gp-display-src.cc
@@ -75,14 +75,6 @@ private:
bool v_opt;
int multiple;
char *str_compcom;
- bool hex_visible;
- int src_visible;
- int vis_src;
- int vis_dis;
- int threshold_src;
- int threshold_dis;
- int threshold;
- int vis_bits;
};
static int
diff --git a/gprofng/src/gp-print.h b/gprofng/src/gp-print.h
index 1b748ea60a3..1a8ad3b6c13 100644
--- a/gprofng/src/gp-print.h
+++ b/gprofng/src/gp-print.h
@@ -19,7 +19,7 @@
MA 02110-1301, USA. */
#ifndef _GP_PRINT_H
-#define _ER_PRINT_H
+#define _GP_PRINT_H
#include "Command.h"
#include "DbeApplication.h"
diff --git a/gprofng/src/hwc_intel_icelake.h b/gprofng/src/hwc_intel_icelake.h
index 46f4ac5005f..4fe2e26f63b 100644
--- a/gprofng/src/hwc_intel_icelake.h
+++ b/gprofng/src/hwc_intel_icelake.h
@@ -24,8 +24,10 @@
#define SH(val, n) (((unsigned long long) (val)) << n)
#define I(nm, event, umask, edge, cmask, inv, \
offcore_rsp, ldlat, frontend, period, mtr) \
- INIT_HWC(nm, mtr, SH(event, 0) | SH(umask, 8) | SH(edge, 18) \
- | SH(cmask, 24) | SH(inv, 23), PERF_TYPE_RAW), \
+ .use_perf_event_type = 1, .type = PERF_TYPE_RAW, \
+ .name = (nm), .metric = (mtr), .reg_num = REGNO_ANY, \
+ .config = SH(event, 0) | SH(umask, 8) | SH(edge, 18) | SH(cmask, 24) \
+ | SH(inv, 23), \
.config1 = SH(offcore_rsp, 0) | SH(ldlat, 0) | SH(frontend, 0), \
.val = period
diff --git a/gprofng/src/util.cc b/gprofng/src/util.cc
index 201f7088b66..228140b61ae 100644
--- a/gprofng/src/util.cc
+++ b/gprofng/src/util.cc
@@ -741,17 +741,13 @@ get_relative_link (const char *path_from, const char *path_to)
s2 = canonical_path (s2);
long l = dbe_sstrlen (s1);
// try to find common directories
- int common_slashes = 0;
int last_common_slash = -1;
for (int i = 0; i < l; i++)
{
- if (s1[i] != s2[i]) break;
- if (s1[i] == 0) break;
+ if (s1[i] != s2[i] || s1[i] == 0)
+ break;
if (s1[i] == '/')
- {
- common_slashes++;
- last_common_slash = i;
- }
+ last_common_slash = i;
}
// find slashes in remaining path_to
int slashes = 0;
--
2.50.1
@@ -0,0 +1,619 @@
From a5be89126b9bee78224be842e3086ce99dc045e6 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sat, 16 Nov 2024 05:13:48 +0000
Subject: [PATCH] gprofng: fix -std=gnu23 compatibility wrt unprototyped
functions
C23 removes support for unprototyped functions. Fix function pointer types
accordingly.
This does not fix all instances, there's a few left as I commented on in
PR32374 (e.g. setitimer which I have a local workaround for but it involves
a glibc implementation detail; the Linaro precommit CI tester pointed that
out too, so dropped that).
ChangeLog:
PR gprofng/32374
* libcollector/collector.c (collector_sample): Fix prototype.
* libcollector/envmgmt.c (putenv): Ditto.
(_putenv): Ditto.
(__collector_putenv): Ditto.
(setenv): Ditto.
(_setenv): Ditto.
(__collector_setenv): Ditto.
(unsetenv): Ditto.
(_unsetenv): Ditto.
(__collector_unsetenv): Ditto.
* libcollector/jprofile.c (open_experiment): Ditto.
(__collector_jprofile_enable_synctrace): Ditto.
(jprof_find_asyncgetcalltrace): Ditto.
* libcollector/libcol_util.c (__collector_util_init): Ditto.
(ARCH): Ditto.
* libcollector/mmaptrace.c (collector_func_load): Ditto.
(collector_func_unload): Ditto.
* libcollector/unwind.c (__collector_ext_unwind_init): Ditto.
* src/collector_module.h: Ditto.
Upstream: a2f774427e078f3da2c06bdea25f77a61979a695
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
gprofng/libcollector/collector.c | 2 +-
gprofng/libcollector/dispatcher.c | 1 -
gprofng/libcollector/envmgmt.c | 24 ++++-----
gprofng/libcollector/jprofile.c | 10 ++--
gprofng/libcollector/libcol_util.c | 84 +++++++++++++++---------------
gprofng/libcollector/mmaptrace.c | 4 +-
gprofng/libcollector/unwind.c | 2 +-
gprofng/src/collector_module.h | 2 +-
8 files changed, 64 insertions(+), 65 deletions(-)
diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c
index 2ff95e58fde..3cab346e7dc 100644
--- a/gprofng/libcollector/collector.c
+++ b/gprofng/libcollector/collector.c
@@ -1578,7 +1578,7 @@ __collector_resume_experiment ()
}
/* Code to support Samples and Pause/Resume */
-void collector_sample () __attribute__ ((weak, alias ("__collector_sample")));
+void collector_sample (char *name) __attribute__ ((weak, alias ("__collector_sample")));
void
__collector_sample (char *name)
{
diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c
index f7cd46e7e6b..4eda18ec324 100644
--- a/gprofng/libcollector/dispatcher.c
+++ b/gprofng/libcollector/dispatcher.c
@@ -1281,4 +1281,3 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags,
int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_sigprocmask")));
int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_thr_sigsetmask")));
int setitimer () __attribute__ ((weak, alias ("_setitimer")));
-
diff --git a/gprofng/libcollector/envmgmt.c b/gprofng/libcollector/envmgmt.c
index a399c0d0cb4..f2bf2c41bfb 100644
--- a/gprofng/libcollector/envmgmt.c
+++ b/gprofng/libcollector/envmgmt.c
@@ -685,8 +685,8 @@ __collector_env_update (char *envp[])
/*------------------------------------------------------------- putenv */
-int putenv () __attribute__ ((weak, alias ("__collector_putenv")));
-int _putenv () __attribute__ ((weak, alias ("__collector_putenv")));
+int putenv (char*) __attribute__ ((weak, alias ("__collector_putenv")));
+int _putenv (char*) __attribute__ ((weak, alias ("__collector_putenv")));
int
__collector_putenv (char * string)
@@ -694,9 +694,9 @@ __collector_putenv (char * string)
if (CALL_UTIL (putenv) == __collector_putenv ||
CALL_UTIL (putenv) == NULL)
{ // __collector_libc_funcs_init failed
- CALL_UTIL (putenv) = (int(*)())dlsym (RTLD_NEXT, "putenv");
+ CALL_UTIL (putenv) = (int(*)(char*))dlsym (RTLD_NEXT, "putenv");
if (CALL_UTIL (putenv) == NULL || CALL_UTIL (putenv) == __collector_putenv)
- CALL_UTIL (putenv) = (int(*)())dlsym (RTLD_DEFAULT, "putenv");
+ CALL_UTIL (putenv) = (int(*)(char*))dlsym (RTLD_DEFAULT, "putenv");
if (CALL_UTIL (putenv) == NULL || CALL_UTIL (putenv) == __collector_putenv)
{
TprintfT (DBG_LT2, "__collector_putenv(): ERROR: no pointer found.\n");
@@ -712,8 +712,8 @@ __collector_putenv (char * string)
}
/*------------------------------------------------------------- setenv */
-int setenv () __attribute__ ((weak, alias ("__collector_setenv")));
-int _setenv () __attribute__ ((weak, alias ("__collector_setenv")));
+int setenv (const char*, const char*, int) __attribute__ ((weak, alias ("__collector_setenv")));
+int _setenv (const char*, const char*, int) __attribute__ ((weak, alias ("__collector_setenv")));
int
__collector_setenv (const char *name, const char *value, int overwrite)
@@ -721,9 +721,9 @@ __collector_setenv (const char *name, const char *value, int overwrite)
if (CALL_UTIL (setenv) == __collector_setenv ||
CALL_UTIL (setenv) == NULL)
{ // __collector_libc_funcs_init failed
- CALL_UTIL (setenv) = (int(*)())dlsym (RTLD_NEXT, "setenv");
+ CALL_UTIL (setenv) = (int(*)(const char*, const char*, int))dlsym (RTLD_NEXT, "setenv");
if (CALL_UTIL (setenv) == NULL || CALL_UTIL (setenv) == __collector_setenv)
- CALL_UTIL (setenv) = (int(*)())dlsym (RTLD_DEFAULT, "setenv");
+ CALL_UTIL (setenv) = (int(*)(const char*, const char*, int))dlsym (RTLD_DEFAULT, "setenv");
if (CALL_UTIL (setenv) == NULL || CALL_UTIL (setenv) == __collector_setenv)
{
TprintfT (DBG_LT2, "__collector_setenv(): ERROR: no pointer found.\n");
@@ -758,8 +758,8 @@ __collector_setenv (const char *name, const char *value, int overwrite)
}
/*------------------------------------------------------------- unsetenv */
-int unsetenv () __attribute__ ((weak, alias ("__collector_unsetenv")));
-int _unsetenv () __attribute__ ((weak, alias ("__collector_unsetenv")));
+int unsetenv (const char*) __attribute__ ((weak, alias ("__collector_unsetenv")));
+int _unsetenv (const char*) __attribute__ ((weak, alias ("__collector_unsetenv")));
int
__collector_unsetenv (const char *name)
@@ -767,9 +767,9 @@ __collector_unsetenv (const char *name)
if (CALL_UTIL (unsetenv) == __collector_unsetenv ||
CALL_UTIL (unsetenv) == NULL)
{ // __collector_libc_funcs_init failed
- CALL_UTIL (unsetenv) = (int(*)())dlsym (RTLD_NEXT, "unsetenv");
+ CALL_UTIL (unsetenv) = (int(*)(const char*))dlsym (RTLD_NEXT, "unsetenv");
if (CALL_UTIL (unsetenv) == NULL || CALL_UTIL (unsetenv) == __collector_unsetenv)
- CALL_UTIL (unsetenv) = (int(*)())dlsym (RTLD_DEFAULT, "unsetenv");
+ CALL_UTIL (unsetenv) = (int(*)(const char*))dlsym (RTLD_DEFAULT, "unsetenv");
if (CALL_UTIL (unsetenv) == NULL || CALL_UTIL (unsetenv) == __collector_unsetenv)
{
TprintfT (DBG_LT2, "__collector_unsetenv(): ERROR: no pointer found.\n");
diff --git a/gprofng/libcollector/jprofile.c b/gprofng/libcollector/jprofile.c
index cd498bed0a3..d8f2d049a84 100644
--- a/gprofng/libcollector/jprofile.c
+++ b/gprofng/libcollector/jprofile.c
@@ -99,8 +99,8 @@ static void rwrite (int fd, const void *buf, size_t nbyte);
static void addToDynamicArchive (const char* name, const unsigned char* class_data, int class_data_len);
static void (*AsyncGetCallTrace)(JVMPI_CallTrace*, jint, ucontext_t*) = NULL;
static void (*collector_heap_record)(int, int, void*) = NULL;
-static void (*collector_jsync_begin)() = NULL;
-static void (*collector_jsync_end)(hrtime_t, void *) = NULL;
+static void (*collector_jsync_begin)(void) = NULL;
+static void (*collector_jsync_end)(hrtime_t, void*) = NULL;
#define gethrtime collector_interface->getHiResTime
@@ -224,7 +224,7 @@ open_experiment (const char *exp)
else if (__collector_strStartWith (args, "s:") == 0)
{
java_sync_mode = 1;
- collector_jsync_begin = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_begin");
+ collector_jsync_begin = (void(*)(void))dlsym (RTLD_DEFAULT, "__collector_jsync_begin");
collector_jsync_end = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_end");
}
#endif
@@ -249,7 +249,7 @@ __collector_jprofile_enable_synctrace ()
return;
}
java_sync_mode = 1;
- collector_jsync_begin = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_begin");
+ collector_jsync_begin = (void(*)(void))dlsym (RTLD_DEFAULT, "__collector_jsync_begin");
collector_jsync_end = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_end");
TprintfT (DBG_LT1, "jprofile: turning on Java synctrace, and requesting events\n");
}
@@ -1123,7 +1123,7 @@ jprof_find_asyncgetcalltrace ()
{
void *jvmhandle;
if (__collector_VM_ReadByteInstruction == NULL)
- __collector_VM_ReadByteInstruction = (int(*)()) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction");
+ __collector_VM_ReadByteInstruction = (int(*)(unsigned char*)) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction");
/* look for stack unwind function using default path */
AsyncGetCallTrace = (void (*)(JVMPI_CallTrace*, jint, ucontext_t*))
diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c
index baac15db5c4..a73488e3f60 100644
--- a/gprofng/libcollector/libcol_util.c
+++ b/gprofng/libcollector/libcol_util.c
@@ -1114,7 +1114,7 @@ __collector_util_init ()
ptr = dlsym (libc, "munmap");
if (ptr)
- __collector_util_funcs.munmap = (int(*)())ptr;
+ __collector_util_funcs.munmap = (int(*)(void *, size_t))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT munmap: %s\n", dlerror ());
@@ -1123,7 +1123,7 @@ __collector_util_init ()
ptr = dlsym (libc, "close");
if (ptr)
- __collector_util_funcs.close = (int(*)())ptr;
+ __collector_util_funcs.close = (int(*)(int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT close: %s\n", dlerror ());
@@ -1158,7 +1158,7 @@ __collector_util_init ()
ptr = dlsym (libc, "close");
if (ptr)
- __collector_util_funcs.close = (int(*)())ptr;
+ __collector_util_funcs.close = (int(*)(int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT close: %s\n", dlerror ());
@@ -1167,7 +1167,7 @@ __collector_util_init ()
ptr = dlsym (libc, "read");
if (ptr)
- __collector_util_funcs.read = (ssize_t (*)())ptr;
+ __collector_util_funcs.read = (ssize_t (*)(int, void*, size_t))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT read: %s\n", dlerror ());
@@ -1176,7 +1176,7 @@ __collector_util_init ()
ptr = dlsym (libc, "write");
if (ptr)
- __collector_util_funcs.write = (ssize_t (*)())ptr;
+ __collector_util_funcs.write = (ssize_t (*)(int, void*, size_t))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT write: %s\n", dlerror ());
@@ -1186,14 +1186,14 @@ __collector_util_init ()
#if ARCH(Intel) && WSIZE(32)
ptr = dlvsym (libc, "pwrite", "GLIBC_2.2"); // it is in /lib/libpthread.so.0
if (ptr)
- __collector_util_funcs.pwrite = (ssize_t (*)())ptr;
+ __collector_util_funcs.pwrite = (ssize_t (*)(int, void*, size_t, off_t))ptr;
else
{
Tprintf (DBG_LT0, "libcol_util: WARNING: dlvsym for %s@%s failed. Using dlsym() instead.", "pwrite", "GLIBC_2.2");
#endif /* ARCH(Intel) && WSIZE(32) */
ptr = dlsym (libc, "pwrite");
if (ptr)
- __collector_util_funcs.pwrite = (ssize_t (*)())ptr;
+ __collector_util_funcs.pwrite = (ssize_t (*)(int, const void*, size_t, off_t))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT pwrite: %s\n", dlerror ());
@@ -1213,7 +1213,7 @@ __collector_util_init ()
#endif /* ARCH(Intel) && WSIZE(32) */
ptr = dlsym (libc, "pwrite64");
if (ptr)
- __collector_util_funcs.pwrite64_ = (ssize_t (*)())ptr;
+ __collector_util_funcs.pwrite64_ = (ssize_t (*)(int, const void*, size_t, off_t))ptr;
else
__collector_util_funcs.pwrite64_ = __collector_util_funcs.pwrite;
#if ARCH(Intel) && WSIZE(32)
@@ -1222,7 +1222,7 @@ __collector_util_init ()
ptr = dlsym (libc, "lseek");
if (ptr)
- __collector_util_funcs.lseek = (off_t (*)())ptr;
+ __collector_util_funcs.lseek = (off_t (*)(int, off_t, int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT lseek: %s\n", dlerror ());
@@ -1231,7 +1231,7 @@ __collector_util_init ()
ptr = dlsym (libc, "access");
if (ptr)
- __collector_util_funcs.access = (int(*)())ptr;
+ __collector_util_funcs.access = (int(*)(const char*, int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT access: %s\n", dlerror ());
@@ -1240,7 +1240,7 @@ __collector_util_init ()
ptr = dlsym (libc, "mkdir");
if (ptr)
- __collector_util_funcs.mkdir = (int(*)())ptr;
+ __collector_util_funcs.mkdir = (int(*)(const char*, mode_t))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT mkdir: %s\n", dlerror ());
@@ -1249,7 +1249,7 @@ __collector_util_init ()
ptr = dlsym (libc, "opendir");
if (ptr)
- __collector_util_funcs.opendir = (DIR * (*)())ptr;
+ __collector_util_funcs.opendir = (DIR * (*)(const char*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT opendir: %s\n", dlerror ());
@@ -1258,7 +1258,7 @@ __collector_util_init ()
ptr = dlsym (libc, "closedir");
if (ptr)
- __collector_util_funcs.closedir = (int(*)())ptr;
+ __collector_util_funcs.closedir = (int(*)(DIR*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT closedir: %s\n", dlerror ());
@@ -1267,7 +1267,7 @@ __collector_util_init ()
ptr = dlsym (libc, "execv");
if (ptr)
- __collector_util_funcs.execv = (int(*)())ptr;
+ __collector_util_funcs.execv = (int(*)(const char*, char* const*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT execv: %s\n", dlerror ());
@@ -1276,7 +1276,7 @@ __collector_util_init ()
ptr = dlsym (libc, "exit");
if (ptr)
- __collector_util_funcs.exit = (void(*)())ptr;
+ __collector_util_funcs.exit = (void(*)(int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT exit: %s\n", dlerror ());
@@ -1285,7 +1285,7 @@ __collector_util_init ()
ptr = dlsym (libc, "vfork");
if (ptr)
- __collector_util_funcs.vfork = (pid_t (*)())ptr;
+ __collector_util_funcs.vfork = (pid_t (*)(void))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT vfork: %s\n", dlerror ());
@@ -1294,7 +1294,7 @@ __collector_util_init ()
ptr = dlsym (libc, "waitpid");
if (ptr)
- __collector_util_funcs.waitpid = (pid_t (*)())ptr;
+ __collector_util_funcs.waitpid = (pid_t (*)(pid_t, int*, int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT waitpid: %s\n", dlerror ());
@@ -1313,7 +1313,7 @@ __collector_util_init ()
ptr = dlsym (libc, "getcontext");
if (ptr)
- __collector_util_funcs.getcontext = (int(*)())ptr;
+ __collector_util_funcs.getcontext = (int(*)(ucontext_t*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT getcontext: %s\n", dlerror ());
@@ -1331,7 +1331,7 @@ __collector_util_init ()
ptr = dlsym (libc, "putenv");
if (ptr)
- __collector_util_funcs.putenv = (int(*)())ptr;
+ __collector_util_funcs.putenv = (int(*)(char*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT putenv: %s\n", dlerror ());
@@ -1340,7 +1340,7 @@ __collector_util_init ()
ptr = dlsym (libc, "getenv");
if (ptr)
- __collector_util_funcs.getenv = (char*(*)())ptr;
+ __collector_util_funcs.getenv = (char*(*)(const char*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT getenv: %s\n", dlerror ());
@@ -1349,7 +1349,7 @@ __collector_util_init ()
ptr = dlsym (libc, "time");
if (ptr)
- __collector_util_funcs.time = (time_t (*)())ptr;
+ __collector_util_funcs.time = (time_t (*)(time_t*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT time: %s\n", dlerror ());
@@ -1358,7 +1358,7 @@ __collector_util_init ()
ptr = dlsym (libc, "mktime");
if (ptr)
- __collector_util_funcs.mktime = (time_t (*)())ptr;
+ __collector_util_funcs.mktime = (time_t (*)(struct tm*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT mktime: %s\n", dlerror ());
@@ -1372,7 +1372,7 @@ __collector_util_init ()
ptr = dlsym (libc, "gmtime_r");
if (ptr)
- __collector_util_funcs.gmtime_r = (struct tm * (*)())ptr;
+ __collector_util_funcs.gmtime_r = (struct tm * (*)(const time_t*, struct tm*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT gmtime_r: %s\n", dlerror ());
@@ -1381,7 +1381,7 @@ __collector_util_init ()
ptr = dlsym (libc, "strtol");
if (ptr)
- __collector_util_funcs.strtol = (long (*)())ptr;
+ __collector_util_funcs.strtol = (long (*)(const char*, char**, int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtol: %s\n", dlerror ());
@@ -1390,7 +1390,7 @@ __collector_util_init ()
ptr = dlsym (libc, "strtoll");
if (ptr)
- __collector_util_funcs.strtoll = (long long (*)())ptr;
+ __collector_util_funcs.strtoll = (long long (*)(const char*, char**, int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtoll: %s\n", dlerror ());
@@ -1402,7 +1402,7 @@ __collector_util_init ()
ptr = dlsym (libc, "setenv");
if (ptr)
- __collector_util_funcs.setenv = (int(*)())ptr;
+ __collector_util_funcs.setenv = (int(*)(const char*, const char*, int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT setenv: %s\n", dlerror ());
@@ -1411,7 +1411,7 @@ __collector_util_init ()
ptr = dlsym (libc, "unsetenv");
if (ptr)
- __collector_util_funcs.unsetenv = (int(*)())ptr;
+ __collector_util_funcs.unsetenv = (int(*)(const char*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT unsetenv: %s\n", dlerror ());
@@ -1507,7 +1507,7 @@ __collector_util_init ()
ptr = dlsym (libc, "pclose");
if (ptr)
- __collector_util_funcs.pclose = (int(*)())ptr;
+ __collector_util_funcs.pclose = (int(*)(FILE*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT pclose: %s\n", dlerror ());
@@ -1516,7 +1516,7 @@ __collector_util_init ()
ptr = dlsym (libc, "fgets");
if (ptr)
- __collector_util_funcs.fgets = (char*(*)())ptr;
+ __collector_util_funcs.fgets = (char*(*)(char*, int, FILE*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT fgets: %s\n", dlerror ());
@@ -1543,7 +1543,7 @@ __collector_util_init ()
ptr = dlsym (libc, "vsnprintf");
if (ptr)
- __collector_util_funcs.vsnprintf = (int(*)())ptr;
+ __collector_util_funcs.vsnprintf = (int(*)(char*, size_t, const char*, ...))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT vsnprintf: %s\n", dlerror ());
@@ -1552,7 +1552,7 @@ __collector_util_init ()
ptr = dlsym (libc, "atoi");
if (ptr)
- __collector_util_funcs.atoi = (int(*)())ptr;
+ __collector_util_funcs.atoi = (int(*)(const char*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT atoi: %s\n", dlerror ());
@@ -1561,7 +1561,7 @@ __collector_util_init ()
ptr = dlsym (libc, "calloc");
if (ptr)
- __collector_util_funcs.calloc = (void*(*)())ptr;
+ __collector_util_funcs.calloc = (void*(*)(size_t, size_t))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT calloc: %s\n", dlerror ());
@@ -1571,7 +1571,7 @@ __collector_util_init ()
ptr = dlsym (libc, "free");
if (ptr)
{
- __collector_util_funcs.free = (void(*)())ptr;
+ __collector_util_funcs.free = (void(*)(void*))ptr;
}
else
{
@@ -1581,7 +1581,7 @@ __collector_util_init ()
ptr = dlsym (libc, "strdup");
if (ptr)
- __collector_util_funcs.libc_strdup = (char*(*)())ptr;
+ __collector_util_funcs.libc_strdup = (char*(*)(const char*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strdup: %s\n", dlerror ());
@@ -1594,7 +1594,7 @@ __collector_util_init ()
ptr = dlsym (libc, "strerror");
if (ptr)
- __collector_util_funcs.strerror = (char*(*)())ptr;
+ __collector_util_funcs.strerror = (char*(*)(int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strerror: %s\n", dlerror ());
@@ -1602,7 +1602,7 @@ __collector_util_init ()
}
ptr = dlsym (libc, "strerror_r");
if (ptr)
- __collector_util_funcs.strerror_r = (int(*)())ptr;
+ __collector_util_funcs.strerror_r = (int(*)(int, char*, size_t))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strerror_r: %s\n", dlerror ());
@@ -1610,7 +1610,7 @@ __collector_util_init ()
}
ptr = dlsym (libc, "strspn");
if (ptr)
- __collector_util_funcs.strspn = (size_t (*)())ptr;
+ __collector_util_funcs.strspn = (size_t (*)(const char*, const char*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strspn: %s\n", dlerror ());
@@ -1619,7 +1619,7 @@ __collector_util_init ()
ptr = dlsym (libc, "strtoul");
if (ptr)
- __collector_util_funcs.strtoul = (unsigned long int(*)())ptr;
+ __collector_util_funcs.strtoul = (unsigned long int(*)(const char*, char**, int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtoul: %s\n", dlerror ());
@@ -1628,7 +1628,7 @@ __collector_util_init ()
ptr = dlsym (libc, "strtoull");
if (ptr)
- __collector_util_funcs.strtoull = (unsigned long long int(*)())ptr;
+ __collector_util_funcs.strtoull = (unsigned long long int(*)(const char*, char**, int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtoull: %s\n", dlerror ());
@@ -1673,7 +1673,7 @@ __collector_util_init ()
ptr = dlsym (libc, "sysconf");
if (ptr)
- __collector_util_funcs.sysconf = (long(*)())ptr;
+ __collector_util_funcs.sysconf = (long(*)(int))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sysconf: %s\n", dlerror ());
@@ -1682,7 +1682,7 @@ __collector_util_init ()
ptr = dlsym (libc, "sigfillset");
if (ptr)
- __collector_util_funcs.sigfillset = (int(*)())ptr;
+ __collector_util_funcs.sigfillset = (int(*)(sigset_t*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sigfillset: %s\n", dlerror ());
@@ -1691,7 +1691,7 @@ __collector_util_init ()
ptr = dlsym (libc, "sigprocmask");
if (ptr)
- __collector_util_funcs.sigprocmask = (int(*)())ptr;
+ __collector_util_funcs.sigprocmask = (int(*)(int, const sigset_t*, sigset_t*))ptr;
else
{
CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sigprocmask: %s\n", dlerror ());
diff --git a/gprofng/libcollector/mmaptrace.c b/gprofng/libcollector/mmaptrace.c
index f07f4d76513..2a6857ab58e 100644
--- a/gprofng/libcollector/mmaptrace.c
+++ b/gprofng/libcollector/mmaptrace.c
@@ -1209,7 +1209,7 @@ process_vsyscall_page ()
/*
* collector API for dynamic functions
*/
-void collector_func_load () __attribute__ ((weak, alias ("__collector_func_load")));
+void collector_func_load (char*, char*, char*, void*, int, int, DT_lineno *) __attribute__ ((weak, alias ("__collector_func_load")));
void
__collector_func_load (char *name, char *alias, char *sourcename,
void *vaddr, int size, int lntsize, DT_lineno *lntable)
@@ -1218,7 +1218,7 @@ __collector_func_load (char *name, char *alias, char *sourcename,
vaddr, size, lntsize, lntable);
}
-void collector_func_unload () __attribute__ ((weak, alias ("__collector_func_unload")));
+void collector_func_unload (void *vaddr) __attribute__ ((weak, alias ("__collector_func_unload")));
void
__collector_func_unload (void *vaddr)
{
diff --git a/gprofng/libcollector/unwind.c b/gprofng/libcollector/unwind.c
index 55fa2e9e9e7..e08afa165d1 100644
--- a/gprofng/libcollector/unwind.c
+++ b/gprofng/libcollector/unwind.c
@@ -421,7 +421,7 @@ __collector_ext_unwind_init (int record)
omp_no_walk = 1;
if (__collector_VM_ReadByteInstruction == NULL)
- __collector_VM_ReadByteInstruction = (int(*)()) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction");
+ __collector_VM_ReadByteInstruction = (int(*)(unsigned char*)) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction");
#if ARCH(SPARC)
#if WSIZE(64)
diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h
index ebcdbca561f..fd888cd58dd 100644
--- a/gprofng/src/collector_module.h
+++ b/gprofng/src/collector_module.h
@@ -110,7 +110,7 @@ typedef struct CollectorUtilFuncs
long (*sysinfo)(int command, char *buf, long count);
time_t (*time)(time_t *tloc);
int (*unsetenv)(const char *name);
- int (*vsnprintf)(char *str, size_t size, const char *format, va_list ap);
+ int (*vsnprintf)(char *str, size_t size, const char *format, ...);
pid_t (*waitpid)(pid_t pid, int *stat_loc, int options);
ssize_t (*write)(int, void *, size_t);
double (*atof)();
--
2.50.1
@@ -0,0 +1,199 @@
From 9ca25799ea0e92855d19adc46634e6dd0675a0b7 Mon Sep 17 00:00:00 2001
From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
Date: Thu, 21 Nov 2024 14:48:20 -0800
Subject: [PATCH] gprofng: fix build with -std=gnu23
Fix function pointer types accordingly.
Remove unused function pointers.
gprofng/ChangeLog
2024-11-21 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
PR gprofng/32374
PR gprofng/32373
* common/cpuid.c: Define ATTRIBUTE_UNUSED if necessary.
* libcollector/libcol_util.c (sysinfo): Remove unused pointer.
* src/collector_module.h: Likewise.
* libcollector/dispatcher.c (setitimer): Fix prototype.
* libcollector/linetrace.c (system, grantpt, ptsname): Likewise.
* testsuite/gprofng.display/mttest/mttest.c (dump_arrays): Likewise.
* testsuite/gprofng.display/synprog/endcases.c (xinline_code,
s_inline_code): Likewise.
* testsuite/gprofng.display/synprog/inc_inline.h (ext_inline_code):
Likewise.
* testsuite/gprofng.display/synprog/synprog.c (doabort): Rename nullptr.
Upstream: 4e943705e3e8a5a9448d087502bcb390a694ad02
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
gprofng/common/cpuid.c | 2 ++
gprofng/libcollector/dispatcher.c | 2 +-
gprofng/libcollector/libcol_util.c | 9 ---------
gprofng/libcollector/linetrace.c | 10 +++++-----
gprofng/src/collector_module.h | 1 -
gprofng/testsuite/gprofng.display/mttest/mttest.c | 2 +-
gprofng/testsuite/gprofng.display/synprog/endcases.c | 4 ++--
gprofng/testsuite/gprofng.display/synprog/inc_inline.h | 2 +-
gprofng/testsuite/gprofng.display/synprog/synprog.c | 4 ++--
9 files changed, 14 insertions(+), 22 deletions(-)
diff --git a/gprofng/common/cpuid.c b/gprofng/common/cpuid.c
index 891d5471335..b4caef54f57 100644
--- a/gprofng/common/cpuid.c
+++ b/gprofng/common/cpuid.c
@@ -21,7 +21,9 @@
#if defined(__i386__) || defined(__x86_64)
#include <cpuid.h> /* GCC-provided */
#elif defined(__aarch64__)
+#if !defined(ATTRIBUTE_UNUSED)
#define ATTRIBUTE_UNUSED __attribute__((unused))
+#endif
static inline uint_t __attribute_const__
__get_cpuid (unsigned int op ATTRIBUTE_UNUSED, unsigned int *eax,
diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c
index 4eda18ec324..6f0364cc52c 100644
--- a/gprofng/libcollector/dispatcher.c
+++ b/gprofng/libcollector/dispatcher.c
@@ -1280,4 +1280,4 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags,
// weak symbols:
int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_sigprocmask")));
int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_thr_sigsetmask")));
-int setitimer () __attribute__ ((weak, alias ("_setitimer")));
+__typeof(setitimer) setitimer __attribute__ ((weak, alias ("_setitimer")));
diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c
index a73488e3f60..77dc886be22 100644
--- a/gprofng/libcollector/libcol_util.c
+++ b/gprofng/libcollector/libcol_util.c
@@ -1427,15 +1427,6 @@ __collector_util_init ()
err = COL_ERROR_UTIL_INIT;
}
- ptr = dlsym (libc, "sysinfo");
- if (ptr)
- __collector_util_funcs.sysinfo = (long (*)())ptr;
- else
- {
- CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sysinfo: %s\n", dlerror ());
- err = COL_ERROR_UTIL_INIT;
- }
-
ptr = dlsym (libc, "clearenv");
if (ptr)
__collector_util_funcs.clearenv = (int(*)())ptr;
diff --git a/gprofng/libcollector/linetrace.c b/gprofng/libcollector/linetrace.c
index 66844bc1337..c81ae1a2272 100644
--- a/gprofng/libcollector/linetrace.c
+++ b/gprofng/libcollector/linetrace.c
@@ -1527,7 +1527,7 @@ DCL_FUNC_VER (DCL_POSIX_SPAWNP, posix_spawnp_2_2, posix_spawnp@GLIBC_2.2)
DCL_POSIX_SPAWNP (posix_spawnp)
/*------------------------------------------------------------- system */
-int system () __attribute__ ((weak, alias ("__collector_system")));
+int system (const char *cmd) __attribute__ ((weak, alias ("__collector_system")));
int
__collector_system (const char *cmd)
@@ -1582,10 +1582,10 @@ DCL_FUNC_VER (DCL_POPEN, popen_2_0, popen@GLIBC_2.0)
DCL_POPEN (popen)
/*------------------------------------------------------------- grantpt */
-int grantpt () __attribute__ ((weak, alias ("__collector_grantpt")));
+int grantpt (int fildes) __attribute__ ((weak, alias ("__collector_grantpt")));
int
-__collector_grantpt (const int fildes)
+__collector_grantpt (int fildes)
{
if (NULL_PTR (grantpt))
init_lineage_intf ();
@@ -1607,10 +1607,10 @@ __collector_grantpt (const int fildes)
}
/*------------------------------------------------------------- ptsname */
-char *ptsname () __attribute__ ((weak, alias ("__collector_ptsname")));
+char *ptsname (int fildes) __attribute__ ((weak, alias ("__collector_ptsname")));
char *
-__collector_ptsname (const int fildes)
+__collector_ptsname (int fildes)
{
if (NULL_PTR (ptsname))
init_lineage_intf ();
diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h
index fd888cd58dd..6640f12fa3c 100644
--- a/gprofng/src/collector_module.h
+++ b/gprofng/src/collector_module.h
@@ -107,7 +107,6 @@ typedef struct CollectorUtilFuncs
int (*symlink)(const char *s1, const char *s2);
int (*syscall)(int number, ...);
long (*sysconf)(int name);
- long (*sysinfo)(int command, char *buf, long count);
time_t (*time)(time_t *tloc);
int (*unsetenv)(const char *name);
int (*vsnprintf)(char *str, size_t size, const char *format, ...);
diff --git a/gprofng/testsuite/gprofng.display/mttest/mttest.c b/gprofng/testsuite/gprofng.display/mttest/mttest.c
index e0835c833e5..3db5b8d8e86 100644
--- a/gprofng/testsuite/gprofng.display/mttest/mttest.c
+++ b/gprofng/testsuite/gprofng.display/mttest/mttest.c
@@ -171,7 +171,7 @@ void computeJ (workStruct_t *x);
void computeK (workStruct_t *x);
void addone (workCtr_t *x);
void init_arrays (int strat);
-void dump_arrays ();
+void dump_arrays (hrtime_t real, hrtime_t cpu, int case_index);
void *do_work (void *v);
void thread_work ();
void nothreads (Workblk *array, struct scripttab *k);
diff --git a/gprofng/testsuite/gprofng.display/synprog/endcases.c b/gprofng/testsuite/gprofng.display/synprog/endcases.c
index a6a1389658a..6f1c83b6859 100644
--- a/gprofng/testsuite/gprofng.display/synprog/endcases.c
+++ b/gprofng/testsuite/gprofng.display/synprog/endcases.c
@@ -40,8 +40,8 @@ static void s_inline_code (int);
void ext_inline_code (int);
#ifndef NO_INLINE
-void xinline_code () __attribute__ ((always_inline));
-void s_inline_code () __attribute__ ((always_inline));
+void xinline_code (int) __attribute__ ((always_inline));
+void s_inline_code (int) __attribute__ ((always_inline));
#endif
#include "inc_inline.h"
diff --git a/gprofng/testsuite/gprofng.display/synprog/inc_inline.h b/gprofng/testsuite/gprofng.display/synprog/inc_inline.h
index da42563c828..6600eacb66d 100644
--- a/gprofng/testsuite/gprofng.display/synprog/inc_inline.h
+++ b/gprofng/testsuite/gprofng.display/synprog/inc_inline.h
@@ -19,7 +19,7 @@
MA 02110-1301, USA. */
#ifndef NO_INLINE
-void ext_inline_code() __attribute__ ((always_inline));
+void ext_inline_code(int) __attribute__ ((always_inline));
#endif
void
diff --git a/gprofng/testsuite/gprofng.display/synprog/synprog.c b/gprofng/testsuite/gprofng.display/synprog/synprog.c
index cf1bc5b0909..05920dc7419 100644
--- a/gprofng/testsuite/gprofng.display/synprog/synprog.c
+++ b/gprofng/testsuite/gprofng.display/synprog/synprog.c
@@ -528,14 +528,14 @@ reapchildren ()
int
doabort (int k)
{
- char *nullptr = NULL;
+ char *p = NULL;
char c;
/* Log the event */
wlog ("start of doabort", NULL);
/* and dereference a NULL */
- c = *nullptr;
+ c = *p;
/* this should never be reached */
return (int) c;
--
2.50.1
+5 -5
View File
@@ -7,7 +7,7 @@ config BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI
choice
prompt "Binutils Version"
default BR2_BINUTILS_VERSION_2_45_X if !BR2_arc
default BR2_BINUTILS_VERSION_2_44_X if !BR2_arc
default BR2_BINUTILS_VERSION_ARC if BR2_arc
help
Select the version of binutils you wish to use.
@@ -16,23 +16,23 @@ config BR2_BINUTILS_VERSION_ARC
bool "binutils arc (2.43)"
depends on BR2_arc
config BR2_BINUTILS_VERSION_2_43_X
bool "binutils 2.43.1"
config BR2_BINUTILS_VERSION_2_44_X
bool "binutils 2.44"
config BR2_BINUTILS_VERSION_2_45_X
bool "binutils 2.45.1"
config BR2_BINUTILS_VERSION_2_46_X
bool "binutils 2.46.0"
endchoice
config BR2_BINUTILS_VERSION
string
default "arc-2024.12-release" if BR2_BINUTILS_VERSION_ARC
default "2.43.1" if BR2_BINUTILS_VERSION_2_43_X
default "2.44" if BR2_BINUTILS_VERSION_2_44_X
default "2.45.1" if BR2_BINUTILS_VERSION_2_45_X
default "2.46.0" if BR2_BINUTILS_VERSION_2_46_X
config BR2_BINUTILS_GPROFNG
bool "gprofng support"
+1 -1
View File
@@ -1,7 +1,7 @@
# From https://gcc.gnu.org/pub/binutils/releases/sha512.sum
sha512 20977ad17729141a2c26d358628f44a0944b84dcfefdec2ba029c2d02f40dfc41cc91c0631044560d2bd6f9a51e1f15846b4b311befbe14f1239f14ff7d57824 binutils-2.43.1.tar.xz
sha512 b85d3bbc0e334cf67a96219d3c7c65fbf3e832b2c98a7417bf131f3645a0307057ec81cd2b29ff2563cec53e3d42f73e2c60cc5708e80d4a730efdcc6ae14ad7 binutils-2.44.tar.xz
sha512 ea030419eba387579ab717be7e3223fc99e93b586860b06003c12489f93441640d4082736f76aa5e98233db4f46e232f536a45e471486de1f5b64e1b827c167e binutils-2.45.1.tar.xz
sha512 32f880bb4f69351f4ae54a5d00359625c6c49d8e76624fb5cffdf174c79c8d3212f66225b81c12933c6ed59604ab652560773dd92fab384b930c97a9d4e1fdf2 binutils-2.46.0.tar.xz
# Locally calculated (fetched from Github)
sha512 46c336a16bde7b73dc4ceac0986887d47d542a1452e1936ef871b5e76afdb6cad4b18ccb4d93341358e7bb92c2ef74781e1fb72935d527d15251ac9f9daa8305 binutils-gdb-arc-2024.12-release.tar.gz

Some files were not shown because too many files have changed in this diff Show More