Bug#652356: please use argument-safe bswap macros on all architectures
Source: eglibc Hi, (from #595496) please make sure that this passes on all architectures: cat x.c 'EOF' #include stddef.h #include stdint.h #include byteswap.h uint32_t foo(uint32_t *bar, size_t *baz) { return (bswap_32(bar[(*baz)++])); } EOF gcc -Wall -c x.c On amd64 it passes, on m68k it gives: x.c: In function ‘foo’: x.c:6:10: warning: operation on ‘*baz’ may be undefined [-Wsequence-point] x.c:6:10: warning: operation on ‘*baz’ may be undefined [-Wsequence-point] x.c:6:10: warning: operation on ‘*baz’ may be undefined [-Wsequence-point] The difference is in /usr/include/$multiarsch/bits/byteswap.h: # define __bswap_32(x) \ (__extension__ \ ({ register unsigned int __v, __x = (x);\ if (__builtin_constant_p (__x)) \ […] (amd64) vs. (m68k) # define __bswap_32(x) \ __extension__ \ ({ unsigned int __bswap_32_v; \ if (__builtin_constant_p (x)) \ […] That is, the amd64 version evaluates the argument only once. Please ensure all flavours of the bswap macros on all architectures behave the same; otherwise it’s an introduction to porting issues that need not be. Porting is joyful enough already ;-) Thanks in advance, //mirabilos -- [...] if maybe ext3fs wasn't a better pick, or jfs, or maybe reiserfs, oh but what about xfs, and if only i had waited until reiser4 was ready... in the be- ginning, there was ffs, and in the middle, there was ffs, and at the end, there was still ffs, and the sys admins knew it was good. :) -- Ted Unangst über *fs -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/pine.bsm.4.64l.1112161525050@herc.mirbsd.org
Processed: tagging 652356
Processing commands for cont...@bugs.debian.org: tags 652356 + pending Bug #652356 [src:eglibc] please use argument-safe bswap macros on all architectures Added tag(s) pending. thanks Stopping processing here. Please contact me if you need assistance. -- 652356: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652356 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/handler.s.c.132408290317815.transcr...@bugs.debian.org
Bug#652356: please use argument-safe bswap macros on all architectures
On Fri, Dec 16, 2011 at 03:29:59PM +, Thorsten Glaser wrote: Source: eglibc Hi, (from #595496) please make sure that this passes on all architectures: cat x.c 'EOF' #include stddef.h #include stdint.h #include byteswap.h uint32_t foo(uint32_t *bar, size_t *baz) { return (bswap_32(bar[(*baz)++])); } EOF gcc -Wall -c x.c On amd64 it passes, on m68k it gives: x.c: In function ‘foo’: x.c:6:10: warning: operation on ‘*baz’ may be undefined [-Wsequence-point] x.c:6:10: warning: operation on ‘*baz’ may be undefined [-Wsequence-point] x.c:6:10: warning: operation on ‘*baz’ may be undefined [-Wsequence-point] The difference is in /usr/include/$multiarsch/bits/byteswap.h: # define __bswap_32(x) \ (__extension__ \ ({ register unsigned int __v, __x = (x); \ if (__builtin_constant_p (__x)) \ […] (amd64) vs. (m68k) # define __bswap_32(x) \ __extension__ \ ({ unsigned int __bswap_32_v; \ if (__builtin_constant_p (x)) \ […] That is, the amd64 version evaluates the argument only once. Please ensure all flavours of the bswap macros on all architectures behave the same; otherwise it’s an introduction to porting issues that need not be. Porting is joyful enough already ;-) The file is different on architectures providing an optimized version of bswap functions. The m68k optimized version is lagging behind the others architectures and as you show, it is therefore broken. I have dropped it in favor of the default version for the next upload. This way it will behave like other architectures. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20111217005242.ge9...@hall.aurel32.net
Re: [m68k] eglibc expected(?) testsuite results
On Thu, Dec 15, 2011 at 12:47:10PM +, Thorsten Glaser wrote: Just FYI, maybe you can do something with it (or not). I built the latest eglibc 2.13-23 without nocheck. I have just included it as the expected tests results. I have to say the list of failure seems to say that m68k is not really in a good state. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20111217005938.gf9...@hall.aurel32.net
r5088 - in glibc-package/trunk/debian: . patches patches/m68k
Author: aurel32 Date: 2011-12-17 00:48:15 + (Sat, 17 Dec 2011) New Revision: 5088 Added: glibc-package/trunk/debian/patches/m68k/local-byteswap.diff Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/patches/series Log: * patches/m68k/local-byteswap.diff: drop the m68k optimized version of bits/byteswap.h. Closes: #652356. Modified: glibc-package/trunk/debian/changelog === --- glibc-package/trunk/debian/changelog2011-12-15 08:47:39 UTC (rev 5087) +++ glibc-package/trunk/debian/changelog2011-12-17 00:48:15 UTC (rev 5088) @@ -1,6 +1,7 @@ eglibc (2.13-24) UNRELEASED; urgency=low - * + * patches/m68k/local-byteswap.diff: drop the m68k optimized version of +bits/byteswap.h. Closes: #652356. -- Aurelien Jarno aure...@debian.org Wed, 14 Dec 2011 00:42:25 +0100 Added: glibc-package/trunk/debian/patches/m68k/local-byteswap.diff === --- glibc-package/trunk/debian/patches/m68k/local-byteswap.diff (rev 0) +++ glibc-package/trunk/debian/patches/m68k/local-byteswap.diff 2011-12-17 00:48:15 UTC (rev 5088) @@ -0,0 +1,102 @@ +--- a/ports/sysdeps/m68k/bits/byteswap.h /dev/null +@@ -1,99 +0,0 @@ +-/* Macros to swap the order of bytes in integer values. m68k version. +- Copyright (C) 1997, 2002, 2008 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, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-#if !defined _BYTESWAP_H !defined _NETINET_IN_H !defined _ENDIAN_H +-# error Never use bits/byteswap.h directly; include byteswap.h instead. +-#endif +- +-#ifndef _BITS_BYTESWAP_H +-#define _BITS_BYTESWAP_H 1 +- +-/* Swap bytes in 16 bit value. We don't provide an assembler version +- because GCC is smart enough to generate optimal assembler output, and +- this allows for better cse. */ +-#define __bswap_constant_16(x) \ +- x) 8) 0xffu) | (((x) 0xffu) 8)) +- +-#ifdef __GNUC__ +-# define __bswap_16(x) \ +-(__extension__ \ +- ({ unsigned short int __bsx = (x); __bswap_constant_16 (__bsx); })) +-#else +-static __inline unsigned short int +-__bswap_16 (unsigned short int __bsx) +-{ +- return __bswap_constant_16 (__bsx); +-} +-#endif +- +-/* Swap bytes in 32 bit value. */ +-#define __bswap_constant_32(x) \ +- x) 0xff00u) 24) | (((x) 0x00ffu) 8) | \ +- (((x) 0xff00u) 8) | (((x) 0x00ffu) 24)) +- +-#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);\ +- else \ +- __asm__ __volatile__ (ror%.w %#8, %0;\ +- swap %0; \ +- ror%.w %#8, %0 \ +- : =d (__bswap_32_v) \ +- : 0 ((unsigned int) (x))); \ +- __bswap_32_v; }) +-#else +-static __inline unsigned int +-__bswap_32 (unsigned int __bsx) +-{ +- return __bswap_constant_32 (__bsx); +-} +-#endif +- +-#if defined __GNUC__ __GNUC__ = 2 +-/* Swap bytes in 64 bit value. */ +-# define __bswap_constant_64(x) \ +- x) 0xff00ull) 56) \ +- | (((x) 0x00ffull) 40) \ +- | (((x) 0xff00ull) 24) \ +- | (((x) 0x00ffull) 8)\ +- | (((x) 0xff00ull) 8)\ +- | (((x) 0x00ffull) 24) \ +- | (((x) 0xff00ull) 40) \ +- | (((x) 0x00ffull) 56)) +- +-/* Swap bytes in 64
r5089 - in glibc-package/trunk/debian: . testsuite-checking
Author: aurel32 Date: 2011-12-17 01:00:24 + (Sat, 17 Dec 2011) New Revision: 5089 Added: glibc-package/trunk/debian/testsuite-checking/expected-results-m68k-linux-gnu-libc Modified: glibc-package/trunk/debian/changelog Log: * Add m68k expected tests results. Modified: glibc-package/trunk/debian/changelog === --- glibc-package/trunk/debian/changelog2011-12-17 00:48:15 UTC (rev 5088) +++ glibc-package/trunk/debian/changelog2011-12-17 01:00:24 UTC (rev 5089) @@ -2,6 +2,7 @@ * patches/m68k/local-byteswap.diff: drop the m68k optimized version of bits/byteswap.h. Closes: #652356. + * Add m68k expected tests results. -- Aurelien Jarno aure...@debian.org Wed, 14 Dec 2011 00:42:25 +0100 Added: glibc-package/trunk/debian/testsuite-checking/expected-results-m68k-linux-gnu-libc === --- glibc-package/trunk/debian/testsuite-checking/expected-results-m68k-linux-gnu-libc (rev 0) +++ glibc-package/trunk/debian/testsuite-checking/expected-results-m68k-linux-gnu-libc 2011-12-17 01:00:24 UTC (rev 5089) @@ -0,0 +1,47 @@ +# +# Allowed failures for m68k-linux-gnu-libc and the returned make +# failure number, indicating the signal the process died with. +# Format: Failed test, Error Make error code [(ignored)] +# +annexc.out, Error 1 (ignored) +bug-nextafter.out, Error 24 +bug-nexttoward.out, Error 32 +bug-regex20.out, Error 139 +check-localplt.out, Error 1 +sort-test.out, Error 1 +test-double.out, Error 1 +test-fenv.out, Error 1 +test-float.out, Error 1 +test-idouble.out, Error 1 +test-ifloat.out, Error 1 +test-misc.out, Error 1 +tst-atomic-long.out, Error 1 +tst-atomic.out, Error 1 +tst-mqueue5.out, Error 1 +tst-mqueue6.out, Error 1 +tst-mutexpi2.out, Error 1 +tst-mutexpi4.out, Error 1 +tst-mutexpi5.out, Error 1 +tst-mutexpi5a.out, Error 1 +tst-mutexpi6.out, Error 1 +tst-mutexpi7.out, Error 1 +tst-mutexpi7a.out, Error 1 +tst-mutexpi9.out, Error 1 +tst-robust1.out, Error 1 +tst-robust2.out, Error 1 +tst-robust3.out, Error 1 +tst-robust4.out, Error 1 +tst-robust5.out, Error 1 +tst-robust6.out, Error 1 +tst-robust7.out, Error 1 +tst-robust8.out, Error 1 +tst-robust9.out, Error 1 +tst-robustpi1.out, Error 1 +tst-robustpi2.out, Error 1 +tst-robustpi3.out, Error 1 +tst-robustpi4.out, Error 1 +tst-robustpi5.out, Error 1 +tst-robustpi6.out, Error 1 +tst-robustpi7.out, Error 1 +tst-robustpi8.out, Error 1 +tst-rxspencer.out, Error 139 -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1rbidv-0005ny...@vasks.debian.org
Re: [m68k] eglibc expected(?) testsuite results
On Sat, 17 Dec 2011, Aurelien Jarno wrote: On Thu, Dec 15, 2011 at 12:47:10PM +, Thorsten Glaser wrote: Just FYI, maybe you can do something with it (or not). I built the latest eglibc 2.13-23 without nocheck. I have just included it as the expected tests results. I have to say the list of failure seems to say that m68k is not really in a good state. It might be worth running the tests on physical hardware instead of an emulator. Finn -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/alpine.LNX.2.00.1112171205410.3027@nippy.intranet
Bug#652356: please use argument-safe bswap macros on all architectures
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.0 + +++ usr/include/m68k-linux-gnu/bits/byteswap.h 2011-12-17 02:49:34.0 + @@ -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]);\ } \ bye, //mirabilos -- “Having a smoking section in a restaurant is like having a peeing section in a swimming pool.” -- Edward Burr -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/pine.bsm.4.64l.1112170250430@herc.mirbsd.org
Re: Cross Memory Attach v3
I’ve tested the below patch locally in the meantime, and it does not break anything. Aurelien Jarno dixit: On Sun, Dec 11, 2011 at 10:11:03PM +, Thorsten Glaser wrote: Andreas Schwab dixit: Thorsten Glaser t...@mirbsd.de writes: Index: eglibc-2.13/ports/sysdeps/unix/sysv/linux/m68k/syscall.S === --- eglibc-2.13.orig/ports/sysdeps/unix/sysv/linux/m68k/syscall.S 2011-12-04 14:36:16.0 + +++ eglibc-2.13/ports/sysdeps/unix/sysv/linux/m68k/syscall.S 2011-12-04 14:36:26.0 + @@ -24,9 +24,9 @@ .text ENTRY (syscall) move.l 4(%sp), %d0 /* Load syscall number. */ - _DOARGS_5 (24) /* Frob arguments. */ + _DOARGS_6 (28) /* Frob arguments. */ trap 0 /* Do the system call. */ - UNDOARGS_5 /* Unfrob arguments. */ + UNDOARGS_6 /* Unfrob arguments. */ cmp.l -4095, %d0 /* Check %d0 for error. */ jcc SYSCALL_ERROR_LABEL /* Jump to error handler if negative. */ rts /* Return to caller. */ Thanks, installed. (Where?) So, should $someone submit that to eglibc-ports and Debisn src:eglibc? Did it indeed do the trick? This patch should be reported to libc-po...@sourceware.org. If it also Reporting hereby. needs to be applied to the Debian package quickly, please open a bug report in the Debian BTS. @kernel people, is this needed / useful? Do we want/need this? (I wonder why it's not using _DOARGS_6 already, as that looks as if it were designed for it.) bye, //mirabilos -- 22:20⎜asarch The crazy that persists in his craziness becomes a master 22:21⎜asarch And the distance between the craziness and geniality is only measured by the success 18:35⎜asarch Psychotics are consistently inconsistent. The essence of sanity is to be inconsistently inconsistent -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/pine.bsm.4.64l.1112170255070@herc.mirbsd.org
Re: [m68k] eglibc expected(?) testsuite results
Finn Thain dixit: I have just included it as the expected tests results. I have to say the list of failure seems to say that m68k is not really in a good state. Mh. I’m just the builder. It might be worth running the tests on physical hardware instead of an emulator. You just volunteered. (In fact, from what I heard on the list, the FPU emulation is known bad; the rest is good enough to be usable.) bye, //mirabilos -- In traditional syntax ' is ignored, but in c99 everything between two ' is handled as character constant. Therefore you cannot use ' in a preproces- sing file in c99 mode. -- Ragge No faith left in ISO C99, undefined behaviour, etc. -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/pine.bsm.4.64l.1112170323190@herc.mirbsd.org
Bug#652428: eglibc: [INTL:ru] Russian debconf templates translation update
Package: eglibc Version: 2.13-23 Severity: wishlist Tags: l10n patch Russian debconf templates translation update is attached. -- System Information: Debian Release: 6.0.1 APT prefers testing APT policy: (500, 'testing'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.0.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash # translation of ru.po to Russian # Translation of glibc debconf .po to Russian # This file is distributed under the same license as the eglibc package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # # Yuri Kozlov kozlo...@gmail.com, 2006. # Sergey Alyoshin alyoshi...@gmail.com, 2007, 2008. # Yuri Kozlov yu...@komyakino.ru, 2009, 2011. msgid msgstr Project-Id-Version: eglibc 2.13-23\n Report-Msgid-Bugs-To: egl...@packages.debian.org\n POT-Creation-Date: 2011-10-30 11:52-0700\n PO-Revision-Date: 2011-12-17 09:26+0400\n Last-Translator: Yuri Kozlov yu...@komyakino.ru\n Language-Team: Russian debian-l10n-russ...@lists.debian.org\n Language: ru\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n Content-Transfer-Encoding: 8bit\n X-Generator: Lokalize 1.0\n Plural-Forms: nplurals=3; plural=(n%10==1 n%100!=11 ? 0 : n%10=2 n%10=4 (n%10010 || n%100=20) ? 1 : 2);\n #. Type: multiselect #. Choices #: ../debhelper.in/locales.templates:1001 msgid All locales msgstr Все локали #. Type: multiselect #. Description #: ../debhelper.in/locales.templates:1002 msgid Locales to be generated: msgstr Локали, которые будут созданы: #. Type: multiselect #. Description #: ../debhelper.in/locales.templates:1002 msgid Locales are a framework to switch between multiple languages and allow users to use their language, country, characters, collation order, etc. msgstr Локаль -- это инфраструктура для поддержки в системе нескольких языков; она позволяет пользователю настроить язык сообщений, страну, алфавит, порядок сортировки и т.п. #. Type: multiselect #. Description #: ../debhelper.in/locales.templates:1002 msgid Please choose which locales to generate. UTF-8 locales should be chosen by default, particularly for new installations. Other character sets may be useful for backwards compatibility with older systems and software. msgstr Выберите создаваемые локали. Кодировка локали UTF-8 должна быть выбрана по умолчанию, особенно при новой инсталляции. Другие кодировки локали могут быть полезны для обратной совместимости со старыми системами и программами. #. Type: select #. Choices #: ../debhelper.in/locales.templates:2001 msgid None msgstr Нет #. Type: select #. Description #: ../debhelper.in/locales.templates:2002 msgid Default locale for the system environment: msgstr Локаль по умолчанию в системном окружении: #. Type: select #. Description #: ../debhelper.in/locales.templates:2002 msgid Many packages in Debian use locales to display text in the correct language for the user. You can choose a default locale for the system from the generated locales. msgstr Многие пакеты в Debian используют локали для отображения сообщений на языке пользователя. Вы можете выбрать из созданных локалей системную локаль по умолчанию. #. Type: select #. Description #: ../debhelper.in/locales.templates:2002 msgid This will select the default language for the entire system. If this system is a multi-user system where not all users are able to speak the default language, they will experience difficulties. msgstr Эта настройка устанавливает язык по умолчанию для всей системы. Если это многопользовательская система, где не все пользователи говорят на выбранном языке по умолчанию, то у них возникнут трудности. #. Type: boolean #. Description #: ../debhelper.in/libc.templates:1001 msgid Do you want to upgrade glibc now? msgstr Хотите выполнить обновление glibc сейчас? #. Type: boolean #. Description #: ../debhelper.in/libc.templates:1001 msgid Running services and programs that are using NSS need to be restarted, otherwise they might not be able to do lookup or authentication any more. The installation process is able to restart some services (such as ssh or telnetd), but other programs cannot be restarted automatically. One such program that needs manual stopping and restart after the glibc upgrade by yourself is xdm - because automatic restart might disconnect your active X11 sessions. msgstr Запущенные службы и программы, которые используют NSS, должны быть перезапущены, иначе они не будут способны выполнять поиск или аутентификацию. В процессе установки возможно перезапустить некоторые службы (такие, как ssh или telnetd), но другие программы не могут быть автоматически перезапущены. Одна из таких программ, которая требует ручной остановки и перезапуска после обновления glibc, это xdm, так как её автоматический перезапуск может отключить ваши активные сессии X11. #. Type: boolean #. Description #: ../debhelper.in/libc.templates:1001 msgid This script detected the following
Re: struct user conflicts on arm
Ulrich WeigandNow, glibc also provides a file sys/ucontext.h that defines Ulrich Weigandlayouts of register sets for use with signal handlers as well Ulrich Weigandas the makecontext/setcontext/getcontext family of routines. Ulrich Weigand Ulrich WeigandUsually, those layouts tend to be in fact identical to the Ulrich Weigandlayouts described in sys/user.h / sys/procfs.h. Apparently, Ulrich Weigandwhoever implemented the ARM version of sys/ucontext.h was Ulrich Weigandtrying to avoid some seemingly unnecessary code duplication Ulrich Weigandby making sys/ucontext.h *include* sys/procfs.h and using Ulrich Weigandthe information from there directly. This is not done on other Ulrich Weigandplatforms, for precisely the reason that the sys/procfs.h Ulrich Weigandand sys/user.h headers do pollute the name space ... Ulrich Weigand Ulrich WeigandSo I think the right thing to do in the short term would be to Ulrich Weigandstop sys/ucontext.h including sys/procfs.h, and instead add the Ulrich Weigandregister set information there directly, even if that means some Ulrich Weigandduplication of code. (Again, since this is never-changing ABI, Ulrich Weigandduplication isn't actually all that bad. Also, all the other Ulrich Weigandplatforms do it that way too, so why should ARM be different ...) Makes sense to me While we are talking about modifying sys/ucontext.h David Given raised another issue with that header (for those reading on the linaro list his post can be found at http://lists.debian.org/debian-arm/2011/12/msg00048.html) David GivenThis might be a good time to mention that on ARM, sys/ucontext.h defines David Givenboth symbols and preprocessor macros called R0, R1, R2, etc in the David Givenglobal namespace; this is causing one of my packages to fail to build David Givendue to symbol collision. David Given David GivenI'm fixing the package, but naming symbols stuff like that is still David Givenpretty antisocial... Does anyone know what the impact of renaming these to use a REG_ prefix like i386, amd64 and sparc do* would be? * ia64,mips, mipsel, powerpc, 390 and s390x don't seem to define such symbols at all. -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4eec420f.8010...@postgrad.manchester.ac.uk