diff options
author | 2006-10-18 18:36:55 +0000 | |
---|---|---|
committer | 2006-10-18 18:36:55 +0000 | |
commit | 5eca6e8baaa8308359110fb0c466ff1976400c1e (patch) | |
tree | ded5626edfd8384702b18295dcf07ea3ee5642ad | |
parent | symlinks marked @extra need special care for deletion (diff) | |
download | wireguard-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.c | 6 |
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 |