commit:     0f6dddd1d0f658bf6c4331382eec0d02f66192b2
Author:     Rick Farina <zerochaos <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 22 02:30:24 2019 +0000
Commit:     Rick Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Tue Oct 22 02:30:39 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f6dddd1

sys-power/thermald: fix build failure on newer gcc

Package-Manager: Portage-2.3.77, Repoman-2.3.17
Signed-off-by: Rick Farina <zerochaos <AT> gentoo.org>

 .../files/thermald-1.9-size_t-format.patch         | 44 ++++++++++++++++++++++
 sys-power/thermald/thermald-1.9.ebuild             |  1 +
 2 files changed, 45 insertions(+)

diff --git a/sys-power/thermald/files/thermald-1.9-size_t-format.patch 
b/sys-power/thermald/files/thermald-1.9-size_t-format.patch
new file mode 100644
index 00000000000..324b3b97f79
--- /dev/null
+++ b/sys-power/thermald/files/thermald-1.9-size_t-format.patch
@@ -0,0 +1,44 @@
+From dcdaf523393a6e7c07b5a510c573223722b0289b Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <[email protected]>
+Date: Thu, 1 Aug 2019 08:15:52 +0800
+Subject: [PATCH] Use correct format specifier for size_t
+
+%zu instead of %lu, otherwise on 32 bit:
+
+| In file included from ../git/src/thd_common.h:27,
+|                  from ../git/src/thd_zone.h:30,
+|                  from ../git/src/thd_zone.cpp:34:
+| ../git/src/thd_zone.cpp: In member function 'void 
cthd_zone::update_highest_trip_temp(cthd_trip_point&)':
+| ../git/src/thd_zone.cpp:322:16: error: format '%lu' expects argument of type 
'long unsigned int', but argument 4 has type 
'std::vector<cthd_trip_point>::size_type' {aka 'unsigned int'} [-Werror=format=]
+|   322 |   thd_log_info("trip_points.size():%lu\n", trip_points.size());
+|       |                ^~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~
+|       |                                                            |
+|       |                                                            
std::vector<cthd_trip_point>::size_type {aka unsigned int}
+| ../git/src/thermald.h:82:57: note: in definition of macro 'thd_log_info'
+|    82 | #define thd_log_info(...) g_log(NULL, G_LOG_LEVEL_INFO, __VA_ARGS__)
+|       |                                                         ^~~~~~~~~~~
+| ../git/src/thd_zone.cpp:322:38: note: format string is defined here
+|   322 |   thd_log_info("trip_points.size():%lu\n", trip_points.size());
+|       |                                    ~~^
+|       |                                      |
+|       |                                      long unsigned int
+|       |                                    %u
+
+Signed-off-by: Anuj Mittal <[email protected]>
+---
+ src/thd_zone.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/thd_zone.cpp b/src/thd_zone.cpp
+index dd485d9..eb81d61 100644
+--- a/src/thd_zone.cpp
++++ b/src/thd_zone.cpp
+@@ -319,7 +319,7 @@ void cthd_zone::add_trip(cthd_trip_point &trip) {
+ void cthd_zone::update_highest_trip_temp(cthd_trip_point &trip)
+ {
+       if (trip_points.size()) {
+-              thd_log_info("trip_points.size():%lu\n", trip_points.size());
++              thd_log_info("trip_points.size():%zu\n", trip_points.size());
+               for (unsigned int j = trip_points.size() - 1;; --j) {
+                       if (trip_points[j].get_trip_type() == 
trip.get_trip_type()) {
+                               thd_log_info("updating existing trip temp \n");

diff --git a/sys-power/thermald/thermald-1.9.ebuild 
b/sys-power/thermald/thermald-1.9.ebuild
index 33bfe3ff73b..9eb5e8b9249 100644
--- a/sys-power/thermald/thermald-1.9.ebuild
+++ b/sys-power/thermald/thermald-1.9.ebuild
@@ -26,6 +26,7 @@ S=${WORKDIR}/thermal_daemon-${PV}
 DOCS=( thermal_daemon_usage.txt README.txt )
 
 src_prepare() {
+       eapply "${FILESDIR}/${P}-size_t-format.patch"
        default
        eautoreconf
 }

Reply via email to