|
1 | 1 | --- a/jail/elf.c
|
2 | 2 | +++ b/jail/elf.c
|
3 |
| -@@ -240,18 +240,18 @@ int elf_load_deps(const char *path, cons |
4 |
| - |
5 |
| - gcc_mips64_bug_work_around = 1; |
6 |
| - #endif |
| 3 | +@@ -236,18 +236,18 @@ int elf_load_deps(const char *path, cons |
| 4 | + unsigned long load_offset, load_vaddr; |
| 5 | + unsigned long interp_offset; |
| 6 | + |
7 | 7 | - if (elf_find_section(map, PT_LOAD, &load_offset, NULL, &load_vaddr)) {
|
8 | 8 | - ERROR("failed to load the .load section from %s\n", path);
|
9 | 9 | - return -1;
|
10 | 10 | + if (elf_find_section(map, PT_INTERP, &interp_offset, NULL, NULL) == 0) {
|
11 | 11 | + add_path_and_deps(map+interp_offset, 1, -1, 0);
|
12 | 12 | }
|
13 |
| - |
| 13 | + |
14 | 14 | - if (elf_find_section(map, PT_DYNAMIC, &dyn_offset, &dyn_size, NULL)) {
|
15 | 15 | - ERROR("failed to load the .dynamic section from %s\n", path);
|
16 | 16 | - return -1;
|
17 | 17 | + if (elf_find_section(map, PT_LOAD, &load_offset, NULL, &load_vaddr)) {
|
18 | 18 | + DEBUG("failed to load the .load section from %s\n", path);
|
19 | 19 | + return 0;
|
20 | 20 | }
|
21 |
| - |
| 21 | + |
22 | 22 | - if (elf_find_section(map, PT_INTERP, &interp_offset, NULL, NULL) == 0) {
|
23 | 23 | - add_path_and_deps(map+interp_offset, 1, -1, 0);
|
24 | 24 | + if (elf_find_section(map, PT_DYNAMIC, &dyn_offset, &dyn_size, NULL)) {
|
25 | 25 | + DEBUG("failed to load the .dynamic section from %s\n", path);
|
26 | 26 | + return 0;
|
27 | 27 | }
|
28 |
| - |
| 28 | + |
29 | 29 | int clazz = map[EI_CLASS];
|
0 commit comments