* [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt
@ 2023-11-13 5:05 YunQiang Su
2023-11-13 5:05 ` [PATCH v5 1/4] Gold: Add targ_extra_little_endian to configure.ac YunQiang Su
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: YunQiang Su @ 2023-11-13 5:05 UTC (permalink / raw)
To: nickc; +Cc: binutils, YunQiang Su
YunQiang Su (4):
Gold: Add targ_extra_little_endian to configure.ac
Gold/MIPS: Drop mips*le/mips*el* triple pattern
Gold/MIPS: Add targ_extra_size=64 for mips32 triples
Gold/MIPS: Add mips64*/mips64*el triple support
gold/configure | 8 ++++++++
gold/configure.ac | 8 ++++++++
gold/configure.tgt | 22 ++++++++++++++++++++--
3 files changed, 36 insertions(+), 2 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v5 1/4] Gold: Add targ_extra_little_endian to configure.ac
2023-11-13 5:05 [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt YunQiang Su
@ 2023-11-13 5:05 ` YunQiang Su
2023-11-13 5:05 ` [PATCH v5 2/4] Gold/MIPS: Drop mips*le/mips*el* triple pattern YunQiang Su
` (3 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: YunQiang Su @ 2023-11-13 5:05 UTC (permalink / raw)
To: nickc; +Cc: binutils, YunQiang Su
This option will be used by architectures which is big endian
by default, while little-endian support is also needed.
Mips(eb) ports are the examples.
---
gold/configure | 8 ++++++++
gold/configure.ac | 8 ++++++++
gold/configure.tgt | 2 +-
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/gold/configure b/gold/configure
index 5c6fe2a5607..ccb1f2269b2 100755
--- a/gold/configure
+++ b/gold/configure
@@ -5266,6 +5266,10 @@ for targ in $target $canon_targets; do
-o "$targ_extra_big_endian" = "true"; then
targ_32_big=yes
fi
+ if test "$targ_little_endian" = "true" \
+ -o "$targ_extra_little_endian" = "true"; then
+ targ_32_little=yes
+ fi
if test "$targ_big_endian" = "false" \
-o "$targ_extra_big_endian" = "false"; then
targ_32_little=yes
@@ -5276,6 +5280,10 @@ for targ in $target $canon_targets; do
-o "$targ_extra_big_endian" = "true"; then
targ_64_big=yes
fi
+ if test "$targ_little_endian" = "true" \
+ -o "$targ_extra_little_endian" = "true"; then
+ targ_64_little=yes
+ fi
if test "$targ_big_endian" = "false" \
-o "$targ_extra_big_endian" = "false"; then
targ_64_little=yes
diff --git a/gold/configure.ac b/gold/configure.ac
index cafd3503b3b..e04e4086140 100644
--- a/gold/configure.ac
+++ b/gold/configure.ac
@@ -193,6 +193,10 @@ for targ in $target $canon_targets; do
-o "$targ_extra_big_endian" = "true"; then
targ_32_big=yes
fi
+ if test "$targ_little_endian" = "true" \
+ -o "$targ_extra_little_endian" = "true"; then
+ targ_32_little=yes
+ fi
if test "$targ_big_endian" = "false" \
-o "$targ_extra_big_endian" = "false"; then
targ_32_little=yes
@@ -203,6 +207,10 @@ for targ in $target $canon_targets; do
-o "$targ_extra_big_endian" = "true"; then
targ_64_big=yes
fi
+ if test "$targ_little_endian" = "true" \
+ -o "$targ_extra_little_endian" = "true"; then
+ targ_64_little=yes
+ fi
if test "$targ_big_endian" = "false" \
-o "$targ_extra_big_endian" = "false"; then
targ_64_little=yes
diff --git a/gold/configure.tgt b/gold/configure.tgt
index 751c8fd06c6..996bc901d1d 100644
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -165,7 +165,7 @@ mips*-*-*)
targ_machine=EM_MIPS
targ_size=32
targ_big_endian=true
- targ_extra_big_endian=false
+ targ_extra_little_endian=true
;;
s390-*-*)
targ_obj=s390
--
2.39.2
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v5 2/4] Gold/MIPS: Drop mips*le/mips*el* triple pattern
2023-11-13 5:05 [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt YunQiang Su
2023-11-13 5:05 ` [PATCH v5 1/4] Gold: Add targ_extra_little_endian to configure.ac YunQiang Su
@ 2023-11-13 5:05 ` YunQiang Su
2023-11-13 5:05 ` [PATCH v5 3/4] Gold/MIPS: Add targ_extra_size=64 for mips32 triples YunQiang Su
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: YunQiang Su @ 2023-11-13 5:05 UTC (permalink / raw)
To: nickc; +Cc: binutils, YunQiang Su
Only mips*el triples are supported by binutils. The mips*le
or mips*el* may cause some problem with other components of
binutils, since they will consider them as big endian.
---
gold/configure.tgt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gold/configure.tgt b/gold/configure.tgt
index 996bc901d1d..8f0f21bdc03 100644
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -153,7 +153,7 @@ aarch64*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
-mips*el*-*-*|mips*le*-*-*)
+mips*el-*-*)
targ_obj=mips
targ_machine=EM_MIPS
targ_size=32
--
2.39.2
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v5 3/4] Gold/MIPS: Add targ_extra_size=64 for mips32 triples
2023-11-13 5:05 [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt YunQiang Su
2023-11-13 5:05 ` [PATCH v5 1/4] Gold: Add targ_extra_little_endian to configure.ac YunQiang Su
2023-11-13 5:05 ` [PATCH v5 2/4] Gold/MIPS: Drop mips*le/mips*el* triple pattern YunQiang Su
@ 2023-11-13 5:05 ` YunQiang Su
2023-11-17 14:35 ` Nick Clifton
2023-11-13 5:05 ` [PATCH v5 4/4] Gold/MIPS: Add mips64*/mips64*el triple support YunQiang Su
2023-11-13 5:11 ` [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt YunQiang Su
4 siblings, 1 reply; 9+ messages in thread
From: YunQiang Su @ 2023-11-13 5:05 UTC (permalink / raw)
To: nickc; +Cc: binutils, YunQiang Su
So we can enable 64bit ELF support for MIPS32 toolchain.
This patch can fix build failure with configure:
--target=mips-linux-gnu \
--enable-targets=mips64-linux-gnuabi64,mips64-linux-gnuabin32
The error message is like:
undefined reference to `gold::Output_data_reloc_base<9, true, 32, false>::
...
---
gold/configure.tgt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gold/configure.tgt b/gold/configure.tgt
index 8f0f21bdc03..4b16634ff4e 100644
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -157,6 +157,7 @@ mips*el-*-*)
targ_obj=mips
targ_machine=EM_MIPS
targ_size=32
+ targ_extra_size=64
targ_big_endian=false
targ_extra_big_endian=true
;;
@@ -164,6 +165,7 @@ mips*-*-*)
targ_obj=mips
targ_machine=EM_MIPS
targ_size=32
+ targ_extra_size=64
targ_big_endian=true
targ_extra_little_endian=true
;;
--
2.39.2
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v5 4/4] Gold/MIPS: Add mips64*/mips64*el triple support
2023-11-13 5:05 [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt YunQiang Su
` (2 preceding siblings ...)
2023-11-13 5:05 ` [PATCH v5 3/4] Gold/MIPS: Add targ_extra_size=64 for mips32 triples YunQiang Su
@ 2023-11-13 5:05 ` YunQiang Su
2023-11-13 5:11 ` [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt YunQiang Su
4 siblings, 0 replies; 9+ messages in thread
From: YunQiang Su @ 2023-11-13 5:05 UTC (permalink / raw)
To: nickc; +Cc: binutils, YunQiang Su
Use targ_size=64 and targ_extra_size=32
---
gold/configure.tgt | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/gold/configure.tgt b/gold/configure.tgt
index 4b16634ff4e..e2e131bbd84 100644
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -153,6 +153,14 @@ aarch64*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
+mips64*el-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS
+ targ_size=64
+ targ_extra_size=32
+ targ_big_endian=false
+ targ_extra_big_endian=true
+ ;;
mips*el-*-*)
targ_obj=mips
targ_machine=EM_MIPS
@@ -161,6 +169,14 @@ mips*el-*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
+mips64*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS
+ targ_size=64
+ targ_extra_size=32
+ targ_big_endian=true
+ targ_extra_little_endian=true
+ ;;
mips*-*-*)
targ_obj=mips
targ_machine=EM_MIPS
--
2.39.2
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt
2023-11-13 5:05 [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt YunQiang Su
` (3 preceding siblings ...)
2023-11-13 5:05 ` [PATCH v5 4/4] Gold/MIPS: Add mips64*/mips64*el triple support YunQiang Su
@ 2023-11-13 5:11 ` YunQiang Su
4 siblings, 0 replies; 9+ messages in thread
From: YunQiang Su @ 2023-11-13 5:11 UTC (permalink / raw)
To: Nick Clifton, Matthias Klose; +Cc: binutils, YunQiang Su
YunQiang Su <yunqiang.su@cipunited.com> 于2023年11月13日周一 13:06写道:
>
> YunQiang Su (4):
> Gold: Add targ_extra_little_endian to configure.ac
> Gold/MIPS: Drop mips*le/mips*el* triple pattern
> Gold/MIPS: Add targ_extra_size=64 for mips32 triples
> Gold/MIPS: Add mips64*/mips64*el triple support
>
If this patchset is OK, can/should we backport this patchset to 2.41?
We meet this problem:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050431
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 3/4] Gold/MIPS: Add targ_extra_size=64 for mips32 triples
2023-11-13 5:05 ` [PATCH v5 3/4] Gold/MIPS: Add targ_extra_size=64 for mips32 triples YunQiang Su
@ 2023-11-17 14:35 ` Nick Clifton
2023-11-17 14:57 ` YunQiang Su
0 siblings, 1 reply; 9+ messages in thread
From: Nick Clifton @ 2023-11-17 14:35 UTC (permalink / raw)
To: YunQiang Su; +Cc: binutils
Hi YunQiang Su,
> So we can enable 64bit ELF support for MIPS32 toolchain.
>
> This patch can fix build failure with configure:
> --target=mips-linux-gnu \
> --enable-targets=mips64-linux-gnuabi64,mips64-linux-gnuabin32
> The error message is like:
> undefined reference to `gold::Output_data_reloc_base<9, true, 32, false>::
Patch approved and applied.
Cheers
Nick
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 3/4] Gold/MIPS: Add targ_extra_size=64 for mips32 triples
2023-11-17 14:35 ` Nick Clifton
@ 2023-11-17 14:57 ` YunQiang Su
2023-11-20 12:11 ` Nick Clifton
0 siblings, 1 reply; 9+ messages in thread
From: YunQiang Su @ 2023-11-17 14:57 UTC (permalink / raw)
To: Nick Clifton; +Cc: YunQiang Su, binutils
[-- Attachment #1: Type: text/plain, Size: 555 bytes --]
Nick Clifton <nickc@redhat.com> 于 2023年11月17日周五 22:36写道:
> Hi YunQiang Su,
>
> > So we can enable 64bit ELF support for MIPS32 toolchain.
> >
> > This patch can fix build failure with configure:
> > --target=mips-linux-gnu \
> > --enable-targets=mips64-linux-gnuabi64,mips64-linux-gnuabin32
> > The error message is like:
> > undefined reference to `gold::Output_data_reloc_base<9, true, 32,
> false>::
>
> Patch approved and applied.
>
thanks. can i backport it to 2.41?
> Cheers
> Nick
>
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 3/4] Gold/MIPS: Add targ_extra_size=64 for mips32 triples
2023-11-17 14:57 ` YunQiang Su
@ 2023-11-20 12:11 ` Nick Clifton
0 siblings, 0 replies; 9+ messages in thread
From: Nick Clifton @ 2023-11-20 12:11 UTC (permalink / raw)
To: YunQiang Su; +Cc: YunQiang Su, binutils
Hi YunQiang Su,
> > This patch can fix build failure with configure:
> > --target=mips-linux-gnu \
> > --enable-targets=mips64-linux-gnuabi64,mips64-linux-gnuabin32
> > The error message is like:
> > undefined reference to `gold::Output_data_reloc_base<9, true, 32, false>::
>
> Patch approved and applied.
>
>
> thanks. can i backport it to 2.41?
Yes - please do.
Cheers
Nick
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-11-20 12:11 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-13 5:05 [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt YunQiang Su
2023-11-13 5:05 ` [PATCH v5 1/4] Gold: Add targ_extra_little_endian to configure.ac YunQiang Su
2023-11-13 5:05 ` [PATCH v5 2/4] Gold/MIPS: Drop mips*le/mips*el* triple pattern YunQiang Su
2023-11-13 5:05 ` [PATCH v5 3/4] Gold/MIPS: Add targ_extra_size=64 for mips32 triples YunQiang Su
2023-11-17 14:35 ` Nick Clifton
2023-11-17 14:57 ` YunQiang Su
2023-11-20 12:11 ` Nick Clifton
2023-11-13 5:05 ` [PATCH v5 4/4] Gold/MIPS: Add mips64*/mips64*el triple support YunQiang Su
2023-11-13 5:11 ` [PATCH v5 0/4] Gold/MIPS: Improve MIPS support in configure.tgt YunQiang Su
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).