Opened 9 months ago

Closed 8 months ago

#21507 closed enhancement (fixed)

gcc-15.1 (Wait for LFS)

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 12.4
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

I know we have another ticket (#21500) for package issues with gcc-15, but this is for gcc itself. Using the instructions for gcc-14:

1534.8 Elapsed Time -  gcc-15.1.0
 
md5sum : e55d13c55428bca27b4d2ea02f883135  /usr/src/gcc/gcc-15.1.0.tar.xz
95968 /usr/src/gcc/gcc-15.1.0.tar.xz SIZE (93.718 MB)
12278520 kilobytes BUILD SIZE (11990.742 MB)
SBU=17.641
BFLAGS=-j8

For the tests none of the five seds for removing tests were used:

                === gcc Summary ===

# of expected passes            215966
# of unexpected failures        73

                === g++ Summary ===

# of expected passes            248266
# of unexpected failures        1

      === gotools Summary ===
# of expected passes    415
# of unexpected failures   2

      === libgo Summary ===

# of expected passes    195
# of unexpected failures   1

      === libgomp Summary ===

# of expected passes    16957
# of unexpected failures   6

The gcc failures are mostly in gcc.dg/guality/ but there are a significant number of XPASS entries there also. There is one failure in gcc.dg/sarif-output/bad-pragma.c and there are four failures in gcc.target/i386/pr90579.c.

The tests took 58m18.977s at -j8 (40.2 SBU). Disk usage increased by 1373 MB (1.4 GB) for tests.

Attachments (1)

gcc-15.1.0-fix_i686_issues-1.patch (6.9 KB ) - added by thomas 9 months ago.
First version of a hack

Download all attachments as: .zip

Change History (9)

comment:1 by thomas, 9 months ago

We might add a note to the users telling that gcc does not compile when 'cobol' is in the list of enabled languages and architecture isn't x86_64.

Reason: They use size_t as type for a bitmask field but size_t is only 4 byte in i686 but they need at least 5 bytes. That is in libgcobol/common-defs.h where cbl_field_attr_t gets defined.

(I've tried to replace that size_t with uint64_t (needs seds in 3 files) but finally it results in a linkage error - so i'm not yet done, dunno if i ever will be)

Last edited 9 months ago by thomas (previous) (diff)

in reply to:  1 comment:2 by Douglas R. Reno, 9 months ago

Replying to thomas:

We might add a note to the users telling that gcc does not compile when 'cobol' is in the list of enabled languages and architecture isn't x86_64.

Reason: They use size_t as type for a bitmask field but size_t is only 4 byte in i686 but they need at least 5 bytes. That is in libgcobol/common-defs.h where cbl_field_attr_t gets defined.

(I've tried to replace that size_t with uint64_t (needs seds in 3 files) but finally it results in a linkage error - so i'm not yet done, dunno if i ever will be)

This sounds like a good plan to me

by thomas, 9 months ago

First version of a hack

comment:3 by thomas, 9 months ago

With the patch it seems to compile. I do not say: '... it seems to work'.

There are a lot of warnings in genapi.cc or so about format placeholders like %ld while the argument is another type of int. That has its reason in the authors being big fans of type 'size_t', they uses it all over, but unfortunately, size_t has different size on different archs. That is for example something like

16752 |                     "_%s_data_%lu",
      |                               ~~^
      |                                 |
      |                                 long unsigned int
      |                               %u
16753 |                     new_var->name,
16754 |                     sv_data_name_counter++);
      |                     ~~~~~~~~~~~~~~~~~~~~~~
      |                                         |
      |                                         size_t {aka unsigned int}

comment:4 by Xi Ruoyao, 9 months ago

Currently Cobol is only supposed to work on x86_64 and arm64. Please just disable it for i686.

comment:5 by thomas, 9 months ago

Right, even though the patch makes it compilable, it does not run:

<built-in>: sorry, unimplemented: COBOL requires a 64-bit configuration

It might be a bit overambitionated for now to try making it available on i686 ... Too bad.

comment:6 by Bruce Dubbs, 9 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:7 by Bruce Dubbs, 9 months ago

Summary: gcc-15.1gcc-15.1 (Wait for LFS)

comment:8 by Bruce Dubbs, 8 months ago

Resolution: fixed
Status: assignedclosed

Fixed at commit 27c4cd7b50.

Note: See TracTickets for help on using tickets.