svn commit: r565995 - in head/devel/heaptrack: . files

Adriaan de Groot adridg at FreeBSD.org
Thu Feb 18 21:34:31 UTC 2021


Author: adridg
Date: Thu Feb 18 21:34:30 2021
New Revision: 565995
URL: https://svnweb.freebsd.org/changeset/ports/565995

Log:
  Fix devel/heaptrack on i386 (32-bit ELF), I hope
  
  This patch was removed in the previous update, but was still
  necessary. I have since submitted it upstream.
  
  Reported by:	fallout

Added:
  head/devel/heaptrack/files/
  head/devel/heaptrack/files/patch-src_track_heaptrack__inject.cpp   (contents, props changed)
Modified:
  head/devel/heaptrack/Makefile

Modified: head/devel/heaptrack/Makefile
==============================================================================
--- head/devel/heaptrack/Makefile	Thu Feb 18 21:30:13 2021	(r565994)
+++ head/devel/heaptrack/Makefile	Thu Feb 18 21:34:30 2021	(r565995)
@@ -3,6 +3,7 @@
 PORTNAME=	heaptrack
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.2.0-43
+PORTREVISION=	1
 CATEGORIES=	devel kde
 
 MAINTAINER=	kde at FreeBSD.org

Added: head/devel/heaptrack/files/patch-src_track_heaptrack__inject.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/heaptrack/files/patch-src_track_heaptrack__inject.cpp	Thu Feb 18 21:34:30 2021	(r565995)
@@ -0,0 +1,21 @@
+--- src/track/heaptrack_inject.cpp.orig        2020-06-01 22:47:27 UTC
++++ src/track/heaptrack_inject.cpp
+@@ -66,8 +66,18 @@ using Dyn = ElfW(Dyn);
+ using Rel = ElfW(Rel);
+ using Rela = ElfW(Rela);
+ using Sym = ElfW(Sym);
++#if __WORDSIZE == 64
+ using Sxword = ElfW(Sxword);
+ using Xword = ElfW(Xword);
++#else
++// FreeBSD elf32.h doesn't define Elf32_Sxword or _Xword. This is used in struct
++// elftable, where it's used as a tag value. Our Elf32_Dyn uses Elf32_Sword there,
++// as does the Linux definition (and the standard); the El64_Dyn uses Sxword.
++//
++// Linux elf.h defines Elf32_Sxword as a 64-bit quantity, so let's do that
++using Sxword = int64_t;
++using Xword = uint64_t;
++#endif
+ }
+ 
+ void overwrite_symbols() noexcept;


More information about the svn-ports-all mailing list