re PR other/54800 (libiberty/simple-object-mach-o.c:704: possible optimisation ?)

PR other/54800
	* simple-object-mach-o.c (simple_object_mach_o_segment): Don't
	bother to zero out a buffer we are about to set anyhow.

From-SVN: r194914
This commit is contained in:
Ian Lance Taylor 2013-01-04 19:00:06 +00:00 committed by Ian Lance Taylor
parent 918d445f1f
commit ad8c59a1b9
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2013-01-04 Ian Lance Taylor <iant@google.com>
PR other/54800
* simple-object-mach-o.c (simple_object_mach_o_segment): Don't
bother to zero out a buffer we are about to set anyhow.
2013-01-01 David Edelsohn <dje.gcc@gmail.com> 2013-01-01 David Edelsohn <dje.gcc@gmail.com>
* simple-object-xcoff.c: New file. * simple-object-xcoff.c: New file.

View File

@ -1,5 +1,5 @@
/* simple-object-mach-o.c -- routines to manipulate Mach-O object files. /* simple-object-mach-o.c -- routines to manipulate Mach-O object files.
Copyright 2010, 2011 Free Software Foundation, Inc. Copyright 2010, 2011, 2013 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google. Written by Ian Lance Taylor, Google.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
@ -701,12 +701,13 @@ simple_object_mach_o_segment (simple_object_read *sobj, off_t offset,
/* Otherwise, make a name like __segment,__section as per the /* Otherwise, make a name like __segment,__section as per the
convention in mach-o asm. */ convention in mach-o asm. */
name = &namebuf[0]; name = &namebuf[0];
memset (namebuf, 0, MACH_O_NAME_LEN * 2 + 2);
memcpy (namebuf, (char *) sechdr + segname_offset, MACH_O_NAME_LEN); memcpy (namebuf, (char *) sechdr + segname_offset, MACH_O_NAME_LEN);
namebuf[MACH_O_NAME_LEN] = '\0';
l = strlen (namebuf); l = strlen (namebuf);
namebuf[l] = ','; namebuf[l] = ',';
memcpy (namebuf + l + 1, (char *) sechdr + sectname_offset, memcpy (namebuf + l + 1, (char *) sechdr + sectname_offset,
MACH_O_NAME_LEN); MACH_O_NAME_LEN);
namebuf[l + 1 + MACH_O_NAME_LEN] = '\0';
} }
simple_object_mach_o_section_info (omr->is_big_endian, is_32, sechdr, simple_object_mach_o_section_info (omr->is_big_endian, is_32, sechdr,