AeThex-Engine-Core/engine/thirdparty/libbacktrace/patches/0001-big-files-support.patch
MrPiglr 9dddce666d
🚀 AeThex Engine v1.0 - Complete Fork
- Forked from Godot Engine 4.7-dev (MIT License)
- Rebranded to AeThex Engine with cyan/purple theme
- Added AI-powered development assistant module
- Integrated Claude API for code completion & error fixing
- Custom hexagon logo and branding
- Multi-platform CI/CD (Windows, Linux, macOS)
- Built Linux editor binary (151MB)
- Complete source code with all customizations

Tech Stack:
- C++ game engine core
- AI Module: Claude 3.5 Sonnet integration
- Build: SCons, 14K+ source files
- License: MIT (Godot) + Custom (AeThex features)

Ready for Windows build via GitHub Actions!
2026-02-23 05:01:56 +00:00

43 lines
1.2 KiB
Diff

diff --git a/thirdparty/libbacktrace/read.c b/thirdparty/libbacktrace/read.c
index 7af66602fd..a7e937667c 100644
--- a/thirdparty/libbacktrace/read.c
+++ b/thirdparty/libbacktrace/read.c
@@ -52,14 +52,7 @@ backtrace_get_view (struct backtrace_state *state, int descriptor,
{
uint64_t got;
ssize_t r;
-
- if ((uint64_t) (size_t) size != size)
- {
- error_callback (data, "file size too large", 0);
- return 0;
- }
-
- if (lseek (descriptor, offset, SEEK_SET) < 0)
+ if (_lseeki64 (descriptor, offset, SEEK_SET) < 0)
{
error_callback (data, "lseek", errno);
return 0;
@@ -72,9 +65,13 @@ backtrace_get_view (struct backtrace_state *state, int descriptor,
view->len = size;
got = 0;
+ void *ptr = view->base;
while (got < size)
{
- r = read (descriptor, view->base, size - got);
+ uint64_t sz = size - got;
+ if (sz > INT_MAX)
+ sz = INT_MAX;
+ r = _read (descriptor, ptr, sz);
if (r < 0)
{
error_callback (data, "read", errno);
@@ -84,6 +81,7 @@ backtrace_get_view (struct backtrace_state *state, int descriptor,
if (r == 0)
break;
got += (uint64_t) r;
+ ptr += r;
}
if (got < size)