155714Skris/* $NetBSD: elf2bb.h,v 1.2 2002/01/26 13:21:11 aymeric Exp $ */ 255714Skris 355714Skris/*- 455714Skris * Copyright (c) 1996 The NetBSD Foundation, Inc. 555714Skris * All rights reserved. 655714Skris * 755714Skris * This code is derived from software contributed to The NetBSD Foundation 8280304Sjkim * by Ignatios Souvatzis. 955714Skris * 1055714Skris * Redistribution and use in source and binary forms, with or without 1155714Skris * modification, are permitted provided that the following conditions 1255714Skris * are met: 1355714Skris * 1. Redistributions of source code must retain the above copyright 1455714Skris * notice, this list of conditions and the following disclaimer. 15280304Sjkim * 2. Redistributions in binary form must reproduce the above copyright 1655714Skris * notice, this list of conditions and the following disclaimer in the 1755714Skris * documentation and/or other materials provided with the distribution. 1855714Skris * 1955714Skris * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 2055714Skris * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 2155714Skris * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22280304Sjkim * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 2355714Skris * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2455714Skris * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2555714Skris * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2655714Skris * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2755714Skris * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2855714Skris * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2955714Skris * POSSIBILITY OF SUCH DAMAGE. 3055714Skris */ 3155714Skris 3255714Skris/* 3355714Skris * Relocator version definitions for aout to Amiga bootblock converter. 3455714Skris */ 3555714Skris 3655714Skris/* 37280304Sjkim * All the tables are at the end of the bootblock, with logical start at the 3855714Skris * end. 3955714Skris */ 40280304Sjkim 4155714Skris/* 4255714Skris * The following formats are for a length of 8 kBytes only. 4355714Skris */ 4455714Skris 4555714Skris/* 4655714Skris * Absolute words in Motorola byte order, end of table marked by 0x0000 4755714Skris */ 4855714Skris#define RELVER_ABSOLUTE_WORDS 0 4955714Skris 5055714Skris/* 5155714Skris * Unsigned bytes relative to previous address to relocate; first one to 0. 52280304Sjkim * If the difference is >255, the logical next two bytes (in Motorola byte 5355714Skris * order) give the absolute address to relocate. 5455714Skris */ 5555714Skris#define RELVER_RELATIVE_BYTES 1 5655714Skris 5755714Skris/* 5855714Skris * Same as above, but with the bytes stored in forward direction beginning 5955714Skris * with the __relocation_bytes symbol 6055714Skris */ 6155714Skris#define RELVER_RELATIVE_BYTES_FORWARD 2 6255714Skris 6355714Skris/* 6455714Skris * loader can autoload 6555714Skris */ 6659191Skris 6755714Skris#define RELFLAG_SELFLOADING 0x10 6855714Skris