public inbox for newlib-cvs@sourceware.org help / color / mirror / Atom feed
From: Hans-Peter Nilsson <hp@sourceware.org> To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] libgloss/cris: Make C declarations present and match them Date: Wed, 6 Dec 2023 17:47:52 +0000 (GMT) [thread overview] Message-ID: <20231206174752.9F57E3857C7C@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=7cce4cdd6e53abb1e89a871fc7511f0d8563d483 commit 7cce4cdd6e53abb1e89a871fc7511f0d8563d483 Author: Hans-Peter Nilsson <hp@axis.com> Date: Mon Dec 4 18:00:26 2023 +0100 libgloss/cris: Make C declarations present and match them This is the libgloss part. Recently, there was a change in gcc such that implicit function declarations and type mismatches are now errors, no longer just warnings. Fix by adding and correcting declarations warned about; including the right header or adding a declaration (for "main" in lcrt0.c) and adjust to those types as necessary. Diff: --- libgloss/cris/gensyscalls | 15 ++++++++------- libgloss/cris/lcrt0.c | 4 +++- libgloss/cris/linunistd.h | 7 +++++-- libgloss/cris/outbyte.c | 2 +- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/libgloss/cris/gensyscalls b/libgloss/cris/gensyscalls index c36f28488..0b5b0731a 100644 --- a/libgloss/cris/gensyscalls +++ b/libgloss/cris/gensyscalls @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2005, 2018 Axis Communications. +# Copyright (C) 2005, 2018, 2023 Axis Communications. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -40,13 +40,14 @@ lu='/* -*- buffer-read-only: t -*- #define R(x) return (x); } ' lui="$lu int" +lul="$lu long int" r=") { R (_Sys_" cat > close.c <<EOF $lui _close (int fd${r}close (fd)) EOF cat > execve.c <<EOF -$lui _execve (char *path, char **argv, char **env${r}execve (path, argv, env)) +$lui _execve (const char *path, char * const *argv, char *const *env${r}execve (path, argv, env)) EOF cat > exit.c <<EOF $lu void _exit (int val) { _Sys_exit (val); /* Appease GCC: */ while (1) ; } @@ -141,13 +142,13 @@ cat > link.c <<EOF $lui _link (const char *old, const char *new${r}link (old, new)) EOF cat > lseek.c <<EOF -$lui _lseek (int fd, int offset, int whence${r}lseek (fd, offset, whence)) +$lul _lseek (int fd, long int offset, int whence${r}lseek (fd, offset, whence)) EOF cat > open.c <<EOF $lui _open (const char *fnam, int flags, int mode${r}open (fnam, flags, mode)) EOF cat > read.c <<EOF -$lui _read (int fd, char *buf, int nbytes${r}read (fd, buf, nbytes)) +$lui _read (int fd, void *buf, unsigned long int nbytes${r}read (fd, buf, nbytes)) EOF cat > rename.c <<EOF $lui _rename (const char *old, const char *new${r}rename (old, new)) @@ -158,8 +159,8 @@ $lu #define PROT_READ 0x1 /* page can be read */ #define PROT_WRITE 0x2 /* page can be written */ #define MAP_ANONYMOUS 0x20 /* don't use a file */ -char * -_sbrk (int d) +void * +_sbrk (long int d) { static long last_alloc = 0; @@ -260,6 +261,6 @@ cat > wait.c <<EOF $lui _wait (int *status${r}wait4 (_getpid(), status, 0, 0)) EOF cat > write.c <<EOF -$lui _write (int fd, char *buf, int nbytes${r}write (fd, buf, nbytes)) +$lui _write (int fd, const void *buf, unsigned long int nbytes${r}write (fd, buf, nbytes)) EOF exit 0 diff --git a/libgloss/cris/lcrt0.c b/libgloss/cris/lcrt0.c index 48489edd3..0aae3c279 100644 --- a/libgloss/cris/lcrt0.c +++ b/libgloss/cris/lcrt0.c @@ -1,5 +1,5 @@ /* Support for cris*-axis-linux-gnu and src/sim/cris simulator. - Copyright (C) 2000-2005, 2017 Axis Communications. + Copyright (C) 2000-2005, 2017, 2023 Axis Communications. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -28,6 +28,7 @@ #include "linunistd.h" #include "newlib.h" +#include <stdlib.h> #ifdef _HAVE_INITFINI_ARRAY #define _init __libc_init_array @@ -99,6 +100,7 @@ extern void _Libdtors (void); extern void __init__start (void) __attribute ((weak)); extern void __aout__ctors (void) __attribute ((weak)); +extern int main (int argc, char **argv, char **env); static void start1 () __asm__ ("__start1") __attribute ((__used__)); static void diff --git a/libgloss/cris/linunistd.h b/libgloss/cris/linunistd.h index 3a6f318a3..b627670f5 100644 --- a/libgloss/cris/linunistd.h +++ b/libgloss/cris/linunistd.h @@ -1,5 +1,5 @@ /* Support for syscalls for cris*-axis-linux-gnu and simulators - Copyright (C) 1998-2005, 2018 Axis Communications. + Copyright (C) 1998-2005, 2018, 2023 Axis Communications. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -32,10 +32,13 @@ #ifndef _ASM_ELINUX_UNISTD_H_ #define _ASM_ELINUX_UNISTD_H_ +#define _LIBC + /* Our callers might want to use link_warning, so provide it from here. */ #include "../config.h" #include "libnosys/warning.h" +#include <unistd.h> #include <errno.h> /* @@ -357,7 +360,7 @@ static inline _syscall0(int,setup) static inline _syscall0(int,sync) static inline _syscall3(int,write,int,fd,const char *,buf,unsigned,count) static inline _syscall1(int,dup,int,fd) -static inline _syscall3(int,execve,const char *,file,char **,argv,char **,envp) +static inline _syscall3(int,execve,const char *,file,char *const *,argv,char *const *,envp) static inline _syscall3(int,open,const char *,file,int,flag,int,mode) static inline _syscall1(int,close,int,fd) static inline _syscall1(int,_exit,int,exitcode) diff --git a/libgloss/cris/outbyte.c b/libgloss/cris/outbyte.c index 1cb686b96..210339f8e 100644 --- a/libgloss/cris/outbyte.c +++ b/libgloss/cris/outbyte.c @@ -1,7 +1,7 @@ /* Low-level kind-of-support for CRIS. Mostly used as a placeholder function. Too small and obvious to warrant a copyright notice. */ -#include <stdio.h> +#include <unistd.h> void outbyte (int ch) {
reply other threads:[~2023-12-06 17:47 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20231206174752.9F57E3857C7C@sourceware.org \ --to=hp@sourceware.org \ --cc=newlib-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).