Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use appropriate values objects (gcc8) #33

Closed
wants to merge 1 commit into from

Conversation

citrus-it
Copy link
Member

No description provided.

Comment on lines 205 to 206
std=c89|std=c90|std=gnu89|std=gnu90:; \
std=c90|std=gnu90:values-xpg4.o%s; \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems weirdly phrased?

Copy link
Member Author

@citrus-it citrus-it Jan 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the second line (206) needs removing, or the first changing to just match c89.. thanks.

gcc/config/sol2.h Show resolved Hide resolved
ansi|std=c*|std=iso9899\\:199409:values-Xc.o%s; \
:values-Xa.o%s} \
%{ \
std=c89|std=c90|std=gnu89|std=gnu90:; \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this not leave us failing to select values-xpg4 at all now?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh. Right! I remember this now, I think.

This is the thing where there's no compiler-y flag that actually implies xpg4, because that's entirely orthogonal to the C standard (whereas xpg6 and c99 are intimately connected), right?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strictly speaking xpg6 implies c99, but the way we've done everything per lib/libc/inc/xpg6.h basically says that c99 behavior is values-xpg6.o. And I guess we'd want to make sure that we're in c11 mode as well.

xpg4 requires c89, but I think that your general note is correct that at least as libc is concerned, xpg4 is orthogonal to the C standard.

Copy link
Member Author

@citrus-it citrus-it Jan 9, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A somewhat naïve comparison between gcc-7-il and gcc-8 with this patch is below:
The results are consistent apart from gnu99 and gnu11 without -ansi. Do either of you have any insights on that?
(edit: I removed the 32-bit object results since they are identical and just make the table longer than necessary)

@tsoome - was this one of the sources of your problems with gcc9 and _lib_version?

flags gcc7 gcc8
c89 64 Xa Xa
c89 64 -ansi Xa Xa
c90 64 Xa Xa
c90 64 -ansi Xa Xa
c99 64 Xc xpg6 Xc xpg6
c99 64 -ansi Xc xpg6 Xc xpg6
c11 64 Xc xpg6 Xc xpg6
c11 64 -ansi Xc xpg6 Xc xpg6
gnu89 64 Xa Xa
gnu89 64 -ansi Xa Xa
gnu90 64 Xa Xa
gnu90 64 -ansi Xa Xa
gnu99 64 Xc xpg6 Xa xpg6
gnu99 64 -ansi Xc xpg6 Xc xpg6
gnu11 64 Xc xpg6 Xa xpg6
gnu11 64 -ansi Xc xpg6 Xc xpg6

@citrus-it citrus-it marked this pull request as ready for review January 15, 2020 15:13
@citrus-it citrus-it changed the title Use appropriate values objects Use appropriate values objects (gcc8) Jan 15, 2020
@citrus-it citrus-it closed this Nov 5, 2020
@citrus-it citrus-it deleted the il-8-values branch November 5, 2020 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants