Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
3efa9a67
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3efa9a67
编写于
7月 18, 2009
作者:
M
malc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Avoid name clashes with symbols that leak from system headers
Signed-off-by:
N
malc
<
av1474@comtv.ru
>
上级
f6548c0a
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
46 addition
and
41 deletion
+46
-41
elf.h
elf.h
+2
-0
linux-user/elfload.c
linux-user/elfload.c
+37
-37
linux-user/signal.c
linux-user/signal.c
+4
-4
loader.c
loader.c
+3
-0
未找到文件。
elf.h
浏览文件 @
3efa9a67
...
...
@@ -454,7 +454,9 @@ typedef struct {
#define R_PPC_SECTOFF_HI 35
#define R_PPC_SECTOFF_HA 36
/* Keep this the last entry. */
#ifndef R_PPC_NUM
#define R_PPC_NUM 37
#endif
/* ARM specific declarations */
...
...
linux-user/elfload.c
浏览文件 @
3efa9a67
...
...
@@ -422,35 +422,35 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
/* Feature masks for the Aux Vector Hardware Capabilities (AT_HWCAP).
See arch/powerpc/include/asm/cputable.h. */
enum
{
PPC_FEATURE_32
=
0x80000000
,
PPC_FEATURE_64
=
0x40000000
,
PPC_FEATURE_601_INSTR
=
0x20000000
,
PPC_FEATURE_HAS_ALTIVEC
=
0x10000000
,
PPC_FEATURE_HAS_FPU
=
0x08000000
,
PPC_FEATURE_HAS_MMU
=
0x04000000
,
PPC_FEATURE_HAS_4xxMAC
=
0x02000000
,
PPC_FEATURE_UNIFIED_CACHE
=
0x01000000
,
PPC_FEATURE_HAS_SPE
=
0x00800000
,
PPC_FEATURE_HAS_EFP_SINGLE
=
0x00400000
,
PPC_FEATURE_HAS_EFP_DOUBLE
=
0x00200000
,
PPC_FEATURE_NO_TB
=
0x00100000
,
PPC_FEATURE_POWER4
=
0x00080000
,
PPC_FEATURE_POWER5
=
0x00040000
,
PPC_FEATURE_POWER5_PLUS
=
0x00020000
,
PPC_FEATURE_CELL
=
0x00010000
,
PPC_FEATURE_BOOKE
=
0x00008000
,
PPC_FEATURE_SMT
=
0x00004000
,
PPC_FEATURE_ICACHE_SNOOP
=
0x00002000
,
PPC_FEATURE_ARCH_2_05
=
0x00001000
,
PPC_FEATURE_PA6T
=
0x00000800
,
PPC_FEATURE_HAS_DFP
=
0x00000400
,
PPC_FEATURE_POWER6_EXT
=
0x00000200
,
PPC_FEATURE_ARCH_2_06
=
0x00000100
,
PPC_FEATURE_HAS_VSX
=
0x00000080
,
PPC_FEATURE_PSERIES_PERFMON_COMPAT
=
0x00000040
,
PPC_FEATURE_TRUE_LE
=
0x00000002
,
PPC_FEATURE_PPC_LE
=
0x00000001
,
QEMU_
PPC_FEATURE_32
=
0x80000000
,
QEMU_
PPC_FEATURE_64
=
0x40000000
,
QEMU_
PPC_FEATURE_601_INSTR
=
0x20000000
,
QEMU_
PPC_FEATURE_HAS_ALTIVEC
=
0x10000000
,
QEMU_
PPC_FEATURE_HAS_FPU
=
0x08000000
,
QEMU_
PPC_FEATURE_HAS_MMU
=
0x04000000
,
QEMU_
PPC_FEATURE_HAS_4xxMAC
=
0x02000000
,
QEMU_
PPC_FEATURE_UNIFIED_CACHE
=
0x01000000
,
QEMU_
PPC_FEATURE_HAS_SPE
=
0x00800000
,
QEMU_
PPC_FEATURE_HAS_EFP_SINGLE
=
0x00400000
,
QEMU_
PPC_FEATURE_HAS_EFP_DOUBLE
=
0x00200000
,
QEMU_
PPC_FEATURE_NO_TB
=
0x00100000
,
QEMU_
PPC_FEATURE_POWER4
=
0x00080000
,
QEMU_
PPC_FEATURE_POWER5
=
0x00040000
,
QEMU_
PPC_FEATURE_POWER5_PLUS
=
0x00020000
,
QEMU_
PPC_FEATURE_CELL
=
0x00010000
,
QEMU_
PPC_FEATURE_BOOKE
=
0x00008000
,
QEMU_
PPC_FEATURE_SMT
=
0x00004000
,
QEMU_
PPC_FEATURE_ICACHE_SNOOP
=
0x00002000
,
QEMU_
PPC_FEATURE_ARCH_2_05
=
0x00001000
,
QEMU_
PPC_FEATURE_PA6T
=
0x00000800
,
QEMU_
PPC_FEATURE_HAS_DFP
=
0x00000400
,
QEMU_
PPC_FEATURE_POWER6_EXT
=
0x00000200
,
QEMU_
PPC_FEATURE_ARCH_2_06
=
0x00000100
,
QEMU_
PPC_FEATURE_HAS_VSX
=
0x00000080
,
QEMU_
PPC_FEATURE_PSERIES_PERFMON_COMPAT
=
0x00000040
,
QEMU_
PPC_FEATURE_TRUE_LE
=
0x00000002
,
QEMU_
PPC_FEATURE_PPC_LE
=
0x00000001
,
};
#define ELF_HWCAP get_elf_hwcap()
...
...
@@ -464,14 +464,14 @@ static uint32_t get_elf_hwcap(void)
Altivec/FP/SPE support. Anything else is just a bonus. */
#define GET_FEATURE(flag, feature) \
do {if (e->insns_flags & flag) features |= feature; } while(0)
GET_FEATURE
(
PPC_64B
,
PPC_FEATURE_64
);
GET_FEATURE
(
PPC_FLOAT
,
PPC_FEATURE_HAS_FPU
);
GET_FEATURE
(
PPC_ALTIVEC
,
PPC_FEATURE_HAS_ALTIVEC
);
GET_FEATURE
(
PPC_SPE
,
PPC_FEATURE_HAS_SPE
);
GET_FEATURE
(
PPC_SPE_SINGLE
,
PPC_FEATURE_HAS_EFP_SINGLE
);
GET_FEATURE
(
PPC_SPE_DOUBLE
,
PPC_FEATURE_HAS_EFP_DOUBLE
);
GET_FEATURE
(
PPC_BOOKE
,
PPC_FEATURE_BOOKE
);
GET_FEATURE
(
PPC_405_MAC
,
PPC_FEATURE_HAS_4xxMAC
);
GET_FEATURE
(
PPC_64B
,
QEMU_
PPC_FEATURE_64
);
GET_FEATURE
(
PPC_FLOAT
,
QEMU_
PPC_FEATURE_HAS_FPU
);
GET_FEATURE
(
PPC_ALTIVEC
,
QEMU_
PPC_FEATURE_HAS_ALTIVEC
);
GET_FEATURE
(
PPC_SPE
,
QEMU_
PPC_FEATURE_HAS_SPE
);
GET_FEATURE
(
PPC_SPE_SINGLE
,
QEMU_
PPC_FEATURE_HAS_EFP_SINGLE
);
GET_FEATURE
(
PPC_SPE_DOUBLE
,
QEMU_
PPC_FEATURE_HAS_EFP_DOUBLE
);
GET_FEATURE
(
PPC_BOOKE
,
QEMU_
PPC_FEATURE_BOOKE
);
GET_FEATURE
(
PPC_405_MAC
,
QEMU_
PPC_FEATURE_HAS_4xxMAC
);
#undef GET_FEATURE
return
features
;
...
...
linux-user/signal.c
浏览文件 @
3efa9a67
...
...
@@ -3533,12 +3533,12 @@ struct target_mcontext {
varies depending on whether we're PPC64 or not: PPC64 splits
them apart; PPC32 stuffs them together. */
#if defined(TARGET_PPC64)
#define NVRREG 34
#define
QEMU_
NVRREG 34
#else
#define NVRREG 33
#define
QEMU_
NVRREG 33
#endif
ppc_avr_t
altivec
[
NVRREG
];
#undef NVRREG
ppc_avr_t
altivec
[
QEMU_
NVRREG
];
#undef
QEMU_
NVRREG
}
mc_vregs
__attribute__
((
__aligned__
(
16
)));
};
...
...
loader.c
浏览文件 @
3efa9a67
...
...
@@ -272,6 +272,9 @@ static void *load_at(int fd, int offset, int size)
return
ptr
;
}
#ifdef ELF_CLASS
#undef ELF_CLASS
#endif
#define ELF_CLASS ELFCLASS32
#include "elf.h"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录