From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 47431 invoked by alias); 25 Oct 2016 17:55:04 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 47413 invoked by uid 89); 25 Oct 2016 17:55:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy=weak_alias, INLINE_SYSCALL, off64_t, __ALIGNMENT_ARG X-HELO: mail-ua0-f170.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=56qw810ZUYxudC0LRK06RJR4sO5azgx1WCSEswhfWDU=; b=UN196KC7pG0gvArKS3xuv+FqY3zfb0YDkI1jcFfVRVy3qPIAYIpYSve2ErMXPinpTT QHOSu82FvFq/rI1N9pmi/yTdX6XG9rne8MS3m/1HGzwMFqYjrC4SmFb9jylAqL1BbR+t hhpLK5XFHtXyyfh3H+phXbCGYkeNFwzdSO6ZSdn9OfbOnMewt3lkAncxJGeumD0fALfV +RJ61mDUyCm2kJEdOKOcnAxfiBgiYguX8+CW3ZKV1rX7y/6wjDulB2XUULrLimFeex21 oR57jHo95CQrycigeju70l7E+bj4A/1fMpjBd/fHCT5+GFZUnjmm1mmG4GXIGmh6OYYF i2VQ== X-Gm-Message-State: ABUngvfYbLfxv/QEdtrlx/YMmplJr62/4C8XsUw6aXn4nnL/i8KXyLchH2AykDSHpFjVpLaO X-Received: by 10.176.66.33 with SMTP id i30mr13535487uai.141.1477418091374; Tue, 25 Oct 2016 10:54:51 -0700 (PDT) Subject: Re: [PATCH 4/4] Consolidate Linux truncate implementations To: Yury Norov References: <1474383714-15187-1-git-send-email-adhemerval.zanella@linaro.org> <1474383714-15187-5-git-send-email-adhemerval.zanella@linaro.org> <20160922142442.GA5914@yury-N73SV> <330498bd-5430-94eb-f033-73236269be13@linaro.org> <20160922155131.GA20294@yury-N73SV> <6e461b86-63e1-0980-0b26-608cea3575a0@linaro.org> Cc: libc-alpha@sourceware.org From: Adhemerval Zanella Message-ID: <0beb6ef6-486f-6a47-5743-94ce16c4365c@linaro.org> Date: Tue, 25 Oct 2016 17:55:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <6e461b86-63e1-0980-0b26-608cea3575a0@linaro.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2016-10/txt/msg00437.txt.bz2 Ping. On 22/09/2016 16:04, Adhemerval Zanella wrote: > > > On 22/09/2016 12:51, Yury Norov wrote: >> On Thu, Sep 22, 2016 at 11:42:11AM -0300, Adhemerval Zanella wrote: >>> >>> >>> On 22/09/2016 11:24, Yury Norov wrote: >>>>> +/* Truncate PATH to LENGTH bytes. */ >>>>> int >>>>> -truncate64 (const char *path, off64_t length) >>>>> +__truncate64 (const char *path, off64_t length) >>>>> { >>>>> - unsigned int low = length & 0xffffffff; >>>>> - unsigned int high = length >> 32; >>>>> - int result = INLINE_SYSCALL (truncate64, 3, path, >>>>> - __LONG_LONG_PAIR (high, low)); >>>>> - return result; >>>>> + return INLINE_SYSCALL_CALL (truncate64, path, >>>>> + __ALIGNMENT_ARG SYSCALL_LL64 (length)); >>>>> } >>>>> +weak_alias (__truncate64, truncate64) >>>>> + >>>>> +#ifdef __OFF_T_MATCHES_OFF64_T >>>>> +weak_alias (__truncate64, truncate); >>>>> +#endif >>>> >>>> It seems you forgot weak_alias (__truncate64, __truncate); >>>> >>> >>> I do not think it requires to add __truncate alias since glibc currently >>> does have internal calls to truncate. >> >> Sorry, I was meaning __ftruncate: >> /home/yury/work/toolchain/build-glibc-aarch64-thunderx-linux-gnu-mabi-ilp32/libc_pic.os: >> In function `internal_fallocate': >> /home/yury/work/toolchain/gits/glibc/io/../sysdeps/posix/posix_fallocate.c:64: >> undefined reference to `__ftruncate' >> >> Truncate looks correct. >> The fix is like this to me: >> >> -- >> diff --git a/sysdeps/unix/sysv/linux/ftruncate64.c b/sysdeps/unix/sysv/linux/ftruncate64.c >> index 914ce67..4a00db5 100644 >> --- a/sysdeps/unix/sysv/linux/ftruncate64.c >> +++ b/sysdeps/unix/sysv/linux/ftruncate64.c >> @@ -33,5 +33,6 @@ __ftruncate64 (int fd, off64_t length) >> weak_alias (__ftruncate64, ftruncate64) >> >> #ifdef __OFF_T_MATCHES_OFF64_T >> +weak_alias (__ftruncate64, __ftruncate) >> weak_alias (__ftruncate64, ftruncate); >> #endif >> > > Ah right, the fallback posix_fallocate implementation. I will add this to > the patch, thanks. >