pa-hpux10.h (MD_EXEC_PREFIX): Define appropriately for hpux10.

* pa/pa-hpux10.h (MD_EXEC_PREFIX): Define appropriately for hpux10.
        (MD_STARTFILE_PREFIX): Similarly.

        * pa/pa.c (return_addr_rtx): Add some comments about cases it
        doesn't handle correctly.

        * pa/pa.h (ASM_OUTPUT_SECTION_NAME): Surround the section name
        with '$' if not using GAS.

From-SVN: r13667
This commit is contained in:
Jeff Law 1997-02-19 17:13:15 -07:00
parent e02fbefc82
commit c28eb6c294
2 changed files with 38 additions and 1 deletions

View File

@ -53,3 +53,19 @@ do { \
output_file_directive ((FILE), main_input_filename); \
} while (0)
/* Under hpux10, the normal location of the `ld' and `as' programs is the
/usr/ccs/bin directory. */
#ifndef CROSS_COMPILE
#undef MD_EXEC_PREFIX
#define MD_EXEC_PREFIX "/usr/ccs/bin/"
#endif
/* Under hpux10, the normal location of the various *crt*.o files is the
/usr/ccs/lib directory. */
#ifndef CROSS_COMPILE
#undef MD_STARTFILE_PREFIX
#define MD_STARTFILE_PREFIX "/usr/ccs/lib/"
#endif

View File

@ -3038,7 +3038,28 @@ hppa_expand_epilogue ()
the current frame, after the prologue. FRAMEADDR is the
frame pointer of the COUNT frame.
We want to ignore any export stub remnants here. */
We want to ignore any export stub remnants here.
The value returned is used in two different ways:
1. To find a function's caller.
2. To change the return address for a function.
This function handles most instances of case 1; however, it will
fail if there are two levels of stubs to execute on the return
path. The only way I believe that can happen is if the return value
needs a parameter relocation, which never happens for C code.
This function handles most instances of case 2; however, it will
fail if we did not originally have stub code on the return path
but will need code on the new return path. This can happen if
the caller & callee are both in the main program, but the new
return location is in a shared library.
To handle this correctly we need to set the return pointer at
frame-20 to point to a return stub frame-24 to point to the
location we wish to return to. */
rtx
return_addr_rtx (count, frameaddr)