OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [config/] [i386/] [nwld.c] - Diff between revs 38 and 154

Only display areas with differences | Details | Blame | View Log

Rev 38 Rev 154
/* Subroutines for insn-output.c for NetWare.
/* Subroutines for insn-output.c for NetWare.
   Contributed by Jan Beulich (jbeulich@novell.com)
   Contributed by Jan Beulich (jbeulich@novell.com)
   Copyright (C) 2004, 2007 Free Software Foundation, Inc.
   Copyright (C) 2004, 2007 Free Software Foundation, Inc.
 
 
This file is part of GCC.
This file is part of GCC.
 
 
GCC is free software; you can redistribute it and/or modify
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
the Free Software Foundation; either version 3, or (at your option)
any later version.
any later version.
 
 
GCC is distributed in the hope that it will be useful,
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
GNU General Public License for more details.
 
 
You should have received a copy of the GNU General Public License
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.  */
<http://www.gnu.org/licenses/>.  */
 
 
#include "config.h"
#include "config.h"
#include "system.h"
#include "system.h"
#include "coretypes.h"
#include "coretypes.h"
#include "tm.h"
#include "tm.h"
#include "rtl.h"
#include "rtl.h"
#include "regs.h"
#include "regs.h"
#include "hard-reg-set.h"
#include "hard-reg-set.h"
#include "output.h"
#include "output.h"
#include "tree.h"
#include "tree.h"
#include "flags.h"
#include "flags.h"
#include "tm_p.h"
#include "tm_p.h"
#include "toplev.h"
#include "toplev.h"
 
 
void
void
nwld_named_section_asm_out_constructor (rtx symbol, int priority)
nwld_named_section_asm_out_constructor (rtx symbol, int priority)
{
{
#if !SUPPORTS_INIT_PRIORITY
#if !SUPPORTS_INIT_PRIORITY
  const char section[] = ".ctors"TARGET_SUB_SECTION_SEPARATOR;
  const char section[] = ".ctors"TARGET_SUB_SECTION_SEPARATOR;
#else
#else
  char section[20];
  char section[20];
 
 
  sprintf (section,
  sprintf (section,
           ".ctors"TARGET_SUB_SECTION_SEPARATOR"%.5u",
           ".ctors"TARGET_SUB_SECTION_SEPARATOR"%.5u",
           /* Invert the numbering so the linker puts us in the proper
           /* Invert the numbering so the linker puts us in the proper
              order; constructors are run from right to left, and the
              order; constructors are run from right to left, and the
              linker sorts in increasing order.  */
              linker sorts in increasing order.  */
           MAX_INIT_PRIORITY - priority);
           MAX_INIT_PRIORITY - priority);
#endif
#endif
 
 
  switch_to_section (get_section (section, 0, NULL));
  switch_to_section (get_section (section, 0, NULL));
  assemble_align (POINTER_SIZE);
  assemble_align (POINTER_SIZE);
  assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
  assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
}
}
 
 
void
void
nwld_named_section_asm_out_destructor (rtx symbol, int priority)
nwld_named_section_asm_out_destructor (rtx symbol, int priority)
{
{
#if !SUPPORTS_INIT_PRIORITY
#if !SUPPORTS_INIT_PRIORITY
  const char section[] = ".dtors"TARGET_SUB_SECTION_SEPARATOR;
  const char section[] = ".dtors"TARGET_SUB_SECTION_SEPARATOR;
#else
#else
  char section[20];
  char section[20];
 
 
  sprintf (section, ".dtors"TARGET_SUB_SECTION_SEPARATOR"%.5u",
  sprintf (section, ".dtors"TARGET_SUB_SECTION_SEPARATOR"%.5u",
           /* Invert the numbering so the linker puts us in the proper
           /* Invert the numbering so the linker puts us in the proper
              order; destructors are run from left to right, and the
              order; destructors are run from left to right, and the
              linker sorts in increasing order.  */
              linker sorts in increasing order.  */
           MAX_INIT_PRIORITY - priority);
           MAX_INIT_PRIORITY - priority);
#endif
#endif
 
 
  switch_to_section (get_section (section, 0, NULL));
  switch_to_section (get_section (section, 0, NULL));
  assemble_align (POINTER_SIZE);
  assemble_align (POINTER_SIZE);
  assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
  assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.