From 978a41c35738dbe4592edb7dcaa155fec31dab50 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 6 May 2014 11:55:24 +0200 Subject: [PATCH] Don't use catomic functions in mcount (BZ #16912) mcount cannot use catomic functions since it is called by __libc_start_main before TLS is set up. This reverts the change made by commit 8099361. --- ChangeLog | 7 +++++++ NEWS | 2 +- gmon/mcount.c | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 64d9ed7..6ccf041 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2014-05-06 Andreas Schwab + + [BZ #16912] + * gmon/mcount.c (_MCOUNT_DECL): Use + atomic_compare_and_exchange_bool_acq instead of + catomic_compare_and_exchange_bool_acq. + 2014-05-05 Roland McGrath * elf/Makefile (others, install-bin): Remove pldd. diff --git a/NEWS b/NEWS index 1351c01..47c951b 100644 --- a/NEWS +++ b/NEWS @@ -16,7 +16,7 @@ Version 2.20 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707, 16712, 16713, 16714, 16731, 16739, 16740, 16743, 16754, 16758, 16759, 16760, 16770, 16786, 16789, 16791, 16799, 16800, 16815, 16823, 16824, 16831, 16838, - 16854, 16885, 16888, 16890. + 16854, 16885, 16888, 16890, 16912. * The minimum Linux kernel version that this version of the GNU C Library can be used with is 2.6.32. diff --git a/gmon/mcount.c b/gmon/mcount.c index 0c2acd2..9d4a1a5 100644 --- a/gmon/mcount.c +++ b/gmon/mcount.c @@ -69,8 +69,8 @@ _MCOUNT_DECL(frompc, selfpc) /* _mcount; may be static, inline, etc */ * check that we are profiling * and that we aren't recursively invoked. */ - if (catomic_compare_and_exchange_bool_acq (&p->state, GMON_PROF_BUSY, - GMON_PROF_ON)) + if (atomic_compare_and_exchange_bool_acq (&p->state, GMON_PROF_BUSY, + GMON_PROF_ON)) return; /* -- 2.7.4