diff mbox series

[v2,1/1] package/htop: add patch for fixing build with gcc 10

Message ID 20200807102223.1595194-1-fido_max@inbox.ru
State Changes Requested
Headers show
Series [v2,1/1] package/htop: add patch for fixing build with gcc 10 | expand

Commit Message

Maxim Kochetkov Aug. 7, 2020, 10:22 a.m. UTC
Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 package/htop/gcc-10.patch | 170 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 170 insertions(+)
 create mode 100644 package/htop/gcc-10.patch

Comments

Thomas Petazzoni Aug. 7, 2020, 11:58 a.m. UTC | #1
On Fri,  7 Aug 2020 13:22:23 +0300
Maxim Kochetkov <fido_max@inbox.ru> wrote:

> Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

No, you can't add my Reviewed-by like this, I have never given my
Reviewed-by. You can add such tags from others if they have explicitly
been given by those other contributors.

> diff --git a/package/htop/gcc-10.patch b/package/htop/gcc-10.patch
> new file mode 100644
> index 0000000000..1e2ecebb29
> --- /dev/null
> +++ b/package/htop/gcc-10.patch

It seems like you generated the patch with git format-patch, so please
use the patch naming from git format-patch, which looks like
0001-<title-of-the-commit>.patch.

> @@ -0,0 +1,170 @@
> +From dfd9279f87791e36a5212726781c31fbe7110361 Mon Sep 17 00:00:00 2001
> +From: Nathan Scott <nathans@redhat.com>
> +Date: Fri, 10 Jul 2020 10:35:32 +1000
> +Subject: [PATCH] Resolve complation issues with -fno-common (default from
> + gcc-10)
> +
> +Extends the MakeHeader script to auto-generate correct "extern"
> +function declarations in some cases that it currently does not.
> +
> +Related to https://github.com/hishamhm/htop/pull/981

We need your Signed-off-by line here + a reference to where this comes
from. See
https://buildroot.org/downloads/manual/manual.html#_format_and_licensing_of_the_package_patches

Thanks!

Thomas
diff mbox series

Patch

diff --git a/package/htop/gcc-10.patch b/package/htop/gcc-10.patch
new file mode 100644
index 0000000000..1e2ecebb29
--- /dev/null
+++ b/package/htop/gcc-10.patch
@@ -0,0 +1,170 @@ 
+From dfd9279f87791e36a5212726781c31fbe7110361 Mon Sep 17 00:00:00 2001
+From: Nathan Scott <nathans@redhat.com>
+Date: Fri, 10 Jul 2020 10:35:32 +1000
+Subject: [PATCH] Resolve complation issues with -fno-common (default from
+ gcc-10)
+
+Extends the MakeHeader script to auto-generate correct "extern"
+function declarations in some cases that it currently does not.
+
+Related to https://github.com/hishamhm/htop/pull/981
+---
+ CRT.c                 |  4 ++--
+ CRT.h                 | 28 ++++++++++++++--------------
+ linux/LinuxProcess.c  |  3 ++-
+ linux/LinuxProcess.h  | 19 ++++++++++---------
+ scripts/MakeHeader.py |  4 +++-
+ 5 files changed, 31 insertions(+), 27 deletions(-)
+
+diff --git a/CRT.c b/CRT.c
+index ca9a10dd..088cd1a4 100644
+--- a/CRT.c
++++ b/CRT.c
+@@ -131,9 +131,9 @@ typedef enum ColorElements_ {
+    LAST_COLORELEMENT
+ } ColorElements;
+ 
+-void CRT_fatalError(const char* note) __attribute__ ((noreturn));
++extern void CRT_fatalError(const char* note) __attribute__ ((noreturn));
+ 
+-void CRT_handleSIGSEGV(int sgn);
++extern void CRT_handleSIGSEGV(int sgn);
+ 
+ #define KEY_ALT(x) (KEY_F(64 - 26) + (x - 'A'))
+ 
+diff --git a/CRT.h b/CRT.h
+index 933fe068..bc3fb8b7 100644
+--- a/CRT.h
++++ b/CRT.h
+@@ -119,9 +119,9 @@ typedef enum ColorElements_ {
+    LAST_COLORELEMENT
+ } ColorElements;
+ 
+-void CRT_fatalError(const char* note) __attribute__ ((noreturn));
++extern void CRT_fatalError(const char* note) __attribute__ ((noreturn));
+ 
+-void CRT_handleSIGSEGV(int sgn);
++extern void CRT_handleSIGSEGV(int sgn);
+ 
+ #define KEY_ALT(x) (KEY_F(64 - 26) + (x - 'A'))
+ 
+@@ -140,7 +140,7 @@ extern const char **CRT_treeStr;
+ 
+ extern int CRT_delay;
+ 
+-int* CRT_colors;
++extern int* CRT_colors;
+ 
+ extern int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT];
+ 
+@@ -150,21 +150,21 @@ extern int CRT_scrollHAmount;
+ 
+ extern int CRT_scrollWheelVAmount;
+ 
+-char* CRT_termType;
++extern char* CRT_termType;
+ 
+ // TODO move color scheme to Settings, perhaps?
+ 
+ extern int CRT_colorScheme;
+ 
+-void *backtraceArray[128];
++extern void *backtraceArray[128];
+ 
+ #if HAVE_SETUID_ENABLED
+ 
+ #define DIE(msg) do { CRT_done(); fprintf(stderr, msg); exit(1); } while(0)
+ 
+-void CRT_dropPrivileges();
++extern void CRT_dropPrivileges();
+ 
+-void CRT_restorePrivileges();
++extern void CRT_restorePrivileges();
+ 
+ #else
+ 
+@@ -179,18 +179,18 @@ void CRT_restorePrivileges();
+ 
+ // TODO: pass an instance of Settings instead.
+ 
+-void CRT_init(int delay, int colorScheme);
++extern void CRT_init(int delay, int colorScheme);
+ 
+-void CRT_done();
++extern void CRT_done();
+ 
+-void CRT_fatalError(const char* note);
++extern void CRT_fatalError(const char* note);
+ 
+-int CRT_readKey();
++extern int CRT_readKey();
+ 
+-void CRT_disableDelay();
++extern void CRT_disableDelay();
+ 
+-void CRT_enableDelay();
++extern void CRT_enableDelay();
+ 
+-void CRT_setColors(int colorScheme);
++extern void CRT_setColors(int colorScheme);
+ 
+ #endif
+
+diff --git a/linux/LinuxProcess.h b/linux/LinuxProcess.h
+index 6ce3037d..586aa717 100644
+--- a/linux/LinuxProcess.h
++++ b/linux/LinuxProcess.h
+@@ -152,9 +153,9 @@ extern ProcessPidColumn Process_pidColumns[];
+ 
+ extern ProcessClass LinuxProcess_class;
+ 
+-LinuxProcess* LinuxProcess_new(Settings* settings);
++extern LinuxProcess* LinuxProcess_new(Settings* settings);
+ 
+-void Process_delete(Object* cast);
++extern void Process_delete(Object* cast);
+ 
+ /*
+ [1] Note that before kernel 2.6.26 a process that has not asked for
+@@ -166,19 +167,19 @@ extern io_priority;
+ */
+ #define LinuxProcess_effectiveIOPriority(p_) (IOPriority_class(p_->ioPriority) == IOPRIO_CLASS_NONE ? IOPriority_tuple(IOPRIO_CLASS_BE, (p_->super.nice + 20) / 5) : p_->ioPriority)
+ 
+-IOPriority LinuxProcess_updateIOPriority(LinuxProcess* this);
++extern IOPriority LinuxProcess_updateIOPriority(LinuxProcess* this);
+ 
+-bool LinuxProcess_setIOPriority(LinuxProcess* this, IOPriority ioprio);
++extern bool LinuxProcess_setIOPriority(LinuxProcess* this, IOPriority ioprio);
+ 
+ #ifdef HAVE_DELAYACCT
+-void LinuxProcess_printDelay(float delay_percent, char* buffer, int n);
++extern void LinuxProcess_printDelay(float delay_percent, char* buffer, int n);
+ #endif
+ 
+-void LinuxProcess_writeField(Process* this, RichString* str, ProcessField field);
++extern void LinuxProcess_writeField(Process* this, RichString* str, ProcessField field);
+ 
+-long LinuxProcess_compare(const void* v1, const void* v2);
++extern long LinuxProcess_compare(const void* v1, const void* v2);
+ 
+-bool Process_isThread(Process* this);
++extern bool Process_isThread(Process* this);
+ 
+ 
+ #endif
+diff --git a/scripts/MakeHeader.py b/scripts/MakeHeader.py
+index 349531b8..3ef34b88 100755
+--- a/scripts/MakeHeader.py
++++ b/scripts/MakeHeader.py
+@@ -54,8 +54,10 @@
+          elif line.startswith("typedef struct"):
+             state = SKIP
+          elif line[-1] == "{":
+-            out.write( line[:-2].replace("inline", "extern") + ";\n" )
++            out.write("extern " + line[:-2].replace("inline ", "") + ";\n")
+             state = SKIP
++         elif line[-1] == ";":
++            out.write("extern " + line + "\n")
+          else:
+             out.write( line + "\n")
+          is_blank = False