From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS autolearn=no autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=eB2NyzFlll4n6NHZglkySCY5fkFYLnkfF4G5VxTYfq8=; b=cyIvElstY+K/vz2cssKGrdQgu7KZvTVY0BgNURkqhZOiBeQD11S1dRvQq1gb/J0qIO TUmpmL6zqpPxVwyKdfyJb4xOuv4XZXOmRfLuFVp63pQPc98a1CTbQPKS6RzScPZVouCD 14yWt40loF1d2/Xm2F3O9LIl5QUL/kaimS+2K0oXbLAst3RHKH5tup+C6luC/qzLQ6pf 6K66d3pAEqdS+OP1IW5eXY5hAQmUxNyTr0wn8cPS+3KD9l4wtp6clMNF5T2YbykQNYu8 fq0/FbLWOkJbwcTKMs75DQgbk6eWSs/6DqYUmu/C3g+TKtEiE3Eq6cQkACyXjs7Ff3ip tDlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to; bh=eB2NyzFlll4n6NHZglkySCY5fkFYLnkfF4G5VxTYfq8=; b=sa0ZYcbWPvdR8FzncXQKJrW9mlfqVLMv6cWndVNv1ipnU41u1BoV3lBKa4Rjo+4EAp lT4xigUe8sS4GknGuvtA+INvkF4sTcLRCRN6Ju59ZWvhfcfpIEri+Ozj+y39IKhjHtfU zATjWFQ2Nc921gWGBtyZTcXPvqJTrPd7YlMaMkdgqWIJS8Xt5ytATD84lds1Cy4d0j6U ni2N0GCo/iNQHZAfCRTcLAi8T9rdO3SdnWH7mPLihnF+CPz18zls8trL8H1zqJWty3dh aXgbElYeptGd3/bnmUv81EPJ370JrH/LdcOIpmWb0/fGOmgj3MvUASRFkJdfAewn6w0l xVzA== X-Gm-Message-State: AOAM533064inM2tmLuVfJCXOWMa3F/TtsQ7cV/XIZPqH8PBc8VTx4nHo +07tZcbLRnv70aV/fsFjGMzqZfq9eLQ= X-Google-Smtp-Source: ABdhPJzuakldsFb5/WI5moVxdDRd7L8JazqB3VdQGkbbXEoiMkWHqlcDGIdZsV235HmcDSxlpAreEg== X-Received: by 2002:a19:56:: with SMTP id 83mr11760278lfa.561.1609240070290; Tue, 29 Dec 2020 03:07:50 -0800 (PST) Sender: "Ivan A. Melnikov" Date: Tue, 29 Dec 2020 15:07:47 +0400 From: "Ivan A. Melnikov" To: ALT Linux Team development discussions Message-ID: <20201229110747.c4qml6jqhn6cry6p@titan.localdomain> References: <20201228125730.GB20874@altlinux.org> <20201228135032.70a56707@tower> <20201228141151.GE20874@altlinux.org> <20201228142425.60081c68@tower> <20201228143050.GG20874@altlinux.org> <20201228143605.2a937bbd@tower> <20201228144241.GA23194@altlinux.org> <20201228145151.2b4914ed@tower> <20201228150126.GD23194@altlinux.org> <20201228203903.GC2145@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20201228203903.GC2145@altlinux.org> Subject: Re: [devel] =?utf-8?b?0J7Qs9GA0LDQvdC40YfQtdC90LjRjyDRgdCx0L7RgNC+?= =?utf-8?b?0YfQvdC40YbRiyDQtNC70Y8gdmlydHVhbGJveC02LjEuMTQg0Lgg0LLRi9GI?= =?utf-8?b?0LU=?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Dec 2020 11:07:52 -0000 Archived-At: List-Archive: List-Post: On Mon, Dec 28, 2020 at 11:39:03PM +0300, Alexey V. Vissarionov wrote: > On 2020-12-28 18:01:26 +0300, Dmitry V. Levin wrote: > > > Из этого описания мне не стало понятно, из какого именно > > рассмотрения и что именно нужно исключать. Есть ли вероятность, > > что эти файлы могут запровайдить какие-то символы и тем самым > > исказить проверку для других пакетов? > > Сделай проверку только для Linux ELF - не ошибешься. Остальную > блобятину можно считать данными. Было бы здорово, если бы Linux ELF можно было бы как-то формально отличить от не-Linux ELF. Опираться для этого на поле EI_OSABI (на которое и смотрит команда file, когда выдаёт своё SYSV или Linux), к сожалению, ошибочно. Загрузчик ELF'ов в Linux'е традиционно принимает ELF'ы с двумя типами этих самых OSABI: ELFOSABI_NONE (SYSV это alias на него) и ELFOSABI_GNU (ELFOSABI_LINUX это алиас на него); похоже, загрузчик не делает различий между ними. Компоновщик же (который GNU ld, из состава binutils) ELF'ам, которые он собирает, по умолчанию выставляет OS ABI в ELFOSABI_NONE, и использует ELFOSABI_GNU только если в полученом ELF'е используются какие-то особенные GNU-тые расширения, а точнее "STT_GNU_IFUNC symbol type or STB_GNU_UNIQUE binding". Таких меньшинство, и это технически правильно. Вот прямо сейчас у меня: $ file /usr/lib64/*.so.* | grep ELF | grep SYSV | wc -l 1258 $ file /usr/lib64/*.so.* | grep ELF | grep GNU/Linux | wc -l 210 То есть, эти буквы в скобках -- не предназначение, а особенности формата. Причём, что интересно, GNU binutils и glibc в коде используют ELFOSABI_NONE и ELFOSABI_GNU и похоже так к ним и относятся, а все readelf, file и сотоварищи в human-readable выводе пишут SysV или Linux. Не дайте себя запутать) -- wbr, iv m.