This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: Define _STRING_ARCH_unaligned unconditionally


On 28-03-2014 10:46, Adhemerval Zanella wrote:
> On 28-03-2014 01:34, Carlos O'Donell wrote:
>> On 03/27/2014 10:27 AM, Adhemerval Zanella wrote:
>>> On 26-03-2014 14:42, Joseph S. Myers wrote:
>>>> On Wed, 26 Mar 2014, Adhemerval Zanella wrote:
>>>>
>>>>> This is a respin on my initial try to remove the undefined _STRING_ARCH_unaligned
>>>>> from PPC64 builds, but now extended to all arch that do not define it.  This patch
>>>>> defines _STRING_ARCH_unaligned to 0, mimicking old undefined behavior.
>>>>>
>>>>> --
>>>>>
>>>>> 	* bits/string.h (_STRING_ARCH_unaligned): Define it to 0.
>>>> I see various files in the source tree with #ifdef / #ifndef / "defined" 
>>>> conditionals on _STRING_ARCH_unaligned.  I don't think those are correct 
>>>> with it defined to 0, so I think you need to change all of those are part 
>>>> of the patch introducing the possibility that it might be defined to 0.
>>>>
>>>> crypt/sha256.c
>>>> iconv/gconv_simple.c
>>>> iconv/loop.c
>>>> iconv/skeleton.c
>>>> nscd/nscd_gethst_r.c
>>>> nscd/nscd_getserv_r.c
>>>> nscd/nscd_helper.c
>>>> resolv/res_send.c
>>>>
>> I verified this list and found no other uses with #ifdef or #ifndef
>> or #if define.
>>
>>> Indeed and fixed:
>>>
>>> --
>>>
>>> 	* bits/string.h (_STRING_ARCH_unaligned): Define it to 0.
>>> 	* crypt/sha256.c (_STRING_ARCH_unaligned): Check its value instead of its
>>> 	definition.
>>> 	* iconv/gconv_simple.c (_STRING_ARCH_unaligned): Likewise.
>>> 	* iconv/loop.c (_STRING_ARCH_unaligned): Likewise.
>>> 	* iconv/skeleton.c (_STRING_ARCH_unaligned): Likewise.
>>> 	* nscd/nscd_gethst_r.c (_STRING_ARCH_unaligned): Likewise.
>>> 	* nscd/nscd_getserv_r.c (_STRING_ARCH_unaligned): Likewise.
>>> 	* nscd/nscd_helper.c (_STRING_ARCH_unaligned): Likewise.
>>> 	* resolv/res_send.c (_STRING_ARCH_unaligned): Likewise.
>> This looks good to me as long as you verify the binaries
>> are identical before and after.
> I just checked on both PPC64 (default _STRING_ARCH_unaligned) and x86_64 (_STRING_ARCH_unaligned
> set to 1) and objdump -d are similar between builds.
>
>
>> Cheers,
>> Carlos.
>>
Pushed upstream as 27822ce67fbf7f2b204992a410e7da2e8c1e2607


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