i_embedded.pas 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. {
  2. This unit implements support information structures for the FPC Embedded target
  3. Copyright (c) 1998-2006 by Peter Vreman
  4. This program is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation; either version 2 of the License, or
  7. (at your option) any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this program; if not, write to the Free Software
  14. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  15. ****************************************************************************
  16. }
  17. unit i_embedded;
  18. interface
  19. uses
  20. systems;
  21. const
  22. system_arm_embedded_info : tsysteminfo =
  23. (
  24. system : system_arm_embedded;
  25. name : 'Embedded';
  26. shortname : 'embedded';
  27. flags : [tf_needs_symbol_size,tf_files_case_sensitive,tf_use_function_relative_addresses
  28. ,tf_smartlink_sections];
  29. cpu : cpu_arm;
  30. unit_env : '';
  31. extradefines : '';
  32. exeext : '';
  33. defext : '.def';
  34. scriptext : '.sh';
  35. smartext : '.sl';
  36. unitext : '.ppu';
  37. unitlibext : '.ppl';
  38. asmext : '.s';
  39. objext : '.o';
  40. resext : '.res';
  41. resobjext : '.or';
  42. sharedlibext : '.so';
  43. staticlibext : '.a';
  44. staticlibprefix : 'libp';
  45. sharedlibprefix : 'lib';
  46. sharedClibext : '.so';
  47. staticClibext : '.a';
  48. staticClibprefix : 'lib';
  49. sharedClibprefix : 'lib';
  50. Cprefix : '';
  51. newline : #10;
  52. dirsep : '/';
  53. assem : as_gas;
  54. assemextern : as_gas;
  55. link : nil;
  56. linkextern : nil;
  57. ar : ar_gnu_ar;
  58. res : res_none;
  59. dbg : dbg_stabs;
  60. script : script_unix;
  61. endian : endian_little;
  62. alignment :
  63. (
  64. procalign : 4;
  65. loopalign : 4;
  66. jumpalign : 0;
  67. constalignmin : 0;
  68. constalignmax : 4;
  69. varalignmin : 0;
  70. varalignmax : 4;
  71. localalignmin : 4;
  72. localalignmax : 8;
  73. recordalignmin : 0;
  74. recordalignmax : 4;
  75. maxCrecordalign : 4
  76. );
  77. first_parm_offset : 8;
  78. stacksize : 262144;
  79. abi : abi_default
  80. );
  81. implementation
  82. initialization
  83. {$ifdef arm}
  84. {$ifdef embedded}
  85. set_source_info(system_arm_embedded_info);
  86. {$endif embedded}
  87. {$endif arm}
  88. end.