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" <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>
This commit is contained in:
Yann E. MORIN 2015-07-01 19:40:28 +02:00 committed by Thomas Petazzoni
parent 0a035206d1
commit d16b32a401
2 changed files with 18 additions and 0 deletions

View 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, 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). 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 endif # BR2_PACKAGE_RPI_FIRMWARE

View File

@ -29,6 +29,13 @@ define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
endef endef
endif 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 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/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 $(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf