public inbox for libc-ports@sourceware.org
 help / color / mirror / Atom feed
* Re: Fix SHLIB_COMPAT with undefined obsoleting version
       [not found] ` <20130308215906.6B7A22C0A5@topped-with-meat.com>
@ 2013-03-11  9:46   ` Andreas Schwab
  2013-03-11 13:09     ` Chris Metcalf
  0 siblings, 1 reply; 11+ messages in thread
From: Andreas Schwab @ 2013-03-11  9:46 UTC (permalink / raw)
  To: Roland McGrath; +Cc: libc-alpha, libc-ports

This is what I have checked in.

Andreas.

	[BZ #15234]
	* Versions.def (libpthread): Add GLIBC_2.3, so that it can be used
	by SHLIB_COMPAT.
	* sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist
	(GLIBC_2.16): Remove pthread_atfork.

ChangeLog.aarch64:
	[BZ #15234]
	* sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
	(GLIBC_2.17): Remove pthread_atfork.

ChangeLog.arm:
	[BZ #15234]
	* sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist (GLIBC_2.4):
	Remove pthread_atfork.

ChangeLog.m68k:
	[BZ #15234]
	* sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist
	(GLIBC_2.4): Remove pthread_atfork.

ChangeLog.tile:
	[BZ #15234]
	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist
	(GLIBC_2.12): Remove pthread_atfork.
	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist
	(GLIBC_2.12): Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist
	(GLIBC_2.12): Likewise.

diff --git a/NEWS b/NEWS
index 26bdd19..1f63e3f 100644
--- a/NEWS
+++ b/NEWS
@@ -11,7 +11,7 @@ Version 2.18
 
   11561, 12723, 13550, 13951, 14142, 14200, 14317, 14327, 14496, 14920,
   14964, 14981, 14982, 14985, 14994, 14996, 15003, 15006, 15020, 15023,
-  15036, 15054, 15055, 15062, 15078, 15160, 15232.
+  15036, 15054, 15055, 15062, 15078, 15160, 15232, 15234.
 
 * Add support for calling C++11 thread_local object destructors on thread
   and program exit.  This needs compiler support for offloading C++11
diff --git a/Versions.def b/Versions.def
index 8651992..7c7d1f8 100644
--- a/Versions.def
+++ b/Versions.def
@@ -93,6 +93,7 @@ libpthread {
   GLIBC_2.2
   GLIBC_2.2.3
   GLIBC_2.2.6
+  GLIBC_2.3
   GLIBC_2.3.2
   GLIBC_2.3.3
   GLIBC_2.3.4
diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
index 031c70e..696158a 100644
--- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
+++ b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
@@ -73,7 +73,6 @@ GLIBC_2.17
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F
diff --git a/ports/sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist b/ports/sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist
index 6c0bbde..de8095a 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist
@@ -83,7 +83,6 @@ GLIBC_2.4
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist b/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist
index 6c0bbde..de8095a 100644
--- a/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist
+++ b/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist
@@ -83,7 +83,6 @@ GLIBC_2.4
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F
diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist
index 3ab0046..658c4bf 100644
--- a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist
+++ b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist
@@ -73,7 +73,6 @@ GLIBC_2.12
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F
diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist
index 3ab0046..658c4bf 100644
--- a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist
+++ b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist
@@ -73,7 +73,6 @@ GLIBC_2.12
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F
diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist
index 3ab0046..658c4bf 100644
--- a/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist
+++ b/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist
@@ -73,7 +73,6 @@ GLIBC_2.12
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist
index ee69932..b07d16f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist
@@ -73,7 +73,6 @@ GLIBC_2.16
  pause F
  pread F
  pread64 F
- pthread_atfork F
  pthread_attr_destroy F
  pthread_attr_getaffinity_np F
  pthread_attr_getdetachstate F
-- 
1.8.1.5


-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Fix SHLIB_COMPAT with undefined obsoleting version
  2013-03-11  9:46   ` Fix SHLIB_COMPAT with undefined obsoleting version Andreas Schwab
@ 2013-03-11 13:09     ` Chris Metcalf
  2013-03-11 13:36       ` Andreas Schwab
  0 siblings, 1 reply; 11+ messages in thread
From: Chris Metcalf @ 2013-03-11 13:09 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Roland McGrath, libc-alpha, libc-ports

On 3/11/2013 5:45 AM, Andreas Schwab wrote:
> This is what I have checked in.
>
> Andreas.
>
> 	[BZ #15234]
> 	* Versions.def (libpthread): Add GLIBC_2.3, so that it can be used
> 	by SHLIB_COMPAT.
> 	* sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist
> 	(GLIBC_2.16): Remove pthread_atfork.

I'm a little confused by this.  Why are you removing pthread_atfork from the abilist files?  It seems that calls to pthread_atfork() may have been buggily redirected to pthread_atfork@GLIBC_2.12 for tilegx/tilepro, but that doesn't mean we want to have NO implementation of pthread_atfork exported from the library.

-- 
Chris Metcalf, Tilera Corp.
http://www.tilera.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Fix SHLIB_COMPAT with undefined obsoleting version
  2013-03-11 13:09     ` Chris Metcalf
@ 2013-03-11 13:36       ` Andreas Schwab
  2013-03-11 14:17         ` Chris Metcalf
  0 siblings, 1 reply; 11+ messages in thread
From: Andreas Schwab @ 2013-03-11 13:36 UTC (permalink / raw)
  To: Chris Metcalf; +Cc: Roland McGrath, libc-alpha, libc-ports

Chris Metcalf <cmetcalf@tilera.com> writes:

> I'm a little confused by this.  Why are you removing pthread_atfork from
> the abilist files?  It seems that calls to pthread_atfork() may have been
> buggily redirected to pthread_atfork@GLIBC_2.12 for tilegx/tilepro,

No, this is not possible.

> but that doesn't mean we want to have NO implementation of
> pthread_atfork exported from the library.

The only implementation of pthread_atfork is in libpthread_nonshared.a.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Fix SHLIB_COMPAT with undefined obsoleting version
  2013-03-11 13:36       ` Andreas Schwab
@ 2013-03-11 14:17         ` Chris Metcalf
  2013-03-11 14:38           ` Andreas Schwab
  0 siblings, 1 reply; 11+ messages in thread
From: Chris Metcalf @ 2013-03-11 14:17 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Roland McGrath, libc-alpha, libc-ports

On 3/11/2013 9:36 AM, Andreas Schwab wrote:
> Chris Metcalf <cmetcalf@tilera.com> writes:
>
>> I'm a little confused by this.  Why are you removing pthread_atfork from
>> the abilist files?  It seems that calls to pthread_atfork() may have been
>> buggily redirected to pthread_atfork@GLIBC_2.12 for tilegx/tilepro,
> No, this is not possible.
>
>> but that doesn't mean we want to have NO implementation of
>> pthread_atfork exported from the library.
> The only implementation of pthread_atfork is in libpthread_nonshared.a.

Got it - we are actually calling libc.so's __register_atfork() due to the nonshared piece.  What was confusing is that we appear to build pthread_atfork.os and then we don't use it.

-- 
Chris Metcalf, Tilera Corp.
http://www.tilera.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Fix SHLIB_COMPAT with undefined obsoleting version
  2013-03-11 14:17         ` Chris Metcalf
@ 2013-03-11 14:38           ` Andreas Schwab
  2013-03-12  9:18             ` [PATCH] Don't build .os objects of static-only-routines for extra libs Andreas Schwab
  0 siblings, 1 reply; 11+ messages in thread
From: Andreas Schwab @ 2013-03-11 14:38 UTC (permalink / raw)
  To: Chris Metcalf; +Cc: Roland McGrath, libc-alpha, libc-ports

Chris Metcalf <cmetcalf@tilera.com> writes:

> What was confusing is that we appear to build pthread_atfork.os and
> then we don't use it.

That's a bug, it shouldn't even be built.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] Don't build .os objects of static-only-routines for extra libs
  2013-03-11 14:38           ` Andreas Schwab
@ 2013-03-12  9:18             ` Andreas Schwab
  2013-03-12 14:06               ` Carlos O'Donell
                                 ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Andreas Schwab @ 2013-03-12  9:18 UTC (permalink / raw)
  To: Chris Metcalf; +Cc: Roland McGrath, libc-alpha, libc-ports

	* extra-lib.mk (extra-objs): Add static-only-routines as .oS
	instead of .os.
---
 extra-lib.mk | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/extra-lib.mk b/extra-lib.mk
index a2293c5..247946f 100644
--- a/extra-lib.mk
+++ b/extra-lib.mk
@@ -34,7 +34,12 @@ extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
 					   $($(lib)-shared-only-routines),\
 					   $(all-$(lib)-routines))))
 ifneq (,$(filter .os,$(object-suffixes-$(lib))))
-extra-objs += $(all-$(lib)-routines:%=%.os)
+extra-objs += $(patsubst %,%.os,$(filter-out $($(lib)-static-only-routines),\
+					     $(all-$(lib)-routines)))
+endif
+ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
+extra-objs += $(patsubst %,%.oS,$(filter $($(lib)-static-only-routines),\
+					 $(all-$(lib)-routines)))
 endif
 alltypes-$(lib) := $(foreach o,$(object-suffixes-$(lib)),\
 			     $(objpfx)$(patsubst %,$(libtype$o),\
-- 
1.8.1.5


-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Don't build .os objects of static-only-routines for extra libs
  2013-03-12  9:18             ` [PATCH] Don't build .os objects of static-only-routines for extra libs Andreas Schwab
@ 2013-03-12 14:06               ` Carlos O'Donell
  2013-03-12 15:40                 ` Andreas Schwab
  2013-03-12 14:23               ` Chris Metcalf
  2013-03-12 17:38               ` Roland McGrath
  2 siblings, 1 reply; 11+ messages in thread
From: Carlos O'Donell @ 2013-03-12 14:06 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Chris Metcalf, Roland McGrath, libc-alpha, libc-ports

On 03/12/2013 05:18 AM, Andreas Schwab wrote:
> 	* extra-lib.mk (extra-objs): Add static-only-routines as .oS
> 	instead of .os.
> ---
>  extra-lib.mk | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/extra-lib.mk b/extra-lib.mk
> index a2293c5..247946f 100644
> --- a/extra-lib.mk
> +++ b/extra-lib.mk
> @@ -34,7 +34,12 @@ extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
>  					   $($(lib)-shared-only-routines),\
>  					   $(all-$(lib)-routines))))
>  ifneq (,$(filter .os,$(object-suffixes-$(lib))))
> -extra-objs += $(all-$(lib)-routines:%=%.os)
> +extra-objs += $(patsubst %,%.os,$(filter-out $($(lib)-static-only-routines),\
> +					     $(all-$(lib)-routines)))
> +endif
> +ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
> +extra-objs += $(patsubst %,%.oS,$(filter $($(lib)-static-only-routines),\
> +					 $(all-$(lib)-routines)))
>  endif
>  alltypes-$(lib) := $(foreach o,$(object-suffixes-$(lib)),\
>  			     $(objpfx)$(patsubst %,$(libtype$o),\
> 

Does this actually cause a problem building a library
using extra-lib.mk?

I'm trying to read the code and determine under which
conditions this would break one of the existing libraries
we build uding extra-lib.mk, but given my build logs it
looks like 

I understand that this is a correctness issue, but I was
just wondering if it has any actual impact on our builds
today.

Cheers,
Carlos.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Don't build .os objects of static-only-routines for extra libs
  2013-03-12  9:18             ` [PATCH] Don't build .os objects of static-only-routines for extra libs Andreas Schwab
  2013-03-12 14:06               ` Carlos O'Donell
@ 2013-03-12 14:23               ` Chris Metcalf
  2013-03-12 17:38               ` Roland McGrath
  2 siblings, 0 replies; 11+ messages in thread
From: Chris Metcalf @ 2013-03-12 14:23 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Roland McGrath, libc-alpha, libc-ports

On 3/12/2013 5:18 AM, Andreas Schwab wrote:
> 	* extra-lib.mk (extra-objs): Add static-only-routines as .oS
> 	instead of .os.
>

I'm not going to try to comment on the correctness of the makefile change per se, but applying this patch to my glibc and building does result in no nptl/pthread_atfork.os, as desired, and the build does "make all" successfully.

-- 
Chris Metcalf, Tilera Corp.
http://www.tilera.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Don't build .os objects of static-only-routines for extra libs
  2013-03-12 14:06               ` Carlos O'Donell
@ 2013-03-12 15:40                 ` Andreas Schwab
  2013-03-12 22:24                   ` Carlos O'Donell
  0 siblings, 1 reply; 11+ messages in thread
From: Andreas Schwab @ 2013-03-12 15:40 UTC (permalink / raw)
  To: Carlos O'Donell; +Cc: Chris Metcalf, Roland McGrath, libc-alpha, libc-ports

"Carlos O'Donell" <carlos@redhat.com> writes:

> Does this actually cause a problem building a library
> using extra-lib.mk?

It has confused Chris, does that count? :-)

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Don't build .os objects of static-only-routines for extra libs
  2013-03-12  9:18             ` [PATCH] Don't build .os objects of static-only-routines for extra libs Andreas Schwab
  2013-03-12 14:06               ` Carlos O'Donell
  2013-03-12 14:23               ` Chris Metcalf
@ 2013-03-12 17:38               ` Roland McGrath
  2 siblings, 0 replies; 11+ messages in thread
From: Roland McGrath @ 2013-03-12 17:38 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Chris Metcalf, libc-alpha, libc-ports

That's fine.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Don't build .os objects of static-only-routines for extra libs
  2013-03-12 15:40                 ` Andreas Schwab
@ 2013-03-12 22:24                   ` Carlos O'Donell
  0 siblings, 0 replies; 11+ messages in thread
From: Carlos O'Donell @ 2013-03-12 22:24 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Chris Metcalf, Roland McGrath, libc-alpha, libc-ports

On 03/12/2013 11:39 AM, Andreas Schwab wrote:
> "Carlos O'Donell" <carlos@redhat.com> writes:
> 
>> Does this actually cause a problem building a library
>> using extra-lib.mk?
> 
> It has confused Chris, does that count? :-)

Yes :-)

Cheers,
Carlos.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-03-12 22:24 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <mvmr4juw5y8.fsf@hawking.suse.de>
     [not found] ` <20130308215906.6B7A22C0A5@topped-with-meat.com>
2013-03-11  9:46   ` Fix SHLIB_COMPAT with undefined obsoleting version Andreas Schwab
2013-03-11 13:09     ` Chris Metcalf
2013-03-11 13:36       ` Andreas Schwab
2013-03-11 14:17         ` Chris Metcalf
2013-03-11 14:38           ` Andreas Schwab
2013-03-12  9:18             ` [PATCH] Don't build .os objects of static-only-routines for extra libs Andreas Schwab
2013-03-12 14:06               ` Carlos O'Donell
2013-03-12 15:40                 ` Andreas Schwab
2013-03-12 22:24                   ` Carlos O'Donell
2013-03-12 14:23               ` Chris Metcalf
2013-03-12 17:38               ` Roland McGrath

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).