Lines Matching refs:data
1 /* Test program for changing data in one section (but not others) with gaps.
46 Elf_Data *data = elf_newdata (strtab);
47 if (data == NULL)
49 printf ("cannot create data SHSTRTAB section: %s\n", elf_errmsg (-1));
53 data->d_buf = (char *) str; /* Discards const, but we will not change. */
54 data->d_type = ELF_T_BYTE;
55 data->d_size = size;
56 data->d_align = 1;
57 data->d_version = EV_CURRENT;
132 printf ("Add data section %s\n", sname);
164 /* Add some data, but less than alignment. */
165 Elf_Data *data = elf_newdata (scn);
166 if (data == NULL)
171 data->d_buf = sec_data;
172 data->d_size = 5;
176 check_data (const char *sname, Elf_Data *data, char *buf)
178 printf ("check data %s [", sname);
182 if (data == NULL || data->d_buf == NULL)
184 printf ("No data in section %s\n", sname);
188 if (data->d_size != 5 || memcmp (data->d_buf, buf, 5) != 0)
190 printf ("Wrong data in section %s [", sname);
191 for (size_t i = 0; i < data->d_size; i++)
192 printf ("%d%s", ((char *)data->d_buf)[i],
193 i < data->d_size - 1 ? "," : "");
284 /* We are going to change some data (in-place), but want the layout
296 // Get third data section and change it.
312 // Get all data, but don't really use it
314 Elf_Data *data = elf_getdata (scn, NULL);
315 if (data != NULL && data->d_buf != NULL && data->d_size == 0)
317 printf ("Bad data...n");
329 Elf_Data *data = elf_getdata (checkscn, NULL);
330 check_data (".data3", data, sec_data);
331 memcpy (data->d_buf, new_data, 5);
332 elf_flagdata (data, ELF_C_SET, ELF_F_DIRTY);
365 // Get all .data sections and check them.
397 data = elf_getdata (scn1, NULL);
398 check_data (".data1", data, sec_data);
405 data = elf_getdata (scn2, NULL);
406 check_data (".data2", data, sec_data);
413 data = elf_getdata (scn3, NULL);
414 check_data (".data3", data, new_data);
421 data = elf_getdata (scn4, NULL);
422 check_data (".data4", data, sec_data);