diff mbox

fix gfcov regression

Message ID 5407146B.9080903@acm.org
State New
Headers show

Commit Message

Nathan Sidwell Sept. 3, 2014, 1:15 p.m. UTC
On 09/03/14 04:06, Dominique Dhumieres wrote:
>> I've committed the patch now.
>
> It (r214840) breaks bootstrap on darwin:

does this fix it?

nathan
2014-09-03  Nathan sidwell  <nathan@acm.org>

	* libgcov-interface.c (STRONG_ALIAS): Rename to ...
	(ALIAS): ... here. Make weak.  Adjust uses.

Comments

Dominique d'Humières Sept. 3, 2014, 4:51 p.m. UTC | #1
> does this fix it?

The answer after a quick update is yes, further testing scheduled for
tonight.

Thanks,

Dominique
Dominique d'Humières Sept. 7, 2014, 2:38 p.m. UTC | #2
As said in PR63182, the attached patch fixes bootstrap without regression. Any reason why it has not yet been committed?

Dominique

Le 3 sept. 2014 à 15:15, Nathan Sidwell <nathan@acm.org> a écrit :

> On 09/03/14 04:06, Dominique Dhumieres wrote:
>>> I've committed the patch now.
>> 
>> It (r214840) breaks bootstrap on darwin:
> 
> does this fix it?
> 
> nathan
> <all.diff>
diff mbox

Patch

Index: libgcc/libgcov-interface.c
===================================================================
--- libgcc/libgcov-interface.c	(revision 214840)
+++ libgcc/libgcov-interface.c	(working copy)
@@ -42,11 +42,11 @@  void __gcov_dump (void) {}
 
 #else
 
-
 /* Some functions we want to bind in this dynamic object, but have an
-   overridable global alias.  */
-#define STRONG_ALIAS(src,dst) \
-  extern __typeof (src) dst __attribute__((alias (#src)))
+   overridable global alias.  Weak aliases are supported in more
+   places than non-weak, and is adequate for our needs.  */
+#define ALIAS(src,dst) \
+  extern __typeof (src) dst __attribute__((weak, alias (#src)))
 
 extern __gthread_mutex_t __gcov_flush_mx ATTRIBUTE_HIDDEN;
 extern __gthread_mutex_t __gcov_flush_mx ATTRIBUTE_HIDDEN;
@@ -133,7 +133,7 @@  __gcov_reset_int (void)
   __gcov_root.dumped = 0;
 }
 
-STRONG_ALIAS (__gcov_reset_int, __gcov_reset);
+ALIAS (__gcov_reset_int, __gcov_reset);
 
 #endif /* L_gcov_reset */