This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] [BZ #19363] Use INTERNAL_SYSCALL_TIMES for Linux times


On 14 Dec 2015 20:33, H.J. Lu wrote:
> On Mon, Dec 14, 2015 at 7:59 PM, Mike Frysinger wrote:
> > On 14 Dec 2015 19:27, H.J. Lu wrote:
> >> +  ({                                                                 \
> >> +    unsigned long long int resultvar;                                        \
> >> +    LOAD_ARGS_1 (buf)                                                        \
> >> +    LOAD_REGS_1                                                              \
> >> +    asm volatile (                                                   \
> >> +    "syscall\n\t"                                                    \
> >> +    : "=a" (resultvar)                                                       \
> >> +    : "0" (__NR_times) ASM_ARGS_1 : "memory", "cc", "r11", "cx");    \
> >
> > should the cc/r11/cx be made into a sysdep define ?
> > -mike
> 
> I don't feel strongly about it.  Glibc folks work on x86-64 system calls
> know what they are doing.

that sort of thinking is what leads to desync in code paths (it's not
obvious at all that updates to the common sysdep.h needs to also be
deployed to this specific file), plus gcc changes behavior over time
and refines asm constraints.  i'm sure you can find plenty of these
examples in the diff arches as i recall them going by in the past.

not that i'm strongly saying "make the define", just taking umbrage
to your statement here.
-mike

Attachment: signature.asc
Description: Digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]