> There is still an issue with unstrip which depends on comparing section
> names for unallocated sections. New binutils gas names all group
> sections ".group" and unstrip would need to compare the signature symbol
> names in case of a SHT_GROUP section. I have not fixed that yet.

unstrip on ET_REL files is really only intended to work for the limited
case of .ko-style files, so this may not really be a practical problem.
unstrip always has to be a bit fuzzy (hence the by-name matching), so I'm
not sure it can really solve this problem.

> +           /* If a group section is marked as being removed make
> +              sure all the sections it contains are being remove, too.  */
Typo:                                                              ^d

> +           if (shdr_info[cnt].shdr.sh_type == SHT_GROUP)
> +             {
> +               Elf32_Word *grpref;
> +               grpref = (Elf32_Word *) shdr_info[cnt].data->d_buf;

This is a getdata buffer, right?  i.e. it's been byte-swapped if needed.

> +               for (size_t in = 1;
> +                    in < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
> +                    ++in)
> +                 if (shdr_info[grpref[in]].idx != 0)

At least for the robustify branch (and IMHO might as well do it in trunk)
this should check for a bogon in GRPREF rather than using a wild index.

> @@ -883,6 +899,7 @@ handle_elf (int fd, Elf *elf, const char *prefix, const 
> char *fname,
>         bool discard_section = (shdr_info[cnt].idx > 0
>                                 && shdr_info[cnt].debug_data == NULL
>                                 && shdr_info[cnt].shdr.sh_type != SHT_NOTE
> +                               && shdr_info[cnt].shdr.sh_type != SHT_GROUP
>                                 && cnt != ehdr->e_shstrndx);

I'm not clear on all the control logic without reading through it all again.
But does this prevent it ever removing SHT_GROUP sections?  They ought to
be removed iff all their constituents were removed.


Thanks,
Roland
_______________________________________________
elfutils-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/elfutils-devel

Reply via email to