sys-power/thermald: fix build failure on newer gcc
authorRick Farina <zerochaos@gentoo.org>
Tue, 22 Oct 2019 02:30:24 +0000 (22:30 -0400)
committerRick Farina <zerochaos@gentoo.org>
Tue, 22 Oct 2019 02:30:39 +0000 (22:30 -0400)
Package-Manager: Portage-2.3.77, Repoman-2.3.17
Signed-off-by: Rick Farina <zerochaos@gentoo.org>
sys-power/thermald/files/thermald-1.9-size_t-format.patch [new file with mode: 0644]
sys-power/thermald/thermald-1.9.ebuild

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 (file)
index 0000000..324b3b9
--- /dev/null
@@ -0,0 +1,44 @@
+From dcdaf523393a6e7c07b5a510c573223722b0289b Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+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 <anuj.mittal@intel.com>
+---
+ 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");
index 33bfe3ff73b1ef5699c6f8359d5b348dd06110b6..9eb5e8b9249428d4162d2d3b62ac2365e3f6c673 100644 (file)
@@ -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
 }