package/rpi-firmware: add option to install vcdbg
authorYann E. MORIN <yann.morin.1998@free.fr>
Wed, 1 Jul 2015 17:40:28 +0000 (19:40 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 2 Jul 2015 09:01:55 +0000 (11:01 +0200)
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" <yann.morin.1998@free.fr>
Cc; Floris Bos <bos@je-eigen-domein.nl>
Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/rpi-firmware/Config.in
package/rpi-firmware/rpi-firmware.mk

index a060b4e33f9b6a41eeedd5ff30064fc3fdd2889f..405674f4231ed09e805f0ac17b8ae57ab2897f5e 100644 (file)
@@ -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
index 56d692514f601c2a4bdf23b5e126a0baf4efb5c3..1ef15aa5c19afc6ab9f381f081f7e5875626aee5 100644 (file)
@@ -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