Skip to content

Empty antler-run with eos-vm and eosiolib linked#94

Merged
dimas1185 merged 14 commits intomainfrom
antler-run-base
Feb 13, 2023
Merged

Empty antler-run with eos-vm and eosiolib linked#94
dimas1185 merged 14 commits intomainfrom
antler-run-base

Conversation

@dimas1185
Copy link
Contributor

@dimas1185 dimas1185 commented Jan 24, 2023

#79

Challenges:

  • eosiolib haven't been built with gcc. it was only built with cdt-cpp before. However when we included eosiolib into antler-run we got chicken and egg problem: all tools are built with default compiler (gcc in case of Ubuntu) and then eosiolib built with those tools. Solution was to slightly change eosiolib to be built with gcc. So now we have two versions of eosiolib lib for different purposes.
  • Another challenge was to built 'eosiolib' with standard library (previously it was only built with custom standard lib that is located in libraries/libc++. The reason to use standard library is because of we add eos-vm as well and there were a lot to fix to get it along with custom libc++. Libc++ lacks fstream and other stuff that is needed by eos-vm.
  • native library was also added to antler-run. Issue with it was that we can't have our own _start with standard library. So this code was split to avoid this function included for antler-run binary. native library now also has two native builds with different toolchains (gcc and cdt-cpp).

Note: there is a decision to remove Mac support. This PR maintains Mac support in order to makes changes distinct. I'm planning to make another PR to remove Mac support.

Change Description

API Changes

  • API Changes

Documentation Additions

  • Documentation Additions

This reverts commit f926d59.
Copy link
Contributor

@larryk85 larryk85 left a comment

Choose a reason for hiding this comment

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

Small changes, other than that looking good.

mov %rdx, %rsp
mov 56(%rdi), %rdx
jmp *%rdx
syscall No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

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

We can remove this macho_crt.s for the time being as we don't support mac os directly for the foreseeable future.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I wanted to do this in a separate commit, as there are few more places with mac os specifics.

Copy link
Contributor

@ScottBailey ScottBailey left a comment

Choose a reason for hiding this comment

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

lgtm

Copy link
Contributor

@larryk85 larryk85 left a comment

Choose a reason for hiding this comment

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

Does this break anything currently in use? If it does then let's make a branch called next_release and merge to that.

@dimas1185
Copy link
Contributor Author

@larryk85 tests are fine and binary workflow supposed to be unchanged, I made two different implementations - crt.cpp and crt_lib.cpp. later is only used for shared library

@dimas1185 dimas1185 merged commit 950e741 into main Feb 13, 2023
@dimas1185 dimas1185 deleted the antler-run-base branch February 13, 2023 19:42
nathanielhourt pushed a commit to dapp-protocols/leap-cdt that referenced this pull request Feb 26, 2023
dimas1185 added a commit that referenced this pull request Jun 8, 2023
dimas1185 added a commit that referenced this pull request Sep 21, 2023
dimas1185 added a commit that referenced this pull request Oct 3, 2023
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.

4 participants