Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 91959 | Differences between
and this patch

Collapse All | Expand All

(-)grub-0.97-orig/stage2/char_io.c (-1 / +22 lines)
Lines 1174-1183 Link Here
1174
}
1174
}
1175
#endif /* ! STAGE1_5 */
1175
#endif /* ! STAGE1_5 */
1176
1176
1177
#ifdef GRUB_UTIL
1178
# ifdef __PIC__
1179
#  if defined(HAVE_START_SYMBOL) && defined(HAVE_END_SYMBOL)
1180
      extern char start[];
1181
      extern char end[];
1182
#  elif defined(HAVE_USCORE_START_SYMBOL) && defined (HAVE_USCORE_END_SYMBOL)
1183
      extern char _start[];
1184
      extern char _end[];
1185
#  endif
1186
# endif
1187
#endif
1177
int
1188
int
1178
memcheck (int addr, int len)
1189
memcheck (int addr, int len)
1179
{
1190
{
1180
#ifdef GRUB_UTIL
1191
#ifdef GRUB_UTIL
1192
# ifdef __PIC__
1193
#  if defined(HAVE_START_SYMBOL) && defined(HAVE_END_SYMBOL)
1194
  if (start <= addr && end > addr + len)
1195
    return ! errnum;
1196
#  elif defined(HAVE_USCORE_START_SYMBOL) && defined (HAVE_USCORE_END_SYMBOL)
1197
  if (_start <= addr && _end > addr + len)
1198
    return ! errnum;
1199
#  endif
1200
# else /* __PIC__ */
1181
  auto int start_addr (void);
1201
  auto int start_addr (void);
1182
  auto int end_addr (void);
1202
  auto int end_addr (void);
1183
  
1203
  
Lines 1189-1195 Link Here
1189
# elif defined(HAVE_USCORE_START_SYMBOL)
1209
# elif defined(HAVE_USCORE_START_SYMBOL)
1190
      asm volatile ("movl	$_start, %0" : "=a" (ret));
1210
      asm volatile ("movl	$_start, %0" : "=a" (ret));
1191
# endif
1211
# endif
1192
      return ret;
1212
		return ret;
1193
    }
1213
    }
1194
1214
1195
  auto int end_addr (void)
1215
  auto int end_addr (void)
Lines 1205-1210 Link Here
1205
1225
1206
  if (start_addr () <= addr && end_addr () > addr + len)
1226
  if (start_addr () <= addr && end_addr () > addr + len)
1207
    return ! errnum;
1227
    return ! errnum;
1228
# endif /* __PIC__ */
1208
#endif /* GRUB_UTIL */
1229
#endif /* GRUB_UTIL */
1209
1230
1210
  if ((addr < RAW_ADDR (0x1000))
1231
  if ((addr < RAW_ADDR (0x1000))

Return to bug 91959