GPLINK(1)
π GPLINK(1) β the Linux user's manual glow-up π
okay bestie, so this is gplink, aka the GNU PIC linker, from the Linux user's manual. and honestly? she's iconic. let's get into it π«Ά
β¨ NAME β¨
gplink β the GNU PIC linker. that's it, that's the whole name, and she ate π
πΈ SYNOPSIS πΈ
gplink [options] [objects] [libraries]
β οΈ WARNING β οΈ
no cap, the tea here is limited. everything in this man page is just an extract from the full gputils documentation, and it only covers what the options actually mean. for the complete and current version β the whole meal, not just the appetizer β go read gputils.ps over in the gputils docs directory. periodt.
π¦ DESCRIPTION π¦
so what does gplink actually do? she takes a bunch of object and archive files, relocates their data, and ties up their symbol references. then she outputs an executable for Microchip (TM) PIC (TM) micro-controllers. main character energy fr fr π
and like, gplink is part of gputils, so if you wanna know about the other GNU PIC utilities, go check the gputils(1) manpage. iykyk.
π OPTIONS π
-a FMT,--hex-format FMTβ picks which hex file format we're using.gplinksupportsinhx8m,inhx8s,inhx16, andinhx32. the default?inhx32. no thoughts, just that one β¨-b OPT,--optimize-banksel OPTβ removes unnecessary Banksel directives. default is[0].-B,--experimental-bankselβ uses the experimental Banksel removal. it's giving lab rat π§ͺ-c,--objectβ outputs an executable object.-C,--no-cinit-warningsβ turns off these_cinitsection warnings when you use the-O2option:"Relocation symbol _cinit has no section."like girl, stop yelling at me π-d,--debugβ displays debug messages. for when you simply must know everything.-f VALUE,--fill VALUEβ fills unused unprotected program memory withvalue. this value supercedes the linker script fill value. important: it must not be greater than0xffff. it's hex. it may be preceeded by"0x". (yes, "preceeded" β that's what the original says, i don't make the rules π)-h,--helpβ shows the usage message and exits. bye bestie π-I DIR,--include DIRβ specifies an include directory.-j,--no-save-localβ disables the save of local registers to the COD file.-l,--no-listβ disables list file output.-m,--mapβ outputs a map file. very demure, very mindful πΊοΈ--mplink-compatibleβ this option sets the MPLINK compatibility mode.-o FILE,--output FILEβ alternate name of the output file.-O OPT,--optimize OPTβ optimization level. the default value is1.-p OPT,--optimize-pagesel OPTβ removes unnecessary Pagesel directives. default is[0].-P,--experimental-pageselβ uses the experimental Pagesel removal. again with the experiments, she's curious π§-q,--quietβ suppresses anything sent to standard output. shhh π€«-r,--use-sharedβ attempts to relocate unshared data sections to shared memory if relocation fails. she's trying her best, okay?? π₯Ί-s FILE,--script FILEβ linker script.-t SIZE,--stack SIZEβ creates a stack section.-S [0|1|2],--strict [0|1|2]β sets the strict level of the missing symbol. here's the breakdown:0: this is the default. no message. silence is golden β¨1: show a warning message if there's a missing symbol.2: show an error message if there's a missing symbol. she's mad now π€
--strict-optionsβ if this is set, then an option may not be a parameter of another option. for example:-s --quiet. yeah, that's the whole vibe check.-u,--macro symbol=[value]β adds a macro value for the script.-v,--versionβ shows the version information and exits.-w,--processor-mismatchβ disables the"processor mismatch"warning.-W,--experimental-pcallwβ removes unnecessary PCALLW stubs created by SDCC. slay, cleanup crew π₯
π SEE ALSO π
gputils(1)β go say hi to the rest of the family π«Ά
π AUTHOR π
Craig Franklin <craigfranklin@users.sourceforge.net> β absolute legend, we stan π
π COPYRIGHT π
Copyright (C) 2002, 2003, 2004, 2005 Craig Franklin
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
fr fr, read the license, it's not a vibe suggestion π
and that's the whole page bestie!! this one's from gputils-1.5.2, dated 2022-01-30, and it's the GPLINK(1) manual page. go link something iconic with it πβ¨ππ¦πΈ
π¦ where this page comes from
- arch rolling: gputils 1.5.2-2 Β· GPL
- debian trixie: gputils 1.5.2-1
- fedora 43: gputils 1.5.2-9.fc43 Β· GPL-2.0-or-later
- fedora 44: gputils 1.5.2-10.fc44 Β· GPL-2.0-or-later
- nixos 26.05: gputils 1.5.2
- nixpkgs unstable: gputils 1.5.2
- opensuse-leap 16.0: gputils 1.5.2-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: gputils 1.5.2-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: gputils 1.5.2-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: gputils 1.5.2-bp160.1.13 Β· GPL-2.0-or-later
- ubuntu questing: gputils 1.5.2-2
- ubuntu resolute: gputils 1.5.2-2build1
- ubuntu stonking: gputils 1.5.2-2build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms