From: Simon Glass Date: Thu, 27 Feb 2014 20:26:21 +0000 (-0700) Subject: sandbox: Deal with conflicting getenv() for SDL X-Git-Tag: v2014.04-rc3~31 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=20f86a0aeaad5dfa0b4f50bf5d04dd7bf1f7c3e9;p=oweals%2Fu-boot.git sandbox: Deal with conflicting getenv() for SDL Unfortunately SDL requires getenv() to operate, since it wants to figure out the display type. U-Boot has its own getenv() and they conflict. As a work-around use #define to resolve the conflict. A better but more complex solution might be to rename some U-Boot symbols at link time. SDL audio is not functional at present, likely due to a related issue. Note: Vic Yank wrote a script for this, filed in crbug.com/271125. Reviewed-by: Simon Glass Signed-off-by: Simon Glass --- diff --git a/include/common.h b/include/common.h index 090fcde5d0..968334b588 100644 --- a/include/common.h +++ b/include/common.h @@ -360,6 +360,11 @@ int do_ext2load(cmd_tbl_t *, int, int, char * const []); int env_init (void); void env_relocate (void); int envmatch (uchar *, int); + +/* Avoid unfortunate conflict with libc's getenv() */ +#ifdef CONFIG_SANDBOX +#define getenv uboot_getenv +#endif char *getenv (const char *); int getenv_f (const char *name, char *buf, unsigned len); ulong getenv_ulong(const char *name, int base, ulong default_val);