Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Feb 2021 21:34:31 +0000 (UTC)
From:      Adriaan de Groot <adridg@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r565995 - in head/devel/heaptrack: . files
Message-ID:  <202102182134.11ILYVJf033296@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202102182134.11ILYVJf033296>