Aurelien Jarno dixit: >I am not an m68k porter, and I am not planning to try things. m68k is >lagging upstream wrt other architectures. Please work with upstream to >fix things, then I can include tested and accepted patches.
I’m not an m68k porter either, but this fix is easily done from working with a libc (BSD libc in my case) skills. But okay. Am I guessing that libc-po...@sourceware.org is “upstream”? It was hard to find information about eglibc-ports on the ’net. Anyway, here it is: Dixi quod… >Aurelien Jarno dixit: > >>I have dropped it in favor of the default version for the next upload. > >Why don’t you just use these? (Tested for 32-bit and 64-bit both.) >I’ve not looked at other architectures atm though. > >--- usr/include/m68k-linux-gnu/bits/byteswap.h~ 2011-12-17 >02:44:08.000000000 +0000 >+++ usr/include/m68k-linux-gnu/bits/byteswap.h 2011-12-17 02:49:34.000000000 >+0000 >@@ -1,5 +1,5 @@ > /* Macros to swap the order of bytes in integer values. m68k version. >- Copyright (C) 1997, 2002, 2008 Free Software Foundation, Inc. >+ Copyright (C) 1997, 2002, 2008, 2011 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 >@@ -50,15 +50,15 @@ > #if defined __GNUC__ && __GNUC__ >= 2 && !defined(__mcoldfire__) > # define __bswap_32(x) \ > __extension__ \ >- ({ unsigned int __bswap_32_v; \ >- if (__builtin_constant_p (x)) \ >- __bswap_32_v = __bswap_constant_32 (x); \ >+ ({ unsigned int __bswap_32_v, __bswap_32_x = (x); \ >+ if (__builtin_constant_p (__bswap_32_x)) \ >+ __bswap_32_v = __bswap_constant_32 (__bswap_32_x); \ > else \ > __asm__ __volatile__ ("ror%.w %#8, %0;" \ > "swap %0;" \ > "ror%.w %#8, %0" \ > : "=d" (__bswap_32_v) \ >- : "0" ((unsigned int) (x))); \ >+ : "0" (__bswap_32_x)); \ > __bswap_32_v; }) > #else > static __inline unsigned int >@@ -85,11 +85,12 @@ > __extension__ > \ > ({ union { unsigned long long int __ll; \ > unsigned long int __l[2]; } __bswap_64_v, __bswap_64_r; \ >- if (__builtin_constant_p (x)) \ >- __bswap_64_r.__ll = __bswap_constant_64 (x); \ >+ unsigned long long int __bswap_64_x = (x); >\ >+ if (__builtin_constant_p (__bswap_64_x)) \ >+ __bswap_64_r.__ll = __bswap_constant_64 (__bswap_64_x); >\ > else \ > { \ >- __bswap_64_v.__ll = (x); \ >+ __bswap_64_v.__ll = __bswap_64_x; \ > __bswap_64_r.__l[0] = __bswap_32 (__bswap_64_v.__l[1]); \ > __bswap_64_r.__l[1] = __bswap_32 (__bswap_64_v.__l[0]); \ > } \ Aurelien Jarno dixit: >Other architectures don't have this problem with byteswap.h I see. I didn’t know that for sure, so I suggested that in general someone should look at it. bye, //mirabilos PS: Please fix your MTA; hall.aurel32.net is sending 8-bit data to a receiving MTA that does not announce 8BITMIME support in its EHLO response. Or your MUA to use Quoted- Printable by default. -- “It is inappropriate to require that a time represented as seconds since the Epoch precisely represent the number of seconds between the referenced time and the Epoch.” -- IEEE Std 1003.1b-1993 (POSIX) Section B.2.2.2 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org