stubdom: fix errors in newlib:cygmon-gmon.c

rpm post-build-checks found a few code bugs in newlib, and marks them as
errors. Add another newlib patch and apply it during stubdom build.

I: A function uses a 'return;' statement, but has actually a value
   to return, like an integer ('return 42;') or similar.
W: xen voidreturn ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:117, 125, 146, 157, 330

I: Program is using implicit definitions of special functions.
   these functions need to use their correct prototypes to allow
   the lightweight buffer overflow checking to work.
     - Implicit memory/string functions need #include <string.h>.
     - Implicit *printf functions need #include <stdio.h>.
     - Implicit *printf functions need #include <stdio.h>.
     - Implicit *read* functions need #include <unistd.h>.
     - Implicit *recv* functions need #include <sys/socket.h>.
E: xen implicit-fortify-decl ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:119

I: Program returns random data in a function
E: xen no-return-in-nonvoid-function ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:362

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
This commit is contained in:
Olaf Hering authored and Andrew Cooper committed 2023-04-26 15:15:30 +01:00
1 parent 2ffa3b2d68
commit 860fb990bd
2 files changed
+61

No files matched your search

+1
View File
@@ -95,6 +95,7 @@ newlib-$(NEWLIB_VERSION): newlib-$(NEWLIB_VERSION).tar.gz
patch -d $@ -p0 < newlib-chk.patch
patch -d $@ -p1 < newlib-stdint-size_max-fix-from-1.17.0.patch
patch -d $@ -p1 < newlib-disable-texinfo.patch
patch -d $@ -p1 < newlib-cygmon-gmon.patch
find $@ -type f | xargs perl -i.bak \
-pe 's/\b_(tzname|daylight|timezone)\b/$$1/g'
touch $@
+60
View File
@@ -0,0 +1,60 @@
I: A function uses a 'return;' statement, but has actually a value
to return, like an integer ('return 42;') or similar.
W: xen voidreturn ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:117, 125, 146, 157, 330
I: Program is using implicit definitions of special functions.
these functions need to use their correct prototypes to allow
the lightweight buffer overflow checking to work.
- Implicit memory/string functions need #include <string.h>.
- Implicit *printf functions need #include <stdio.h>.
- Implicit *printf functions need #include <stdio.h>.
- Implicit *read* functions need #include <unistd.h>.
- Implicit *recv* functions need #include <sys/socket.h>.
E: xen implicit-fortify-decl ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:119
I: Program returns random data in a function
E: xen no-return-in-nonvoid-function ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:362
---
libgloss/i386/cygmon-gmon.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Index: newlib-1.16.0/libgloss/i386/cygmon-gmon.c
===================================================================
--- newlib-1.16.0.orig/libgloss/i386/cygmon-gmon.c
+++ newlib-1.16.0/libgloss/i386/cygmon-gmon.c
@@ -61,6 +61,8 @@
static char sccsid[] = "@(#)gmon.c 5.3 (Berkeley) 5/22/91";
#endif /* not lint */
+#include <string.h>
+#include <unistd.h>
#define DEBUG
#ifdef DEBUG
#include <stdio.h>
@@ -89,7 +91,7 @@ static int s_scale;
extern int errno;
-int
+void
monstartup(lowpc, highpc)
char *lowpc;
char *highpc;
@@ -199,6 +201,7 @@ _mcleanup()
static char already_setup = 0;
+void
_mcount()
{
register char *selfpc;
@@ -341,6 +344,7 @@ overflow:
* profiling is what mcount checks to see if
* all the data structures are ready.
*/
+void
moncontrol(mode)
int mode;
{
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.