[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[2257] 2009-06-04 Vladimir Serbinenko <address@hidden>
From: |
Vladimir Serbinenko |
Subject: |
[2257] 2009-06-04 Vladimir Serbinenko <address@hidden> |
Date: |
Thu, 04 Jun 2009 20:40:52 +0000 |
Revision: 2257
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2257
Author: phcoder
Date: 2009-06-04 20:40:51 +0000 (Thu, 04 Jun 2009)
Log Message:
-----------
2009-06-04 Vladimir Serbinenko <address@hidden>
Define segment as well as section when compiling with
Apple's CC
* efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
(efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
(efiemu_convert_pointer): likewise
(efiemu_set_virtual_address_map): likewise
(efiemu_convert_pointer): likewise
(efiemu_getcrc32): likewise
(init_crc32_table): likewise
(reflect): likewise
* include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
(GRUB_MOD_DEP): likewise
Modified Paths:
--------------
trunk/grub2/ChangeLog
trunk/grub2/efiemu/runtime/efiemu.c
trunk/grub2/include/grub/dl.h
Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog 2009-06-04 20:25:11 UTC (rev 2256)
+++ trunk/grub2/ChangeLog 2009-06-04 20:40:51 UTC (rev 2257)
@@ -1,5 +1,21 @@
2009-06-04 Vladimir Serbinenko <address@hidden>
+ Define segment as well as section when compiling with
+ Apple's CC
+
+ * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
+ (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
+ (efiemu_convert_pointer): likewise
+ (efiemu_set_virtual_address_map): likewise
+ (efiemu_convert_pointer): likewise
+ (efiemu_getcrc32): likewise
+ (init_crc32_table): likewise
+ (reflect): likewise
+ * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
+ (GRUB_MOD_DEP): likewise
+
+2009-06-04 Vladimir Serbinenko <address@hidden>
+
Allow a compilation without -mcmodel=large
* kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
Modified: trunk/grub2/efiemu/runtime/efiemu.c
===================================================================
--- trunk/grub2/efiemu/runtime/efiemu.c 2009-06-04 20:25:11 UTC (rev 2256)
+++ trunk/grub2/efiemu/runtime/efiemu.c 2009-06-04 20:40:51 UTC (rev 2257)
@@ -40,18 +40,23 @@
efiemu_set_wakeup_time (grub_efi_boolean_t enabled,
grub_efi_time_t *time);
+#ifdef APPLE_CC
+#define PHYSICAL_ATTRIBUTE __attribute__ ((section("_text-physical,
_text-physical")));
+#else
+#define PHYSICAL_ATTRIBUTE __attribute__ ((section(".text-physical")));
+#endif
grub_efi_status_t
efiemu_set_virtual_address_map (grub_efi_uintn_t memory_map_size,
grub_efi_uintn_t descriptor_size,
grub_efi_uint32_t descriptor_version,
grub_efi_memory_descriptor_t *virtual_map)
- __attribute__ ((section(".text-physical")));
+ PHYSICAL_ATTRIBUTE;
grub_efi_status_t
efiemu_convert_pointer (grub_efi_uintn_t debug_disposition,
void **address)
- __attribute__ ((section(".text-physical")));
+ PHYSICAL_ATTRIBUTE;
grub_efi_status_t
efiemu_get_variable (grub_efi_char16_t *variable_name,
@@ -84,17 +89,20 @@
grub_efi_uintn_t,
grub_efi_uint32_t,
grub_efi_memory_descriptor_t *)
- __attribute__ ((section(".text-physical")));
+ PHYSICAL_ATTRIBUTE;
grub_efi_status_t
EFI_FUNC (efiemu_convert_pointer) (grub_efi_uintn_t debug_disposition,
void **address)
- __attribute__ ((section(".text-physical")));
+ PHYSICAL_ATTRIBUTE;
static grub_uint32_t
efiemu_getcrc32 (grub_uint32_t crc, void *buf, int size)
- __attribute__ ((section(".text-physical")));
+ PHYSICAL_ATTRIBUTE;
static void
init_crc32_table (void)
- __attribute__ ((section(".text-physical")));
+ PHYSICAL_ATTRIBUTE;
+static grub_uint32_t
+reflect (grub_uint32_t ref, int len)
+ PHYSICAL_ATTRIBUTE;
/*
The log. It's used when examining memory dump
Modified: trunk/grub2/include/grub/dl.h
===================================================================
--- trunk/grub2/include/grub/dl.h 2009-06-04 20:25:11 UTC (rev 2256)
+++ trunk/grub2/include/grub/dl.h 2009-06-04 20:40:51 UTC (rev 2257)
@@ -40,11 +40,19 @@
static void \
grub_mod_fini (void)
+#ifdef APPLE_CC
#define GRUB_MOD_NAME(name) \
+static char grub_modname[] __attribute__ ((section ("_modname, _modname"),
used)) = #name;
+
+#define GRUB_MOD_DEP(name) \
+__asm__ (".section _moddeps, _moddeps\n.asciz \"" #name "\"\n")
+#else
+#define GRUB_MOD_NAME(name) \
__asm__ (".section .modname\n.asciz \"" #name "\"\n")
#define GRUB_MOD_DEP(name) \
__asm__ (".section .moddeps\n.asciz \"" #name "\"\n")
+#endif
struct grub_dl_segment
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [2257] 2009-06-04 Vladimir Serbinenko <address@hidden>,
Vladimir Serbinenko <=