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] elf: don't modify file names used with .file/.appfile


On Mon, Jul 27, 2009 at 07:53:01AM +0100, Jan Beulich wrote:
> >>> Alan Modra <amodra@bigpond.net.au> 25.07.09 08:02 >>>
> >On Fri, Jul 24, 2009 at 01:16:45PM +0100, Jan Beulich wrote:
> >> --- 2009-07-24/gas/config/obj-elf.c	2009-07-23 15:06:32.000000000 +0200
> >> +++ 2009-07-24/gas/config/obj-elf.c	2009-07-24 10:18:46.000000000 +0200
> >> @@ -260,9 +260,20 @@ elf_file_symbol (const char *s, int appf
> >>        || (symbol_rootP->bsym->flags & BSF_FILE) == 0)
> >>      {
> >>        symbolS *sym;
> >> +      unsigned int name_length;
> >>  
> >>        sym = symbol_new (s, absolute_section, 0, NULL);
> >>        symbol_set_frag (sym, &zero_address_frag);
> >> +
> >> +      name_length = strlen (s);
> >> +      if (name_length > strlen (S_GET_NAME (sym)))
> >> +	{
> >> +	  obstack_grow (&notes, s, name_length + 1);
> >> +	  S_SET_NAME (sym, obstack_finish (&notes));
> >> +	}
> >> +      else
> >
> >No need for any of the above, just do the strcpy.  We know the
> >size allocated is large enough for the original name even when
> >tc_canonicalize_symbol_name trims the symbol name.
> 
> I don't think that would work: mmix, for example, strips a leading ':' by
> just incrementing the pointer to the beginning of the string (and without

You are right of course.  I missed noticing that
tc_canonicalize_symbol_name could do that.

> looking further I'd expect that to be the preferable method of stripping
> a prefix), and hence we can't make assumptions on the amount of space
> valid past what S_GET_NAME() returns.
> 
> >> +	strcpy ((char *)S_GET_NAME (sym), s);
> >
> >Space after cast.  OK otherwise.
> 
> With the above comment, and with the space added - okay with no
> other changes?

Yes, OK.

-- 
Alan Modra
Australia Development Lab, IBM


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