Commit a2547a1378e9039ea54bdaa53e917b74e55487ee
Committed by
Paul Brook
1 parent
379f6698
ELF codedump build failures
Rename ELF coredump types to avoid conflict with the corresponding host types. Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Showing
1 changed file
with
30 additions
and
29 deletions
linux-user/elfload.c
@@ -134,13 +134,13 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i | @@ -134,13 +134,13 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i | ||
134 | regs->rip = infop->entry; | 134 | regs->rip = infop->entry; |
135 | } | 135 | } |
136 | 136 | ||
137 | -typedef target_ulong elf_greg_t; | 137 | +typedef target_ulong target_elf_greg_t; |
138 | typedef uint32_t target_uid_t; | 138 | typedef uint32_t target_uid_t; |
139 | typedef uint32_t target_gid_t; | 139 | typedef uint32_t target_gid_t; |
140 | typedef int32_t target_pid_t; | 140 | typedef int32_t target_pid_t; |
141 | 141 | ||
142 | #define ELF_NREG 27 | 142 | #define ELF_NREG 27 |
143 | -typedef elf_greg_t elf_gregset_t[ELF_NREG]; | 143 | +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; |
144 | 144 | ||
145 | /* | 145 | /* |
146 | * Note that ELF_NREG should be 29 as there should be place for | 146 | * Note that ELF_NREG should be 29 as there should be place for |
@@ -149,7 +149,7 @@ typedef elf_greg_t elf_gregset_t[ELF_NREG]; | @@ -149,7 +149,7 @@ typedef elf_greg_t elf_gregset_t[ELF_NREG]; | ||
149 | * | 149 | * |
150 | * See linux kernel: arch/x86/include/asm/elf.h | 150 | * See linux kernel: arch/x86/include/asm/elf.h |
151 | */ | 151 | */ |
152 | -static void elf_core_copy_regs(elf_gregset_t *regs, const CPUState *env) | 152 | +static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUState *env) |
153 | { | 153 | { |
154 | (*regs)[0] = env->regs[15]; | 154 | (*regs)[0] = env->regs[15]; |
155 | (*regs)[1] = env->regs[14]; | 155 | (*regs)[1] = env->regs[14]; |
@@ -211,13 +211,13 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i | @@ -211,13 +211,13 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i | ||
211 | regs->edx = 0; | 211 | regs->edx = 0; |
212 | } | 212 | } |
213 | 213 | ||
214 | -typedef target_ulong elf_greg_t; | 214 | +typedef target_ulong target_elf_greg_t; |
215 | typedef uint16_t target_uid_t; | 215 | typedef uint16_t target_uid_t; |
216 | typedef uint16_t target_gid_t; | 216 | typedef uint16_t target_gid_t; |
217 | typedef int32_t target_pid_t; | 217 | typedef int32_t target_pid_t; |
218 | 218 | ||
219 | #define ELF_NREG 17 | 219 | #define ELF_NREG 17 |
220 | -typedef elf_greg_t elf_gregset_t[ELF_NREG]; | 220 | +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; |
221 | 221 | ||
222 | /* | 222 | /* |
223 | * Note that ELF_NREG should be 19 as there should be place for | 223 | * Note that ELF_NREG should be 19 as there should be place for |
@@ -226,7 +226,7 @@ typedef elf_greg_t elf_gregset_t[ELF_NREG]; | @@ -226,7 +226,7 @@ typedef elf_greg_t elf_gregset_t[ELF_NREG]; | ||
226 | * | 226 | * |
227 | * See linux kernel: arch/x86/include/asm/elf.h | 227 | * See linux kernel: arch/x86/include/asm/elf.h |
228 | */ | 228 | */ |
229 | -static void elf_core_copy_regs(elf_gregset_t *regs, const CPUState *env) | 229 | +static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUState *env) |
230 | { | 230 | { |
231 | (*regs)[0] = env->regs[R_EBX]; | 231 | (*regs)[0] = env->regs[R_EBX]; |
232 | (*regs)[1] = env->regs[R_ECX]; | 232 | (*regs)[1] = env->regs[R_ECX]; |
@@ -286,15 +286,15 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i | @@ -286,15 +286,15 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i | ||
286 | regs->ARM_r10 = infop->start_data; | 286 | regs->ARM_r10 = infop->start_data; |
287 | } | 287 | } |
288 | 288 | ||
289 | -typedef uint32_t elf_greg_t; | 289 | +typedef uint32_t target_elf_greg_t; |
290 | typedef uint16_t target_uid_t; | 290 | typedef uint16_t target_uid_t; |
291 | typedef uint16_t target_gid_t; | 291 | typedef uint16_t target_gid_t; |
292 | typedef int32_t target_pid_t; | 292 | typedef int32_t target_pid_t; |
293 | 293 | ||
294 | #define ELF_NREG 18 | 294 | #define ELF_NREG 18 |
295 | -typedef elf_greg_t elf_gregset_t[ELF_NREG]; | 295 | +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; |
296 | 296 | ||
297 | -static void elf_core_copy_regs(elf_gregset_t *regs, const CPUState *env) | 297 | +static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUState *env) |
298 | { | 298 | { |
299 | (*regs)[0] = env->regs[0]; | 299 | (*regs)[0] = env->regs[0]; |
300 | (*regs)[1] = env->regs[1]; | 300 | (*regs)[1] = env->regs[1]; |
@@ -1748,7 +1748,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -1748,7 +1748,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
1748 | 1748 | ||
1749 | /* | 1749 | /* |
1750 | * Definitions to generate Intel SVR4-like core files. | 1750 | * Definitions to generate Intel SVR4-like core files. |
1751 | - * These mostly have the same names as the SVR4 types with "elf_" | 1751 | + * These mostly have the same names as the SVR4 types with "target_elf_" |
1752 | * tacked on the front to prevent clashes with linux definitions, | 1752 | * tacked on the front to prevent clashes with linux definitions, |
1753 | * and the typedef forms have been avoided. This is mostly like | 1753 | * and the typedef forms have been avoided. This is mostly like |
1754 | * the SVR4 structure, but more Linuxy, with things that Linux does | 1754 | * the SVR4 structure, but more Linuxy, with things that Linux does |
@@ -1768,9 +1768,9 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -1768,9 +1768,9 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
1768 | * Next you define type of register set used for dumping. ELF specification | 1768 | * Next you define type of register set used for dumping. ELF specification |
1769 | * says that it needs to be array of elf_greg_t that has size of ELF_NREG. | 1769 | * says that it needs to be array of elf_greg_t that has size of ELF_NREG. |
1770 | * | 1770 | * |
1771 | - * typedef <target_regtype> elf_greg_t; | 1771 | + * typedef <target_regtype> target_elf_greg_t; |
1772 | * #define ELF_NREG <number of registers> | 1772 | * #define ELF_NREG <number of registers> |
1773 | - * typedef elf_greg_t elf_gregset_t[ELF_NREG]; | 1773 | + * typedef taret_elf_greg_t target_elf_gregset_t[ELF_NREG]; |
1774 | * | 1774 | * |
1775 | * Then define following types to match target types. Actual types can | 1775 | * Then define following types to match target types. Actual types can |
1776 | * be found from linux kernel (arch/<ARCH>/include/asm/posix_types.h): | 1776 | * be found from linux kernel (arch/<ARCH>/include/asm/posix_types.h): |
@@ -1782,7 +1782,8 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | @@ -1782,7 +1782,8 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, | ||
1782 | * Last step is to implement target specific function that copies registers | 1782 | * Last step is to implement target specific function that copies registers |
1783 | * from given cpu into just specified register set. Prototype is: | 1783 | * from given cpu into just specified register set. Prototype is: |
1784 | * | 1784 | * |
1785 | - * static void elf_core_copy_regs(elf_gregset_t *regs, const CPUState *env); | 1785 | + * static void elf_core_copy_regs(taret_elf_gregset_t *regs, |
1786 | + * const CPUState *env); | ||
1786 | * | 1787 | * |
1787 | * Parameters: | 1788 | * Parameters: |
1788 | * regs - copy register values into here (allocated and zeroed by caller) | 1789 | * regs - copy register values into here (allocated and zeroed by caller) |
@@ -1802,14 +1803,14 @@ struct memelfnote { | @@ -1802,14 +1803,14 @@ struct memelfnote { | ||
1802 | size_t notesz; | 1803 | size_t notesz; |
1803 | }; | 1804 | }; |
1804 | 1805 | ||
1805 | -struct elf_siginfo { | 1806 | +struct target_elf_siginfo { |
1806 | int si_signo; /* signal number */ | 1807 | int si_signo; /* signal number */ |
1807 | int si_code; /* extra code */ | 1808 | int si_code; /* extra code */ |
1808 | int si_errno; /* errno */ | 1809 | int si_errno; /* errno */ |
1809 | }; | 1810 | }; |
1810 | 1811 | ||
1811 | -struct elf_prstatus { | ||
1812 | - struct elf_siginfo pr_info; /* Info associated with signal */ | 1812 | +struct target_elf_prstatus { |
1813 | + struct target_elf_siginfo pr_info; /* Info associated with signal */ | ||
1813 | short pr_cursig; /* Current signal */ | 1814 | short pr_cursig; /* Current signal */ |
1814 | target_ulong pr_sigpend; /* XXX */ | 1815 | target_ulong pr_sigpend; /* XXX */ |
1815 | target_ulong pr_sighold; /* XXX */ | 1816 | target_ulong pr_sighold; /* XXX */ |
@@ -1821,13 +1822,13 @@ struct elf_prstatus { | @@ -1821,13 +1822,13 @@ struct elf_prstatus { | ||
1821 | struct target_timeval pr_stime; /* XXX System time */ | 1822 | struct target_timeval pr_stime; /* XXX System time */ |
1822 | struct target_timeval pr_cutime; /* XXX Cumulative user time */ | 1823 | struct target_timeval pr_cutime; /* XXX Cumulative user time */ |
1823 | struct target_timeval pr_cstime; /* XXX Cumulative system time */ | 1824 | struct target_timeval pr_cstime; /* XXX Cumulative system time */ |
1824 | - elf_gregset_t pr_reg; /* GP registers */ | 1825 | + target_elf_gregset_t pr_reg; /* GP registers */ |
1825 | int pr_fpvalid; /* XXX */ | 1826 | int pr_fpvalid; /* XXX */ |
1826 | }; | 1827 | }; |
1827 | 1828 | ||
1828 | #define ELF_PRARGSZ (80) /* Number of chars for args */ | 1829 | #define ELF_PRARGSZ (80) /* Number of chars for args */ |
1829 | 1830 | ||
1830 | -struct elf_prpsinfo { | 1831 | +struct target_elf_prpsinfo { |
1831 | char pr_state; /* numeric process state */ | 1832 | char pr_state; /* numeric process state */ |
1832 | char pr_sname; /* char for pr_state */ | 1833 | char pr_sname; /* char for pr_state */ |
1833 | char pr_zomb; /* zombie */ | 1834 | char pr_zomb; /* zombie */ |
@@ -1844,7 +1845,7 @@ struct elf_prpsinfo { | @@ -1844,7 +1845,7 @@ struct elf_prpsinfo { | ||
1844 | /* Here is the structure in which status of each thread is captured. */ | 1845 | /* Here is the structure in which status of each thread is captured. */ |
1845 | struct elf_thread_status { | 1846 | struct elf_thread_status { |
1846 | TAILQ_ENTRY(elf_thread_status) ets_link; | 1847 | TAILQ_ENTRY(elf_thread_status) ets_link; |
1847 | - struct elf_prstatus prstatus; /* NT_PRSTATUS */ | 1848 | + struct target_elf_prstatus prstatus; /* NT_PRSTATUS */ |
1848 | #if 0 | 1849 | #if 0 |
1849 | elf_fpregset_t fpu; /* NT_PRFPREG */ | 1850 | elf_fpregset_t fpu; /* NT_PRFPREG */ |
1850 | struct task_struct *thread; | 1851 | struct task_struct *thread; |
@@ -1856,8 +1857,8 @@ struct elf_thread_status { | @@ -1856,8 +1857,8 @@ struct elf_thread_status { | ||
1856 | 1857 | ||
1857 | struct elf_note_info { | 1858 | struct elf_note_info { |
1858 | struct memelfnote *notes; | 1859 | struct memelfnote *notes; |
1859 | - struct elf_prstatus *prstatus; /* NT_PRSTATUS */ | ||
1860 | - struct elf_prpsinfo *psinfo; /* NT_PRPSINFO */ | 1860 | + struct target_elf_prstatus *prstatus; /* NT_PRSTATUS */ |
1861 | + struct target_elf_prpsinfo *psinfo; /* NT_PRPSINFO */ | ||
1861 | 1862 | ||
1862 | TAILQ_HEAD(thread_list_head, elf_thread_status) thread_list; | 1863 | TAILQ_HEAD(thread_list_head, elf_thread_status) thread_list; |
1863 | #if 0 | 1864 | #if 0 |
@@ -1899,8 +1900,8 @@ static int vma_walker(void *priv, unsigned long start, unsigned long end, | @@ -1899,8 +1900,8 @@ static int vma_walker(void *priv, unsigned long start, unsigned long end, | ||
1899 | static void fill_elf_header(struct elfhdr *, int, uint16_t, uint32_t); | 1900 | static void fill_elf_header(struct elfhdr *, int, uint16_t, uint32_t); |
1900 | static void fill_note(struct memelfnote *, const char *, int, | 1901 | static void fill_note(struct memelfnote *, const char *, int, |
1901 | unsigned int, void *); | 1902 | unsigned int, void *); |
1902 | -static void fill_prstatus(struct elf_prstatus *, const TaskState *, int); | ||
1903 | -static int fill_psinfo(struct elf_prpsinfo *, const TaskState *); | 1903 | +static void fill_prstatus(struct target_elf_prstatus *, const TaskState *, int); |
1904 | +static int fill_psinfo(struct target_elf_prpsinfo *, const TaskState *); | ||
1904 | static void fill_auxv_note(struct memelfnote *, const TaskState *); | 1905 | static void fill_auxv_note(struct memelfnote *, const TaskState *); |
1905 | static void fill_elf_note_phdr(struct elf_phdr *, int, off_t); | 1906 | static void fill_elf_note_phdr(struct elf_phdr *, int, off_t); |
1906 | static size_t note_size(const struct memelfnote *); | 1907 | static size_t note_size(const struct memelfnote *); |
@@ -1914,10 +1915,10 @@ static int write_note(struct memelfnote *, int); | @@ -1914,10 +1915,10 @@ static int write_note(struct memelfnote *, int); | ||
1914 | static int write_note_info(struct elf_note_info *, int); | 1915 | static int write_note_info(struct elf_note_info *, int); |
1915 | 1916 | ||
1916 | #ifdef BSWAP_NEEDED | 1917 | #ifdef BSWAP_NEEDED |
1917 | -static void bswap_prstatus(struct elf_prstatus *); | ||
1918 | -static void bswap_psinfo(struct elf_prpsinfo *); | 1918 | +static void bswap_prstatus(struct target_elf_prstatus *); |
1919 | +static void bswap_psinfo(struct target_elf_prpsinfo *); | ||
1919 | 1920 | ||
1920 | -static void bswap_prstatus(struct elf_prstatus *prstatus) | 1921 | +static void bswap_prstatus(struct target_elf_prstatus *prstatus) |
1921 | { | 1922 | { |
1922 | prstatus->pr_info.si_signo = tswapl(prstatus->pr_info.si_signo); | 1923 | prstatus->pr_info.si_signo = tswapl(prstatus->pr_info.si_signo); |
1923 | prstatus->pr_info.si_code = tswapl(prstatus->pr_info.si_code); | 1924 | prstatus->pr_info.si_code = tswapl(prstatus->pr_info.si_code); |
@@ -1934,7 +1935,7 @@ static void bswap_prstatus(struct elf_prstatus *prstatus) | @@ -1934,7 +1935,7 @@ static void bswap_prstatus(struct elf_prstatus *prstatus) | ||
1934 | prstatus->pr_fpvalid = tswap32(prstatus->pr_fpvalid); | 1935 | prstatus->pr_fpvalid = tswap32(prstatus->pr_fpvalid); |
1935 | } | 1936 | } |
1936 | 1937 | ||
1937 | -static void bswap_psinfo(struct elf_prpsinfo *psinfo) | 1938 | +static void bswap_psinfo(struct target_elf_prpsinfo *psinfo) |
1938 | { | 1939 | { |
1939 | psinfo->pr_flag = tswapl(psinfo->pr_flag); | 1940 | psinfo->pr_flag = tswapl(psinfo->pr_flag); |
1940 | psinfo->pr_uid = tswap16(psinfo->pr_uid); | 1941 | psinfo->pr_uid = tswap16(psinfo->pr_uid); |
@@ -2128,7 +2129,7 @@ static size_t note_size(const struct memelfnote *note) | @@ -2128,7 +2129,7 @@ static size_t note_size(const struct memelfnote *note) | ||
2128 | return (note->notesz); | 2129 | return (note->notesz); |
2129 | } | 2130 | } |
2130 | 2131 | ||
2131 | -static void fill_prstatus(struct elf_prstatus *prstatus, | 2132 | +static void fill_prstatus(struct target_elf_prstatus *prstatus, |
2132 | const TaskState *ts, int signr) | 2133 | const TaskState *ts, int signr) |
2133 | { | 2134 | { |
2134 | (void) memset(prstatus, 0, sizeof (*prstatus)); | 2135 | (void) memset(prstatus, 0, sizeof (*prstatus)); |
@@ -2143,7 +2144,7 @@ static void fill_prstatus(struct elf_prstatus *prstatus, | @@ -2143,7 +2144,7 @@ static void fill_prstatus(struct elf_prstatus *prstatus, | ||
2143 | #endif | 2144 | #endif |
2144 | } | 2145 | } |
2145 | 2146 | ||
2146 | -static int fill_psinfo(struct elf_prpsinfo *psinfo, const TaskState *ts) | 2147 | +static int fill_psinfo(struct target_elf_prpsinfo *psinfo, const TaskState *ts) |
2147 | { | 2148 | { |
2148 | char *filename, *base_filename; | 2149 | char *filename, *base_filename; |
2149 | unsigned int i, len; | 2150 | unsigned int i, len; |