From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2932 invoked by alias); 16 Nov 2006 17:32:29 -0000 Received: (qmail 2915 invoked by uid 22791); 16 Nov 2006 17:32:29 -0000 X-Spam-Check-By: sourceware.org Received: from sunsite.ms.mff.cuni.cz (HELO sunsite.mff.cuni.cz) (195.113.15.26) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 16 Nov 2006 17:32:21 +0000 Received: from sunsite.mff.cuni.cz (sunsite.mff.cuni.cz [127.0.0.1]) by sunsite.mff.cuni.cz (8.13.1/8.13.1) with ESMTP id kAGHWE4w007460; Thu, 16 Nov 2006 18:32:14 +0100 Received: (from jj@localhost) by sunsite.mff.cuni.cz (8.13.1/8.13.1/Submit) id kAGHWDni007459; Thu, 16 Nov 2006 18:32:13 +0100 Date: Thu, 16 Nov 2006 17:32:00 -0000 From: Jakub Jelinek To: Ulrich Drepper Cc: Glibc hackers Subject: [PATCH] Fix x86_64 copysign{,f} Message-ID: <20061116173213.GF3849@sunsite.mff.cuni.cz> Reply-To: Jakub Jelinek Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.1i Mailing-List: contact libc-hacker-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sourceware.org X-SW-Source: 2006-11/txt/msg00011.txt.bz2 Hi! These two functions were emitted into .rodata section rather than .text, furthermore signmask didn't have .size and othermask .type. 2006-11-16 Jakub Jelinek * sysdeps/x86_64/fpu/s_copysignf.S (__copysignf): Switch to .text. * sysdeps/x86_64/fpu/s_copysign.S (__copysign): Likewise. (signmask): Add .size directive. (othermask): Add .type directive. --- libc/sysdeps/x86_64/fpu/s_copysignf.S.jj 2004-02-09 21:46:36.000000000 +0100 +++ libc/sysdeps/x86_64/fpu/s_copysignf.S 2006-11-16 18:27:17.000000000 +0100 @@ -1,5 +1,5 @@ /* copy sign, double version. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger , 2002. @@ -38,6 +38,7 @@ mask: #define MO(op) op #endif + .text ENTRY(__copysignf) movss MO(mask),%xmm3 andps %xmm3,%xmm0 --- libc/sysdeps/x86_64/fpu/s_copysign.S.jj 2006-11-16 18:11:16.000000000 +0100 +++ libc/sysdeps/x86_64/fpu/s_copysign.S 2006-11-16 18:27:49.000000000 +0100 @@ -1,5 +1,5 @@ /* copy sign, double version. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger , 2002. @@ -31,6 +31,8 @@ signmask: .byte 0, 0, 0, 0, 0, 0, 0, 0x80 .byte 0, 0, 0, 0, 0, 0, 0, 0 + ASM_SIZE_DIRECTIVE(signmask) + ASM_TYPE_DIRECTIVE(othermask,@object) othermask: .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f .byte 0, 0, 0, 0, 0, 0, 0, 0 @@ -42,6 +44,7 @@ othermask: #define MO(op) op #endif + .text ENTRY(__copysign) andpd MO(othermask),%xmm0 andpd MO(signmask),%xmm1 Jakub