Package: src:eglibc Followup-For: Bug #709992 Hi!
I have browsed the code a bit and looked at the differences between eglibc 2.13 (which builds on m68k) and 2.17 and it turns out that m68k-helpers.S had two separate versions for Coldfire and real m68k CPUs in 2.13 while the code was merged in 2.17. 2.13: glaubitz@z6:..linux/m68k> pwd /home/glaubitz/tmp/eglibc-2.13/ports/sysdeps/unix/sysv/linux/m68k glaubitz@z6:..linux/m68k> ls -l */m68k-helpers.S -rw-r--r-- 1 glaubitz glaubitz 3474 Mar 13 2010 coldfire/m68k-helpers.S -rw-r--r-- 1 glaubitz glaubitz 3433 Mar 13 2010 m680x0/m68k-helpers.S glaubitz@z6:..linux/m68k> 2.17: glaubitz@z6:..linux/m68k> pwd /home/glaubitz/tmp/eglibc-2.17/ports/sysdeps/unix/sysv/linux/m68k glaubitz@z6:..linux/m68k> ls -l m68k-helpers.S -rw-r--r-- 1 glaubitz glaubitz 3251 Mar 10 2012 m68k-helpers.S glaubitz@z6:..linux/m68k> So it might be worth looking into what has been changed for the original m68k CPUs in m68k-helper.S: glaubitz@z6:~> diff -u /home/glaubitz/tmp/eglibc-2.13/ports/sysdeps/unix/sysv/linux/m68k/m680x0/m68k-helpers.S /home/glaubitz/tmp/eglibc-2.17/ports/sysdeps/unix/sysv/linux/m68k/m68k-helpers.S --- /home/glaubitz/tmp/eglibc-2.13/ports/sysdeps/unix/sysv/linux/m68k/m680x0/m68k-helpers.S 2010-03-13 19:20:12.000000000 +0100 +++ /home/glaubitz/tmp/eglibc-2.17/ports/sysdeps/unix/sysv/linux/m68k/m68k-helpers.S 2012-03-10 02:14:00.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 2010 Free Software Foundation, Inc. +/* Copyright (C) 2010, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Maxim Kuvyrkov <ma...@codesourcery.com>, 2010. @@ -30,9 +30,8 @@ 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. */ + License along with the GNU C Library. If not, see + <http://www.gnu.org/licenses/>. */ #include <sysdep.h> #include <bits/m68k-vdso.h> @@ -41,12 +40,10 @@ .hidden __vdso_read_tp_stub ENTRY (__vdso_read_tp_stub) - cfi_startproc move.l #__NR_get_thread_area, %d0 trap #0 move.l %d0, %a0 rts - cfi_endproc END (__vdso_read_tp_stub) # ifdef SHARED @@ -59,11 +56,10 @@ .hidden __m68k_read_tp # endif ENTRY (__m68k_read_tp) - cfi_startproc - lea _GLOBAL_OFFSET_TABLE_@GOTPC(%pc), %a0 + LOAD_GOT (%a0) move.l M68K_VDSO_SYMBOL (__vdso_read_tp)@GOT(%a0), %a0 - jmp ([%a0]) - cfi_endproc + move.l (%a0), %a0 + jmp (%a0) END (__m68k_read_tp) /* The following two stubs are for macros in atomic.h, they can't @@ -71,7 +67,6 @@ .hidden __vdso_atomic_cmpxchg_32_stub ENTRY (__vdso_atomic_cmpxchg_32_stub) - cfi_startproc move.l %d2, -(%sp) cfi_adjust_cfa_offset (4) cfi_rel_offset (%d2, 0) @@ -82,12 +77,10 @@ cfi_adjust_cfa_offset (-4) cfi_restore (%d2) rts - cfi_endproc END (__vdso_atomic_cmpxchg_32_stub) .hidden __vdso_atomic_barrier_stub ENTRY (__vdso_atomic_barrier_stub) - cfi_startproc move.l %d0, -(%sp) cfi_adjust_cfa_offset (4) move.l #SYS_ify (atomic_barrier), %d0 @@ -95,7 +88,6 @@ move.l (%sp)+, %d0 cfi_adjust_cfa_offset (-4) rts - cfi_endproc END (__vdso_atomic_barrier_stub) # else /* !SHARED */ /* If the vDSO is not available, use a syscall to get TP. */ glaubitz@z6:~> So, 2.17 had the cfi_startproc and cfi_endproc macros removed. Any comment on that? Cheers, Adrian -- 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/20130624230024.9263.4203.report...@z6.physik.fu-berlin.de