qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] Add QEMU_NORETURN to some functions


From: Stefan Weil
Subject: [Qemu-devel] [PATCH] Add QEMU_NORETURN to some functions
Date: Fri, 13 Feb 2009 22:44:08 +0100
User-agent: Mozilla-Thunderbird 2.0.0.19 (X11/20090103)

Hello,

this patch adds the QEMU_NORETURN attribute to several functions.

Regards
Stefan Weil


Add missing QEMU_NORETURN attribute to several functions.
When needed, static is added, too.

Signed-off-by: Stefan Weil <address@hidden>

Index: trunk/bsd-user/qemu.h
===================================================================
--- trunk.orig/bsd-user/qemu.h  2009-02-13 22:33:18.000000000 +0100
+++ trunk/bsd-user/qemu.h       2009-02-13 22:37:52.000000000 +0100
@@ -136,7 +136,7 @@
                             abi_long arg5, abi_long arg6);
 void gemu_log(const char *fmt, ...) __attribute__((format(printf,1,2)));
 extern THREAD CPUState *thread_env;
-void cpu_loop(CPUState *env, enum BSDType bsd_type);
+void QEMU_NORETURN cpu_loop(CPUState *env, enum BSDType bsd_type);
 void init_paths(const char *prefix);
 const char *path(const char *pathname);
 char *target_strerror(int err);
Index: trunk/darwin-user/main.c
===================================================================
--- trunk.orig/darwin-user/main.c       2009-02-13 22:33:18.000000000 +0100
+++ trunk/darwin-user/main.c    2009-02-13 22:37:52.000000000 +0100
@@ -737,7 +737,7 @@
 }
 #endif
 
-void usage(void)
+static void QEMU_NORETURN usage(void)
 {
     printf("qemu-" TARGET_ARCH " version " QEMU_VERSION ", Copyright (c) 
2003-2004 Fabrice Bellard\n"
            "usage: qemu-" TARGET_ARCH " [-h] [-d opts] [-L path] [-s size] 
program [arguments...]\n"
Index: trunk/darwin-user/qemu.h
===================================================================
--- trunk.orig/darwin-user/qemu.h       2009-02-13 22:33:18.000000000 +0100
+++ trunk/darwin-user/qemu.h    2009-02-13 22:37:52.000000000 +0100
@@ -105,7 +105,7 @@
 void write_dt(void *ptr, unsigned long addr, unsigned long limit, int flags);
 
 extern CPUState *global_env;
-void cpu_loop(CPUState *env);
+void QEMU_NORETURN cpu_loop(CPUState *env);
 void init_paths(const char *prefix);
 const char *path(const char *pathname);
 
Index: trunk/exec-all.h
===================================================================
--- trunk.orig/exec-all.h       2009-02-13 22:33:18.000000000 +0100
+++ trunk/exec-all.h    2009-02-13 22:37:52.000000000 +0100
@@ -74,8 +74,8 @@
 int cpu_restore_state_copy(struct TranslationBlock *tb,
                            CPUState *env, unsigned long searched_pc,
                            void *puc);
-void cpu_resume_from_signal(CPUState *env1, void *puc);
-void cpu_io_recompile(CPUState *env, void *retaddr);
+void QEMU_NORETURN cpu_resume_from_signal(CPUState *env1, void *puc);
+void QEMU_NORETURN cpu_io_recompile(CPUState *env, void *retaddr);
 TranslationBlock *tb_gen_code(CPUState *env, 
                               target_ulong pc, target_ulong cs_base, int flags,
                               int cflags);
Index: trunk/hw/bt.c
===================================================================
--- trunk.orig/hw/bt.c  2009-02-13 22:33:18.000000000 +0100
+++ trunk/hw/bt.c       2009-02-13 22:37:52.000000000 +0100
@@ -28,7 +28,7 @@
 }
 
 /* Slaves should never receive these PDUs */
-static void bt_dummy_lmp_connection_complete(struct bt_link_s *link)
+static void QEMU_NORETURN bt_dummy_lmp_connection_complete(struct bt_link_s 
*link)
 {
     if (link->slave->reject_reason)
         fprintf(stderr, "%s: stray LMP_not_accepted received, fixme\n",
@@ -39,13 +39,13 @@
     exit(-1);
 }
 
-static void bt_dummy_lmp_disconnect_master(struct bt_link_s *link)
+static void QEMU_NORETURN bt_dummy_lmp_disconnect_master(struct bt_link_s 
*link)
 {
     fprintf(stderr, "%s: stray LMP_detach received, fixme\n", __FUNCTION__);
     exit(-1);
 }
 
-static void bt_dummy_lmp_acl_resp(struct bt_link_s *link,
+static void QEMU_NORETURN bt_dummy_lmp_acl_resp(struct bt_link_s *link,
                 const uint8_t *data, int start, int len)
 {
     fprintf(stderr, "%s: stray ACL response PDU, fixme\n", __FUNCTION__);
Index: trunk/hw/pxa2xx_dma.c
===================================================================
--- trunk.orig/hw/pxa2xx_dma.c  2009-02-13 22:33:18.000000000 +0100
+++ trunk/hw/pxa2xx_dma.c       2009-02-13 22:37:52.000000000 +0100
@@ -406,13 +406,12 @@
     }
 }
 
-static uint32_t pxa2xx_dma_readbad(void *opaque, target_phys_addr_t offset)
+static uint32_t QEMU_NORETURN pxa2xx_dma_readbad(void *opaque, 
target_phys_addr_t offset)
 {
     cpu_abort(cpu_single_env, "%s: Bad access width\n", __FUNCTION__);
-    return 5;
 }
 
-static void pxa2xx_dma_writebad(void *opaque,
+static void QEMU_NORETURN pxa2xx_dma_writebad(void *opaque,
                  target_phys_addr_t offset, uint32_t value)
 {
     cpu_abort(cpu_single_env, "%s: Bad access width\n", __FUNCTION__);
Index: trunk/linux-user/main.c
===================================================================
--- trunk.orig/linux-user/main.c        2009-02-13 22:33:18.000000000 +0100
+++ trunk/linux-user/main.c     2009-02-13 22:37:53.000000000 +0100
@@ -2178,7 +2178,7 @@
 }
 #endif /* TARGET_ALPHA */
 
-static void usage(void)
+static void QEMU_NORETURN usage(void)
 {
     printf("qemu-" TARGET_ARCH " version " QEMU_VERSION ", Copyright (c) 
2003-2008 Fabrice Bellard\n"
            "usage: qemu-" TARGET_ARCH " [options] program [arguments...]\n"
Index: trunk/linux-user/qemu.h
===================================================================
--- trunk.orig/linux-user/qemu.h        2009-02-13 22:33:18.000000000 +0100
+++ trunk/linux-user/qemu.h     2009-02-13 22:37:53.000000000 +0100
@@ -174,7 +174,7 @@
                     abi_long arg5, abi_long arg6);
 void gemu_log(const char *fmt, ...) __attribute__((format(printf,1,2)));
 extern THREAD CPUState *thread_env;
-void cpu_loop(CPUState *env);
+void QEMU_NORETURN cpu_loop(CPUState *env);
 void init_paths(const char *prefix);
 const char *path(const char *pathname);
 char *target_strerror(int err);
Index: trunk/linux-user/syscall.c
===================================================================
--- trunk.orig/linux-user/syscall.c     2009-02-13 22:33:18.000000000 +0100
+++ trunk/linux-user/syscall.c  2009-02-13 22:37:53.000000000 +0100
@@ -2861,7 +2861,7 @@
     sigset_t sigmask;
 } new_thread_info;
 
-static void *clone_func(void *arg)
+static void * QEMU_NORETURN clone_func(void *arg)
 {
     new_thread_info *info = arg;
     CPUState *env;
@@ -2884,19 +2884,17 @@
     pthread_mutex_unlock(&clone_lock);
     cpu_loop(env);
     /* never exits */
-    return NULL;
 }
 #else
 /* this stack is the equivalent of the kernel stack associated with a
    thread/process */
 #define NEW_STACK_SIZE 8192
 
-static int clone_func(void *arg)
+static int QEMU_NORETURN clone_func(void *arg)
 {
     CPUState *env = arg;
     cpu_loop(env);
     /* never exits */
-    return 0;
 }
 #endif
 
Index: trunk/qemu-img.c
===================================================================
--- trunk.orig/qemu-img.c       2009-02-13 22:33:18.000000000 +0100
+++ trunk/qemu-img.c    2009-02-13 22:37:53.000000000 +0100
@@ -51,7 +51,7 @@
 }
 
 /* Please keep in synch with qemu-img.texi */
-static void help(void)
+static void QEMU_NORETURN help(void)
 {
     printf("qemu-img version " QEMU_VERSION ", Copyright (c) 2004-2008 Fabrice 
Bellard\n"
            "usage: qemu-img command [command options]\n"
Index: trunk/tap-win32.c
===================================================================
--- trunk.orig/tap-win32.c      2009-02-13 22:33:18.000000000 +0100
+++ trunk/tap-win32.c   2009-02-13 22:37:53.000000000 +0100
@@ -487,7 +487,7 @@
     return 0;
 }
 
-static DWORD WINAPI tap_win32_thread_entry(LPVOID param)
+static DWORD WINAPI QEMU_NORETURN tap_win32_thread_entry(LPVOID param)
 {
     tap_win32_overlapped_t *overlapped = (tap_win32_overlapped_t*)param;
     unsigned long read_size;
@@ -538,8 +538,6 @@
             buffer = get_buffer_from_free_list(overlapped);
         }
     }
-
-    return 0;
 }
 
 static int tap_win32_read(tap_win32_overlapped_t *overlapped,
Index: trunk/target-arm/exec.h
===================================================================
--- trunk.orig/target-arm/exec.h        2009-02-13 22:33:18.000000000 +0100
+++ trunk/target-arm/exec.h     2009-02-13 22:37:53.000000000 +0100
@@ -55,4 +55,4 @@
 #include "softmmu_exec.h"
 #endif
 
-void raise_exception(int);
+void QEMU_NORETURN raise_exception(int);
Index: trunk/target-arm/op_helper.c
===================================================================
--- trunk.orig/target-arm/op_helper.c   2009-02-13 22:33:18.000000000 +0100
+++ trunk/target-arm/op_helper.c        2009-02-13 22:37:53.000000000 +0100
@@ -245,14 +245,14 @@
     return res;
 }
 
-void HELPER(wfi)(void)
+void QEMU_NORETURN HELPER(wfi)(void)
 {
     env->exception_index = EXCP_HLT;
     env->halted = 1;
     cpu_loop_exit();
 }
 
-void HELPER(exception)(uint32_t excp)
+void QEMU_NORETURN HELPER(exception)(uint32_t excp)
 {
     env->exception_index = excp;
     cpu_loop_exit();
Index: trunk/target-i386/op_helper.c
===================================================================
--- trunk.orig/target-i386/op_helper.c  2009-02-13 22:33:18.000000000 +0100
+++ trunk/target-i386/op_helper.c       2009-02-13 22:37:53.000000000 +0100
@@ -1005,7 +1005,7 @@
 
 #ifdef TARGET_X86_64
 #if defined(CONFIG_USER_ONLY)
-void helper_syscall(int next_eip_addend)
+void QEMU_NORETURN helper_syscall(int next_eip_addend)
 {
     env->exception_index = EXCP_SYSCALL;
     env->exception_next_eip = env->eip + next_eip_addend;
@@ -1898,7 +1898,7 @@
 }
 #endif
 
-void helper_single_step(void)
+void QEMU_NORETURN helper_single_step(void)
 {
 #ifndef CONFIG_USER_ONLY
     check_hw_breakpoints(env, 1);
@@ -2975,7 +2975,7 @@
     EDX = (uint32_t)(val >> 32);
 }
 
-void helper_rdpmc(void)
+void QEMU_NORETURN helper_rdpmc(void)
 {
     if ((env->cr[4] & CR4_PCE_MASK) && ((env->hflags & HF_CPL_MASK) != 0)) {
         raise_exception(EXCP0D_GPF);
@@ -4612,7 +4612,7 @@
 }
 #endif
 
-static void do_hlt(void)
+static QEMU_NORETURN void do_hlt(void)
 {
     env->hflags &= ~HF_INHIBIT_IRQ_MASK; /* needed if sti is just before */
     env->halted = 1;
@@ -4620,7 +4620,7 @@
     cpu_loop_exit();
 }
 
-void helper_hlt(int next_eip_addend)
+void QEMU_NORETURN helper_hlt(int next_eip_addend)
 {
     helper_svm_check_intercept_param(SVM_EXIT_HLT, 0);
     EIP += next_eip_addend;
@@ -4652,18 +4652,18 @@
     }
 }
 
-void helper_debug(void)
+void QEMU_NORETURN helper_debug(void)
 {
     env->exception_index = EXCP_DEBUG;
     cpu_loop_exit();
 }
 
-void helper_raise_interrupt(int intno, int next_eip_addend)
+void QEMU_NORETURN helper_raise_interrupt(int intno, int next_eip_addend)
 {
     raise_interrupt(intno, 1, 0, next_eip_addend);
 }
 
-void helper_raise_exception(int exception_index)
+void QEMU_NORETURN helper_raise_exception(int exception_index)
 {
     raise_exception(exception_index);
 }
@@ -5036,7 +5036,7 @@
     }
 }
 
-void helper_vmmcall(void)
+void QEMU_NORETURN helper_vmmcall(void)
 {
     helper_svm_check_intercept_param(SVM_EXIT_VMMCALL, 0);
     raise_exception(EXCP06_ILLOP);
@@ -5124,7 +5124,7 @@
     env->hflags2 &= ~HF2_GIF_MASK;
 }
 
-void helper_skinit(void)
+void QEMU_NORETURN helper_skinit(void)
 {
     helper_svm_check_intercept_param(SVM_EXIT_SKINIT, 0);
     /* XXX: not implemented */
@@ -5231,7 +5231,7 @@
 }
 
 /* Note: currently only 32 bits of exit_code are used */
-void helper_vmexit(uint32_t exit_code, uint64_t exit_info_1)
+void QEMU_NORETURN helper_vmexit(uint32_t exit_code, uint64_t exit_info_1)
 {
     uint32_t int_ctl;
 
Index: trunk/target-mips/op_helper.c
===================================================================
--- trunk.orig/target-mips/op_helper.c  2009-02-13 22:33:18.000000000 +0100
+++ trunk/target-mips/op_helper.c       2009-02-13 22:37:53.000000000 +0100
@@ -26,7 +26,7 @@
 /*****************************************************************************/
 /* Exceptions processing helpers */
 
-void do_raise_exception_err (uint32_t exception, int error_code)
+void QEMU_NORETURN do_raise_exception_err (uint32_t exception, int error_code)
 {
 #if 1
     if (exception < 0x100)
@@ -37,7 +37,7 @@
     cpu_loop_exit();
 }
 
-void do_raise_exception (uint32_t exception)
+void QEMU_NORETURN do_raise_exception (uint32_t exception)
 {
     do_raise_exception_err(exception, 0);
 }
@@ -1830,7 +1830,7 @@
     }
 }
 
-void do_wait (void)
+void QEMU_NORETURN do_wait (void)
 {
     env->halted = 1;
     do_raise_exception(EXCP_HLT);
@@ -1855,7 +1855,8 @@
 #define SHIFT 3
 #include "softmmu_template.h"
 
-static void do_unaligned_access (target_ulong addr, int is_write, int is_user, 
void *retaddr)
+static void QEMU_NORETURN do_unaligned_access (target_ulong addr, int is_write,
+                                               int is_user, void *retaddr)
 {
     env->CP0_BadVAddr = addr;
     do_restore_state (retaddr);
@@ -1890,8 +1891,8 @@
     env = saved_env;
 }
 
-void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec,
-                          int unused, int size)
+void QEMU_NORETURN do_unassigned_access(target_phys_addr_t addr, int is_write,
+                                        int is_exec, int unused, int size)
 {
     if (is_exec)
         do_raise_exception(EXCP_IBE);
Index: trunk/target-ppc/op_helper.c
===================================================================
--- trunk.orig/target-ppc/op_helper.c   2009-02-13 22:33:18.000000000 +0100
+++ trunk/target-ppc/op_helper.c        2009-02-13 22:37:53.000000000 +0100
@@ -38,7 +38,7 @@
 /*****************************************************************************/
 /* Exceptions processing helpers */
 
-void helper_raise_exception_err (uint32_t exception, uint32_t error_code)
+void QEMU_NORETURN helper_raise_exception_err (uint32_t exception, uint32_t 
error_code)
 {
 #if 0
     printf("Raise exception %3x code : %d\n", exception, error_code);
@@ -48,7 +48,7 @@
     cpu_loop_exit();
 }
 
-void helper_raise_exception (uint32_t exception)
+void QEMU_NORETURN helper_raise_exception (uint32_t exception)
 {
     helper_raise_exception_err(exception, 0);
 }
Index: trunk/target-sparc/op_helper.c
===================================================================
--- trunk.orig/target-sparc/op_helper.c 2009-02-13 22:33:18.000000000 +0100
+++ trunk/target-sparc/op_helper.c      2009-02-13 22:37:53.000000000 +0100
@@ -49,13 +49,13 @@
 #endif
 }
 
-static void raise_exception(int tt)
+static void QEMU_NORETURN raise_exception(int tt)
 {
     env->exception_index = tt;
     cpu_loop_exit();
 }
 
-void HELPER(raise_exception)(int tt)
+void QEMU_NORETURN HELPER(raise_exception)(int tt)
 {
     raise_exception(tt);
 }
@@ -2514,7 +2514,7 @@
 }
 #endif
 
-void helper_debug(void)
+void QEMU_NORETURN helper_debug(void)
 {
     env->exception_index = EXCP_DEBUG;
     cpu_loop_exit();
@@ -3036,8 +3036,8 @@
     }
 }
 
-static void do_unaligned_access(target_ulong addr, int is_write, int is_user,
-                                void *retaddr)
+static void QEMU_NORETURN do_unaligned_access(target_ulong addr,
+                                int is_write, int is_user, void *retaddr)
 {
 #ifdef DEBUG_UNALIGNED
     printf("Unaligned access to 0x" TARGET_FMT_lx " from 0x" TARGET_FMT_lx
Index: trunk/tests/qruncom.c
===================================================================
--- trunk.orig/tests/qruncom.c  2009-02-13 22:33:18.000000000 +0100
+++ trunk/tests/qruncom.c       2009-02-13 22:37:53.000000000 +0100
@@ -122,7 +122,7 @@
 
 #define COM_BASE_ADDR    0x10100
 
-void usage(void)
+static void QEMU_NORETURN usage(void)
 {
     printf("qruncom version 0.1 (c) 2003 Fabrice Bellard\n"
            "usage: qruncom file.com\n"
Index: trunk/tests/runcom.c
===================================================================
--- trunk.orig/tests/runcom.c   2009-02-13 22:33:18.000000000 +0100
+++ trunk/tests/runcom.c        2009-02-13 22:37:53.000000000 +0100
@@ -25,7 +25,7 @@
 
 #define COM_BASE_ADDR    0x10100
 
-void usage(void)
+static void QEMU_NORETURN usage(void)
 {
     printf("runcom version 0.1 (c) 2003 Fabrice Bellard\n"
            "usage: runcom file.com\n"

reply via email to

[Prev in Thread] Current Thread [Next in Thread]