[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#942059: gcc-9-cross: uses “long” as “time_t” leading to failure on most new 32-bit architectures



Matthias Klose <doko@debian.org> writes:

> Control: severity -1 important
> Control: reassign -1 src:gcc-9-cross-ports
>
> As always, I appreciate your detailed analysis, level of detail
> (including the gcc-9-source version number), and thoroughly written
> bug report.  No, most 32bit archs build fine, it's just x32 having
> that issue.
>
> On 09.10.19 19:13, Thorsten Glaser wrote:
>> Source: gcc-9-cross
>> Version: 12
>> Severity: serious
>> Tags: ftbfs
>> Justification: fails to build from source (but built successfully in the past)
>>
>>
>> x86_64-linux-gnux32-g++-9 -fno-PIE -c -g -I-I../../src/gcc/gm2 -Igm2
>> -I../../src/gcc/gm2/gm2-gcc -Igm2/gm2-gcc -g -O2 -DIN_GCC
>> -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti
>> -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
>> -Wcast-qual -DHAVE_CONFIG_H -I. -Igm2 -I../../src/gcc
>> -I../../src/gcc/gm2 -I../../src/gcc/../include
>> -I../../src/gcc/../libcpp/include -I../../src/gcc/../libdecnumber
>> -I../../src/gcc/../libdecnumber/bid -I../libdecnumber
>> -I../../src/gcc/../libbacktrace -I. -Igm2 -I../../src/gcc
>> -I../../src/gcc/gm2 -I../../src/gcc/../include
>> -I../../src/gcc/../libcpp/include -I../../src/gcc/../libdecnumber
>> -I../../src/gcc/../libdecnumber/bid -I../libdecnumber
>> -I../../src/gcc/../libbacktrace ../../src/gcc/gm2/gm2-lang.c -o
>> gm2/gm2-lang.o
>> ../../src/gcc/gm2/m2.flex: In function 'void handleDate()':
>> ../../src/gcc/gm2/m2.flex:354:24: error: cannot convert 'long int*' to 'time_t*' {aka 'long long int*'}
>>    354 |   time_t  clock = time((long *)0);
>>        |                        ^~~~~~~~~
>>        |                        |
>>        |                        long int*
>> In file included from ../../src/gcc/system.h:337,
>>                   from ../../src/gcc/gm2/gm2-gcc/gcc-consolidation.h:23,
>>                   from ../../src/gcc/gm2/m2.flex:22:
>> /usr/include/time.h:75:29: note:   initializing argument 1 of 'time_t time(time_t*)'
>>     75 | extern time_t time (time_t *__timer) __THROW;
>>        |                     ~~~~~~~~^~~~~~~
>> make[5]: *** [../../src/gcc/gm2/Make-lang.in:1124: gm2/gm2-compiler-boot/m2flex.o] Error 1

Hi Matthias,

many thanks for the report - will fix this,



regards,
Gaius


Reply to: