git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] cache.h: eliminate SHA-1 deprecation warnings on OS X 10.8

From
David Aguilar <davvid@gmail.com>
Date
May 11, 2013, 07:11 UTC
Message-ID
<CAJDDKr6QkeSk32kNhU_QuvrZSGUEokcEbN7Aq3PcOhvaA_hFgg@mail.gmail.com>
In-Reply-To
<20130511062336.GD3394@elie>
On Fri, May 10, 2013 at 11:23 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 19 quoted lines
> Hi,
>
> David Aguilar wrote:
>
>> Mac OS X Mountain Lion prints warnings when building git:
>>
>>       warning: 'SHA1_Init' is deprecated
>>       (declared at /usr/include/openssl/sha.h:121)
>>
>> Silence the warnings by using the Common Digest SHA-1
>> functions for SHA1_Init(), SHA1_Update(), and SHA1_Final().
>
> Thanks.
>
> Does this perform better or worse than just setting
> BLK_SHA1=YesPlease?  I'd naively think it could go either way: on one
> hand adding another library dependency can slow down startup, and on
> the other hand the implementation may or may not be optimized better
> than the generic block-sha1/ implementation.
Pretty much identical.

Here are the timings (I should probably read t/perf/README and get better numbers):

Best of ten $ time git rev-list --all --objects >/dev/null

# master git rev-list --all --objects > /dev/null 5.16s user 0.11s system 99% cpu 5.277 total

# BLK_SHA1 git rev-list --all --objects > /dev/null 5.17s user 0.11s system 99% cpu 5.299 total

# CommonDigest git rev-list --all --objects > /dev/null 5.18s user 0.11s system 99% cpu 5.301 total

The library startup cost is identical to master since at the end of the day it's still libcrypto.

FWIW the way it's done in this patch still allows defining BLK_SHA1, which is parity with how the Makefile behaves on Linux.

Re-roll? -- David

Previous: Jonathan NiederNext: Jeff King
Message 3 of 8 in “cache.h: eliminate SHA-1 deprecation warnings on OS X 10.8”
  1. cache.h: eliminate SHA-1 deprecation warnings on OS X 10.8David Aguilar, May 11, 2013
  2. Jonathan NiederMay 11, 2013
  3. David AguilarMay 11, 2013
  4. Jeff KingMay 11, 2013
  5. David AguilarMay 11, 2013
  6. Jeff KingMay 11, 2013
  7. David AguilarMay 11, 2013
  8. Jeff KingMay 11, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.