aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Haubenwallner <michael.haubenwallner@salomon.at>2013-02-07 03:53:13 +0100
committerDavid Edelsohn <dje@gcc.gnu.org>2013-02-06 21:53:13 -0500
commitd96d674b0167195bafacdc7b66aed8723ec74737 (patch)
treec4cac3b8388f913ee433b19150ea1fbe8207ca60 /gcc
parent921f2deea4f6f491d7e225d70d3787e8b490b18e (diff)
downloadgcc-d96d674b0167195bafacdc7b66aed8723ec74737.zip
gcc-d96d674b0167195bafacdc7b66aed8723ec74737.tar.gz
gcc-d96d674b0167195bafacdc7b66aed8723ec74737.tar.bz2
collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable if -bnortl.
2013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at> * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable if -bnortl. Convert to strcmp and strncmp. From-SVN: r195837
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/collect2.c28
2 files changed, 19 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 148aa67..9634c05 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at>
+
+ * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
+ if -bnortl. Convert to strcmp and strncmp.
+
2013-02-07 Alan Modra <amodra@gmail.com>
PR target/54009
diff --git a/gcc/collect2.c b/gcc/collect2.c
index 0db908f..99dd41d 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -1022,20 +1022,20 @@ main (int argc, char **argv)
selected_linker = USE_GOLD_LD;
#ifdef COLLECT_EXPORT_LIST
- /* since -brtl, -bexport, -b64 are not position dependent
- also check for them here */
- if ((argv[i][0] == '-') && (argv[i][1] == 'b'))
- {
- arg = argv[i];
- /* We want to disable automatic exports on AIX when user
- explicitly puts an export list in command line */
- if (arg[2] == 'E' || strncmp (&arg[2], "export", 6) == 0)
- export_flag = 1;
- else if (arg[2] == '6' && arg[3] == '4')
- aix64_flag = 1;
- else if (arg[2] == 'r' && arg[3] == 't' && arg[4] == 'l')
- aixrtl_flag = 1;
- }
+ /* These flags are position independent, although their order
+ is important - subsequent flags override earlier ones. */
+ else if (strcmp (argv[i], "-b64") == 0)
+ aix64_flag = 1;
+ /* -bexport:filename always needs the :filename */
+ else if (strncmp (argv[i], "-bE:", 4) == 0
+ || strncmp (argv[i], "-bexport:", 9) == 0)
+ export_flag = 1;
+ else if (strcmp (argv[i], "-brtl") == 0
+ || strcmp (argv[i], "-bsvr4") == 0
+ || strcmp (argv[i], "-G") == 0)
+ aixrtl_flag = 1;
+ else if (strcmp (argv[i], "-bnortl") == 0)
+ aixrtl_flag = 0;
#endif
}
vflag = debug;