Commit graph

25 commits

Author SHA1 Message Date
robertmh
c926e1d585 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
Fix build with GNU gold.

        * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
        (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
        (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
        link addresses.
        * aclocal.m4: Likewise.
2009-11-07 21:06:30 +00:00
robertmh
63f745e857 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
* aclocal.m4 (AC_LANG_PROGRAM): New macro.  Overrides stock
        AC_LANG_PROGRAM from autoconf.
        (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing      
        prototypes (fixes warning).

        * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
        `--disable-werror' was used.
2009-09-16 19:32:44 +00:00
robertmh
93a8108813 2009-09-03 Magnus Granberg <zorry@ume.nu>
* aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
        include -fPIE in the default specs.
        * configure.ac: Check if pie_possible is yes and add -fno-PIE
        to TARGET_CFLAGS.
2009-09-03 16:32:14 +00:00
phcoder
26586d9875 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
Fix build with Apple's toolchain. Part 2

	* aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
	a fake start
2009-06-18 14:25:51 +00:00
fzielcke
b39f9d20a9 remove all trailing whitespace 2009-06-10 21:04:23 +00:00
phcoder
2b167a7218 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Check if compiler is apple cc

	* Makefile.in (ASFLAGS): new variable
	(TARGET_ASFLAGS): likewise
	(TARGET_MODULE_FORMAT): likewise
	(TARGET_APPLE_CC): likewise
	(OBJCONV): likewise
	(TARGET_IMG_CFLAGS): likewise
	(TARGET_CPPFLAGS): add includedir
	* configure.ac: call grub_apple_cc and grub_apple_target_cc
	(TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
	Check for linker script only if compiler isn't Apple's CC
	(TARGET_MODULE_FORMAT): set
	(TARGET_APPLE_CC): likewise
	(TARGET_ASFLAGS): likewise
	(ASFLAGS): likewise
	Check for objcopy only if compiler isn't Apple's CC
	Check for BSS symbol only if compiler isn't Apple's CC
	* genmk.rb: adapt nm options if we use Apple's utils
	* aclocal.m4 (grub_apple_cc): new test
	(grub_apple_target_cc): likewise
2009-06-04 19:53:52 +00:00
proski
bf6a5fb2a8 2009-05-22 Pavel Roskin <proski@gnu.org>
* aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
	* configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG.  Define
	NESTED_FUNC_ATTR using AH_BOTTOM.  Use regparm(1) only when
	compiling for the i386 targets, but not for the utilities.
2009-05-22 21:15:31 +00:00
proski
5ec9740b69 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
* aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
	TARGET_LDFLAGS.  This corrects a problem with grub-mkelfimage.
2009-04-01 16:08:42 +00:00
proski
0d818b7e5c 2009-03-31 Pavel Roskin <proski@gnu.org>
* aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
	for cross-compilation.
2009-04-01 01:09:30 +00:00
proski
41473ac27f 2009-03-22 Pavel Roskin <proski@gno.org>
* aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
	* configure.ac: Don't call grub_CHECK_START_SYMBOL.
	* kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
2009-03-22 00:31:30 +00:00
bean
1f4147aaf0 2009-03-21 Bean <bean123ch@gmail.com>
* util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
	instead of stat in mingw environment.

	* util/misc.c (grub_millisleep): Use Sleep in mingw environment.

	* aclocal.m4 (grub_CHECK_LINK_DIR): New function.

	* configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
	AC_CONFIG_LINKS.
2009-03-21 07:48:28 +00:00
fzielcke
eb73121d0d 008-09-21 Felix Zielcke <fzielcke@z-51.de>
* configure.ac (AC_INIT): Quote version number.
	(AC_PREREQ): Bumped to 2.59.
	(AC_TRY_COMPILE): Replace obsolete macro with ...
	(AC_COMPILE_IFELSE): ... this.
	* aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
	(AC_LINK_IFELSE): ... this.
2008-09-21 17:38:33 +00:00
chrfranke
9035dce47f 2008-09-19 Christian Franke <franke@computer.org>
* aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
	* configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
	* include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
	Export __enable_execute_stack() to modules.
	* kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
	New function.
2008-09-19 06:55:20 +00:00
bean
2a8a80e4f4 2008-07-24 Bean <bean123ch@gmail.com>
* common.rmk (bin_UTILITIES): Add grub-pe2elf.
	(grub_pe2elf_SOURCES): New macro.
	(CLEANFILES): Add grub-pe2elf.

	* include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
	(GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
	(GRUB_PE32_SCN_ALIGN_MASK): Likewise.
	(GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
	(GRUB_PE32_SYM_CLASS_STATIC): Likewise.
	(GRUB_PE32_SYM_CLASS_FILE): Likewise.
	(GRUB_PE32_DT_FUNCTION): Likewise.
	(GRUB_PE32_REL_I386_DIR32): Likewise.
	(GRUB_PE32_REL_I386_REL32): Likewise.
	(grub_pe32_symbol): New structure.
	(grub_pe32_reloc): Likewise.

	* util/grub-pe2elf.c: New file.

	* configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
	start symbol in non pc platform.

	* genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.

	The following patches are from Christian Franke.

	* include/grub/dl.h: Remove .previous, gas supports this only
	for ELF format.

	* include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
	Remove .type, gas supports this only for ELF format.

	* kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
	nullbytes in symbol table. This fixes an infinite loop if table is
	zero filled.

	* Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
	TARGET_IMG_LDFLAGS and EXEEXT.

	* aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
	TARGET_IMG_LDFLAGS_AC.
	(grub_CHECK_STACK_ARG_PROBE): New function.

	* conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.

	* conf/i386-pc-cygwin-ld-img.sc: New linker script.

	* configure.ac: Add check for linker script "conf/${target}-img-ld.c"
	to set TARGET_IMG_LD* accordingly.
	Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
	Add call to grub_CHECK_STACK_ARG_PROBE.
	Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.

	* genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.

	* genmk.rb: Add EXEEXT to CLEANFILES.
2008-07-24 14:56:30 +00:00
proski
f6130a12bd 2008-07-17 Pavel Roskin <proski@gnu.org>
* aclocal.m4 (grub_PROG_TARGET_CC): New macro.  Check if the
	target compiler is functional.
	* configure.ac: Call grub_PROG_TARGET_CC once all target flags
	are set up.
2008-07-17 20:19:55 +00:00
proski
cb71ba20e9 2008-07-02 Pavel Roskin <proski@gnu.org>
* Makefile.in (MODULE_LDFLAGS): New variable.
	* aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro.  Check if
	the linker accepts --build-id=none.
	* configure.ac: Call grub_PROG_LD_BUILD_ID_NONE.  Substitute
	MODULE_LDFLAGS.
	* genmk.rb: Use MODULE_LDFLAGS when linking modules.
2008-07-02 19:03:23 +00:00
robertmh
1977517daf 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
* aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
        section into account, newer toolchains generate unique build ids
        * configure.ac: remove the test for --build-id=none acceptance,
        we want build ids to bre preserved
        * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
        far from other sections don't cause the raw binary images grow
        size
2008-04-17 14:14:10 +00:00
bean
c004e1b477 2008-02-02 Bean <bean123ch@gmail.com>
* fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
        (grub_ufs_get_file_block): Fix indirect block calculation problem.

        * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
        (grub_xfs_btree_node): New structure.
        (grub_xfs_btree_root): New structure.
        (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
        (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
        (GRUB_XFS_EXTENT_BLOCK): Likewise.
        (GRUB_XFS_EXTENT_SIZE): Likewise.
        (grub_xfs_read_block): Support btree format type.
        (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
        Use directory block as basic unit.

        * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.

        * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
        __attribute__ ((__regparm__ (1))).
2008-02-02 14:15:31 +00:00
proski
6af9db01bc * configure.ac: Test if '--build-id=none' is supported by the
linker.  If yes, add it to TARGET_LDFLAGS.  Build ID causes
objcopy to generate incorrect binary files (binutils
2.17.50.0.18-1 as shipped by Fedora 8).
* aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
linking, so that build ID doesn't break the test.
2007-11-25 02:01:30 +00:00
tschwinge
baa2a121e0 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
* aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
	* configure.ac: Use it for testing the HOST and TARGET compilers.
2007-02-03 11:36:13 +00:00
okuji
e9c6f39bb4 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
* aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
        program with another one, because the old one didn't detect a bug
        in gcc-3.4. Always use regparm 2, because the new test is still
        not enough for gcc-4.0. Someone must investigate a simple test
        case which detects a bug in gcc-4.0.
2005-08-13 18:44:14 +00:00
okuji
e6f3e61495 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
* aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
	  reverse.
2005-07-09 09:34:39 +00:00
okuji
4b13b216f4 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
	and grub_, respectively. Because the conversion is trivial and
	mechanical, I omit the details here. Please refer to the CVS
	if you need more information.
2004-04-04 13:46:03 +00:00
marco_g
5aded270b6 2003-12-03 Marco Gerards <metgerards@student.han.nl>
* fs/ext2.c (pupa_ext2_label): New function.
	(pupa_ext2_fs): Added label.
	* fs/fat.c (pupa_fat_label): New function.
	(pupa_fat_fs): Added label.
	* include/pupa/fs.h (struct pupa_fs): Added prototype label.

	* kern/misc.c (pupa_strndup): New function.
	* include/pupa/misc.h (pupa_strndup): New prototype.

	* include/pupa/normal.h: Include <pupa/err.h>.
	(pupa_set_history): New prototype.
	(pupa_iterate_commands): New prototype.
	* normal/cmdline.c: Include <pupa/machine/partition.h>,
	<pupa/disk.h>, <pupa/file.h>.
	(hist_size): New variable.
	(hist_lines): Likewise.
	(hist_end): Likewise.
	(hist_used): Likewise.
	(pupa_set_history): New function.
	(pupa_history_get): Likewise.
	(pupa_history_add): Likewise.
	(pupa_history_replace): Likewise.
	(pupa_tab_complete): Likewise.
	(pupa_cmdline_run): Added tab completion and history buffer.  Tab
	completion shows partitionnames while completing partitions, this
	feature was suggested by Jeff Bailey.
	* normal/command.c (pupa_iterate_commands): New function.
	* normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
	(pupa_normal_init): Initialize history buffer.
	(PUPA_MOD_INIT): Likewise.
	(pupa_normal_fini): Free the history buffer.
	(PUPA_MOD_FINI): Likewise.

	* util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
	key.

	* aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
	* configure.ac [i386]: Check for regparam bug.
	(NESTED_FUNC_ATTR) [! i386]: Defined.
2003-12-03 19:17:27 +00:00
okuji
6a161fa938 Initial revision 2002-12-27 08:53:07 +00:00