Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2008-01-01 21:51:23 +0300
committerChristopher Faylor <me@cgf.cx>2008-01-01 21:51:23 +0300
commit8528ecbde8282bb640a49b531408cc783f05966a (patch)
tree9103839932b901446ffd5b348a34e1f84099ce20 /winsup/cygwin/newsym
parentb918632a2aa389cd788634b3f08a81e66193b016 (diff)
* newsym: First stab at understanding data as well as functions.
* pipe.cc (fhandler_pipe::init): Move more intelligence here. (fhandler_pipe::create): Simplify based on above change. * tty.cc (tty_list::allocate): Remove non-NT code.
Diffstat (limited to 'winsup/cygwin/newsym')
-rwxr-xr-xwinsup/cygwin/newsym16
1 files changed, 11 insertions, 5 deletions
diff --git a/winsup/cygwin/newsym b/winsup/cygwin/newsym
index a2c7206cd..c9a249aaa 100755
--- a/winsup/cygwin/newsym
+++ b/winsup/cygwin/newsym
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
lib=$1; shift
as=$1; shift
ar=$1; shift
@@ -8,17 +8,23 @@ mkdir newsym.dir
while [ -n "$1" ]; do
newsym=$1; shift
oldsym=$1; shift
- cat <<EOF > newsym.dir/$newsym.s
- .section .text
+ if [[ "$newsym" = *:d ]]; then
+ newsym=${newsym%:d}
+ else
+ cat <<EOF
+ .text
.global _$newsym
- .global __imp__$newsym
_$newsym:
jmp *__imp__$oldsym
+EOF
+ fi > newsym.dir/$newsym.s
+ cat <<EOF >> newsym.dir/$newsym.s
.section .idata\$7
.long __head_cygwin1_dll
- .section .idata\$5
+ .section .idata\$5
+ .global __imp__$newsym
__imp__$newsym: .rva 1f
.section .idata\$4