This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Link tests after GCC_NO_EXECUTABLES


Jie Zhang wrote:
> Bernd Schmidt wrote:
>> Jie Zhang wrote:
>>> Bernd Schmidt wrote:
>>>> Jie Zhang wrote:
>>>>> But by design if gcc_no_link = no, link tests should be avoided.
>>>>
>>>> ??? I would have thought gcc_no_link = yes means link tests are
>>>> avoided.
>>>>
>>> Oops, I meant gcc_no_link = yes.
>>
>> Stupid double negatives.  Okay, so then your problem is that
>> gcc_no_link=yes.  Find out why it's setting that.
>>
> bfin-elf-gcc -mfdpic failed to link a simple test case because code is
> put into L1 instruction sram and data is put into L1 data sram, but
> Blackfin immediate offset load instruction cannot access GOT since the
> gap between instruction sram and data sram is too large. Using -msim as
> default will pass this test case and build gcc without problem but I
> would like bfin-elf-gcc target hardware board by default. Use -fPIC as
> default is not good, since -fpic is enough for any real applications. So
> I would like to avoid link test for shl_load when GCC_NO_EXECUTABLES.

I've committed the following to take care of this.  Neither -mfdpic nor
-mid-shared-library are actually useful with bfin-elf toolchains, but by
making them imply -msim, we can at least get these kinds of configure
test executables to link.


Bernd
-- 
This footer brought to you by insane German lawmakers.
Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 40368
Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 130463)
+++ ChangeLog	(working copy)
@@ -1,3 +1,8 @@
+2007-11-27  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/elf.h (SUBTARGET_DRIVER_SELF_SPECS): New macro.
+	* doc/invoke.texi (Blackfin Options): Document the effects.
+
 2007-11-27  Ben Elliston  <bje@au.ibm.com>
 
 	* config/rs6000/sysv4.opt (m32): Add Negative(m64).
Index: config/bfin/elf.h
===================================================================
--- config/bfin/elf.h	(revision 130463)
+++ config/bfin/elf.h	(working copy)
@@ -30,4 +30,8 @@ asm ("P3 = [SP + 20];\n\tcall " USER_LAB
 asm (TEXT_SECTION_ASM_OP);
 #endif
 
+#undef SUBTARGET_DRIVER_SELF_SPECS
+#define SUBTARGET_DRIVER_SELF_SPECS \
+     "%{mfdpic:-msim} %{mid-shared-library:-msim}"
+
 #define NO_IMPLICIT_EXTERN_C
Index: doc/invoke.texi
===================================================================
--- doc/invoke.texi	(revision 130463)
+++ doc/invoke.texi	(working copy)
@@ -8668,6 +8668,8 @@ provided by libgloss to be linked in if 
 Specifies that the program will be run on the simulator.  This causes
 the simulator BSP provided by libgloss to be linked in.  This option
 has effect only for @samp{bfin-elf} toolchain.
+Certain other options, such as @option{-mid-shared-library} and
+@option{-mfdpic}, imply @option{-msim}.
 
 @item -momit-leaf-frame-pointer
 @opindex momit-leaf-frame-pointer
@@ -8717,6 +8719,7 @@ uClinux kernel.
 Generate code that supports shared libraries via the library ID method.
 This allows for execute in place and shared libraries in an environment
 without virtual memory management.  This option implies @option{-fPIC}.
+With a @samp{bfin-elf} target, this option implies @option{-msim}.
 
 @item -mno-id-shared-library
 @opindex mno-id-shared-library
@@ -9642,6 +9645,7 @@ implies @option{-fPIE}.  With @option{-f
 assumes GOT entries and small data are within a 12-bit range from the
 GOT base address; with @option{-fPIC} or @option{-fPIE}, GOT offsets
 are computed with 32 bits.
+With a @samp{bfin-elf} target, this option implies @option{-msim}.
 
 @item -minline-plt
 @opindex minline-plt

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]