Parcourir la source

syscalls: fix arguments and return type for _raise_r

ROM code still uses incorrect function signature.

Closes https://github.com/espressif/esp-idf/issues/2245.
Ivan Grokhotkov il y a 7 ans
Parent
commit
1fdbbec13a
2 fichiers modifiés avec 2 ajouts et 2 suppressions
  1. 1 1
      components/esp32/include/rom/libc_stubs.h
  2. 1 1
      components/newlib/syscalls.c

+ 1 - 1
components/esp32/include/rom/libc_stubs.h

@@ -51,7 +51,7 @@ struct syscall_stub_table
     int (*_rename_r)(struct _reent *r, const char*, const char*);
     clock_t (*_times_r)(struct _reent *r, struct tms *);
     int (*_gettimeofday_r) (struct _reent *r, struct timeval *, void *);
-    void (*_raise_r)(struct _reent *r);
+    void (*_raise_r)(struct _reent *r); /* function signature is incorrect in ROM */
     int (*_unlink_r)(struct _reent *r, const char*);
     int (*_link_r)(struct _reent *r, const char*, const char*);
     int (*_stat_r)(struct _reent *r, const char*, struct stat *);

+ 1 - 1
components/newlib/syscalls.c

@@ -68,7 +68,7 @@ int _system_r(struct _reent *r, const char *str)
     return -1;
 }
 
-void _raise_r(struct _reent *r)
+int _raise_r(struct _reent *r, int sig)
 {
     abort();
 }