Skip to content

pwaller/goupx

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

goupx - Fix golang Linux ELF executables to work with upx

Update: 2016/03/10

As far as I (pwaller) know, goupx is no longer necessary for Linux binaries since it was fixed in go1.6.

About

Installation: go get github.com/pwaller/goupx

(or if you don't want to do it with root, GOPATH=${HOME}/.local go get github.com/pwaller/goupx will install it to ${HOME}/.local/bin/goupx).

Usage: goupx [filename]

Fixes the PT_LOAD offset of [filename] and then runs upx.

This is only necessary for Linux ELF executables (not Mach-O executables or windows binaries, for example).

Based on code found on the upx bugtracker.

MIT licensed.

Fixes the following issue

$ upx [linux ELF go binary]
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2011
UPX 3.08        Markus Oberhumer, Laszlo Molnar & John Reiser   Dec 12th 2011

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
upx: goupx: EOFException: premature end of file                                

Packed 1 file: 0 ok, 1 error.

Typical compression ratio

Resulting filesizes are typically 25% of the original go executable. Your mileage my vary.

About

Fix golang compiled binaries on x86_64 so that they can be packed with UPX

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages