summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2006-10-18 18:36:55 +0000
committermiod <miod@openbsd.org>2006-10-18 18:36:55 +0000
commit5eca6e8baaa8308359110fb0c466ff1976400c1e (patch)
treeded5626edfd8384702b18295dcf07ea3ee5642ad
parentsymlinks marked @extra need special care for deletion (diff)
downloadwireguard-openbsd-5eca6e8baaa8308359110fb0c466ff1976400c1e.tar.xz
wireguard-openbsd-5eca6e8baaa8308359110fb0c466ff1976400c1e.zip
Under OpenBSD, do not force -msmall-data if -fpic and -mlarge-data if -fPIC.
Instead, have both -fpic and -fPIC only select pic code generation, and use whatever memory mode is specified (with -mlarge-data being the implicit default). This means that -fpic and -fPIC will be equivalent by default under OpenBSD again, as was the case with gcc 2.x; this will help porter's lives. No consensus but a majority of developers in favour of this change (including martin@, pvalchev@, deraadt@ and I), so in it goes.
-rw-r--r--gnu/usr.bin/gcc/gcc/config/alpha/alpha.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gnu/usr.bin/gcc/gcc/config/alpha/alpha.c b/gnu/usr.bin/gcc/gcc/config/alpha/alpha.c
index 3a0bde44639..b345b692765 100644
--- a/gnu/usr.bin/gcc/gcc/config/alpha/alpha.c
+++ b/gnu/usr.bin/gcc/gcc/config/alpha/alpha.c
@@ -556,11 +556,17 @@ override_options ()
if (!g_switch_set)
g_switch_value = 8;
+#ifdef OPENBSD_NATIVE
+ /* Make -fpic behave as -fPIC unless -msmall-data is specified. */
+ if (flag_pic == 2 && TARGET_SMALL_DATA)
+ warning ("-fPIC used with -msmall-data");
+#else
/* Infer TARGET_SMALL_DATA from -fpic/-fPIC. */
if (flag_pic == 1)
target_flags |= MASK_SMALL_DATA;
else if (flag_pic == 2)
target_flags &= ~MASK_SMALL_DATA;
+#endif
/* Align labels and loops for optimal branching. */
/* ??? Kludge these by not doing anything if we don't optimize and also if