mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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>
61 lines
1.8 KiB
Diff
61 lines
1.8 KiB
Diff
|
|
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;
|
|
{
|