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

Multifile support #152

Open
BacchusFLT opened this issue Dec 22, 2023 · 2 comments
Open

Multifile support #152

BacchusFLT opened this issue Dec 22, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@BacchusFLT
Copy link

I do believe we have talked about this via mail, and I can see aspects of how this would be difficult, but I would really like to see multifile support.

Today there is a hard link between a file and the disassembly, but my suggestion is that it would be possible to add several files to a project and that they would be seen as a combined virtual memory space. To simplify the topic a bit, I would be perfectly fine to have a requirement that the files couldn't be overlapping, to dodge the can of worms deriving from allowing overlap.

Think of the suggestion as an on-the-fly build of a larger file, only that it is built from several subfiles.

@fadden
Copy link
Owner

fadden commented Dec 22, 2023

There are some separate but related things that fall into the "multi-file" bucket:

  1. Automatic sharing of common symbols. For example, Stellar 7 has a graphics engine component and a couple of things (game, demo) that load into the same area at different times. It's possible to share symbols with explicit imports or shared .sym65 files, but it's not very convenient.
  2. Constructing a "virtual image" from multiple binaries. You can do this now by concatenating the binaries together, but this will generate a single large source file, which will in turn assemble to a single large binary.
  3. Outputting raw binaries as part of source generation. We had a discussion a while back about splitting out large data-only sections into a binary file, as there's no real value in having a large source file with nothing but data statements in it. (Issue "Collapse to external file" #144)
  4. Generating multiple source files, for large binaries with overlays (Allow generation of multi-file sources #115).

@fadden fadden added the enhancement New feature or request label Dec 22, 2023
@BacchusFLT
Copy link
Author

Point 3 is another discussion and that's a separate topic. Still very relevant.

I was thinking of 2, and the "virtual" would be building that binary on the fly.

I see the point in 1 and 4, but I have yet to dive into projects where it's relevant. I guess I excluded them from the request when I was ok with this being restricted to a collection of files that aren't overlapping.

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

No branches or pull requests

2 participants