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

Remove custom headers provided by GCC #644

Merged
merged 2 commits into from
Jul 9, 2024
Merged

Conversation

fjtrujy
Copy link
Member

@fjtrujy fjtrujy commented Jul 8, 2024

Description

This PR requires first some changes on the GCC patches for IOP, as it must generate the headers instead of using a custom one from ps2sdk.

IOP changes in GCC are now even smaller (almost everything vanilla):
fjtrujy/gcc@1c9e538

I have checked OPL and it actually works fine (at least boot).

So in order to merge this PR we need first to apply the new GCC patch.

Cheers.

@uyjulian
Copy link
Member

uyjulian commented Jul 8, 2024

Another possibility is __has_include checks and define own types if header non existent

@fjtrujy
Copy link
Member Author

fjtrujy commented Jul 9, 2024

Another possibility is __has_include checks and define own types if header non existent

But why is that going to be necessary if header for sure will exists?
With the new IOP GCC changes it generates it for mipsel-ps2-irx on the same way that it is also generated for mipsel-none-elf.

I think this is a good step for approaching to a more standard toolchain for IOP too.

@Wolf3s
Copy link
Contributor

Wolf3s commented Jul 9, 2024

Description

This PR requires first some changes on the GCC patches for IOP, as it must generate stdint.h instead of using a custom one in ps2sdk.

IOP changes in GCC are now even smaller (almost everything vanilla): fjtrujy/gcc@1c9e538

I have checked OPL and it actually works fine (at least boot).

So in order to merge this PR we need first to apply the new GCC patch.

Cheers.

Could go this pr go to other custom headers as well?

@fjtrujy
Copy link
Member Author

fjtrujy commented Jul 9, 2024

Description

This PR requires first some changes on the GCC patches for IOP, as it must generate stdint.h instead of using a custom one in ps2sdk.
IOP changes in GCC are now even smaller (almost everything vanilla): fjtrujy/gcc@1c9e538
I have checked OPL and it actually works fine (at least boot).
So in order to merge this PR we need first to apply the new GCC patch.
Cheers.

Could go this pr go to other custom headers as well?

Just stdint.h and limits.h are the only headers that can be removed from ps2sdk/iop as GCC just generates the next headers:

/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/float.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/gcov.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/iso646.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/limits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson-mmiintrin.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/msa.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdalign.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdarg.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdatomic.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdbool.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdckdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stddef.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdfix.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdnoreturn.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/syslimits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/tgmath.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/unwind.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/varargs.h

@Wolf3s
Copy link
Contributor

Wolf3s commented Jul 9, 2024

Description

This PR requires first some changes on the GCC patches for IOP, as it must generate stdint.h instead of using a custom one in ps2sdk.
IOP changes in GCC are now even smaller (almost everything vanilla): fjtrujy/gcc@1c9e538
I have checked OPL and it actually works fine (at least boot).
So in order to merge this PR we need first to apply the new GCC patch.
Cheers.

Could go this pr go to other custom headers as well?

Just stdint.h and limits.h are the only headers that can be removed from ps2sdk/iop as GCC just generates the next headers:

/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/float.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/gcov.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/iso646.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/limits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson-mmiintrin.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/msa.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdalign.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdarg.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdatomic.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdbool.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdckdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stddef.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdfix.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdnoreturn.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/syslimits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/tgmath.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/unwind.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/varargs.h

You could remove as well the limits.h.

@fjtrujy
Copy link
Member Author

fjtrujy commented Jul 9, 2024

Description

This PR requires first some changes on the GCC patches for IOP, as it must generate stdint.h instead of using a custom one in ps2sdk.
IOP changes in GCC are now even smaller (almost everything vanilla): fjtrujy/gcc@1c9e538
I have checked OPL and it actually works fine (at least boot).
So in order to merge this PR we need first to apply the new GCC patch.
Cheers.

Could go this pr go to other custom headers as well?

Just stdint.h and limits.h are the only headers that can be removed from ps2sdk/iop as GCC just generates the next headers:

/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/float.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/gcov.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/iso646.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/limits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson-mmiintrin.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/msa.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdalign.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdarg.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdatomic.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdbool.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdckdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stddef.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdfix.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdnoreturn.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/syslimits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/tgmath.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/unwind.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/varargs.h

You could remove as well the limits.h.

It is removed already

@Wolf3s
Copy link
Contributor

Wolf3s commented Jul 9, 2024

Description

This PR requires first some changes on the GCC patches for IOP, as it must generate stdint.h instead of using a custom one in ps2sdk.
IOP changes in GCC are now even smaller (almost everything vanilla): fjtrujy/gcc@1c9e538
I have checked OPL and it actually works fine (at least boot).
So in order to merge this PR we need first to apply the new GCC patch.
Cheers.

Could go this pr go to other custom headers as well?

Just stdint.h and limits.h are the only headers that can be removed from ps2sdk/iop as GCC just generates the next headers:

/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/float.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/gcov.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/iso646.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/limits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson-mmiintrin.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/msa.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdalign.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdarg.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdatomic.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdbool.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdckdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stddef.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdfix.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdnoreturn.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/syslimits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/tgmath.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/unwind.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/varargs.h

You could remove as well the limits.h.

It is removed already

Ok, now the pr should be name Remove custom stdint and limits

@fjtrujy fjtrujy changed the title Remove custom stdint Remove custom headers provided by GCC Jul 9, 2024
@fjtrujy
Copy link
Member Author

fjtrujy commented Jul 9, 2024

Description

This PR requires first some changes on the GCC patches for IOP, as it must generate stdint.h instead of using a custom one in ps2sdk.
IOP changes in GCC are now even smaller (almost everything vanilla): fjtrujy/gcc@1c9e538
I have checked OPL and it actually works fine (at least boot).
So in order to merge this PR we need first to apply the new GCC patch.
Cheers.

Could go this pr go to other custom headers as well?

Just stdint.h and limits.h are the only headers that can be removed from ps2sdk/iop as GCC just generates the next headers:

/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/float.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/gcov.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/iso646.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/limits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson-mmiintrin.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/msa.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdalign.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdarg.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdatomic.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdbool.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdckdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stddef.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdfix.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdnoreturn.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/syslimits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/tgmath.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/unwind.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/varargs.h

You could remove as well the limits.h.

It is removed already

Ok, now the pr should be name Remove custom stdint and limits

Done already

@fjtrujy fjtrujy merged commit 85aab1c into ps2dev:master Jul 9, 2024
3 checks passed
@fjtrujy fjtrujy deleted the stdint_iop branch July 9, 2024 17:26
@Wolf3s
Copy link
Contributor

Wolf3s commented Jul 9, 2024

Description

This PR requires first some changes on the GCC patches for IOP, as it must generate stdint.h instead of using a custom one in ps2sdk.
IOP changes in GCC are now even smaller (almost everything vanilla): fjtrujy/gcc@1c9e538
I have checked OPL and it actually works fine (at least boot).
So in order to merge this PR we need first to apply the new GCC patch.
Cheers.

Could go this pr go to other custom headers as well?

Just stdint.h and limits.h are the only headers that can be removed from ps2sdk/iop as GCC just generates the next headers:

/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/float.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/gcov.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/iso646.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/limits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson-mmiintrin.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/loongson.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/msa.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdalign.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdarg.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdatomic.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdbool.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdckdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stddef.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdfix.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdint.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/stdnoreturn.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/syslimits.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/tgmath.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/unwind.h
/ps2dev/iop/lib/gcc/mipsel-ps2-irx/14.1.0/include/varargs.h

You could remove as well the limits.h.

It is removed already

Ok, now the pr should be name Remove custom stdint and limits

Done already

Ok, At least less gcc implementations to ps2sdk. Although it should be nice if there was a way to remove all gcc implementations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants