summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libstdbuf.c3
-rw-r--r--src/stdbuf.c12
2 files changed, 13 insertions, 2 deletions
diff --git a/src/libstdbuf.c b/src/libstdbuf.c
index 88321e9e4..1281b9de7 100644
--- a/src/libstdbuf.c
+++ b/src/libstdbuf.c
@@ -127,7 +127,8 @@ apply_mode (FILE *stream, const char *mode)
}
}
-__attribute__ ((constructor)) static void
+/* Use __attribute to avoid elision of __attribute__ on SUNPRO_C etc. */
+static void __attribute ((constructor))
stdbuf (void)
{
char *e_mode = getenv ("_STDBUF_E");
diff --git a/src/stdbuf.c b/src/stdbuf.c
index 270881bf5..c648fc5d0 100644
--- a/src/stdbuf.c
+++ b/src/stdbuf.c
@@ -195,7 +195,17 @@ set_LD_PRELOAD (void)
However we want the lookup done for the exec'd command not stdbuf.
Since we don't link against libstdbuf.so add it to PKGLIBEXECDIR
- rather than to LIBDIR. */
+ rather than to LIBDIR.
+
+ Note we could add "" as the penultimate item in the following list
+ to enable searching for libstdbuf.so in the default system lib paths.
+ However that would not indicate an error if libstdbuf.so was not found.
+ Also while this could support auto selecting the right arch in a multilib
+ environment, what we really want is to auto select based on the arch of the
+ command being run, rather than that of stdbuf itself. This is currently
+ not supported due to the unusual need for controlling the stdio buffering
+ of programs that are a different architecture to the default on the
+ system (and that of stdbuf itself). */
char const *const search_path[] = {
program_path,
PKGLIBEXECDIR,