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

Import 64-bit fixes and rewinddir from dcload-ip #27

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

QuzarDC
Copy link
Member

@QuzarDC QuzarDC commented Jan 11, 2025

More details in the commit notes. This should fix directory reading in dc-load serial on 64-bit hosts (pretty much everything). The biggest additional changes were that I set the max opened dirs to be 512 (since it's the host side we don't need to be so stingy with memory) and I had to make one commit prior to the main update in order to be able to compile on gcc14 and up.

@QuzarDC QuzarDC added bug Something isn't working enhancement New feature or request labels Jan 11, 2025
This was fixed by BlueCrab in 2013 for dcload-ip
and just never made it into dcload-serial. The issue
is that the original dcload was set up to just sent
the raw host-side `DIR *` over to the target. This
worked fine when those pointers were 32-bit, but as
hosts moved to 64-bit it simply broke.

Now instead, we keep a cache of those pointers and
assign an fd before sending over to the target.
This is maintaining the offset like dcload-ip, but
a PR will be forthcoming to update fs_dcload to
undo the hack on the dc side.
@QuzarDC
Copy link
Member Author

QuzarDC commented Jan 11, 2025

Force pushed just to fix the commit message where I'd mentioned rewinddir for no good reason. The reference was because this is implementing the 64-bit fix commit ( KallistiOS/dcload-ip@1105551 ) and addition of rewinddir which has that fix incorporated ( KallistiOS/dcload-ip@b552f03 ).

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

Successfully merging this pull request may close these issues.

1 participant