vxworks.h (vxworks_override_options): Declare.
gcc/ * config/vxworks.h (vxworks_override_options): Declare. (VXWORKS_OVERRIDE_OPTIONS): Use it. * config/vxworks.c: Include target.h and toplev.h. (vxworks_override_options): New function. * config/t-vxworks (vxworks.o): Depend on $(TARGET_H) and toplev.h. From-SVN: r122657
This commit is contained in:
parent
7afb5f3b68
commit
ef67275542
4 changed files with 27 additions and 7 deletions
|
@ -1,3 +1,11 @@
|
|||
2007-03-07 Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
* config/vxworks.h (vxworks_override_options): Declare.
|
||||
(VXWORKS_OVERRIDE_OPTIONS): Use it.
|
||||
* config/vxworks.c: Include target.h and toplev.h.
|
||||
(vxworks_override_options): New function.
|
||||
* config/t-vxworks (vxworks.o): Depend on $(TARGET_H) and toplev.h.
|
||||
|
||||
2007-03-07 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* config/s390/s390.c (override_options): Don't emit an error when
|
||||
|
|
|
@ -33,5 +33,5 @@ LIMITS_H_TEST = true
|
|||
EXTRA_MULTILIB_PARTS =
|
||||
|
||||
vxworks.o: $(srcdir)/config/vxworks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||
output.h $(TM_H)
|
||||
$(TARGET_H) toplev.h output.h $(TM_H)
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
|
||||
|
|
|
@ -23,6 +23,8 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
|||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "target.h"
|
||||
#include "toplev.h"
|
||||
#include "output.h"
|
||||
#include "tm.h"
|
||||
|
||||
|
@ -54,3 +56,16 @@ vxworks_asm_out_destructor (rtx symbol, int priority)
|
|||
/*constructor_p=*/false);
|
||||
assemble_addr_to_section (symbol, sec);
|
||||
}
|
||||
|
||||
/* Do VxWorks-specific parts of OVERRIDE_OPTIONS. */
|
||||
|
||||
void
|
||||
vxworks_override_options (void)
|
||||
{
|
||||
/* We can use .ctors/.dtors sections only in RTP mode. */
|
||||
targetm.have_ctors_dtors = TARGET_VXWORKS_RTP;
|
||||
|
||||
/* PIC is only supported for RTPs. */
|
||||
if (flag_pic && !TARGET_VXWORKS_RTP)
|
||||
error ("PIC is only supported for RTPs");
|
||||
}
|
||||
|
|
|
@ -82,13 +82,10 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
|||
#define VXWORKS_STARTFILE_SPEC "%{mrtp:%{!shared:crt0.o%s}}"
|
||||
#define VXWORKS_ENDFILE_SPEC ""
|
||||
|
||||
/* We can use .ctors/.dtors sections only in RTP mode.
|
||||
Unfortunately this must be an integer constant expression;
|
||||
fix up in override_options. */
|
||||
/* Do VxWorks-specific parts of OVERRIDE_OPTIONS. */
|
||||
#undef VXWORKS_OVERRIDE_OPTIONS
|
||||
#define VXWORKS_OVERRIDE_OPTIONS do { \
|
||||
targetm.have_ctors_dtors = TARGET_VXWORKS_RTP; \
|
||||
} while (0)
|
||||
#define VXWORKS_OVERRIDE_OPTIONS vxworks_override_options ()
|
||||
extern void vxworks_override_options (void);
|
||||
|
||||
/* VxWorks requires special handling of constructors and destructors.
|
||||
All VxWorks configurations must use these functions. */
|
||||
|
|
Loading…
Add table
Reference in a new issue