public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 00/19] Fix -Wundef warning in SHLIB_COMPAT
@ 2014-08-21 10:58 Siddhesh Poyarekar
  2014-08-21 10:58 ` [PATCH 08/19] Remove IS_IN_ldconfig Siddhesh Poyarekar
                   ` (20 more replies)
  0 siblings, 21 replies; 106+ messages in thread
From: Siddhesh Poyarekar @ 2014-08-21 10:58 UTC (permalink / raw)
  To: libc-alpha

Hi,

Here's take 2.

This patchset replaces the various IS_IN_*, NOT_IN_* and IN_LIB macro
schemes with a single unified IS_IN() macro scheme.  All patches have
been tested on x86_64, and all but [05/19] result in no code change.

[05/19] fixes a subtle bug introduced when adding systemtap probes to
lowlevellock.  The latter resulted in inclusion of stap-probe.h in a
lot of places, including those where IN_LIB is used to test if the
header is included in a translation unit compiled as a versioned
library.  The problem is that stap-probe.h defines IN_LIB if it is not
defined, to trap some error conditions and that breaks the check for
headers such as errno.h.

Following Rolands suggestions, the module a translation unit is being
built into is set using the libof-* variable and if it is not set,
it's assumed to be in in libc.  Accordingly, an IN_MODULE macro is
defined exactly once in the build options.

The values for IN_MODULE have initially been hardcoded in
include/libc-modules.h and in a subsequent patch, that file has been
removed and auto-generated from soversions.i (which in turn is
generated from various shlib-versions files) and a new file called
build.list which merely has a module name per line.

[18/19] is optional in that it is just a cleanup to make the
conditions easier to read.  It does not change the generated code
again, so it ought to be safe.

Finally, I did some ad hoc cross-builds for powerpc64 (power6), s390x,
aarch64 and arm and the binaries did not seem to have any significant
changes in any of the architectures except in s390x, where libc.so
seems to have changed very slightly.  I am going to run some more
exhaustive build tests over the rest of the week and I'll post results
(and maybe additional patches if necessary) on this thread when I am
done.

Siddhesh

PS: Thanks Roland for packaging cross-kernel-headers for Fedora; it
has made my job of setting up cross builds much easier :)

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

end of thread, other threads:[~2015-10-28 14:31 UTC | newest]

Thread overview: 106+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-21 10:58 [PATCH 00/19] Fix -Wundef warning in SHLIB_COMPAT Siddhesh Poyarekar
2014-08-21 10:58 ` [PATCH 08/19] Remove IS_IN_ldconfig Siddhesh Poyarekar
2014-08-22 18:29   ` Roland McGrath
2014-08-21 10:58 ` [PATCH 01/19] Add new macro IN_MODULE to identify module in which source is built Siddhesh Poyarekar
2014-08-22 18:22   ` Roland McGrath
2014-08-22 18:45     ` Siddhesh Poyarekar
2014-08-27 17:19     ` [PATCH 01/19 v2] " Siddhesh Poyarekar
2014-09-17 12:38       ` [ping][PATCH " Siddhesh Poyarekar
2014-09-24  9:06         ` [ping2][PATCH " Siddhesh Poyarekar
2014-10-01  8:16         ` [ping3][PATCH " Siddhesh Poyarekar
2014-10-14 16:20           ` [ping4][PATCH " Siddhesh Poyarekar
2014-11-05 11:03             ` [ping5][PATCH " Siddhesh Poyarekar
2014-11-07 23:22           ` [ping3][PATCH " Roland McGrath
2014-11-08  2:10             ` Siddhesh Poyarekar
2014-11-18 18:48               ` Roland McGrath
2014-08-21 10:58 ` [PATCH 14/19] Remove IS_IN_rtld Siddhesh Poyarekar
2014-08-22 19:34   ` Roland McGrath
2014-08-21 10:58 ` [PATCH 06/19] Define IN_MODULE for translation units that define NOT_IN_libc Siddhesh Poyarekar
2014-08-22 18:28   ` Roland McGrath
2014-08-22 18:54     ` Siddhesh Poyarekar
2014-09-01 17:19       ` Siddhesh Poyarekar
2014-09-05 18:54         ` Roland McGrath
2014-09-05 22:50           ` Siddhesh Poyarekar
2014-09-05 22:54             ` Roland McGrath
2014-09-15  6:06               ` [PATCH] Include .interp section only for libc.so Siddhesh Poyarekar
2014-09-15  8:19               ` Siddhesh Poyarekar
2014-09-16 15:50                 ` Roland McGrath
2015-06-02 18:47                 ` Dmitry V. Levin
2014-09-15  8:21               ` [PATCH] Remove CFLAGS for interp.c Siddhesh Poyarekar
2014-09-16 15:52                 ` Roland McGrath
2015-03-02 14:57                 ` Andreas Schwab
2015-10-28 14:31                   ` Marcus Shawcroft
2014-09-17 12:29   ` [PATCH v2 06/19] Define IN_MODULE for translation units that define NOT_IN_libc Siddhesh Poyarekar
2014-09-24  9:07     ` [ping][PATCH " Siddhesh Poyarekar
2014-10-01  8:23       ` [ping2][PATCH " Siddhesh Poyarekar
2014-10-14 16:45         ` [ping3][PATCH " Siddhesh Poyarekar
2014-11-07 23:23     ` [PATCH " Roland McGrath
2014-08-21 10:58 ` [PATCH 17/19] Provide default definition for IS_IN when _LIBC is not defined Siddhesh Poyarekar
2014-08-22 19:38   ` Roland McGrath
2014-08-22 19:47     ` Siddhesh Poyarekar
2014-08-22 20:34     ` Joseph S. Myers
2014-08-28  6:55   ` [PATCH 17/19 v2] Use IS_IN only when _LIBC is defined Siddhesh Poyarekar
2014-08-28 16:58     ` Joseph S. Myers
2014-09-01 16:59       ` [PATCH 17/19 v3] " Siddhesh Poyarekar
2014-09-01 22:18         ` Siddhesh Poyarekar
2014-09-17 12:55         ` [ping][PATCH 17/17 v3] Use IS_IN internally only Siddhesh Poyarekar
2014-09-24  9:08           ` [ping2][PATCH " Siddhesh Poyarekar
2014-09-24  9:16             ` Joseph S. Myers
2014-11-07 23:33     ` [PATCH 17/19 v2] Use IS_IN only when _LIBC is defined Roland McGrath
2014-11-18 13:54       ` Siddhesh Poyarekar
2014-11-18 13:55         ` Siddhesh Poyarekar
2014-11-18 18:42         ` Roland McGrath
2014-11-18 19:53           ` Andreas Schwab
2014-08-21 10:58 ` [PATCH 05/19] Remove IN_LIB Siddhesh Poyarekar
2014-08-22 18:26   ` Roland McGrath
2014-08-21 10:58 ` [PATCH 12/19] Remove IS_IN_libpthread Siddhesh Poyarekar
2014-08-22 18:31   ` Roland McGrath
2014-08-21 10:58 ` [PATCH 11/19] Remove IS_IN_librt Siddhesh Poyarekar
2014-08-22 18:31   ` Roland McGrath
2014-08-21 10:58 ` [PATCH 09/19] Remove IS_IN_nscd Siddhesh Poyarekar
2014-08-22 18:30   ` Roland McGrath
2014-08-21 10:58 ` [PATCH 02/19] Fix -Wundef warning in SHLIB_COMPAT Siddhesh Poyarekar
2014-08-22 18:23   ` Roland McGrath
2014-08-21 10:58 ` [PATCH 03/19] Auto-generate libc-modules.h Siddhesh Poyarekar
2014-08-22 18:42   ` Siddhesh Poyarekar
2014-08-28  6:11   ` [PATCH 03/19 v2] " Siddhesh Poyarekar
2014-09-17 12:43     ` [ping][PATCH " Siddhesh Poyarekar
2014-09-24  9:06       ` [ping2][PATCH " Siddhesh Poyarekar
2014-10-01  8:18         ` [ping3][PATCH " Siddhesh Poyarekar
2014-10-14 16:21           ` [ping4][PATCH " Siddhesh Poyarekar
2014-11-07 23:29           ` [ping3][PATCH " Roland McGrath
2014-11-18 16:20             ` [PATCH 03/19 v3] " Siddhesh Poyarekar
2014-11-18 18:45               ` Roland McGrath
2014-11-19  7:58                 ` Siddhesh Poyarekar
2014-08-21 10:58 ` [PATCH 13/19] Remove IS_IN_libm Siddhesh Poyarekar
2014-08-22 19:33   ` Roland McGrath
2014-08-21 10:58 ` [PATCH 16/19] Remove NOT_IN_libc Siddhesh Poyarekar
2014-08-22 19:36   ` Roland McGrath
2014-08-21 10:58 ` [PATCH 04/19] Use MODULE_NAME in stap-probe instead of IN_LIB Siddhesh Poyarekar
2014-09-17 12:47   ` [ping][PATCH " Siddhesh Poyarekar
2014-09-24  9:07     ` [ping2][PATCH " Siddhesh Poyarekar
2014-10-01  8:19     ` [ping3][PATCH " Siddhesh Poyarekar
2014-10-14 16:22       ` [ping4][PATCH " Siddhesh Poyarekar
2014-11-07 23:32     ` [ping][PATCH " Roland McGrath
2014-11-19  7:10       ` Siddhesh Poyarekar
2014-11-19 23:47         ` Roland McGrath
2014-11-24 10:43           ` Siddhesh Poyarekar
2014-08-21 10:58 ` [PATCH 10/19] Remove IS_IN_libdl Siddhesh Poyarekar
2014-08-22 18:30   ` Roland McGrath
2014-08-21 11:17 ` [PATCH 19/19] Define NOT_IN when building outside glibc Siddhesh Poyarekar
2014-08-22 13:51   ` Richard Henderson
2014-08-22 14:24     ` Siddhesh Poyarekar
2014-08-22 19:50       ` Siddhesh Poyarekar
2014-08-21 11:37 ` [PATCH 07/19] Remove IS_IN_libc Siddhesh Poyarekar
2014-08-22 18:29   ` Roland McGrath
2014-08-21 11:52 ` [PATCH 15/19] Remove last place for definition of IS_IN_* macros Siddhesh Poyarekar
2014-08-22 19:34   ` Roland McGrath
2014-08-21 11:52 ` [PATCH 18/19] Define new macro NOT_IN Siddhesh Poyarekar
2014-08-22 19:39   ` Roland McGrath
2014-08-22 19:49     ` Siddhesh Poyarekar
2014-08-22  4:57 ` [all-arch][PATCH 00/19] Fix -Wundef warning in SHLIB_COMPAT Siddhesh Poyarekar
2014-08-22 16:01   ` Joseph S. Myers
2014-08-22 17:32     ` Siddhesh Poyarekar
2014-08-22 18:01       ` Joseph S. Myers
2014-08-22 18:34         ` Siddhesh Poyarekar
2014-11-05 11:07 ` [PING] " Siddhesh Poyarekar

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).