diff options
author | Christopher Faylor <me@cgf.cx> | 2008-01-01 21:51:23 +0300 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2008-01-01 21:51:23 +0300 |
commit | 8528ecbde8282bb640a49b531408cc783f05966a (patch) | |
tree | 9103839932b901446ffd5b348a34e1f84099ce20 /winsup/cygwin/newsym | |
parent | b918632a2aa389cd788634b3f08a81e66193b016 (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-x | winsup/cygwin/newsym | 16 |
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 |