Experiment with macho64 #86
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Build | |
on: push | |
jobs: | |
# build-ubuntu-clang: | |
# name: ubuntu-clang | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Clone the grug submodule | |
# run: git submodule update --init | |
# - name: Install nasm | |
# run: sudo apt install nasm | |
# - name: Run the tests | |
# run: ./tests.sh | |
# env: | |
# OLD_LD: | |
# build-ubuntu-clang-asan: | |
# name: ubuntu-clang-asan | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Clone the grug submodule | |
# run: git submodule update --init | |
# - name: Install nasm | |
# run: sudo apt install nasm | |
# - name: Run the tests | |
# run: ./tests.sh | |
# env: | |
# OLD_LD: | |
# ASAN: | |
# build-ubuntu-clang-valgrind: | |
# name: ubuntu-clang-valgrind | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Clone the grug submodule | |
# run: git submodule update --init | |
# - name: Install nasm | |
# run: sudo apt install nasm | |
# - name: Install valgrind | |
# run: sudo apt install valgrind | |
# - name: Run the tests | |
# run: ./tests.sh | |
# env: | |
# OLD_LD: | |
# VALGRIND: | |
# build-ubuntu-gcc: | |
# name: ubuntu-gcc | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Clone the grug submodule | |
# run: git submodule update --init | |
# - name: Install nasm | |
# run: sudo apt install nasm | |
# - name: Run the tests | |
# run: ./tests.sh | |
# env: | |
# OLD_LD: | |
# CC: gcc | |
# build-ubuntu-gcc-asan: | |
# name: ubuntu-gcc-asan | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Clone the grug submodule | |
# run: git submodule update --init | |
# - name: Install nasm | |
# run: sudo apt install nasm | |
# - name: Run the tests | |
# run: ./tests.sh | |
# env: | |
# OLD_LD: | |
# CC: gcc | |
# ASAN: | |
# build-ubuntu-gcc-valgrind: | |
# name: ubuntu-gcc-valgrind | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Clone the grug submodule | |
# run: git submodule update --init | |
# - name: Install nasm | |
# run: sudo apt install nasm | |
# - name: Install valgrind | |
# run: sudo apt install valgrind | |
# - name: Run the tests | |
# run: ./tests.sh | |
# env: | |
# OLD_LD: | |
# CC: gcc | |
# VALGRIND: | |
# TODO: REMOVE! | |
# build-foo-clang: | |
# name: foo-clang | |
# runs-on: macos-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Print clang version | |
# run: clang --version | |
# - name: Build | |
# run: clang foo.c -o foo -Wfatal-errors | |
# - name: Run | |
# run: ./foo | |
# TODO: REMOVE! | |
# build-foo-gcc: | |
# name: foo-gcc | |
# runs-on: macos-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Build | |
# # `gcc` is a nasty symlink to clang, so we use the absolute path of gcc here | |
# run: /opt/homebrew/Cellar/gcc/14.2.0/bin/gcc-14 foo.c -o foo -Wfatal-errors -Wno-pragmas | |
# - name: Run | |
# run: ./foo | |
build-mac-clang: | |
name: mac-clang | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Clone the grug submodule | |
run: git submodule update --init | |
- name: Install nasm | |
run: brew install nasm | |
- name: Install binutils | |
run: brew install binutils | |
- name: Symlink readelf to bin | |
run: sudo ln -s /opt/homebrew/opt/binutils/bin/readelf /usr/local/bin/readelf | |
- name: Experiment with macho64 | |
run: nasm -fmacho64 magic.s -o magic.dylib | |
- name: Compile main.c | |
run: clang main.c -o main | |
- name: Run main | |
run: ./main | |
# - name: Run the tests | |
# run: ./tests.sh | |
# env: | |
# OLD_LD: | |
# build-mac-clang-asan: | |
# name: mac-clang-asan | |
# runs-on: macos-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# TODO: Copy what goes here from the mac-clang job | |
# - name: Run the tests | |
# run: ./tests.sh | |
# env: | |
# OLD_LD: | |
# ASAN: |