From: vineet.gupta1@synopsys.com (Vineet Gupta)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH 00/21] glibc port to ARC processors
Date: Thu, 20 Dec 2018 17:55:58 -0800 [thread overview]
Message-ID: <0f83e63b-dc21-0809-9295-1dde08ab3cc7@synopsys.com> (raw)
In-Reply-To: <alpine.DEB.2.21.1812182349510.30183@digraph.polyomino.org.uk>
On 12/18/18 3:52 PM, Joseph Myers wrote:
> On Tue, 18 Dec 2018, Vineet Gupta wrote:
>
>> At any rate, the generated code will likely be different for -Os and otherwise,
>> does that mean entries get added conditionally to localplt.data etc ?
>
> Entries *can* have a "?" to indicate they are optional
OK.
> (although avoiding
> the PLT reference is better - see how include/string.h does asm
> redirection of mempcpy and stpcpy, or likewise in
> sysdeps/wordsize-32/divdi3-symbol-hacks.h, for example).
In libc.so, the extra PLT entry for memcpy
| 00106034 00047837 R_ARC_JMP_SLOT 00066d5c memcpy@@GLIBC_2.27 + 0
|
...
| 1bec8: ld r12,[pcl,0xea16c] ;106034 <memcpy@@GLIBC_2.27+0x9f2d8>
| 1bed0: j.d [r12]
| 1bed4: mov r12,pcl
is due to linkage of a generic libgcc routine fp-bit.c
| 000d79c4 <_fpadd_parts>:
|...
| d7a1a: bl -768848 ;1bec8 <.plt+0xd0>
|
that in turn is likely due to struct assignment in the routine
|static const fp_number_type *
|_fpadd_parts (fp_number_type * a,
| fp_number_type * b,
| fp_number_type * tmp)
|{
| ...
| if (iszero (a))
| {
| *tmp = *a;
So this is classic case of gcc -Os in action, generating a memcpy vs. in-place
LD/ST based copy.
So I guess we just add "?" to localplt.data
>> ARC historically has supported both LE/BE, but we are kind of moving
>> away from BE and as far as I know, there's no-one actively working with
>> BE (except 1 specific customer with legact cores). It is safe to assume
>> we won't support BE and this is sort of easier said for ARC processors
>> as they have many many hardware config knobs and not all are supported
>> for Linux usecase, so BE can be considered as such.
>
> In that case, there should be a #error in bits/endian.h, or a
> configure-time error, or something like that, to make clear the glibc port
> does not support BE.
OK, I'll add that.
next prev parent reply other threads:[~2018-12-21 1:55 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-18 21:04 [PATCH 00/21] glibc port to ARC processors Vineet Gupta
2018-12-18 21:04 ` [PATCH 01/21] longlong.h: sync from gcc to fix ARC inline asm constraints Vineet Gupta
2018-12-18 22:56 ` Joseph Myers
2018-12-18 23:11 ` Vineet Gupta
2018-12-21 18:46 ` Joseph Myers
2018-12-21 19:07 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 02/21] ARC: add definitions to elf/elf.h Vineet Gupta
2018-12-18 21:04 ` [PATCH 03/21] ARC: ABI Implementation Vineet Gupta
2018-12-18 23:09 ` Joseph Myers
2018-12-19 2:00 ` Vineet Gupta
2018-12-19 17:40 ` Joseph Myers
2018-12-19 20:20 ` Vineet Gupta
2018-12-19 20:37 ` Joseph Myers
2019-01-28 23:03 ` ARC binutils init/fini (was Re: [PATCH 03/21] ARC: ABI Implementation) Vineet Gupta
2019-01-28 23:13 ` Joseph Myers
2019-01-28 23:42 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 04/21] ARC: startup and dynamic linking code Vineet Gupta
2018-12-18 23:24 ` Joseph Myers
2018-12-19 0:52 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 05/21] ARC: Thread Local Storage support Vineet Gupta
2018-12-18 21:04 ` [PATCH 06/21] ARC: Atomics and Locking primitives Vineet Gupta
2018-12-18 23:15 ` Joseph Myers
2019-01-15 0:40 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 07/21] ARC: math soft float support Vineet Gupta
2018-12-18 23:23 ` Joseph Myers
2018-12-19 0:01 ` Joseph Myers
2018-12-20 21:35 ` Vineet Gupta
2018-12-21 1:08 ` Vineet Gupta
2018-12-21 1:19 ` Joseph Myers
2018-12-18 21:04 ` [PATCH 08/21] ARC: Linux Syscall Interface Vineet Gupta
2018-12-18 23:30 ` Joseph Myers
2018-12-19 2:39 ` Vineet Gupta
2018-12-19 17:58 ` ARC vs. generic sigaction (was Re: [PATCH 08/21] ARC: Linux Syscall Interface) Vineet Gupta
2018-12-19 18:07 ` Joseph Myers
2018-12-19 22:00 ` Adhemerval Zanella
2018-12-19 22:23 ` Vineet Gupta
2018-12-20 11:19 ` Adhemerval Zanella
2018-12-20 12:06 ` Arnd Bergmann
2018-12-20 19:25 ` Vineet Gupta
2018-12-20 12:40 ` Florian Weimer
2018-12-20 18:48 ` Vineet Gupta
2019-01-03 13:10 ` Florian Weimer
2018-12-20 19:23 ` Vineet Gupta
2018-12-20 20:06 ` Adhemerval Zanella
2018-12-20 20:46 ` Vineet Gupta
2018-12-21 12:05 ` Adhemerval Zanella
2019-01-09 21:49 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 09/21] ARC: Linux ABI Vineet Gupta
2018-12-18 23:38 ` Joseph Myers
2018-12-19 19:57 ` Vineet Gupta
2018-12-19 20:36 ` Joseph Myers
2018-12-21 23:06 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 10/21] ARC: Linux Startup and Dynamic Loading Vineet Gupta
2018-12-18 23:49 ` Joseph Myers
2018-12-19 20:26 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 11/21] ARC: ABI lists Vineet Gupta
2018-12-18 22:31 ` Andreas Schwab
2018-12-18 22:32 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 12/21] ARC: Update syscall-names.list for ARC specific syscalls Vineet Gupta
2018-12-18 21:26 ` Florian Weimer
2018-12-18 21:29 ` Vineet Gupta
2018-12-19 8:16 ` Florian Weimer
2018-12-18 21:04 ` [PATCH 13/21] ARC: Build Infrastructure Vineet Gupta
2018-12-18 23:44 ` Joseph Myers
2018-12-19 21:58 ` Vineet Gupta
2018-12-19 22:17 ` Joseph Myers
2018-12-20 23:21 ` Vineet Gupta
2018-12-20 23:24 ` Joseph Myers
2019-01-29 23:36 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 14/21] ARC: Enable __start as entry point vs. canonical _start Vineet Gupta
2018-12-18 21:28 ` Florian Weimer
2018-12-18 21:31 ` Vineet Gupta
2018-12-18 22:59 ` Joseph Myers
2018-12-18 23:08 ` Vineet Gupta
2018-12-19 20:36 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 15/21] ARC: testsuite fix: elf/check-initfini Vineet Gupta
2018-12-18 21:04 ` [PATCH 16/21] ARC: testsuite fix: sysvipc/* Vineet Gupta
2018-12-18 21:04 ` [PATCH 17/21] ARC: testsuite fix: stdlib/tst-makecontext Vineet Gupta
2018-12-18 22:36 ` Andreas Schwab
2019-01-21 22:32 ` Vineet Gupta
2018-12-18 21:04 ` [PATCH 18/21] ARC: testsuite fix: GD TLS issue Vineet Gupta
2018-12-18 21:04 ` [PATCH 19/21] ARC: fix several unwining and cancelation tests Vineet Gupta
2018-12-18 21:04 ` [PATCH 20/21] build-many-glibcs.py: Enable ARC builds Vineet Gupta
2018-12-18 21:04 ` [PATCH 21/21] NEWS: mention ARC port Vineet Gupta
2018-12-18 23:45 ` Joseph Myers
2018-12-19 18:30 ` Vineet Gupta
2018-12-18 22:52 ` [PATCH 00/21] glibc port to ARC processors Joseph Myers
2018-12-18 23:07 ` Vineet Gupta
2018-12-18 23:52 ` Joseph Myers
2018-12-21 1:55 ` Vineet Gupta [this message]
2018-12-21 14:32 ` Joseph Myers
2018-12-21 17:36 ` Vineet Gupta
2018-12-18 23:11 ` Joseph Myers
2018-12-19 23:45 ` Vineet Gupta
2018-12-20 0:14 ` Joseph Myers
2018-12-20 0:51 ` Vineet Gupta
2018-12-20 21:22 ` test related questions (was Re: [PATCH 00/21] glibc port to ARC processors) Vineet Gupta
2018-12-20 21:59 ` Joseph Myers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0f83e63b-dc21-0809-9295-1dde08ab3cc7@synopsys.com \
--to=vineet.gupta1@synopsys.com \
--cc=linux-snps-arc@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.