This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch x64 SEH]: Sort pdata section ascending


On 09/14/2010 10:18 AM, Kai Tietz wrote:
> +	    && pfinfo->contents != NULL)

This is already checked by cofflink.c here:

>   if ((finfo.internal_syms == NULL && max_sym_count > 0)
>       || (finfo.sec_ptrs == NULL && max_sym_count > 0)
>       || (finfo.sym_indices == NULL && max_sym_count > 0)
>       || finfo.outsyms == NULL
>       || (finfo.linenos == NULL && max_lineno_count > 0)
>       || (finfo.contents == NULL && max_contents_size > 0)
>       || (finfo.external_relocs == NULL && max_reloc_count > 0)
>       || (! info->relocatable
>           && finfo.internal_relocs == NULL
>           && max_reloc_count > 0))
>     goto error_return;

So delete that condition.

> +  bfd_vma vl, vr;
> +  vl = bfd_getl32 (lp); vr = bfd_getl32 (rp);
> +  if (vl != vr)
> +    return (vl < vr ? -1 : 1);
> +  vl = bfd_getl32 (lp + 4); vr = bfd_getl32 (rp + 4);
> +  if (vl != vr)
> +    return (vl < vr ? -1 : 1);
> +  vl = bfd_getl32 (lp + 8); vr = bfd_getl32 (rp + 8);
> +  if (vl != vr)
> +    return (vl < vr ? -1 : 1);
> +  return 0;

Isn't the start address the only thing that matters here?
We really shouldn't have overlapping entries.  Certainly
the pointer into the .xdata section should not be included
in the sort order; that's totally irrelevant.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]