From: Chet Ramey Date: Wed, 7 Dec 2011 14:09:21 +0000 (-0500) Subject: commit bash-20070613 snapshot X-Git-Tag: bash-4.0-alpha~49 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=234d8729630122c9bac113ed19bd196912c72a1e;p=thirdparty%2Fbash.git commit bash-20070613 snapshot --- diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index b4e572686..2e7f5c150 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -14724,4 +14724,38 @@ jobs.c the controlling terminal. If it's not, try to open /dev/tty and assign it to shell_tty. Fixes problems reported by Derek Fawcus - + + 6/13 + ---- +support/shobj-conf + - changes to support shared object and shared library creation on AIX + 5.x and later versions. From Niklas Edmundsson + + 6/17 + ---- +builtins/mkbuiltins.c + - new array of builtins, posix_builtins, containing builtins listed + as special to the command search order by POSIX + - add POSIX_BUILTIN to the builtin flags if the builtin name is one + that's special to the posix command search order + +builtins.h + - new define, POSIX_BUILTIN, means that a builtin is special to the + posix command search order + + 6/22 + ---- +lib/readline/display.c + - new macro, WRAP_OFFSET, intended to replace W_OFFSET. Takes prompt + strings longer than one physical line with invisible characters on + the second line into account when calculating the number of + invisible characters on the current screen line + - use WRAP_OFFSET where appropriate (update_line, _rl_move_cursor_relative) + - change update_line to deal with adjusting _rl_last_c_pos in a + multibyte environment when the prompt has invisible chars on the + second line and redisplay has output the invisible characters + - change _rl_move_cursor_relative to adjust _rl_last_c_pos in a + multibyte environment when the prompt has invisible chars on the + second line and the redisplay draws the invisible character. Fixes + redisplay bug reported by Andreas Schwab + diff --git a/CWRU/CWRU.chlog~ b/CWRU/CWRU.chlog~ index 07b3b8636..453921502 100644 --- a/CWRU/CWRU.chlog~ +++ b/CWRU/CWRU.chlog~ @@ -14719,3 +14719,43 @@ jobs.c fail, for subsequent error messages - change initialize_job_control to turn off job control if the terminal pgrp == -1 or is not equal to shell_pgrp (with an error message) + - in initialize_job_control, if the shell has been forced interactive + with -i, make sure stderr is hooked to a tty before using it as + the controlling terminal. If it's not, try to open /dev/tty and + assign it to shell_tty. Fixes problems reported by Derek Fawcus + + + 6/13 + ---- +support/shobj-conf + - changes to support shared object and shared library creation on AIX + 5.x and later versions. From Niklas Edmundsson + + 6/17 + ---- +builtins/mkbuiltins.c + - new array of builtins, posix_builtins, containing builtins listed + as special to the command search order by POSIX + - add POSIX_BUILTIN to the builtin flags if the builtin name is one + that's special to the posix command search order + +builtins.h + - new define, POSIX_BUILTIN, means that a builtin is special to the + posix command search order + + 6/22 + ---- +lib/readline/display.c + - new macro, WRAP_OFFSET, intended to replace W_OFFSET. Takes prompt + strings longer than one physical line with invisible characters on + the second line into account when calculating the number of + invisible characters on the current screen line + - use WRAP_OFFSET where appropriate (update_line, _rl_move_cursor_relative) + - change update_line to deal with adjusting _rl_last_c_pos in a + multibyte environment when the prompt has invisible chars on the + second line and redisplay has output the invisible characters + - change _rl_move_cursor_relative to adjust _rl_last_c_pos in a + multibyte environment when the prompt has invisible chars on the + second line and the redisplay draws the invisible character. Fixes + bug reported by Andreas Schwab + diff --git a/builtins.h b/builtins.h index f75e5038b..ebab0dc81 100644 --- a/builtins.h +++ b/builtins.h @@ -1,6 +1,6 @@ /* builtins.h -- What a builtin looks like, and where to find them. */ -/* Copyright (C) 1987,1991 Free Software Foundation, Inc. +/* Copyright (C) 1987-2007 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. @@ -35,11 +35,12 @@ #endif /* Flags describing various things about a builtin. */ -#define BUILTIN_ENABLED 0x1 /* This builtin is enabled. */ -#define BUILTIN_DELETED 0x2 /* This has been deleted with enable -d. */ -#define STATIC_BUILTIN 0x4 /* This builtin is not dynamically loaded. */ -#define SPECIAL_BUILTIN 0x8 /* This is a Posix `special' builtin. */ +#define BUILTIN_ENABLED 0x01 /* This builtin is enabled. */ +#define BUILTIN_DELETED 0x02 /* This has been deleted with enable -d. */ +#define STATIC_BUILTIN 0x04 /* This builtin is not dynamically loaded. */ +#define SPECIAL_BUILTIN 0x08 /* This is a Posix `special' builtin. */ #define ASSIGNMENT_BUILTIN 0x10 /* This builtin takes assignment statements. */ +#define POSIX_BUILTIN 0x20 /* This builtins is special in the Posix command search order. */ #define BASE_INDENT 4 diff --git a/builtins.h~ b/builtins.h~ new file mode 100644 index 000000000..f75e5038b --- /dev/null +++ b/builtins.h~ @@ -0,0 +1,60 @@ +/* builtins.h -- What a builtin looks like, and where to find them. */ + +/* Copyright (C) 1987,1991 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + Bash is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU General Public License + along with Bash; see the file COPYING. If not, write to the Free + Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + +#include "config.h" + +#if defined (HAVE_UNISTD_H) +# ifdef _MINIX +# include +# endif +# include +#endif + +#include "command.h" +#include "general.h" + +#if defined (ALIAS) +#include "alias.h" +#endif + +/* Flags describing various things about a builtin. */ +#define BUILTIN_ENABLED 0x1 /* This builtin is enabled. */ +#define BUILTIN_DELETED 0x2 /* This has been deleted with enable -d. */ +#define STATIC_BUILTIN 0x4 /* This builtin is not dynamically loaded. */ +#define SPECIAL_BUILTIN 0x8 /* This is a Posix `special' builtin. */ +#define ASSIGNMENT_BUILTIN 0x10 /* This builtin takes assignment statements. */ + +#define BASE_INDENT 4 + +/* The thing that we build the array of builtins out of. */ +struct builtin { + char *name; /* The name that the user types. */ + sh_builtin_func_t *function; /* The address of the invoked function. */ + int flags; /* One of the #defines above. */ + char * const *long_doc; /* NULL terminated array of strings. */ + const char *short_doc; /* Short version of documenation. */ + char *handle; /* for future use */ +}; + +/* Found in builtins.c, created by builtins/mkbuiltins. */ +extern int num_shell_builtins; /* Number of shell builtins. */ +extern struct builtin static_shell_builtins[]; +extern struct builtin *shell_builtins; +extern struct builtin *current_builtin; diff --git a/builtins/exec.def b/builtins/exec.def index dd34ad53a..4d92a5696 100644 --- a/builtins/exec.def +++ b/builtins/exec.def @@ -1,7 +1,7 @@ This file is exec.def, from which is created exec.c. It implements the builtin "exec" in Bash. -Copyright (C) 1987-2003 Free Software Foundation, Inc. +Copyright (C) 1987-2007 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. @@ -23,15 +23,16 @@ $PRODUCES exec.c $BUILTIN exec $FUNCTION exec_builtin -$SHORT_DOC exec [-cl] [-a name] file [redirection ...] -Execute FILE, replacing this shell with the specified program. -If FILE is not specified, the redirections take effect in this -shell. If the first argument is `-l', then place a dash in the -zeroth arg passed to FILE, as login does. If the `-c' option -is supplied, FILE is executed with a null environment. The `-a' -option means set argv[0] of the executed process to NAME. -If the file cannot be executed and the shell is not interactive, -then the shell exits, unless the shell option `execfail' is set. +$SHORT_DOC exec [-cl] [-a name] [command [arguments ...]] +Execute COMMAND, replacing this shell with the specified program. +ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified, +any redirections take effect in the current shell. If the `-l' option +is supplied, the shell places a dash in the zeroth argument to the +COMMAND, as login does. If the `-c' option is supplied, COMMAND is +executed with an empty environment. The `-a' option causes the shell +to pass NAME as the zeroth argument to COMMAND. If the file cannot be +executed, a non-interactive shell exits, unless the shell option `execfail' +is set. $END #include diff --git a/builtins/exec.def~ b/builtins/exec.def~ index 0818a25e2..dd34ad53a 100644 --- a/builtins/exec.def~ +++ b/builtins/exec.def~ @@ -24,12 +24,12 @@ $PRODUCES exec.c $BUILTIN exec $FUNCTION exec_builtin $SHORT_DOC exec [-cl] [-a name] file [redirection ...] -Exec FILE, replacing this shell with the specified program. +Execute FILE, replacing this shell with the specified program. If FILE is not specified, the redirections take effect in this shell. If the first argument is `-l', then place a dash in the zeroth arg passed to FILE, as login does. If the `-c' option is supplied, FILE is executed with a null environment. The `-a' -option means to make set argv[0] of the executed process to NAME. +option means set argv[0] of the executed process to NAME. If the file cannot be executed and the shell is not interactive, then the shell exits, unless the shell option `execfail' is set. $END diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c index 8ebed4bad..aef02807b 100644 --- a/builtins/mkbuiltins.c +++ b/builtins/mkbuiltins.c @@ -71,6 +71,7 @@ extern char *strcpy (); /* Flag values that builtins can have. */ #define BUILTIN_FLAG_SPECIAL 0x01 #define BUILTIN_FLAG_ASSIGNMENT 0x02 +#define BUILTIN_FLAG_POSIX_BUILTIN 0x04 #define BASE_INDENT 4 @@ -154,9 +155,18 @@ char *assignment_builtins[] = (char *)NULL }; +/* The builtin commands that are special to the POSIX search order. */ +char *posix_builtins[] = +{ + "alias", "bg", "cd", "command", "false", "fc", "fg", "getopts", "jobs", + "kill", "newgrp", "pwd", "read", "true", "umask", "unalias", "wait", + (char *)NULL +}; + /* Forward declarations. */ static int is_special_builtin (); static int is_assignment_builtin (); +static int is_posix_builtin (); #if !defined (HAVE_RENAME) static int rename (); @@ -800,6 +810,8 @@ builtin_handler (self, defs, arg) new->flags |= BUILTIN_FLAG_SPECIAL; if (is_assignment_builtin (name)) new->flags |= BUILTIN_FLAG_ASSIGNMENT; + if (is_posix_builtin (name)) + new->flags |= BUILTIN_FLAG_POSIX_BUILTIN; array_add ((char *)new, defs->builtins); building_builtin = 1; @@ -1217,10 +1229,11 @@ write_builtins (defs, structfile, externfile) else fprintf (structfile, "(sh_builtin_func_t *)0x0, "); - fprintf (structfile, "%s%s%s, %s_doc,\n", + fprintf (structfile, "%s%s%s%s, %s_doc,\n", "BUILTIN_ENABLED | STATIC_BUILTIN", (builtin->flags & BUILTIN_FLAG_SPECIAL) ? " | SPECIAL_BUILTIN" : "", (builtin->flags & BUILTIN_FLAG_ASSIGNMENT) ? " | ASSIGNMENT_BUILTIN" : "", + (builtin->flags & BUILTIN_FLAG_POSIX_BUILTIN) ? " | POSIX_BUILTIN" : "", document_name (builtin)); fprintf @@ -1561,6 +1574,13 @@ is_assignment_builtin (name) return (_find_in_table (name, assignment_builtins)); } +static int +is_posix_builtin (name) + char *name; +{ + return (_find_in_table (name, posix_builtins)); +} + #if !defined (HAVE_RENAME) static int rename (from, to) diff --git a/builtins/mkbuiltins.c~ b/builtins/mkbuiltins.c~ index 3923b8a06..d213c8da6 100644 --- a/builtins/mkbuiltins.c~ +++ b/builtins/mkbuiltins.c~ @@ -1,7 +1,7 @@ /* mkbuiltins.c - Create builtins.c, builtext.h, and builtdoc.c from a single source file called builtins.def. */ -/* Copyright (C) 1987-2006 Free Software Foundation, Inc. +/* Copyright (C) 1987-2007 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. @@ -71,6 +71,7 @@ extern char *strcpy (); /* Flag values that builtins can have. */ #define BUILTIN_FLAG_SPECIAL 0x01 #define BUILTIN_FLAG_ASSIGNMENT 0x02 +#define BUILTIN_FLAG_POSIX_BUILTIN 0x04 #define BASE_INDENT 4 @@ -154,9 +155,18 @@ char *assignment_builtins[] = (char *)NULL }; +/* The builtin commands that are special to the POSIX search order. */ +char *posix_builtins[] = +{ + "alias", "bg", "cd", "command", "false", "fc", "fg", "getopts", "jobs", + "kill", "newgrp", "pwd", "read", "true", "umask", "unalias", "wait", + (char *)NULL +}; + /* Forward declarations. */ static int is_special_builtin (); static int is_assignment_builtin (); +static int is_posix_builtin (); #if !defined (HAVE_RENAME) static int rename (); @@ -800,6 +810,11 @@ builtin_handler (self, defs, arg) new->flags |= BUILTIN_FLAG_SPECIAL; if (is_assignment_builtin (name)) new->flags |= BUILTIN_FLAG_ASSIGNMENT; + if (is_posix_builtin (name)) +{ +fprintf(stderr, "%s: added BUILTIN_FLAG_POSIX_BUILTIN\n", name); + new->flags |= BUILTIN_FLAG_POSIX_BUILTIN; +} array_add ((char *)new, defs->builtins); building_builtin = 1; @@ -1080,7 +1095,7 @@ char *structfile_header[] = { "/* This file is manufactured by ./mkbuiltins, and should not be", " edited by hand. See the source to mkbuiltins for details. */", "", - "/* Copyright (C) 1987-2002 Free Software Foundation, Inc.", + "/* Copyright (C) 1987-2007 Free Software Foundation, Inc.", "", " This file is part of GNU Bash, the Bourne Again SHell.", "", @@ -1217,10 +1232,11 @@ write_builtins (defs, structfile, externfile) else fprintf (structfile, "(sh_builtin_func_t *)0x0, "); - fprintf (structfile, "%s%s%s, %s_doc,\n", + fprintf (structfile, "%s%s%s%s, %s_doc,\n", "BUILTIN_ENABLED | STATIC_BUILTIN", (builtin->flags & BUILTIN_FLAG_SPECIAL) ? " | SPECIAL_BUILTIN" : "", (builtin->flags & BUILTIN_FLAG_ASSIGNMENT) ? " | ASSIGNMENT_BUILTIN" : "", + (builtin->flags & BUILTIN_FLAG_POSIX_BUILTIN) ? " | POSIX_BUILTIN" : "", document_name (builtin)); fprintf @@ -1561,6 +1577,13 @@ is_assignment_builtin (name) return (_find_in_table (name, assignment_builtins)); } +static int +is_posix_builtin (name) + char *name; +{ + return (_find_in_table (name, posix_builtins)); +} + #if !defined (HAVE_RENAME) static int rename (from, to) diff --git a/lib/readline/display.c b/lib/readline/display.c index 1fbd9e591..e37a4181c 100644 --- a/lib/readline/display.c +++ b/lib/readline/display.c @@ -938,6 +938,9 @@ rl_redisplay () second and subsequent lines start at inv_lbreaks[N], offset by OFFSET (which has already been calculated above). */ +#define WRAP_OFFSET(line, offset) ((line == 0) \ + ? (offset ? prompt_invis_chars_first_line : 0) \ + : ((line == prompt_last_screen_line) ? wrap_offset-prompt_invis_chars_first_line : 0)) #define W_OFFSET(line, offset) ((line) == 0 ? offset : 0) #define VIS_LLEN(l) ((l) > _rl_vis_botlin ? 0 : (vis_lbreaks[l+1] - vis_lbreaks[l])) #define INV_LLEN(l) (inv_lbreaks[l+1] - inv_lbreaks[l]) @@ -973,6 +976,13 @@ rl_redisplay () _rl_last_c_pos > wrap_offset && o_cpos < prompt_last_invisible) _rl_last_c_pos -= wrap_offset; + + else if (linenum == prompt_last_screen_line && prompt_physical_chars > _rl_screenwidth && + (MB_CUR_MAX > 1 && rl_byte_oriented == 0) && + cpos_adjusted == 0 && + _rl_last_c_pos != o_cpos && + _rl_last_c_pos > (prompt_last_invisible - _rl_screenwidth - (wrap_offset-prompt_invis_chars_first_line))) + _rl_last_c_pos -= (wrap_offset-prompt_invis_chars_first_line); /* If this is the line with the prompt, we might need to compensate for invisible characters in the new line. Do @@ -992,6 +1002,19 @@ rl_redisplay () if (nleft) _rl_clear_to_eol (nleft); } +#if 0 + /* This segment is intended to handle the case where the prompt + has invisible characters on the second line and the new line + to be displayed needs to clear the rest of the old characters + out (e.g., when printing the i-search prompt). In general, + the case of the new line being shorter than the old. + Incomplete */ + else if (linenum == prompt_last_screen_line && + prompt_physical_chars > _rl_screenwidth && + wrap_offset != prompt_invis_chars_first_line && + _rl_last_c_pos == out && +#endif + /* Since the new first line is now visible, save its length. */ if (linenum == 0) @@ -1244,7 +1267,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) temp = _rl_last_c_pos; else - temp = _rl_last_c_pos - W_OFFSET(_rl_last_v_pos, visible_wrap_offset); + temp = _rl_last_c_pos - WRAP_OFFSET (_rl_last_v_pos, visible_wrap_offset); if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode && _rl_last_v_pos == current_line - 1) { @@ -1805,7 +1828,7 @@ _rl_move_cursor_relative (new, data) int woff; /* number of invisible chars on current line */ int cpos, dpos; /* current and desired cursor positions */ - woff = W_OFFSET (_rl_last_v_pos, wrap_offset); + woff = WRAP_OFFSET (_rl_last_v_pos, wrap_offset); cpos = _rl_last_c_pos; #if defined (HANDLE_MULTIBYTE) /* If we have multibyte characters, NEW is indexed by the buffer point in @@ -1819,7 +1842,11 @@ _rl_move_cursor_relative (new, data) /* Use NEW when comparing against the last invisible character in the prompt string, since they're both buffer indices and DPOS is a desired display position. */ - if (new > prompt_last_invisible) /* XXX - don't use woff here */ + if ((new > prompt_last_invisible) || /* XXX - don't use woff here */ + (prompt_physical_chars > _rl_screenwidth && + _rl_last_v_pos == prompt_last_screen_line && + wrap_offset != woff && + new > (prompt_last_invisible-_rl_screenwidth-wrap_offset))) { dpos -= woff; /* Since this will be assigned to _rl_last_c_pos at the end (more diff --git a/lib/readline/display.c~ b/lib/readline/display.c~ index ce811709b..acd261e8c 100644 --- a/lib/readline/display.c~ +++ b/lib/readline/display.c~ @@ -938,6 +938,9 @@ rl_redisplay () second and subsequent lines start at inv_lbreaks[N], offset by OFFSET (which has already been calculated above). */ +#define WRAP_OFFSET(line, offset) ((line == 0) \ + ? (offset ? prompt_invis_chars_first_line : 0) \ + : ((line == prompt_last_screen_line) ? wrap_offset-prompt_invis_chars_first_line : 0)) #define W_OFFSET(line, offset) ((line) == 0 ? offset : 0) #define VIS_LLEN(l) ((l) > _rl_vis_botlin ? 0 : (vis_lbreaks[l+1] - vis_lbreaks[l])) #define INV_LLEN(l) (inv_lbreaks[l+1] - inv_lbreaks[l]) @@ -973,6 +976,13 @@ rl_redisplay () _rl_last_c_pos > wrap_offset && o_cpos < prompt_last_invisible) _rl_last_c_pos -= wrap_offset; + + else if (linenum == prompt_last_screen_line && prompt_physical_chars > _rl_screenwidth && + (MB_CUR_MAX > 1 && rl_byte_oriented == 0) && + cpos_adjusted == 0 && + _rl_last_c_pos != o_cpos && + _rl_last_c_pos > (prompt_last_invisible - _rl_screenwidth - (wrap_offset-prompt_invis_chars_first_line))) + _rl_last_c_pos -= (wrap_offset-prompt_invis_chars_first_line); /* If this is the line with the prompt, we might need to compensate for invisible characters in the new line. Do @@ -992,6 +1002,18 @@ rl_redisplay () if (nleft) _rl_clear_to_eol (nleft); } +#if 0 + /* This segment is intended to handle the case where the prompt + has invisible characters on the second line and the new line + to be displayed needs to clear the rest of the old characters + out (e.g., when printing the i-search prompt). In general, + the case of the new line being shorter than the old. + Incomplete */ + else if (linenum == 1 && prompt_physical_chars > _rl_screenwidth && + wrap_offset != prompt_invis_chars_first_line && + _rl_last_c_pos == out && +#endif + /* Since the new first line is now visible, save its length. */ if (linenum == 0) @@ -1244,7 +1266,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) temp = _rl_last_c_pos; else - temp = _rl_last_c_pos - W_OFFSET(_rl_last_v_pos, visible_wrap_offset); + temp = _rl_last_c_pos - WRAP_OFFSET (_rl_last_v_pos, visible_wrap_offset); if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode && _rl_last_v_pos == current_line - 1) { @@ -1553,7 +1575,15 @@ update_line (old, new, current_line, omax, nmax, inv_botlin) if (lendiff < 0) { _rl_output_some_chars (nfd, temp); - _rl_last_c_pos += col_temp; + _rl_last_c_pos += _rl_col_width (nfd, 0, temp); + /* If nfd begins before any invisible characters in the prompt, + adjust _rl_last_c_pos to account for wrap_offset and set + cpos_adjusted to let the caller know. */ + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } return; } /* Sometimes it is cheaper to print the characters rather than @@ -1797,7 +1827,7 @@ _rl_move_cursor_relative (new, data) int woff; /* number of invisible chars on current line */ int cpos, dpos; /* current and desired cursor positions */ - woff = W_OFFSET (_rl_last_v_pos, wrap_offset); + woff = WRAP_OFFSET (_rl_last_v_pos, wrap_offset); cpos = _rl_last_c_pos; #if defined (HANDLE_MULTIBYTE) /* If we have multibyte characters, NEW is indexed by the buffer point in @@ -1811,7 +1841,10 @@ _rl_move_cursor_relative (new, data) /* Use NEW when comparing against the last invisible character in the prompt string, since they're both buffer indices and DPOS is a desired display position. */ - if (new > prompt_last_invisible) /* XXX - don't use woff here */ + if ((new > prompt_last_invisible) || /* XXX - don't use woff here */ + (prompt_physical_chars > _rl_screenwidth && _rl_last_v_pos == 1 && + wrap_offset != woff && + new > (prompt_last_invisible-_rl_screenwidth-wrap_offset))) { dpos -= woff; /* Since this will be assigned to _rl_last_c_pos at the end (more diff --git a/support/shobj-conf b/support/shobj-conf index 21e4d2813..3f7b14936 100755 --- a/support/shobj-conf +++ b/support/shobj-conf @@ -10,7 +10,7 @@ # Chet Ramey # chet@po.cwru.edu -# Copyright (C) 1996-2002 Free Software Foundation, Inc. +# Copyright (C) 1996-2007 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -247,7 +247,7 @@ osf*) SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' ;; -aix4.[2-9]*-*gcc*) # lightly tested by jik@cisco.com +aix4.[2-9]*-*gcc*|aix[5-9].*-*gcc*) # lightly tested by jik@cisco.com SHOBJ_CFLAGS=-fpic SHOBJ_LD='ld' SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall' @@ -258,7 +258,7 @@ aix4.[2-9]*-*gcc*) # lightly tested by jik@cisco.com SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' ;; -aix4.[2-9]*) +aix4.[2-9]*|aix[5-9].*) SHOBJ_CFLAGS=-K SHOBJ_LD='ld' SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'