[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.21.2005021408420.3602499@eddie.linux-mips.org>
Date: Sat, 2 May 2020 14:34:06 +0100 (BST)
From: "Maciej W. Rozycki" <macro@...ux-mips.org>
To: Fangrui Song <maskray@...gle.com>
cc: Nathan Chancellor <natechancellor@...il.com>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Masahiro Yamada <masahiroy@...nel.org>,
linux-mips@...r.kernel.org, linux-kernel@...r.kernel.org,
clang-built-linux@...glegroups.com, linux-kbuild@...r.kernel.org,
Nick Desaulniers <ndesaulniers@...gle.com>,
Sami Tolvanen <samitolvanen@...gle.com>,
Dmitry Golovin <dima@...ovin.in>,
Sedat Dilek <sedat.dilek@...il.com>
Subject: Re: [PATCH v4 4/5] MIPS: VDSO: Use $(LD) instead of $(CC) to link
VDSO
On Tue, 28 Apr 2020, Fangrui Song wrote:
> Sigh... -G 0. This is an option ignored by LLD. GCC devs probably should
> have used the long option --gpsize rather than take the short option -G.
> Even better, -z gpsize= or similar if this option is specific to ELF.
Well, the `-G' option is some 30 years old and comes from RISC-OS where
the vendor linker had it; it was already present with the initial MIPS
port of GCC:
commit fe3ec4f798ceea52e1b542b481670b83c12347fd
Author: Michael Meissner <meissner@....gnu.org>
Date: Sun Dec 1 05:02:56 1991 +0000
Initial revision
From-SVN: r88
specifically:
+#define LINK_SPEC "%{G*} \
there, so I don't know of what GCC developers' choice you are talking
about.
Much of GCC legacy comes from various vendors' compilation systems; in
this case it was the MIPS Computer Systems (aka MIPSCO) compiler. There
may not have been a GNU linker port to RISC-OS at that point (or ever),
and the assembler and linker invocation interfaces were kept compatible as
ports were added to individual GNU development tools, for obvious reasons.
I still remember using GCC with vendor's assembler and linker on DEC
Ultrix/MIPS myself many years ago, to overcome some vendor compiler's
limitations.
And FTR this was still a few years before ELF was even invented; MIPS OSs
used the COFF binary format back then.
Sorry. I think it's LLVM/LLD that ignores compatibility, not the other
way round.
Maciej
Powered by blists - more mailing lists