Commit 21f94af9 by Iain Sandoe Committed by Iain Sandoe

[Darwin] Make a final check on PIC options.

Final check on PCI options; for Darwin these are not dependent on the PIE
ones, although PIE does require PIC to support it.  Specifically, for Darwin,
"fPIC fno-PIE" should result in the same as "-fno-PIE -fPIC".

2019-07-07  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.c (darwin_override_options): Make a final check on PIC
	options.

From-SVN: r273181
parent 2ea64934
2019-07-07 Iain Sandoe <iain@sandoe.co.uk> 2019-07-07 Iain Sandoe <iain@sandoe.co.uk>
* config/darwin.c (darwin_override_options): Make a final check on PIC
options.
2019-07-07 Iain Sandoe <iain@sandoe.co.uk>
* config/darwin.c (darwin_override_options): Don't jam symbol stubs * config/darwin.c (darwin_override_options): Don't jam symbol stubs
on for kernel code. on for kernel code.
......
...@@ -3241,6 +3241,8 @@ darwin_override_options (void) ...@@ -3241,6 +3241,8 @@ darwin_override_options (void)
&& write_symbols == DWARF2_DEBUG) && write_symbols == DWARF2_DEBUG)
flag_var_tracking_uninit = flag_var_tracking; flag_var_tracking_uninit = flag_var_tracking;
/* Final check on PCI options; for Darwin these are not dependent on the PIE
ones, although PIE does require PIC to support it. */
if (MACHO_DYNAMIC_NO_PIC_P) if (MACHO_DYNAMIC_NO_PIC_P)
{ {
if (flag_pic) if (flag_pic)
...@@ -3249,9 +3251,11 @@ darwin_override_options (void) ...@@ -3249,9 +3251,11 @@ darwin_override_options (void)
" %<-fpie%> or %<-fPIE%>"); " %<-fpie%> or %<-fPIE%>");
flag_pic = 0; flag_pic = 0;
} }
else if (flag_pic == 1) else if (flag_pic == 1
|| (flag_pic == 0 && !(flag_mkernel || flag_apple_kext)))
{ {
/* Darwin's -fpic is -fPIC. */ /* Darwin's -fpic is -fPIC.
We only support "static" code in the kernel and kernel exts. */
flag_pic = 2; flag_pic = 2;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment