Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Unified Diff: content/browser/mac/closure_blocks_leopard_compat.S

Issue 9549012: Move closure_blocks_leopard_compat to base now that it's used by two modules. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/mac/closure_blocks_leopard_compat.S
===================================================================
--- content/browser/mac/closure_blocks_leopard_compat.S (revision 124212)
+++ content/browser/mac/closure_blocks_leopard_compat.S (working copy)
@@ -1,139 +0,0 @@
-# Copyright (c) 2011 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Definitions of symbols that may be needed at runtime but aren't necessarily
-# present in the SDK chosen for compilation.
-#
-# This file provides symbols for _NSConcreteGlobalBlock and
-# _NSConcreteStackBlock, normally present in libSystem.dylib and provided by
-# by libclosure-38/data.c in Mac OS X 10.6 and later. It also provides symbols
-# for various block runtime functions provided by libclosure-38/runtime.c.
-# When using the 10.5 SDK, the symbols are not present. This file's definition
-# can be used with extreme care in an application that needs to use the 10.5
-# SDK in conjunction with blocks.
-#
-# This file cooperates with the build system to produce a dynamic library
-# that, when linked against, causes dependents to look in libSystem for the
-# symbols provided here. It also cooperates with a header that causes
-# dependents to treat the symbols provided here as weak imports, critical for
-# the resultant output to be loadable on 10.5.
-
-# To simplify things, this file assumes it's being built with the 10.5 SDK,
-# a deployment target of 10.5, and is producing 32-bit x86 code. Other
-# combinations are possible, but not interesting for the time being. See
-# <sys/cdefs.h> for interesting ways that names might be mangled in other
-# configurations.
-
-#include <AvailabilityMacros.h>
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED != MAC_OS_X_VERSION_10_5 || \
- MAC_OS_X_VERSION_MAX_ALLOWED != MAC_OS_X_VERSION_10_5 || \
- !defined(__i386__)
-#error This file only supports 32-bit x86 code with both SDK and DT set to 10.5
-#endif
-
-#define DEFINE_GLOBAL_SYMBOL(name) \
- .globl name ## ;\
- name ## :
-
-.text
-
-# Mac OS X 10.6.8 libclosure-38/runtime.c
-
-DEFINE_GLOBAL_SYMBOL(__Block_copy)
-DEFINE_GLOBAL_SYMBOL(__Block_release)
-DEFINE_GLOBAL_SYMBOL(__Block_object_assign)
-DEFINE_GLOBAL_SYMBOL(__Block_object_dispose)
-
-.section __DATA,__data
-
-# Mac OS X 10.6.8 libclosure-38/data.c
-
-DEFINE_GLOBAL_SYMBOL(__NSConcreteGlobalBlock)
-DEFINE_GLOBAL_SYMBOL(__NSConcreteStackBlock)
-
-# When this file is in use, the linker is expected to link things against both
-# this file and the real copy of libSystem present in the SDK. When doing so,
-# the linker is smart enough to produce only one LC_LOAD_DYLIB load command.
-# However, it's not smart enough to notice that while this file's dylib only
-# provides weak-imported symbols, the real libSystem's dylib does not.
-# Consequently, it may produce an LC_LOAD_WEAK_DYLIB load command for
-# libSystem instead of an ordinary LC_LOAD_DYLIB command. LC_LOAD_WEAK_DYLIB
-# declares that any symbol offered by the library, and in fact the entire
-# library, is permitted to be missing at runtime. This is entirely
-# inappropriate for libSystem. To counteract this problem, this file also
-# defines some other symbols that libSystem provides. Dependents of this
-# library are not expected to treat these other symbols as weak imports. In
-# order for any dependent that links against this library to load it with an
-# LC_LOAD_DYLIB command instead of an LC_LOAD_WEAK_DYLIB command, this library
-# must satisfy at least one unresolved non-weak-import symbol required by the
-# dependent.
-
-.text
-
-# |exit| is a good one: because it's referenced by crt1.o, ordinary executables
-# are guaranteed to need this symbol. Unfortunately, there's no such symbol in
-# dylib1.o that libSystem is expected to provide, so a few other common libc
-# symbols are thrown into the mix.
-DEFINE_GLOBAL_SYMBOL(_exit)
-
-# Include |close| because well-written programs that use the standard library
-# are likely to refer to it. Include |open| for good measure because it goes
-# pretty well with this. Include the stdio abstractions for these functions
-# as well.
-DEFINE_GLOBAL_SYMBOL(_close$UNIX2003)
-DEFINE_GLOBAL_SYMBOL(_open$UNIX2003)
-DEFINE_GLOBAL_SYMBOL(_fclose)
-DEFINE_GLOBAL_SYMBOL(_fopen)
-DEFINE_GLOBAL_SYMBOL(_fdopen)
-DEFINE_GLOBAL_SYMBOL(_freopen$UNIX2003)
-
-# Commonly-used allocation functions.
-DEFINE_GLOBAL_SYMBOL(_malloc)
-DEFINE_GLOBAL_SYMBOL(_calloc)
-DEFINE_GLOBAL_SYMBOL(_realloc)
-DEFINE_GLOBAL_SYMBOL(_reallocf)
-DEFINE_GLOBAL_SYMBOL(_valloc)
-DEFINE_GLOBAL_SYMBOL(_free)
-
-# Include |printf|, |fprintf|, |sprintf|, |snprintf|, and |puts|, because
-# small test programs are likely to refer to one of these. puts is rarely
-# invoked directly, but the compiler may optimize simple printf calls into
-# puts calls.
-DEFINE_GLOBAL_SYMBOL(_printf)
-DEFINE_GLOBAL_SYMBOL(_fprintf)
-DEFINE_GLOBAL_SYMBOL(_sprintf)
-DEFINE_GLOBAL_SYMBOL(_snprintf)
-DEFINE_GLOBAL_SYMBOL(_puts)
-
-# Some <string.h> functions that are commonly used.
-DEFINE_GLOBAL_SYMBOL(_memcmp)
-DEFINE_GLOBAL_SYMBOL(_memcpy)
-DEFINE_GLOBAL_SYMBOL(_memmove)
-DEFINE_GLOBAL_SYMBOL(_memset)
-DEFINE_GLOBAL_SYMBOL(_strcasecmp)
-DEFINE_GLOBAL_SYMBOL(_strcat)
-DEFINE_GLOBAL_SYMBOL(_strchr)
-DEFINE_GLOBAL_SYMBOL(_strcmp)
-DEFINE_GLOBAL_SYMBOL(_strcpy)
-DEFINE_GLOBAL_SYMBOL(_strdup)
-DEFINE_GLOBAL_SYMBOL(_strlcat)
-DEFINE_GLOBAL_SYMBOL(_strlcpy)
-DEFINE_GLOBAL_SYMBOL(_strlen)
-DEFINE_GLOBAL_SYMBOL(_strncasecmp)
-DEFINE_GLOBAL_SYMBOL(_strncat)
-DEFINE_GLOBAL_SYMBOL(_strncmp)
-DEFINE_GLOBAL_SYMBOL(_strncpy)
-DEFINE_GLOBAL_SYMBOL(_strnstr)
-DEFINE_GLOBAL_SYMBOL(_strstr)
-
-# Some data-section symbols that might be referenced.
-
-.section __DATA,__data
-
-DEFINE_GLOBAL_SYMBOL(___stdinp)
-DEFINE_GLOBAL_SYMBOL(___stdoutp)
-DEFINE_GLOBAL_SYMBOL(___stderrp)
-
-#undef DEFINE_GLOBAL_SYMBOL

Powered by Google App Engine
This is Rietveld 408576698