Fix some warnings that would be generated by gcc -Wredundant-decls

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5115 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/block.c b/block.c
index d02b705..db8244c 100644
--- a/block.c
+++ b/block.c
@@ -56,7 +56,6 @@
 static int bdrv_write_em(BlockDriverState *bs, int64_t sector_num,
                          const uint8_t *buf, int nb_sectors);
 
-BlockDriverState *bdrv_first;
 static BlockDriver *first_drv;
 
 int path_is_absolute(const char *path)
diff --git a/exec-all.h b/exec-all.h
index be629a5..c5009dc 100644
--- a/exec-all.h
+++ b/exec-all.h
@@ -57,8 +57,7 @@
 typedef void (GenOpFunc2)(long, long);
 typedef void (GenOpFunc3)(long, long, long);
 
-extern FILE *logfile;
-extern int loglevel;
+#include "qemu-log.h"
 
 void gen_intermediate_code(CPUState *env, struct TranslationBlock *tb);
 void gen_intermediate_code_pc(CPUState *env, struct TranslationBlock *tb);
@@ -290,6 +289,8 @@
 void tlb_fill(target_ulong addr, int is_write, int mmu_idx,
               void *retaddr);
 
+#include "softmmu_defs.h"
+
 #define ACCESS_TYPE (NB_MMU_MODES + 1)
 #define MEMSUFFIX _code
 #define env cpu_single_env
diff --git a/hw/arm-misc.h b/hw/arm-misc.h
index 3660772..f118edb 100644
--- a/hw/arm-misc.h
+++ b/hw/arm-misc.h
@@ -34,6 +34,9 @@
 void arm_load_kernel(CPUState *env, struct arm_boot_info *info);
 
 /* armv7m_nvic.c */
+
+/* Multiplication factor to convert from system clock ticks to qemu timer
+   ticks.  */
 int system_clock_scale;
 qemu_irq *armv7m_nvic_init(CPUState *env);
 
diff --git a/hw/armv7m_nvic.c b/hw/armv7m_nvic.c
index 26e4c2f..c55c958 100644
--- a/hw/armv7m_nvic.c
+++ b/hw/armv7m_nvic.c
@@ -50,10 +50,6 @@
 #define SYSTICK_CLKSOURCE (1 << 2)
 #define SYSTICK_COUNTFLAG (1 << 16)
 
-/* Multiplication factor to convert from system clock ticks to qemu timer
-   ticks.  */
-int system_clock_scale;
-
 /* Conversion factor from qemu timer to SysTick frequencies.  */
 static inline int64_t systick_scale(nvic_state *s)
 {
diff --git a/hw/isa.h b/hw/isa.h
index 89b3004..222e4f3 100644
--- a/hw/isa.h
+++ b/hw/isa.h
@@ -1,3 +1,5 @@
+#ifndef HW_ISA_H
+#define HW_ISA_H
 /* ISA bus */
 
 extern target_phys_addr_t isa_mem_base;
@@ -22,3 +24,4 @@
 void DMA_register_channel (int nchan,
                            DMA_transfer_handler transfer_handler,
                            void *opaque);
+#endif
diff --git a/hw/usb.h b/hw/usb.h
index 55b7e58..997e69f 100644
--- a/hw/usb.h
+++ b/hw/usb.h
@@ -235,8 +235,6 @@
 int set_usb_string(uint8_t *buf, const char *str);
 void usb_send_msg(USBDevice *dev, int msg);
 
-void usb_packet_complete(USBPacket *p);
-
 /* usb hub */
 USBDevice *usb_hub_init(int nb_ports);
 
diff --git a/linux-user/arm/nwfpe/fpa11_cprt.c b/linux-user/arm/nwfpe/fpa11_cprt.c
index 04eae8c..fafa120 100644
--- a/linux-user/arm/nwfpe/fpa11_cprt.c
+++ b/linux-user/arm/nwfpe/fpa11_cprt.c
@@ -27,8 +27,6 @@
 //#include "fpmodule.h"
 //#include "fpmodule.inl"
 
-void SetRoundingMode(const unsigned int opcode);
-
 unsigned int PerformFLT(const unsigned int opcode);
 unsigned int PerformFIX(const unsigned int opcode);
 
diff --git a/linux-user/arm/syscall.h b/linux-user/arm/syscall.h
index f06da76..003d424 100644
--- a/linux-user/arm/syscall.h
+++ b/linux-user/arm/syscall.h
@@ -40,5 +40,3 @@
 #else
 #define UNAME_MACHINE "armv5tel"
 #endif
-
-uint32_t do_arm_semihosting(CPUState *);
diff --git a/linux-user/m68k/syscall.h b/linux-user/m68k/syscall.h
index 47cc66b..2fd85dd 100644
--- a/linux-user/m68k/syscall.h
+++ b/linux-user/m68k/syscall.h
@@ -18,5 +18,4 @@
 
 #define UNAME_MACHINE "m68k"
 
-void do_m68k_semihosting(CPUState *, int);
 void do_m68k_simcall(CPUState *, int);
diff --git a/linux-user/main.c b/linux-user/main.c
index 32f5455..cca696c 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -477,9 +477,6 @@
 
 #ifdef TARGET_ARM
 
-/* XXX: find a better solution */
-extern void tb_invalidate_page_range(abi_ulong start, abi_ulong end);
-
 static void arm_cache_flush(abi_ulong start, abi_ulong last)
 {
     abi_ulong addr, last1;
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index d3a3c3c..a12cc9b 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -199,8 +199,7 @@
 void fork_start(void);
 void fork_end(int child);
 
-extern int loglevel;
-extern FILE *logfile;
+#include "qemu-log.h"
 
 /* strace.c */
 void print_syscall(int num,
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 741ebd6..eba2c02 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -269,10 +269,6 @@
 extern int flock(int, int);
 extern int setfsuid(int);
 extern int setfsgid(int);
-extern int setresuid(uid_t, uid_t, uid_t);
-extern int getresuid(uid_t *, uid_t *, uid_t *);
-extern int setresgid(gid_t, gid_t, gid_t);
-extern int getresgid(gid_t *, gid_t *, gid_t *);
 extern int setgroups(int, gid_t *);
 
 #define ERRNO_TABLE_SIZE 1200
diff --git a/monitor.c b/monitor.c
index e71f49e..43b188a 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2687,8 +2687,6 @@
         readline_handle_byte(buf[i]);
 }
 
-static void monitor_start_input(void);
-
 static void monitor_handle_command1(void *opaque, const char *cmdline)
 {
     monitor_handle_command(cmdline);
diff --git a/qemu-log.h b/qemu-log.h
new file mode 100644
index 0000000..1ebea81
--- /dev/null
+++ b/qemu-log.h
@@ -0,0 +1,7 @@
+#ifndef QEMU_LOG_H
+#define QEMU_LOG_H
+
+extern FILE *logfile;
+extern int loglevel;
+
+#endif
diff --git a/slirp/debug.c b/slirp/debug.c
index 7c8581d..bfef580 100644
--- a/slirp/debug.c
+++ b/slirp/debug.c
@@ -16,8 +16,6 @@
 #endif
 int slirp_debug = 0;
 
-extern char *strerror _P((int));
-
 /* Carry over one item from main.c so that the tty's restored.
  * Only done when the tty being used is /dev/tty --RedWolf */
 #ifndef CONFIG_QEMU
diff --git a/slirp/mbuf.c b/slirp/mbuf.c
index 5d12554..c8797e6 100644
--- a/slirp/mbuf.c
+++ b/slirp/mbuf.c
@@ -28,7 +28,7 @@
  * Find a nice value for msize
  * XXX if_maxlinkhdr already in mtu
  */
-#define MSIZE (IF_MTU + IF_MAXLINKHDR + sizeof(struct m_hdr ) + 6)
+#define SLIRP_MSIZE (IF_MTU + IF_MAXLINKHDR + sizeof(struct m_hdr ) + 6)
 
 void
 m_init()
@@ -54,7 +54,7 @@
 	DEBUG_CALL("m_get");
 
 	if (m_freelist.m_next == &m_freelist) {
-		m = (struct mbuf *)malloc(MSIZE);
+		m = (struct mbuf *)malloc(SLIRP_MSIZE);
 		if (m == NULL) goto end_error;
 		mbuf_alloced++;
 		if (mbuf_alloced > MBUF_THRESH)
@@ -71,7 +71,7 @@
 	m->m_flags = (flags | M_USEDLIST);
 
 	/* Initialise it */
-	m->m_size = MSIZE - sizeof(struct m_hdr);
+	m->m_size = SLIRP_MSIZE - sizeof(struct m_hdr);
 	m->m_data = m->m_dat;
 	m->m_len = 0;
 	m->m_nextpkt = 0;
diff --git a/slirp/misc.h b/slirp/misc.h
index e405e38..f6a4cb0 100644
--- a/slirp/misc.h
+++ b/slirp/misc.h
@@ -17,7 +17,7 @@
 };
 
 extern struct ex_list *exec_list;
-extern u_int curtime, time_fasttimo, last_slowtimo;
+extern u_int time_fasttimo, last_slowtimo;
 
 extern int (*lprint_print) _P((void *, const char *, va_list));
 extern char *lprint_ptr, *lprint_ptr2, **lprint_arg;
diff --git a/slirp/slirp_config.h b/slirp/slirp_config.h
index e7e95dd..dbc8dfd 100644
--- a/slirp/slirp_config.h
+++ b/slirp/slirp_config.h
@@ -128,10 +128,10 @@
 #undef HAVE_SYS_STROPTS_H
 
 /* Define to whatever your compiler thinks inline should be */
-#define inline inline
+//#define inline inline
 
 /* Define to whatever your compiler thinks const should be */
-#define const const
+//#define const const
 
 /* Define if your compiler doesn't like prototypes */
 #undef NO_PROTOTYPES
@@ -170,7 +170,7 @@
 #undef HAVE_SETENV
 
 /* Define if you have index() */
-#undef HAVE_INDEX
+#define HAVE_INDEX
 
 /* Define if you have bcmp() */
 #undef HAVE_BCMP
@@ -182,7 +182,7 @@
 #define HAVE_MEMMOVE
 
 /* Define if you have gethostid */
-#undef HAVE_GETHOSTID
+#define HAVE_GETHOSTID
 
 /* Define if you DON'T have unix-domain sockets */
 #undef NO_UNIX_SOCKETS
diff --git a/slirp/socket.c b/slirp/socket.c
index 75003af..4622409 100644
--- a/slirp/socket.c
+++ b/slirp/socket.c
@@ -8,7 +8,6 @@
 #define WANT_SYS_IOCTL_H
 #include <slirp.h>
 #include "ip_icmp.h"
-#include "main.h"
 #ifdef __sun__
 #include <sys/filio.h>
 #endif
diff --git a/softmmu_defs.h b/softmmu_defs.h
new file mode 100644
index 0000000..e38bb75
--- /dev/null
+++ b/softmmu_defs.h
@@ -0,0 +1,22 @@
+#ifndef SOFTMMU_DEFS_H
+#define SOFTMMU_DEFS_H
+
+uint8_t REGPARM __ldb_mmu(target_ulong addr, int mmu_idx);
+void REGPARM __stb_mmu(target_ulong addr, uint8_t val, int mmu_idx);
+uint16_t REGPARM __ldw_mmu(target_ulong addr, int mmu_idx);
+void REGPARM __stw_mmu(target_ulong addr, uint16_t val, int mmu_idx);
+uint32_t REGPARM __ldl_mmu(target_ulong addr, int mmu_idx);
+void REGPARM __stl_mmu(target_ulong addr, uint32_t val, int mmu_idx);
+uint64_t REGPARM __ldq_mmu(target_ulong addr, int mmu_idx);
+void REGPARM __stq_mmu(target_ulong addr, uint64_t val, int mmu_idx);
+
+uint8_t REGPARM __ldb_cmmu(target_ulong addr, int mmu_idx);
+void REGPARM __stb_cmmu(target_ulong addr, uint8_t val, int mmu_idx);
+uint16_t REGPARM __ldw_cmmu(target_ulong addr, int mmu_idx);
+void REGPARM __stw_cmmu(target_ulong addr, uint16_t val, int mmu_idx);
+uint32_t REGPARM __ldl_cmmu(target_ulong addr, int mmu_idx);
+void REGPARM __stl_cmmu(target_ulong addr, uint32_t val, int mmu_idx);
+uint64_t REGPARM __ldq_cmmu(target_ulong addr, int mmu_idx);
+void REGPARM __stq_cmmu(target_ulong addr, uint64_t val, int mmu_idx);
+
+#endif
diff --git a/softmmu_exec.h b/softmmu_exec.h
index b6e4849..9cc4535 100644
--- a/softmmu_exec.h
+++ b/softmmu_exec.h
@@ -9,6 +9,8 @@
 #define ldul_executive  ldl_executive
 #define ldul_supervisor ldl_supervisor
 
+#include "softmmu_defs.h"
+
 #define ACCESS_TYPE 0
 #define MEMSUFFIX MMU_MODE0_SUFFIX
 #define DATA_SIZE 1
diff --git a/softmmu_header.h b/softmmu_header.h
index 512e5a2..9649717 100644
--- a/softmmu_header.h
+++ b/softmmu_header.h
@@ -70,10 +70,6 @@
 #define ADDR_READ addr_read
 #endif
 
-DATA_TYPE REGPARM glue(glue(__ld, SUFFIX), MMUSUFFIX)(target_ulong addr,
-                                                         int mmu_idx);
-void REGPARM glue(glue(__st, SUFFIX), MMUSUFFIX)(target_ulong addr, DATA_TYPE v, int mmu_idx);
-
 #if (DATA_SIZE <= 4) && (TARGET_LONG_BITS == 32) && defined(__i386__) && \
     (ACCESS_TYPE < NB_MMU_MODES) && defined(ASM_SOFTMMU)
 
diff --git a/target-alpha/exec.h b/target-alpha/exec.h
index 3b9754d..ec2f8ef 100644
--- a/target-alpha/exec.h
+++ b/target-alpha/exec.h
@@ -74,8 +74,6 @@
 
 int cpu_alpha_handle_mmu_fault (CPUState *env, uint64_t address, int rw,
                                 int mmu_idx, int is_softmmu);
-int cpu_alpha_mfpr (CPUState *env, int iprn, uint64_t *valp);
-int cpu_alpha_mtpr (CPUState *env, int iprn, uint64_t val, uint64_t *oldvalp);
 
 void do_interrupt (CPUState *env);
 
diff --git a/target-arm/exec.h b/target-arm/exec.h
index bd4910d..c543cf4 100644
--- a/target-arm/exec.h
+++ b/target-arm/exec.h
@@ -61,5 +61,3 @@
 void cpu_loop_exit(void);
 
 void raise_exception(int);
-
-uint32_t helper_neon_mul_p8(uint32_t op1, uint32_t op2);
diff --git a/target-arm/translate.c b/target-arm/translate.c
index 7ba78d9..8381bcc 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -29,6 +29,7 @@
 #include "exec-all.h"
 #include "disas.h"
 #include "tcg-op.h"
+#include "qemu-log.h"
 
 #define GEN_HELPER 1
 #include "helpers.h"
@@ -72,10 +73,6 @@
 #define DISAS_WFI 4
 #define DISAS_SWI 5
 
-/* XXX: move that elsewhere */
-extern FILE *logfile;
-extern int loglevel;
-
 static TCGv cpu_env;
 /* We reuse the same 64-bit temporaries for efficiency.  */
 static TCGv cpu_V0, cpu_V1, cpu_M0;
diff --git a/target-cris/exec.h b/target-cris/exec.h
index fe63f16..123c538 100644
--- a/target-cris/exec.h
+++ b/target-cris/exec.h
@@ -46,7 +46,6 @@
 
 int cpu_cris_handle_mmu_fault (CPUState *env, target_ulong address, int rw,
                               int mmu_idx, int is_softmmu);
-void tlb_fill (target_ulong addr, int is_write, int mmu_idx, void *retaddr);
 
 #if !defined(CONFIG_USER_ONLY)
 #include "softmmu_exec.h"
diff --git a/target-i386/exec.h b/target-i386/exec.h
index 8298b42..81f909d 100644
--- a/target-i386/exec.h
+++ b/target-i386/exec.h
@@ -31,8 +31,7 @@
 
 register struct CPUX86State *env asm(AREG0);
 
-extern FILE *logfile;
-extern int loglevel;
+#include "qemu-log.h"
 
 #define EAX (env->regs[R_EAX])
 #define ECX (env->regs[R_ECX])
@@ -58,13 +57,10 @@
 #include "cpu.h"
 #include "exec-all.h"
 
-void cpu_x86_update_cr0(CPUX86State *env, uint32_t new_cr0);
 void cpu_x86_update_cr3(CPUX86State *env, target_ulong new_cr3);
 void cpu_x86_update_cr4(CPUX86State *env, uint32_t new_cr4);
 int cpu_x86_handle_mmu_fault(CPUX86State *env, target_ulong addr,
                              int is_write, int mmu_idx, int is_softmmu);
-void tlb_fill(target_ulong addr, int is_write, int mmu_idx,
-              void *retaddr);
 void __hidden cpu_lock(void);
 void __hidden cpu_unlock(void);
 void do_interrupt(int intno, int is_int, int error_code,
@@ -120,16 +116,6 @@
 #define floatx_round_to_int floatx80_round_to_int
 #define floatx_compare floatx80_compare
 #define floatx_compare_quiet floatx80_compare_quiet
-#define sin sinl
-#define cos cosl
-#define sqrt sqrtl
-#define pow powl
-#define log logl
-#define tan tanl
-#define atan2 atan2l
-#define floor floorl
-#define ceil ceill
-#define ldexp ldexpl
 #else
 #define floatx_to_int32 float64_to_int32
 #define floatx_to_int64 float64_to_int64
@@ -148,16 +134,6 @@
 #define floatx_compare_quiet float64_compare_quiet
 #endif
 
-extern CPU86_LDouble sin(CPU86_LDouble x);
-extern CPU86_LDouble cos(CPU86_LDouble x);
-extern CPU86_LDouble sqrt(CPU86_LDouble x);
-extern CPU86_LDouble pow(CPU86_LDouble, CPU86_LDouble);
-extern CPU86_LDouble log(CPU86_LDouble x);
-extern CPU86_LDouble tan(CPU86_LDouble x);
-extern CPU86_LDouble atan2(CPU86_LDouble, CPU86_LDouble);
-extern CPU86_LDouble floor(CPU86_LDouble x);
-extern CPU86_LDouble ceil(CPU86_LDouble x);
-
 #define RC_MASK         0xc00
 #define RC_NEAR		0x000
 #define RC_DOWN		0x400
diff --git a/target-i386/helper.h b/target-i386/helper.h
index 8df6acc..14ed100 100644
--- a/target-i386/helper.h
+++ b/target-i386/helper.h
@@ -186,7 +186,6 @@
 DEF_HELPER(void, helper_fscale, (void))
 DEF_HELPER(void, helper_fsin, (void))
 DEF_HELPER(void, helper_fcos, (void))
-DEF_HELPER(void, helper_fxam_ST0, (void))
 DEF_HELPER(void, helper_fstenv, (target_ulong ptr, int data32))
 DEF_HELPER(void, helper_fldenv, (target_ulong ptr, int data32))
 DEF_HELPER(void, helper_fsave, (target_ulong ptr, int data32))
diff --git a/target-m68k/exec.h b/target-m68k/exec.h
index 1269445..745606e 100644
--- a/target-m68k/exec.h
+++ b/target-m68k/exec.h
@@ -44,8 +44,6 @@
 #include "softmmu_exec.h"
 #endif
 
-void cpu_m68k_flush_flags(CPUM68KState *env, int cc_op);
-
 void cpu_loop_exit(void);
 
 static inline int cpu_halted(CPUState *env) {
diff --git a/target-m68k/translate.c b/target-m68k/translate.c
index d5872a1..16b2c2c 100644
--- a/target-m68k/translate.c
+++ b/target-m68k/translate.c
@@ -30,6 +30,7 @@
 #include "exec-all.h"
 #include "disas.h"
 #include "tcg-op.h"
+#include "qemu-log.h"
 
 #define GEN_HELPER 1
 #include "helpers.h"
@@ -157,9 +158,6 @@
 static void *gen_throws_exception;
 #define gen_last_qop NULL
 
-extern FILE *logfile;
-extern int loglevel;
-
 #define OS_BYTE 0
 #define OS_WORD 1
 #define OS_LONG 2
diff --git a/target-mips/exec.h b/target-mips/exec.h
index fcad70a..3395da4 100644
--- a/target-mips/exec.h
+++ b/target-mips/exec.h
@@ -33,9 +33,6 @@
 void do_raise_exception_err (uint32_t exception, int error_code);
 void do_raise_exception (uint32_t exception);
 
-void cpu_dump_state(CPUState *env, FILE *f,
-                    int (*cpu_fprintf)(FILE *f, const char *fmt, ...),
-                    int flags);
 void cpu_mips_irqctrl_init (void);
 uint32_t cpu_mips_get_random (CPUState *env);
 uint32_t cpu_mips_get_count (CPUState *env);
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index ad12364..9393e3b 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -8941,8 +8941,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-int fflush (FILE *stream);
-
 /* Opcode types */
 enum {
     PPC_DIRECT   = 0, /* Opcode routine        */
diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c
index 3ced47e..dee1ebc 100644
--- a/tcg/arm/tcg-target.c
+++ b/tcg/arm/tcg-target.c
@@ -808,15 +808,8 @@
 }
 
 #ifdef CONFIG_SOFTMMU
-extern void __ldb_mmu(void);
-extern void __ldw_mmu(void);
-extern void __ldl_mmu(void);
-extern void __ldq_mmu(void);
 
-extern void __stb_mmu(void);
-extern void __stw_mmu(void);
-extern void __stl_mmu(void);
-extern void __stq_mmu(void);
+#include "../../softmmu_defs.h"
 
 static void *qemu_ld_helpers[4] = {
     __ldb_mmu,
diff --git a/tcg/hppa/tcg-target.c b/tcg/hppa/tcg-target.c
index 2d17c81..3affd26 100644
--- a/tcg/hppa/tcg-target.c
+++ b/tcg/hppa/tcg-target.c
@@ -345,15 +345,8 @@
 }
 
 #if defined(CONFIG_SOFTMMU)
-extern void __ldb_mmu(void);
-extern void __ldw_mmu(void);
-extern void __ldl_mmu(void);
-extern void __ldq_mmu(void);
 
-extern void __stb_mmu(void);
-extern void __stw_mmu(void);
-extern void __stl_mmu(void);
-extern void __stq_mmu(void);
+#include "../../softmmu_defs.h"
 
 static void *qemu_ld_helpers[4] = {
     __ldb_mmu,
diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c
index a7bd748..08bb783 100644
--- a/tcg/i386/tcg-target.c
+++ b/tcg/i386/tcg-target.c
@@ -404,15 +404,8 @@
 }
 
 #if defined(CONFIG_SOFTMMU)
-extern void __ldb_mmu(void);
-extern void __ldw_mmu(void);
-extern void __ldl_mmu(void);
-extern void __ldq_mmu(void);
 
-extern void __stb_mmu(void);
-extern void __stw_mmu(void);
-extern void __stl_mmu(void);
-extern void __stq_mmu(void);
+#include "../../softmmu_defs.h"
 
 static void *qemu_ld_helpers[4] = {
     __ldb_mmu,
diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c
index 5018232..ad17468 100644
--- a/tcg/ppc/tcg-target.c
+++ b/tcg/ppc/tcg-target.c
@@ -454,15 +454,8 @@
 }
 
 #if defined(CONFIG_SOFTMMU)
-extern void __ldb_mmu(void);
-extern void __ldw_mmu(void);
-extern void __ldl_mmu(void);
-extern void __ldq_mmu(void);
 
-extern void __stb_mmu(void);
-extern void __stw_mmu(void);
-extern void __stl_mmu(void);
-extern void __stq_mmu(void);
+#include "../../softmmu_defs.h"
 
 static void *qemu_ld_helpers[4] = {
     __ldb_mmu,
diff --git a/tcg/ppc64/tcg-target.c b/tcg/ppc64/tcg-target.c
index 6acf823..6b16efa 100644
--- a/tcg/ppc64/tcg-target.c
+++ b/tcg/ppc64/tcg-target.c
@@ -509,15 +509,8 @@
 }
 
 #if defined (CONFIG_SOFTMMU)
-extern void __ldb_mmu(void);
-extern void __ldw_mmu(void);
-extern void __ldl_mmu(void);
-extern void __ldq_mmu(void);
 
-extern void __stb_mmu(void);
-extern void __stw_mmu(void);
-extern void __stl_mmu(void);
-extern void __stq_mmu(void);
+#include "../../softmmu_defs.h"
 
 static void *qemu_ld_helpers[4] = {
     __ldb_mmu,
diff --git a/tcg/sparc/tcg-target.c b/tcg/sparc/tcg-target.c
index 7eb7cdc..861ed8e 100644
--- a/tcg/sparc/tcg-target.c
+++ b/tcg/sparc/tcg-target.c
@@ -472,16 +472,8 @@
 }
 
 #if defined(CONFIG_SOFTMMU)
-extern void __ldb_mmu(void);
-extern void __ldw_mmu(void);
-extern void __ldl_mmu(void);
-extern void __ldq_mmu(void);
 
-extern void __stb_mmu(void);
-extern void __stw_mmu(void);
-extern void __stl_mmu(void);
-extern void __stq_mmu(void);
-
+#include "../../softmmu_defs.h"
 
 static const void * const qemu_ld_helpers[4] = {
     __ldb_mmu,
diff --git a/tcg/x86_64/tcg-target.c b/tcg/x86_64/tcg-target.c
index bc5694a..183816a 100644
--- a/tcg/x86_64/tcg-target.c
+++ b/tcg/x86_64/tcg-target.c
@@ -467,16 +467,8 @@
 }
 
 #if defined(CONFIG_SOFTMMU)
-extern void __ldb_mmu(void);
-extern void __ldw_mmu(void);
-extern void __ldl_mmu(void);
-extern void __ldq_mmu(void);
 
-extern void __stb_mmu(void);
-extern void __stw_mmu(void);
-extern void __stl_mmu(void);
-extern void __stq_mmu(void);
-
+#include "../../softmmu_defs.h"
 
 static void *qemu_ld_helpers[4] = {
     __ldb_mmu,