Skip to content

Commit 9086d2f

Browse files
committed
Merge pull request facebook#12 from mringwal/master
Also rebind symbols in __DATA_CONST segment
2 parents ae2bc09 + 8327b28 commit 9086d2f

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

fishhook.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ typedef struct nlist nlist_t;
4545
#define LC_SEGMENT_ARCH_DEPENDENT LC_SEGMENT
4646
#endif
4747

48+
#ifndef SEG_DATA_CONST
49+
#define SEG_DATA_CONST "__DATA_CONST"
50+
#endif
51+
4852
struct rebindings_entry {
4953
struct rebinding *rebindings;
5054
size_t rebindings_nel;
@@ -147,7 +151,8 @@ static void rebind_symbols_for_image(struct rebindings_entry *rebindings,
147151
for (uint i = 0; i < header->ncmds; i++, cur += cur_seg_cmd->cmdsize) {
148152
cur_seg_cmd = (segment_command_t *)cur;
149153
if (cur_seg_cmd->cmd == LC_SEGMENT_ARCH_DEPENDENT) {
150-
if (strcmp(cur_seg_cmd->segname, SEG_DATA) != 0) {
154+
if (strcmp(cur_seg_cmd->segname, SEG_DATA) != 0 &&
155+
strcmp(cur_seg_cmd->segname, SEG_DATA_CONST) != 0) {
151156
continue;
152157
}
153158
for (uint j = 0; j < cur_seg_cmd->nsects; j++) {

0 commit comments

Comments
 (0)