From: Yann E. MORIN Date: Wed, 1 Jul 2015 17:40:28 +0000 (+0200) Subject: package/rpi-firmware: add option to install vcdbg X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d16b32a401;p=buildroot.git package/rpi-firmware: add option to install vcdbg vcdbg is a tool to help debug the communication with the GPU. It comes as a binary-only, and in two flavours: one for the hard floating point ABI, one for the software floating point ABI. Unfortunately, we have no source code for that tool, only a binary that was dynamically linked with glibc and libraries from rpi-userland. So, just install that executable, and let's hope there is no symbol issue at runtime. Note: vcdbg needs glibc, threads and !static. Since glibc already implies threads and !static, we only need to depend on glibc. Signed-off-by: "Yann E. MORIN" Cc; Floris Bos Cc: Pascal de Bruijn Cc: Baruch Siach Cc: Thomas Petazzoni Signed-off-by: Thomas Petazzoni --- diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in index a060b4e33f..405674f423 100644 --- a/package/rpi-firmware/Config.in +++ b/package/rpi-firmware/Config.in @@ -65,4 +65,15 @@ config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS Say 'y' here if you need to load one or more of the DTB overlays, to support HATs (Hardware Attached on Top, add-on modules). +config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG + bool "vcdbg" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_INSTALL_LIBSTDCPP # rpi-userland + select BR2_PACKAGE_RPI_USERLAND + help + Install vcdbg, to help debug communication with the GPU. + +comment "vcdbg needs an (e)glibc toolchain w/ C++" + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP + endif # BR2_PACKAGE_RPI_FIRMWARE diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 56d692514f..1ef15aa5c1 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -29,6 +29,13 @@ define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS endef endif +ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y) +define RPI_FIRMWARE_INSTALL_TARGET_CMDS + $(INSTALL) -d -m 0700 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/bin/vcdbg \ + $(TARGET_DIR)/usr/sbin/vcdbg +endef +endif # INSTALL_VCDBG + define RPI_FIRMWARE_INSTALL_IMAGES_CMDS $(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin $(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf