[3/8] Move i486/htonl.S to htonl.S
Commit Message
Since glibc doesn't support i386 any more, we can move i486/htonl.S to
htonl.S.
OK for master?
H.J.
--
* sysdeps/i386/i486/htonl.S: Moved ...
* sysdeps/i386/htonl.S: here.
---
sysdeps/i386/htonl.S | 6 ++----
sysdeps/i386/i486/htonl.S | 34 ----------------------------------
2 files changed, 2 insertions(+), 38 deletions(-)
delete mode 100644 sysdeps/i386/i486/htonl.S
Comments
Do we really need this assembly routines? GCC 4.8 on my environment generates for the
default inet/htonl.c:
$ gcc -m32 -Wall -march=i486 htonl.c -O2 -S -o -
.file "htonl.c"
.text
.p2align 4,,15
.globl htonl
.type htonl, @function
htonl:
.LFB8:
.cfi_startproc
movl 4(%esp), %eax
bswap %eax
ret
.cfi_endproc
.LFE8:
.size htonl, .-htonl
.ident "GCC: (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4"
.section .note.GNU-stack,"",@progbits
On 26-08-2015 14:36, H.J. Lu wrote:
> Since glibc doesn't support i386 any more, we can move i486/htonl.S to
> htonl.S.
>
> OK for master?
>
> H.J.
> --
> * sysdeps/i386/i486/htonl.S: Moved ...
> * sysdeps/i386/htonl.S: here.
> ---
> sysdeps/i386/htonl.S | 6 ++----
> sysdeps/i386/i486/htonl.S | 34 ----------------------------------
> 2 files changed, 2 insertions(+), 38 deletions(-)
> delete mode 100644 sysdeps/i386/i486/htonl.S
>
> diff --git a/sysdeps/i386/htonl.S b/sysdeps/i386/htonl.S
> index 698e976..d39bca5 100644
> --- a/sysdeps/i386/htonl.S
> +++ b/sysdeps/i386/htonl.S
> @@ -1,4 +1,4 @@
> -/* Change byte order in word. For Intel 80386.
> +/* Change byte order in word. For Intel 80x86, x >= 4.
> Copyright (C) 1997-2015 Free Software Foundation, Inc.
> This file is part of the GNU C Library.
>
> @@ -27,9 +27,7 @@
> .text
> ENTRY (htonl)
> movl 4(%esp), %eax
> - rorw $8, %ax
> - rorl $16, %eax
> - rorw $8, %ax
> + bswap %eax
> ret
> END (htonl)
>
> diff --git a/sysdeps/i386/i486/htonl.S b/sysdeps/i386/i486/htonl.S
> deleted file mode 100644
> index d39bca5..0000000
> --- a/sysdeps/i386/i486/htonl.S
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -/* Change byte order in word. For Intel 80x86, x >= 4.
> - Copyright (C) 1997-2015 Free Software Foundation, Inc.
> - This file is part of the GNU C Library.
> -
> - The GNU C Library is free software; you can redistribute it and/or
> - modify it under the terms of the GNU Lesser General Public
> - License as published by the Free Software Foundation; either
> - version 2.1 of the License, or (at your option) any later version.
> -
> - The GNU C Library is distributed in the hope that it will be useful,
> - but WITHOUT ANY WARRANTY; without even the implied warranty of
> - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> - Lesser General Public License for more details.
> -
> - You should have received a copy of the GNU Lesser General Public
> - License along with the GNU C Library; if not, see
> - <http://www.gnu.org/licenses/>. */
> -
> -#include <sysdep.h>
> -#include "asm-syntax.h"
> -
> -/*
> - INPUT PARAMETERS:
> - word (sp + 4)
> -*/
> -
> - .text
> -ENTRY (htonl)
> - movl 4(%esp), %eax
> - bswap %eax
> - ret
> -END (htonl)
> -
> -weak_alias (htonl, ntohl)
>
On Wed, Aug 26, 2015 at 03:44:45PM -0300, Adhemerval Zanella wrote:
> Do we really need this assembly routines? GCC 4.8 on my environment generates for the
> default inet/htonl.c:
>
Shouldn't we just do inlining to __builtin_bswap in header or do we
already do that?
On 26-08-2015 16:09, Ondřej Bílka wrote:
> On Wed, Aug 26, 2015 at 03:44:45PM -0300, Adhemerval Zanella wrote:
>> Do we really need this assembly routines? GCC 4.8 on my environment generates for the
>> default inet/htonl.c:
>>
> Shouldn't we just do inlining to __builtin_bswap in header or do we
> already do that?
>
>
inet/netinet/in.h already does that.
We probably don't, but removing them should be a separate change from the
mechanical directory restructuring HJ is doing now. Of course, doing
removals first reduces the number of renamings required.
@@ -1,4 +1,4 @@
-/* Change byte order in word. For Intel 80386.
+/* Change byte order in word. For Intel 80x86, x >= 4.
Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -27,9 +27,7 @@
.text
ENTRY (htonl)
movl 4(%esp), %eax
- rorw $8, %ax
- rorl $16, %eax
- rorw $8, %ax
+ bswap %eax
ret
END (htonl)
deleted file mode 100644
@@ -1,34 +0,0 @@
-/* Change byte order in word. For Intel 80x86, x >= 4.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include "asm-syntax.h"
-
-/*
- INPUT PARAMETERS:
- word (sp + 4)
-*/
-
- .text
-ENTRY (htonl)
- movl 4(%esp), %eax
- bswap %eax
- ret
-END (htonl)
-
-weak_alias (htonl, ntohl)