gprofng: Fix build with 64bit file offset on 32bit machines

Message ID 20230731223140.3343971-1-raj.khem@gmail.com
State Unresolved
Headers
Series gprofng: Fix build with 64bit file offset on 32bit machines |

Checks

Context Check Description
snail/binutils-gdb-check warning Git am fail log

Commit Message

Khem Raj July 31, 2023, 10:31 p.m. UTC
  gprofng/ChangeLog
2023-07-31  Khem Raj <raj.khem@gmail.com>

* libcollector/iotrace.c: Define open64, fgetpos64, and fsetpos64
  only when __USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not
  defined.
---
 gprofng/libcollector/iotrace.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
  

Comments

Vladimir Mezentsev Aug. 1, 2023, 6:05 p.m. UTC | #1
Hi Khem,

Please check it in.

Thank you for the fix gprofng.
-Vladimir

On 7/31/23 15:31, Khem Raj via Binutils wrote:
> gprofng/ChangeLog
> 2023-07-31  Khem Raj <raj.khem@gmail.com>
>
> * libcollector/iotrace.c: Define open64, fgetpos64, and fsetpos64
>    only when __USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not
>    defined.
> ---
>   gprofng/libcollector/iotrace.c | 9 ++++++---
>   1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/gprofng/libcollector/iotrace.c b/gprofng/libcollector/iotrace.c
> index c0ea7497b09..81c844048d9 100644
> --- a/gprofng/libcollector/iotrace.c
> +++ b/gprofng/libcollector/iotrace.c
> @@ -1030,8 +1030,9 @@ gprofng_open64 (int(real_open64) (const char *, int, ...),
>     }
>   
>   DCL_FUNC_VER (DCL_OPEN64, open64_2_2, open64@GLIBC_2.2)
> +#if !defined(__USE_LARGEFILE64)
>   DCL_OPEN64 (open64)
> -
> +#endif
>   
>   #define F_ERROR_ARG     0
>   #define F_INT_ARG       1
> @@ -2989,8 +2990,9 @@ DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_17, fgetpos64@GLIBC_2.17)
>   DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_2_5, fgetpos64@GLIBC_2.2.5)
>   DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_2, fgetpos64@GLIBC_2.2)
>   DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_1, fgetpos64@GLIBC_2.1)
> +#if !defined(__USE_LARGEFILE64)
>   DCL_FGETPOS64 (fgetpos64)
> -
> +#endif
>   /*------------------------------------------------------------- fsetpos */
>   static int
>   gprofng_fsetpos (int(real_fsetpos) (FILE *, const fpos_t *),
> @@ -3087,8 +3089,9 @@ DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_17, fsetpos64@GLIBC_2.17)
>   DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_2_5, fsetpos64@GLIBC_2.2.5)
>   DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_2, fsetpos64@GLIBC_2.2)
>   DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_1, fsetpos64@GLIBC_2.1)
> +#if !defined(__USE_LARGEFILE64)
>   DCL_FSETPOS64 (fsetpos64)
> -
> +#endif
>   /*------------------------------------------------------------- fsync */
>   int
>   fsync (int fildes)
  
Khem Raj Aug. 1, 2023, 6:10 p.m. UTC | #2
On 8/1/23 11:05 AM, Vladimir Mezentsev wrote:
> Hi Khem,
> 
> Please check it in.
> 

I don't have write access. Someone needs to install it for me.

> Thank you for the fix gprofng.
> -Vladimir
> 
> On 7/31/23 15:31, Khem Raj via Binutils wrote:
>> gprofng/ChangeLog
>> 2023-07-31  Khem Raj <raj.khem@gmail.com>
>>
>> * libcollector/iotrace.c: Define open64, fgetpos64, and fsetpos64
>>    only when __USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not
>>    defined.
>> ---
>>   gprofng/libcollector/iotrace.c | 9 ++++++---
>>   1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/gprofng/libcollector/iotrace.c 
>> b/gprofng/libcollector/iotrace.c
>> index c0ea7497b09..81c844048d9 100644
>> --- a/gprofng/libcollector/iotrace.c
>> +++ b/gprofng/libcollector/iotrace.c
>> @@ -1030,8 +1030,9 @@ gprofng_open64 (int(real_open64) (const char *, 
>> int, ...),
>>     }
>>   DCL_FUNC_VER (DCL_OPEN64, open64_2_2, open64@GLIBC_2.2)
>> +#if !defined(__USE_LARGEFILE64)
>>   DCL_OPEN64 (open64)
>> -
>> +#endif
>>   #define F_ERROR_ARG     0
>>   #define F_INT_ARG       1
>> @@ -2989,8 +2990,9 @@ DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_17, 
>> fgetpos64@GLIBC_2.17)
>>   DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_2_5, fgetpos64@GLIBC_2.2.5)
>>   DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_2, fgetpos64@GLIBC_2.2)
>>   DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_1, fgetpos64@GLIBC_2.1)
>> +#if !defined(__USE_LARGEFILE64)
>>   DCL_FGETPOS64 (fgetpos64)
>> -
>> +#endif
>>   /*------------------------------------------------------------- 
>> fsetpos */
>>   static int
>>   gprofng_fsetpos (int(real_fsetpos) (FILE *, const fpos_t *),
>> @@ -3087,8 +3089,9 @@ DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_17, 
>> fsetpos64@GLIBC_2.17)
>>   DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_2_5, fsetpos64@GLIBC_2.2.5)
>>   DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_2, fsetpos64@GLIBC_2.2)
>>   DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_1, fsetpos64@GLIBC_2.1)
>> +#if !defined(__USE_LARGEFILE64)
>>   DCL_FSETPOS64 (fsetpos64)
>> -
>> +#endif
>>   /*------------------------------------------------------------- 
>> fsync */
>>   int
>>   fsync (int fildes)
>
  
Vladimir Mezentsev Aug. 2, 2023, 4:03 a.m. UTC | #3
On 8/1/23 11:10, Khem Raj wrote:
> On 8/1/23 11:05 AM, Vladimir Mezentsev wrote:
>> Hi Khem,
>>
>> Please check it in.
>>
>
> I don't have write access. Someone needs to install it for me.

I did.

-Vladimir
  

Patch

diff --git a/gprofng/libcollector/iotrace.c b/gprofng/libcollector/iotrace.c
index c0ea7497b09..81c844048d9 100644
--- a/gprofng/libcollector/iotrace.c
+++ b/gprofng/libcollector/iotrace.c
@@ -1030,8 +1030,9 @@  gprofng_open64 (int(real_open64) (const char *, int, ...),
   }
 
 DCL_FUNC_VER (DCL_OPEN64, open64_2_2, open64@GLIBC_2.2)
+#if !defined(__USE_LARGEFILE64)
 DCL_OPEN64 (open64)
-
+#endif
 
 #define F_ERROR_ARG     0
 #define F_INT_ARG       1
@@ -2989,8 +2990,9 @@  DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_17, fgetpos64@GLIBC_2.17)
 DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_2_5, fgetpos64@GLIBC_2.2.5)
 DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_2, fgetpos64@GLIBC_2.2)
 DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_1, fgetpos64@GLIBC_2.1)
+#if !defined(__USE_LARGEFILE64)
 DCL_FGETPOS64 (fgetpos64)
-
+#endif
 /*------------------------------------------------------------- fsetpos */
 static int
 gprofng_fsetpos (int(real_fsetpos) (FILE *, const fpos_t *),
@@ -3087,8 +3089,9 @@  DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_17, fsetpos64@GLIBC_2.17)
 DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_2_5, fsetpos64@GLIBC_2.2.5)
 DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_2, fsetpos64@GLIBC_2.2)
 DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_1, fsetpos64@GLIBC_2.1)
+#if !defined(__USE_LARGEFILE64)
 DCL_FSETPOS64 (fsetpos64)
-
+#endif
 /*------------------------------------------------------------- fsync */
 int
 fsync (int fildes)