Skip to content

Commit 2449132

Browse files
committed
Add AArch32 support for arm gold linker.
1 parent 31ba1f5 commit 2449132

4 files changed

Lines changed: 34 additions & 2 deletions

File tree

‎elfcpp/ChangeLog‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
2015-04-07 HC Yen <hc.yen@mediatek.com>
2+
3+
* arm.h: Add TAG_CPU_ARCH_V8 in Tag_CPU_arch EABI attribute.
4+
15
2015-02-09 Mark Wielaard <mjw@redhat.com>
26

37
* dwarf.h (enum DW_LANG): Add DW_LANG_C_plus_plus_11,

‎elfcpp/arm.h‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,8 @@ enum
248248
TAG_CPU_ARCH_V6_M,
249249
TAG_CPU_ARCH_V6S_M,
250250
TAG_CPU_ARCH_V7E_M,
251-
MAX_TAG_CPU_ARCH = TAG_CPU_ARCH_V7E_M,
251+
TAG_CPU_ARCH_V8,
252+
MAX_TAG_CPU_ARCH = TAG_CPU_ARCH_V8,
252253
// Pseudo-architecture to allow objects to be compatible with the subset of
253254
// armv4t and armv6-m. This value should never be stored in object files.
254255
TAG_CPU_ARCH_V4T_PLUS_V6_M = (MAX_TAG_CPU_ARCH + 1)

‎gold/ChangeLog‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
2015-04-07 HC Yen <hc.yen@mediatek.com>
2+
3+
Add AArch32 support for gold linker.
4+
gold/
5+
* arm.cc: Add V8 arch combine table.
6+
17
2015-04-06 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
28

39
* aarch64.cc (do_reloc_addend): Fix signature to match the parent one.

‎gold/arm.cc‎

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10759,6 +10759,24 @@ Target_arm<big_endian>::tag_cpu_arch_combine(
1075910759
T(V7E_M), // V6S_M.
1076010760
T(V7E_M) // V7E_M.
1076110761
};
10762+
static const int v8[] =
10763+
{
10764+
T(V8), // PRE_V4.
10765+
T(V8), // V4.
10766+
T(V8), // V4T.
10767+
T(V8), // V5T.
10768+
T(V8), // V5TE.
10769+
T(V8), // V5TEJ.
10770+
T(V8), // V6.
10771+
T(V8), // V6KZ.
10772+
T(V8), // V6T2.
10773+
T(V8), // V6K.
10774+
T(V8), // V7.
10775+
T(V8), // V6_M.
10776+
T(V8), // V6S_M.
10777+
T(V8), // V7E_M.
10778+
T(V8) // V8.
10779+
};
1076210780
static const int v4t_plus_v6_m[] =
1076310781
{
1076410782
-1, // PRE_V4.
@@ -10775,6 +10793,7 @@ Target_arm<big_endian>::tag_cpu_arch_combine(
1077510793
T(V6_M), // V6_M.
1077610794
T(V6S_M), // V6S_M.
1077710795
T(V7E_M), // V7E_M.
10796+
T(V8), // V8.
1077810797
T(V4T_PLUS_V6_M) // V4T plus V6_M.
1077910798
};
1078010799
static const int* comb[] =
@@ -10785,6 +10804,7 @@ Target_arm<big_endian>::tag_cpu_arch_combine(
1078510804
v6_m,
1078610805
v6s_m,
1078710806
v7e_m,
10807+
v8,
1078810808
// Pseudo-architecture.
1078910809
v4t_plus_v6_m
1079010810
};
@@ -10882,7 +10902,8 @@ Target_arm<big_endian>::tag_cpu_name_value(unsigned int value)
1088210902
"ARM v7",
1088310903
"ARM v6-M",
1088410904
"ARM v6S-M",
10885-
"ARM v7E-M"
10905+
"ARM v7E-M",
10906+
"ARM v8"
1088610907
};
1088710908
const size_t name_table_size = sizeof(name_table) / sizeof(name_table[0]);
1088810909

0 commit comments

Comments
 (0)