mirror of
https://github.com/pmret/gcc-papermario.git
synced 2024-09-19 15:21:40 +02:00
Mips target (#15)
* mips target * re-add section attribute support * revert target for test * test * test2 * test * refactor build script * macro * here goes nothin * here goes nothin again * here goes nothin again twice * abandon all hope, ye who enter here * gcc will rue the day
This commit is contained in:
parent
490f006528
commit
2fe5dbafa1
54
.github/workflows/build.yml
vendored
54
.github/workflows/build.yml
vendored
@ -13,13 +13,13 @@ jobs:
|
|||||||
OS: 'ubuntu-latest',
|
OS: 'ubuntu-latest',
|
||||||
CFLAGS: '-std=gnu89 -m32 -static',
|
CFLAGS: '-std=gnu89 -m32 -static',
|
||||||
HOST: 'i386-pc-linux',
|
HOST: 'i386-pc-linux',
|
||||||
ARCHIVE_NAME: 'linux.tar.gz'
|
ARCHIVE_NAME: 'linux.tar'
|
||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
OS: 'macos-latest',
|
OS: 'macos-latest',
|
||||||
CFLAGS: '-std=gnu89 -Wno-return-type -Wno-error -Wno-implicit-function-declaration',
|
CFLAGS: '-std=gnu89 -Wno-return-type -Wno-error -Wno-implicit-function-declaration',
|
||||||
HOST: 'i386-apple-darwin',
|
HOST: 'i386-apple-darwin',
|
||||||
ARCHIVE_NAME: 'mac.tar.gz'
|
ARCHIVE_NAME: 'mac.tar'
|
||||||
}
|
}
|
||||||
|
|
||||||
name: Building cc1 for ${{ matrix.TARGET.OS }}
|
name: Building cc1 for ${{ matrix.TARGET.OS }}
|
||||||
@ -37,42 +37,52 @@ jobs:
|
|||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install -y gcc-6 gcc-6-multilib
|
sudo apt install -y gcc-6 gcc-6-multilib
|
||||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 1
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 1
|
||||||
- name: Configure
|
- name: Configure for mips-nintendo-nu64
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
./configure --target=mips-nintendo-nu64 --prefix=/opt/cross --with-gnu-as --disable-gprof --disable-gdb --disable-werror --host=${{ matrix.TARGET.HOST }} --build=${{ matrix.TARGET.HOST }}
|
./configure --target=mips-nintendo-nu64 --prefix=/opt/cross --with-gnu-as --disable-gprof --disable-gdb --disable-werror --host=${{ matrix.TARGET.HOST }} --build=${{ matrix.TARGET.HOST }}
|
||||||
- name: Make
|
- name: Make everything except cpp
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
make cpp CFLAGS="${{ matrix.TARGET.CFLAGS }}"
|
make cpp cc1 xgcc cc1plus g++ CFLAGS="${{ matrix.TARGET.CFLAGS }}"
|
||||||
make cc1 CFLAGS="${{ matrix.TARGET.CFLAGS }}"
|
|
||||||
make xgcc CFLAGS="${{ matrix.TARGET.CFLAGS }}"
|
|
||||||
make cc1plus CFLAGS="${{ matrix.TARGET.CFLAGS }}"
|
|
||||||
make g++ CFLAGS="${{ matrix.TARGET.CFLAGS }}"
|
|
||||||
- name: Test for file
|
- name: Test for file
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
test -f cc1
|
test -f cc1
|
||||||
file cc1
|
file cc1
|
||||||
- name: Upload output
|
- name: Start release archive
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: cc1-${{ matrix.TARGET.OS }}
|
|
||||||
path: |
|
|
||||||
cpp
|
|
||||||
cc1
|
|
||||||
xgcc
|
|
||||||
cc1plus
|
|
||||||
g++
|
|
||||||
- name: Create release archive
|
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
cp xgcc gcc
|
cp xgcc gcc
|
||||||
tar -czf ${{ matrix.TARGET.ARCHIVE_NAME }} cpp cc1 gcc cc1plus g++
|
tar -cf ${{ matrix.TARGET.ARCHIVE_NAME }} cc1 gcc cc1plus g++
|
||||||
|
- name: Clean
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
make clean
|
||||||
|
- name: Configure for mips
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
./configure --target=mips --prefix=/opt/cross --with-gnu-as --disable-gprof --disable-gdb --disable-werror --host=${{ matrix.TARGET.HOST }} --build=${{ matrix.TARGET.HOST }}
|
||||||
|
- name: Make cpp
|
||||||
|
continue-on-error: true
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
make cpp CFLAGS="${{ matrix.TARGET.CFLAGS }}"
|
||||||
|
- name: Add cpp to release archive
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
tar -uf ${{ matrix.TARGET.ARCHIVE_NAME }} cpp
|
||||||
|
gzip -9 ${{ matrix.TARGET.ARCHIVE_NAME }}
|
||||||
|
- name: Upload archive
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: gcc-2.7.1-${{ matrix.TARGET.OS }}
|
||||||
|
path: |
|
||||||
|
${{ matrix.TARGET.ARCHIVE_NAME }}.gz
|
||||||
- name: Update release
|
- name: Update release
|
||||||
uses: johnwbyrd/update-release@v1.0.0
|
uses: johnwbyrd/update-release@v1.0.0
|
||||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
files: ${{ matrix.TARGET.ARCHIVE_NAME }}
|
files: ${{ matrix.TARGET.ARCHIVE_NAME }}.gz
|
||||||
|
@ -4074,3 +4074,8 @@ while (0)
|
|||||||
true. */
|
true. */
|
||||||
|
|
||||||
#define DONT_ACCESS_GBLS_AFTER_EPILOGUE (TARGET_ABICALLS && mips_abi != ABI_32)
|
#define DONT_ACCESS_GBLS_AFTER_EPILOGUE (TARGET_ABICALLS && mips_abi != ABI_32)
|
||||||
|
|
||||||
|
#define ASM_OUTPUT_SECTION_NAME(FILE, DECL, NAME, RELOC)\
|
||||||
|
do { \
|
||||||
|
fprintf (FILE, "\t.section %s\n", NAME); \
|
||||||
|
} while (0)
|
Loading…
Reference in New Issue
Block a user