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 <[EMAIL PROTECTED]> + + * config/bfin/elf.h (SUBTARGET_DRIVER_SELF_SPECS): New macro. + * doc/invoke.texi (Blackfin Options): Document the effects. + 2007-11-27 Ben Elliston <[EMAIL PROTECTED]> * 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 [EMAIL PROTECTED], 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