From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 79063 invoked by alias); 25 Aug 2018 21:51:43 -0000 Mailing-List: contact libc-help-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: libc-help-owner@sourceware.org Received: (qmail 79046 invoked by uid 89); 25 Aug 2018 21:51:42 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:937, Phone, phone X-HELO: mail-oi0-f47.google.com Received: from mail-oi0-f47.google.com (HELO mail-oi0-f47.google.com) (209.85.218.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 25 Aug 2018 21:51:41 +0000 Received: by mail-oi0-f47.google.com with SMTP id 8-v6so21214313oip.0 for ; Sat, 25 Aug 2018 14:51:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=OKkV62JACrFbqjQVki1EQfvE1Pr+hpplAF+FQ7Z1W1s=; b=oEUPNcl5VE5msJBkG3AHSQHE6RPzNj9u53fFfx2eUVl4pO2Bq7bexhjTTXqZHNvUHA a/NVYNmh+nIAh4LLSMpQSZbdxhdO1uagTX/pzwX66b0FYs1u2jwYGhsYWqlot6SGWz42 6Nlh92xn56OnODarIj5Z/oFgAll4bi3ZvIbJMUmh+ht+L3YHyu6dZMBvXbE8mCIygkis QDhPA3LsjBiy5+yw+JdHzfjW1RY99vvc6DJoFkBvLgkZtyYlRn10NH3M48CG9h183shm SH8UzB8gHaMZcvYhvPXVLSTeOIQ6ceXdNHjgsto4DyXriraONfVRE2R7TjIHmxEReJME tuSQ== MIME-Version: 1.0 From: Derrick McKee Date: Sat, 25 Aug 2018 21:51:00 -0000 Message-ID: Subject: Multiple symbols at the same location To: libc-help@sourceware.org Content-Type: text/plain; charset="UTF-8" X-SW-Source: 2018-08/txt/msg00036.txt.bz2 Hi, I am a PhD. student, and in my research I noticed that there are several versions of memmove and memcpy that are included in statically compiled binaries. I understand that this is done for optimization purposes (and if that is not the case, let me know!). However, some versions of memmove and memcpy are located in different places in .text, while others have their symbols located at the same location in .text. For example, __memcpy_avx512_unaligned and __memmove_avx512_unaligned have the same address, however __memcpy_ssse3 and __memmove_ssse3 are placed at different addresses. I assume that this is also done for optimization purposes. Can someone give me an explanation as to why it makes sense to separate one group of memory copying functions into two symbols, while for others the same code is used? Thanks! -- Derrick McKee Phone: (703) 957-9362 Email: derrick.mckee@gmail.com