Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/USAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,13 @@ Fix 64bit inodes.
* 0: Do not fix 64bit inodes. [Default]
* 1: Fix 64bit inodes.

### BOX64_FORCE_LD_PRELOAD

Force symbols from BOX64_LD_PRELOAD libraries to be resolved by RTLD_NEXT.

* 0: Do nothing. [Default]
* 1: Force symbols from BOX64_LD_PRELOAD libraries to be resolved by RTLD_NEXT.

### BOX64_IGNOREINT3

Ignore INT3 instructions.
Expand Down
8 changes: 8 additions & 0 deletions docs/box64.pod
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,14 @@ Fix 64bit inodes.
* 1 : Fix 64bit inodes.


=item B<BOX64_FORCE_LD_PRELOAD> =I<0|1>

Force symbols from BOX64_LD_PRELOAD libraries to be resolved by RTLD_NEXT.

* 0 : Do nothing. [Default]
* 1 : Force symbols from BOX64_LD_PRELOAD libraries to be resolved by RTLD_NEXT.


=item B<BOX64_IGNOREINT3> =I<0|1>

Ignore INT3 instructions.
Expand Down
18 changes: 18 additions & 0 deletions docs/gen/usage.json
Original file line number Diff line number Diff line change
Expand Up @@ -1099,6 +1099,24 @@
}
]
},
{
"name": "BOX64_FORCE_LD_PRELOAD",
"description": "Force symbols from BOX64_LD_PRELOAD libraries to be resolved by RTLD_NEXT.",
"category": "Compatibility",
"wine": false,
"options": [
{
"key": "0",
"description": "Do nothing.",
"default": true
},
{
"key": "1",
"description": "Force symbols from BOX64_LD_PRELOAD libraries to be resolved by RTLD_NEXT.",
"default": false
}
]
},
{
"name": "BOX64_IGNOREINT3",
"description": "Ignore INT3 instructions.",
Expand Down
1 change: 1 addition & 0 deletions src/include/env.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ extern char* ftrace_name;
STRING(BOX64_ENV5, env5, 0) \
BOOLEAN(BOX64_EXIT, exit, 0, 0) \
BOOLEAN(BOX64_FIX_64BIT_INODES, fix_64bit_inodes, 0, 0) \
BOOLEAN(BOX64_FORCE_LD_PRELOAD, force_ld_preload, 0, 0) \
BOOLEAN(BOX64_IGNOREINT3, ignoreint3, 0, 0) \
STRING(BOX64_INSERT_ARGS, insert_args, 0) \
BOOLEAN(BOX64_INPROCESSGPU, inprocessgpu, 0, 0) \
Expand Down
2 changes: 1 addition & 1 deletion src/librarian/librarian.c
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ int GetNextSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uin
// search in needed libs from preloaded first, in order
if(my_context->preload)
for(int i=0; i<my_context->preload->size; ++i) {
if(next) {
if (next || BOX64ENV(force_ld_preload)) {
if(GetLibGlobalSymbolStartEnd(my_context->preload->libs[i], name, start, end, size, &weak, &version, &vername, 0, &veropt, elfsym)) {
return 1;
}
Expand Down
Loading