Skip to content

Instantly share code, notes, and snippets.

@Lucretia
Created November 29, 2016 21:11
Show Gist options
  • Save Lucretia/e0ee7b35acad13d2b9dc726a671aa477 to your computer and use it in GitHub Desktop.
Save Lucretia/e0ee7b35acad13d2b9dc726a671aa477 to your computer and use it in GitHub Desktop.
pragma Ada_95;
pragma Source_File_Name (ada_main, Spec_File_Name => "b~bare_bones.ads");
pragma Source_File_Name (ada_main, Body_File_Name => "b~bare_bones.adb");
package body ada_main is
pragma Warnings (Off);
E09 : Short_Integer; pragma Import (Ada, E09, "system__secondary_stack_E");
E19 : Short_Integer; pragma Import (Ada, E19, "vga_console_E");
E03 : Short_Integer; pragma Import (Ada, E03, "crash_E");
E21 : Short_Integer; pragma Import (Ada, E21, "multiboot_E");
procedure adainit is
begin
null;
System.Secondary_Stack.Default_Secondary_Stack_Size := 1024;
System.Secondary_Stack'Elab_Spec;
E09 := E09 + 1;
Vga_Console'Elab_Spec;
E19 := E19 + 1;
E03 := E03 + 1;
Multiboot'Elab_Spec;
E21 := E21 + 1;
end adainit;
procedure Ada_Main_Program;
pragma Import (Ada, Ada_Main_Program, "_ada_bare_bones");
procedure main is
Ensure_Reference : aliased System.Address := Ada_Main_Program_Name'Address;
pragma Volatile (Ensure_Reference);
begin
adainit;
Ada_Main_Program;
end;
-- BEGIN Object file/option list
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/ada.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/interfac.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/system.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/s-addope.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/s-imgint.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/s-parame.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/s-stoele.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/i-c.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/s-secsta.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/vga_console.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/crash.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/multiboot.o
-- /home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/bare_bones.o
-- -L/home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/
-- -L/home/laguest/src/mine/bare_bones/build/gnat/gen/pc/debug/.obj/
-- -L/home/laguest/src/mine/bare_bones/build/gnat/gen/rts/i586/adalib/
-- -static
-- -lgnat
-- END Object file/option list
end ada_main;
pragma Ada_95;
pragma Restrictions (No_Exception_Handlers);
with System;
with System.Secondary_Stack;
package ada_main is
pragma Warnings (Off);
GNAT_Version : constant String :=
"GNAT Version: 4.9.2" & ASCII.NUL;
pragma Export (C, GNAT_Version, "__gnat_version");
Ada_Main_Program_Name : constant String := "_ada_bare_bones" & ASCII.NUL;
pragma Export (C, Ada_Main_Program_Name, "__gnat_ada_main_program_name");
procedure adainit;
pragma Export (C, adainit, "adainit");
procedure main;
pragma Export (C, main, "main");
type Version_32 is mod 2 ** 32;
u00001 : constant Version_32 := 16#b9d813df#;
pragma Export (C, u00001, "bare_bonesB");
u00002 : constant Version_32 := 16#e3406d05#;
pragma Export (C, u00002, "crashB");
u00003 : constant Version_32 := 16#812a1b37#;
pragma Export (C, u00003, "crashS");
u00004 : constant Version_32 := 16#3ffc8e18#;
pragma Export (C, u00004, "adaS");
u00005 : constant Version_32 := 16#69adb1b9#;
pragma Export (C, u00005, "interfacesS");
u00006 : constant Version_32 := 16#4a85d501#;
pragma Export (C, u00006, "interfaces__cB");
u00007 : constant Version_32 := 16#c5b832bd#;
pragma Export (C, u00007, "interfaces__cS");
u00008 : constant Version_32 := 16#8eb0acc1#;
pragma Export (C, u00008, "system__secondary_stackB");
u00009 : constant Version_32 := 16#91bda6d2#;
pragma Export (C, u00009, "system__secondary_stackS");
u00010 : constant Version_32 := 16#c4f9336f#;
pragma Export (C, u00010, "systemS");
u00011 : constant Version_32 := 16#39a03df9#;
pragma Export (C, u00011, "system__storage_elementsB");
u00012 : constant Version_32 := 16#e93a796b#;
pragma Export (C, u00012, "system__storage_elementsS");
u00013 : constant Version_32 := 16#99d333f5#;
pragma Export (C, u00013, "system__parametersS");
u00014 : constant Version_32 := 16#5f72f755#;
pragma Export (C, u00014, "system__address_operationsB");
u00015 : constant Version_32 := 16#d7f58d5c#;
pragma Export (C, u00015, "system__address_operationsS");
u00016 : constant Version_32 := 16#eefe12f0#;
pragma Export (C, u00016, "system__img_intB");
u00017 : constant Version_32 := 16#c622d3ad#;
pragma Export (C, u00017, "system__img_intS");
u00018 : constant Version_32 := 16#339d4b13#;
pragma Export (C, u00018, "vga_consoleB");
u00019 : constant Version_32 := 16#f822bb4e#;
pragma Export (C, u00019, "vga_consoleS");
u00020 : constant Version_32 := 16#77ea5841#;
pragma Export (C, u00020, "multibootB");
u00021 : constant Version_32 := 16#9bc92e8a#;
pragma Export (C, u00021, "multibootS");
-- BEGIN ELABORATION ORDER
-- ada%s
-- interfaces%s
-- system%s
-- system.address_operations%s
-- system.address_operations%b
-- system.img_int%s
-- system.img_int%b
-- system.parameters%s
-- interfaces.c%s
-- system.storage_elements%s
-- system.storage_elements%b
-- system.secondary_stack%s
-- interfaces.c%b
-- system.secondary_stack%b
-- vga_console%s
-- vga_console%b
-- crash%s
-- crash%b
-- multiboot%s
-- multiboot%b
-- bare_bones%b
-- END ELABORATION ORDER
end ada_main;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment